Sei sulla pagina 1di 14

Usando o MATLAB TM para Estimar

Parmetros de Sistemas Dinmicos


 Uma abordagem via Ajuste de Curvas 
LECI  Laboratrio de Ensino de Controle e Instrumentao

Prof. Leonardo A. B. Trres

20 de maro de 2005

Descrio do Problema

Cada um dos processos existentes no Laboratrio de Ensino de Controle e


Instrumentao  LECI, quando operado em malha aberta, pode ser representado pelo diagrama mostrado na Fig.1.

Sistema
Dinmico
x

Figura 1:

u(t)

com

; e por sua vez a interao dos estados internos

x(t)

As equaes matemticas que descrevem a interao das entradas


os estados internos
com as sadas

y(t);

x(t)

podem ser escritas como:

x = f (x, u);
y = h(x, u).

(1)

n
q
p
n
q
n
n
q
em que x R ; u R ; y R ; e f : R R R e h : R R
Rp so funes genricas. Alguns exemplos do LECI, admitindo-se modelos
matemticos simplicados, so:

1 Os

estados

representam muitas vezes o estado atual de energia interna do sistema.

Estimao de parmetros via Ajuste de Curvas

1. Processo Trmico Seco (Ferro de Solda):

gradador ;

x(t) R

u(t) R

o comando para o

a temperatura do ferro de solda; e

y(t) R

sinal de tenso obtido do sensor de temperatura (termopar).

u(t) R a posio da haste acionada pelo motor


6
DC ligado ao computador; x(t) R so as posies e velocidades dos
3 carrinhos unidos por molas; e y(t) R a tenso produzida por um

2. Sistema rectilinear:

dos sensores de posio (encoder).

u(t) R o comando
x(t) R a temperatura da gua no interior da
y(t) R o sinal de tenso do sensor de temperatura

3. Processo Trmico mido (Torneira Eltrica):


para o gradador;
torneira eltrica; e

(transistor bipolar ligado como diodo).


4. Sistema de Medio de Nvel:

u(t) R

o sensor piezoresistivo est submetido;

a diferena de presso a qual

x(t) R

a deformao do

diafragma de silcio no interior do sensor piezoresistivo;

y(t) R

sinal de tenso produzido pelo sensor.


importante notar que os casos acima so possibilidades de modelos simplicados, sendo que o nmero de estados pode variar dependendo do grau
de detalhamento que usamos para obter as equaes que descrevem a fsica
de um dado processo especco.

Por exemplo, se considerarmos o aqueci-

mento da bainha isolante que existe no interior do ferro de solda, teramos


x(t) R2 , sendo as temperaturas da parte externa do ferro de solda e a da
prpria bainha as variveis de estado.

no lineares , usual tentar predizer o comportamento dos sistemas, para pequenas variaes nas entradas u(t) e nas sadas
y(t), em torno de uma condio de operao especca (condio de equilEmbora todos processos sejam

brio), por equaes que descrevem sistemas lineares invariantes no tempo,


isto :

dx
= Ax + Bu;
dt
y = Cx + Du.
sendo

u, x

(2)

as variaes dos sinais de entrada, dos estados e dos

sinais de sada, respectivamente.

A, B , C

so matrizes de dimenses

apropriadas.
Como se admite, por hiptese, que os processos esto em equilbrio antes
da variao do sinal de entrada, isto signica que

2 Placa

u(t) = 0, x(t) = 0

de disparo dos tiristores.

DELT/UFMG

LECI

Estimao de parmetros via Ajuste de Curvas

y(t) = 0,

para

t < t0 ,

t0 o instante inicial em que


u 6= 0 foi imposta ao sistema.

sendo

variao no sinal de entrada

uma pequena

Neste caso, aplicando-se a transformada de Laplace ao sistema linearizado


(2), e sabendo-se que a condio inicial

x(t0 ) = 0, podemos obter a seguinte

relao entrada-sada geral:

L{y}
= C(sI A)1 B + D
L{u}

(3)

Algumas observaes interessantes, particulares ao LECI, podem ser apresentadas:

Os processos possuem somente 1 entrada ( u(t)

R).

R)

