You are on page 1of 27

Lezione 8.

Controllo predittivo a minima varianza

F. Previdi - Controlli Automatici - Lez. 8 1


Schema della lezione

1. Introduzione
2. Esempio esplicativo 1
3. Esempio esplicativo 2
4. Soluzione del problema generale (modelli ARMAX)

F. Previdi - Controlli Automatici - Lez. 8 2


1. Introduzione

Formulazione di un problema di controllo in retroazione in contesto


stocastico (basato su modelli ARMAX).
Il progetto sar basato sulla minimizzazione di una funzione costo.
Il risultato sar un controllore ottimo (nel senso dato dalla funzione costo
utilizzata).

F. Previdi - Controlli Automatici - Lez. 8 3


Sistema sotto controllo: modello ARMAX
e(t) A(z ) = 1 + a1 z 1 + + am z m
B (z ) = b0 + b1 z 1 + + bp z p
C (z )
C (z ) = 1 + c1 z 1 + + cn z n
A(z )
e(t ) WN (0, 2 )

+
u(t) B (z ) y(t)
z k
A(z ) y (t ) = B (z )u (t k ) + C (z )e(t )
A(z ) +

Segnale di riferimento y 0 (t ) (deve essere un pss)

Specifica del problema di controllo y0~y da formulare in


contesto stocastico.

F. Previdi - Controlli Automatici - Lez. 8 4


Formulazione del problema di controllo

Dato un modello ARMAX trovare un controllore (descritto da un


sistema LTI a tempo discreto) che minimizzi la seguente quantit
[
J = E ( y (t ) y 0 (t ))
2
]
cio che minimizzi la varianza della differenza tra variabile
controllata e variabile di riferimento.

Controllo a Minima Varianza (MV)

Nota Bene
Il controllore sar un sistema LTI con ingressi y 0 (t ) ed y (t ) e con uscita lazione di
controllo u (t ) .

F. Previdi - Controlli Automatici - Lez. 8 5


2. Esempio esplicativo 1
Consideriamo il seguente esempio noise free (modello deterministico)
A(z ) = 1 a1 z 1 B (z ) = b0 + b1 z 1
y (t ) = ay (t 1) + b0u (t 1) + b1u (t 2 )
C (z ) = 0 k =1

Ipotesi
1) b0 0 (il ritardo puro sia effettivamente solo un passo)
2) il sistema sia a fase minima ( B(z ) abbia radici dentro al cerchio unitario)
3) y 0 (t ) = y 0 (il riferimento sia costante problema di regolazione)

La funzione costo quindi diventa


[
J = E ( y (t ) y 0 (t ))
2
] = (y(t ) y (t )) = (y(t ) y )
0 2 0 2

deterministico riferimento costante


F. Previdi - Controlli Automatici - Lez. 8 6
Soluzione del problema
Dato il modello-esempio, trovare un controllore (descritto da un
sistema LTI a tempo discreto) che minimizzi la seguente quantit
J = ( y (t ) y 0 )
2

Sostituiamo lequazione del modello


J = (ay (t 1) + b0u (t 1) + b1u (t 2 ) y 0 )
2

Dal momento che la funzione costo J 0 il minimo si avr per J = 0


ay (t 1) + b0u (t 1) + b1u (t 2 ) y 0 = 0
Se b0 0 (ipotesi 1) allora si pu scrivere
u (t 1) =
1
b0
( b1u (t 2 ) ay (t 1) + y 0 )

da cui
u (t ) =
1
b0
( b1u (t 1) ay (t ) + y 0 )

F. Previdi - Controlli Automatici - Lez. 8 7


S y (t ) = ay (t 1) + b0u (t 1) + b1u (t 2 )

C u (t ) =
1
b0
( b1u (t 1) ay (t ) + y 0 )

y0 1 u(t) b0 + b1 z 1
1
y(t)
b0 + b1 z 1 z
+_ 1 az 1

Nota Bene 1 Controllore


Dallo schema a blocchi si capisce bene la necessit dellipotesi 2 (sistema a
fase minima). Infatti il polo del controllore cancella lo zero del sistema.

