• Non ci sono risultati.

CD11 - Identificazione

N/A
N/A
Protected

Academic year: 2021

Condividi "CD11 - Identificazione"

Copied!
14
0
0

Testo completo

(1)

Cristian Secchi Tel. 0522 522235 e-mail: secchi.cristian@unimore.it

Controlli Digitali

Laurea Magistrale in Ingegneria Meccatronica

IDENTIFICAZIONE

Identificazione

Quanto pesa? Quanto vale il coefficiente d’attrito? Qual è la cedevolezza dei giunti?

La conoscenza dei parametri fisici è cruciale per determinare il modello di un sistema. Spesso la struttura delle equazioni del modello è semplice da ricavare dalle leggi fisiche. Tuttavia, a volte è difficile avere a

disposizione una misura attendibile dei parametri che caratterizzano un sistema. M1 M2 k2 k1 b2 b1 M1, M2, k1, k2, b1, b2 ?

(2)

PID-- 3

Identificazione

L’identificazione è il complesso dei procedimenti che consente di risalire dai dati al modello.

• 

Identificazione a scatola trasparente: il modello viene ricavato dalla descrizione delle parti costituenti il sistema dato mediante le leggi (fisiche) che regolano il comportamento delle parti stesse. Il problema dell’identificazione nasce quando un parametro è incognito e va stimato in base ad osservazioni sperimentali.

• 

Identificazione a scatola nera: si considera una famiglia di modelli

che possono essere applicati in maniera del tutto generale. I parametri di tali modelli non hanno un’interpretazione fisica diretta, ma sono solo un mezzo per descrivere delle relazioni di ingresso-uscita del sistema.

Cristian Secchi

Identificazione

Bibliografia essenziale:

• 

Sergio Bittanti, Identificazione dei Modelli e Sistemi Adattativi,

Pitagora Editrice, Bologna, 2004.

• 

T. Soderdtrom e P.Stoica, System Identification, Prentice-Hall,

1989

• 

L. Ljung, System Identification-theory for the user, Prentice-Hall,

(3)

PID-- 5

Stima ai minimi quadrati

Cristian Secchi k n k n k k k

x

x

x

y

=

φ

1

(

)

α

1

+

φ

2

(

)

α

2

+

+

φ

(

)

α

+

ε

Si consideri il modello di regressione lineare nei parametri

•  y è la variabile osservata

•  αi, i=1, …, n sono i parametri incogniti

•  φi(.), i=1, …, n sono funzioni note che dipendono dalla variabile nota x

•  ε, è il residuo, ossia l’errore di modello

Problema: Avendo a disposizione le coppie {yk, xk}, k = 1, . . . ,N (N>n), si vogliono determinare i parametri αi, i=1, . . . , n in modo da minimizzare la funzione costo

=

=

N k k

V

1 2

ε

ovvero

= N k k i 1 2

min

ε

α

Stima ai minimi quadrati

⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛ = N y y y y  2 1 ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛ = N ε ε ε ε  2 1 ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛ = N α α α α  2 1 ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛ = ) ( ) ( ) ( ) ( 2 1 k n k k x x x k φ φ φ φ  ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛ = Φ ) ( ) 2 ( ) 1 ( N T T T φ φ φ 

Considerando N osservazioni, si possono raggruppare la variabili in gioco per costruire le seguenti quantità:

La funzione di costo può essere riscritta come:

ε

ε

α

T

V

(

)

=

e il problema può essere riformulato in forma vettoriale come:

⎩

⎨

⎧

Φ

=

=

α

ε

ε

ε

α

α α

y

V

(

)

min

T

min

(4)

PID-- 7

Stima ai minimi quadrati

Cristian Secchi

Supponendo che la matrice ΦΤΦ sia invertibile, la funzione V ha un unico minimo dato da:

La matrice (ΦTΦ)-1ΦT è detta pseudoinversa di Φ. Il corrispondente valore minimo di V(α) risulta:

y

y

y

y

V

V

(

)

(

ˆ

)

T T

(

T

)

1

min

α

=

α

=

Φ

Φ

Φ

− α

y

T T

Φ

Φ

Φ

=

(

)

−1

ˆ

α

Stima ai minimi quadrati

Dimostrazione:

ε

ε

α

T

V

(

)

=

)

