Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione !...

49
Scuola avanzata “Giovanni Zappa” Scuola avanzata “Giovanni Zappa” Tecniche robuste e di ottimizzazione Tecniche robuste e di ottimizzazione per sistemi di controllo ad alte prestazioni per sistemi di controllo ad alte prestazioni Introduzione al controllo predittivo Introduzione al controllo predittivo Parma, 17 Parma, 17 Novembre Novembre 2006 2006 Massimo Canale Massimo Canale Dipartimento di Automatica e Informatica Dipartimento di Automatica e Informatica Politecnico di Torino Politecnico di Torino Sommario Sommario Introduzione Il controllo predittivo Una formulazione di base (caso lineare) Cenni sul caso nonlineare Tecniche di implementazione “rapida”

Transcript of Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione !...

Page 1: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Scuola avanzata “Giovanni Zappa”Scuola avanzata “Giovanni Zappa”Tecniche robuste e di ottimizzazione Tecniche robuste e di ottimizzazione

per sistemi di controllo ad alte prestazioniper sistemi di controllo ad alte prestazioni

Introduzione al controllo predittivoIntroduzione al controllo predittivoParma, 17 Parma, 17 Novembre Novembre 20062006

Massimo CanaleMassimo CanaleDipartimento di Automatica e InformaticaDipartimento di Automatica e InformaticaPolitecnico di TorinoPolitecnico di Torino

SommarioSommarioIntroduzioneIl controllo predittivoUna formulazione di base (caso lineare)Cenni sul caso nonlineareTecniche di implementazione “rapida”

Page 2: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

IntroduzioneIntroduzione

Massimo Canale 4Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Un esempio motivanteControllo di sospensioni semiControllo di sospensioni semi--attiveattive

Le sospensioni automobilistiche sono principalmente finalizzate a: ! isolare il veicolo dalle sollecitazioni prodotte dalle irregolarità del

suolo stradale (comfort)! garantire un contatto permanente tra strada e pneumatico in

modo da migliorare la manovrabilità del veicolo (handling) ! il progetto meccanico della sospensione (passiva) è frutto di un

compromesso tra i requisiti di comfort ed handling che sono in contrapposizione.

! il trade off può essere risolto più efficacemente per mezzo di sistemi di sospensioni:

" attive

" semi-attive

Page 3: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 5Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Controllo di sospensioni semi-attiveil modello “il modello “quarterquarter--carcar””

Attive (a)! Basate su opportuni

attuatori idraulici ! Richiedono notevoli

quantità di energia! Costose! Sono in grado, nei

limiti fisici del dispositivo, di generare qualsiasi entità di forza.

! Permettono la risoluzione “ottima” del compromesso comfort / handling

Semi-attive (b)! Basate su dispositivi

a smorzamento variabile (MR, ER, EI, …)

! Richiedono piccole quantità di energia

! Ragionevolmente economiche

! Generano forze in accordo con il vincolo di passività.

! Costituiscono un buon compromesso tra costi e prestazioni.

Notazione! Massa sospesa mc

(1/4 chassis + carico)! Massa non sospesa

mw (ruota e sospensione)

! Forza u della sospensione

Massimo Canale 6Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Controllo di sospensioni semi-attiveformulazione del problemaformulazione del problema

! Le prestazioni di comfort sono valutate tramite l’accelerazione verticale della massa sospesa (vedi IS0-9611):

! Le prestazioni di handling si valutano per mezzo delle forze scambiate tra ruota e terreno che dipendono dalla deflessione della ruota:

cz&&

w rz z−! Il bilanciamento tra le prestazioni di comfort e di handling

può essere ottenuto tramite una legge di controllo che ottimizza, su un certo orizzonte temporale, il funzionale:

2 2

1( ) ( )

Nc w rt k t k t k

kJ z z zρ+ + +

=

= + −∑ &&

⇒ problema di controllo ottimo

Page 4: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 7Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Controllo di sospensioni semi-attive:il vincolo di passivitàil vincolo di passività

Mappa di una sospensione semi-attiva

1 1

2 2

3 3

4 4

5 5

wc

wc

wc

wc

wc

u vu vu vu vu v

β αβ αβ αβ αβ α

= + = + = + = +

= +

In una sospensione semi-attiva l’insieme delle forze effettivamente erogabili è definito dalle rette di equazione:

⇒ problema di controllo vincolato

Massimo Canale 8Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Controllo di sospensioni semi-attivesoluzioni “tradizionali”soluzioni “tradizionali”

! Skyhook: emula l’azione di controllo che si otterrebbe “agganciando” uno smorzatore passivo tra la massa sospesa ed il cielo

! Tecniche di “controllo ottimo”: sono le più idonee essendo basate sull’ottimizzazione di un funzionale di costo

il soddisfacimento del vincolo di passività avviene tramite saturazione istantanea dell’azione di controllo

⇒ il calcolo delle azioni di controllo non tiene conto dell’evoluzione futura del comportamento dinamico delle masse

⇒ le tecniche di controllo predittivo appaiono più appropriate per gestire gli effetti del vincolo di passività sul comportamento futuro del sistema.

Page 5: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Il Il controllo predittivocontrollo predittivo

Massimo Canale 10Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Model Predictive Control (MPC) Introduzione Introduzione

! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione che dipende dalla Predizione del comportamento delle variabili controllate sulla base di un Modello.

! L’azione di Controllo viene calcolata ottimizzando su un orizzonte finito l’indice di prestazione desiderato.

! Si ottiene una sequenza di azioni controllo ad anello aperto di cui solo la prima viene effettivamente applicata (tecnica Receding Horizon).

! All’istante di tempo successivo si ripete il procedimento.

Page 6: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 11Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Model Predictive Control (MPC)

MPC è come giocare a scacchi! Una sequenza di mosse viene scelta proiettando

lo scenario di gioco in avanti nel tempo prevedendo come l’avversario si contrapporrà via via alle mosse pianificate

! Se nella mossa successiva l’avversario risponde in modo inaspettato si può ripianificare il gioco proiettandone in avanti gli effetti (feedback !)

! I buoni giocatori sono in grado di prevedere l’evoluzione del gioco pensando a possibili scenari (= gradi di libertà) molto avanzati nel tempo (= orizzonti di predizione lunghi)

Massimo Canale 12Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Model Predictive Control (MPC)Formulazione del problemaFormulazione del problema

Si considera il modello M in variabili di stato

# x(k) ∈∈∈∈ Rn (n < ∞), u(k) ∈∈∈∈ Rm

# f∈∈∈∈C2, f(0,0) = 0

# Fissato un generico istante temporale k ∈∈∈∈ Z+

# Dato lo stato “iniziale” x(k) = x(k|k)

# Si indica con la simbologia: x(k + i|k)la predizione dello stato “ i ” passi avanti a k a partire dallo “stato iniziale” x(k|k) e a fronte della sequenza: [u(k|k) u(k+1|k), … , u(k+i - 1|k)]

# In base al modello M si ottiene:

x(k + i|k) =

f(f(…f(f(f( x(k|k), u(k|k)), u(k+1|k)), u(k+1|k) ), …), u(k+i - 1|k))

( 1) ( ( ), ( ))x k f x k u k+ =

Page 7: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 13Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Model Predictive Control (MPC)Formulazione del problemaFormulazione del problema

Le prestazioni desiderate sono descritte da un funzionale di costo:

1

0( ( | ), ( )) ( ( | ), ( | )) ( ( | ))

pH

pi

J x k k U k L x k i k u k i k x k H k−

=

= + + + Φ +∑! Dove:

