Você está na página 1de 58

UNIVERSIDADE FEDERAL DE OURO PRETO ESCOLA DE MINAS COLEGIADO DO CURSO DE ENGENHARIA DE CONTROLE E AUTOMAO - CECAU

LOUIS HENRIQUE GOMES SOARES

NEUROCONTROLADOR PREDITIVO APLICADO A UM SISTEMA MECNICO MASSA-MOLA NO LINEAR

MONOGRAFIA DE GRADUAO EM ENGENHARIA DE CONTROLE E AUTOMAO

Ouro Preto, 2009

LOUIS HENRIQUE GOMES SOARES

NEUROCONTROLADOR PREDITIVO APLICADO A UM SISTEMA MECNICO MASSA-MOLA NO LINEAR

Monografia apresentada ao Curso de Engenharia de Controle e Automao da Universidade Federal de Ouro Preto como parte dos requisitos para a obteno do grau de Engenheiro de Controle e Automao.

Orientador: Prof. Dr. Agnaldo Jos da Rocha Reis

Ouro Preto Escola de Minas UFOP Dezembro/2009

S676n

Soares, Louis Henrique Gomes. Neurocontrolador preditivo aplicado a um sistema mecnico massa-mola no linear [manuscrito] / Louis Henrique Gomes Soaresm 2009. 57 f. : il. ; col. Orientador: Prof. Agnaldo Jos da rocha Reis. Monografia (Graduao) - Universidade Federal de Ouro Preto. Escola de Minas. Colegiado do Curso de Engenharia Controle e Automao. rea de concentrao: Sistemas de controle. 1. Controle preditivo 2. Identificao de sistemas. 3. Redes Neurais. I. Universidade Federal de Ouro Preto. II. Ttulo.

CDU: 681.5

Fonte de catalogao: sisbin@sisbin.ufop.br

SUMRIO
LISTA DE FIGURAS .............................................................................................................. i RESUMO ................................................................................................................................ iii ABSTRACT ............................................................................................................................ iv 1 INTRODUO ....................................................................................................................... 1 1.1 1.2 1.3 Consideraes Iniciais ................................................................................................. 1 Objetivos ...................................................................................................................... 2 Metodologia ................................................................................................................ 3

2 REDES NEURAIS ARTIFICIAIS ......................................................................................... 4 2.1 2.2 2.3 2.4 Modelo de um neurnio ............................................................................................... 5 Funes de ativao ..................................................................................................... 6 Arquitetura das Redes Neurais Artificiais ................................................................... 8 Processos de aprendizagem das redes neurais artificiais ........................................... 11 2.4.1 Mtodo de Levenberg-Marquardt..................................................................... 14

3 IDENTIFICAO DE SISTEMAS ...................................................................................... 18 3.1 3.2 3.3 3.4 Experimentao e coleta de dados ............................................................................. 22 Estruturao do modelo ............................................................................................. 22 Estimao de parmetros ........................................................................................... 24 Validao do modelo ................................................................................................. 26

4 NEUROCONTROLADORES............................................................................................... 28 4.1 4.2 Neurocontrolador por modelo inverso ....................................................................... 28 Neurocontrolador preditivo baseado em modelos ..................................................... 32

5 DESENVOLVIMENTO ....................................................................................................... 34 5.1 5.2 5.3 Modelo ....................................................................................................................... 34 Identificao do modelo ............................................................................................. 35 Implementao do controlador preditivo no linear .................................................. 43

6 CONCLUSO E TRABALHOS FUTUROS ...................................................................... 44 7 REFERNCIAS ................................................................................................................... 45 APNDICE ............................................................................................................................. 48

LISTA DE FIGURAS 2.1 Neurnio simples ................................................................................................................. 5 2.2 Funo de ativao de limiar ............................................................................................... 7 2.3 Funo de transferncia linear ............................................................................................. 7 2.4 Funo de transferncia sigmoidal ...................................................................................... 8 2.5 Rede realimentada ............................................................................................................... 9 2.6 Rede neural de uma camada ................................................................................................ 9 2.7 Rede neural de mltiplas camadas ..................................................................................... 10 2.8 Classificao das redes neurais e mtodos de aprendizado ............................................... 11 2.9 Perceptron de multicamadas .............................................................................................. 14 3.1 Evoluo da identificao de sistemas .............................................................................. 20 3.2 Modelo caixa preta ............................................................................................................ 21 3.3 Procedimento de identificao de sistemas ....................................................................... 21 3.1 Representao de um modelo ARX ................................................................................... 24 3.5 Modelo caixa preta ............................................................................................................ 25 3.6 Teste de autocorrelao de resduos aprovado ................................................................... 27 3.7 Teste de autocorrelao de resduos reprovado ................................................................. 27 4.1 Diagrama em blocos neurocontrolador por modelo inverso ............................................. 29 4.2 Treinamento genrico da rede neural ................................................................................ 30 4.3 Treinamento especializado da rede neural ......................................................................... 31 4.4 Diagrama em blocos neurocontrolador preditivo .............................................................. 33 5.1 Diagrama em blocos equao de Duffing .......................................................................... 35 5.2 Dados de treinamento sistema de Duffing ......................................................................... 36 5.3 Dados de validao sistema de Duffing ............................................................................ 37 5.4 Pr-processamento dos dados de treinamento da rede neural ............................................ 37

ii

5.5 Arquitetura rede neural estimador modelo ARX no linear .............................................. 39 5.6 Simulao e erro de predio do modelo neural ARX - dados de treinamento ................. 40 5.7 Testes de validao atravs da correlao dos resduos .................................................... 41 5.8 Histograma dos erros de predio ..................................................................................... 42 5.9 Simulao e erro de predio do modelo neural ARX - dados de validao ..................... 42 5.10 Simulao neurocontrolador preditivo ............................................................................ 43

iii

RESUMO

As tcnicas de controle clssico so bastante utilizadas e obtm timos resultados para diversos processos industriais. medida que a complexidade de tais processos aumenta, o controle clssico comea a se mostrar ineficiente e outras abordagens de controle devem ser testadas e, possivelmente, utilizadas.

nesse contexto que esta monografia se insere. O controle de processos utilizando neurocontroladores mostra-se uma abordagem bastante eficiente para processos em que a dinmica no conhecida e que caractersticas no lineares esto presentes.

Neste trabalho demonstra-se os passos para implementao de um neurocontrolador e simulase um neurocontrolador preditivo para um processo mecnico no linear. Os resultados obtidos so apresentados e comentados.

Palavras-Chave: Controle preditivo, Identificao de Sistemas, Redes Neurais.

iv

ABSTRACT

Classical control techniques are largely used in the practice and have very good results in many industrial processes. Nevertheless, when a certain process increases in complexity, classical control can become inefficient and other control techniques must be tested and, possibly, implemented in practice. For instance, neural controllers are quite efficient for those processes where the main dynamics is unknown and its behavior is non linear.

This work describes the required steps in order to set up a neural controller for practical purposes and how to simulate a non linear predictive control strategy based on neural networks technique for a non linear mechanical process. The obtained results are shown and discussed.

Key words: Predictive control, System Identification, Neural Networks.

1 INTRODUO

1.1 Consideraes Iniciais

Diversas tcnicas para realizar o Controle de Processos Industriais foram desenvolvidas ao longo do sculo passado. Essas tcnicas permitem realizar o projeto do controlador e verificar a estabilidade e robustez que o controle apresentar quando a planta estiver submetida a distrbios e rudos.

As primeiras tcnicas de projeto de controladores aproximavam a dinmica da planta de um processo linear. Com isso, era feita uma modelagem matemtica da planta, atravs de modelos que apresentam uma aproximao do comportamento real do processo que se queria controlar. Atravs desses modelos possvel fazer o projeto dos controladores, que foram a planta a atingir um valor pr-estabelecido de set-point. Esse mtodo se constitui na Teoria de Controle Clssico.

Porm, com o avano da eletrnica e da capacidade de processamento dos computadores, tornou-se possvel fazer o controle de processos com a dinmica cada vez mais complexa. Nesse sentido, a Teoria de Controle Clssico comeou a se mostrar insuficiente para controlar processos com dinmica no-linear e que eram extremamente difceis de realizar a modelagem matemtica. Outra carncia de controladores projetados com a Teoria de Controle Clssico que, nessa tcnica de projeto, a dinmica do processo linearizada em torno de um ponto de operao. Com isso, o controlador s opera adequadamente dentro daquelas faixas de valores em redor desse ponto de operao.

Esses e muitos outros aspectos levaram ao desenvolvimento de tcnicas de controle para sistemas no lineares. Surgiram diferentes formas de se projetar controladores baseados em sistemas no-lineares. Controladores no-lineares tinham a vantagem de estender o ponto de operao de uma planta, fazendo com que o controlador apresentasse um comportamento adequado para uma ampla faixa de valores. O inconveniente das tcnicas de controle nolinear passou a ser o tratamento matemtico das equaes no-lineares, que era muito dispendioso e a modelagem matemtica da planta, que ainda mostrava ser bastante difcil para muitos casos.