Nota Bene 2
Controllore a 2 gradi di libert (2 Degrees of Freedom / 2-DOF), infatti
lazione di controllo non dipende dallerrore e(t ) = y 0 y (t ) ma da uscita e
riferimento separatamente.
F. Previdi - Controlli Automatici - Lez. 8 8
Stabilit in anello chiuso
La soluzione trovata stabilizza il sistema (in tutte le condizioni o
con dei limiti) ?
La funzione di trasferimento danello :
1 b0 + b1 z 1
L(z ) = a
1
z
1 1

b +
0 1
b z 1 az

Il polinomio caratteristico in anello chiuso :


(z ) = N L (z ) + DL (z ) = az 1 (b0 + b1 z 1 ) + (b0 + b1 z 1 )(1 az 1 ) =
= (b0 + b1 z 1 )(az 1 + 1 az 1 ) = b0 + b1 z 1

Lo zero del sistema (in anello aperto) il polo del sistema in


anello chiuso.
Quindi, come gi osservato, indispensabile lipotesi 2.

F. Previdi - Controlli Automatici - Lez. 8 9


Completiamo con il calcolo della funzione di trasferimento in
anello chiuso.
1 1 b0 + b1 z 1
z
1 1

+
F ( z ) = 0 1 =
b b z 1 az
1 1 b0 + b1 z 1
1 + a z
1 1

b0 + b1 z 1 az
z 1 (b0 + b1 z 1 ) z 1
= = = z 1
(b0 + b1z )(1 az ) + az (b0 + b1z ) 1 az + az
1 1 1 1 1 1

ipotesi 2

La funzione di trasferimento del sistema in anello chiuso un


ritardo puro (pari al ritardo puro del sistema).

Siccome il riferimento costante (ipotesi 3), in anello chiuso si ha

y (t ) = y 0

F. Previdi - Controlli Automatici - Lez. 8 10


Osservazione
E possibile progettare un controllore applicando il metodo di
Ragazzini, richiedendo risposta in tempo minimo ed errore nullo a
regime.
Si ottiene il seguente risultato (1-DOF !!)
1 az 1
R (z ) =
(b0 + b1z 1 )(1 z 1 )
integratore

errore

y0 e(t) 1 az 1 u(t) b0 + b1 z 1
1
y(t)
+ _ (b0 + b1z 1 )(1 z 1 ) z
1 az 1

z 1
La funzione di trasferimento danello : L(z ) =
1 z 1
L(z )
La funzione di trasferimento in anello chiuso : F (z ) = = z 1
1 + L(z )
Il comportamento in anello chiuso lo stesso del precedente.
F. Previdi - Controlli Automatici - Lez. 8 11
3. Esempio esplicativo 2
Consideriamo il seguente modello
A(z ) = 1 a1 z 1 B (z ) = b0 + b1 z 1
y (t ) = ay (t 1) + b0u (t 1) + b1u (t 2 ) + e(t )
C (z ) = 1 k =1
e(t ) WN (0, 2 )

Formuliamo il problema di inseguimento di un pss y 0 (t )

Ipotesi
1) b0 0 (il ritardo puro sia effettivamente solo un passo)
2) il sistema sia a fase minima ( B(z )abbia radici dentro al cerchio unitario)
3) y 0 (t ) e(t ) ( y 0 (t ) incorrelato con e(t ) )

Per risolvere il problema bisogna minimizzare la funzione costo

[
J = E ( y (t ) y 0 (t ))
2
]
F. Previdi - Controlli Automatici - Lez. 8 12
Scomponiamo y (t ) nella sua predizione ad un passo y (t | t 1) pi
lerrore di predizione (t )
y (t ) = y (t | t 1) + (t )

Calcoliamo il predittore ad un passo per scoprire come fatto lerrore di predizione


y (t ) = ay (t 1) + b0u (t 1) + b1u (t 2 ) + e(t )
b0 + b1 z 1 A(z ) = 1 a1 z 1 B (z ) = b0 + b1 z 1
y (t ) = ( ) e(t )
1
u t 1 +
1 az 1 1 az 1 C (z ) = 1
Il predittore dato da
B (z ) C (z ) A(z )
y (t | t 1) = u (t 1) + y (t )
C (z ) C (z )
y (t | t 1) = (b0 + b1 z 1 )u (t 1) + a1 z 1 y (t )