Hp orizzonte di predizione (Hp ∈∈∈∈ [2, ∞])

L(•) prestazioni desiderate (L(x,u) ≥ r((x,u)), L(0,0) = (0,0))

Φ(•) costo sullo stato finale al termine dell’orizzonte di predizione

x(k|k) è la misura dello stato all’istante corrente k

U(k) = [u(k|k), u(k+1|k), …, u(k+Hc-1|k)]T è il vettore delle variabili di comando (control moves) rispetto a cui si ottimizza J

Hc è l’orizzonte di controllo Hc ≤ Hp (nel caso Hc < Hp sono possibili diverse scelte u(k+i|k) = u(k+ Hc |k) Hc ≤ i ≤ Hp − 1

u(k+i|k) = K x(k+ i|k) Hc ≤ i ≤ Hp − 1 , …

Massimo Canale 14Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Model Predictive Control (MPC)Formulazione del problemaFormulazione del problema

! Ad ogni istante il problema di ottimizzazione che deve essere risolto è del tipo:

min ( ( | ), ( ))

. .

( )

( | )

( | )

U

p F

J x k k U k

s t

U k

x k i k

x k H k

+ ∈

+ ∈

U

X

X! Dove:

U convesso e compatto contenente l’origine al suo interno (descrive i vincoli sull’ingresso)

X chiuso e compatto contenente l’origine al suo interno (descrive i vincoli sullo stato)

X F è un insieme (limitato) che descrive i vincoli sullo stato finale al termine dell’orizzonte di predizione (X F ⊂ X)

Page 8: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 15Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Model Predictive Control (MPC)La tecnica La tecnica ““Receding Horizon”Receding Horizon”

! Al tempo k! Si risolve il problema di

ottimizzazione rispetto alle Hcvariabili di ingresso future: u(k|k), u(k+1|k), …, u(k+Hc-1|k) in modo tale da soddisfare i vincoli e da ridurre lo scarto tra l’andamento desiderato dello stato e quello predetto x(k|k), x(k+1|k), …, x(k+Hp|k)

! Si applica solo la prima componente uO(k|k) della sequenza di ingresso ottima uO(k|k),…, uO(k+Hc-1|k)

! k $ k+1 e si ripete il procedimento $ feedback$ Receding Horizon Control

k = current step time

setpoint

x(k)

actual outputs (past)

HP

Prediction horizon

past control moves

• max

• min

HcControl Horizon

past future

model predictionx(k+j|k)

u(k)u(k+j|k)

Massimo Canale 16Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Model Predictive Control (MPC)La tecnica La tecnica ““Receding Horizon”Receding Horizon”

! Se si utilizza tutta la sequenza ottima calcolata: uO(k|k), uO(k+1|k), …, uO(k+Hc-1|k) nell’intervallo di tempo k $ k+Hcl’azione di controllo, pur basata sulla predizione del comportamento dinamico del sistema da controllare, risulta comunque ad anello aperto e quindi soggetta alle influenze di disturbi e incertezze

! La tecnica Receding Horizon ripete, ad ogni istante k, il procedimento di ottimizzazione sull’orizzonte di predizione applicando però solo la prima componente : u(k)= uO(k|k).

! Il calcolo di uO(k|k) dipende solo dalla misura dello stato corrente

! L’azione di controllo predittivo è dunque una legge di controllo nonlineare per retroazione statica dallo stato del tipo:

( ) ( ( ))u k x kκ=

Page 9: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 17Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Model Predictive Control (MPC)Il modelloIl modello

! La prima grande distinzione avviene sulla base delle caratteristiche del modello.

! Nella predizione si può utilizzare un modello nonlineare o lineare (NMPC, MPC)

Massimo Canale 18Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Model Predictive Control (MPC)Il funzionale di costoIl funzionale di costo

! La forma della funzione L(•) può essere varia e dipende dalle prestazioni che si vogliono raggiungere.

! In formulazioni “standard” (mutuate dal controllo LQ) la forma considerata è quella quadratica:

( ( | ), ( | )) ( | ) ( | ) ( | ) ( | )T TL x i k u i k x i k Qx i k u i k Ru i k= +

Q ed R sono opportune matrici di peso tali che: Q=QT " 0, R=RT > 0

Page 10: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 19Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Model Predictive Control (MPC)Il funzionale di costoIl funzionale di costo

Si possono considerare problemi di regolazione o di asservimento dello stato o dell’uscita:

( ( | ), ( | ))( ( ) ( | )) ( ( ) ( | )) ( ( ) ( | )) ( ( ) ( | ))T T

r r r r

L x i k u i kx i x i k Q x i x i k u i u i k Ru u i u i k

=

− − + − −

essendo rispettivamente xr(i) e yr(i) gli andamenti desiderati dello stato e dell’uscita.

( ( | ), ( | ))( ( ) ( | )) ( ( ) ( | )) ( ( ) ( | )) ( ( ) ( | ))T T

r y r r r

L x i k u i ky i y i k Q y i y i k u i u i k Ru u i u i k

=

− − + − −

Massimo Canale 20Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Model Predictive Control (MPC)Il funzionale di costoIl funzionale di costo

! Si può inoltre includere nella funzione L(•) un termine che tiene conto del comportamento “incrementale” delle variabili di controllo:

( | ) ( | ) ( 1| )u i k u i k u i k∆ = − −

R∆ = R∆T > 0

( ( | ), ( | ))( | ) ( | ) ( | ) ( | ) ( | ) ( | )T T T

L x i k u i kx i k Qx i k u i k Ru i k u i k R u i k∆

=

+ + ∆ ∆

Page 11: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 21Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Model Predictive Control (MPC)I vincoliI vincoli

! Nell’ambito dell’insieme U si possono definire vincoli di saturazione sull’ingresso e sul suo rate di variazione ∆∆∆∆u

min max min max

min max

( | ) , ,..., 1, 0, 0

( | ) , ,..., 1c

c

u u i k u i k H u uu u i k u i k H

≤ ≤ = − < >

∆ ≤ ∆ ≤ ∆ = −! Tale insieme di vincoli può essere espresso sottoforma di un vincolo di disuguaglianza lineare del tipo:

HU h≤

! Dove U(k) = [u(k|k), u(k+1|k), …, u(k+Hc-1|k)]T e H, h sono opportune matrici

! Si può inoltre ottimizzare rispetto alle variabili ∆∆∆∆u(•): questo corrisponde ad inserire un’azione integrale nel controllo

Massimo Canale 22Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Model Predictive Control (MPC)I vincoliI vincoli

! Con l’insieme X è possibile definire vincoli sulle variabili controllate y (ad esempio per limitare il valore della sovraelongazione o per cercare di impedire comportamenti a fase non minima)

min max( | ) , ,..., py y i k y i k H≤ ≤ =

! Tale insieme di vincoli può essere espresso sottoforma di un vincolo di disuguaglianza lineare del tipo:

'( ) ( )FX k GU k g+ ≤

! Dove U’(k) = [u(k|k), u(k+1|k), …, u(k+Hp-1|k)]T, X(k) = [x(k+1|k), x(k+2|k), …, x(k+Hp|k)]T, F, G, g sono opportune matrici.

Page 12: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 23Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Model Predictive Control (MPC)Stabilità del sistema controllatoStabilità del sistema controllato

! In origine, la stabilità del sistema retroazionato veniva verificata a posteriori in base a risultati di simulazione.

! Tale approccio era in parte giustificato dalle caratteristiche dinamiche degli impianti che venivano controllati.

! L’estensione dell’applicazione delle tecniche predittive a sistemi instabili (ma comunque stabilizzabili) ha provocato l’esigenza di garantire proprietà stabilizzanti direttamente in fase di progetto.

! Si pone il problema di come verificare la stabilità del sistema retroazionato.

Massimo Canale 24Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Model Predictive Control (MPC)Stabilità del sistema controllatoStabilità del sistema controllato

! L’approccio prevede di dimostrare che il funzionale di costo costituisce una funzione di Lyapunov per il sistema controllato.

! Si tratta quindi di dimostrare che risulta:( ( , ), ) ( , )O

p pJ f x u H J x H<

! Questo avviene in due passi (es. funzionale quadratico):

1) ( ( , ), 1) ( , ) ( ) ( , )

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

