Escolar Documentos
Profissional Documentos
Cultura Documentos
Politecnico di Milano
Marcello Pogliani
marcello.pogliani - at - gmail - dot - com
∗
Questo documento contiene parte degli appunti che ho raccolto durante le lezioni del corso. Man-
cano alcune (parti di) lezioni, soprattutto relative all’ultima parte e tutte le esercitazioni,
in cui sono stati spiegati alcuni complementi non trattati a lezione. Nota: Alcuni esempi e
figure qui riportati sono tratti da [2] e [3]
†
Il programma completo del corso è disponibile sul sito ufficiale [1]
Indice
1 Identificazione ricorsiva 5
1.1 Minimi quadrati (least squares) . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1 Modelli ARX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Minimi quadrati ricorsivi (RLS) . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Minimi quadrati con oblio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4 Identificazione 23
4.1 Raggiungibilità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.2 Osservabilità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.3 Identificazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.3.1 Dimensione della realizzazione minima nota . . . . . . . . . . . . . . . 27
4.3.2 Dimensione della realizzazione minima ignota . . . . . . . . . . . . . . 28
5 Filtro di Kalman 29
5.1 Stima di Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.1.1 Interpretazione geometrica . . . . . . . . . . . . . . . . . . . . . . . . 31
5.1.2 Sima ricorsiva di Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.2 Predittore di Kalman a un passo . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.3 Predizione a k passi e filtraggio . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.3.1 Predittore di Kalman a k passi . . . . . . . . . . . . . . . . . . . . . . 36
5.3.2 Filtraggio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.3.3 Generalizzazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.4 Convergenza dell’equazione di Riccati . . . . . . . . . . . . . . . . . . . . . . 37
5.4.1 Rappresentazione di innovazione . . . . . . . . . . . . . . . . . . . . . 39
5.4.2 Confronto tra la teoria di Kalman e la teoria di Kolmogorov-Wiener . 41
5.5 Filtro di Kalman esteso (EKF) . . . . . . . . . . . . . . . . . . . . . . . . . . 42
1 Identificazione ricorsiva
Il problema che vogliamo considerare è quello di trovare il miglior modello avendo a di-
sposizione i dati passati della serie temporale. Definiamo errore di predizione, per un dato
modello, la quantità
ε(i) = y(i) − ŷ(i)
Il modello migliore è quello che rende minimo tale errore. Si assume come indice dell’aderenza
del modello ai dati la cifra di merito
t
X
J= (ε(i)2 )
i=1
e si cercano i valori dei parametri che rendono minimo J. Scrivendo il modello nella forma
(dove ϑT = [a1 a2 . . . an ] è detto vettore dei parametri e ϕ(t) = [y(t − 1)y(t − 2) . . . y(t − n)]
è detto vettore delle osservazioni), la cifra di merito J da minimizzare rispetto a ϑ assume
la forma
Xt
J= (y(i) − ϑT ϕ(i))2
i=1
La funzione J è una funzione quadratica dei parametri incogniti, quindi è possibile trovare
un’espressione del minimo in forma esplicita. Vale il seguente risultato:
Teorema 1.1. Il minimo (o i minimi) di J si trovano risolvendo il sistema
" t # t
X X
T
ϕ(i)ϕ(i) ϑ = ϕ(i)y(i)
i=1 i=1
Esattamente come già fatto nel caso dei modelli AR, definendo il vettore dei parametri
ϑT = [a1 a2 . . . ana b1 b2 . . . bnb ] e il vettore delle osservazioni ϕ(t)T = [y(t − 1)y(t − 2) . . . y(t −
na )u(t − 1)u(t − 2) . . . u(t − nb )] (entrambi di dimensione n = na + nb ), il predittore assume
la forma
ŷ(t) = ϕ(t)T ϑ
Come indice di aderenza ai dati si considera sempre la cifra di merito
t t
X X 2
J= ε(i)2 = y(i) − ϕ(i)T ϑ
i=1 i=1
che è quadratica in ϑ. Quindi, è possibile trovare un’espressione del minimo in forma espli-
cita. Tale espressione si ottiene risolvendo le equazioni normali, esattamente come nel caso
dei modelli AR: " t #
X Xt
T
ϕ(i)ϕ(i) ϑ̂t = ϕ(i)T y(i)
i=1 i=1
D’altra parte,
t+1
X t
X
S(t + 1) = ϕ(i)ϕ(i)T = ϕ(i)ϕ(i)T + ϕ(t + 1)ϕ(t + 1)T = S(t) + ϕ(t + 1)ϕ(t + 1)T
i=1 i=1
ovvero
S(t) = S(t + 1) − ϕ(t + 1)ϕ(t + 1)T
MINIMI QUADRATI RICORSIVI (RLS) 7
h i
ϑ̂t+1 = ϑ̂t + S(t + 1)− 1ϕ(t + 1) y(t + 1) − ϕ(t + 1)T ϑ̂t
| {z }
k(t+1)
dove y(t + 1) − ϕ(t + 1)T ϑ̂t = ε(t + 1) è l’errore di predizione commesso al tempo t + 1 usando
il modello stimato al tempo t. Quindi risulta
t
X
S(t0 ) = ϕ(t0 )ϕ(t0 )T
i=1
Le formule dei minimi quadrati ricorsivi possono essere scritte P in diverse forme. Nella
forma appena vista (RLSI ), se ϕ(i) è uno scalare, allora S(t) = ϕ(i)2 e S(t) è un valore
crescente con t, causando problemi per il buon funzionamento dell’algoritmo. Questo vale
anche nel caso vettoriale, poiché S(t+1) = S(t)+ϕ(t+1)ϕ(t+1)T , dove ϕ(t+1)ϕ(t+1)T ≥ 0 è
una matrice semidefinita positiva. Questo implica che anche S(t+1)−S(t) ≥ 0 è semidefinita
positiva, dunque S è una matrice crescente con t (dove “crescente” significa che gli autovalori
sono numeri positivi crescenti), causando problemi numerici. Per questa ragione, si può
considerare invece della matrice S(t) la matrice
1
R(t) = S(t)
t
ϑ̂t+1 = ϑ̂t + k(t + 1)ε(t + 1)
1
R(t + 1)−1 ϕ(t + 1)
k(t + 1) =
II t+1
RLS
1
ϕ(t + 1)ϕ(t + 1)T − R(t)
R(t + 1) = R(t) +
t + 1
ε(t + 1) = y(t + 1) − ϕ(t + 1)T ϑ̂t
S(t + 1)−1 = S(t)−1 − S(t)−1 ϕ(t + 1)(1 + ϕ(t + 1)T S(t)−1 ϕ(t + 1))−1 ϕ(t + 1)T S(t)−1
Ponendo V (t) = S(t)−1 , si ricava la terza forma delle equazioni dei minimi quadrati ricorsivi,
in cui si nota che l’unica inversione da effettuare ad ogni iterazione è quella di uno scalare:
ϑ̂t+1 = ϑ̂t + k(t + 1)ε(t + 1)
k(t + 1) = V (t + 1)ϕ(t + 1)
1
RLSIII V (t + 1) = V (t) − V (t)ϕ(t + 1)ϕ(t + 1)T V (t)
β t+1
βt+1 = 1 + ϕ(t + 1)T V (T )ϕ(t + 1)
ε(t + 1) = y(t + 1) − ϕ(t + 1)T ϑ̂t
Osservazione. Nelle tre forme dei minimi quadrati ricorsivi, le matrici ausiliarie sono ri-
spettivamente S(t), R(t) e V (t). Il termine k(t) è detto guadagno dell’algoritmo, ed è un
vettore di n elementi. Il suo ruolo è decidere in che misura distribuire sui parametri ϑi
l’errore di predizione. In ognuno dei tre casi, ci si aspetta che k(t) → 0, cioè che il valore
stimato di ϑ tende a una costante.2
Nella cifra di merito utilizzata per la stima ai minimi quadrati, i dati recenti contano come
i dati vecchi. Se si sospettano variazioni di ϑ nel tempo, è possibile ricavare una cifra di
merito che dia un peso minore ai dati vecchi rispetto a quelli recenti. Un modo per ottenere
questo è introdurre nella cifra di merito J un coefficiente µ, detto coefficiente di oblio:
t
X
J= µt−1 (y(i) − ϕ(i)T ϑ)2
i=1
dove µ ∈ (0, 1]. Abbassando il valore di µ, si riduce il numero di dati che vengono pesati
per la stima ai minimi quadrati. I dati che vengono considerati (finestra sui dati) sono circa
1
1−µ .
Per utilizzare il coefficiente di oblio con l’algoritmo dei minimi quadrati ricorsivi, è suffi-
ciente cambiare la definizione della matrice ausiliaria (nella prima forma), ottenendo
Si noti che, senza il coefficiente di oblio la formula per l’aggiornamento della matrice S è
S(t + 1) = S(t) + v(t), dove v(t) = ϕ(t + 1)ϕ(t + 1)T , ossia S(t) è un integratore a tempo
discreto, la cui funzione di trasferimento è
S(t) 1
=
v(t) z−1
S(t) 1
=
v(t) z−µ
In quest’ultimo caso, il polo è all’interno del cerchio di raggio unitario, dunque il sistema
con la funzione di trasferimento S(t)
v(t) è asintoticamente stabile, e S(t) tende a una costante.
Per questo motivo, anche k(t) non tende più a 0, e - come è lecito attendersi - l’algoritmo
RLS non tende più a un valore della stima di ϑ costante per t → ∞.
Osservazione. Per quanto riguarda la scelta di µ, con un coefficiente di oblio più basso, si
aumenta la variabilità della stima nel caso di parametri costanti, ma si segue più velocemente
l’andamento di parametri tempo-varianti.
Osservazione (Uso del coefficiente di oblio nella stima di parametri costanti). Per evitare
l’inversione di S(t0 ) durante l’inizializzazione dell’algoritmo RLS, spesso viene effettuata
un’inizializzazione convenzionale come
t0
X
ϑ̂t0 = αI ϕ(i)T y(i)
i=0
µ(t) = ρµ(t − 1) + (1 − ρ)
2 Controllo predittivo e sistemi adattativi
2.1 Introduzione
In questo capitolo si analizza come utilizzare i modelli ARX e ARMAX per il controllo,
mediante tecniche di controllo digitale piuttosto elementari basate sul concetto di predizione
(controllo predittivo).
disturbi
y◦ u y
Controllore C Sistema S
Ricordiamo che, in generale, un problema di controllo può essere formulato nel modo
seguente: sia S un sistema soggetto a un ingresso controllabile u (variabile causa) e a variabili
esogene non manipolabili (disturbi), che produce un effetto y. L’obiettivo del controllore C
è imporre a y l’andamento desiderato, nonostante i disturbi1 .
Supponendo che l’andamento desiderato per la variabile y sia un valore costante, si vuole
quindi imporre
y(t) = cost = ȳ ◦
Più realisticamente, si può imporre che lo scostamento
ε(t) = y(t) − ȳ ◦
sia il minore possibile. Per realizzare questo, una strategia è quella di realizzare il controllore
(in anello aperto oppure in anello chiuso) con l’obiettivo di rendere minimo l’errore medio
quadratico
t
1X
ε(t)2
t i=1
Questa logica di controllo è detta controllo a minima varianza, perché cerca di minimizzare
la varianza campionaria di ε(t). Nel paragrafo successivo si affronta il problema di ricavare
il controllore a minima varianza da un modello ARX o ARMAX dell’impianto.
Il segnale y(t) è un processo casuale. Poiché non è chiaramente possibile imporre che tale
segnale sia uguale al segnale di riferimento (y(t) = ȳ ◦ per ogni t), si cerca di rendere l’uscita
1 Non è possibile manipolare direttamente y
12 CONTROLLO PREDITTIVO E SISTEMI ADATTATIVI
che, in generale, è una funzione del tempo. Se si aggiunge l’ulteriore ipotesi che vede y come
un processo stazionario, J non dipende dal tempo e, una volta progettato il controllore, il
sistema di controllo nel suo complesso è asintoticamente stabile. Scomponendo y(t) come
J = E[(ŷ(t) − ȳ ◦ )2 ] + λ2
ŷ(t) = ȳ ◦
Secondo questa logica, il controllore C si ottiene dal predittore Ŝ sostituendo ȳ ◦ alle occor-
renze di ŷ(t):
C : C(z)ȳ ◦ = [C(z) − A(z)]y(t) + B(z)u(t − 1)
Risolvendo rispetto a u(t − 1) si ottiene
1
u(t − 1) = {− [C(z) − A(z)] y(t) + C(z)ȳ ◦ }
B(z)
Sostituendo t a t − 1, si ottiene la formula del controllore:
1
u(t) = {− [C(z) − A(z)] y(t + 1) + C(z)ȳ ◦ }
B(z)
che corrisponde allo schema a blocchi presentato in figura 2.2. Si noti che, anche se nello
schema un blocco viene moltiplicato per z, poiché C(z) = 1 + c1 z −1 + . . . e A(z) = 1 −
a1 z −1 + . . . , la differenza C(z) − A(z) = (c1 + a1 )z −1 + . . . non contiene il termine noto,
e quindi il termine [C(z) − A(z)]z utilizza i valori di y fino al tempo t e non fino al tempo
t + 1.
Osservazione. Il controllore a minima varianza cosı̀ ottenuto è un controllore lineare in
retroazione (il controllore utilizza una misura dell’uscita), e non è un controllore classico:
il valore della variabile di controllo non viene stabilito in base all’errore y ◦ − y, con una
sola funzione di trasferimento, ma nello schema di controllo sono presenti tre funzioni di
trasferimento. Inoltre, per realizzare il controllore, è necessario mantenere in memoria n
campioni di y(t).
Nota: Per ricavare il controllore, si è ipotizzato un valore costante per la variabile di riferimento (set
point). Se il segnale di riferimento è invece tempo-variante, si può procedere in questo modo:
CONTROLLO A MINIMA VARIANZA 13
S
C(z)
ȳ ◦ 1 + 1 y
+ u +
C(z) z −1 B(z)
− B(z) A(z)
[C(z) − A(z)] z
C
• Se ȳ ◦ (t) è un segnale deterministico, noto ad ogni istante (anche futuro), basta utilizzare istante
per istante il valore di ȳ ◦ (t), imponendo per il controllo che ŷ(t) = ȳ ◦ (t).
• Se il segnale non è deterministico, basta scomporlo come ȳ ◦ (t) = ŷ ◦ + e(t) (predittore + errore),
e imporre l’uguaglianza della predizione dell’uscita con la predizione del segnale di riferimento:
ŷ(t) = ŷ ◦ (t)
• Se non è noto come varia il segnale di riferimento, si impone ŷ(t) = y ◦ (t − 1), cioè si utilizza
come cifra di merito da minimizzare
J = E (y(t) − y ◦ (t − 1))2
Stabilità Veniamo ora alla questione della stabilità del sistema di controllo a minima
varianza.
u y
L(z)
−
costituito dal solo anello di retroazione e che siano stabili le due porzioni del sistema fuori
dall’anello. Le porzioni del sistema esterne all’anello sono entrambe descritte dalla funzione
di trasferimento C(z) = 1 + c1 z −1 + c2 z −1 + . . . , quindi sono stabili. Resta da verificare la
stabilità dell’anello di retroazione. Osservando che la retroazione è negativa, si può calcolare
il polinomio caratteristico come
z −1
B(z) C(z) − A(z)
∆(z) = D(z) + N (z) =
B(z)A(z)
+
z = B(z)C(z)
}
| {z } | {z
D(z) N (z)
Quindi la stabilità del polinomio caratteristico dipende dalla posizione delle radici di B(z)
e C(z). Siccome C(z)η(t) rappresenta il disturbo agente sul sistema, facendo riferimento
alla rappresentazione canonica di un processo stazionario (fattorizzazione spettrale), si può
ipotizzare che le radici di C(z) abbiano modulo minore di 1. Quindi, il sistema di controllo
a minima varianza è stabile se B(z) (la funzione di trasferimento da u a y) ha zeri in modulo
minori di 1, ossia se il sistema da controllare è a sfasamento minimo.
Esempio 2.1: Si vuole ricavare il controllore a minima varianza per il sistema ARX
2 2
J = E (y(t) − ȳ ◦ ) = E (y(t + 1) − ȳ ◦ )
Il predittore Ŝ è dato da
ŷ(t + 1) = aŷ(t) + b0 u(t) + b1 u(t − 1)
Il controllore si ottiene sostituendo il riferimento al posto della predizione
quindi
ȳ ◦ − ay(t) − b1 u(t − 1)
u(t) =
b0
CONTROLLO A MINIMA VARIANZA 15
Procedendo in modo simile al caso di ritardo unitario, si effettua l’ipotesi che il sistema
è stabile (cioè y è un processo stazionario). Si può quindi scrivere y(t) in funzione della
predizione a k passi
y(t) = ŷ(t|t − k) + errore di predizione
e imporre che la predizione sia uguale al segnale di riferimento: ŷ(t|t − k) = ȳ ◦ , o equivalen-
temente ŷ(t + k|t) = ȳ ◦ .
Il predittore a k passi in avanti per un processo ARMAX si ottiene effettuando k passi
dell’algoritmo della lunga divisione del polinomio C(z) per A(z). Il risultato della divisione
è un polinomio
E(z) = e0 + e1 z −1 + · · · + ek−1 z −(k−1)
e il resto della divisione è z −k F̃ (z). Vale quindi la relazione
Una volta ottenuti i polinomi E(z) e F̃ (z), bisogna ricavare il predittore. Moltiplicando
ambo i membri della 2.1 per il polinomio E(z) si ottiene
F̃ (z) B(z)E(z)
y(t + k) = y(t) + u(t) + E(z)η(t + k)
C(z) C(z)
cioè è una combinazione lineare dei campioni di rumore bianco futuri rispetto all’istante
di tempo t, quindi è impredicibile all’istante di tempo t. In questa scrittura, quindi, si è
16 CONTROLLO PREDITTIVO E SISTEMI ADATTATIVI
η(t)
S
C(z)
F̃ (z)
C
separata la dipendenza dal passato rispetto a t dalla dipendenza dal futuro. Il predittore si
ottiene semplicemente cancellando la parte impredicibile:
F̃ (z) B(z)E(z)
ŷ(t + k|t) = y(t) + u(t) (2.3)
C(z) C(z)
Il controllore a minima varianza si ottiene imponendo che la predizione sia uguale al segnale
di riferimento: ŷ(t + k|t) = y ◦ (t)
Osservazione. Confrontando l’equazione 2.2 e la 2.3 si può notare che l’errore di predizione
è dato dato da
y(t + k) − ŷ(t + k|t) = E(z)η(t + k)
La varianza dell’errore di predizione è quindi
dove e0 = 1
In sintesi, il controllore assume la seguente forma:
e in assenza di disturbi (cioè se η(t) = 0), y(t) = y ◦ (t − k). Come nel caso k = 1, bisogna
introdurre nel controllo a minima varianza qualche elemento di flessibilità, che consenta un
comportamento migliore della variabile di controllo.
JM V = E [(y(t + k) − y ◦ (t))]
CONTROLLO A MINIMA VARIANZA GENERALIZZATA (GMV) 17
y(t + k)
P (z)
+ yG (t + k)
−
u(t)
Q(z)
dove P (z) e Q(z) sono funzioni di trasferimento scelte dal progettista del sistema di controllo.
Questa cifra di merito confronta il segnale di riferimento con quella che viene detta uscita
generalizzata ỹ(t + k), ricavata come da schema a blocchi di figura 2.5.
Per calcolare C, si riconduce il problema del controllo GMV a un problema di controllo a
minima varianza, e poi si applicano i risultati ottenuti precedentemente. Siano
PN (z) QN (z)
P (z) = Q(z) =
PD (z) QD (z)
dove ỹ è generato del modello ARMAX 2.4. Si possono quindi applicare le formule già
ottenute per il controllo a minima varianza per il sistema
S
C(z)
ȳ ◦ 1 + 1 y
+ u +
H(z) z −1 B(z)
− G(z) A(z)
F (z)
C
Sostituendo ỹ ◦ (t) = y ◦ (t) − Q(z)u(t) e ỹ(t) = P (z)y(t), l’espressione del controllore diventa
C : G(z)u(t) + F (z)y(t) − H(z)y ◦ (t) = 0
dove
G(z) = PD (z) [B(z)QD (z)E(z) + C(z)QN (z)]
F (z) = F̃ (z)QD (z)
H(z) = C(z)PD (z)QD (z)
In figura 2.6 è presentato lo schema a blocchi del controllore.
Non è stato ancora affrontato il problema della scelta dei polinomi P (z) e Q(z). I due
casi paradigmatici, in cui è semplice ricavare P (z) e Q(z), sono il progetto a modello di
riferimento e il progetto a controllo penalizzato. Nel progetto a modello di riferimento si
fissa Q(z) = 0 ottenendo la seguente espressione della cifra di merito:
h i
2
J = E (P (z)y(t + k) − y ◦ (t))
Controllo penalizzato In questo caso, P (z) = 1 cioè PN (z) = 1 e PD (z) = 1. Si ricava che
il polinomio caratteristico dell’anello chiuso è
∆ = C(z) [B(z)QD (z) + A(Z)QN (z)]
e la funzione di trasferimento del sistema complessivo in anello chiuso è
1
S(z) = z −k A(z)
1 + Q(z) B(z)
Si può osservare che in questo caso, il polinomio caratteristico non ha come fattore B(z),
quindi il controllo penalizzato può essere applicato anche a sistemi di loro natura instabili.
I poli del sistema in anello chiuso possono essere calcolati come
c=0 (poli fissi)
B(z)QD (z) + A(z)QN (z) = 0 (poli mobili)
Bisogna quindi scegliere i polinomi QN (z) e QD (z) in modo che i poli siano tutti in modulo
minori di 1. Una prima possibile scelta è quella di porre Q(z) costante, cioè QN (z) = λ e
QD (z) = 1, dove λ è una costante. I poli mobili si ricavano quindi dalla relazione
B(z) + λA(z) = 0
che fornisce un insieme di soluzioni al variare di λ. Tracciando il luogo delle radici di questo
polinomio nel piano complesso, si nota che per λ = 0 le doluzioni coincidono con gli zeri
dell’impianto e per λ → ∞ con i poli. Dall’analisi di questo luogo delle radici, si sceglie λ in
modo che (a) le radici di B(z) + λA(z) siano all’interno del cerchio di raggio unitario e (b)
si abbia una buona risposta all’anello chiuso. La funzione di trasferimento, una volta scelto
λ risulta
1
S(z) = z −k A(z)
1 + λ B(z)
e ha guadagno pari a
1
S(z)|z=1 = −1 6= 1
1 + λ · (guadagno in anello aperto)
Quindi, più si aumenta λ più il guadagno si allontana dal valore unitario: in ogni caso,
con questa scelta di Q(z) a regime ci sarà sempre discrepanza tra l’uscita y e il segnale di
riferimento y ◦ , anche in assenza di rumore. Per garantire un guadagno di S(z) unitario, si
può quindi effettuare una scelta diversa. Ponendo
Q(z) = λ(1 − z −1 )
si ha che, per ogni valore di λ,
Q(z)|z=1 = 0
Quindi, con questa scelta di Q(z), si è garantito un guadagno unitario per la funzione di
trasferimento, per ogni valore di λ:
S(z)|z=1 = 1
Un problema di questa soluzione è che si complica la scelta di λ, in quanto si aggiunge un
polo nel luogo delle radici.
20 CONTROLLO PREDITTIVO E SISTEMI ADATTATIVI
Una tecnica diversa, denominata MPC (model prediction control) si può ottenere esprimendo
la cifra di merito come
2
Ny Nu
X X
J = E (y(t + k + i) − ȳ ◦ ) + λj u(t + j)
i=0 j=0
In questa tecnica si considera l’effetto del segnale u(t) su un certo orizzonte temporale
(recording horizon), a differenza del controllo a minima varianza generalizzata, in cui si
considera l’effetto di u(t) solo su un singolo punto.
yo + u(t) y(t)
H(z) - 1/G(z) S
y(t)
F(z)
A
Sint. B
C
Identificatore
Nella tecnica MPC, il cui schema è rappresentato in figura 2.7, vengono stimati in tempo
reale i polinomi del controllore Ĥ, F̂ , Ĝ, data la stima dei polinomi del modello Â, B̂, Ĉ. Per
questo motivo, il metodo prende il nome di controllo adattativo. Esistono diverse logiche
di sintonia (tuning) del controllore a partire dai dati identificati. Una di queste è data
dal principio di equiparazione alla certezza (CEP), in cui i parametri (i polinomi) stimati
vengono usati come se fossero i parametri veri, senza tenere conto dell’incertezza della stima.
Osservazione. Il controllore ottenuto è non lineare, a causa del processo di identificazione
a partire dai dati.
3 Identificazione non lineare
Dati u1 (·), u2 (·), y(·), un modello lineare (regressione lineare) è espresso dalla relazione
dove
ϕ(t)T = [u1 (t)u2 (t)1]
Il vettore dei parametri ϑ può essere ricavato con il metodo dei minimi quadrati. In alcuni
casi, l’errore che viene ottenuto utilizzando un modello di regressione lineare è troppo elevato:
è quindi necessario passare a modelli non-lineari.
Modelli non-lineari piuttosto diffusi sono le reti neurali. Nella rete neurale standard
rappresentata in figura 3.1, vale la relazione
(1) (1) (1) (2) (2) (2)
ŷ(t) = w1 · σ ϑ0 + ϑ1 u1 (t) + ϑ2 u2 (t) + w2 · σ ϑ0 + ϑ1 u1 (t) + ϑ2 u2 (t)
dove σ(·) è una funzione non-lineare, come la funzione sigmoidale. Si può dimostrare che,
data una qualunque funzione non-lineare, si può sempre troare una rete neurale (aumentando
il numero di neuroni oppure di strati della rete) che approssima la funzione data, utilizzando
funzioni sigmoidali nei blocchi non-lineari.
Per la stima dei parametri, viene utilizzata la backward propagation, un algoritmo iterativo
che stima i parametri di uno strato a partire dallo strato precedente.
neurone artificiale
θ0(1)
u1(t) θ1(1)
S(t) y(t)(1) w
σ(∙) 1 σ
u2(t) θ2(1) + 1
θ0(2) y(t)
+
θ1(2)
y(t) (2) S
σ(∙) w2
θ2(2) funzione sigmoidale
Un modello di stato SISO (l’ingresso u(t) e l’uscita y(t) sono scalari) ha la forma
(
x(t + 1) = F x(t) + Gu(t)
(4.1)
y(t) = Hx(t)
dove x(t) è un vettore di n elementi, detto vettore di stato. L’uscita y(t) dipende da x(t) e
dall’ingresso al tempo t, u(t): a differenza dei modelli ingresso/uscita, l’uscita non dipende
direttamente dal passato dell’ingresso.
Osservazione. Dato un comportamento esterno (ingresso/uscita) del sistema, esistono in-
finiti modelli di stato che lo rappresentano. Infatti, se si effettua un cambiamento di base
del vettore di stato x
x̃(t) = T x(t)
con T non singolare, e si riscrive il sistema secondo la nuova base
(
x̃(t + 1) = F̃ x̃(t) + G̃u(t)
y(t) = H̃ x̃(t)
da cui
F̃ = T F T −1
G̃ = T G (trasformazione di similitudine)
−1
H̃ = HT
2. Possono esistere sistemi con un diverso numero di variabili di stato, ma con la stessa
funzione di trasferimento.
Definizione. Data una funzione di trasferimento W (z), una terna (F, G, H) tale che il
sistema (espresso come modello di stato) S abbia funzione di trasferimento W (z) si dice
realizzazione
Definizione. Una realizzazione si dice minima se non esiste una realizzazione con un numero
minore di varaibili di stato
4.1 Raggiungibilità
Per quanto riguarda la raggiungibilità, si considera soltanto lo stato interno del sistema:
• per t = 0, x(0) = 0
• per t = 2, x(2) = F x(1) + Gu(1) = F Gu(0) + Gu(1), che è l’insieme delle combinazioni
lineari delle colonne F G, G
• ...
F i = α1 F + · · · + αi−1 F i−1
Rk = G F G F 2 G . . . F k−1 G
4.2 Osservabilità
La proprietà di osservabilità riguarda la possibilità di distinguere, osservando l’uscita, gli
stati interni del sistema. In generale, l’uscita y dipende dal segnale u e dallo stato iniziale:
Nel seguito del paragrafo supporremo inoltre che u(·) sia un segnale fissato. In particolare,
considereremo1 u(t) = 0 per ogni t.
Definizione. Un sistema si dice osservabile (la coppia (F, H) è osservabile) se ad ogni uscita
corrisponde uno e un solo stato iniziale
Si ha:
y(0) = Hx(0)
y(1) = HF x(0)
y(2) = HF 2 x(0)
...
Introducendo la matrice
H
HF
k
O =
HF 2
...
HF k−1
si può provare che il sistema è osservabile quando tale matrice ha rango n. Considerando il
teorema di Hamilton, è sufficiente considerare la matrice troncata a k = n.
1 si può dimostrare che i risultati che verranno ricavati sono equivalenti per un qualunque segnale u(t)
26 IDENTIFICAZIONE
Le matrici F, G, H sono.
0.5 0 2
F = G= H= 1 0
0.7 0 1
4.3 Identificazione
Si consideri un sistema SISO espresso in forma di stato:
(
x(t + 1) = F x(t) + Gu(t)
y(t) = Hx(t)
Si vuole ricavare dai dati, ossia dalle misure di u(·) e y(·), la terna F, G, H. Sperimental-
mente, si effettuano esperimenti in risposta impulsiva:
x(0) = 0
(
1 t=0
u(t) = imp(t) =
0 t 6= 0
IDENTIFICAZIONE 27
ottenendo
y(0) = 0
y(1) = HG
y(2) = Hx(2)
y(3) = Hx(3) = HF 2 G
...
Dalla risposta impulsiva, si può costruire la matrice di Hankel del sistema (matrice che
ha elementi uguali per controdiagonali):
HF G HF 2 G . . .
y(1) y(2) y(3) . . . HG
y(2) y(3) y(4) . . . HF G HF 2 G HF 3 G . . .
H∞
= =
y(3) y(4) y(5) . . . HF 2 G HF 3 G HF 4 G . . .
... ... ... ... ... ... ... ...
H
HF
G F G F 2G . . .
=
HF 2
...
H∞ = O∞ R∞
Supponendo che la terna (F, G, H) sia data, e sia una realizzazione minima, (F, H) è os-
servabile e (G, H) è raggiungibile. Quindi rank(O) = n e rank(R) = n. Sotto queste
condizioni, si può dimostrare che anche rank(H∞ ) = n: quindi il numero delle colonne (o
delle righe) linearmente indipendenti di H fornisce il numero delle variabili di stato della
rappresentazione minima della risposta impulsiva misurata2 .
deve potersi scrivere come il prodotto della matrice di osservabilità per la matrice di rag-
giungibilità:
H
HF
Hn = 2
HF 2 G F G F G . . .
...
Per ottenere queste due matrici basta calcolare, mediante un apposito algoritmo di calcolo
numerico, una delle possibili fattorizzazioni della matrice di Hankel come il prodotto di due
matrici n × n. Quindi si ricava H prendendo la prima riga di On e si ricava G come la prima
colonna della matrice R. Per trovare F , si segue questo procedimento:
2 Chiaramente, nei casi reali, si costruisce la matrice di Hankel di ordine >> n, finito
28 IDENTIFICAZIONE
Sia (
x(t + 1) = F x(t) + Gu(t) + v1 (t)
(5.1)
y(t) = Hx(t) + v2 (t)
un sistema dinamico lineare, dove lo stato x è un vettore di n elementi, e l’uscita y è un
vettore di p elementi. Per ipotesi, i vettori v1 e v2 sono rumori bianchi a valore atteso nullo e
incorrelati tra loro, la cui matrice varianza è rispettivamente V ar[v1 ] = E[v1 (t)v1 (t)T ] = V1
e V ar[v2 ] = E[v2 (t)v2 (t)T ] = V2 :
v1 ∼ W N (0, V1 ) v2 ∼ W N (0, V2 )
Lo stato iniziale del sistema è una variabile casuale x(1) di valore atteso 0 e varianza P1 .
Il problema del filtraggio e della predizione alla Kalman è il seguente: dati u(t), y(t) per
t = 1, . . . , N si vuole stimare lo stato x. A seconda dell’istante di tempo in cui si vuole
stimare lo stato, si distinguono:
• problema della predizione (a 1 passo): l’incognita è x(N + 1) noti i dati fino all’istante
di tempo N
Per come è stato formulato il problema, x(·) e y(·) sono sequenze di vettori casuali. È quindi
necessario per prima cosa affrontare il problema della stima di una variabile casuale a partire
da un’altra variabile causale.
Si pone quindi
∂J = 0
∂α
∂J
=0
∂β
Svolgendo i calcoli, tenendo conto che d e ϑ hanno valore atteso nullo:
∂J
= E [−2d(ϑ − αd − β)] =
∂α
= 2 −E[dϑ] + αE[d2 ] + βE[d] = 2(−λϑd + αλdd )
Lo stimatore di Bayes può essere generalizzato al caso in cui d e ϑ hanno valore atteso non
nullo. Se E[ϑ] = ϑm e E[d] = dm , le formule diventano
λdϑ
ϑ̂ = ϑm + (d − dm )
λdd
λ2
V ar[ϑ − ϑ̂] = λϑϑ − ϑd
λdd
λ2ϑd
V ar[ϑ − ϑ̂] = λϑϑ − = λϑϑ (1 − ρ2 )
λdd
dove
λϑd
ρ= √
λϑϑ λdd
è il coefficiente di covarianza. Siccome |ρ| ≤ 1, accade sempre che V ar[ϑ − ϑ̂] ≤ λϑϑ .
Quanto detto sulla stima di Bayes si può interpretare come segue:
• In assenza di dati (situazione a priori), ϑ ha valor medio ϑm e varianza λϑϑ .
• Una volta misurato il dato d (situazione a posteriori), si può stimare ϑ con la formula
di Bayes. Cosı̀ facendo, l’errore di stima vale λϑϑ (1 − ρ2 ). L’osservazione di d riduce
l’incertezza della stima di ϑ. In particolare, nel caso ρ = 0 (d e ϑ incorrelati), l’incer-
tezza a posteriori è uguale all’incertezza a priori; se invece ρ e d sono massimamente
correlati |ρ| = 1, l’incertezza a posteriori è nulla.
STIMA DI BAYES 31
Le formule di Bayes si possono generalizzare anche al caso in cui d e ϑ sono vettori casuali
di dimensione qualsiasi (anche diversa tra loro). Se
d dm Λdd Λdϑ
∼ ,
ϑ ϑm Λϑd Λϑϑ
ϑ̂ = ϑm + Λϑd Λ−1
dd (d − dm )
Anche nel caso vettoriale V ar[ϑ − ϑ̂] ≤ Λϑϑ (dove la scrittura ≤ significa che la differenza
tra le due matrici è semidefinita negativa).
λ2ϑd
errore2 = ||g2 ||2 − ||ĝ2 || = λϑϑ −
λdd
λϑd
ϑ̂ = E[ϑ|d] = d
λdd
può essere generalizzata al caso in cui ci sono più dati, ad esempio d(1), d(2):
Se
ϑ 0 λϑϑ λϑ1 λϑ2
d(1) ∼ 0 , λ1ϑ λ11 λ12
d(2) 0 λ2ϑ λ21 λ22
la stima di Bayes risulta essere
λ11 λ12 d(1)
ϑ̂ = λϑ1 λϑ2
λ21 λ22 d(2)
Di questa stima è possibile inoltre ottenere un’espressione ricorsiva, ovvero scrivere la stima
come
E[ϑ|d(1), d(2)] = E[ϑ|d(1)] + . . .
Svolgendo i calcoli, si arriva all’espressione
λϑ1 1 λ12 λ12
ϑ̂ = d(1) + 2 λϑ2 − λϑ1 d(2) − d(1) (5.2)
λ11 λ λ11 λ11
| {z }| {z }
λϑe e
dove
λ212
λ2 = λ22 −
λ11
Definizione. Siano d(1) e d(2) variabili casuali. Si dice innovazione di d(2) rispetto a d(1)
è la variabile casuale
λ12
e = d(2) − d(1)
λ11
La variabile innovazione ha le seguenti proprietà:
λ12
• E[e] = E[d(2)] − λ11 E[d(1)] = 0. perché i dati hanno valore medio nullo per ipotesi
λ212
• Var[e] = λee = E[e2 ] = λ22 − λ11 = λ2 , quindi λ2 si interpreta come la varianza
dell’innovazione
λ12
• λϑe = E[ϑe] = λϑ2 − λ11 λϑ1
λ12
• λ1e = E[λ12 − λ11 λ11 = 0, ossia il dato d(1) e l’innovazione sono scorrelate
PREDITTORE DI KALMAN A UN PASSO 33
piano generato
da d(1) e d(2)
E[ϑ | d(1)] E[d(2) | d(1)]
d(1)
Considerando gli elementi dell’insieme y N , e indicando con f (·) una generica dipenden-
za funzionale, osservando l’equazione che definisce il sistema si può notare che y(1) =
f (x(1), v2 (1)), y(2) = f (x(2), v2 (2)) = f (x(1), v1 (1), v2 (2)), e cosı̀ via. Quindi l’insieme
y N dipende solo dallo stato iniziale, dai valori passati di v1 fino a N − 1 (insieme denotato
con v1N −1 , e dall’insieme v2N dei valori di v2 fino a N :
Supponendo che v1 e v2 siano rumori bianchi tra loro incorrelati, e che lo stato iniziale sia
incorrelato con v1 e v2 , allora y N non porta alcuna informazione su v1 e v2 all’istante di
tempo N + 1. Il valor medio a posteriori di v1 e v2 è quindi uguale al valor medio a priori, e
il termine E[v2 (N + 1)|y N ] si annulla (il valor medio a priori di v2 è nullo). In conclusione,
il predittore dell’uscita è dato da
Innovazione Nel contesto della predizione alla Kalman, definiamo innovazione all’istante
di tempo N la differenza tra l’ultimo valore dell’uscita e la sua stima effettuata conoscendo
tutti i dati precedenti:
dove x(N ) − X̂(N |N − 1) = ν(N ) è l’errore di predizione dello stato. Vi è quindi un semplice
legame tra l’errore di predizione di y e l’errore di predizione di x:
e(N ) = Hν(N ) + v2 (N )
Osservazione. L’innovazione e(N ) e l’errore di predizione dello stato ν(N ) sono entrambi
ortogonali al sottospazio del passato, cioè al piano generato da y(N − 1), y(N − 2), . . . .
Predittore dello stato Per ricavare il predittore dello stato, sfruttiamo la formula di Bayes
ricorsiva:
(per l’indipendenza di v1 (N ) da y N −1 vale lo stesso discorso fatto nel caso del predittore
dell’uscita), e il secondo elemento, applicando la formula di Bayes (a lotti), è pari a
e(N ) = Hν(N ) + v2 (N )
PREDITTORE DI KALMAN A UN PASSO 35
si ottiene (i doppi prodotti indicati con . . . si azzerano perché le variabili casuali coinvolte
sono incorrelate)
Λe(N )e(N ) = E[e(N )e(N )T ] = E[Hν(N )ν(N )T H T + v2 (N )v2 (N )T + 2Hν(N )v2 (N )T ] =
= HE[ν(N )ν(N )T ]H T + E[v2 (N )v2 (N )T ] + · · · =
= HP (N )H T + V2
avendo indicato con
P (N ) = E[ν(N )ν(N )T ]
la matrice varianza dell’errore di predizione dello stato e con V2 la matrice varianza di v2 .
Con analoghi calcoli,
Λx(N +1)e(N ) = F P (N )H T
Il predittore dello stato è dato quindi dalla relazione
−1
E[x(N + 1)|e(N )] = HP (N )H T HP (N )H T + V2 e(N ) = K(N )e(N )
Il termine K(N ) è detto guadagno del predittore di Kalman. Sinteticamente, il predittore è
definito dalle relazioni seguenti (sotto l’ipotesi che v1 e v2 siano incorrelati):
v1 (N ) v2 (N )
F
S
K(N )
e(N )
−
+
x̂(N + 1|N ) x̂(N |N − 1) ŷ(N |N + 1)
z −1 H
+
F
Ŝ
P (N + 1) = F P (N )F T + V1 − K(N ) HP (N )H T + V2 K(N )T
Inizializzazione Considerando l’istante 1 come istante iniziale, i valori iniziali del predittore
di Kalman sono:
x̂(1|0) = E[x(1)|dati al tempo 0] = E[x(1)] = 0
(oppure x̂(1|0) = x1 se la media è non nulla), e
h i
T
P (1) = E (x(1) − x̂(1|0)) (x(1) − x̂(1|0)) = V ar[x(1)] = P1
In generale
x̂(N + k|N ) = F k−1 x̂(N + 1|N )
5.3.2 Filtraggio
Sfruttando i risultati ottenuti per il predittore, il filtro di Kalman si calcola applicando la
stima ricorsiva di Bayes:
dove
K0 (N ) = Λx(N )e(N ) Λe(N )e(N ) = P (N )H T HP (N )H T + v2
prende il nome di guadagno del filtro. Vale la relazione K(N ) = F K0 (N ), dove K(N ) è il
guadagno del predittore. Se F è una matrice non singolare, il filtro di Kalman può essere
anche espresso dalla
x̂(N |N ) = F −1 x̂(N + 1|N )
5.3.3 Generalizzazioni
La teoria della predizione e del filtraggio alla Kalman può essere generalizzata in varie
direzioni:
• Vale anche per sistemi lineari tempo-varianti
• In presenza di una variabile esogena (sistema nella forma dell’equazione 5.1),
lim P (N ) = P̄
N →∞
Ci si aspetta quindi che la varianza dell’errore di predizione commesso dal predittore ottimo
sia più piccola di questo valore, e quindi a maggior ragione che sia limitata. Si può provare4
infatti il seguente
Teorema 5.1 (Primo teorema di convergenza della DRE). Se il meccanismo di generazione
dei dati è stabile, a partire da una qualunque condizione iniziale P1 ≥ 0, la soluzione P (t)
della DRE converge sempre al medesimo limite (matriciale) P̄ . Inoltre, il predittore di
Kalman di regime è stabile
Il motivo per cui il predittore di regime è stabile è il seguente: i segnali x(·) e y(·) sono
processi stazionari. Se il predittore, che ha y come ingresso, fosse instabile, la predizione
sarebbe divergente: la predizione di un processo stazionario x sarebbe un processo non
stazionario x̂.
La stabilità del sistema comunque non è condizione necessaria per la convergenza della
DRE. Ad esempio, sia S il sistema
x(t + 1) = αx(t) + v1 (t)
y(t) = γx(t) + v2 (t)
dove β 2 è la varianza di v2 (t), α, β, γ sono scalari e |α| > 1 (il sistema è instabile).
L’equazione di Riccati (DRE) è data da
α2 γ 2 P (t) α2 P (t)
P (t + 1) = α2 P (t) + β 2 − 2
= β2 +
γ P (t) + 1 1 + γ 2 P (t)
α2 P
P = β2 +
1 + γ2P
Se P (t) converge a P , cioè se limt→∞ P (t) = P̄ , allora P̄ è una soluzione non negativa della
ARE. Vediamo come evolve il sistema a partire da una condizione iniziale P1 non negativa.
α2 x
In figura 5.3(a) è riportato il grafico della curva y = β 2 + 1+γ 2 x . Se i valori dell’ascissa
che agiscono sullo stato e sull’uscita – di matrici varianza rispettivamente V1 e V2 – sono indipendenti
tra loro e sono indipendenti dalla condizione iniziale x(1). Inoltre V2 è una matrice definita positiva. Per
dettagli vedere il testo [2].
CONVERGENZA DELL’EQUAZIONE DI RICCATI 39
Come si vede dal grafico, esistono in generale due soluzioni P̃ < 0 e P̄ > 0. La soluzione
negativa va scartata, poiché P (t) è in generale una matrice semidefinita positiva, e quindi
non può che convergere a una matrice semidefinita positiva. A partire da una determinata
condizione iniziale P1 , non negativa, si può vedere dalla figura 5.3(b) che se P (t) a un certo
istante è minore di P̄ , a un istante successivo P (t + 1) assumerà un valore più elevato di
P (t), ovvero la soluzione dell’equazione è monotona crescente e tende a P̄ . Consideriamo
invece i valori che può assumere γ:
Vale il seguente
Teorema 5.2 (Secondo teorema di convergenza della DRE). Se la coppia (F, G) del sistema
di generazione dai dati è raggiungibile, e la coppia (F, H) è osservabile, allora P (t) → P̄
(la soluzione della DRE converge asintoticamente a una e una sola matrice, soluzione della
ARE). Inoltre, il predittore di Kalman di regime è stabile, e P̄ è definita positiva.
I risultati sulla convergenza della DRE possono essere ulteriormente generalizzati. Sia x1
la parte non osservabile dello stato del sistema, e x2 la parte osservabile. x1 non influenza y,
in quanto non è nell’uscita e non è osservabile. Se la x2 non è stabile, si può stimare lo stesso
lo stato x2 , perché porta la sua informazione sull’uscita, purché la parte non osservabile sia
stabile. Quello che è importante è che sia stabile la parte non osservabile oppure la parte
non raggiungibile. Questo fatto è espresso dal seguente
Teorema 5.3 (Teorema generale di convergenza). Se la parte non osservabile e la parte non
raggiungibile del sistema di generazione dei dati sono stabili, per ogni condizione iniziale
P1 ≥ 0, la soluzione P (t) della DRE converge a un limite P̄ (sempre lo stesso per ogni
condizione iniziale), e il predittore di Kalman di regime è stabile.
Quando i rumori v1 e v2 sono correlati, i teoremi di convergenza della DRE non sono
valido. In questo caso, si porta il sistema in una nuova forma in cui i rumori sono scorrelati
e si applicano i teoremi al nuovo sistema.
s(t) = x̂(t|t − 1)
40 FILTRO DI KALMAN
Figura 5.3
CONVERGENZA DELL’EQUAZIONE DI RICCATI 41
Il filtro ottenuto mediante questo procedimento è chiamato filtro di Kalman esteso (EKF,
Extended Kalman Filter).
Esempio 5.1: Un uso frequente del filtro di Kalman esteso è la stima di parametri di un modello lineare.
Ad esempio, per stimare lo stato x e il parametro incognito α del sistema
x1 (t + 1) = αx1 (t) + 3x2 (t) + v11 (t)
x2 (t + 1) = 0.5x1(t) + 0.8x2 (t) + v12 (t)
y(t) = x2 (t) + v2 (t)
si trasforma il parametro incognito in una nuova variabile di stato:
α(t + 1) = α(t) + v13 (t)
x1 (t + 1) = α(t)x1 (t) + 3x2 (t) + v11 (t)
x (t + 1) = 0.5x1(t) + 0.8x2 (t) + v12 (t)
2
y(t) = x2 (t) + v2 (t)
A questo punto, si stima lo stato esteso del nuovo sistema – che non è più lineare – mediante l’EKF.
Bibliografia