y (t | t 1) = a1 y (t 1) + b0u (t 1) + b1u (t 2 ) y (t ) = ay (t 1) + b0u (t 1) + b1u (t 2 ) + e(t )

(t ) = e(t ) errore di predizione

F. Previdi - Controlli Automatici - Lez. 8 13


Sostituiamo quindi predittore + errore nella funzione costo
[
J = E ( y (t ) y 0 (t )) ] = E [(y (t | t 1) + e(t ) y (t )) ] =
2 0 2

= E [( y (t | t 1) y (t )) ] + E [e(t ) ] + 2 E [e(t )( y (t | t 1) y (t ))]


0 2 2 0

2 0
e(t ) y 0 (t ) sono scorrelati (per ipotesi 3)
e(t ) y (t | t 1) sono scorrelati (ovvio)

Quindi
[
J = E ( y (t ) y 0 (t ))
2
] = E [(y (t | t 1) y (t )) ] +
0 2 2

Valore finito non


modificabile dal controllo
Quindi il minimo valore possibile si ha per
[
E ( y (t | t 1) y 0 (t ))
2
] =0
cio per y (t | t 1) = y 0 (t ) Idea base del controllo predittivo

F. Previdi - Controlli Automatici - Lez. 8 14


Soluzione del problema
y (t | t 1) = y 0 (t )

Lespressione del predittore


y (t | t 1) = a1 y (t 1) + b0u (t 1) + b1u (t 2 )
quindi
a1 y (t 1) + b0u (t 1) + b1u (t 2 ) = y 0 (t )
ovvero
a1 y (t ) + b0u (t ) + b1u (t 1) = y 0 (t + 1)
da cui
u (t ) = ( b1u (t 1) ay (t ) + y 0 (t + 1))
1 non c pianificazione
b0 della traiettoria

Dal momento che non disponiamo di y 0 (t + 1) useremo lultimo


campione disponibile ovvero y 0 (t )

u (t ) =
1
b0
( b1u (t 1) ay (t ) + y 0 (t ))

F. Previdi - Controlli Automatici - Lez. 8 15


e(t)
S y (t ) = ay (t 1) + b0u (t 1) + b1u (t 2 ) + e(t )

C u (t ) =
1
b0
( b1u (t 1) ay (t ) + y 0 (t )) 1
1 az 1

+
y 0 (t ) 1 u(t) b +bz
1
1
y(t)
b0 + b1 z 1 z 0 1 1
+_ 1 az +

Controllore

Valgono le medesime osservazioni fatte precedentemente.

F. Previdi - Controlli Automatici - Lez. 8 16


Stabilit in anello chiuso
La funzione di trasferimento danello identica al caso precedente
1 b0 + b1 z 1
L(z ) = a
1
z
1 1

b0 + b1 z 1 az
e quindi sar identico il polinomio caratteristico in anello chiuso e
quindi anche le propriet della stabilit.
In anello chiuso non bisogna dimenticare che si hanno due
ingressi, quindi
y (t ) = F (z ) y 0 (t ) + S (z )e(t )
F (z ) = z 1 identicamente al caso precedente ipotesi 2
1 1
S (z ) = 1 az 1 = 1 az 1 =1
1 1 b0 + b1 z (b0 + b1 z )(1 az ) + az (b0 + b1 z )
1 1 1 1 1
1 + a z
+
0 1
b b z 1
1 az 1
(b 0 + b1 z 1
)(1 az 1
)
Luscita insegue il riferimento con
Riassumendo y (t ) = y (t 1) + e(t )
0
un passo di ritardo ed sporcata dal
rumore e(t )
F. Previdi - Controlli Automatici - Lez. 8 17
4. Soluzione del problema generale
B (z ) C (z ) A(z ) = 1 + a1 z 1 + + am z m
y (t ) = u (t k ) + e(t ) e(t ) WN (0, 2 )
A(z ) A(z ) B (z ) = b0 + b1 z 1 + + bp z p
C (z ) = 1 + c1 z 1 + + cn z n

Ipotesi
1) b0 0 (il ritardo puro sia effettivamente k passi)
C (z )
2) sia in forma canonica
A(z )
3) il sistema sia a fase minima (B(z ) abbia radici dentro al cerchio unitario)
4) y 0 (t ) e(t ) ( y 0 (t ) incorrelato con e(t ) )