(

)

(

Φ

α

Φ

α

=

y

T

y

α

α

α

α

Φ

+

Φ

Φ

Φ

=

y

T

y

y

T T T

y

T T

[

y

T

y

y

T T

y

] [

T T

y

]

T T

[

T T

y

]

Φ

Φ

Φ

Φ

Φ

Φ

Φ

Φ

Φ

Φ

Φ

=

(

)

−1

α

(

)

−1

α

(

)

−1

Il primo termine è indipendente da α e il secondo termine è sempre maggiore o uguale a 0. Pertanto, il valore di α che minimizza V(α) è quello per cui il secondo termine si annulla, cioè α-(ΦΤΦ)-1ΦΤy=0, da cui il risultato.

(5)

PID-- 9

Stima ai minimi quadrati

Cristian Secchi

Il calcolo della pseudo-inversa di Φ come (ΦTΦ) -1ΦT può dare luogo a errori numerici nel caso la matrice ΦTΦ risulti malcondizionata

numericamente. In questi casi conviene utilizzare algoritmi ottimizzati, ad esempio basati sulla fattorizzazione QR, che consentono di risolvere il sistema lineare y = Φα senza il calcolo dell’inversa di ΦTΦ. Proprio sulla fattorizzazione QR si basa la funzione per il calcolo della pseudoiversa “pinv” disponibile in matlab.

Pseudoinversa in Matlab

>> alpha=pinv(Phi)*y

Interpretazione geometrica

La soluzione al problema di stima ai minimi quadrati

y

T T

Φ

Φ

Φ

=

(

)

−1

ˆ

α

può essere dedotta anche seguendo una interpretazione geometrica del problema. Si riscriva infatti:

k n k n k k k

x

x

x

y

=

φ

1

(

)

α

1

+

φ

2

(

)

α

2

+

+

φ

(

)

α

+

ε

⎟

⎟

⎟

⎟

⎟

⎠

⎞

⎜

⎜

⎜

⎜

⎜

⎝

⎛

=

⎟

⎟

⎟

⎟

⎟

⎠

⎞

⎜

⎜

⎜

⎜

⎜

⎝

⎛

⎟

⎟

⎟

⎟

⎟

⎠

⎞

⎜

⎜

⎜

⎜

⎜

⎝

⎛

⎟

⎟

⎟

⎟

⎟

⎠

⎞

⎜

⎜

⎜

⎜

⎜

⎝

⎛

N n N n n n N N

x

x

x

x

x

x

y

y

y

ε

ε

ε

α

φ

φ

φ

α

φ

φ

φ

2 1 2 1 1 1 2 1 1 1 2 1

)

(

)

(

)

(

)

(

)

(

)

(

come

ε

α

φ

α

φ

=

n n

y

1 1

(6)

PID-- 11

Interpretazione geometrica

Cristian Secchi

Si considerino ora y, φ1, … ,φn come vettori in uno spazio Euclideo a N dimensioni con norma ||x|| = xTx. Il problema dei minimi quadrati può allora essere visto come quello della approssimazione del vettore y con una combinazione lineare dei vettori φi, i = 1, . . . , n in modo che la norma dell’errore ε sia minima. La soluzione, indicata con y∗, è data chiaramente dalla proiezione ortogonale di y sul sottospazio S(φi) generato dai vettori φ1, … ,φn

y

y*

S(φ1, …, φn)

Identificazione tramite i minimi quadrati

Si assume generalmente che il sistema da identificare sia un sistema a dati campionati descritto da una funzione di trasferimento discreta:

)

(

)

(

1

)