e 1 sada ( y(t)

Isto signica que a expresso (3) fornecer uma nica Funo de

Transferncia  FT, que pode ser representada como:

L{y}
N (s)
= G(s) =
,
L{u}
D(s)
em que

N (s)

o polinmio numerador da FT; e

denominador, cujo grau ser igual ao nmero

D(s)

o polinmio

n de estados do processo 3 .

A maioria dos sistemas pode ser bem representada por modelos matea
a
4
mticos de 1 ou 2 ordens (1 ou 2 estados internos) . Ou seja, algumas
possibilidades freqentemente encontradas para

G(s) =

G(s) =

G(s) =

G(s) =
3 Se

(4)

G(s)

sero:

GDC
; Ordem 1.
s + 1

GDC es
; Ordem 1 com tempo morto.
s + 1

GDC
;
(1 s + 1)(2 s + 1)

GDC es
;
(1 s + 1)(2 s + 1)

Ordem 2 sobre-amortecido.

Ordem 2 sobre-amortecido com tempo morto.

o sistema for controlvel e observvel.

4 Uma

exceo bvia o sistema rectilinear.

DELT/UFMG

LECI

Estimao de parmetros via Ajuste de Curvas

G(s) =

G(s) =

GDC
;
( s + 1)2

G(s) =

GDC n2
;
s2 + 2n s + n2

GDC n2 es
;
s2 + 2n s + n2

Ordem 2 criticamente amortecido.

Ordem 2 sub-amortecido.

Ordem 2 sub-amortecido com tempo morto.

GDC o ganho DC da planta (razo entre y(t)/u(t)


t ); k , k = 1, 2, . . . so constantes de tempo; o coeciente
amortecimento; n a freqncia natural no amortecida; e o

Nas equaes acima,


para
de

tempo morto.
Uma vez selecionada a estrutura do modelo matemtico que ir representar
o comportamento dinmico da variao da sada

u(t), surge
, 1 , 2 , , . . . ?

devida a variao da entrada


os parmetros

GDC ,

y(t) de um dado processo,

a seguinte pergunta: como obter

Obteno de Parmetros no
Domnio do Tempo

Existem muitas tcnicas diferentes para obteno dos parmetros de uma


dada FT. Um mtodo bem conhecido a aproximao por assntotas da
curva do diagrama de resposta em freqncia do sistema.
Entretanto, neste trabalho enfatizaremos o mtodo de obteno de parmetros no domnio do tempo, atravs de comparaes automticas sucessivas

respostas temporais esperadas , obtidas a partir de estimativas paparmetros da planta, e as respostas temporais medidas , obtidas em

entre as
ra os

experimentos reais no LECI.


A m de ilustrar a tcnica, observe a Fig.2, onde so mostrados alguns pontos
obtidos em um experimento no LECI, para uma entrada degrau aplicada a
um dos processos.

DELT/UFMG

LECI

Estimao de parmetros via Ajuste de Curvas

70

60

y(t) e u(t)

50

40

30

20

10

10

15

20
t (s)

25

30

35

40

Figura 2: Dados obtidos para um experimento de pequena variao em degrau


na entrada u(t) () do processo, em t = 5s, a partir de uma condio
de equilbrio, e observao da sada y(t) (*). importante notar que
as curvas esto deslocadas, pois trata-se de 2 grandezas diferentes. Na
modelagem linear importa apenas a variao y(t) devida a variao
u(t).
A primeira providncia representar apenas a variao
trado na Fig.3, a partir do instante

u = 10

t0 = 5s,

y(t), conforme mos-

em que o degrau de amplitude

foi aplicado.

A partir da Fig.3, nota-se que o processo tem um comportamento tpico de


a
um sistema de 2 ordem sub-amortecido. Alm disso, y(t) parece permanecer razoavelmente constante at cerca de

t t0 + 2s,

antes de se elevar

abruptamente, o que parece indicar a presena de tempo morto. Tendo em


vista estas observaes preliminares, tentaremos aproximar o comportamento
observado pela funo temporal obtida da transformada de Laplace inversa
da seguinte expresso:


GDC n2 es
10
L{y(t)} 2
.
2
s + 2n s + n s


DELT/UFMG

LECI

(5)

Estimao de parmetros via Ajuste de Curvas

66

64

62

60

y(t)

58

56

54

52

50

48

10

15

20

25

t (s)

30

35

40

Figura 3: Representao de y(t), a partir de t = 5s.


Ou seja:

t < t0 + ;
0; 
h
i
e

y(t) =

; t t0 + ;
10 GDC GDC 2 en t sen d t +

(6)

y(t)e a variao esperada, se nosso


p modelo estiver
p
2
t = (t t0 ); d = n 1 ; e = arctan
1 2 / .
sendo que

correto;

Mesmo sendo (6) uma expresso complicada, v-se que ela depende fundamentalmente dos 4 parmetros:

GDC , ,

n .

Estes parmetros poderiam

ser ajustados por tentativa e erro, mas existe um procedimento mais sistemtico para a realizao desta tarefa.
O que podemos perceber que, caso desenhssemos uma curva aproximada
que obedece a equao (6), tentando fazer com que ela passe sobre os pontos
mostrados na Fig.3, vericaramos se as estimativas dos parmetros esto
boas a partir da medio das

distncias

entre os pontos reais medidos e os

pontos correspondentes da curva aproximada. De fato, precisamente isto


TM
que pode ser feito de forma automtica no MATLAB
.

DELT/UFMG

LECI

Estimao de parmetros via Ajuste de Curvas

2.1

Formulao Matemtica

A partir da equao (6), que descreve o comportamento temporal esperado


y(t)e , podemos imaginar a seguinte funo, que mede o quo boa uma
dada estimativa para os parmetros:

V (GDC , , , n ) =
sendo que

y med.

N
2
1 X  med.
y
(tk ) y e (tk ) ;
N k=1

(7)

y(t) que realmente aconteceu, isto


tempo tk , k = 1, 2, . . . , N ; onde N

representa a variao

, medida no LECI, nos instantes de

o nmero de pontos obtidos no experimento. A expresso acima quantica,


e
portanto, o erro mdio quadrtico entre os pontos medidos e a curva y (t),
obtida a partir de (6), admitindo-se valores tentativos para
Esta funo chamada de

Funo de Custo .

GDC , ,

n .

Ou seja, para cada conjunto de 4 parmetros, temos um nmero real que


quantica a qualidade/custo do ajuste de curvas para aquele conjunto de
parmetros:

GDC , , , n 7 V R.
Alm disso, a funo

V (GDC , , , n )

sempre positiva; ou zero para o caso

especial em que acertamos os valores dos parmetros e a curva passa exatamente sobre os pontos medidos. Isto signica que podemos obter um conjunto
timo de parmetros, buscando valores GDC , , , n que conduzam a um
mnimo de V (GDC , , , n ) (Fig.4):

[GDC , , , n ] =

argmin
GDC ,,,n

Infelizmente a expresso analtica de

V (GDC , , , n ).

V (GDC , , , n )

(8)

difcil de ser obtida.

Se soubssemos esta expresso, poderamos tentar encontrar o mnimo de

V,

calculando derivadas parciais e igualando-as a zero. Entretanto, neste caso,


preciso empregar uma estratgia numrica.
Dentre as muitas possveis estratgias de otimizao numricas, usaremos o

Mtodo de Descida Simplex Multi ,

proposto por Nelder e Mead (Press et al.,


TM
1992; Nelder and Mead, 1965), implementado no MATLAB
pela funo

fmins

ou

fminsearch

DELT/UFMG

(Mathworks Inc., 2005).

LECI

Estimao de parmetros via Ajuste de Curvas

12

10

V(G*DC, *, , n)

0
30
25
20
15
10
5
n

0.1

0.2

0.3

0.5

0.4

0.6

0.7

0.8

0.9

Figura 4: Funo que mede o erro quadrtico mdio para um caso de sistema subamortecido com tempo morto, usando valores xos de GDC e , variando
somente e n . importante notar os vrios mnimos locais.

Implementao MATLAB TM

A implementao em MATLAB

TM

realizada atravs de um procedimento

principal e duas funes, apresentadas abaixo. A primeira listagem corresTM


ponde aos comandos executados diretamente no ambiente MATLAB
:

1
2
3
4

Procedimento Principal

clear ;
clc ;

% Chute i n i c i a l

Gdc

theta

zeta

wn

0.9;

p0

[ Gdc

10
11
12

1.2;
=

2;
0.5;

theta

zeta

wn ] ;

% calcula o conjunto timo de parmetros


p =

f m i n s e a r c h ( ' erro_quad_med ' , p0 )

DELT/UFMG

LECI

Estima

23.4575 o de parmetros via Ajuste de Curvas

O algoritmo necessita de uma estimativa inicial


mnimo da funo

V (GDC , , , n ).

p0

para tentar encontrar o

Esta estimativa inicial muito importan-

te e no deve estar muito distante da soluo, pois caso contrrio, podemos


obter solues esprias que representam mnimos locais da funo de custo,
ao invs do mnimo global procurado (Fig.4).
A funo abaixo a implementao da funo de custo

V (GDC , , , n ),

usada para calcular o erro quadrtico mdio entre uma curva tentativa e os
dados reais coletados no LECI, para cada conjunto

p = [GDC n ]

de

parmetros:

erro_quad_med.m
1

function

V =

erro_quad ( p )

% Funo que mede a qualidade do ajuste de curvas


3 % para o caso de um modelo de 2 a ordem , sub amortecido
4 % com tempo morto .
5 %
6 % p = [ Gdc, theta , zeta , wn]
7
8 % Parmetros do modelo matemtico
2

Gdc =

p(1);

10

theta

11

zeta

12

wn =

p(4);

13
14
15

p(2);

p(3);

% Dados obtidos no LECI


data

16

5.0000

49.9761;

17

6.0254

49.9126;

18

7.0508

50.0426;

19

8.0762

55.8463;

20

9.1017

63.4892;

21

10.1271

65.3662;

22

11.1525

63.7448;

23

12.1779

58.7773;

24

13.2033

57.2925;

25

14.2287

58.6264;

26

15.2541

60.3521;

27

16.2796

60.9387;

28

17.3050

61.8871;

29

18.3304

60.2329;

30

19.3558

59.6098;

31

20.3812

59.5187;

32

21.4066

59.3697;

DELT/UFMG

LECI

Estimao de parmetros via Ajuste de Curvas

33
34

22.4320
23.4575

60.1206;
60.3074;

35

24.4829

60.1714;

36

25.5083

59.8094;

37

26.5337

59.9000;

38

27.5591

59.6344;

39

28.5845

59.5702;

40

29.6099

60.0047;

41

30.6354

60.7743;

42

31.6608

59.7959;

43

32.6862

60.2289;

44

33.7116

59.9798;

45

34.7370

59.5907;

46

35.7624

59.1002;

47

36.7878

59.8903;

48

37.8133

59.3440;

49

38.8387

60.8542;

50

39.8641

59.7520];

