MPC di sistemi nonlineari state-feedback L. Magni Dipartimento di Informatica e Sistemistica Università Via Ferrata 1, 27100 Pavia Lalo.Magni@unipv.it http://conpro.unipv.it/lab/ 1
Per il sistema Definizione del problema si consideri il sistema dinamico non lineare a tempo discreto x (k +1)=f (x (k ), u(k )), x(t) =xê, k õ t con x X, u U Obiettivo: sintetizzare una legge di controllo tale che origine equilibrio esponenzialmente stabile ampio dominio di attrazione buone prestazioni buona robustezza u Plant x 2 y
Soluzione ideale Controllo ottimo su orizzonte infinito Minimizza rispetto a u(.) il funzionale J IH (xê,u(á )) = P i=t ψ(x(i),u(i)) con i vincoli x(t +k) X, u(t +k) U, k õ 0 Difficoltà: computazionalmente intrattabile MPC (Model Predictive Control) 3
Legge di controllo MPC FHOCP (Finite-Horizon Optimal Control Problem) Minimizza rispetto a u t,t+n-1 =[u(t),u(t+1), u(t+n-1)] il funzionale J(xê,u t,t+nà1,n)= P i=t t+nà1 ψ(x(i),u(i)) +V f (x(t +N)) soggetto alla dinamica del sistema con i vincoli x(t +k) X, u(t +k) U, k [0,Nà1] x(t +N) X f vincolo di stabilità xê x(t +N) 4 0 X f
x,u Legge di controllo MPC - 2 Strategia Receding Horizon (RH) Ad ogni istante t definisci x(t)=xê, risolvi il FHOCP Applica il primo elemento della sequenza ottima u o t,t+nà1 All istante t+1 risolvi un nuovo FHOCP partendo da x(t+1) u o t,t+nà1 u o t+1,t+n u = ô RH (x) t t+1 t+n t+n+1 5 k
Legge di controllo MPC - 3 Vantaggio Il problema di controllo vincolato è trasformato in un problema di ottimizzazione vincolata su orizzonte finito Svantaggi Comunità accademica: stabilità e robustezza stato accessibile e no regolazione/tracking/attenuazione di disturbi Applicazioni industriali Carico computazionale ( numero di variabili di ottimizzazione) Prestazioni 6
Output admissible set Data u= (x), ϕ c (k, t, xê) è la soluzione di x(k + 1)= f(x(k),ô(x(k))),x(t) = xê,k õ t Output admissible set: un insieme invariante, dominio d attrazione dell origine e tale che xê Xà implica che ϕ c (k, t, xê) X, ô(ϕ c (k, t, xê)) U, k õ t Xà 7
Stabilità -1 Sia X 0 (N) la regione nella quale esiste una soluzione del FHOCP Vogliamo garantire la stabilità dell origine del sistema in anello chiuso con output admissible set X 0 (N) Tecnica utilizza per mostrare la stabilità: utilizzare come funzione di Lyapunov V(x):=J(x, u o,n) > 0, x=0, V(0) = 0 t,t+nà1 8
Stabilità -2 Per garantire la stabilità bisogna scegliere opportunamente: il peso finale V f (x(t +N)) il vincolo finale X f Uso un regolatore ausiliario u= (x) con le seguenti proprietà: X f è un output admissible set per il sistema x(k +1) =f(x(k),ô(x(k)) V f (ϕ c (t +1,t,x)) àv f (x) ôàψ(x, ô(x)), x X f 9
Stabilità - 3 Siano la soluzione del FHOCP all istante t e u o t,t+nà1 ø = f(xê,ô RH (xê)) uà t+1,t+n := [u o ô(x(t +N)] t+1,t+nà1 è una sequenza ammissibile (ma sub-ottima) per il FHOCP all istante t+1 x,u xê ø xê x(t +N) 0 X f u o t,t+nà1 t t+1 t+n t+n+1 10 k
Stabilità - 4 t+nà1 ψ(x(i),u(i)) +V f (x(t +N)) J(xê,u t,t+nà1,n)= P i=t uà t+1,t+n := [u o t+1,t+nà1 ô(x(t +N)] x,u V(ø) ô J(ø, uà t+1,t+n,n) = V(x) àψ(xê,ô RH (xê)) +ψ(x(t +N),ô(x(t +N))) àv f (x(t +N)) +V f (x(t +N +1)) xê ô V(x) àψ(xê,ô RH (xê)) ø u o t,t+nà1 t t+1 t+n t+n+1 11 k
Proprietà X 0 (N+1) X 0 (N) Una volta trovata una soluzione ammissibile all istante t,, per tutti gli istanti successivi viene ottenuta automaticamente Per la stabilità non è necessaria la soluzione ottima Per sistemi veloci: risolvi il FHOCP fuori linea per un numero sufficiente di stati addestra una rete neurale per implementare la legge di controllo MPC in linea 12
MPC stabilizzanti - 1 Vincolo finale di uguaglianza X f = {0}, ô(0) = 0, V f = 0 X f = {0} è un output admissible set per f(x, (x)) V f (0) àv f (0) ôàψ(0, 0) = 0, x X f Limite: è impossibile risolvere il problema in tempo finito 13
ô(x)=kx MPC stabilizzanti - 2 Peso finale quadratico dove K stabilizza il sistema linearizzato x(k +1) =Ax(k)+Bu(k) V f (x)=x 0 Px regolatore ausiliario peso finale dove V f (x) soddisfa l equazione di Lyapunov per il sistema linearizzato V f (Ax +BKx) àv f (x)+ψö(x, Kx)=0 ψö(x, u)=ìψ(x, u), ì 1, ( ) X f = x : x 0 Px < c { } vincolo finale tale che V f (ϕ c (t +1,t,x)) àv f (x) ôàψ(x, ô(x)), x X f 14
Caratteristiche - 1 Obiettivo: : fare meglio della legge ausiliaria in termini di output admissible set (proprietà( di allargamento) Soluzione: : questi metodi garantiscono questa proprietà di allargamento per N sufficientemente grande Problemi computazionali xê x(t +N) 0 X f Xö(K) 15
Caratteristiche - 2 Obiettivo: : avvicinare le prestazioni dell IH (proprietà di ottimalità) Soluzione: : questi metodi garantiscono questa proprietà di per N sufficientemente grande Problemi computazionali 16
MPC stabilizzanti - 3 Peso finale non quadratico ô(x) legge di controllo localmente stabilizzante V f (xê) = P i= t ψ (ϕ c (i, t, xê),ô(ϕ c (i, t, xê ))) X f = Xö(ô):= xö :ϕ c (k, t, xö) X, ô(ϕ c (k, t, xö)) U, k õ t { } output admissible set massimo V f (ϕ c (t +1,t,x)) àv f (x)=àψ(x, ô(x)), x X f 17
Proprietà Stabilità (proprietà( di allargamento) X 0 (N) ó Xà(ô) N Prestazioni se (x)= (x)= IH (x) (legge di controllo ottima per il problema IH senza vincoli) RH (x)= IHV (x) (legge di controllo ottima per il problema IH con vincoli) (ottimalità) se (x)= (x)=k LQ x ô RH (x) x x=0 = K LQ (ottimalità locale) 18
Problema Calcolo del peso finale: : per calcolare la serie bisogna integrare il sistema non lineare per un numero infinito di passi Soluzione empirica: : quando lo stato è sufficientemente piccolo Garanzia di stabilità persa 19
Orizzonte di controllo e di predizione N c orizzonte di controllo (di ottimizzazione) N p orizzonte di predizione FHOCP: Minimizza t+n pà1 J(xö,u t,t+ncà1,n c,n p )= P i=t con i vincoli u(i)= (x(k)), (x(k)), t+n c i < t+n p x(t +N p ) X f ψ(x(i),u(i)) +V f (x(t +N)) xê u = ô(x) x(t +N c ) x(t +N p ) 20 0 X f Xö(ô)
Proprietà Stabilità (proprietà( di allargamento) Nö p tale che X 0 (N c,n p ) ó Xà(ô) N c,n p >Nö p Prestazioni ( per N p ) se (x)= (x)= IH (x) (legge di controllo ottima per il problema IH senza vincoli) RH (x)= IHV (x) (legge di controllo ottima per il problema IH con vincoli) (ottimalità) se (x)= (x)=k LQ x ô RH (x) x x=0 = K LQ (ottimalità locale) 21
Esempio Continous Stirred Tank Reactor (CSTR) Cç A = q V (C Af à C A ) à k 0 exp Tç = q à V (T f à T )+ H úc k p 0 exp ð ð E à RT E à RT ñ ñ C A C A + UA VúC (T p c à T ) Vincoli 220K ô T c ô 550K 220K ô T ô 550K 0 ô C A ô 1 mol/l Variabile di controllo u = T c Punto di equilibrio instabile C eq A = 0.5 mol/l T eq = 350K T eq c = 300K 22
Risposta al gradino in anello aperto C A (mol/l) 0.8 0.6 0.4 0.2 T c = 300K æ 5K (a) 440 420 T (K) 400 380 360 (a) 0 0 5 10 Time (minute) (b) 1 340 0 5 10 Time (minute ) (b) 350 C A (mol/l) 0.9 0.8 0.7 0.6 0.5 0 5 10 Time (minute) 310 0 5 10 Time (minute ) (a) +5K, (b) -5K 23 T (K) 340 330 320
Esempio Legge di controllo ausiliaria u=k LQ x Regione finale X f := { x : x 0 Px ô c} Orizzonte di controllo N c =3 Orizzonte di predizione N p =75 Orizzonte di controllo N c =15 Orizzonte di predizione N p =15 Reactor temperature T 365 360 355 350 345 340 335 Esp. 1 X f LQ NMPC(3,75) NMPC(15,15) Esp. 2 Esp. 3 Esp. 4 330 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 0.75 Concentration C A 24
Esp. J IH K Esempio J IH RH (3,75) Flops J IH RH (15,15) Flops 1 9.8874 9.3547 2.8414x10 8 10.2105 4.3725x10 8 2 59.683 41.6681 3.6592x10 8 42.6423 5.1299x10 8 3 20.3420 19.0880 4.1187x10 8 19.6796 6.3381x10 8 4 --- 13.2135 3.7017x10 8 13.1397 4.4623x10 8 Esperimento 4 LQ non soddisfa i vincoli C A 0.7 0.6 LQ NMPC(3,75) NMPC(15,15) 0.5 0 0.5 1 1.5 2 2.5 3 351 T 350 T c 349 0 0.5 1 1.5 2 2.5 3 300 290 280 270 0 0.5 1 1.5 2 2.5 3 Time (minute ) 25
Modello Vincolo Pendolo inverso ò (t) à sin(ò(t)) + u (t)cos(ò(t)) = 0 u < 0.25 u Obiettivo: stabilizzazione globale del pendolo in posizione verticale con ottime prestazioni 26
Pendolo inverso Legge di controllo ausiliaria: Energy control ( u = ô(x) = sat n(100e n sign(òçcosò)) se [ò 2ù òç] /Ω(K) à K [ò 2ù òç] se [ò 2ù òç] Ω(K) E n (t) = 2 1 òç2 (t)+cosò(t) à 1 Energia totale (normalizzata) con u=0 Legge di controllo con commutazione quasi globalmente stabilizzante (manca ) ò = æ ù Regione finale X f := { x : x 0 Px ô c} = Ω(K) 27
Pendolo inverso Costo ψ(x) =þ(ò)e 2 n +(1 à þ(ò))v n E n (t) = 2 1 òç2 (t)+cosò(t) à 1 Penalizza l energia al quadrato ðñ V n (t) =5sin 2 ò òç2 + 2 2 Penalizza l errore dello stato 1 ( ) ìtan þ(ò) = 2 ò ( 2) 1+ìtan 2 ò ( 2) 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0-4 -3-2 -1 0 1 2 3 4 28
Riferimenti D. Q. Mayne, J. B. Rawlings, C. V. Rao, and P. O. M. Scokaert, Constrained model predictive control: Stability and optimality, Automatica, Vol. 36, pp. 789-814, 2000. S. S. Keerthi and E. G. Gilbert, Optimal, infinite-horizon feedback laws for a general class of constrained discrete-time systems, J. Optimiz. Th. Appl., Vol. 57, pp. 265-293, 1988. D. Q. Mayne and H. Michalska, Receding horizon control of nonlinear systems, IEEE Trans. On Automatic Control, Vol. 35, pp. 814-824, 1990. H. Michalska and D. Q. Mayne, Robust receding horizon control of constrained nonlinear systems, IEEE Trans. On Automatic Control, Vol. 38, pp. 1623-1633, 1993. T. Parisini and R. Zoppoli, A receding-horizon regulator for nonlinear systems and a neural approximation, Automatica, Vol. 31, pp. 1443-1451, 1995. H. Chen and F. Allgower, A quasi-infinite horizon nonlinear model predictive control scheme with guaranteed stability, Automatica, Vol. 34, pp. 1205-1217, 1998. G. De Nicolao, L. Magni, and R. Scattolini, Stabilizing receding-horizon control of nonlinear timevarying systems, IEEE Transactions on Automatic Control, AC-43, pp. 1030-1036, 1998. L. Magni, Nonlinear model predictive control: control and prediction horizons, Ifac CSD, Bratislava, 2000. L. Magni, G. De Nicolao, L. Magnani and R. Scattolini, A stabilizing model-based predictive control algorithm for nonlinear systems, Automatica, Vol. 37, September, 2001. 29