Passou-se a pensar em tcnicas de controle que no dependessem da modelagem matemtica analtica da planta e que aproveitassem ao mximo a capacidade de processamento em temporeal dos computadores.

Comearam a ser implementados modelos matemticos empricos das plantas. Nessa forma de modelagem matemtica, s necessrio o conhecimento dos valores de entrada e sada de um processo para que seja possvel aproximar uma funo que descreva com grande preciso o comportamento da planta. Esse mtodo facilitou muito a modelagem de sistemas, que no dependiam mais de um desenvolvimento matemtico analtico complexo.

O campo da inteligncia artificial passou a tomar espao. A inteligncia artificial se constitue em tcnicas computacionais que simulam o comportamento humano ao resolver problemas. Dentre essas tcnicas destacamos a lgica fuzzy e as redes neurais artificiais.

Essas duas tcnicas que surgiram se mostraram viveis como uma nova abordagem para se fazer a modelagem e o controle de processos industriais. Comearam a ser utilizados os controladores baseados em lgica fuzzy e os neurocontroladores. Pode-se tambm projetar controladores hbridos, que se privilegiam das vantagens do controle em lgica fuzzy e dos neurocontroladores.

1.2 Objetivos

Demonstrar os passos a serem seguidos na implementao de um neurocontrolador. Fazer a simulao do controle de um processo no linear de modo a mostrar a aplicabilidade dos neurocontroladores a tais processos.

1.3 Metodologia

Utilizou-se o software MATLAB verso 7.1.0.246 (R14) Service Pack 3 para fazer a simulao de uma tcnica de controle neural com o objetivo de controlar um sistema no linear.

A tcnica de controle neural utilizada o controle preditivo neural e o sistema utilizado para implementao do controlador um sistema mecnico de massa, mola no linear e amortecedor. Para implementao do neurocontrolador proposto utilizou-se o Toolbox de identificao de sistemas baseado em redes neurais e o Toolbox de controle de sistemas baseado em redes neurais ambos de Magnus Noorgard.

2 REDES NEURAIS ARTIFICIAIS

Um dos campos da Inteligncia Artificial com diversas aplicaes so as Redes Neurais Artificiais. Dentre as diversas aplicaes para as redes neurais destacam-se a classificao de padres, modelagem e identificao de sistemas, controle adaptativo e no-linear de processos, otimizao de parmetros, reconhecimento de fala dentre outros. As caractersticas que as redes neurais possuem que as tornam teis na abordagem desses problemas so a nolinearidade, o mapeamento de entrada-sada, a adaptabilidade e a generalizao.

Podemos entender as Redes Neurais Artificiais como um conjunto de entidades chamadas Neurnios trabalhando em paralelo que associam um valor de entrada a um determinado valor de sada.

Como as redes neurais so modelos matemticos inspirados no conexionismo do crebro humano, elas apresentam um sistema de processamento paralelo e distribudo, sendo os neurnios as unidades de processamento capazes de armazenar conhecimento experimental tornando-o disponvel para o uso (Haykin, 1999).

As etapas de projeto de uma rede neural constituem a etapa de escolha dos dados, o prprocessamento dos dados escolhidos, a escolha da arquitetura da Rede Neural que ser utilizada, a definio do algoritmo que ser utilizado para treinar a Rede Neural escolhida e, por fim, a anlise e validao dos dados obtidos pela Rede Neural.

Durante a escolha dos dados, devemos tomar uma massa de informaes que caracterizem adequadamente o processo para o qual estamos desenvolvendo a Rede Neural. Essa uma etapa de suma importncia, pois se tomarmos dados que no representem de forma fiel nosso processo, corremos o risco da Rede Neural gerar resultados que podero ser interpretados erroneamente.

O pr-processamento dos dados escolhidos uma etapa que, se realizada, pode tornar o treinamento da Rede Neural mais eficiente. utilizado basicamente o processo de escalonamento das entradas e sadas em torno de uma faixa, geralmente no intervalo [-1;1].

Cada arquitetura de Rede Neural possui caractersticas que a tornam mais adequadas para serem utilizadas em determinadas aplicaes e com determinados algoritmos de treinamento. Por isso a importncia em se escolher uma determinada arquitetura para tratar um determinado problema.

Aps o treinamento da rede neural com a consequente definio de seus valores de pesos w e de bias b, so executadas simulaes em nossa Rede Neural em nvel de teste e que do um indicativo de seu desempenho. O primeiro teste que geralmente fazemos a simulao de nossa rede a partir de nossa massa de dados inicial. Com isso, temos um indicativo do erro que nossa rede est apresentando ao gerar os valores de sada correspondentes. Outro teste efetuado quando tomamos uma massa de dados nova, que nossa rede ainda no teve processo de aprendizado com ela. Atravs da anlise dos erros obtidos nesse segundo teste, medimos a capacidade de adaptao de nossa Rede Neural a novos valores.

2.1 Modelo de um neurnio

O neurnio artificial uma aproximao simplificada, atravs de funes matemticas, de um neurnio biolgico, sendo este a unidade fundamental de processamento de informao de uma rede neural (Haykin, 1999). A Fig 2.1 mostra o modelo de um neurnio podendo ser identificados alguns de seus constituintes bsicos.

Fig 2.1 Neurnio Simples Fonte: Beale; Demuth; Hagan, 2009

Os constituintes bsicos dos neurnios so um valor de entrada p, uma matriz de pesos w, um valor chamado de bias b e uma funo de transferncia f(w,p,b). O valor da sada a do Neurnio se relaciona com o valor de sua entrada p atravs da frmula 2.1.

f (Wp b)

(2.1)

A entrada p, multiplicada pelo peso w, formando o produto wp. feito um somatrio do produto wp com o valor de bias b que ir gerar o argumento n da funo de transferncia f. A funo de transferncia f tipicamente uma funo de limiar, uma funo linear ou uma funo sigmoidal e a partir dela que teremos o valor da sada a do neurnio.

2.2 Funes de ativao

As funes de ativao das Redes Neurais determinam a sada do neurnio sendo dadas pelo somatrio das diferentes entradas ponderadas por seus respectivos pesos. O neurnio em virtude de sua funo de ativao tem a capacidade de operar em uma ampla faixa de valores, e em alguns casos at a no-linearidade. Tem-se diferentes tipos de funes de ativao, sendo as mais comuns a funo limiar, a funo linear e a funo sigmoidal tangente hiperblica. Funo limiar Limita a sada do neurnio entre os valores 0, se o argumento de entrada da rede n menor do que 0, ou 1, se o argumento de entrada da rede maior ou igual a 0. A sada do neurnio dada pela Equao 2.2.

a(n) a(n)

1, n 0, n

0 0

(2.2)

A representao grfica da funo de limiar dada na Fig 2.2

Fig 2.2 Funo de ativao de limiar Fonte: Beale; Demuth; Hagan, 2009

Funo linear - A sada do neurnio dada por uma funo linear com um coeficiente angular , como na Equao 2.3.

a(n)

(2.3)

A representao grfica da funo linear dada na Fig 2.3.

Fig 2.3 Funo de transferncia linear Fonte: Beale; Demuth; Hagan, 2009

Funo sigmoidal Pode ter qualquer valor entre mais e menos infinito, convertendo o argumento da entrada da rede n atravs de uma funo logartma para valores de sada da rede a entre 0 e 1. A sada do neurnio dada pela Equao 2.4.
1 1 e

log sig (n)

(2.4)

A representao grfica da funo sigmoidal dada na Fig 2.4

Fig 2.4 - Funo de transferncia sigmoidal Fonte: Beale; Demuth; Hagan, 2009

2.3 Arquitetura das Redes Neurais Artificiais As redes neurais, apesar de suas variaes, podem ser classificadas de forma geral em duas arquiteturas: direta (feedforward), onde as entradas da rede propagam-se at a sada, e recorrentes (feedback), onde as sadas da rede so realimentadas na entrada. Desde que o processamento discreto introduz um elemento de atraso, obtm-se assim um sistema de primeira ordem e na medida em que se multiplicam as conexes, esses atrasos em cascata produzem sistemas dinmicos de ordem superior, aumentando a capacidade de representao ao mesmo tempo em que a no linearidade e estabilidade tornam-se crticas, surgindo assim uma variedade de pontos de equilbrio locais, dificultando uma formalizao terica consistente. As redes recorrentes (feedback net) so utilizadas para memria associativas bem como para soluo de problemas de otimizao (Narendra e Parthasarathy, 1990).

As redes diretas ou com alimentao para frente (feedforward) possuem caractersticas ideais para o mapeamento esttico, enquanto as redes recorrentes ou realimentadas apresentam desempenho superior para processamento temporal. (Braga et al., 2000)

A Fig 2.5 apresenta uma simples rede com dinmica recorrente.

Fig 2.5 Rede realimentada Fonte: Beale; Demuth; Hagan, 2009

Nas redes diretas dois ou mais neurnios podem ser combinados para formar uma camada de neurnios. Tem-se o exemplo de uma rede neural direta de uma nica camada na Fig 2.5.