Problema di controllo
Dato un pss y 0 (t ) (variabile di riferimento), trovare la legge di
controllo ottima u(t ) che minimizza la seguente funzione costo
[
J = E ( y (t ) y 0 (t ))
2
]
F. Previdi - Controlli Automatici - Lez. 8 18
Primo passo: calcolo dellerrore di predizione
Scomponiamo y (t ) nella sua predizione ad un passo y (t | t 1) pi
lerrore di predizione
y (t ) = y (t | t 1) + (t )
Facciamo k colpi di lunga divisione del polinomio C (z ) per A(z )
C (z ) = A(z )E (z ) + z k R (z )
~
Equazione Diofantina

quoziente resto
Il quoziente avr la seguente forma
E (z ) = 1 + e1 z 1 + + ek 1 z (k 1)
Moltiplichiamo entrambi i membri dellequazione di modello per E (z )
A(z )E (z ) y (t ) = B (z )E (z )u (t k ) + C (z )E (z )e(t )
Trasliamo tutto k passi in avanti nel tempo
A(z )E (z ) y (t + k ) = B (z )E (z )u (t ) + C (z )E (z )e(t + k )
Sommiamo ad entrambi i membriC (z ) y (t + k )
A(z )E (z ) y (t + k ) + C (z ) y (t + k ) = B (z )E (z )u (t ) + C (z )E (z )e(t + k ) + C (z ) y (t + k )
F. Previdi - Controlli Automatici - Lez. 8 19
A(z )E (z ) y (t + k ) + C (z ) y (t + k ) = B (z )E (z )u (t ) + C (z )E (z )e(t + k ) + C (z ) y (t + k )
Portiamo a destra A(z )E (z ) y (t + k )
C (z ) y (t + k ) = B (z )E (z )u (t ) + C (z )E (z )e(t + k ) + C (z ) y (t + k ) A(z )E (z ) y (t + k )

[C (z ) A(z )E (z )]y (t + k ) = z k R~(z ) y (t + k )


R (z ) y (t )
~
dalleq. Diofantina

Si ottiene quindi
C (z ) y (t + k ) = B (z )E (z )u (t ) + C (z )E (z )e(t + k ) + R (z ) y (t )
~

che si pu riscrivere
R (z ) B (z )E (z )
~
y (t + k ) = y (t ) + u (t ) + E (z )e(t + k )
C (z ) C (z )
sono i campioni di e
dipendono da u e y
dal t+1 al tempo t+k
fino al pi il tempo t
Quindi y (t ) = y (t | t k ) + E (z )e(t )
y (t + k ) = y (t + k | t ) + E (z )e(t + k )

(t ) = E (z )e(t ) predizione
Errore di

F. Previdi - Controlli Automatici - Lez. 8 20


Secondo passo: minimizzazione della funzione costo
Sostituiamo il risultato appena trovato nellespressione della
funzione costo
[
J = E ( y (t | t k ) + E (z )e(t ) y 0 (t )) =
2
]
[
= E ( y (t | t k ) y 0 (t ))
2
] + E [(E (z )e(t )) ] + 2E[(y (t | t k ) y (t ))E (z )e(t )]
2 0

(1 + e
2
1 + + ek21 )2
[ ]=0
2 E ( y (t | t k ) y 0 (t )) (t )
Valore finito non
modificabile dal controllo (t ) y (t | t k ) predittore ed errore di
predizione sono scorrelati (ovvio)
e(t ) y 0 (t ) riferimento e rumore sono
scorrelati (ip. 4)
Quindi il minimo valore possibile si ha per
[
E ( y (t | t k ) y 0 (t ))
2
] =0
cio per y (t | t k ) = y 0 (t )

F. Previdi - Controlli Automatici - Lez. 8 21


Terzo passo: legge di controllo
Il predittore dato da
R (z ) B (z )E (z )
~
y (t + k | t ) = y (t ) + u (t )
C (z ) C (z )
quindi y (t | t k ) = y 0 (t ) diventa (ovvio) y (t + k | t ) = y 0 (t + k ) e quindi
R (z ) B (z )E (z )
~
y (t ) + u (t ) = y 0 (t + k )
C (z ) C (z )
Dal momento che non disponiamo di y 0 (t + 1) useremo lultimo
campione disponibile ovvero y 0 (t ) , per cui la legge di controllo sar

