Beruflich Dokumente
Kultur Dokumente
CENTRO DE TECNOLOGIA
DEPARTAMENTO DE ENGENHARIA QUMICA
PROGRAMA DE MESTRADO EM ENGENHARIA QUMICA
CONTROLE DE PROCESSOS
COM
REDES NEURAIS INVERSAS
Maring, PR Brasil
1998
UNIVERSIDADE ESTADUAL DE MARING
CENTRO DE TECNOLOGIA
DEPARTAMENTO DE ENGENHARIA QUMICA
PROGRAMA DE MESTRADO EM ENGENHARIA QUMICA
COMISSO JULGADORA
Agradecimentos
a meus pais, Antonio Antonelli e Izidia Silvestre, que nunca mediram esforos para
que eu seguisse minha carreira de engenheiro,
aos meus amigos, funcionrios do DEQ e funcionrios do PEQ, que sempre foram
prestativos quando precisei de ajuda,
CONTROLE DE PROCESSOS
COM REDES NEURAIS INVERSAS
Resumo
O tcnica de controle de processos utilizando redes neurais artificiais teve seu grande
impulso a partir da dcada de 80, quando surgiram vrias propostas de utilizao. Este
trabalho visa fazer uma comparao entre essa tcnica, considerada recente, com as tcnicas
denominadas convencionais, da dcada de 40. Para tanto, realizamos a comparao entre o
desempenho de um controlador baseado em rede neural artificial no-linear e um controlador
PID. Tambm comparamos dois tipos de treinamento envolvendo as redes neurais artificiais
no-lineares, o Steepest Descent e o Decomposio em Valores Singulares.
Descrevemos neste trabalho os passos utilizados para essas comparaes, iniciando
com o desenvolvimento do software de controle, implantao dos algoritmos dos
controladores utilizados e montagem de um mdulo de testes.
So apresentados tambm detalhes do software de controle, dos tipos de treinamento e
da caracterizao do mdulo de teste.
As vantagens, desvantagens e dificuldades de implantao, tanto no modo simulado
quanto no mdulo de testes, esto descritos neste trabalho destacando sempre qual o
controlador que obteve melhor performance.
vi
CONTROL OF PROCESSES
WITH NETS INVERSE NEURAIS
Abstract
The use of artificial neural networks in control process had its great pulse starting from
the decade of 80, when several use proposals appeared. This work seeks to do a comparison
among that technique, considered recent, with the conventional denominated techniques of the
decade of 40. For so much, we accomplished the comparison among the a controller's acting
based on nonlinear artificial neural network and a controller PID. We also compared two
training types involving the nonlineal artificial neural network, Steepest Descent and
Decomposition in Singular Values.
We described in this work the steps used for those comparisons, beginning with the
development of the control software, implementation of the used controllers' algorithms and
assembly of a module of tests.
They are also presented details of the control software, of the training types and of the
characterization of the test module.
The advantages, disadvantages and difficulties of implementation, so much in the
simulate way as in the module of tests, are described in this work always highlighting which
the controller that obtained better performance.
vii
ndice
1. INTRODUO ................................................................................................................... 01
2. O SISTEMA DE CONTROLE CONVENCIONAL PID ....................................................... 03
2.1. Sintonia do Controlador PID ................................................................................... 04
2.1.1. Integrador eletrnico .................................................................................................... 06
2.1.2. Diferenciador eletrnico .............................................................................................. 07
2.1.3. Controlador PID eletrnico.......................................................................................... 08
2.1.4. Controlador PID digital................................................................................................ 09
Figuras
Tabelas
Notao
alfabeto normal
t tempo
T tempo resultante do desvio de controladores eletrnicos PID da idealidade
Ts tempo de amostragem do processo
tm tempo morto do processo contnuo
u vetor de entrada de um processo contnuo, varivel manipulada
w valor do peso das conexes da rede neural; fora das conexes
x valor de entrada da rede neural
X vetor de entrada da rede neural
y vetor de sada de um sistema contnuo, varivel controlada
Y vetor dos valores corretos de sada da funo de mapeamento
alfabeto grego
smbolos compostos
outros smbolos
Z{} transformada z
|| || valor absoluto
G(s) funo de transferncia na transformada de Laplace
(s) transformada de Laplace da funo (t)
v(k) diferena entre os valores de v no instante k e no instante anterior (k-1)
(i) transformada de Fourier da funo (t)
H(z) funo de transferncia na transformada z
1. Introduo
A tecnologia de controle baseada em redes neurais artificiais teve seu maior impulso
na dcada de 80, por isso, podemos dizer que uma tcnica recente quando comparada com
as tcnicas denominadas convencionais surgidas na dcada de 40. Este trabalho tem por
objetivo avaliar a implantao desta tcnica no controle de um sistema experimental, bem
como, comparar os resultados da mesma com os controladores convencionais da famlia PID.
Inicialmente elaboramos as alteraes necessrias no software de controle em tempo
real de processos, anteriormente desenvolvido pelo Dr. Ivo Neitzel. Essas alteraes foram
realizadas em conjunto com a Eng Adriana R. Pedrozo, a qual utilizou o mesmo software em
seu trabalho de comparao de mtodos de treinamento de redes neurais artificiais. As
alteraes envolveram primeiramente a mudana da linguagem de programao, pois o
software original era escrito para o compilador FORTRAN MicroSoft1 e foi rescrito para o
compilador FTN77/4862 da Universidade de Salford, j que o mesmo possui vantagens em
relao ao FORTRAN MicroSoft (Captulo 6). Realizamos outras modificaes como a
implantao do algoritmo de redes neurais artificias, pois o mesmo utilizava o algoritmo de
controladores da famlia PID; mudanas em rotinas de leituras dos dados das placas de
comunicaes do computador com o mdulo de teste, pois eram escritas em linguagem
ASSEMBLER e incorporadas ao compilador FORTRAN. J as novas rotinas foram escritas
totalmente na linguagem FTN77/486.
A tarefa seguinte foi a construo do mdulo experimental para testes utilizando
equipamentos do Departamento de Engenharia Qumica (DEQ). O mdulo foi construdo
com opes de aplicao das perturbaes no fluxo de ar do aquecedor (Figura 4.1).
Neste trabalho incorporamos ao programa um sistema de controle com redes neurais
inversas com dois tipos de treinamento para a rede neural, o Steepest Descent e o
Decomposio em Valores Singulares.
Foram realizados vrios testes de confiabilidade das mudanas incorporadas no
software e no mdulo de testes (Captulo 7).
Utilizando o computador realizamos a simulao do processo em vrias situaes
diferentes. Ajustamos o controlador baseado em redes neurais para o controle eficiente
utilizando os dois tipos de treinamentos (Captulo 9). Efetuamos a sintonia de um controlador
1
FORTRAN Verso 3.34 - Compilador fortran que trabalha em processadores 386, ou superiores, em modo real
2
FTN77/486 Verso 4.0 - Compilador fortran 77 que trabalha em processadores 486, ou superiores, em modo
protegido
Introduo 2
PID e observamos a sua performance em processo simulado. Com os resultados obtidos foram
comparados os dois tipos de controladores e os dois tipos de treinamento da rede neural,
procurando mostrar as principais diferenas no comportamento de cada situao.
Como parte final do trabalho verificamos o desempenho dos controladores no controle
do mdulo de testes, observando suas reaes a situaes com perturbaes externas ao
mdulo. Mostramos tambm, utilizando o controlador baseado em redes neurais, a facilidade
de mudana no valor do set-point do processo via software (Captulo 10).
Com o intuito de mostrar as dificuldades existentes no controle de um processo real
realizamos uma anlise entre os resultados obtidos na simulao e os obtidos no controle do
mdulo de testes (Captulo 11).
Atravs deste trabalho podemos ter uma idia de como implantar e desenvolver um
controle de processos utilizando controladores baseados em redes neurais, sua dificuldade de
implantao e os cuidados que devemos ter para levar a bons resultados.
2. O Sistema de Controle Convencional - PID
Projeto do Estimao de
Controlador Parmetros
(Kc, i, d) (K, , tm)
Perturbao
CONTROLADOR PROCESSO
Como podemos observar este tipo de algoritmo constitudo de dois laos distintos,
um superior e um inferior (GOODWIN E SIN, 1984). O lao inferior o de controle
convencional com realimentao (ZIEGLER E NICHOLS, 1942). O lao superior realiza uma
estimao dos parmetros para projeto do controlador, utilizando para isto as informaes de
resposta do processo a uma perturbao.
Deste modo a sintonia do controlador avaliada periodicamente e atualizada no lao
de controle, com uma frequncia que depende das caractersticas do processo controlado,
podendo chegar a uma vez por intervalo de amostragem.
O processo ser modelado para um sistema contnuo de primeira ordem com tempo
o
morto, descrito pela equao y ( t ) + y ( t ) = Ku(t t m ) , onde;
y - varivel controlada u - varivel manipulada
K - constante de proporcionalidade do processo
- constante de tempo do processo tm - tempo morto
O Sistema de Controle Convencional - PID 4
t de(t )
M (t ) = K Pe(t ) + K I e(t )dt + K D
d t
(2A)
0
M - valor da ao do controlador
e - desvio da varivel desejada em relao ao set-point, erro
Kp - constante do modo proporcional - corrige a varivel manipulada com
quantidade proporcional ao desvio da varivel desejada em relao ao Set-
point.
KI - constante do modo integral - corrige a varivel manipulada com velocidade
proporcional ao desvio da varivel desejada em relao ao Set-point.
KD - constante do modo derivativo - corrige a varivel manipulada de uma
quantidade proporcional a velocidade de variao da varivel desejada em
relao ao Set-point.
A equao 2A tambm pode ser escrita da seguinte forma;
t de(t)
M (t) = K C e ( t ) +
1
i o
e(t)dt + d
d t
(2B)
onde;
Kp KD
Kc = Kp ; i = e d =
KI KP
M ( s) K 1
G ( s) = = K p + I + K D s = K c 1 + + d s (2C)
e ( s) s i s
O Sistema de Controle Convencional - PID 5
M(t)
Kc
0
t
a) ao do controlador proporcional (Controlador P)
M(t)
Kc
-i 0
t
b) ao do controlador proporcional e intregral (Controlador PI)
M(t)
Kc ( 1 + d
Kc
-i 0
t
c) ao do controlador proporcional, integral e derivativo (Controlador PID)
Portanto o integrador eletrnico produz bons resultados para um sinal de entrada com
espectro de frequncia tal que i >> 1. Aparentemente qualquer frequncia pode ser
englobada atravs da escolha de i suficientemente grande. Contudo, grandes valores de i
retardam a ao de sada; podemos ento reduzi-lo at o nvel de rudo que o sistema permita.
R
+ -
+
+
hi ho
- -
1
RC i
ho = h dt
Todos os filtros passa-alta (Figura 2.4) podem ser empregados como diferenciadores
aproximados para um sinal de entrada, dentro de uma restrita faixa de frequncia. So
representados pela transformada de Fourier como:
ho i d
(i ) = (2F)
hi i d + 1
onde;
ho - sinal de sada
hi - sinal de entrada
- frequncia do sinal de entrada
d - constante derivativa do diferenciador, d=RC
para d << 1 temos ;
ho dhi (t )
(i ) i d ou seja ho (t ) d (2G)
hi dt
C
+ -
+
+
hi ho
- -
dhi
ho = RC
dt
M ( s) K Ts 1 d s
G ( s) = = K p + I + K D = K c 1 + +
e ( s) s
Ts + 1 i s T s + 1 (2H)
onde;
Kp KDT
Kc = Kp ; i = e d =
KI KP
M(t)
K c ( 1 + d/T )
Kc
-i T t
M ( z) T ( z + 1) d z 1
H ( z) = = Kc 1 + s + (2I)
E ( z) 2i ( z 1) zTs 1 + T ( z 1) ( zTs )
atravs de manipulaes matemticas (Apndice IV) obtemos a equao a seguir:
1, 2 1 2 T s ( Tm + T s ) Tm + T s + 2 T
onde ; d 0 = + +
K p ( T m T s ) (1 + T s )
T
( 2 Tm + Ts ) 2 1 + T Ts
1,2 Ts ( Tm + Ts ) Tm + Ts + 2 T 1
d1 = 2
K p ( Tm + Ts ) (1 + Ts )( 2 Tm + Ts )
T
Ts (1 + Ts )
T
1 + T Ts
1,2 Tm + T s + 2 T T ( Tm + Ts )
d2 =
Kp ( Tm + Ts ) 2 Ts (1 + v Ts ) (1 + T Ts )( 2 T m + Ts ) 2
T
c1 =
Ts + T
A idia de utilizar redes neurais artificiais como uma potencial estratgia de soluo de
problemas que requerem anlises complexas de dados no recente. A mais de 40 ou 50 anos,
os cientistas tem procurado simular a estrutura real do crebro humano e desenvolver um
algoritmo equivalente ao processo de aprendizado humano. A principal motivao da
pesquisa advm da capacidade de guardar sofisticados nveis de informaes e
processamentos que o crebro possui. Entretanto, a estrutura do crebro extremamente
complexa, com aproximadamente 1011 neurnios contendo de 1014 a 1015 sinapses (conexo
entre os neurnios). Sabendo que a funo de um nico neurnio bem definida, a arquitetura
das ANNs3 baseada no conhecimento das funes primitivas do neurnio biolgico.
Entretanto, como no temos um modelo preciso das diversas funes do crebro humano, as
redes neurais artificiais procuram assimilar e utilizar uma confeco filosfica, mais modesta
e em menor escala (WILLIS ET AL, 1990).
3
Artificial Neural Networks - Redes neurais artificiais
Rede Neural Artificial 11
x1
x2
w1,1
EP1
w1,2
.
. o1
w1,N-1
w1,N
xN-1
xN
oi = f i ( i )
onde fi representa a funo de ativao do i-simo elemento. Sero analisados apenas
dois tipos de funes de ativao. O primeiro, seria a funo de ativao linear, isto , o valor
da funo assume o mesmo valor da ativao:
f i ( i ) = i
onde i representa o i-simo elemento de processamento. Essa funo fornece s redes
neurais artificiais caractersticas lineares. O segundo tipo, a funo de ativao sigmoidal,
que apresenta caractersticas no-lineares. Matematicamente, a funo sigmoidal pode ser
expressa por:
1
f ( i ) =
(1 + e
i i
)
A Figura 3.2 representa graficamente a resposta de uma funo sigmoidal.
Observamos que ela limitada pelos valores extremos 0 e 1. Essa caracterstica da funo
sigmoidal atua como um limitante do sinal de sada fornecendo valores com extremos bem
definidos. interessante notar que a no linearidade da funo sigmoidal tambm observada
no comportamento dos neurnios humanos (WILLIS ET AL, 1990). Atuando sobre uma
rede neural esta funo fornece a ela a capacidade de representar relaes no-lineares.
Uma rede neural composta de vrios elementos de processamento distribudos em
camadas. Cada EP envia seu sinal de sada a outros elementos. Assim, os elementos ativam
Rede Neural Artificial 12
Valor de Saida
os outros de acordo com o seu peso ou 1
0,8
fora da conexo. Um esquema 0,6
0,4
representativo pode ser visto pela Figura 0,2
0
3.3, onde visualizamos as conexes dos
-10 -5 0 5 10
elementos de processamento em trs Ativao
camadas com vrios elementos em cada Figura 3.2 - Sada da Funo Sigmoidal
uma.
As camadas intermedirias so tambm denominadas de camadas escondidas.
As redes neurais esto sendo utilizadas dentro da rea de engenharia de processos,
projetos e simulao, superviso, controle e estimao, deteco de falhas, diagnsticos reais
sobre o efeito de informaes imprevistas e imprecisas, etc. Seus modelos so baseados em
conhecimentos qualitativos (derivados de experincias), quantitativos (em termos de um
modelo analtico do processo) ou uma mistura de ambos. Atravs desses modelos podemos
obter solues aceitveis, existem no entanto, muitas situaes que esto propensas a falhas
devido s incertezas e as no-linearidades intrnsecas dos vrios processos. Contudo, so para
essas situaes que as ANNs esto sendo projetadas, procurando formar uma base que fornea
alternativas para a engenharia prtica (DI MASSIMO ET AL,1992).
Camada de
. . . . . Sada
Camada
. . . . . Intermediria
Camada de
. . . . . Entrada
4
ANS - Artificial Neural System - Sistema Neural Artificial
Rede Neural Artificial 14
contribuio que a unidade teve na construo do resultado na camada de sada. Este processo
se repete, camada a camada, at que cada n da rede tenha corrigido seus pesos.
As camadas da arquitetura BPN seguem a descrio geral das redes dada
anteriormente. Existe no entanto, uma conexo fictcia, denominada bias, que possui valor
unitrio. Os pesos hj e ok , representam as foras dessas conexes e so tratados de
Apresentaremos as equaes para uma BPN com trs camadas por ser o modelo mais
simples e porque este tipo foi implantado no software de controle.
Um vetor X = ( x1 , x 2 ,..., x N ) aplicado na camada de entrada da rede e distribudo para
a camada escondida, produz uma ativao em cada neurnio dessa camada descrita como:
N
h
j = w hji x i + hj (3A)
i =1
o hj = f jh ( hj ) = hj (3B)
Esse conjunto de equaes nos fornece a sada da rede para um determinado valor de
entrada.
A soluo dessas equaes necessita do conjunto de pesos das conexes, que envolve o
treinamento da rede. Embora existam muitas tcnicas, o mtodo usado para a busca dos pesos
timos neste trabalho um processo iterativo que no depende de uma boa aproximao
inicial.
menor valor da funo erro definida, assim, uma vez atingido o ponto de mnimo da funo
teremos os valores dos pesos que produzem os menores erros de sada.
Supondo que temos um conjunto P = {( X 1 , Y1 ), ( X 2 , Y2 ),..., ( X P , YP ),...,( X R , YR )} de
pares de vetores, que so resultados do mapeamento de uma funo
Y = ( X ): X R N , Y R M . Desejamos treinar a rede para que obtenha uma aproximao
O = ( X ) Y ( X ): X R N , O R M .
O erro a ser minimizado pelo mtodo Steepest Descent definido como a soma do
quadrado dos erros produzidos nas M sadas, ou seja:
M
E p = 1
2
k =1
2
pk
Sendo pk = ( y pk o pk
o
) o erro do k-simo elemento de sada da rede para o p-simo
par de vetor de treinamento do conjunto P, onde ypk o valor correto de sada e o opk o valor
E p f ko p k
o
= ( y pk o pk )
o
w kjo op k w kjo
Rede Neural Artificial 17
f ko ( opk ) opk L
opk
= f k (1 f k ) = o pk (1 o pk ) e
o o o o
=
wkjo wkjo
j kj pj k = o hpj
w o h
o + o
com as equaes acima podemos definir a equao de correo dos pesos da camada
de sada como sendo:
wkjo ( k ) = wkjo ( k 1) E = wkjo ( k 1) + o opk (1 o opk )o hpj (3E)
onde o ndice k representa o valor atual do peso calculado, k-1 o valor anterior do peso
e , chamado de passo de aprendizagem, representa a razo com que o peso avana em
direo do valor timo.
Podemos construir a equao de clculo dos pesos da camada intermediria ou
escondida de maneira anloga. Considerando a funo de ativao linear e partindo da
equao do erro, devemos determinar o gradiente da funo em relao aos pesos da camada.
A equao a seguir representa o gradiente da funo erro em relao aos pesos da camada
intermediria.
E p M o op k op k o hp j hp j M
w ji
h
=
k
( y pk o o
pk )
p k o p j p j w ji
o h h h
= x pi ( y pk o pk ) w kj
k
o o
[
observaes da matriz de entrada X, um vetor Y = y11 , y12 ,..., y1p ,..., y1R 1 , y1R , onde y1p , ]
T
1 1 y1p
y1p = (1o ) p = ln(1 ) = ln p (p=1,...,R) (3M)
1 + e ( 1 ) y1 1
o p
y1p
5
Gerao de um valor fora do range admissvel pelo computador
Rede Neural Artificial 22
Z2
Z1
Z min
W
6
Aumento significativo na quantidade de operaes lgicas e matemticas realizadas pelo computador
provocando um tempo maior na busca do resultado
Rede Neural Artificial 23
rede neural dever possuir valores diferentes de R e N, portanto, os dois dados devem ser
determinados atravs de tentativas observando o aprendizado da rede para diversos valores,
procurando assim, valores timos para esses parmetros.
A decomposio da matriz X, segundo item da sequncia de clculo, pode ser realizada
por qualquer rotina de decomposio. Neste trabalho utilizamos rotinas da biblioteca IMSL.
Determinar os componentes principais com valores representativos, realizar a ACP,
oferece outra dificuldade, pois devemos definir o que um valor representativo, qual a
contribuio relativa mnima a ser utilizada. Neste trabalho eliminamos valores
representativos com contribuio relativa inferior a 1%.
Finalmente os coeficientes da polinomial transformados snj (equao 3L), para serem
determinados, devemos definir o grau da polinomial de aproximao(G) da funo sigmoidal.
Este outro parmetro estimado atravs de tentativas, pois devero existir valores timos
diferentes para cada caso estudado. Devemos observar que o acrscimo de 1 grau na
polinomial representa L coeficientes a mais a serem determinados, onde L o nmero de
neurnios da camada intermediria, determinado na ACP.
4. Aquecedor de ar, o mdulo de testes
Sada de Ar 1-5 V
TT
01 0-4095
V-01
Conversor A/D
Entrada
Sada TIC
AQ - 01
de Ar de Ar 01
S-01
RZ Conversor D/A
01 1-5 Volt
0-4095
R TZ
01
S-01 : Soprador de Ar AQ-01 : Aquecedor
V-01 : Vlvula de by-pass TT-01 : Transmissor de Temperatura
RTZ-01 : Controlador de Tenso (TIRISTERM) RZ-01 : Conjunto de Resistncias Eltricas
TIC-01 : Controlador e Indicador de Temperatura (COMPUTADOR)
Considerando que o processo alcance o valor final com um tempo infinito (tfinal=+),
temos:
y (t final ) = y (0) + AK p K p =
( y (t final ) y (0) ) 4C
A
Atravs da equao 4B podemos escrever;
( y (t ) y (0) ) 1
ln 1 = (t t m ) t > tm 4D
AK p
Construindo o grfico ln( ) x t para a equao 4D temos uma reta com a inclinao
dada por -1/.
Com os dados dos testes, atravs da equao 4C determinamos Kp. Com a regresso
linear dos dados fornecidos pela equao 4D, calculamos o valor da constante para as
perturbaes aplicadas na varivel manipulada. O tempo morto foi determinado atravs da
observao dos dados obtidos nos testes.
O testes iniciaram sempre com o processo estabilizado no set-point de 200 C, para
ento aplicarmos a perturbao degrau. O ajuste inicial no valor do set-point e a aplicao da
perturbao, foram realizados de modo manual utilizando um voltmetro. Podemos observar,
atravs das Figuras 4.2 e 4.3, uma oscilao na varivel manipulada antes da aplicao da
perturbao, devido ao ajuste manual.
A Figura 4.2 representa um degrau de +0,48V, com tempo de amostragem Ts=15s,
aplicado aps 50 minutos do incio do teste, que levou a temperatura do processo, depois de 3
h 15 minutos, ao valor de 334 C. Obtivemos para o valor de 2400s, para Kp o valor de
1,273V/V e para tm o valor de 180s.
Aquecedor de Ar, o mdulo de testes 26
350 5
300
Varivel Controlada 4
250
Temperatura [ C]
Voltagem [V]
3
200
100
1
50
0 0
0 750 1500 2250 3000 3750 4500 5250 6000 6750 7500 8250 9000 9750 1E+0 1E+0
4 4
Tempo [s]
250 5
200 4
Varivel Controlada
Temperatura [ C]
150 3
Voltagem [V]
100 2
Varivel Manipulada
50 1
0 0
0 750 1500 2250 3000 3750 4500 5250 6000 6750 7500
Tempo [s]
P a re d e d o A q u e c e d o r
F lu x o d e A r
S o b re a p a re d e
(T w T r )
=
q F lu x o d e C a lo r p o r
R e s is te n c ia s a C ond uo
E l tric a s Rc
(T a T w )
q
a = Rh
F lu x o d e C a lo r p o r
C on vec o
Tr Tw
q ( Tw Tr )
= Ri
4 4 F lu x o d e C a lo r p o r
R a d ia o
a
Ta
portanto;
Tsaida Tsaida
t aq t resf
Este teste foi realizado com a inteno de se comparar os dados obtidos, com os dados que
posteriormente sero fornecidos com os controladores PID e RN atuando no processo.
Os testes apresentados foram realizados mais de uma vez procurando obter dados
confiveis. Esses dados estiveram bem prximos, de um teste para outro, apresentando uma
boa repetibilidade.
250 5
Voltagem [V]
150 3
50 1
0 0
0 750 1500 2250 3000 3750 4500 5250
Tempo [s]
Y ( s) K p e tm s
G ( s) = = .
U ( s) s 1
Acoplando um Holder de ordem zero7 na varivel de entrada conforme a Figura 4.6
temos que a funo pulso de transferncia para o sistema descrita como:
Y ( z) ( z 1) G( s) ( z 1) K p e tms
H ( z) = = Z{ZOH(s).G(s)} = Z = Z
U ( z) z s z s(s 1)
logo;
7
Transforma uma amostragem discreta de pontos em uma representao contnua
Aquecedor de Ar, o mdulo de testes 29
( z 1) 1
H ( z) = K p Ze tm s
z s(s 1)
H(z)
definindo;
1
a funo F ( s) =
s( s + 1)
o tempo morto tm = n .Ts onde Ts = tempo de amostragem
n = nmero de intervalos de amostragem
{ }
e sabendo que Z e nTs F ( s ) = z n F ( z ) e Z{ f ( k m)} = z m F ( z ) temos;
z (1 e )
a1 z n
Ts Ts
( z 1) n 1 e
H ( z) = K P z n = K z =
z a2
P
( z 1)( z e ) z e
Ts Ts
z
0 kn
y ( k + 1) = a1u( k n) + a 2 y ( k ) para y( k ) = (4E)
y( k ) k > n
esse modelo no domnio do tempo na forma recursiva foi implantado no software de controle,
com os parmetros calculados para o degrau positivo (Figura 4.2). Escolhemos o degrau
positivo, porque a verificao da performance dos controladores no mdulo de testes, seria
semelhante ao teste da perturbao na vazo de ar (Figura 4.5), onde o controlador, necessita
aplicar um degrau positivo na varivel manipulada para manter o mdulo no
set-point.
5. O Controlador RN No-linear
sada do processo comparada com o set-point produz o erro que informado ao sistema neural
para correo dos pesos.
Neste trabalho realizamos o treinamento da rede de acordo com o mostrado na Figura
5.1a. O controle foi implementado conforme o modelo da Figura 5.2, utilizando um algoritmo
de clculo do valor da varivel manipulada baseado nas equaes das redes neurais, de acordo
com cada tipo de treinamento implantado (Captulo 3). Com o valor do set-point
determinamos o valor da varivel manipulada u , a qual enviada ao processo e rede.
Sabendo o valor da varivel desejada y e o valor estimado pela rede o determinamos o erro e,
utilizado para a correo dos pesos da rede.
S P = S e t - P o in t A L G O R IT M O u y
P R O C E S S O
-1
u = f (S P )
-
REDE NEURAL e
o = f (u) +
T R E IN A M E N T O
Estando a RN treinada espera-se que uma vez fornecido um valor para a rede esta
reproduza o resultado do processo, ou seja, a rede capaz de prever a resposta do processo a
um determinado valor de entrada. Como, o interesse que a sada do processo se mantenha no
set-point, o que precisamos descobrir qual o valor de entrada na rede que produz na sada o
set-point. Na verdade, o que estamos querendo descobrir a funo inversa da rede; tm-se o
valor de sada e precisa-se do valor de entrada.
Para o treinamento Steepest Descent, utilizando as equaes da rede, determinamos o
valor de entrada da rede xp que produz como sada o valor do set-point. Utilizamos uma RN
com funo de ativao linear na camada escondida e uma funo de ativao sigmoidal na
camada de sada, portanto, uma RN No-linear.
O Controlador RN No-linear 32
Sabendo que:
1 oko
oko = o
= ln (5A)
(1 + e k ) 1 oko
o k
como;
L L
N
o
k = w o o
kj
h
j + o
k = w w hji x i + hj +
i
o
kj
o
k
j j
ou seja,
L N L
o
k =
j i
w hji w koj x i + j
w koj h
j + o
k
para i=p onde p representa o neurnio da camada de entrada, que recebe o valor da
varivel manipulada a ser implantado no processo, temos;
L L N L
o
k =
j
w kjo w hjp x p +
j
i
w hji w kjo x i + j
w kjo h
j + o
k
i# p
definindo
L N L
Sk =
j i
w hji w kjo x i +
j
w kjo h
j + o
k (5B)
i p
podemos dizer que o valor de entrada da rede que produz na sada o valor do set-point
dado por:
o
S
x p = L
k k
(5C)
j
w o
kj w h
jp
A equao 3H define a matriz P como sendo, P=XV, logo podemos dizer que:
N
Pij = xik vkj (i=1,...,R ; j=1,...,L)
k
para i=q, onde q representa a linha da matriz P que recebe a observao do instante
atual, temos:
N
Pqj = x qk v kj ( j=1,...,L)
k
de sada, temos:
L G L G N
1o = s nj ( hj ) n = s nj ( x qk v kj ) n
j n =0 j n=0 k
para k=p, onde p representa o neurnio da camada de entrada que recebe o valor da
varivel manipulada a ser implantado no processo, definimos:
L G N
1o snj ( xqp v pq + xqk vkj ) n = 0 (5D)
j n=0 k
k# p
Suspeitando que a implantao direta do valor estimado pelos algoritmos do item 5.1,
poderia causar uma ao muito drstica do controlador, ou seja, haveria uma oscilao da
varivel manipulada muito grande e que poderia desestabilizar o controlador RN, procuramos
O Controlador RN No-linear 34
implantar de modo suave esse valor utilizando o esquema representado pela Figura 5.3, onde
tem-se n como o nmero de intervalos de amostragens que o processo dever demorar para
atingir o set-point.
O valor de n para o processo estudado neste trabalho, foi determinado atravs de
vrios testes simulados obser-
vando o comportamento do
Set-point
controlador RN. Um valor
n=50 foi encontrado como ti-
Valor
mo para o treinamento Steepest Atual
0 1 2 .... .... .... .... .... .... .... .... .... .... n.Ts
Descent, sendo que para o
treinamento Decomposio em
Figura 5.3 - Diagrama de Implantao do Valor Correto
Valores Singulares o valor de pela RN
n=5 apresentou melhores
resultados. Utilizamos como aproximao inicial uma relao entre a constante de tempo e o
intervalo de amostragem, n = = 2 5 , aumentando ou diminuindo gradativamente e
Ts
1
u (k )
1
u ( k 1) L
1
u ( k j 1)
1
y (k ) K
1
y ( k N + j + 2)
1
y ( k N + j + 1))
u 2 ( k 1) 2
u ( k 2) L
2
u ( k 1 j 1)
2
y ( k 1) K
2
y ( k N + j + 1))
2
y (k N + j )
X = M M M M M M M M
u R 1 ( k R + 2) u
R 1
( k R + 1) L u
R 1
( k R j + 1) y
R 1
( k R + 2) L y
R 1
( k R N + j + 4) y
R 1
( k R N + j + 3)
R R R R R R
u ( k R + 1) u (k R) L u (k R j ) y ( k R + 1) L y ( k R N + j + 3) y ( k R N + j + 2)
Teclado Rotina a
Executar as
Rotinas
condicional. O primeiro grupo
Sim Sim
Ativo ? executar ? de Atendimento do
Teclado constitudo por tarefas que
No
No
so executadas caso uma
determinada tecla seja
Executar as Disco
Rotinas
T >= Ts Sim
de Execuo
pressionada. O segundo grupo
Contnua I/O
constitudo por tarefas
No
rotineiras, cuja execuo
Executar as Vdeo disparada por um gatilho
Rotinas
da Pilha de
Execuo Controlador
Perturbao
temporizado. Sendo o tempo
de amostragem o gatilho para
as rotinas de execuo con-
Figura 6.1 - Fluxograma da Lgica de Execuo das tnua e a frequncia de
8
RTX - Real Time eXecution - Execuo em tempo real, designao que se d a um sistema que responde a um
estmulo gerado externamente dentro de um finito e especifcado atraso de tempo.
9
MS-DOS - MicroSoft Disk Operating System - Sistema operacional para microcomputadores padro IBM
desenvolvido pela MicroSoft Corporation
O Software RTX 37
pilha de execuo.
Dentre as rotinas de execuo contnua temos as rotinas de armazenamento em disco e
leituras das placas de comunicao.
As rotinas da atualizao do vdeo, do controlador e das perturbaes aplicadas ao
processo, fazem parte das rotinas da pilha de execuo.
Podemos observar que no existe um ponto de finalizao no fluxograma, o sistema
encerrado atravs de uma rotina especial, acionada via teclado, que obriga-o a cancelar todos
os procedimentos. As interligaes e os nomes das diversas rotinas que compem o sistema
podem ser vistos atravs do Anexo I.
COMMON ROTINAS
Variveis Rotina
de com o
Memrias comando
INCLUDE
Essas rotinas visam realizar tarefas iniciais que no precisam ou no podem ser
repetidas no looping do software RTX( ver Figura 6.1). Dentre essas tarefas podemos
destacar, a atribuio de valores iniciais s variveis das diversas rotinas do sistema e gerao
de arquivos de armazenamento de dados.
ASCII10, que pode ser alterado por qualquer editor de textos. Assim, temos a flexibilidade
para mudar as configuraes do sistema antes da sua execuo.
A rotina ABRDAT utiliza o nome definido pela DIARIO para a gerao de um arquivo
de armazenamento com a seguinte estrutura;
10
ASCII - American Standart Code International Interchange - consiste em uma tabela americana, onde cada
caracter recebe um cdigo padro, de intercmbio internacional.
O Software RTX 41
onde;
BIT 7 6 5 4 3 2 1 0
FUNO F2 F1 F0 ENB C3 C2 C1 C0
Tabela 6.2 - Registro de Controle da Placa A/D
onde;
F2, F1 e F0 - especificam o fator decimal de diviso da frequncia base de operao
da placa, conforme a Tabela 6.3. A frequncia base definida atravs de jumpers.
Divisor Frequncia
F2 F1 F0 Selecionada
0 0 0 Frequncia Base
0 0 1 Frequncia Base/10
0 1 0 Frequncia Base/100
0 1 1 Frequncia Base/1k
1 0 0 Frequncia Base/10k
1 0 1 Frequncia Base/100k
1 1 0 Frequncia Base/1M
1 1 1 Frequncia Base/10M
Tabela 6.3 - Fatores Decimais do Registro
de Controle da Placa A/D
O Software RTX 43
C3 C2 C1 C0 Selecionado
0 0 0 0 0
0 0 0 1 1
0 0 1 0 2
0 0 1 1 3
0 1 0 0 4
0 1 0 1 5
0 1 1 0 6
0 1 1 1 7
1 0 0 0 8
1 0 0 1 9
1 0 1 0 10
1 0 1 1 11
1 1 0 0 12
1 1 0 1 13
1 1 1 0 14
1 1 1 1 15
Tabela 6.4 - Configurao dos Bits para
Seleo de Canais da Placa A/D
BIT 7 6 5 4 3 2 1 0
FUNO X S2 S1 S0 X FO IBF X
Tabela 6.5 - Estrutura do Registro de Status da Placa D/A
onde;
X - bit no utilizado
O Software RTX 44
BIT 7 6 5 4 3 2 1 0
FUNO X X X N1 N0 D2 D1 D0
Tabela 6.6 - Estrutura do Registro de Dados da Placa D/A
onde;
X - bit no utilizado
N1 e N0 - seleo de um dos quatros programas residentes na placa D/A
D2, D1 e D0 - especifica o nmero de canais a serem utilizados pela placa segundo a
Tabela 6.7.
O software RTX possui dois modos de partida definidos como partida via RTX e pr-
partida. A escolha realizada atravs das teclas F1 e F2 como mostrado na Figura 6.3.
Na partida via RTX, o software iniciado com os valores dos canais e do set-point
definidos no arquivo PADRAO.DAT (Anexo II).
O Software RTX 46
Atravs do uso de teclas especiais, no software RTX, podemos solicitar que seja
executada uma determinada rotina. As teclas e suas respectivas rotinas so pr-definidas na
montagem do software.
Os nomes das rotinas a serem executadas pelas teclas especiais so iguais s teclas,
facilitando a localizao, como por exemplo, as teclas CTRL+F10 fazem chamada rotina
CTRLF10.
As opes disponveis, em termos de teclas especiais, so mostradas na tela de trabalho
do software conforme a Figura 6.5.
A tecla CTRL acionada com as teclas F1 a F10 formam o segundo conjunto de opes
do software RTX. Esse conjunto pode ser resumido como:
CTRL + F1 - Grava a tela do sistema atual em arquivo formato PCX. Opo
usada para documentar o sistema
O Software RTX 48
CTRL + F2 e F3 - No utilizadas
CTRL + F4 - Eleva o valor do set-point do processo a um valor acima do
atual. Os valores so pr-definidos no arquivo de configurao PADRAO.DAT
CTRL + F5 - No utilizada
CTRL + F6 - Ativa uma perturbao de SEQUNCIA DE PULSOS no
processo
CTRL + F7 e F8 - No utilizadas
CTRL + F9 - Ativa e desativa o treinamento contnuo da Rede Neural
CTRL + F10 - Atualiza os pesos da Rede Neural com valores previamente
gravados em um arquivo padro. Utilizado somente no treino Steepest Descent
A tecla ALT aliada s teclas F1 a F10 formam o terceiro conjunto de opes, de rotinas
de execuo atravs do teclado, no software RTX. As opes disponveis so:
ALT + F1 - Troca o tipo de treino. Alterna entre Steepest Descent e
Decomposio em Valores Singulares.
ALT + F2 a F3 - No utilizadas
O Software RTX 49
O grupo das rotinas de execuo contnua composto por todos os procedimentos que
esto diretamente ligados ao tempo de amostragem, ou seja, devem ser executados aps
decorrido um intervalo de amostragem. Neste trabalho, fazem parte desse grupo as rotinas de
entrada e sada de dados, armazenamento de dados em disco e treinamento da RN.
BIT 7 6 5 4 3 2 1 0
FUNO D11 D10 D09 D08 D07 D06 D05 D04
a) 1 Leitura - Byte Superior
BIT 7 6 5 4 3 2 1 0
FUNO D03 D02 D01 D00 0 0 0 0
b) 2 Leitura - Byte Inferior
Tabela 6.8 - Registro de Dados da Placa A/D
O Software RTX 50
onde;
D11 a D00 - representam o valor de entrada em formato binrio (12-Bits)
Fazendo a converso do valor lido, para formato decimal, temos o valor de entrada do
canal especificado.
O envio de valores atravs da placa D/A realizado mediante o preenchimento do
registro de dados, no endereo base (224H), com dois valores de acordo com a Tabela 6.9a e
6.9b.
BIT 7 6 5 4 3 2 1 0
FUNO D11 D10 D09 D08 D07 D06 D05 D04
a) 1 Valor Enviado - Byte Superior
BIT 7 6 5 4 3 2 1 0
FUNO D03 D02 D01 D00 C2 C1 C0 X
b) 2 Valor Enviado - Byte Inferior
Tabela 6.9 - Registro de Dados da Placa D/A
onde;
X - bit no utilizado
D11 a D00 - representam o valor de sada em formato binrio (12-Bits)
C2, C1 e C0 - nmero do canal de sada a ser utilizado (semelhante Tabela 6.7)
O teste para verificar se a placa pode receber o valor de sada, superior ou inferior,
realizado atravs do bit 4 do registro de status (Tabela 6.5).
Como visto no item 6.3.2, a rotina DIARIO cria um arquivo de dados, com uma
estrutura que preenchida pela rotina de execuo contnua L52. A finalidade do arquivo j
estar criado, para agilizar o software no armazenamento dos dados, pois, o preenchimento
mais rpido do que a incluso de registros.
A rotina L52 utiliza um buffer de memria, variveis XVIN e XVOUT, para
armazenamento temporrio dos dados a serem gravados em disco. A gravao realizada pela
rotina GRAVADADOS quando o buffer est cheio, ou se o operador solicitou o encerramento
do software. O tamanho do buffer, em termos de registros, definida no arquivo
PADRAO.DAT na varivel IPAR(07).
Os arquivos de dados so gerados de acordo com a data da execuo do programa,
sendo criados automaticamente com a mudana de dia.
O Software RTX 51
Para treinamento da rede utilizamos a rotina L53, que realiza chamadas a diversas
rotinas dependendo do tipo de treinamento. A rotina L53 representa a implantao no
software das equaes apresentadas no Captulo 3.
Durante o treinamento Steepest Descent., a rotina L53 atualiza os dados da camada de
entrada da rede, os pesos atravs da rotina BACKWARD e estima o valor de sada com a
rotina FORWARD.
No treinamento Decomposio em Valores Singulares chamada a rotina
GERAR_AB que monta a matriz de observaes, realiza a ACP e define as matrizes A e B,
utilizadas pela rotina GERAR_WA para determinar os coeficientes da polinomial
transformados. Finalmente a rotina GERAR_Y utilizada para determinar o valor de sada da
rede.
A tela base de trabalho do software RTX contendo os menus, os eixos dos grficos ,
mensagens e contornos, construda pela rotina L101 e armazenada em memria na varivel
TELA_BASE. Atravs de uma varivel (IDATAR(40)) identificamos a ltima rotina que
alterou o vdeo, verificando assim, a necessidade de restaurao da tela base de trabalho
atravs da varivel de memria.
A tela de trabalho dividida em trs regies distintas, rea de menus, rea de dados e
informaes e rea de grficos (Figura 6.5).
A rea de menus informa as teclas de opes que o operador possui para interferir na
execuo do sistema. Para que o menu possa ser utilizado, primeiramente devemos ativar o
teclado atravs da tecla F1.
A rea de dados e informaes o local onde dados quantitativos so mostrados, so
eles:
LINHA 1 - Data e Hora da execuo do sistema
LINHA 2 a 4 - Valores atuais das variveis do processo que esto sendo construdos os
grficos na rea de grficos bem como seu range
LINHA 5 - Indica o nmero de registros de dados armazenados no buffer que sero
transferidos para disco. O quantidade definida no arquivo PADRAO.DAT
LINHA 6 - Nmero de registros j gravados em disco
LINHA 7 - Tempo decorrido, em segundos, desde o incio da execuo do sistema
LINHA 8 - Quantidade de pontos plotados nos grficos
LINHA 9 - Valor do erro mdio quadrado da varivel controlada em relao ao
set-point durante a aplicao de uma perturbao
LINHA 10 - Controlador em atividade, as opes so PID e BPN
LINHA 11 - Perturbao aplicada DEGRAU, PULSO, SENOIDE, PRBS ou
SEQNCIA DE PULSOS
grficos deve ser tomada antes da inicializao do sistema, bem como, os ttulos e rtulos
dessas variveis (lado superior esquerdo dos grficos). Esses dados so fornecidos atravs do
arquivo PADRAO.DAT
O valor do set-point ou os valores de equilbrio das variveis so representadas nos
grficos por uma linha horizontal.
Existem dois conceitos dentro do software quanto apresentao de informaes no
vdeo, a tela absoluta e a tela relativa.
A tela absoluta representa a situao na qual nenhuma rotina pode escrever no vdeo.
Sendo que, somente a rotina que provocou essa situao pode revert-la.
A tela relativa a situao na qual nenhuma rotina pode escrever em vdeo durante um
certo perodo, ou seja, aps esse tempo qualquer rotina pode manipular o vdeo. As rotinas
que solicitam a tela relativa implementam na varivel XDATAR(02) o tempo em que a tela
dever ficar inalterada. O teste de estado da tela realizado por todas as rotinas que
necessitam escrever em vdeo. Existe uma rotina lgica chamada TESTVID para essa
finalidade. Essa rotina utiliza sinalizadores (flags) definidos como:
6.6.3 Controlador RN
item 3.2). Como as variveis internas no software trabalham com range de 0 a 5, essa rotina
alm de calcular o valor de sada da rede, realiza o escalonamento apropriado.
A rotina L106 se auto-retira da pilha de execuo caso a varivel IDATAR(11) no
possua valor igual a 1. Essa varivel indica se a rede est ativada ou no.
As rotinas que no foram classificadas nos itens 6.3 a 6.6, fazem parte do grupo
denominado rotinas de apoio. Essas rotinas realizam trabalhos especiais, como atualizar o
grfico das variveis no vdeo, definir cores para o software, desenhar telas iniciais do
sistema, etc.
O Software RTX 55
A funo TESTVID a primeira rotina a ser executada pelo software, deste modo, o
arquivo das cores (Anexo III) lido e as cores definidas so transferidas para a varivel COR.
Para desenho dos grficos no vdeo utiliza-se a rotina de apoio SPLOT. Essa rotina
verifica atravs do sinalizador KFLAG(02) se deve ser construdo todo o grfico solicitado,
ou se apenas deve-se fazer a incluso do ltimo valor lido ou enviado. A construo total do
grfico necessria quando alguma rotina estampa em vdeo, informaes que se sobrepem
aos grficos.
7. Testes de Confiabilidade
O software RTX foi modificado da verso original com reformulao de vrias rotinas,
como especificado no Captulo 6. Procurando testar as mudanas, realizamos testes com sua
tela de pr-partida (Figura 6.4), a qual oferece a possibilidade de enviar um valor para o
processo e posteriormente ler o valor enviado. Deste modo, testamos as converses de sada e
de entrada de dados no software, bem como, a comunicao entre o computador e mdulo de
testes.
7.3 Algoritmo da RN
estimado pela rede o algoritmo determinou o melhor nmero de neurnios. Esta informao
interna do software no estando disponvel ao usurio.
Com esses resultados consideramos os algoritmos de treinamentos da rede neural
prontos para serem aplicados no modelo de controle a ser implantado no mdulo de testes, ou
seja, as equaes implantadas no software RTX estavam corretas e confiveis.
8. Treinamento da Rede Neural
Vrios parmetros da RN devem ser determinados para que a rede possa aprender o
processo (ver item 3.4.1), assim, procuramos determinar esses valores no modo simulado para
depois serem aplicados no mdulo de testes.
Os testes mostrados na Figura 8.1a e 8.1b, seguiram o mesmo critrio para o erro do
item 8.1.1, utilizando Ts=90s. O tempo para que a rede reproduzisse um valor de sada com
erro menor que 0,1%, foi denominado de tempo
de aprendizagem.
Para que a rede possa produzir seu
primeiro valor de sada, necessrio que sejam
preenchidos todos os neurnios da camada de
entrada. Sendo o treinamento realizado de
modo sequncial, existe um tempo, definido
como tempo inicial, que a RN no produz sada
alguma (afastamento do grfico de sada da
rede do eixo y). Observamos que quanto maior
a quantidade de neurnios na camada de
entrada, maior o tempo inicial. O tempo
inicial uma parcela do tempo de
aprendizagem.
Realizamos testes para 2 e 10 neurnios
na camada de entrada da rede, o tempo de Figura 8.1 - Influncia do Nmero de
aprendizagem para 2 neurnios foi de 12330s e Neurnios na Camada de Entrada no
Treinamento Steepest Descent
para 10 neurnios 10620s, como mostrado na
Figura 8.1. Houve um decrscimo de aproximadamente 30 minutos no tempo de
aprendizagem, o que corresponde a um tempo 13,8% menor.
Analisando os resultados obtidos realizamos testes com 15 neurnios na camada de
entrada da rede obtendo um tempo de aprendizagem de 4050s, diminuindo o tempo de
aprendizagem em 67,2%.
Como um aumento significativo da quantidade de neurnios na camada de entrada
produz um esforo computacional muito grande11, optamos por utilizar 15 neurnios na
camada de entrada, pois essa quantidade reduziu consideravelmente o tempo de
aprendizagem.
Nesses testes mantivemos a distribuio dos dados de entrada (item 5.2) em 50% para
a varivel manipulada e 50% para a varivel controlada.
11
Aumento significativo na quantidade de operaes lgicas e matemticas realizada pelo computador
provocando um tempo maior na busca do resultado
Treinamento da Rede Neural 62
12
Valor da varivel manipulada que, estando o processo no set-point, o mantm estabilizado.
Treinamento da Rede Neural 63
O sistema em estudo neste trabalho possui uma nica varivel manipulada, a tenso
nas resistncias eltricas, necessitando apenas de uma nica sada no controlador RN.
Portanto a quantidade de neurnios na camada de sada (M) igual a 1.
a
de uma grande quantidade de passos para
E
chegar em z. Isto implica em um tempo muito
elevado. J com o passo muito grande, a rede
b c
Emin estando no ponto b ultrapassa o valor de
z
mnimo da funo atingindo o ponto c porque o
salto provocado pelo passo maior que a
W otimo W
distncia do ponto b ao ponto de mnimo z.
Figura 8.2 - Funo Hipottica Erro x Peso W Essa situao se repete com a funo erro
definida no espao dos pesos das conexes.
Neste trabalho o valor de =0,050 apresentou bons resultados e por isso foi adotado.
novo valor
x1 y 2 y 3 ( x 2 x3 ) x 2 y1 y 3 ( x1 x3 ) + x3 y1 y 2 ( x1 x 2 )
xn +1 =
y 2 y 3 ( x 2 x 3 ) y1 y 3 ( x1 x 3 ) + y1 y 2 ( x1 x 2 )
Para o mtodo Newton-Rapson realizamos dois testes, o primeiro com o ponto inicial
de partida sendo o valor de equilbrio e o segundo com o ponto inicial sendo o ltimo valor
calculado. Em ambos os casos o resultado foi o mesmo, o mtodo divergiu para a maioria das
vezes em que foi aplicado, ultrapassando o limite mximo de iteraes definido. O controle
realizado pela RN no conseguiu levar o valor da varivel manipulada para um valor de
equilbrio. Ocorreu uma oscilao em torno de um valor com uma amplitude equivalente ao
range da varivel manipulada.
A aplicao do mtodo da substituio sucessiva requer a definio da funo (x).
Essa funo foi obtida da Equao 5D considerando n=G e j=c, onde c nmero do neurnio
da camada escondida que possui a maior fora de conexo (definido na ACP). Obtivemos a
Equao 8A, sendo utilizada para a aplicao do mtodo.
Treinamento da Rede Neural 66
o 1
1 S1 S2 x v
G N
1
( x) =
v pc sGc k qk kc (8A)
k# p
sendo;
n G 1 n
N
N
G
N
S1 = snj xqi vij e S2 = snc xqi vic
j n =0 i n =0 i
j #c
O peso bias associado camada escondida no pode ser especificado utilizando uma
ACP (PEEL ET AL, 1992). Entretanto, tem-se mostrado que as redes sem bias podem
tornar-se incapazes de aproximar certas funes (WRAY E GREEN, 1991). A idia ento, seria
treinar a rede usando qualquer tcnica padro utilizando como valores iniciais os pesos
determinados pela ACP, procedimento este, que aceleraria a velocidade de treinamento da
rede. Neste trabalho no implantamos essa idia pois nosso objetivo era a comparao entre
os mtodos de treinamento, e no a acelerao do treinamento, portanto, utilizamos o
treinamento ACP sem a conexo de peso bias.
Ne Ne Ne
E = e dt
2 2
e
i =1
2
(i ) T = (y
i =1
i SP ) Ts = Ts ( y i SP ) 2
2
i =1
(8B)
0
Os resultados dos testes mostrados na Tabela 8.4 tambm produziram valores elevados
do E2, na ordem de 103. Na busca por melhores resultados alteramos a sequncia de conduo
dos testes descrita no item 8.2.5, fazendo a inverso do passo 2 com o passo 3, ou seja,
primeiro ativamos o treinamento e depois aplicamos a perturbao. Neste caso, a rede foi
treinada com o conjunto de dados iniciais, ou seja, a conduo inicial do processo at o
set-point sem a aplicao de uma perturbao.
Treinamento da Rede Neural 71
A Tabela 9.2 mostra os valores dos erros obtidos atravs do controle simulado com o
uso da RN para o treinamento do tipo Steepest Descent.
Como era esperado a perturbao PRBS produziu o maior valor de E2, sendo a mais
difcil de ser amortecida (Figura 9.15). Entretanto, o E2 produzido foi aproximadamente 5
vezes menor que o E2 produzido com a mesma perturbao e treinamento Steepest Descent,
demonstrando uma melhora no treinamento e controle da rede.
9.4 PID x RN
Uma comparao de desempenho entre os dois controladores pode ser efetuada com
base nos E2 apresentados nos itens anteriores.
De um modo geral, o controlador RN mostrou-se mais eficiente do que o controlador
PID para as diversas perturbaes aplicadas no sistema independente do tipo de treinamento
utilizado. Em quase todas as perturbaes aplicadas o E2 produzido pelo controlador RN foi
menor, com exceo da perturbao pulso para ambos os treinamentos e para a perturbao
degrau no treinamento Decomposio em Valores Singulares.
Para uma melhor anlise comparativa dos resultados dos dois tipos de treinamento
implementados no software RTX, definimos a razo RNSD/RNDVS entre os E2 produzidos nos
testes. Os valores esto expressos na Tabela 9.6.
Simulao do Aquecedor de Ar 84
70
60
50
Erro Quadrado
PID
40
30 RN com treinamento
Steepest Descent
20 RN com treinamento
Decomposio em
10 Valores Singulares
0
PULSO DEGRAU PRBS x 0,1 SEQ. DE SENIDE
PULSOS
2
Figura 9.17 - Grfico Comparativo Dos Erros Quadrados (E ) da Varivel Controlada
Ne Ne
y i SP 2 T Ne
E 2 relativo = e 2 dt e 2 (i ) T =
i =1
(
i =1 SP
) Ts = s 2
SP
(y
i =1
i SP ) 2 (10A)
0
onde;
Ne = nmero de intervalos de amostragem de soma dos erros
yj = valor da varivel controlada no intervalo j
SP = valor do set-point.
Ts = tempo de amostragem
250 5
P o n to d e A p lic a o d a P e rtu rb a o
S e t-P o in t
200 4
V a ri v e l C o n tro la d a
150 3
Temperatura [C]
V a ri v e l M a n ip u la d a
100 2
50 1
0 0
0 450 900 1350 1800 2250 2700 3150 3600 4050
T e m p o [s ]
550 10
Varivel Controlada
500 9
Degrau
Negativo
450
8
Degrau
Positivo
Mudana de
400
Set-Point
7
Set-Point
350
6
Temperatura [C]
Voltagem [V]
300
250
4
200 Varivel Manipulada
3
150
2
100
50 1
0 0
0 2700 5400 8100 10800 13500 16200 18900 21600 24300 27000 29700 32400 35100 37800 40500 43200 45900 48600
Tempo [s]
350 10
Ponto do 1 Treinamento Degrau Ponto do 2 Treinamento
Positivo Mudana
de Set-Point 9
300 Set-Point
250 Degrau
7
Negativo
Temperatura(C)
Varivel Controlada
6
Voltagem(V)
200
150
Varivel Manipulada 4
3
100
50
1
0 0
0 2700 5400 8100 10800 13500 16200 18900 21600 24300 27000 29700 32400
Tempo(s)
10.4 PID x RN
Ts N e E2
2
Erelativo = j
SP 2 j
( y SP ) 2
=
SP 2
(11A)
Os resultados obtidos j eram esperados, uma vez que o mdulo possua caractersticas
diferentes relativas ao aquecimento e resfriamento (item 4.1), de difcil implantao em
processo simulado.
Em ambos os casos, teste e simulao, com o treinamento Steepest Descent, onde a
rede treinada sequncialmente, observamos que a medida que o tempo avana os resultados
fornecidos melhoram, demonstrando que a rede realmente vai conhecendo o processo.
12. Concluses e Observaes
3. BHAT, N.; T. J. McAVOY: Use of Neural Nets for Dynamic Modeling and Control of
Chemical Process Systems, Computers Chem. Eng. Vol 14, Nr. 4/5, pgs 573-583,
1990.
9. GOLUB, G. H. ; VAN LOAN, C. F.: Matrix Computations, North Oxford Pup. Co.,
1983
11. GOODWIN, G. C.; K. S. SIN: Adaptive Filtering Prediction and Control, Prentice-
Hall, Englewood Cliffs N. J., 1984.
13. KERN, D. Q.; Processos de Transmisso de Calor, Editora Guanabara Dois S.A., Rio de
Janeiro, 1982.
14. MANLY, B. F. J.: Multivariate Statistical Methods: a Primer, Chapman and Hall,
Londres, 1986
17. PEEL, C.; MARK J. W. e MING T. T.; A Fast Procedure for The Training of Neural
Networks, Journal of Process Control, Vol. 2, Nr 4, pgs 205-211, 1992
18. PONTON, J. W.: Neural Networks: Some Questions and Answers, Journal of Process
Control, Vol 2, Nr. 3, pgs 163-165, 1992.
19. PSICHOGIOS, D. C.; L. H. UNGAR: Direct and Indirect Model Based Control Using
Artificial Neural Networks, Ind. Chem. Res. Vol 30, pgs 2564-2573,1991.
21. RAWLINGS, J. O.: Applied Regression Analysis: A Research Tool, Wadsworth and
Brooks, Califrnia, 1988
23. UNBEHAUEN, H.; Regelemgs Technik, F. Vieweg & Sohn, Vol I e II, 1985.
Bibliografia 97
25. VELOSO, E.; Curso de Mtodos Numricos, PETROBRS Petrleo Brasileiro S/A,
CENPES - DIVEN, 1985.
26. WHITE, D. A.; D. A. SOFGE: Handbook of Intelligent Control: Neural, Fuzzy, and
Adaptive Approaches, Van Nostrand Reinhold, 1992.
28. WRAY, J.; GREEN, G. G. C.: Analysis of networks that have learnt control problems,
IEE Int. Conf. CONTROL 91, Edinburgh, Scotland, 1991
29. YOUNG, S. J.: Real Time Languages: Design and Development, Ellis Horwood
Limited, 1982
TipoVideo CORES.DAT
TelaInic, CTRLF4,ALTF4 e L101 GrafVid
Cfgred PADRAO.DAT
Consist
G Frqpoe
E F5 Cnfpert DEGRAU.DAT
R Frqpoe
E F6 Cnfpert PULSO.DAT
N
C Frqpoe
I F7 Cnfpert SENO.DAT
A Frqpoe
D F8 Cnfpert PRBS.DAT
O
R Frqpoe
F10 Frqpoe
CTRLF1 Grafvid
TBddmmaa.???
Z
4
CTRLF10 Grafvid
NETWORK.DAT
ALTF10 WH999999.???
Grafvid
L51 AD
DA
L52 Grafvid
Gravadados Diario Abrdat DTddmmaa.???
M ( z) T ( z + 1) d z 1
H ( z) = = Kc 1 + s + ou seja:
E ( z) 2i ( z 1) zTs 1 + T ( z 1) ( zTs )
M ( z) T z + 1 d z 1
H ( z) = = Kc 1 + s +
E ( z) 2i z 1 Ts z (1 + T / Ts ) T / Ts
M ( z) T z + 1 d Ts z 1
H ( z) = = K c 1 + s +
E ( z) 2 i z 1 1 + T Ts T
z
Ts
T
1 + Ts
T
Ts T
definindo c1 = = temos;
1+ T T T + Ts
s
Kc Ts (1 + T Ts ) z + 1 d z 1
H ( z) = (1 + Ts ) +
T +
1 + T Ts 2 i z 1 Ts z + c1
z
multiplicando-se as fraes por obtemos;
z
Ts + T d T + T T + d
definindo d o' = (1 + T Ts ) + + = 1+ s + ,
2i Ts 2i Ts
Ts + T T + T 2 d T 2(T + d )
d1' = (1 + T Ts ) + c1 (1 + T Ts ) + + c1 s = 1 + s e
2i 2i Ts 2i Ts
Anexos 110
Ts + T d T + d T
d 2' = c1 (1 + T Ts ) + c1 + = s e aplicando, temos;
2 i Ts Ts 2 i
sendo definidos:
Kc Ts + T T + d
d0 = 1 + + ,
1 + T Ts 2 i Ts
Kc Ts 2(T + d ) Kc T + d Ts
d1 = 1 + e d2 =
1 + T Ts 2i Ts 1 + T Ts Ts 2i
m( k ) = d 0 e( k ) + d1e( k 1) + d 2 e( k 2 ) + (1 c1 ) m( k 1) + c1m( k 2 )