Fig 2.6 Rede Neural de uma camada Fonte: Beale; Demuth; Hagan, 2009

10

Em uma rede neural direta de uma nica camada, cada elemento do vetor de entrada p, multiplicado pelo seu valor correspondente na matriz de pesos W, formando o produto pW. feito um somatrio do produto pW com o valor de bias b de cada neurnio, que ir gerar o argumento n da funo de transferncia f. A funo de transferncia f tipicamente uma funo de limiar, uma funo linear ou uma funo sigmoidal e a partir dela que teremos o valor do vetor de sada a do neurnio, que um vetor coluna. Uma camada pode ter o nmero de entradas diferente do nmero de neurnios.

A conexo dos neurnios em uma rede neural direta tambm feita em vrias camadas (multicamadas), sendo que cada uma ter seus respectivos valores para a matriz de pesos W, para o vetor de bias b e para o vetor de sada a. A sada de cada Neurnio representada atravs de ndices a1, a2,..., an, conforme mostrado na Figura 2.6.

Fig 2.7 Rede Neural de mltiplas camadas Fonte: Beale; Demuth; Hagan, 2009

A sada de cada camada intermediria a entrada da prxima camada. As diferentes camadas de uma rede neural de mltiplas camadas recebem diferentes denominaes. Uma camada que gera as sadas da rede neural recebe o nome de camada de sada (output layer). Todas as outras camadas so denominadas de camadas escondidas (hidden layer).

11

Redes neurais de mltiplas camadas so bastante poderosas. Por exemplo, uma rede neural de duas camadas, onde a primeira camada possue uma funo de ativao sigmoidal e a segunda camada possue uma funo de ativao linear, pode ser treinada para aproximar qualquer funo (com um nmero finito de descontinuidades) com uma aproximao muito boa (Beale; Demuth; Hagan, 2009). 2.4 Processos de aprendizagem das redes neurais artificiais

Existem diferentes arquiteturas de redes neurais, cada uma sendo adequada para determinada aplicao e cada uma possuindo seu algoritmo de aprendizagem caracterstico. A Fig 2.7 traz a organizao das redes neurais e seus respectivos mtodos de aprendizado.

Fig 2.8 Classificao das redes neurais e mtodos de aprendizado Fonte: Stemmer, 2009

O conhecimento de uma rede neural obtido por meio do treinamento. As redes neurais possuem a capacidade de aprenderem por exemplos, e fazerem interpolaes do que aprenderam. No aprendizado de uma rede neural procura-se determinar a intensidade de conexes entre neurnios. Como o conhecimento armazenado nas conexes, o uso das redes neurais est intimamente ligado ao que se chama de conexionismo .

12

Para Haykin (1999) o processo de aprendizagem de uma RNA definido como: Processo pelo qual os parmetros livres de uma rede neural so adaptados, atravs de estmulos do ambiente no qual a mesma est inserida. O tipo de aprendizagem determinado pela maneira na qual a modificao dos parmetros ocorre, dado pelo processo de treinamento, que consiste no conjunto de regras bem definidas que leva ao aprendizado da RNA.

Treinar uma rede neural significa ajustar os valores de pesos W e bias b de suas vrias camadas segundo um algoritmo de aprendizagem de forma que a sada coincida com um valor desejado para uma dada entrada. O treinamento de uma rede neural classificado como seqencial ou por batelada, supervisionado e no supervisionado.

No modo seqencial o ajuste dos pesos da rede realizado aps a apresentao de cada padro a rede. O modo por batelada caracterizado pelo ajuste dos pesos aps a apresentao de todos os padres a rede.

O mtodo de aprendizado supervisionado caracterizado pela presena de um supervisor externo (professor), que aps a apresentao dos padres (entradas e as sadas desejadas) avalia a resposta da rede e ajusta os pesos sinpticos (Braga et al., 2000). O professor indica explicitamente um comportamento bom ou ruim.

No mtodo de aprendizado no supervisionado utilizado como conjunto de treinamento somente vetores de entrada. O algoritmo de treinamento modifica os pesos sinpticos da rede para produzir um vetor de sada consistente com a entrada. A aplicao de um vetor de treinamento ou um vetor que suficientemente similar a ele na entrada ir produzir o mesmo padro de sada. O mtodo de aprendizado no supervisionado tambm denominado descobridor de regularidades ou redes auto-organizadas.

O ensino supervisionado tem atrado a ateno de muitos pesquisadores. Uma motivao talvez seja o fato de que o aprendizado supervisionado pode ser encarado como um problema de otimizao e usar ferramentas que j mostraram ser eficazes, tanto em programao linear como em programao no linear (Barreto, 2002).

13

Dentre os algoritmos de aprendizado supervisionados mais difundidos est o algoritmo de retropropagao do erro (error back-propagation) (Rumelhart et al., 1986). O algoritmo backpropagation faz uso do mtodo de otimizao Gradiente descendente (steepest descent) para clculo da trajetria dos pesos. O mtodo do gradiente classificado como um mtodo indireto de primeira ordem, j que utiliza apenas a informao do gradiente (primeira derivada) da funo de custo para o ajuste dos pesos da rede. Os mtodos de primeira ordem so conhecidos por serem ineficientes no tratamento de problemas de larga escala, pois apresentam taxas de convergncia muito lentas, especialmente em regies prximas a mnimos locais (Luenberger, 1984; Bazaraa et al., 1993).

Algoritmos indiretos de segunda ordem, alm do vetor gradiente da funo objetivo, fazem uso da matriz Hessiana (matriz de derivadas de segunda ordem) da mesma. Uma classe de algoritmos de segunda ordem apropriada para problemas de larga escala (Silva, 1998). A desvantagem da utilizao de algoritmos de segunda ordem o alto custo computacional associado ao clculo e armazenamento da matriz Hessiana.

O algoritmo proposto por Levenberg-Marquardt um dos algoritmos de segunda ordem mais rpidos para o treinamento de RNAs de tamanho moderado (Jones et al., 2005), sendo este uma variao do mtodo de Newton (Edgar e Himmelblau, 1988), que aproxima localmente a superfcie de erro por uma funo quadrtica. Nesse algoritmo, o clculo da matriz Hessiana simplificado, usando apenas a matriz Jacobiana (matriz de derivadas de primeira ordem com relao aos pesos e termos de polarizao da RNA).

No presente trabalho utilizado uma verso do algoritmo de aprendizado de LevenbergMarquardt descrito em Fletcher (1987) atravs do Toolbox de Identificao de Sistemas baseado em redes neurais de Magnus Norgaard. Ser dada nfase na utilizao desse algoritmo em redes perceptron de mltiplas camadas.

2.4.1 Mtodo de Levenberg-Marquardt

As redes perceptron de mltiplas camadas (MLP-Multilayer Perceptron) so provavelmete a arquitetura de redes neurais mais consideradas. A principal razo o fato dessas redes serem capazes de modelar desde relaes simples at relaes complexas entre funes, alm de tratar dados no linearmente separveis.

14

A Fig 2.8 evidencia uma rede feedforward perceptron de mltiplas camadas com trs entradas, dois neurnios na camada escondida e duas unidades de sada.

Fig 2.9 Perceptron de Multicamadas Fonte: Norgaard, 2000

A rede perceptron considerada apresenta somente uma camada escondida e somente funes de ativao linear e tangente hiperblica denotadas por (f, F) respectivamente, conforme apresentado na Equao 2.5.

y(w,W )

Fi
j 1

Wij h j (w) Wi 0

Fi
j 0

Wij f j
l 1

w jl zl

w j0

Wi 0

(2.5)

Os pesos da rede neural perceptron (especificado pelos valores de , ou pelas matrizes w e W) so os parmetros da rede que so ajustados atravs de um conjunto de exemplos que apresentado a rede por um mtodo de treinamento. Os dados de treinamento so um conjunto de entradas u(t) e as sadas correspondentes desejadas y(t).

15

O conjunto de treinamento mostrado na Equao 2.6

Zn

u(t ), y(t ) , t 1,..., n

(2.6)

O objetivo do treinamento determinar valores para os pesos que correspondam aos valores dos dados de treinamento apresentados a rede, de tal forma que a rede produza predies para as sadas y(t) que so de alguma forma prximas aos verdadeiros valores da sada y(t). A Equao 2.7 mostra a relao entre os pesos e o conjunto de treinamento apresentado rede.

Zn

(2.7)

O treinamento de uma rede neural interrompido assim que um critrio de parada alcanado por meio do algoritmo de aprendizado. O critrio de parada utilizado baseado em uma medida do erro mdio quadrtico. O algoritmo converge quando a taxa de variao do erro mdio quadrtico por poca for suficientemente pequena. A equao 2.8 mostra o erro mdio quadrtico por poca calculado.

Vn ( , Z )

1 2n

y(t )
t 1

y(t | )

y(t )

y(t | )

(2.8)

A Equao 2.9 mostra que os valores dos pesos encontrados para a rede neural devem corresponder a aqueles valores que minimizem a funo do erro mdio quadrtico.

arg min Vn ( , Z n )

(2.9)

