• Non ci sono risultati.

Identificazione di modello

N/A
N/A
Protected

Academic year: 2021

Condividi "Identificazione di modello"

Copied!
28
0
0

Testo completo

(1)

Identificazione di modello

ing. Sara Brambilla

Prof. Davide Manca – Politecnico di Milano

Dinamica e Controllo dei Processi Chimici

Esercitazione #5

SE5

(2)

Identificazione di modello

Nel definire un modello black box, gli output (y) del sistema sono calcolati a partire dai dati di input (u) e dalla storia passata (yold, uold):

(

old

,

old

)

=

y f y u

In generale, per avere un modello che sia il più fedele possibile alla realtà si introducono dei parametri adattivi (p):

(

old

,

old

, )

=

y f y u p

Si può introdurre nel modello anche l’errore (e) definito come yreal-y:

(

old

,

old

,

old

, )

=

y f y u e p

(3)

Identificazione di modello

( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

1

1

1

1 1

1 1

1 1

1 , , , , 1 , , ,

1 , , , , 1 , , ,

1 , , , , 1 , ,

r

m

r

y r r y

u m m u

e r r e

t y t y t n y t y t n

u t u t n u t u t n

e t e t n e t e t n

= ⎡ ⎣ − − − −

− − − −

− − − − ⎤ ⎦

y f

… … …

… … …

… … …

( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

1

1

1

1 1

1 1

1 1

1 , , , , 1 , , ,

1 , , , , 1 , , ,

1 , , , , 1 , ,

r

m

r

y r r y

u m m u

T

e r r e

t y t y t n y t y t n

u t u t n u t u t n

e t e t n e t e t n

= ⎡⎣ − − − −

− − − −

− − − − ⎤⎦

… … …

… … …

… … …

ϕ

Il sistema da identificare assume la forma:

Il vettore è il vettore dei regressori:ϕ

(4)

Identificazione di modello

( ) t = ⎡ ( ) t ,

y f ϕ p

La funzione f, tramite i parametri p, mappa il vettore dei regressori nelle variabili di output y:

I modelli matematici possono avere struttura scalare, vettoriale e mista:

SISO: Single Input – Single Output La funzione f più semplice è:

( ) t = × ( ) t

y p ϕ

vettore riga vettore colonna

(5)

Procedura di identificazione

1. Determinazione dei limiti del sistema e delle variabili necessarie 2. Progettazione della sperimentazione

3. Selezione della struttura del modello 4. Determinazione dei parametri

5. Simulazione e convalida

(6)

Procedura di identificazione

1. Determinazione dei limiti del sistema e delle variabili necessarie

ƒ Si definisce l’esatto numero di variabili di input (u) e di output (y)

ƒ Si individua anche il range di variabilità delle stesse al fine di creare un opportuno dominio di apprendimento per la fase successiva di

identificazione

2. Progettazione della sperimentazione

ƒ Una volta individuate le variabili occorre definire la frequenza di campionamento

ƒ È opportuno che tutte le variabili di input siano disturbate

(7)

Procedura di identificazione

3. Selezione della struttura del modello

Occorre definire:

ƒ la lunghezza del vettore dei regressori

ƒ l’ordine del modello rispetto ad ogni variabile

ƒ la linearità o non linearità del modello rispetto i regressori ed i parametri

4. Determinazione dei parametri

Occorre definire l’algoritmo numerico necessario alla determinazione dei parametri del modello

Occorre distinguere tra modelli:

ƒ Deterministici (minimizzazione dell’errore commesso)

ƒ Stocastici (metodo della massima verosimiglianza)

(8)

Procedura di identificazione

5. Simulazione e convalida

ƒ Una volta identificato il modello occorre testare la sua capacità

predittiva e quindi la sua bontà utilizzando un insieme di dati che non siano già stati usati

ƒ La procedura di convalida del modello si basa su di un insieme di dati di convalida (cross-validation set) opportunamente scelto a priori e

mantenuto distinto dall’insieme di addestramento (learning set)

(9)

Generazione di sequenze di disturbo

• La raccolta dei dati di input-output per le procedure di identificazione e di convalida avviene disturbando le variabili di input del processo

• Si utilizza il metodo PRBS (Pseudo Random Binary Sequence):

ƒ Si scelgono due estremi di banda, uMIN, uMAX, per la variabilità della grandezza u da disturbare

ƒ Si varia in modo random il suo valore. La variabile può assumere solo i valori estremi

ƒ Si misura in corrispondenza il vettore di output

(10)

Sequenze PRBS

1. Le variabili di input possono assumere solo due valori, uguali in ampiezza ma di segno opposto, ±Δu, rispetto alle condizioni stazionarie

2. Il passaggio da una condizione positiva a quella negativa, e viceversa, avviene in modo random al fine di dare alla sequenza la caratteristica di rumore bianco (media nulla)

3. Il disturbo sulle variabili di input viene effettuato ogni n tempi di campionamento (ts = sampling time)

4. Di solito l’intervallo n×ts è pari al 20% del tempo richiesto al sistema per esaurire il transitorio

5. L’ampiezza Δu del disturbo deve essere sufficientemente elevata da eliminare i disturbi di misurazione dovuti al rumore del sistema

(11)

Generazione di sequenze di disturbo

Sequenza di disturbo

Variabile di output

0 1000 2000 3000

-0.2 -0.1 0 0.1 0.2

0 1000 2000 3000 4000

-0.1 -0.05 0 0.05 0.1

(12)

Pretrattamento dei dati

• All’atto dell’acquisizione dei dati dal campo è possibile applicare degli opportuni operatori matematici in grado di smorzare le eccessive oscillazioni (ad esempio media mobile)

• È possibile applicare dei filtri taglia alto, taglia basso per cancellare variazioni improvvise oltre i normali intervalli di operatività

• È possibile eliminare i cosiddetti outlier tramite opportune tecniche di analisi statistica

• DETREND: ai dati viene tolto il valore medio. In tal modo le variabili

campionate esprimono lo scostamento dai valori di stazionario o comunque dalle condizioni operative medie. È così possibile utilizzare il modello (a costo di risultati mediocri) anche per altri stati stazionari

(13)

Modelli ARX

CARATTERISTICHE

¾ Il modello ARX è lineare sia nei regressori che nei parametri

¾ Come tale non è in grado di descrivere più stati stazionari

¾ Per definizione non può descrivere comportamenti non lineari

¾ La sua identificazione è relativamente semplice

¾ I tempi di calcolo per una predizione sono estremamente ridotti

(14)

Modelli ARX - SISO

( ) ( ) ( ) ( )

( ) ( ) ( )

1 2

1 2

1 2

= 1 2

y y

u

n n

n u

y t a y t a y t a y t n

b u t b u t b u t n

+ − + − + + − =

− + − + + −

Per effettuare una predizione servono n

y

valori della variabile dipendente (y) e n

u

valori della variabile

indipendente (u).

Esempio: Stima con 3 tempi all’indietro sia per la

variabile indipendente che per la variabile dipendente Modello SISO:

( ) + ( − + ) ( − + ) ( ) =

(15)

Modelli ARX - MIMO

Modello MIMO:

Esempio: Sistema caratterizzato da:

• 3 variabili indipendenti (u)

• 2 variabili dipendenti (y)

• 4 tempi all’indietro

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )

1 1 2 1 3 1 4 1

5 2 6 2 7 2 8 2

1 1 2 1 3 1 4 1

5 2 6 2 7 2 8 2

9 3 10 3 11 3 12 3

1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

1 2 3 4

y t a y t a y t a y t a y t

a y t a y t a y t a y t

bu t b u t b u t b u t

b u t b u t b u t b u t

b u t b u t b u t b u t

+ − + − + − + − +

+ − + − + − + − =

= − + − + − + − +

+ − + − + − + − +

+ − + − + − + −

8 + 12 = 20 parametri

(16)

Determinazione dei parametri (SISO)

( ) ( ) ( )

( ) ( ) ( )

1 2

1 2

y

T u

y t y t y t n

u t u t u t n

=

⎤⎦

ϕ

( )

y t

1 1 2

1 2

y

u

n

n

p a a a

b b b

= ⎣⎡

⎤⎦

2 1 2

1 2

ny

n

p a a a

b b b

= ⎣ ⎡

⎤⎦

( ) ( ) ( )

( ) ( ) ( )

1 1

1 1

y

T u

y t y t y t n

u t u t u t n

= +

+ ⎤⎦

ϕ

(

+

)

Primo set di parametri

( ) ( )

y t = ×p ϕ t Note le seguenti misure

effettuate sul sistema reale Si potrebbero determinare diversi set di parametri

( ) ( )

y t = ×p ϕ t

(17)

Determinazione dei parametri

Volendo determinare quale sia il miglior set di parametri, si deve ottimizzare una funzione obiettivo

⇒ Metodo dei minimi quadrati

( ) ( ( ) )

2

1 1

min ,

y s

n n

real

obj i i

p i t

f y t f t

= =

⎧ ⎫

⎪ ⎡ ⎤ ⎪

= ⎨ ⎪ ⎩ ∑∑ ⎣ − ϕ p ⎦ ⎬ ⎪ ⎭

( ) ( )

2

1 1

min

y s

n n

real ARX

obj i i

p i t

f y t y t

= =

⎧ ⎫

⎪ ⎡ ⎤ ⎪

= ⎨ ⎪ ⎩ ∑∑ ⎣ − ⎦ ⎬ ⎪ ⎭

(18)

Determinazione dei parametri

( ) ( )

ARX

y

i

t = × p ϕ t

Calcolo delle variabili dipendenti

Calcolo valore della funzione obiettivo

1

i i

f

i

f

i1

< ε f

i

f

i1

< ε ff

< ε

( ) ( )

2

1 1

min

y s

n n

real ARX

obj i i

p i t

f y t y t

= =

⎧ ⎫

⎪ ⎡ ⎤ ⎪

= ⎨⎪⎩

∑∑

⎣ − ⎦ ⎬⎪⎭ ( )n

p

(n 1)

p

+

(19)

Esercitazione

• Sia considerino due serbatoi interagenti

• Si determinino i parametri di un modello ARX considerando che la variabile indipendente sia la portata in ingresso e che la variabile dipendente sia l’altezza del secondo serbatoio

• Per il calcolo della variabile dipendente al tempo t, si considerino 2 valori passati sia della variabile indipendente che di quella dipendente

• Si consideri, inoltre, che la variabile indipendente varia intorno al valore di stazionario (assegnato) di ±10%

(20)

Modello del sistema

1 1 2

1

1

2 1 2 2

2

1 2

i

dh h h

A F

dt r

dh h h h

A dt r r

⎧ = − −

⎪⎪ ⎨ −

⎪ = −

⎪⎩

Dati: CI:

2

2

30 m

A =

Serbatoio 2:

2

1

40 m

A =

Serbatoio 1:

10 m s

3

F

i

= ( )

( )

( )

( )

1 1

2 2

0 0

s

s

h h

h h

=

=

Fi

r1

A2

h2

A1

h1 r2

(21)

Procedura risolutiva

1. Determinare le condizioni stazionarie

2. Dare un disturbo al sistema per valutare il tempo caratteristico (es.

+10% F

i

)

3. Valutare la dinamica del sistema secondo il metodo PRBS

( )

( )

( )

1 1 2

1

1 1 2

1

2 1 2 2 2 2

2

1 2

0

0

i s

i s

i

dh h h

A F

h r r F

dt r

dh h h h h r F

A dt r r

⎧ = = − −

⎪ ⎧ = +

⎪ ⇒ ⎪

⎨ − ⎨ =

⎪ = = − ⎪⎩

⎪⎩

(22)

22 24 26 28 30 32 34

Valutazione del tempo caratteristico

Disturbo a gradino sulla portata in ingresso (+10%)

Tempo caratteristico ( ) ≈ 750 s

τ

Serbatoio 1

Serbatoio 2

(23)

Determinazione dei tempi

• Intervallo tra due disturbi ( ):

• Tempo di campionamento ( ):

t

d

0.2 150 s

t d = τ =

t

s

3 50 s

s d

t = t =

(24)

Implementazione in MatLab

for i = 1 : nPassi cont = cont + 1;

if(cont == 3)

randNum = rand();

if(randNum <= 0.5)

Fi = Fi0 * 1.1;

else

Fi = Fi0 * 0.9;

end

cont = 0;

end

(25)

Sequenza di disturbo

0 1000 2000 3000

-0.2

-0.1

0

0.1

0.2

(26)

Risposta del sistema reale

-0.1

-0.05

0

0.05

0.1

(27)

Prestazioni ARX

Sistema reale Modello ARX

0 1000 2000 3000 4000

18 19 20 21 22 23

N.B.: Questa non

è la convalida!!

(28)

Convalida ARX

18 19 20 21 22

23

Sistema reale

Modello ARX

Riferimenti

Documenti correlati

Se questo procedimento di derivazione successiva pu`o applicarsi n volte, risulteranno definite in A la derivata prima, come anche si chiama f(x), la derivata seconda, terza,. Pu`

Circa il calcolo effettivo dell’integrale (10.5) possiamo dire per ora che, in ogni caso, se ne possono ottenere valori comunque approssimati per mezzo delle somme integrali σ, s,

osserviamo che per un aumento unitario della superficie l’aumento stimato del prezzo è pari allo 0.04%.. Alternativamente, possiamo dire che ad aumento di 100 piedi quadrati causa

Si descriva una retrazione per deformazione di un cubo (chiuso) su un suo sottospazio formato da due facce opposte e una delle altre 4

Si ritiene di fondamentale importanza continuare le analisi per angoli maggiori di 10°, in modo da trovare il valore dell’ angolo ottimale che meglio relazioni la luce riflessa

Tuttavia, questa variabile pu` o essere osservata solo se ` e positiva, poich` e se vale 0 non possiamo sapere se l’insetto studiato fosse effettivamente presente su quella foglia..

Il tempo neces- sario per stabilire la connessione col sito A ` e descritto da una variabile aleatoria T A con legge (assolutamente continua) uniforme sull’intervallo [0, 40]

Le soluzioni della prima coppia di congruenze sono tutti e soli gli interi congrui a s