(

2 2 1 1 2 2 1 1

z

U

z

Y

z

a

z

a

z

a

z

b

z

b

z

b

z

G

n n n n

=

+

+

+

+

+

+

+

=

− − −

per cui l’uscita y al generico istante k può essere espressa come

in cui i parametri ai, bi, i=1,…, n sono non noti e ε(k) è il residuo del modello, ovvero la differenza tra l’uscita vera e quella stimata:

)

,

(

ˆ

)

(

)

(

α

ε

k

=

y

k

y

k

)

(

)

(

)

2

(

)

1

(

)

(

)

2

(

)

1

(

)

(

2 1 2 1

k

n

k

y

b

k

u

b

k

u

b

n

k

y

a

k

y

a

k

y

a

k

y

n n

ε

+

+

+

+

+

+

=

(7)

PID-- 13

Identificazione tramite i minimi quadrati

Cristian Secchi

Il modello nel riquadro rosso è un caso particolare di un modello noto in letteratura con il nome di modello ARX (AutoRegressive model with eXternal input), la cui struttura generale è data da:

)

(

)

(

)

(

)

(

1 0 1

k

n

i

k

u

b

i

k

y

a

k

y

a b n i c i n i i

=

+

ε

+

− = = da cui

=

+

+

+

+

+

+

+

+

=

− − − − − − a a b b c n n n n n

z

a

z

a

z

a

z

b

z

b

z

b

b

z

z

U

z

Y

2 2 1 1 ) 1 ( 1 2 2 1 1 0

1

)

(

)

(

con l’ordine del modello (na, nb) e il numero di ritardi puri nc tra ingresso e uscita che possono assumere valori arbitrari.

Identificazione tramite i minimi quadrati

Supponendo di avere a disposizione N campioni della variabile

manipolabile u(k) (k = 1, . . . ,N) e i corrispondenti campioni dell’uscita y (k), è possibile scrivere il seguente sistema di equazioni lineari nei parametri incogniti ) ( ) 1 ( ) 1 ( ) 1 ( ) 1 ( ) ( ) 2 ( ) 2 ( ) 1 ( ) 2 ( ) 1 ( ) 2 ( ) 1 ( ) 1 ( ) ( ) 1 ( ) ( ) 1 ( 1 1 1 1 1 1 N n N u b N u b n N y a N y a N n y n u b n u b y a n y a n y n u b n u b y a n y a n y n n n n n n ε ε ε + + − − − − + + − − − − − = + + + − − + + − − + − = + + + − − + − − − = +        Si definisca ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛ + + + = ) ( ) 2 ( ) 1 ( N n y n y n y y  ⎟⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛ − − = n n b b a a   1 1 α ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛ + + + = ) ( ) 2 ( ) 1 ( N n n n ε ε ε ε 

(8)

PID-- 15

Identificazione tramite i minimi quadrati

Cristian Secchi

Utilizzando la notazione vettoriale, è possibile riscrivere il problema di identificazione dei parametri come un problema di stima ai minimi quadrati:

ε

α

+

Φ

=

y

dove

Φ

=

[

Φ

1

,

Φ

2

]

e ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ + − − + − + + + + − = Φ ) 1 ( ) 2 ( ) 1 ( ) 3 ( ) 1 ( ) 2 ( ) 2 ( ) ( ) 1 ( ) 1 ( ) 1 ( ) ( 1 n N y N n y N n y y n y n y y n y n y y n y n y        

Identificazione tramite i minimi quadrati

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ + − − + − + + + + − = Φ ) 1 ( ) 2 ( ) 1 ( ) 3 ( ) 1 ( ) 2 ( ) 2 ( ) ( ) 1 ( ) 1 ( ) 1 ( ) ( 2 n N u N n u N n u u n u n u u n u n u u n u n u        

La soluzione al problema di stima che minimizza la somma dei quadrati dei residui è data da

y

T T

Φ

Φ

Φ

=

(

)

−1

ˆ

α

(9)

PID-- 17

Identificazione

La scelta e validazione del modello sono il punto iniziale e il punto terminale dell’intero processo di identificazione.

Con riferimento ai sistemi dinamici lineari, la scelta del modello consiste nella selezione dell’ordine n del sistema (o alternativamente degli ordine na, nb, nk del modello ARX).

La bontà del modello (in relazione al successivo impiego) può essere quantificata testando la capacità del modello stesso di riprodurre i dati sperimentali (possibilmente non utilizzati per l’identificazione del modello stesso), ad es. verificando che |ε(k)| < C.

Gli errori di modello sono tipicamente dovuti a:

• 

ingressi non misurati;

• 

una struttura di modello troppo semplice (dinamiche non modellate, nonlinearità non previste).

Cristian Secchi

Processo di identificazione

Start Progetto dell’esperimento Esecuzione dell’esperimento Raccolta Dati

Determinazione/Scelta del modello Scelta del metodo per la stima dei parametri

Validazione del modello Modello Accettato?

End

Si

Conoscenza a priori. Uso pianificato per il sistema.

Nuovi dati

(10)

PID-- 19

Scelta del segnale di ingresso

La scelta del segnale di ingresso u(k) risulta critica per il successo dell’operazione di identificazione.

E’ necessario garantire che u(k) sia “persistentemente eccitante”, cioè che sia in grado di eccitare tutti i modi del sistema durante il processo di identificazione.

segnali di riferimento comunemente utilizzati sono

• 

la funzione a gradino

• 

sequenza binaria pseudorandom (PRBS): sequenza che commuta tra due livelli con un certo periodo

• 

somma sinusoidi

dove le pulsazioni ωj sono distinte e il numero di sinusoidi dovrà essere maggiore dell’ordine del modello assunto

Cristian Secchi

=

+

=

m j j j j

t

a

t

u

1

)