O esquema de minimizao evidenciado na Equao 2.10.

especifica o valor dos pesos da o tamanho do

rede neural, i especifica o valor da iterao atual, f a direo de busca e passo.


(i 1) (i ) (i )

f (i )

(2.10)

16

Os diferentes tipos de algoritmos de treinamento de uma rede neural se diferenciam pelo modo em que os valores da direo de busca f e os valores do tamanho do passo so

selecionados. O mtodo de Levenberg-Marquardt um dos mtodos padres utilizados para minimizao do critrio de erro mdio quadrtico, devido as suas caractersticas de rpida convergncia e robustez.

O algoritmo correspondente verso do mtodo de Levenberg-Marquardt, descrito em Fletcher (1987) implementado por Magnus Norgaard em seu Toolbox de identificao de sistemas baseado em redes neurais tem os seguintes passos:

1)Determinar valores iniciais para o vetor de pesos


(0)

(0)

e determinar valores iniciais para

2) Determinar a direo de busca a partir da frmula [ R(

(i )

(i )

I ] f (i )

G(

(i )

), I

sendo uma matriz unitria, G sendo o gradiente do critrio de parada com relao aos pesos e R sendo a aproximao de Gauss-Newton para a matriz Hessiana.

3) r(i )

0.75

(i ) (i )

. Se o valor do decaimento previsto est prximo ao valor do

decaimento atual deixar a direo de busca convergir para a direo de busca Gauss-Newton enquanto o passo de busca aumentado.

4) r(i )

0.25

(i )

(i )

. Se o valor do decaimento previsto est longe do valor do

decaimento atual deixar a direo de busca convergir para a direo de busca do gradiente enquanto o passo de busca reduzido.

5) Se o valor da funo do erro mdio quadrtico para os respectivos valores dos pesos da iterao atual for menor que o da iterao anterior Vn ( valor dos pesos
( i 1) (i ) (i )

f (i ) , Z n ) Vn (

(i )

, Z n ) , atualizar o

f (i ) , fazer

(i 1)

(i )

e i=i+1.

6) Se o critrio de parada no for satisfeito retornar ao passo dois.

17

3 Identificao de Sistemas

A modelagem matemtica estuda maneiras de construir e implementar modelos de sistemas reais (Aguirre, 2004). Podemos agrupar os modelos existentes em trs grandes categorias.

1) Modelos caixa branca, que so obtidos pela fsica ou natureza do processo. Possuem estrutura matemtica conhecida e os parmetros so obtidos por meio de testes estticos.

2) Modelos caixa preta, onde tcnicas de identificao de sistemas se tornam teis para modelar estes sistemas que no so facilmente representveis por princpios ou leis fsicas conhecidas. Possuem estrutura matemtica desconhecida e os parmetros so estimados por meio da minimizao de uma funo custo. Apresentam modelagem emprica.

3) Modelos caixa cinza, que possuem estrutura matemtica conhecida, mas possuem parmetros desconhecidos. Os parmetros so estimados por meio da minimizao de uma funo custo.

Os modelos dentro das categorias acima, so classificados de acordo com as seguintes propriedades.

1) Dinmica do processo (estticos ou dinmicos). Reconhecimento de padres um tpico problema de identificao de parmetros em sistemas estticos. Um sistema dinmico caracterizado pela presena do uso de valores passados tanto da entrada quanto da sada, ou seja, pela dependncia temporal.

2) Tipo de sinal (discretos ou contnuos)

3) Linearidade do processo (linear ou no-linear). Sistemas lineares obedecem ao princpio da superposio. O princpio da superposio pode ser exemplificado como se for aplicada uma entrada X no sistema que gere uma sada Y e uma entrada W no sistema que produza uma sada Z. O sistema ser linear se quando for aplicada uma entrada X+Y o sistema gerar uma sada W+Z. Sistemas no-lineares no obedecem ao princpio da superposio.

18

4) Varincia no tempo (variante ou invariante no tempo). Sistemas invariantes no tempo podem ser exemplificados como aplicando uma entrada x1(t = 0) em um sistema e o mesmo gerar uma sada y1(t=0). Se deslocarmos no tempo x1 (t=1), para o sistema ser invariante no tempo deve-se ter ainda uma sada y1 (t=1), caso contrrio, o sistema variante no tempo.

5) Entradas e sadas (monovariveis ou multivariveis). Sistemas monovariveis possuem uma nica entrada e uma nica sada (SISO single input single output). Sistemas multivariveis possuem mais de uma entrada e sada (MIMO multiple input multiple output).

As propriedades acima de um sistema so importantes pois elas ajudam a definir qual a melhor tcnica de modelagem matemtica ser utilizada para definir um modelo adequado para o sistema.

A modelagem matemtica sofreu grandes avanos com o passar do tempo. Antes, os modelos eram motivados pela fsica do processo, com estrutura matemtica muito bem fundamentada e com estimao dos parmetros feita estaticamente.

Com a evoluo da computao, passou-se a utilizar modelos matemticos lineares de carter geral, que no mais dependiam de um conhecimento prvio do sistema e tinham seus parmetros estimados pela minimizao de uma funo custo atravs de algoritmos computacionais. Os modelos lineares no eram abrangentes, de onde se passou a utilizar modelos no lineares com seus parmetros tambm estimados pela minimizao de uma funo custo atravs de algoritmos computacionais. Os modelos no lineares com toda a sua complexidade fizeram com que se buscasse o desenvolvimento de algoritmos sofisticados que permitissem fazer uma escolha adequada de uma estrutura e que fizessem a estimao adequada de parmetros para o modelo.

19

A Fig 3.1 mostra a evoluo dos processos de identificao de sistemas.

Fig 3.1 Evoluo da identificao de sistemas Fonte: Aguirre, 2004

Ser tratado no presente trabalho tcnicas de identificao de sistemas caixa preta. Dentro da identificao de sistemas devemos determinar um modelo matemtico que defina, dentro de uma faixa de erro, o sistema a partir de seus valores de entrada u(t) e seus valores de sada y(t).

20

A Fig 3.2 traz um sistema que possue estrutura matemtica e parmetros desconhecidos.

Fig 3.2 Modelo caixa preta Fonte: Beale; Demuth; Hagan, 2009

Durante a identificao de sistemas dinmicos, alguns passos devem ser seguidos. Dentre esses passos esto a experimentao e coleta de dados, a estruturao do modelo, a estimao de parmetros do modelo e a validao do modelo. Se a validao do modelo atingir valores satisfatrios, o modelo aceitvel, caso contrrio, deve-se procurar por falhas que podem ocorrer em qualquer um dos passos anteriores. A Fig. 3.3 mostra um esquema dos passos que so seguidos durante o procedimento de identificao de sistemas dinmicos.

Fig 3.3 Procedimento de identificao de sistemas Fonte: Norgaard, 2000

21

3.1 Experimentao e aquisio de dados

O primeiro passo para a identificao de sistemas a experimentao e aquisio de dados. Durante essa fase, devem ser medidos dados de entrada e sada do sistema que o descrevam plenamente em toda a sua regio de operao. Deve-se escolher uma freqncia de amostragem adequada e garantir a minimizao de rudos para que os dados amostrados sejam adequados.

A Eq. 3.1 mostra uma varivel Z N que corresponde aos valores de entrada e sada, u(t) e y(t) respectivamente, medidos para um sistema, com uma freqncia de amostragem t.

Zn

u(t ), y(t ) , t 1,..., n

(3.1)

3.2 Estruturao do modelo

Um conjunto de funes parametrizadas utilizado para representar a estrutura de um modelo. Dentre essas funes temos funes de transferncia de baixa ordem (primeira ordem, segunda ordem e at terceira ordem) que descrevem a dinmica de sistemas lineares atravs de parmetros como o ganho esttico K, uma constante de tempo Tp, e uma constante de atraso entre entrada-sada Td, conforme a Eq. 3.2.

G (s)

K e 1 sTp1

sTd

(3.2)

Outra forma de representao de um modelo atravs de estruturas polinomiais como na Eq. 3.3.

A(q) y (k )

B(q) u (k ) F (q)

C (q ) v(k ) D(q)

(3.3)

O valor de u(k) corresponde entrada do sistema, os valores de y(k) correspondem sada do sistema e o valor de v(k) corresponde a um sinal de rudo. Os polinmios A(q), B(q), C(q),

22

D(q) e F(q) so expresses formadas pelo operador de atraso q conforme as Eq. 3.4, Eq. 3.5, Eq. 3.6, Eq. 3.7 e Eq. 3.8.

A(q) 1 a1q

... any q
nu

ny

(3.4) (3.5)

B(q) b1q

... bnu q
1

C(q) 1 c1q

... cnv q
1

nv nd
nf

(3.6) (3.7) (3.8)

D(q) 1 d1q
F ( q) 1 f1q

... dnd q
... fn f q

Os modelos polinomiais so estimados a partir da ordem do modelo, que correspondem a um conjunto de inteiros que representam o nmero do coeficiente de cada estrutura selecionada

n y para A, n u para B, n v para C, n d para D, n f para F.