51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72

% Instante i n i c i a l em que o degrau foi aplicado .


t0

5;

% Coluna tempo
tempo

data ( : , 1 ) ;

% Coluna variao da sada


% y0 = 50 o valor aproximado da sada antes
% da aplicao do degrau .
y0

= 50;

delta_y

data ( : , 2 )

y0 ;

% Amplitude do degrau de entrada .


delta_u

= 10;

% Calcula a resposta temporal esperada


delta_y_esp

s u b a m o r t _ t m o r t o ( tempo , t 0 , d e l t a _ u , Gdc , t h e t a , z e t a , wn ) ;

% Calcula o erro quadrtico mdio


erro
V =

delta_y

mean( e r r o

delta_y_esp ;

.^2);

A prxima funo fornece a resposta ao degrau de um sistema sub-amortecido


com tempo morto:

subamort_tmorto.m

DELT/UFMG

LECI

10

Estimao de parmetros via Ajuste de Curvas

function

delta_y

s u b a m o r t _ t m o r t o ( tempo , t 0 , d e l t a _ u , Gdc , t h e t a , z e t a , wn)

% Funo que calcula a resposta temporal de


3 % um sistema de 2 a ordem , sub amortecido com
4 % tempo morto :
5 %
6 % delta_y = subamort_tmorto ( tempo , t0 , delta_u , Gdc, theta , zeta , wn)
7 %
8 % tempo
= vetor de instantes de tempo ( s );
9 % t0
= instante em que o degrau aplicado ( s );
10 % delta_u = amplitude do degrau de entrada ;
11 % Gdc
= ganho esttico da planta ;
12 % theta
= tempo morto ( s );
13 % zeta
= coeficiente de amortecimento ( adimensional );
14 % wn
= freq . natural no amortecida ( rad /s ).
15
16 % Calcula a resposta temporal esperada
2