u (t ) =
1
B (z )E (z )
[
C (z ) y (t ) R (z ) y (t )
0 ~
]
Legge di controllo predittivo
ottima a Minima Varianza

F. Previdi - Controlli Automatici - Lez. 8 22


e(t)
S A(z ) y (t ) = B (z )u (t k ) + C (z )e(t )

C u (t ) =
1
B (z )E (z )
[ ]
C (z ) y 0 (t ) R (z ) y (t )
~ C (z )
A(z )

y 0 (t ) +
u(t) B (z )
C (z )
1 y(t)
z k
+_ B (z )E (z ) A(z ) +

R (z )
~

Controllore

F. Previdi - Controlli Automatici - Lez. 8 23


Riassunto per limplementazione
k colpi di lunga divisione C (z ) si ottengono E (z ) ed R (z )
~
A(z )
1)
2) C (z ) filtra il riferimento y (t )
0

R (z ) filtra luscita y (t )
~
3)
1
4) dopo il nodo sommatore
B (z )E (z )

Nota Bene
La legge di controllo
B (z )E (z )u (t ) = C (z ) y 0 (t ) R (z ) y (t )
~

ha senso solo se b0 0 . Infatti in tale ipotesi, essendo E (z ) monico, il primo


termine a sinistra delluguale sar b0u (t ), consistente con il membro di destra che
dipende da y 0 (t ) e da y (t ) al medesimo tempo t.
Altrimenti, con b0 = 0 avremmo avuto una legge di controllo non causale, con
lazione di controllo al tempo t1 dipende da riferimento ed uscita al tempo t.

F. Previdi - Controlli Automatici - Lez. 8 24


Stabilit in anello chiuso
La funzione di trasferimento danello
R (z ) k B (z )
~
L(z ) = z A(z )
B ( z )E ( z )
Il polinomio caratteristico in anello chiuso dunque
(z ) = N L (z ) + DL (z ) = z k B (z )R (z ) + B (z )E (z )A(z ) =
~

= B (z )[E (z )A(z ) + z k R (z )] = B (z )C (z )
~

Quindi perch il sistema retroazionato sia asintoticamente stabile


B (z ) e C (z ) devono avere le radici dentro il cerchio unitario.
Ci garantito dalle ipotesi 2 e 3.

F. Previdi - Controlli Automatici - Lez. 8 25


Completiamo con il calcolo della funzione di trasferimento in
anello chiuso
y (t ) = F (z ) y 0 (t ) + S (z )e(t )

B (z )C (z )
z k
A(z )B (z )E (z ) z k B (z )C (z ) z k B (z )C (z )
F (z ) = = ~ = =
1 + z k
B (z )R (z )
~ k
[ ]
A(z )B (z )E (z ) + z B (z )R (z ) B (z ) A(z )E (z ) + z R (z )
k ~

A(z )B (z )E (z )
z k B (z )C (z )
= = z k
B (z )C (z )

ipotesi 2 e 3

La funzione di trasferimento in anello chiuso dal riferimento


alluscita un ritardo puro (pari al ritardo puro del sistema).

F. Previdi - Controlli Automatici - Lez. 8 26


C (z )
A(z ) B (z )C (z )E (z ) B (z )C (z )E (z )
S (z ) = = = =
1 + z k
B (z )R (z )
~ k ~
[ k ~
]
A(z )B (z )E (z ) + z B (z )R (z ) B (z ) A(z )E (z ) + z R (z )
A(z )B (z )E (z )
B (z )C (z )E (z )
= = E (z )
B (z )C (z )

ipotesi 2 e 3

Quindi y (t ) = z k y 0 (t ) + E (z )e(t )

y (t ) = y 0 (t k ) + E (z )e(t )

Luscita insegue il riferimento con k passi di ritardo ed sporcata dal rumore


E (z )e(t ) ovvero lerrore di predizione.
Questo il meglio che si possa fare (il controllore ottimo).
Ha due limiti:
a) lipotesi che il sistema sia a fase minima (B (z ) con radici dentro il cerchio unitario)
b) non tiene conto di eventuali vincoli sullazione di controllo (moderazione).

F. Previdi - Controlli Automatici - Lez. 8 27

You might also like