O nmero de coeficientes no denominador dos polinmios igual ao nmero de plos e o nmero de coeficientes no numerador dos polinmios igual ao nmero de zeros mais 1.

Diferentes estruturas de modelos polinomiais podem ser arranjadas utilizando a representao bsica dada pela Eq. 3.3. As estruturas se diferenciam umas das outras pela incluso ou no dos diversos polinmios A(q), B(q), C(q), D(q) e F(q). Dentre essas estruturas tm-se modelos ARX, ARMAX, Box-Jenkins (BJ) dentre outros.

O modelo utilizado nesse trabalho para identificao de sistemas o modelo ARX no linear, que ser enfatizado. O modelo ARX obtido tomando-se C(q) = D(q) = F(q) = 1 e A(q) e B(q) polinmios arbitrrios.

A Eq. 3.9 representa um modelo ARX obtido a partir da Eq. 3.3.

y (k )

B(q) u (k ) A(q)

1 v(k ) A(q )

(3.9)

23

O modelo ARX um modelo de erro na Equao. A Fig. 3.4 mostra o modelo ARX representado a partir de diagrama de blocos.

Fig 3.4 Representao de um modelo ARX Fonte: Aguirre, 2004

3.3 Estimao de parmetros

Os modelos ARX podem ter estrutura linear e no-linear. Um modelo ARX linear com uma entrada u(t) e uma sada y(t) tm a estrutura dada pela Eq. 3.10

y(t ) a1 y(t 1) a2 y(t 2) ... ana y(t na) b1u(t ) b2 u(t 1) ... bnbu(t nb 1) e(t )

(3.10)

Essa estrutura demonstra que o valor da sada y(t) obtido como uma soma dos valores passados da sada y(t) e os valores passados e atuais da entrada u(t). A Eq. 3.10 pode ser reescrita como a Eq. 3.11

y(t ) [ a1 , a2 ,..., ana , b1 , b2 , bnb ] * [ y(t 1), y(t 2),..., y(t na), u(t ), u(t 1),..., u(t nb 1)]T

(3.11)

Onde y(t 1), y(t 2),..., y(t na), u(t ), u(t 1),..., u(t nb 1) so variveis de entrada e sada em atraso, que so chamadas de regressores. Os modelos ARX lineares predizem o valor da sada y como uma soma dos valores de seus regressores.

24

As estruturas ARX no lineares se apresentam na forma da Eq. 3.12

y(t )

f ( y(t 1), y(t 2), y(t 3),..., u(t ), u(t 1), u(t 2),...)

(3.12)

Onde f uma funo no linear. As entradas da funo f so os regressores do modelo. Diferentes funes de mapeamento no linear f podem ser escolhidas para predizer a varivel y. Os regressores dos modelos ARX no-lineares podem ser tanto regressores lineares como
2 y(t-1), ou podem ser regressores com estrutura no linear como y(t 1) ,u(t-1)*y(t-2),

tan(u(t-1)) dentre outros.

A estrutura de um modelo ARX no linear dada pela Fig. 3.5

Fig 3.5 Modelo caixa preta Fonte: Beale; Demuth; Hagan, 2009

Os modelos ARX no lineares obtm a sada y a partir, primeiro, do clculo dos regressores para os valores de entradas e sadas atuais. Os regressores correspondem entrada do bloco estimador no linear. O bloco do estimador no linear mapeia os regressores com as respectivas sadas do modelo atravs de uma combinao de funes lineares e no lineares. Os estimadores no lineares podem ser de diferentes tipos como redes neurais de mltiplas camadas, redes wavelet, dentre outros.

utilizado no presente trabalho uma rede neural de mltiplas camadas como estimador no linear para identificao de sistemas a partir do Toolbox de identificao de sistemas baseado em redes neurais de Magnus Norgaard. O algoritmo correspondente verso do mtodo de Levenberg-Marquardt, descrito em Fletcher (1987) implementado por Magnus Norgaard.

25

As estruturas NNARX modelos ARX no lineares com estimador linear correspondendo a uma rede neural de mltiplas camadas implementadas por Magnus Norgaard em seu Toolbox de identificao de sistemas baseado em redes neurais possuem vetor de regresso

(t ) dado pela Eq. 3.13

(t ) [ y(t 1)... y(t na )u(t nk )...u(t nb

nk

1)]T

(3.13)

A Eq 3.14 representa a predio da sada y(t) pelo estimador no linear

y(t | )

g ( (t ), )

(3.14)

Onde

um vetor contendo os pesos e g uma funo realizada pela rede neural.

3.4 Validao do modelo

O mtodo mais comum de se realizar a validao de um modelo atravs da investigao dos resduos (erros de predio) do modelo identificado. Os resduos so diferenas entre a sada um passo a frente prevista para o modelo e a sada medida a partir do conjunto de dados de validao do modelo. As formas de se validar um modelo a partir de resduos so as funes de autocorrelao e de correlao cruzada.

A funo de autocorrelao se constitui na influncia que os resduos tm no valor da sada do modelo estimado. Um bom modelo tem a funo de autocorrelao dos resduos dentro de um intervalo de confiana da estimao correspondente, indicando que os resduos no esto relacionados. O intervalo de confiana corresponde ao intervalo dos valores de resduos que tem uma probabilidade de serem estatisticamente insignificantes para o sistema.

26

A Fig. 3.6 mostra uma funo de autocorrelao cruzada para um modelo identificado.

Fig 3.6 Teste de autocorrelao de resduos aprovado Fonte: Beale; Demuth; Hagan, 2009

A linha pontilhada na Fig. 3.6 representa o intervalo de confiana. Qualquer flutuao dentro do intervalo de confiana considerada insignificante. O modelo da Fig. 3.6 considerado um bom modelo dentro da anlise de resduos.

A Fig. 3.7 no representa um bom modelo identificado para um sistema, j que pela anlise de autocorrelao dos resduos temos valores de pico que ultrapassam o intervalo de confiana dado pelas linhas pontilhadas.

Fig 3.7 Teste de autocorrelao de resduos reprovado Fonte: Beale; Demuth; Hagan, 2009

De acordo com o teste de correlao cruzada um bom modelo tem resduos no relacionados com entradas passadas. Por exemplo, um valor de pico fora do intervalo de confiana para um atraso k, indica que a sada y(t) originada pela entrada u(t-k) no corretamente descrita pelo modelo.

27

4 NEUROCONTROLADORES Controladores baseados nas tcnicas de Redes Neurais constituem os Neurocontroladores. O controle de sistemas dinmicos no-lineares com redes neurais foi proposto primeiramente no final da dcada de 80 (Hunt et al., 1992). Segundo Schnitman e Fontes (1999) um Neurocontrolador caracterizado pelo uso de uma RNA localizado no sistema de controle, sendo o prprio controlador um modelo do processo usado para inferir uma ao de controle.

Os Neurocontroladores mantm algumas caractersticas das Redes Neurais como capacidade de aprendizado e de adaptao. Com isso, mesmo que plantas sejam submetidas a distrbios ou rudos, os Neurocontroladores tm a capacidade de ajustarem seus parmetros atravs do processo de aprendizagem, buscando por meio de um algoritmo de otimizao atenuar esses sinais indesejados. Isso garante grande robustez por parte dessa tcnica de Controle.

A utilizao dos Neurocontroladores vivel em processos no-lineares que operam em mais de um ponto de operao, tendo parmetros variveis e que so difceis de fazer um modelamento matemtico.

Diversas arquiteturas para o projeto de Neurocontroladores j foram propostas. Os Neurocontroladores podem ser implementados segundo as tcnicas de Controle Neural Inverso, Controle Neural Adaptativo dentre outras (WERBOS, 1990).

4.1 Neurocontrolador por modelo inverso

Conceitualmente, a classe mais fundamental de neurocontroladores so aqueles que usam o modelo inverso do processo como controlador. O neurocontrolador por modelo inverso pertence classe de neurocontroladores por simples realimentao, constitudo, basicamente, por um modelo inverso (RNA) em srie com o processo, sendo um sistema de controle arquitetado de forma direta (Miller et al., 1990).

Tal caracterstica motivou a pesquisa e aplicao deste tipo de neurocontrolador em sistema de fornos de aquecimento (Dias e Mota, 2000), em controle de movimentao de robs (Patio et al., 2002) e em processo de decapagem em usina siderrgica (Daosud et al., 2005).

28

Em um esquema de controle por modelo inverso temos uma RNA treinada para ser o modelo inverso do processo em srie com o prprio processo a ser controlado. A Figura 4.1 demonstra o esquema de um neurocontrolador por modelo inverso.

Fig 4.1 Diagrama em blocos neurocontrolador por modelo inverso Fonte: Norgaard, 2000

A entrada do neurocontrolador por modelo inverso composta pelo sinal de referncia r(t+1) associado aos valores passados das prprias aes de controle u(t) e estados do processo y(t+1), sendo os operadores de atraso representados por q 1 .

Se um processo pode ser descrito conforme a Eq. 4.1

y(t 1)

g ( y(t ),..., y(t n 1), u(t ),..., u(t m))