sin(

)

(

ω

ϕ

Esempio

(11)

PID-- 21

Esempio

Cristian Secchi

(12)

PID-- 23

Esempio

Cristian Secchi

Esempio

Nelle seguenti figure sono confrontati i risultati ottenuti per due diversi valori di n:

(13)

PID-- 25

Esempio

Cristian Secchi

Identificazione e Matlab

Il System Identification Toolbox di Matlab mette a disposizione un libreria completa di funzioni per la stima dei parametri (e la successiva elaborazione) di sistemi dinamici. Tra queste la funzione arx che calcola la stima ai minimi quadrati dei coefficienti di un modello arx.

Inoltre, digitando ident a riga di comando si accede ad un ambiente grafico dove è possibile elaborare i dati sperimentali per identificare il modello di un sistema sia tramite la stima ai minimi quadrati che utilizzando tecniche più evolute.

(14)

Cristian Secchi Tel. 0522 522235 e-mail: secchi.cristian@unimore.it

Controlli Digitali

Laurea Magistrale in Ingegneria Meccatronica

Riferimenti

Documenti correlati

• 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

Questo tipo di modello PK può avere parametri che rappresentano l’assorbimento istantaneo del farmaco (nel raggiungimento in maniera rapida del sistema

Per capire l’entità della variazione della tensione

Visto il notevole incremento di richieste per anticorpi anti Hp presso il nostro laboratorio abbiamo voluto valutare in quale percentuale tra sieri Hp positivi si trovassero ceppi

Una volta generati i soggetti virtuali, il modello del sistema glucosio-insulina del soggetto normale è stato impiegato per simulare le concentrazioni dei

Come gestori, vorremmo creare un modello matematico del numero N di persone che effettivamente chiedono il nostro servizio: da tale modello potremo poi calcolare ad esempio

L’indipendenza del sistema utilizzato dalla generazione dell’UUID da quello del server di rete preposto alla distribuzione permette di pensare una gestione degli indirizzi

Una trasformazione Wavelet (Chui, 1992)(Daubechies et al.,1993) consente di ottenere una risposta che è anche localizzabile e può essere in genere applicata su un’area più estesa.