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 ?
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 modelliche 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,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 kV
1 2ε
ovvero∑
= N k k i 1 2min
ε
α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:
ε
ε
α
TV
(
)
=
e il problema può essere riformulato in forma vettoriale come:
⎩
⎨
⎧
Φ
−
=
=
α
ε
ε
ε
α
α αy
V
(
)
min
Tmin
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)
1min
α
=
α
=
−
Φ
Φ
Φ
− αy
T TΦ
Φ
Φ
=
(
)
−1ˆ
α
Stima ai minimi quadrati
Dimostrazione:
ε
ε
α
TV
(
)
=
)
(
)
(
−
Φ
α
−
Φ
α
=
y
Ty
α
α
α
α
−
Φ
+
Φ
Φ
Φ
−
=
y
Ty
y
T T Ty
T T[
y
Ty
y
T Ty
] [
T Ty
]
T T[
T Ty
]
Φ
Φ
Φ
−
Φ
Φ
Φ
Φ
Φ
−
−
Φ
Φ
Φ
−
=
(
)
−1α
(
)
−1α
(
)
−1Il 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.
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 Nx
x
x
x
x
x
y
y
y
ε
ε
ε
α
φ
φ
φ
α
φ
φ
φ
2 1 2 1 1 1 2 1 1 1 2 1)
(
)
(
)
(
)
(
)
(
)
(
comeε
α
φ
α
φ
−
−
=
−
n ny
1 1
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 1z
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 1k
n
k
y
b
k
u
b
k
u
b
n
k
y
a
k
y
a
k
y
a
k
y
n nε
+
−
+
+
−
+
−
+
+
−
−
−
−
−
−
−
=
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 1k
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 nz
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 01
)
(
)
(
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 ε ε ε ε
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ˆ
α
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 DatiDeterminazione/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
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 sinusoididove le pulsazioni ωj sono distinte e il numero di sinusoidi dovrà essere maggiore dell’ordine del modello assunto
Cristian Secchi
∑
=+
=
m j j j jt
a
t
u
1)
sin(
)
(
ω
ϕ
Esempio
PID-- 21
Esempio
Cristian Secchi
PID-- 23
Esempio
Cristian Secchi
Esempio
•
Nelle seguenti figure sono confrontati i risultati ottenuti per due diversi valori di n:
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.
Cristian Secchi Tel. 0522 522235 e-mail: secchi.cristian@unimore.it
Controlli Digitali
Laurea Magistrale in Ingegneria Meccatronica