UNIVERSIDADE FEDERAL DE UBERLÂNDIA
4ª Semana do Servidor e 5ª Semana Acadêmica
2008 – UFU 30 anos
IMPLEMENTAÇÃO E AVALIAÇÃO DE TÉCNICAS DE IDENTIFICAÇÃO
DE SISTEMAS LINEARES USANDO SOFTWARE LIVRE
Rosiane Ribeiro Rocha1
Universidade Federal de Uberlândia
Faculdade de Engenharia Química
Av. João Naves de Ávila, 2121, 38408-100
[email protected]
Luís Cláudio Oliveira Lopes2
[email protected]
Valéria Viana Murata2
[email protected]
Resumo: Neste trabalho são aplicados algoritmos de identificação de um sistema que representa
uma caldeira de aquecimento, conforme modelo proposto por Vasquez et al (2008). O modelo
descreve a variação da pressão de vapor que sai da caldeira, decorrente da variação no fluxo de
combustível alimentado. A caracterização e avaliação da dinâmica do processo foi feita aplicandose vários tipos de perturbações na entrada, concluindo-se sobre a linearidade do modelo. Os
modelos do tipo ARMAX foram obtidos através de um código implementado usando o software
livre Scilab. A seleção do modelo foi feita através de índices e critérios estruturais apropriados,
como MSE, AIC, FPE e BIC. A sintonia do modelo foi executada através da evolução diferencial.
Os parâmetros do modelo estimados representaram adequadamente o processo, demonstrando a
adequação do procedimento de estimação.
Palavras-chave: Identificação de sistema, ARMAX, sintonia de modelo.
1. INTRODUÇÃO
A modelagem matemática é a área do conhecimento que estuda maneiras de desenvolver e
implementar modelos matemáticos de sistemas reais. Há várias formas de classificar as técnicas de
modelagem. Uma delas agrupa os métodos em três categorias, denominadas modelagem caixa
branca, modelagem caixa preta e modelagem caixa cinza.
Na modelagem caixa branca é necessário conhecer bem o sistema em estudo, bem como as
leis físicas que descrevem o sistema a ser modelado. Por essa razão esse tipo de modelagem é
também conhecido como modelagem conceitual.
A identificação de sistemas é uma área do conhecimento que estuda técnicas alternativas à
modelagem caixa branca. Uma das características dessas técnicas é que pouco ou nenhum
conhecimento prévio do sistema é necessário e, consequentemente, tais métodos são também
referidos como modelagem ou identificação caixa preta ou modelagem empírica.
Em muitos casos será preferível usar técnicas de identificação para se obter modelos que
descrevem o comportamento de um sistema. O que se pretende descrever com tais modelos são as
relações de causa e efeito entre as variáveis de entrada e de saída. Nesse caso, o tipo de modelos, as
técnicas usadas e os requisitos necessários são bastante distintos dos correspondentes na
modelagem pela natureza do processo.
1 - Acadêmico do curso de Engenharia Química; 2 – Orientadores.
Uma categoria de técnicas intermediárias entre a modelagem pela natureza do processo e a
identificação caixa preta é chamada identificação caixa cinza. As técnicas desse grupo
caracterizam-se por usar informações auxiliares que não estão incluídas no conjunto de dados
utilizados durante a identificação. O tipo de informações auxiliares e a forma são usadas variam
muito entre as diversas técnicas disponíveis. Sendo assim, existem métodos de identificação caixa
cinza mais “claros”, que usam mais informação auxiliar, e mais “escuros”.
Esse trabalho apresenta um estudo de caso com aplicação de procedimentos para uma
identificação de sistema. Através de informações obtidas de um artigo desenvolvido por Vasquez et
al (2008), realizou-se diversas etapas para análise e aplicação de funções do software livre Scilab,
que simulam e identificam um sistema.
2. PROCEDIMENTOS PARA A IDENTIFICAÇÃO DE UM SISTEMA
A identificação de processos pode ser dividida nas seguintes etapas:
a) Testes dinâmicos e coleta de dados: os arquivos de dados do processo têm o mesmo papel
das equações constitutivas na modelagem teórica, pois fornecem as bases específicas para o
desenvolvimento de modelos para processos específicos. Como o modelo obtido por identificação é
totalmente baseado nos dados experimentais, é importante ter em mente que a informação que não
está contida nos dados não pode aparecer num passe de mágica no modelo, da mesma forma que
não é razoável esperar que uma equação constitutiva não especificada contribua para a qualidade do
modelo teórico final. As funções de entrada típicas empregadas na identificação de processos são:
degrau, impulso, pulso retangular ou arbitrário, ondas senoidais, ruído branco e seqüências binárias
pseudo-randômicas;
b) Escolha correta da estrutura dos modelos: determinação dos termos que devem compor os
modelos, preferencialmente de forma automática, através do reconhecimento da importância destes
diversos termos, utilizando os chamados dados de identificação e evitando a sobreparametrização
que ocorre quando são utilizados mais termos do que o necessário;
c) Estimação de parâmetros utilizando métodos numéricos adequados;
d) Verificação da capacidade dos modelos em representar o processo estudado.
3. O PROCESSO
3.1 Descrição do Processo
Com a finalidade de descrever o comportamento da variação da pressão de vapor em uma
caldeira com aquecimento através de gases, Vasquez et al (2008) coletaram dados de uma caldeira
em escala laboratorial cujo esquema está apresentado na Figura 1.
Figura 1: Esquematização do Processo (Vasquez)
2
Estudos preliminares sobre o comportamento dinâmico deste processo revelam que existem
diferentes interações entre as variáveis. Inicialmente define-se a demanda de vapor que ajusta o
acendimento do queimador até obter a produção de vapor desejada. Isto requer por sua vez que o
ventilador de ar forneça uma quantidade adequada de ar para a combustão do combustível. Ao
mesmo tempo, água deve ser alimentada na caldeira para se combinar com o vapor produzido.
Todos esses fenômenos são acoplados, e interagem intensamente afetando assim a dinâmica da
troca de calor dentro da caldeira. Como a pressão de vapor dentro da caldeira é a variável
dependente e o fluxo de combustível que será inflamado no queimador uma variável independente,
já que pode ser controlada, um modelo matemático poderá ser obtido usando-se a pressão de vapor
como a saída y(t) e o fluxo de combustível como a entrada u(t). Os autores apresentam uma análise
do ganho estático da variação da pressão de vapor dentro da caldeira que permite determinar a
região operacional onde o processo se comporta linearmente. Os resultados desta análise são
reproduzidos na Figura 2, onde observa-se que a região de comportamento aproximadamente linear
ocorre para abertura da válvula de combustível na faixa de 10 a 25% (Vasquez).
Figura 2: Relação entre a pressão de vapor e a abertura da válvula numa caldeira (reproduzido de
Vasquez et al (2008))
3.2 Dinâmica do Processo
O modelo que representa o comportamento do processo é dado pela Equação 1, conforme
apresentado por Vasquez et al (2008):
T1.T2 .
d 2 ΔP ( t )
dt 2
+ (T1 + T2 ) .
d ΔP ( t )
dt
+ ΔP ( t ) = K .Δ ( t − τ )
(1)
sendo T1 e T2 constantes do tempo, P(t) a saída do processo, u(t) a entrada, τ o atraso do tempo e K
o ganho do processo. Os valores dos parâmetros são: T1 ≈ 33,92 s, T2 ≈ 1,81 s, τ ≈ 35 s e K ≈ 11,3
kPa.
Um experimento numérico com o sinal de entrada foi feito para caracterizar a dinâmica do
processo e obter uma primeira estimativa da ordem e dos parâmetros do modelo. O sinal de entrada
u(t) é aplicado ao fluxo de combustível que entra no queimador e o comportamento da pressão de
vapor P(t) dentro da caldeira é medido.
Através do software livre Scilab (disponível no site: www.scilab.org), uma simulação do
processo foi executada. As condições iniciais para a presente simulação foram: para um tempo
inicial de 150 segundos, o ∆P(t) eram [0;0]
3
O gráfico que descreve o comportamento do processo ao longo do intervalo de tempo de 150
a 450 segundos é apresentado na Figura 3. Tal gráfico foi gerado pela resolução da equação
diferencial ordinária de 2º ordem, representada pela Equação 1, através do método de Runge Kutta,
para uma abertura da válvula de 10%.
Figura 3: Variação dinâmica da pressão de vapor
O estado estacionário do processo (Pvapor = 565 kPa) foi estimado através da função fsolve
do Scilab para uma abertura de 50% da válvula.
3.2.1 Perturbação Degrau
A caracterização da dinâmica do processo foi feita através de perturbações degrau de ± 10,
± 20 e ± 30 a partir do estado estacionário. Os resultados são mostrados na Figura 4.
Figura 4: Resultados das perturbações degraus a partir do estado estacionário
O modelo pode ser considerado linear, pois perturbações simétricas geraram respostas
simétricas da saída, conforme apresentado no gráfico.
3.2.2 Perturbação Randômica
Agora com uma perturbação mais intensa, mas ainda com o objetivo de avaliar a dinâmica
do processo, a perturbação randômica foi aplicada e dados da saída coletados para posterior análise
e avaliação. Esta perturbação foi desenvolvida através da função grand do software Scilab, que gera
um sinal totalmente randômico e diferente em cada execução. A Figura 5 apresenta a perturbação e
os resultados obtidos.
4
(a)
(b)
Figura 5: (a) Perturbação randômica e (b) Resposta da pressão de vapor à perturbação
randômica
A perturbação randômica possibilita excitar a planta em vários pontos, permitindo
posteriormente obter a partir desses dados, um modelo muito mais condizente com a realidade.
3.2.3 Perturbação PRBS
Aplicando um outro tipo de perturbação, do tipo PRBS, apresentada na Figura 6(a), obtémse os resultados representados na Figura 6(b). O sinal PRBS, além de ser de fácil geração, constrói
uma perturbação de grande controle. As principais características desse sinal são:
a) Pode tomar dois valores (+V e –V);
b) Só comuta entre níveis em instantes discretos t = 0, 1h, 2h...;
c) Os instantes de comutação são pre-determinados, i.e. o sinal é determinístico;
d) É periódico com período T0 = N.h, onde N é um número inteiro ímpar;
e) Em cada período existem (N+1)/2 intervalos a um nível e (N-1)/2 intervalos no outro
nível;
f) A função de autocorrelação, num período, é semelhante a um impulso (Lemos).
(b)
(a)
Figura 6: (a) Perturbação PRBS e (b) Resultados obtidos com a perturbação PRBS
Pela análise gráfica, nota-se que a planta responde de forma rápida a uma perturbação de
sinal PRBS, ou seja, o atraso do processo é pequeno.
4. IDENTIFICAÇÃO DO SISTEMA
4.1 Representação em Tempo Discreto: Modelo ARMAX
Considere o seguinte modelo geral:
A(q)y(k) = B(q)u(k) + C(q)v(k)
F(q)
D(q)
(2)
sendo q-1 o operador de atraso, de forma que y(k)q-1 = y(k-1), v(k) ruído branco e A(q), B(q), C(q),
D(q) e F(q) os polinômios definidos a seguir:
5
A(q) = 1 – a1q-1 - ... - anyq-ny
(3)
B(q) = b1q-1 + ... + bnuq-nu
(4)
C(q) =1 + c1q-1 + ... + cnvq-nv
(5)
D(q) = 1 + d1q-1 + ... + dndq-nd
(6)
F(q) = 1 + f1q-1 + ... + fnfq-nf
(7)
O modelo auto-regressivo com média móvel e entradas exógenas (ARMAX, do inglês
Autoregressive Moving Average with Exogenous Inputs) pode ser obtido a partir do modelo geral,
tomando-se D(q) = F(q) =1 e A(q), B(q) e C(q) polinômios arbitrários, resultando em
(8)
A(q)y(k) = B(q)u(k) + C(q)v(k)
ou, alternativamente,
(9)
y(k) = B(q)u(k) + C(q)v(k)
A(q)
A(q)
(10)
y(k) = H(q)u(k) + e(k)
sendo e(k) não branco. O modelo ARMAX pertence à classe de modelos de erro na equação e é
representado na Figura 7. No presente caso o erro na equação é modelado como um processo de
média móvel (MA), e o ruído adicionado à saída, e(k), é modelado como ruído branco filtrado pelo
filtro ARMA, C(q)/A(q) (Aguirre, 2007).
Figura 7: Representação esquemática do modelo ARMAX (reproduzido de Aguirre (2007))
4.2 Identificação do caso da caldeira
O modelo ARMAX foi utilizado para representar o sistema cujos dados foram gerados pela
perturbação randômica. Os possíveis modelos ARMAX que descrevem o processo foram obtidos
pelo software Scilab e avaliados por critérios adequados. Dos 1150 dados foram usados 575 para a
identificação e 575 para a validação.
A avaliação de um modelo pode ser executado através de índices e critérios estruturais,
como MSE (Erro Quadrático Médio), AIC (critério de informação de AKaike), FPE (do inglês,
Final Prediction Error) e BIC (do inglês, B Information Criterion). O índice MSE é definido pela
Equação 11:
n
MSE =
∑( y − y )
i =1
i
n
i
2
(11)
6
sendo n o número de amostras, yi o valor de referência e ŷi o valor previsto pelo modelo para a iésima amostra (mencionado por Morgano et al, 2008).
O critério AIC é obtido através da função de Máxima Verossimilhança, a partir dos
parâmetros ajustados para os modelos conforme os métodos. Este critério foi desenvolvido a partir
da distância ou informação de Kulback e Leibler (1951). Esta distância é uma medida de
discrepância entre as linhas do modelo verdadeiro e o modelo aproximado. Akaike (1983)
relacionou a distância de Kulback e Leibler com a Máxima Verossimilhança, surgindo o AIC. O
AIC é definido pela Equação 12:
AIC = - 2log(L) + 2K
(12)
sendo L a Verossimilhança Maximizada do modelo candidato e K, o número de parâmetros deste
modelo (mencionado por Shirotai et al, 2002).
Já o critério do erro de predição final (FPE), proposto por Akaike (1969) é dado pela
Equação 13:
⎛ N + ( p + 1)⎞
⎟⎟
FPE(p) = pˆ p .⎜⎜
⎝ N − ( p + 1)⎠
(13)
na qual N é o número de amostras, p é a ordem do modelo e p̂ p é a estimativa da variância do ruído
branco de entrada para o modelo de ordem p (mencionado por Shirotai et al, 2002).
E finalmente, o índice BIC é o critério B de informação, que usa conceitos estatísticos de
Bayes (Akaike, 1977; Akaike, 1978; Schwartz, 1978). A função a ser minimizada pela ordem ótima
é dada pela Equação 14:
⎧⎪
⎛ pˆ x
⎞⎫⎪
p⎞
⎛
BIC(p) = N . ln( pˆ p ) − (N − p ). ln⎜⎜1 − ⎟⎟ + p. ln( N ) + p. ln ⎨ p −1 .⎜⎜ − 1⎟⎟⎬
⎪⎩
⎝ N⎠
⎝ pˆ p ⎠⎪⎭
(14)
na qual p̂ x é a variância da saída do modelo AR (mencionado por Shirotai et al, 2002).
Através da avaliação de índices e critérios estruturais já mencionados, realizada com ordens
de 1 a 9 do modelo ARMAX, variando o auto-regressor r de 1 a 3 e o auto-regressor s de 1 a 3,
conclui-se que o de ordem 4 (r = 2 e s = 1) é o que melhor representa o processo em questão. Para
chegar a essa conclusão, além de verificar qual ordem que apresenta os menores valores dos índices
e critérios citados, foi levado em consideração a ordem que apresenta o menor esforço
computacional. A Figura 8 apresenta as avaliações executadas.
7
Figura 8: Avaliação da qualidade do modelo com índice MSE e critérios estruturais AIC, FPE e
BIC.
Os melhores valores de MSE, AIC, FPE e BIC estão na Tabela 1.
Tabela 1 – Melhores valores de MSE, AIC, FPE e BIC
MSE
0,0265110
AIC
-2252,051
FPE
-2252,0508
BIC
-2234,6335
A identificação e a validação do modelo ARMAX é mostrada na Figura 9.
Figura 9: Identificação e validação do modelo ARMAX
O melhor modelo ARMAX que ajusta os dados, fornecido pelo Scilab é descrito pelas
Equações 15 a 17:
8
A(q) = 1 – 1.5465337q1 + 0,5588348q2,
(15)
B(q) = - 0,139168 – 0,1391585q1 e
(16)
C(q) = 1.
(17)
Essas matrizes substituem seus correspondentes no modelo geral ARMAX descrito pela
Equação 8.
5. SINTONIA DO MODELO UTILIZANDO EVOLUÇÃO DIFERENCIAL
A Evolução Diferencial foi desenvolvida por Storn e Price em meados da década de noventa
e surgiu de tentativas de resolver o problema de ajuste polinomial de Chebychev (mencionado por
Arantes et al, 2006). Para caso em questão, foi utilizado o algoritmo fornecido pelo Matlab®, mas
adaptado para uso no software livre Scilab.
O algoritmo é iniciado criando uma população inicial escolhida aleatoriamente devendo
cobrir todo o espaço de busca. Geralmente, é criada por uma distribuição de probabilidade
uniforme, quando não há nenhum conhecimento sobre o problema.
A idéia principal da evolução diferencial é gerar novos indivíduos, denotados vetores
modificados ou doadores, pela adição da diferença ponderada entre dois indivíduos aleatórios da
população a um terceiro indivíduo. Esta operação é chamada mutação.
As componentes do indivíduo doador são misturadas com as componentes de um indivíduo
escolhido aleatoriamente (denotado vetor alvo), para resultar o chamado vetor tentativa, ou vetor
experimental. O processo de misturar os parâmetros é referido freqüentemente como "cruzamento"
na comunidade dos algoritmos evolutivos.
Se o vetor experimental resultar um valor da função objetivo menor que o vetor alvo, então
o vetor experimental substitui o vetor alvo na geração seguinte. Esta última operação é chamada
seleção. O procedimento é finalizado através de algum critério de parada.
Os parâmetros T1 (constante do tempo) e K (ganho do processo) do modelo descrito na
Equação 1 foram obtidos através de 10 execuções do algoritmo de Evolução Diferencial. Os
melhores valores encontrados para os parâmetros foram: T1 = 33,780974 s e K = 11,345646 s.
A Tabela 2 apresenta uma comparação entre os parâmetros teóricos e os identificados com
respectivos erros relativos.
Tabela 2: Erros relativos entre os parâmetros identificados e os teóricos.
Parâmetros Teóricos
Parâmetros Identificados
Erro relativo
T1 = 33,92 s
T1 = 33,780974 s
0,41%
K = 11,3 s
T2 = 11,345646 s
0,40%
Pela análise da tabela acima, nota-se que a sintonia foi excelente e os parâmetros foram
identificados de forma satisfatória.
6. AGRADECIMENTOS
Agradeço à FAPEMIG pela oportunidade e incentivo financeiro. Aos professores Valéria
Viana e Luís Cláudio Lopes, pela dedicação e apoio.
9
7. REFERÊNCIAS
Aguirre, L. A. (2007). Introdução à Identificação de Sistemas: Técnicas Lineares e Não Lineares
Aplicadas a Sistemas Reais, 3 edn, Editora UFMG, Belo Horizonte,BH.
Arantes, M. B., Oliveira, G.T.S. e Saramago, S.F.P., Evolução Diferencial aplicada à solução de
alguns problemas de Engenharia de Produção, FAMAT em revista, nº 6, Maio de 2006, Uberlândia,
MG.
Ken Price, Rainer Storn, and Jouni Lampinen (2005): Differential Evolution - A Practical Approach
to Global Optimization . Springer.
Lemos, J.M. e Bernardino, A., Modelação, Identificação e Controle Digital – Métodos não
paramétrico,
ISTSecção
de
Sistemas
e
Controle,
disponível
no
site
<users.isr.ist.utl.pt/~alex/micd0506/micd3b.pdf>. Acessado em 20 de agosto de 2008.
Morgano, M.A., Faria, C.G., Ferrão, M.F., Bragagnolo, N. e Ferreira, M.M.C., 2008, Determinação
de umidade em café cru usando espectroscopia NIR e regressão multivariada, Ciência e Tecnologia
de Alimentos, vol.28 nº1, Campinas, SP.
Shirotai, C. e Itiki, C., 2002, Determinação da ordem na modelagem auto-regressiva de sinais
eletromiográficos, Produção em Iniciação Científica da EPUSP, São Paulo, SP.
Vasquez, J. R. R., Perez, R. R., Moriano, J. S., & Gonzalez, J. R. P., System identification of steam
pressure in a fire-tube boiler, Computers and Chemical Engineering (2007),
doi:10.1016/j.compchemeng.2008.01.010.
IMPLEMENTATION AND EVALUATION OF TECHNIQUES OF
IDENTIFICATION OF LINEAR SYSTEMS USING FREE SOFTWARE
Rosiane Ribeiro Rocha
Federal University of Uberlândia
School of Chemical Engineering
2121, Avenue João Naves de Ávila, 38408-100
[email protected]
Luís Cláudio Oliveira Lopes
[email protected]
Valéria Viana Murata
[email protected]
Abstract: In this article, identification algorithms are applied to a system that represents a fire-tube
boiler, as modeled by Vasquez et al. (2008). The model describes the change in the pressure of
steam that leaves the boiler, resulting from the change in the fuel flow fuel supplied. The
characterization and evaluation of the dynamics of the process were made according to various
kinds of disturbances at the entrance, concluding about the linearity of the model. The models of the
ARMAX type were obtained through a code implemented using the free software Scilab.. The
selection of the model was made through indices and structural appropriate criteria, such as MSE,
AIC, FPE and BIC. Model tuning was addressed by using the Differential Evolution. The
parameters of the estimated model properly accounted for the process behavior, demonstrating the
suitability of the estimation procedure.
Keywords: Systems Identification, ARMAX, model tuning.
10
Download

sa08-10673 - implementação e avaliação de técnicas de