17

sqrt (1 z e t a ^ 2 ) ;
atan2 ( sqrt (1 z e t a ^ 2 ) , z e t a

18

wd = wn

19

phi

20
21
22
23
24
25
26

% Nmero de pontos em que a funo ser calculada


length ( tempo ) ;

M =

% Clculo da resposta temporal


delta_y

for

27

zeros (M, 1 ) ;

k =1:M,
t

if

28

tempo ( k )

( t

29

>

t0 ;

...
Gdc/ sqrt (1 z e t a ^ 2 ) . . .
( exp ( z e t a wn t ) sin ( wd t +p h i

delta_y ( k ) =

delta_u

( Gdc

31

else

32
33
35

theta

0),

30

34

);

end

end

delta_y ( k )

)));

0;

Usando-se as rotinas descritas acima,obtm-se o resultado mostrado na Fig.5,


que corresponde aos parmetros timos:

GDC

DELT/UFMG

=
=
=
=

1,0021 ;
1,759 s;
0,1948 ;
0,9659 rad/s;

LECI

11

Estimao de parmetros via Ajuste de Curvas

66

Dados reais
Curva ajustada

64

62

60

y(t)

58

56

54

52

50

48

10

15

20

t (s)

25

30

35

40

Figura 5: Resultado obtido para o caso mostrado na Fig.2.