(4.1)

Pode-se ter o treinamento de uma rede neural como inversa do processo dado pela Eq. 4.2

^ 1

u (t )

g ( y (t 1), y (t ),..., y (t

n 1), u (t 1), u (t

m))

(4.2)

29

Duas estratgias so utilizadas para fazer o treinamento da rede neural que constituir o controlador por modelo inverso. Treinamento generalizado e treinamento especializado (Psaltis et al, 1988). No treinamento generalizado uma rede neural treinada off-line a fim de minimizar o critrio dado pela Eq. 4.3, sendo os pesos da rede neural.

J1 ( )
t 1

(u (t ) u (t )) 2

(4.3)

O modelo inverso obtido pelo treinamento da RNA tomando a sada do processo como entrada da RNA e entrada do processo como sada da RNA. A rede neural apresenta um comportamento inverso ao do processo aps o treinamento. A Figura 4.2 representa esta forma de treinamento.

Fig 4.2 Treinamento genrico da rede neural Fonte: Paganoto, 2008

Essa abordagem para o treinamento da RNA apresenta algumas desvantagens. A estrutura do treinamento no direcionada ao objetivo, j que o modelo no treinado na mesma situao em que ser utilizado aps o treinamento. O objetivo do procedimento de aprendizagem no direto. E a varivel de sada do processo, especificada para o treinamento da RNA, ser substituda pelo sinal de referncia quando a RNA for colocada em situao de controle, no garantindo que a sua sada ser a ao de controle adequada. (Psaltis et al, 1988).

30

O treinamento especializado um procedimento on-line relacionado a um controle adaptativo por referncia do modelo. A idia minimizar o critrio dado pela Eq. 4.4, sendo da rede neural. os pesos

J2( )
t

( y m (t )

y (t )) 2

(4.4)

Sendo ym (t ) dado pela Eq. 4.5.

y m (t )

q 1 Bm (q) r (t ) Am (q)

(4.5)

O modelo inverso obtido se Am = Bm =1 e est conectado em srie com o processo. O sinal de erro usado no treinamento da RNA formado pela relao entre o sinal de referncia e o sinal de sada do processo, conforme a Fig. 4.3.

Fig 4.3 Treinamento especializado da rede neural Fonte: Paganoto, 2008

O treinamento especializado caracterizado como possuindo o objetivo do procedimento de aprendizagem direto. Ao contrrio do treinamento generalizado, o treinamento especializado treina a rede neural de forma que a sada do processo siga o valor de referncia com uma boa preciso.

31

4.2 Neurocontrolador preditivo baseado em modelos Controladores preditivos baseados em modelos referem-se a uma classe de algoritmos computacionais para controle que utilizam um modelo explcito do processo para predizer a resposta futura da planta. Sendo assim, a cada iterao o MPC (Model predictive control) otimiza o comportamento futuro da planta atravs da seqencia de aes de controle (Qin e Badgwell, 2003).

O controle preditivo neural tem sido utilizado em processos industriais em geral (Gomm et al., 1997; Zamarreo e Veja, 1999; Turner et al., 1996; Botto e Costa, 1998), onde as dinmicas so mais lentas e a complexidade dos processos envolvidos limita a elaborao e performance de modelos.

Como primeiro passo para o neurocontrolador preditivo baseado em modelo determinar um modelo para a planta baseado em redes neurais (identificao de sistemas). Ento o modelo da planta usado pelo controlador para predizer a resposta futura.

O objetivo do controle preditivo neural minimizar em cada iterao um critrio como definido na Eq. 4.6.

i N2

J 3 (t ,U (t ))
i N1

[r (t i)

y(t i)]2
i 1

Nu

[ u(t i 1)]2

(4.6)

Os valores futuros do sinal de controle U(t) so dados pela Eq. 4.7.

U (t ) [u(t )...u(t

N u 1)]T

(4.7)

A restrio imposta no controle preditivo dada pela Eq. 4.8.

u(t i)

0, Nu

N2

(4.8)

32

O valor de N 1 representa o horizonte mnimo de predio, N 2 o horizonte mximo de predio e N u o horizonte de controle. O valor de um fator de peso que penaliza

variaes nas entradas de controle. O problema de otimizao resulta em uma seqncia de valores de controle futuros, U(t). Dessa seqncia a primeira componente u(t), ento aplicada ao processo. O neurocontrolador preditivo usa um modelo do processo dado por uma RNA e um algoritmo de otimizao. O algoritmo de otimizao usa a resposta da RNA, que representa o processo,
^

e infere uma ao de controle no presente visando que a sada y (t 1) seja igual referncia r(t+1). Na Figura 4.4 apresentada a arquitetura clssica de um neuro-controlador preditivo.

Fig 4.4 Diagrama em blocos neurocontrolador preditivo Fonte: Paganoto, 2008

33

5 DESENVOLVIMENTO Para implementar um controlador preditivo neural necessrio ter um modelo que descreva adequadamente o processo que se deseja controlar alm de definir os parmetros da funo de otimizao que ser utilizada para predizer os valores futuros do sinal de controle.

5.1 Modelo Muitas relaes entre grandezas fsicas no so absolutamente lineares, embora sejam muitas vezes aproximadas por equaes lineares, por questes de simplificao matemtica. A simplificao pode ser satisfatria desde que as solues resultantes estejam de acordo com os resultados experimentais. Uma das caractersticas mais importantes dos sistemas no-lineares a dependncia do comportamento da resposta do sistema em relao amplitude e tipo de entrada. Um sistema no linear pode comportar-se de forma completamente diferente em resposta a entradas em degrau de diferentes amplitudes.

Os sistemas no lineares diferem dos sistemas lineares no tocante ao fato de que o princpio da superposio no vale para os primeiros (OGATA, 1993).

O sistema mecnico utilizado para a implementao do neurocontrolador no presente trabalho visto na Eq. 5.1, que consiste em uma massa, um amortecedor viscoso e uma mola nolinear.

y (t ) t2

y (t ) t

ky(t ) k1 y 3 (t )

u (t )

(5.1)

Sendo ky k1 y 3

fora da mola no-linear, y deslocamento da massa, m massa,

b coeficiente de atrito viscoso do amortecedor.

Os parmetros m, b e k so constantes positivas, enquanto que k1 pode ser tanto positivo como negativo. Se k1 positivo, a mola chamada de uma mola dura; se k1 negativo, uma mola macia. O grau de no-linearidade do sistema caracterizado pela magnitude de k1 . A Eq. 5.1 conhecida como equao de Duffing.

34

A Fig. 5.1 traz uma implementao do diagrama de blocos da equao de Duffing no Simulink.

Fig. 5.1 Diagrama em blocos equao de Duffing

5.2 Identificao do modelo O modelo proposto para anlise, a equao de Duffing, um modelo de um sistema no-linear que j possui dinmica conhecida, dada pela Eq. 5.1. Porm, como o objetivo do presente trabalho mostrar os passos para implementao de uma tcnica de controle neural, abrangendo tcnicas de identificao de sistemas no lineares utilizando redes neurais, optouse por utilizar tal modelo.

A etapa de identificao de sistemas se divide nas fases de experimentao, estruturao do modelo, estimao de parmetros e validao do modelo.

Durante a experimentao necessitamos obter dados que descrevem a dinmica do sistema plenamente em todos os seus pontos de operao. Como o sistema possui dinmica conhecida dada pela Eq. 5.1, foi feita uma simulao do sistema para valores aleatrios do sinal de entrada u(t) variando entre -12 e +12. Obteve-se um arquivo de nome expdata.mat que contm as variveis U(t) e Y(t) correspondentes aos valores de entrada e sada do sistema de Duffing simulado em malha aberta respectivamente. U(t) e Y(t) so duas matrizes com dimenses 1000x1.

35

Os dados de simulao do modelo gerado foram subdivididos em dados de treinamento e dados de validao. Os dados de treinamento foram utilizados para treinar a rede neural que seria o modelo do sistema e os dados de validao foram utilizados para validar a rede neural, testando sua capacidade de adaptao a novos valores fornecidos como entrada para o modelo. A subdiviso se deu em duas matrizes de dimenses 500x1 para os valores de dados de treinamento, variveis y1 e u1, e para os valores dos dados de validao, variveis y2 e u2. Os dados de treinamento correspondentes as variveis de entrada u1 (Input sequence) e de sada y1 (Output sequence) so mostrados na Fig. 5.2

Fig. 5.2 Dados de treinamento sistema de Duffing

Os dados de validao correspondentes as variveis de entrada u2 (Input sequence) e de sada y2 (Output sequence) so mostrados na Fig. 5.2

Fig. 5.3 Dados de validao sistema de Duffing

36

O conjunto de dados de treinamento e o conjunto de dados de validao foram reajustados com mdia zero e varincia um. Essa uma etapa de pr-processamento dos dados que sero utilizados no treinamento da rede neural que faz com que o treinamento da rede se torne mais eficiente. A Fig. 5.4 traz os valores do conjunto de dados de treinamento aps a etapa de prprocessamento.