O T O T Op p p

O Op p

J f x u H J x H x Qx u Ru J x H

J f x u H J f x u H x

− = − − <

≤ − ∀ ∈Ξ ⊃

! I passaggi 1) e 2) sono verificati solo a fronte di un’appropriata formulazione del funzionale di costo e/o dei vincoli.

Page 13: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 25Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Model Predictive Control (MPC)Costo sullo stato finaleCosto sullo stato finale

! Il costo sullo stato finale Φ(•) viene aggiunto per garantire la stabilità del sistema retroazionato come sarà successivamente discusso.

! Tipicamente si sceglie per Φ(•) una funzione quadratica del tipo:

( ( | )) ( | ) ( | ), 0T Tp p px k H k x k H k Px k H k P PΦ + = + + = f

Massimo Canale 26Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Model Predictive Control (MPC)Vincolo sullo stato finaleVincolo sullo stato finale

! La scelta dell’insieme XF sul vincolo dello stato finale al termine dell’orizzonte di predizione è legata al raggiungimento del requisito di stabilità del sistema controllato.

! Sono possibili diverse scelte:

=

= ∈ Γ ≤

= ∈ Λ ≤ l

M

"

RR

0

: 1

:

F

n TF

nF

x x x

x x

X

X

X

Page 14: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 27Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Model Predictive Control (MPC)Vincolo sullo stato finaleVincolo sullo stato finale

! Tali insiemi (ellissoidi, politopi, …) sono scelti in modo da risultare invarianti rispetto ad una qualche legge di controllo (es. LQ), oppure in modo che la sequenza di controllo calcolata al passo precedente risulti “feasible”.

! Le proprietà di stabilità possono inoltre venire imposte tramite vincoli di altra forma (es. contrazione dello stato) oppure tramite opportune scelte della forma del funzione di costo (es. orizzonte di predizione infinito, utilizzo di altre norme, …)

Massimo Canale 28Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Model Predictive Control (MPC)Il problema della feasibilityIl problema della feasibility

! Al fine di rendere la legge di controllo RH effettivamente applicabile, la risolubilità (feasibility) del problema di ottimizzazione deve essere garantita ad ogni istante temporale.

! Tipicamente si assume la feasibility all’istante k=0 e si sceglie una formulazione del problema di ottimizzazione tale da garantire la risolubilità anche negli istanti successivi (ad esempio facendo in modo che la sequenza ottima calcolata ad un certo istante continui ad essere feasible anche all’istante successivo).

! Esistono risultati che permettono di determinare un insieme di condizioni iniziali per cui il problema risulta feasible

Page 15: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 29Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Model Predictive Control (MPC)Il problema della ”feasibility”Il problema della ”feasibility”

! Viene introdotto al proposito il concetto di “output admissible set” (Gilbert & Tan, IEEE TAC, 1991):

data una legge di controllo u(k) = κ (x(k)), k ≥ t, si definisce come “output admissible set” di tale legge (applicata al sistema x(k+1)= f(x(k),u(k)) un insieme invariante X(κ) che costituisce un bacino di attrazione per l’origine e per cui risulta: x(k) ∈ X(κ) ⇒ x(k) ∈ X, u(k) ∈ U, ∀ k ≥ t

Massimo Canale 30Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Model Predictive Control (MPC)Il problema della ”feasibility”Il problema della ”feasibility”

! Talvolta, al fine di migliorare la feasibility, vengono introdotti rilassamenti sui vincoli che riguardano lo stato:

si parla in questo caso di “soft constraints”.! I vincoli legati unicamente alla variabile di ingresso non

vengono rilassati: “hard constraints”.

'( ) ( )FX k GU k g ε+ ≤ +

Page 16: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Una formulazione di base

Massimo Canale 32Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

“End Terminal Constraint”((Kwon Kwon & & PearsonPearson, IEEE TAC, 1977, IEEE TAC, 1977))

La formulazione1

0

'

s.t

min ( ( | ), ) min ( | ) ( | ) ( | ) ( | )

( 1| ) ( | ) ( | ), 0( ) , ( ) [ ( | ), ( 1| ), , ( 1| )]

( ) [ ( 1| ), ( 2 | ), , ( | )])

.