Evidentemente, para usar esta tcnica em outros casos (outros modelos matemticos), basta escrever a funo especca que fornece a variao temporal
esperada, e modicar o conjunto de dados presentes na funo

erro_quad_med .

Consideraes Finais

preciso estar bastante atento s condies iniciais (parmetros iniciais)


do algoritmo de minimizao, pois resultados esprios podem ser facilmente
obtidos.
Por exemplo, considere o seguinte caso:

Procedimento Principal

% Chute i n i c i a l ruim .

Gdc

theta

zeta

wn = 2 0 ;

p0

= 10;
=
=

1;
0.1;

[ Gdc

theta

zeta

wn ] ;

7
8

p =

f m i n s e a r c h ( ' erro_quad_med ' , p0 )

DELT/UFMG

LECI

12

Estimao de parmetros via Ajuste de Curvas

9
10

p =

11
12

1.0022

1.5534

0.0070

25.4548

Neste caso, obteve-se um freqncia natural


alta e um coeciente de amortecimento

n = 25,45 rad/s

extremamente

= 0,007 bastante baixo.

Entretanto,

observando-se a Fig.6, v-se que os pontos amostrados da curva incorreta


quase coincidem com os dados reais!
Isto ocorreu principalmente porque foi usada uma estimativa inicial muito
distante da realidade para

n .

Uma boa estimativa inicial pode ser facilmente

obtida observando-se que a distncia entre dois cruzamentos das oscilaes


na Fig.3 de aproximadamente 7s. Ou seja, poderamos usar a estimativa
inicial

n d = 2/T 2/7 0,9 rad/s.


70

Aprox. 1
Aprox. 1 amostrada
Aprox. 2
Dados reais

65

y(t)

60

55

50

45

10

15

20

t (s)

25

30

35

40

Figura 6: Caso em que uma estimativa inicial p0 incorreta, conduziu a uma primeira aproximao incorreta. importante notar que os pontos amostrados
da curva em verde esto bem prximos dos dados reais.
Moral da estria:

DELT/UFMG

nada substitui um bom Engenheiro que domina o as-

LECI

13

Estimao de parmetros via Ajuste de Curvas

sunto o suciente para fazer boas estimativas iniciais , e que nunca deixa de
conferir o resultado obtido .

Referncias
Mathworks

Inc.

(2005).

Matlab

online

help

desk.

http://www.mathworks.com .
Nelder, J. A. and Mead, R. (1965). A simplex method for function minimization.

Computer Journal ,

7:308313.

Press, W. H., Teukolsky, S. A., Vetterling, W. T., and Flannery, B. P.


(1992).

Numerical Recipes in C  The Art of Scientic Compu-

ting. Cambridge University Press, second edition. disponivel


http://www.library.cornell.edu/nr/bookcpdf.html .

DELT/UFMG

LECI

em

14

Potrebbero piacerti anche