Fig. 5.4 Pr-processamento dos dados de treinamento da rede neural

Durante a estruturao do modelo optou-se por utilizar um modelo no linear ARX para fazer a modelagem do sistema de Duffing. Os modelos no lineares ARX mapeiam os valores de entrada com os respectivos valores de sada atravs de uma funo de estimao. Os valores de entrada dos modelos ARX no lineares so denominados regressores e correspondem aos valores passados da sada y(t-1)...y(t- na ) e da entrada u(t- n k )...u(t- n b - n k +1) do sistema em questo. A estrutura do vetor de regresso apresenta como valores a serem definidos n a , n b e n k . O valor de na corresponde ao nmero de sadas passadas y(t) necessrias para determinar a predio, o valor de n b corresponde ao nmero de entradas u(t) necessrias para determinar a predio e o valor de n k corresponde ao valor de atraso no tempo, que geralmente 1.

37

Definiu-se n a =2, n b =2 e n k =1, ficando o vetor de regresso dado conforme Eq. 5.2.

(t ) [ y(t 1)

y(t 2) u(t 1) u(t 2)]T

(5.2)

A estimao dos parmetros compreende a definio da funo que ser utilizada como estimador do modelo ARX. Utiliza-se uma rede neural perceptron de mltiplas camadas como estimador no linear para identificao de sistemas. O treinamento da rede neural executado pela funo nnarx a partir do Toolbox de identificao de sistemas baseado em redes neurais de Magnus Norgaard.

A rede neural foi definida com uma camada escondida e uma camada de sada. A camada escondida apresenta 10 neurnios com funo de ativao tangente hiperblica e a camada de sada apresenta 1 neurnio com funo de ativao linear.

A arquitetura da rede neural utilizada como estimador do modelo ARX mostrada na Fig. 5.5.

Fig. 5.5 Arquitetura rede neural estimador modelo ARX no linear

38

Aps treinada a rede neural com um mximo de 300 iteraes ou at que o critrio de parada seja alcanado os valores obtidos para as matrizes W1 e W2 correspondentes aos valores dos pesos da rede neural so:

0.4434 0.2653 0.2138 0.1853 0.2275 06097 0.4762 0.6195 0.0325 0.2035

0.0621 0.3243 0.6625 0.2887 0.3072 0.2153 0.0245 0.0393 0.2241 0.3312

0.0057 0.0054 0.0681 0.0295 0.0021 0.0233 0.0327 0.0310 0.0806 0.0064

0.0045 0.0132 0.0685 0.0136 0.0304 0.0033 0.0151 0.0151 0.0397 0.0125

0.2984 0.0651 0.0667 0.0337 0.0492 0.0125 0.5334 0.6532 0.0400 0.1034

W1

W2 = [-0.6549 -0.6653
0.6451 -0.2609]

0.2537 -0.5876

0.6240 -0.7318 -0.8098 -0.6200 -0.5077 -

W1 uma matriz de dimenso 10x5 que corresponde aos pesos da entrada da rede neural para
a camada escondida. W2 uma matriz de dimenso 1x11 que corresponde aos pesos da camada escondida para a sada da rede neural.

O modelo neural ARX obtido simulado para os valores de treinamento conforme a Fig. 5.6. Observa-se que o erro de predio para os valores de treinamento esto situados na faixa de 0.02 a 0.02.

Fig. 5.6 Simulao e erro de predio do modelo neural ARX - dados de treinamento

39

A validao do modelo neural ARX obtido para o sistema Duffing efetuada atravs da investigao dos resduos (erros de predio) do modelo identificado. Os testes de autocorrelao dos resduos com a sada do modelo e de correlao cruzada dos resduos com a entrada do modelo foram realizados por meio da funo nnvalid do Toolbox de identificao de sistemas baseado em redes neurais de Magnus Norgaard. Um modelo que descreve satisfatoriamente o sistema ao qual representa deve passar por esses dois testes.

A Fig. 5.7 traz o resultado dos testes de autocorrelao e de correlao cruzada para o modelo neural ARX do sistema de Duffing. O eixo vertical representa o valor das funes dos resduos, tanto de autocorrelao como de correlao cruzada e o eixo horizontal representa a diferena temporal entre os sinais amostrados nos quais as funes de correlao foram estimadas. As linhas pontilhadas representam o intervalo de confiana que representa a regio onde os valores dos resduos das funes de correlao devem se encontrar de modo que se tornem estatisticamente insignificantes para o sistema.

Fig. 5.7 Testes de validao atravs da correlao dos resduos

O modelo neural ARX estimado para o sistema de Duffing obteve uma resposta satisfatria para os testes de correlao dos resduos, sendo considerado um modelo que descreve adequadamente o sistema que representa.

40

A Fig. 5.8 mostra um histograma contendo a distribuio dos resduos do modelo neural ARX estimado. A maioria dos resduos so valores compreendidos entre -0.005 e 0.005.

Fig. 5.8 Histograma dos erros de predio

O modelo neural ARX obtido tambm simulado para os valores de validao conforme mostra a Fig. 5.9. Observa-se que os erros de predio para os valores de validao esto situados na faixa de -0.05 a 0.05, sendo maior que a faixa de valores de -0.02 a 0.02 onde se situavam os erros de predio para os valores de treinamento, mas ainda sendo aceitveis.

Fig. 5.9 Simulao e erro de predio do modelo neural ARX - dados de validao

41

5.3 Implementao do controlador preditivo no linear

A simulao do controlador preditivo no linear do sistema de Duffing foi realizada a partir da funo npccon2 do Toolbox de controle de sistemas baseado em redes neurais de Magnus Norgaard. A funo npccon2 minimiza o critrio de controle preditivo da Eq. 4.6 sobre um horizonte de tempo especificado. A minimizao do critrio de controle preditivo realizada utilizando o algoritmo de Levenberg-Marquadt descrito em R. Fletcher (1987). Alguns parmetros foram definidos para o critrio de controle preditivo da funo npccon2 de modo a guiar a busca por valores de controle timos. Os horizontes mnimos e mximos de predio dos valores de sada foram definidos como N 1 =1 e N 2 =7, respectivamente. O horizonte de controle foi definido como N u =1. O valor que determina a contribuio que os quadrados da soma dos incrementos dos sinais de controle tem no ndice de performance foi definido como =0.03. O mximo nmero de iteraes do algoritmo de Levenberg-Marquadt

foi definido como maxiter = 5. O critrio de parada foi definido como delta = 0,0001.

A Fig. 5.10 mostra o resultado da simulao do neurocontrolador preditivo para o sistema de Duffing para diversos valores de entrada u(t) aplicadas ao processo.

Fig. 5.10 Simulao neurocontrolador preditivo

42

6 CONCLUSO E TRABALHOS FUTUROS O neurocontrolador preditivo simulado mostrou-se adequado como mtodo de controle do sistema de Duffing. Os bons ndices de desempenho do neurocontrolador, como erro em regime permanente prximo de zero, pequeno nvel de sobre-sinal e tempo de acomodao pequeno justificam esse fato. O sinal de controle se mostrou tambm bastante estvel, sem nveis de oscilao elevados.

Mtodos para controle de sistemas lineares baseados na teoria de controle clssica so bem conhecidos e bastante utilizados na indstria de uma maneira geral. Mas medida que os sistemas a serem controlados se tornam mais complexos, com diversos sensores e atuadores, nveis de rudo em excesso e modelos de informao complexos, a teoria de controle clssico perde espao. Os controladores projetados para esses processos devem ser capazes de sobrepor dificuldades como complexidade, no linearidade e incertezas. Os

neurocontroladores demonstram ser uma classe de controladores bastante eficazes no tratamento de tais sistemas, uma vez que apresentam as vantagens das redes neurais como generalizao, adaptao e aplicao a sistemas no lineares.

Como proposta de trabalho futuro pode-se fazer a implementao de um sistema de controle neural utilizando microcontroladores.

43