( ( ) ,

pHT T

U U i

Tc

Tp

J x k k U x k i k Qx k i k u k i k Ru k i k

x k i k Ax k i k Bu k i k iHU k h U k u k k u k k u k H k

X k x k k x k k x k H kFX k GU k g

=

= + + + + +

+ + = + + + ≥

≤ = + + −

= + + ++ ≤

K

K' ( ) [ ( | ), ( 1| ), , ( 1| )]

(

( |

| ) 0, , , 1

) 0

Tp

c p

p

U k u k k u k k u k H k

u k i k ix k H k

H H

= + + − + = = − + =

K

K

←←←←

Page 17: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 33Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

“End Terminal Constraint”((KwonKwon & & PearsonPearson, IEEE TAC, 1977, IEEE TAC, 1977))

Indicazioni di massima sulla taratura! Pesi: tanto maggiore è il “rapporto” Q / R tanto più

aggressiva è l’azione di controllo! Orizzonte di controllo: maggiore è Hc, maggiore è il

numero di gradi di libertà che si ha a disposizione, quindi più “ottimali” le prestazioni, ma maggiore è la complessità del controllore (e del problema di ottimizzazione).

! Orizzonte di predizione: più piccolo è Hp, più aggressiva è l’azione di controllo.

! Vincoli sugli incrementi di ingresso: il controllore è meno aggressivo se ∆umin, ∆umax sono piccoli.

Massimo Canale 34Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

“End Terminal Constraint”((KwonKwon & & PearsonPearson, IEEE TAC, 1977, IEEE TAC, 1977))

La soluzione! Il problema formulato, rispetto alle variabili

U = [u(k|k), u(k+1|k), …, u(k+Hc-1|k)]T, è un problema di programmazione quadratica (Quadratic Programme, QP)

! Tale problema può essere “riscritto” nella forma standard:

'

min ( ( | ), ( ))

1min ( ) ( ) ( | ) ( ) ( | ) ( | )2

( )( ) (

s.t.)

U

T T T

U

J x k k U k

U k U k x k k U k x k k Yx k k

HU k hFX k GU k g

=

= + +

≤ + ≤

H F

! Dove le matrici H , F e Y dipendono dalle matrici A, B del modello, dai pesi del funzionale di costo Q, R dallo stato misurato u(k|k) e dagli orizzonti di predizione e di controllo Hp e Hc

Page 18: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 35Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

“End Terminal Constraint”((KwonKwon & & PearsonPearson, IEEE TAC, 1977, IEEE TAC, 1977))

! Ponendo:

! Si ottiene:

Massimo Canale 36Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

“End Terminal Constraint”((KwonKwon & & PearsonPearson, IEEE TAC, 1977, IEEE TAC, 1977))

! Riscrivendo l’espressione del funzionale di costo in funzione di X(k) si ha:

! In assenza di vincoli si ottiene la soluzione in forma chiusa: u(k|k)= −H'−1F Tu(k|k)

! In presenza dei vincoli lineari occorre risolvere il problema QP(convesso) ricorrendo ad un algoritmo numerico:

! algoritmi “active set”! algoritmi “primal-dual” interior point

MatLab $ quadprog

Page 19: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 37Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

“End Terminal Constraint”((KwonKwon & & PearsonPearson, IEEE TAC, 1977, IEEE TAC, 1977))

Traccia della dimostrazione della stabilitàSupponendo feasible il problema di ottimizzazione all’istante k sia

la sequenza ottima a tale istante.E siano

il corrispondente movimento dello stato ed il valore del funzionale di costo rispettivamente.

Supponiamo di applicare ora il controllo uO(k|k) e di passare all’istante successivo k+1 considerando la sequenza

Ottenuta per “scorrimento” in avanti di un passo da UO e completandola con un elemento nullo

[ ( | ), ( 1| ), , ( 1| )]O O O OcU u k k u k k u k H k= + + −K

[ ( | ), ( 1| ), , ( 1| ), ( ) ( , ( | ))O O O O OpX x k k x k k x k H k V x J U x k k= + + − =K

1 [ ( 1| ), , ( 1| ),0]O OcU u k k u k H k= + + −K

Massimo Canale 38Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

“End Terminal Constraint”((KwonKwon & & PearsonPearson, IEEE TAC, 1977, IEEE TAC, 1977))

Tale sequenza, pur non ottimale, è comunque feasible al passo k+1. L’applicazione di tale sequenza dà origine al movimento:

Si ottiene in corrispondenza il seguente valore del funzionale di costo:

E poiché la sequenza non è ottima si ha:

Dove:Consideriamo ora (si ricordi che Q ≥ 0, R > 0 ):

Il che prova che ∆V(x) < 0 ed essendo V(x) > 0 dimostra la stabilità(asintotica) dello stato 0. La sequenza V(x(k)) ∞

k=0 converge a zero per k $ ∞ e quindi converge a zero anche x(k).

1( , ( 1| 1)) ( , ( | )) ( | ) ( | ) ( | ) ( | )O T TJ U x k k J U x k k x k k Qx k k u k k Ru k k+ + = − −

1 [ ( 1| ), , ( 1| ),0]O OpX x k k x k H k= + + −K

1 1( ( 1| 1)) ( , ( 1| 1)) ( , ( 1| 1))OV x k k J U x k k J U x k k+ + = + + ≤ + +1 [ ( 1| 1), ( 1| 1), , ( | 1)]O O O O

cU u k k u k k u k H k= + + + + + +K

( ) ( ( 1| 1)) ( ( | )) ( | ) ( | ) ( | ) ( | ) 0T TV k V x k k V x k k x k k Qx k k u k k Ru k k∆ = + + − ≤ − − <

Page 20: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 39Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

“End Terminal Constraint”((KwonKwon & & PearsonPearson, IEEE TAC, 1977, IEEE TAC, 1977))

In tale approccio, l’imposizione del vincolo finale sullo stato predetto potrebbe portare alla richiesta di forti azioni di controllo, specie in presenza di orizzonti di controllo brevi il che potrebbe causareproblemi alla feasibility del problema di ottimizzazione.

Altre formulazioni in ambito lineare

Page 21: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 41Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Terminal weighting matrix (Kwon et al., IJC, 1983)

1

0

'

min ( ( | ), )

min ( | ) ( | ) ( | ) ( | )

( 1| ) ( | ) ( | ), 0( ) , ( ) [ ( | ), ( 1| ), , ( 1

s.t

| )]

( ) [ ( 1|

(

),( )

| ) ( | )

)

.

( ,

p

UH

T T

U i

Tc

Tp p

J x k k U

x k i k Qx k i k u k i k Ru k i k

x k i k Ax k i k Bu k

x k H k Px

i k iHU k h U k u k k u k k u k H k

X k x k kFX k GU k g

k H k−

=

=

= + + + + +

+ + = + +

+ + +

+ ≥

≤ = + + −

= ++ ≤

K

'

( 2 | ), , ( | )]( ) [ ( | ), ( 1| ), , ( 1| )]

( | ) 0, , , 1

:Sistema stabile

Tp

Tp

c p

x k k x k H kU k u k k u k k u k H k

u k i k i H H

Hp

+ +

= + + − + = = −

K

K

K

Massimo Canale 42Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Terminal weighting matrix (Kwon et al., IJC, 1983)

Traccia della dimostrazione della stabilitàLa matrice di peso P sul costo finale viene scelta come soluzione

dell’equazione di Lyapunov:TA PA Q P+ =

La traccia della dimostrazione è simile a quella del caso precedente fino al punto in cui si deve mostrare che l’incremento del funzionale è decrescente:

! Problema feasible $! $ Esiste al passo k una sequenza ottima che è comunque

feasible al passo successivo k+1

1 1( ( 1| 1)) ( , ( 1| 1)) ( , ( 1| 1))OV x k k J U x k k J U x k k+ + = + + ≤ + +( ) ( ( 1| 1)) ( ( | ))( | ) ( | ) ( | ) ( | ) ( 1 | ) ( 1 | )

( | )( ) ( | )

T T Tp p

Tp p

V k V x k k V x k kx k k Qx k k u k k Ru k k x k H k Px k H k

x k H k Q P x k H k

∆ = + + − ≤

− − + + + + + +

+ + − +

Page 22: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 43Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Terminal weighting matrix (Kwon et al., IJC, 1983)

Il termine ∆V(x) può essere riscritto come:

( ) ( ( 1| 1)) ( ( | )) ( | ) ( | ) ( | ) ( | )T TkV k V x k k V x k k x k k Qx k k u k k Ru k k M∆ = + + − ≤ − − +

dove:

( 1 | ) ( 1 | ) ( | )( ) ( | )

( ( | )) ( ( | )) ( | )( ) ( | )

( | )( ) ( | ) 0

T Tk p p c p

Tp p p p

T Tp p

M x k H k Px k H k x k H k Q P x k H k

Ax k H k P Ax k H k x k H k Q P x k H k

x k H k A PA Q P Px k H k

= + + + + + + − + =

= + + + + − + =

= + + − + =

Da cui segue ∆V(x) < 0

Massimo Canale 44Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Infinite prediction horizon (Rawlings & Muske, IEEE TAC, 1993)

0

''

min ( ( | ), ) min ( | ) ( | ) ( | ) ( | )

( 1| ) ( | ) ( | ), 0( ) , ( ) [ ( | ), ( 1| ), , ( 1| )]

( ) [ ( 1| ), ( 2

s.t

| ), ]( ) ( ) ,

( ) [ ( |

.

)

T T

U U i

Tc

T

J x k k U x k i k Qx k i k u k i k Ru k i k

x k i k Ax k i k Bu k i k iHU k h U k u k k u k k u k H k

X k x k k x k kFX k GU k g

U k u k k

=

= + + + + +

+ + = + + + ≥

≤ = + + −

= + ++ ≤

=

K

K

, , ( 1| ),0,...]( | ) 0, , ,:Sistema stabilizzabile

Tc

c

u k H ku k i k i H

Hp

+ −

+ = = ∞

K

K

Page 23: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 45Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Infinite prediction horizon (Rawlings & Muske, IEEE TAC, 1993)

La limitazione fondamentale del metodo consiste nell’avere, in generale un numero infinito di vincoli a fronte di un numero finito di variabili di ottimizzazione. (Problema non risolvibile)

Nel 1995 Zheng e Morari dimostrarono che esiste comunque un intervallo di predizione finito entro il quale i vincoli sullo stato cessano di essere attivi. In tale lavoro viene anche mostrato come trovare un bound superiore (non tight) in alcuni casi particolari.

In ogni caso per migliorare la feasibility del problema si rende necessario il softening dei vincoli sullo stato.

Massimo Canale 46Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Invariant terminal set (Skokaert & Rawlings, IFAC, 1996)

1

0

'

min ( ( | ), )

min ( | ) ( | ) ( | ) ( | )

( 1| ) ( | ) ( | ), 0( ) , ( ) [ ( | ), ( 1| ), , ( 1

s.t

| )]

( ) [ ( 1|

(

),( )

| ) ( | )

)

.

( ,

p

UH

T T

U i

Tc

Tp p

J x k k U

x k i k Qx k i k u k i k Ru k i k

x k i k Ax k i k Bu k

x k H k Px

i k iHU k h U k u k k u k k u k H k

X k x k kFX k GU k g

k H k−

=

=

= + + + + +

+ + = + +

+ + +

+ ≥

≤ = + + −

= ++ ≤

K

'

( 2 | ), , ( | )]( ) [ ( | ), ( 1| ), , ( 1| )]

( | ) ( | ), , , 1

(

: Sistema stabili

| )

zzabile

0LQ c p

Q

Tp

Tp

p L

x k k x k H kU k u k k u k k u k H k

u k i k K x k i k i H

p

x H k

H

Hk

+ = − + = −

+

+ + = + + −

Ω

∈ ⊃

K

K

K

Page 24: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 47Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Invariant terminal set (Skokaert & Rawlings, IFAC, 1996)

! Con questa formulazione si cerca di rilassare il concetto di vincolo terminale e sostituendolo con vincolo di “set membership”.

! L’idea è quella di estendere il risultato del caso precedente a sistemi stabilizzabili.

! L’insieme ΩLQ viene scelto come “output admissible set” rispetto alla legge di controllo LQ progettata con il medesimo funzionale di costo e per la quale sono soddisfatti i vincoli.

! La dimostrazione della stabilità è analoga a quella dei casi precedenti ricordando che, per la particolare scelta dell’ingresso al di fuori dell’orizzonte di controllo, il peso sullo stato finale P dovrà essere scelto risolvendo l’equazione di Lyapunov:

! Si può inoltre notare che questa formulazione prevede anche la possibilità di considerare un orizzonte di predizione infinito senza incorrere nel problema della gestione di un numero illimitato divincoli.

( ) ( )T TLQ LQ LQ LQA BK P A BK Q K RK P− − + + =

Massimo Canale 48Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Invariant terminal set (Skokaert & Rawlings, IFAC, 1996)

! Il problema che si può incontrare in questa formulazione è la definizione dell’insieme ΩLQ.

! In linea di principio si può pensare di partire da un insieme di tipo ellissoidale:

! Affinché l’ellissoide sia anche invariante rispetto alla legge di controllo deve risultare:

! Bisogna inoltre garantire il soddisfacimento dei vincoli all’interno di EW.

( 1) ( 1) ( ) ( )( ) [( )] ( ) ( ) ( ) ( )

[( )] ( ) 0

T T

T T TLQ LQ

TLQ LQ

x k Wx k x k Wx kx k A BK W A BK x k x k Wx k

A BK W A BK W

+ + ≤

→ − − ≤

→ − − − ≤

: 1 , 0TW x x Wx W= ≤ ≥E

Page 25: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 49Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Invariant terminal set (Skokaert & Rawlings, IFAC, 1996)

! Bisogna quindi trovare l’ellissoide di dimensione massima che sitrova all’interno dell’insieme che permette il soddisfacimento dei vincoli.

! Si tratta quindi di determinare l’ellissoide di massimo volume, centrato nell’origine contenuto nella striscia obliqua.

! Tale problema, come altri di analoga natura, può essere agevolmente risolto mediante tecniche di ottimizzazione convessa.

Ad esempio se fosse: –1 ≤ u(· ) ≤ 1 $ –1 ≤ – KLQx(· ) ≤ 1tale insieme coinciderebbe con la striscia obliqua illustrata in figura $

Massimo Canale 50Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Invariant terminal set (Skokaert & Rawlings, IFAC, 1996)

! In tal caso l’insieme ΩLQ coincide con l’ellissoide EW ed il vincolo sullo stato finale non è più di natura lineare (soluzione con SOCP)

! Utilizzando descrizioni di natura poliedrica il vincolo torna lineare

Page 26: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 51Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Contraction constraint (Polak Yang, IJC, 1993, Zheng, PhD diss.1995)

0

'

s.t.

min ( ( | ), )

min ( | ) ( | ) ( | ) ( | )

( 1| ) ( | ) ( | ), 0( ) , ( ) [ ( | ), ( 1| ), , ( 1| )]

( ) [ ( 1| ), ( 2 | ), , ( | )]( ) ( ) ,

p

UH

T T

U i

Tc

Tp

J x k k U

x k i k Qx k i k u k i k Ru k i k

x k i k Ax k i k Bu k i k iHU k h U k u k k u k k u k H k

X k x k k x k k x k H kFX k GU k g

U

=

=

= + + + + +

+ + = + + + ≥

≤ = + + −

= + + ++ ≤

K

K'

2

( ) [ ( | ), ( 1| ), , ( 1|

( | ) ( 1| ), , , 1

( 1| ) ( 1| ) ( | ) ( | ),

)]

: Sistema stab1 :

ile,

T

c c p

T T T

p

u k i k u k H k i H H

x k k Px k k x k k Px k k P A PA

k u k k u k k u k H k

HpQ Pλ λ

+ = + − = −

+

= + + −

+ ≤

< = +

K

K

Massimo Canale 52Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Contraction constraint (Polak Yang, IJC, 1993, Zheng, PhD diss.1995)

Traccia della dimostrazione della stabilitàSupponendo un opportuno softening dei vincoli sullo stato e date le

proprietà di stabilità del sistema da controllare si può mostrare che il problema di ottimizzazione proposto è sempre feasible e, in particolare, il vincolo di contrazione.

Infatti, data la stabilità del sistema la sequenza nulla risulta sicuramente feasible, si tratta quindi di dimostrare che esiste comunque un valore di tale che per ogni valore di λ nell’intervallo λ* ≤ λ < 1 il vincolo di contrazione è comunque feasible.

2

( 1| ) ( 1 | ) ( | ) ( | ) ( | ) ( ) ( | )

( | ) ( | )( | ) ( | ) ( | ) ( | ) ( | ) ( | ) 1( | ) ( | )

( )( | ) ( | ) 1 ( | ) ( | )( )1

T T

TT T T

T

T T

T Tx k k Px k k x k k A P Ax k k x k k P Q x k k

x k k Qx k kx k k Px k k x k k Qx k k x k k Px k kx k k Px k k

Qx k k Px k k x k k Px k kP

σ λσ

+ + + = = −

= − = − ≤

≤ − =

<

Page 27: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 53Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Contraction constraint (Polak Yang, IJC, 1993, Zheng, PhD diss.1995)

Successivamente occorre mostrare che il soddisfacimento del vincolo di contrazione garantisce la convergenza a zero dello stato del sistema controllato.

A tal fine consideriamo la sequenza dei valori del funzionale di costo:

0

1

2

2

( ( | ), ) ( ( | ),0) ( | ) ( | )

( | ) ( ) ( | ) ( | ) ( | )

( ( ) ) ( ( ) )( | ) ( | ) 1 ( 1| 1) ( 1| 1) 1( ) ( )

( ((0) (0) 1

p

p

T T

T

HO T

iH

T i T T

i

i T i T

ik

J x k k U J x k k x k i k Qx k i k

x k i k A QAx k i k x k k Qx k k

A QA A QAx k k Px k k x k k Px k kP P

Ax Px

σ σλσ σ

σλ

=

=

≤ = + + =

+ + +

≤ − ≤ − − − − − ≤

) )( )

T QAPσ

Quindi: e poiché Q > 0 si ha anchelim ( ) 0k

J k→∞

= lim ( ) 0k

x k→∞

=

Massimo Canale 54Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Contraction constraint (Polak Yang, IJC, 1993, Zheng, PhD diss.1995)

Anche in questo caso la presenza del vincolo di contrazione (quadratico) fa sì che il problema di ottimizzazione non abbia vincoli lineari e per la sua soluzione occorre fare ricorso a tecniche di ottimizzazione quadratica con vincoli quadratici (SOCP)

Al fine di ottimizzare il carico computazionale in linea si potrebbe:! Risolvere il problema QP trascurando il vincolo di contrazione

verificandone il soddisfacimento a posteriori. ! Se il vincolo è soddisfatto $ OK ! Se il vincolo non è soddisfatto $ aggiungere un termine di

penalità nel funzionale del tipo ρPxT(k)Px(k) ed aumentare via via il valore del peso fino al soddisfacimento del vincolo

Page 28: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Cenni sulla formulazione del controllo MPC nel caso nonlineare

Massimo Canale 56Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Controllo predittivo nonlineare ! Il modello con cui viene operata la predizione è

nonlineare e tale da soddisfare opportune proprietà di regolarità! f(x,u)∈∈∈∈C2

e che l’origine sia uno stato di equilibrio per l’ingresso nullo! f(0,0) = 0

! Tipicamente si assume anche che il sistema linearizzato nell’origine sia stabilizzabile.

( 1) ( ( ), ( ))x k f x k u k+ =

Page 29: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 57Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Controllo predittivo nonlineare ! La formulazione di base è analoga a quella del caso

lineare:

! Il problema principale risiede nella soluzione del problema di ottimizzazione che anche nel caso di L(•) quadratica è comunque più complicato.

1

0

. .

min ( ( | ), ( | )) ( ( | ))

( 1| ) ( ( | ), ( | )),( )

( | )( | )

pH

pU i

p F

L x k i k u k i k x k H k

x k i k f x k i k u k is kU kx k i kx k H k

t

=

+ + + Φ +

+ + = + +∈

+ ∈+ ∈

UX

X

Massimo Canale 58Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Controllo predittivo nonlineare ! Come per il caso lineare esistono diverse formulazioni

che hanno l’obiettivo di stabilizzare (localmente) l’origine del sistema.

! Tra le soluzioni proposte ne troviamo alcune analoghe a quelle del caso lineare:! End terminal constraint! Contraction constraint

ed altre dedicate al solo caso nonlineare! Dual mode controller! Infinite horizon closed loop costing! Quasi Infinite

Page 30: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 59Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Dual mode controller(Mayne & Michalska, IEEE TAC, 1993)

! Ipotesi: ! sistema linearizzato stabilizzabile! funzionale di costo quadratico

! Sia X(KLQ), l’output admissible set corrispondente al controllore LQ (ottenuto con il medesimo funzionale di costo).

! Sia Xα ⊂ X(KLQ).

! La legge di controllo si ottiene imponendo il vincolo sullo stato finale Xf = Xα.

! Nel caso nominale è sufficiente applicare la sequenza di controllo (ottenuta nella prima ottimizzazione) e dal tempo Hp in poi utilizzare il controllore LQ.

Massimo Canale 60Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Infinite horizon closed-loop costing(e.g. De Nicolao et al., Automatica, 1997, IEEE TAC, 1998)

! Ipotesi: ! sistema linearizzato stabilizzabile

! funzionale di costo quadratico! peso sullo stato finale del tipo:

! vincolo sullo stato finale Xf = X(KLQ)

! valutazione approssimata di Φ(.).

( ( )) ( ) ( ) ( ) ( )T T TLQ LQ

k ix k x k Rx k x k K QK x k

=

Φ = +∑

Page 31: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 61Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Quasi-infinite (e.g. Parisini & Zoppoli, Automatica, 1995)

! Ipotesi: ! sistema linearizzato stabilizzabile

! funzionale di costo quadratico! peso sullo stato finale del tipo:

la matrice Pf è scelta in modo che il termone xTPf x sia una funzione di Lyapunov per il sistema controllato con la legge di controllo LQ.

! vincolo sullo stato finale Xf = X(KLQ)

( ( )) ( ) ( )Tp p f px k H x k H P x k HΦ + = + +

Tecniche di implementazione rapidadi leggi di controllo predittive

Page 32: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 63Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Implemetazione “rapida” di MPCMotivazioniMotivazioni

! Riprendiamo l’esempio delle sospensioni semi-attive.! Il progetto del controllo viene fatto utilizzando il modello

“quarter-car” già analizzato:

! Scegliendo come stato:

! Si possono scrivere le equazioni del modelloin variabili di stato discretizzato:

Massimo Canale 64Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Implemetazione “rapida” di MPC MotivazioniMotivazioni

! Il vincolo di passività può essere espresso come:

! Dove: ! Data la natura non convessa del vincolo si ricorre ad un

algoritmo MIQP per minimizzare il funzionale:

Page 33: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 65Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Implemetazione “rapida” di MPC MotivazioniMotivazioni

! La legge di controllo predittiva è stata applicata ad un modello “half-car” del tipo:

avente i seguenti parametri

Massimo Canale 66Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Implemetazione “rapida” di MPC MotivazioniMotivazioni

Confronto di MPC (-) vs. Sky-Hook(- -) e vs. LQ-clipped (···)Sine wave hole @ 60 km/h

Page 34: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 67Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Implemetazione “rapida” di MPC MotivazioniMotivazioni

Confronto MPC (-) vs. LQ-clipped (···)Sine wave hole @ 60 km/h

Forze erogate dalla sospensione

MPC LQ-clipped

Massimo Canale 68Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Implemetazione “rapida” di MPC MotivazioniMotivazioni

! L’utilizzo della predizione nel calcolo della legge di controllo permette di migliorare in maniera significativa le prestazioni di comfort ottenute dal veicolo, tuttavia …

… il tempo medio impiegato per calcolare una singola azione di controllo è pari a 0.25 s (@ Intel Pentium 4, 1.8 GHz)il tempo di campionamento usualmente impiegato in centraline automotive (es. dSpace Micro-Autobox) è dell’ordine dei ms !

⇒ Si rende necessario elaborare schemi di implementazione efficaci per le leggi di controllo predittive.

Page 35: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 69Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Approcci all’implementazione “rapida” 1. Soluzione esplicita lineare a tratti (piecewise affine) in µ

regioni poliedrali:u(k) = Kjx(k)+αj , j=1, … , µ

(vedi: Bemporad et al., Automatica, 2002, Seron et al, AJC, 2003)" Evita il problema dell’ottimizzazione in linea

" Basata su ottimizzazzione mpQP / mpLP

" Costituisce la soluzione esatta quando il modello è lineare

" Allo stesso risultato si giunge considerando

% effetto dei disturbi% inseguimento del riferimento% inclusione di soft constraints sullo stato

Massimo Canale 70Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Approcci all’implementazione “rapida” Soluzione Soluzione piecewise piecewise affineaffine

" I tempi di calcolo aumentano con l’aumentare dell’orizzonte di controllo (aumenta il numero di regioni poliedrali) $ cresce la quantità di dati da allocare in memoria $ dopo avere acquisito lo stato corrente occorre “assegnarlo” ad una delle regioni poliedralied applicare corrispondente legge di controllo.

" Non è applicabile a modelli nonlineari.

Page 36: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 71Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Approcci all’implementazione “rapida” Soluzione Soluzione piecewisepiecewise affineaffine

! Per migliorare l’implementazione in linea:" Soluzioni più efficienti nel calcolo della legge lineare a tratti

% Razionalizzazione (riduzione) del numero di regioni poliedriche tramite:! Tecniche più adeguate nell’esplorazione dello spazio di stato

(Tondel et al., Automatica, 2003)! Approssimazione con partizioni ortogonali, (Johansen and

Grancharova, IEEE TAC, 2003)! Soluzioni approssimate del problema mpQP (Bemporad and

Filippi, JOTA, 2003)

% Algoritmi più efficienti nella determinazione della regione cui lo stato corrente appartiene! Binary search tree ( ↑ occupazione memoria ↓ tempo di calcolo)! Sequential search (↓ occupazione memoria ↑ tempo di calcolo )

Massimo Canale 72Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Approcci all’implementazione “rapida” 2. Approssimazione della legge di controllo

u(k) = κ (x(k))" Reti neurali (Parisini & Zoppoli, Automatica, 1995)

" Legge di controllo lineare a tratti (Johansen, Automatica, 2004)

" Tecniche Set Membership (Canale & Milanese, IFAC, 2005)

Un aspetto comune a queste tecniche consiste nel trovare, a partire dalla conoscenza di un certo numero M di soluzioni del problema di controllo calcolate fuori linea, una funzione approssimante della legge di controllo κ(x)tale ottimizzando rispetto ai parametri w da cui dipende in modo da minimizzare l’errore di approssimazione:

ˆ( , )x wκ

ˆ( ) ( , )p

x x wκ κ−

Page 37: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 73Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Approcci all’implementazione “rapida” Approssimazione con reti neuraliApprossimazione con reti neurali

! Si approssima la funzione u(k) = κ (x(k)) con una rete neurale (ad es. con un singolo strato nascosto ed unità di attivazione lineare)

! Dove G1(•),… , GN(•) : Rn → Rm sono le funzioni di attivazione (ad es. sigmoidi) e w1,… , wN ∈ Rm×m sono i parametri da determinare della rete.

M Σ

1( )G x

( )NG x

1( )x k

2 ( )x k

1( )nx k−

( )nx k

11

( ) ( ( ), , ( ))N

nu k w G x k x k=

= ∑ l ll

KM

Massimo Canale 74Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Approcci all’implementazione “rapida” Approssimazione con reti neuraliApprossimazione con reti neurali

! L’utilizzo delle proprietà approssimanti delle reti neurali permette di ottenere la funzione con il livello di accuratezza desiderato (nel dominio di feasibility), pur di considerare una rete con struttura sufficientemente complicata.

" I tempi di computazione delle reti neurali sono molto rapidi e non dipendono dalle caratteristiche della legge di controllo (es. orizzonte di controllo).

" La procedura può essere applicata anche al caso di formulazioni “alquanto” generali del problema MPC (compreso l’utilizzo di modelli nonlineari).

" La fase di identificazione della rete è resa difficoltosa dalle procedure di programmazione nonlineare richieste che possono dare origine a minimi locali e dalla scelta della struttura.

" Non esistono procedure sistematiche per garantire il soddisfacimento dei vincoli.

" Difficile la valutazione dell’errore di approssimazione.

ˆ( )κ ⋅

Page 38: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 75Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Approcci all’implementazione “rapida” Approssimazione con funzione lineare a trattiApprossimazione con funzione lineare a tratti

! Si approssima la funzione u(k) = κ (x(k)) con una funzione lineare a tratti del tipo:

ˆ( ) ( ) , 1, ,j ju x K x k j Mα= + = K

definita su una partizione dello sottospazio feasible dello spazio di stato in µ regioni poliedrali.

! Si applica a formulazioni del tipo Dual Mode.! Utilizza tecniche mpNP. ! Partizioni ortogonali.! Implementata con tecniche “binary search tree”.

Massimo Canale 76Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Approcci all’implementazione “rapida” Approssimazione Set Approssimazione Set Membership Membership (FMPC)(FMPC)

! Si approssima la funzione u(k) = κ (x(k)) utilizzando i risultati della stima Set Membership per funzioni nonlineari.

" I tempi di computazione sono rapidi e non dipendono dalle caratteristiche della legge di controllo (es. orizzonte di controllo).

" La procedura può essere applicata al caso di formulazioni MPC per cui la legge di controllo risulta essere una funzione Lipschitz dello stato.

" La teoria Set Membership permette di quantificare l’errore di approssimazione.

" La funzione approssimante ottenuta risulta ottimale nel senso che rende minimo l’errore di approssimazione sulla base delle assunzioni fatte su κ (·).

" Il procedimento impiegato garantisce a priori il soddisfacimentodei vincoli.

Page 39: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 77Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Approcci all’implementazione “rapida” Approssimazione Set Approssimazione Set MembershipMembership (FMPC)(FMPC)

! Consideriamo un numero M di valori di κ (x) calcolati fuori linea a partire da valori dello stato x appartenenti ad un sottoinsieme X dello spazio di stato nel quale lo stato evolve e il problema MPC considerato ha soluzione:

! La funzione κ (x) è supposta Lipschitz nell’insieme X con costante di Lipschitz γ ed inoltre: umin ≤ κ (x) ≤ umax:

κ (x) ∈ Lγ=κ (x) : ||κ (b) - κ (a)|| ≤ γ ||b - a||, ∀x∈X & umin ≤ κ (x) ≤ umax

! Si cerca un’approssimazione della funzione κ (x) nell’ambito dell’insieme FFS:

tale da minimizzare l’errore di approssimazione in norma Lp(X ):

ˆ( )xκ

Massimo Canale 78Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Approcci all’implementazione “rapida” Approssimazione Set Approssimazione Set MembershipMembership (FMPC)(FMPC)

! Poiché κ (x) non è nota, non è possibile calcolare l’errore E(κ) ma solo un suo limite superiore definito come Errore di approssimazione garantito

! Una funzione κ*(x) è detta “approssimazione ottimale”se

ˆ( )E κ

Page 40: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 79Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Approcci all’implementazione “rapida” Approssimazione Set Approssimazione Set MembershipMembership (FMPC)(FMPC)

! Definendo le funzioni:

allora la funzione:

costituisce un’approssimazione ottimale per qualsiasi norma Lp (p∈[1,∞]) utilizzata nella definizione dell’errore di approssimazione E(•)

Massimo Canale 80Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Approcci all’implementazione “rapida” Approssimazione Set Approssimazione Set MembershipMembership (FMPC)(FMPC)

Inoltre

Page 41: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 81Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Approssimazione Set Membership (FMPC) Applicazione al caso delle sospensioni semiApplicazione al caso delle sospensioni semi--attiveattive

Canale et al., IEEE, TCST, 2006il tempo medio impiegato per calcolare una singola azione di controllo è

pari a 0.045 s (vs. 0.25 s) @ Intel Pentium 4, 1.8 GHz (M=30000)

Confronto tra le forze erogate dalla legge esatta e da quella approssimata

Massimo Canale 82Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Risultati sperimentali: Sine wave hole @ 100 km/h (FMPC, LQ-Clipped)

! Tempo computazionale medio 3 ms @ dSpace-MicroAutobox a 5 ms

! Brevetto internazionale PCT N. WO 2005/091091 A2 corrispondenteal brevetto nazionale N. TO2004A000173, 2005 (M. Canale, M. Milanese & C. Novara)

Approssimazione Set Membership (FMPC) Applicazione al caso delle sospensioni semiApplicazione al caso delle sospensioni semi--attiveattive

Canale et al., IEEE, TCST, 2006

Page 42: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 83Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Progetto KiteGen Un’altra applicazione di FMPCUn’altra applicazione di FMPC

Obiettivo:Generazione di energia elettrica da fonti eoliche! Soluzione “tradizionale” $ Wind farm

" Alti costi dovuti alle strutture:% la potenza generata dipende dal cubo della velocità del vento che

aumenta ed ha caratteristiche più stazionarie con l’altitudine ($ torri alte) e dal quadrato dell’area intercettata ($ grandezza delle pale)

" Grande occupazione di territorio (impatto ambientale fino a 200-300 volte un impianto termico di pari potenza)

• Per limitare questi inconvenienti $ idea: catturare l’energia proveniente dal vento tramite i profili alari utilizzati dai Kite surfer $$$$ KiteGen

Massimo Canale 84Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Progetto KiteGen Un’altra applicazione di FMPCUn’altra applicazione di FMPC

Partner del progetto KiteGen" Dipartimento di Automatica e Informatica, Politecnico di Torino

" Sequoia Automation srl, Chieri

" Modelway srl, Incubatore Imprese Innovative del Politecnico di Torino

" Centro Studi Industriali sas, Milano

" Azienda Energetica Metropolitana Torino spa

Obiettivi" progettare e costruire il generatore eolico KiteGen" dimostrare che la tecnologia KiteGen può contribuire significativamente alla generazione del fabbisogno energetico

Page 43: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 85Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Progetto KiteGen Un’altra applicazione di FMPCUn’altra applicazione di FMPC

Descrizione dell’unità di controllo KiteGen

controlsoftware

ground sensors (wind speed and direction, line strength ,…)

on board sensors(kite position and speed)

kite

actuation unit(electric drives, winches,..)

lines

Massimo Canale 86Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Progetto KiteGen Un’altra applicazione di FMPCUn’altra applicazione di FMPC

Modello

Page 44: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 87Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Progetto KiteGen Un’altra applicazione di FMPCUn’altra applicazione di FMPC

Progetto del controllo*: il Kite compie un ciclo composto da due fasi:! Fase di “trazione”: il Kite svolge i cavi ad una velocità costante

in modo da generare energia tramite la descrizione di opportune traiettorie. L’obiettivo è la generazione di energia

! Fase di “recupero”: quando i cavi raggiungono la massima lunghezza il Kite deve essere riportato, in modo da minimizzare l’energia spesa, nella posizione iniziale in modo da cominciare una nuova fase di trazione.

! Le tecniche MPC possono essere convenientemente usate in quanto permettono di gestire contemporaneamente:" La massimizzazione dell’energia prodotta (problema di

ottimizzazazione)

" Soddisfacimento dei vincoli sull’ingresso e sullo stato (il Kite non deve cadere al suolo, i cavi non si devono intrecciare (orbite circolari), …

* Canale, Fagiano, Milanese & Ippolito, CDC, 2006

Massimo Canale 88Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Progetto KiteGen Un’altra applicazione di FMPCUn’altra applicazione di FMPC

Simulazione condizioni nominali (area Kite $ 5 m2)

Canale, Fagiano, Milanese & Ippolito, CDC, 2006

Page 45: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 89Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Progetto KiteGen Un’altra applicazione di FMPCUn’altra applicazione di FMPC

Simulazione condizioni nominali (potenza generata)

Canale, Fagiano, Milanese & Ippolito, CDC, 2006

Massimo Canale 90Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Progetto KiteGen Un’altra applicazione di FMPCUn’altra applicazione di FMPC

Simulazione in presenza di turbolenza sul vento laterale (potenza generata)

Canale, Fagiano, Milanese & Ippolito, CDC, 2006

Page 46: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 91Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Progetto KiteGen Un’altra applicazione di FMPCUn’altra applicazione di FMPC

Simulazione in presenza di turbolenza sul vento verticale (potenza generata)

Canale, Fagiano, Milanese & Ippolito, CDC, 2006

Massimo Canale 92Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Progetto KiteGen Un’altra applicazione di FMPCUn’altra applicazione di FMPC

Configurazione “carosello”

L’energia è generata con cicli periodici di 4 fasi:& trazione con vento a

destra& trazione, sospensione

e cambio di vento& trazione con vento a

sinistra& cambio di vento

Le azioni di controllo sono calcolate in modo da massimizzare la potenza generata nelle fasi di trazione e minimizzare le perdite nelle fasi “passive”

Page 47: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 93Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Progetto KiteGen Un’altra applicazione di FMPCUn’altra applicazione di FMPC

Configurazione “carosello”

Simulazione di un singolo Kite kite area A= 100 m2

kite efficiency E= 8wind speed We= 12 m/sturbine radius R= 300 m

Potenza media 400 kW

1200 1250 1300 1350 1400 1450 1500 1550 1600-200

0

200

400

600

800

1000

1200

time (s)

Pot

enza

gen

erat

a (k

W)

Potenza Generata (kW)

IstantaneaMedia

traction with left wind

traction with right wind

traction suspension and wind change

Massimo Canale 94Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Progetto KiteGen Un’altra applicazione di FMPCUn’altra applicazione di FMPC

Prototipo realizzato con supporto parziale della Regione Piemonte (Bando per la ricerca industriale e lo sviluppo precompetitivo 2005)Usato al momento per:% Testare validità del modello e risultati ottenuti in simulazione% Identificare, se necessario modelli più accurati% Test della procedura di controllo

Page 48: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Bibliografia essenziale

Massimo Canale 96Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Libri specifici% E. Mosca, Optimal, Predictive and Adaptive Control, Prentice Hall, NJ, 1994.% E. Camacho, C. Bordons, Model Predictive Control, 2nd ed. Springer, Berlin, 2004.% J.M.Maciejowski, Predictive Control with Constraints, PearsonEducation, 2001.

Page 49: Introduzione al Controllo Predittivo - ce.unipr.it · Model Predictive Control (MPC) Introduzione ! Nel controllo predittivo gli obiettivi sono descritti da un indice di prestazione

Massimo Canale 97Politecnico di Torino Politecnico di Torino -- DAUINDAUIN

Survey% C. E. Garcia, D. M. Prett, M. Morari, “Model predictive control: theory and practice: a survey, Automatica, 25(3), pp. 335-348, 1989.% A. Bemporad and M. Morari, “Robust Model Predictive Control: A Survey,” in Robustness in identification and control. New York: Springer-Verlag, 1999.% D. Q. Mayne, J. B. Rawlings, and C. V. Rao Scokaert, “Constrainedmodel predictive control: Stability and optimality,” Automatica,36, pp. 789–814, 2000.% G. De Nicolao, L. Magni, R. Scattolini “Stability and robustness of nonlinear receding-horizon control”, in Allgower, Zheng (Eds.), Nonlinear model predictive control, 2000. % S. J. Qin, T. A. Badgwell, “A survey of industrial model predictivecontrol technology”, Control Engineering Practice, 11(7), pp. 733-764, 2003.