7 REFERNCIAS AGUIRRE, L.A. Introduo Identificao de Sistemas, tcnicas lineares e no lineares aplicadas a sistemas reais. 2 edio revista e ampliada. Editora UFMG, 2004 BARRETO, J. M. Introduo s Redes Neurais Artificiais. Laboratrio de conexionis-mo e Cincias Cognitivas UFSC, 2002 BAZARAA, M. S., SHERALI, H. D., e SHETTY, C. M. Nonlinear Programming theory and Algorithms. John Wiley, New York, 2 edio. 1993. BOTTO, M. A.; da COSTA, J. S. A comparison of nonlinear predictive control techniques using neural network models. Journal of Systems Architecture v. 44, p. 597-616, 1998. BRAGA, A. P., LUDERMIR, T. B. e CARVALHO, A. C. (2000). Redes Neurais: Teoria e Aplicaes. LTC - Livros Tcnicos e Cientficos Editora S.A., Rio de Janeiro, RJ, 1 edio. 2000. CARDENUTO, N. C. Aeronaves configuradas por controle do tipo preditivo neural. Tese de Doutorado em Computao Aplicada. Instituto Nacional de Pesquisas Espaciais. So Jos dos Campos, 2003. DAOSUD, W., THITIYASOOK, P., ARPORNWICHANOP, A., KITTISUPAKORN, P., e HUSSAIN, M. A. (2005). Neural network inverse model-based controller for the control of a steel pickling process. Computers & Chemical Engineering, 2005. DIAS, F. M. e MOTA, A. A. Direct inverse control of a kiln. Portuguese Conference on Automatic Control, 2000. EDGAR, T. F. e HIMMELBLAU, D. M. Optimization of Chemical Processes. Mc Graw Hill Book Company, New York, 1 edio. 1998 GOMM, J. B., EVANS, J. T. e WILLIAMS, D. Development and performance of a neuralnetwork predictive controller. Control Engeneering Practice, v. 5, n. 1, p. 49-59, 1997. HAGAN, M.T., DEMUTH, H.B. e BEALE, B.H. Neural Network Toolbox 6, User's Guide. The MathWorks Inc, 2009 HAYKIN, S. Neural Networks. A Comprehensive Foundation. Prentice Hall, New Jersey, 2 edio. 1999 HUNT, K. J., SBARBARO, D., ZBIKOWSKI, R., e GAWTHROP, P. J. Neural networks for control systems: a survey. Automatica, 1992 JONES, D. M., WATTON, J. e BROWN, K. J. Comparison of hot rolled steel Mechanical property prediction models using linear multiple regression, non-linear multiple regression and non-linear artifical neural networks. Ironmaking and Steelmaking, 2005. LENNART, L. System Identification Toolbox 7, User's Guide. The MathWorks Inc, 2009

44

LENNART, L. System Identification Toolbox 7, Getting Started Guide. The MathWorks Inc, 2009 LUENBERGER, D. G. Linear and Nonlinear Programming. Addison-Wesley, 2 edio. 1984 MILLER, W. T. I., SUTTON, R. S., e WERBOS, P. J. Neural networks for control. MIT Press, Cambridge, MA, USA. 1990 NARENDRA, K. e PARTHASARATHY, K. Identification and control of dynamical systems using neural networks. IEEE Trans. on Neural Networks, v. 1, n. 1, p. 4-27, Mar. 1990. NORGAARD, M. Neural Network Based System Identification Toolbox, Release Notes. Version 2. Department of Automation, Technical University of Denmark, January 23, 2000 NORGAARD, M. Neural Network Based Control System Design Toolkit, Release Notes. Version 2. Department of Automation, Technical University of Denmark, January 23, 2000 OGATA, K. Engenharia de Controle Moderno. 2 Edio. Prentice-Hall do Brasil, 1993 PAGANOTO, S. F. Implementao de um neurocontrolador preditivo com otimizao por seo urea aplicado em um processo de neutralizao de pH. Dissertao de Mestrado, Programa de Ps-Graduao em Engenharia do Centro Universitrio do Leste de Minas Gerais. 2008 PATIO, H. D., CARELLI, R., e KUCHEN, B. R. Neural networks for advanced control of robot manipulators. IEEE Transactions on Neural Networks, 2002. PSALTIS, D., SIDERIS, A., e YAMAMURA, A. A. A multilayered neural network controller. IEEE Control Systems Magazine, 1988. QIN, S. e BADGWELL, T. A. A survey of industrial model predictive control technology. Control Engineering Practice, 2003 RUMELHART, D. E., HINTON, G. E., e WILLIANS, R. J. (1986). Learning representations by backpropagation errors. Nature, 1986. SCHNITMAN, L. e FONTES, A. The basic ideas of neural predictive control. Proceedings of the 7th Mediterranean Conference on Control and Automation, pp. 497510. 1999 SILVA, L. N. C. Anlise e sntese de estratgias de aprendizado para redes neurais artificiais. Dissertao de Mestrado, Programa de Ps-Graduao da Faculdade de Engenharia Eltrica e de Computao - Universidade Estadual de Campinas. 1998 STEMMER, M. R. Redes Neurais Artificiais para Controle e Automao. DAS/CTC/UFSC, 2009 TURNER, P.; MONTAGUE, G.; MORRIS, J. Dynamic neural networks in nonlinear predictive control: an industrial application. Computer Chemical Engineering, v. 20, p. S937-S942, 1996.

45

WERBOS, P.J. Overview of designs and capabilities in neural networks for control, Cambridge, MA. MIT Press p. 59-65, 1990. ZAMARREO, J., M.; VEJA, P. Neural predictive control. application to a highly nonlinear system. Engineering Applications of Artificial Intelligence. v. 12, p. 149-158, 1999.

46

APNDICE Implementao programa neurocontrolador


%----------------------neurocontrolador.m -----------------------% %Programa para simular o controle preditivo neural de um processo %no linear. %O processo utilizado consiste em uma massa, um amortecedor viscoso %e uma mola no-linear, dado pela seguinte equao, conhecida como %equao de Duffing: % %y''(t) + y'(t) + y(t) + y(t)^{3} = u(t) % % Escrito por Louis Henrique Gomes Soares % ltima edio: 05/12/2009 %-----------------------------------------------------------------------%----->>> Identificao de sistemas - Modelo neural ARX <<< ----%-----------------------------------------------------------------------%Obter dados para realizar o experimento load expdata whos %Gerar os dados de treinamento e os dados de validao N2=length(U); N1=floor(N2/2); y1 = Y(1:N1)'; u1 = U(1:N1)'; y2 = Y(N1+1:N2)'; u2 = U(N1+1:N2)'; %Exibir os dados de treinamento em grficos subplot(211), plot(u1) title('Sequncia de entrada') subplot(212), plot(y1) title('Sequncia de sada') subplot(111) %Exibir os dados de validao em grficos subplot(211), plot(u2) title('Sequncia de entrada') subplot(212), plot(y2) title('Sequncia de sada') subplot(111) %O conjunto de dados de treinamento e o conjunto de %dados de validao so reajustados com mdia zero %e varincia um [u1s,uscales] = dscale(u1); [y1s,yscales] = dscale(y1); u2s = dscale(u2,uscales); y2s = dscale(y2,yscales);

47

%Exibir os dados de treinamento reajustados em grficos subplot(211), plot(u2s) title('Sequncia de entrada') subplot(212), plot(y2s) title('Sequncia de sada') subplot(111) %Exibir arquitetura da rede neural drawnet(ones(10,5),ones(1,11),eps,{'y(t-1)' 'y(t-2)' 'u(t-1)' 'u(t2)'},{'yhat(t)'}); title('Arquitetura da rede neural') %Treinamento da rede neural com mximo de 300 iteraes %utilizando a funo 'nnarx'. A funo 'nnarx' determina %um modelo no linear ARX de um sistema dinmico pelo %treinamento de uma rede neural de duas camadas pelo mtodo %de Levenberg-Marquardt. %A funo 'nnarx' foi programada por Magnus Norgaard, IAU/IMM, %Technical Univ. of Denmark %LastEditDate: Jan. 23, 2000 trparms = settrain; trparms = settrain(trparms,'maxiter',300,'D',1e-3,'skip',10); [W1,W2,NSSEvec]=nnarx(NetDef,NN,[],[],trparms,y1s,u1s); %Salvando pesos da rede neural treinada save forward2 W1 W2 NetDef NN %Validao da rede neural treinada. A funo 'nnvalid' utilizada %para validar o modelo NNARX gerado. A validao realizada com os %dados de treinamento. feito o reajuste dos dados de treinamento [w1,w2] = wrescale('nnarx',W1,W2,uscales,yscales,NN); [yhat,NSSE] = nnvalid('nnarx',NetDef,NN,w1,w2,y1,u1); %A validao do modelo NNARX gerado realizado agora %com os dados de validao [yhat,NSSE] = nnvalid('nnarx',NetDef,NN,w1,w2,y2,u2);

%-----------------------------------------------------------------------%---------->>> Neurocontrolador preditivo <<< -----------%-----------------------------------------------------------------------%Simulao de um controlador preditivo neural aplicado a um processo %modelado por uma rede neural no linear. O controlador preditivo neu%ral realizado atravs da funo 'npccon2' pela minimizao do seguin%te critrio de controle preditivo: % % N2 Nu % --2 --2 % J(t,U) = > (r(t+k)-y(t+k|t)) + rho * > (u(t+k-1)-u(t+k-2)) % ----% k=N1 k=1 %

48

%A minimizao do algoritmo de controle feita com base no mtodo %de Levenberg-Marquardt descrito em R. Fletcher: "Mtodos prticos %de Otimizao", Prentice Hall, 1987 %A funo 'npccon2' foi programada por Magnus Norgaard, IAU/IMM, %Technical Univ. of Denmark %LastEditDate: Jan. 23, 2000 npccon2 close subplot(211) plot([0:samples-1],[ref_data y_data]); grid axis([0 samples -2.2 2.2]) title('Sinal de referncia e sada') subplot(212) plot([0:samples-1],u_data); axis([0 samples min(u_data) max(u_data)]); grid title('Sinal de controle') xlabel('Tempo (amostrado)')

Você também pode gostar