Course on Model Predictive Control Part III ... - Centro E Piaggio
Course on Model Predictive Control Part III ... - Centro E Piaggio
Course on Model Predictive Control Part III ... - Centro E Piaggio
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol<br />
<strong>Part</strong> <strong>III</strong> – Stability and robustness<br />
Gabriele Pannocchia<br />
Department of Chemical Engineering, University of Pisa, Italy<br />
Email: g.pannocchia@diccism.unipi.it<br />
Facoltà di Ingegneria, Pisa.<br />
September 17th, 2012. Aula Pacinotti<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 1 / 36
Outline<br />
1 Nominal stability analysis<br />
Preliminaries <strong>on</strong> stability analysis and Lyapunov functi<strong>on</strong>s<br />
Closed loop descripti<strong>on</strong><br />
Stability results<br />
2 Nominal (inherent) robustness<br />
Perturbed closed-loop system<br />
Robust stability and recursive feasibility<br />
3 Suboptimal MPC: stability and robustness<br />
4 Robust MPC design<br />
Min-max<br />
Tube-based robust MPC<br />
5 Output feedback MPC<br />
Stability analysis<br />
Offset-free MPC analysis and design<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 2 / 36
Some preliminary definiti<strong>on</strong>s<br />
Discrete-time system<br />
C<strong>on</strong>sider general n<strong>on</strong>linear discrete-time systems:<br />
x + = f (x,u)<br />
with f : R n × R m → R n c<strong>on</strong>tinuous<br />
Let φ(k; x, u) be the soluti<strong>on</strong> of x + = f (x,u) at time k for<br />
initial state x(0) = x and c<strong>on</strong>trol sequence u = {u(0), u(1), ...}<br />
Given a state-feedback law u = κ(x), obtain a closed-loop<br />
x + = f (x,κ(x)) denote again the soluti<strong>on</strong> as φ(k; x)<br />
Equilibrium and positive invariance<br />
A point x ∗ is an equilibrium point of x + = f (x,κ(x)) if<br />
x(0) = x ∗ implies that x(k) = φ(k; x ∗ ) = x ∗ for all k ≥ 0<br />
A set A is positively invariant for x + = f (x,κ(x)) if x ∈ A<br />
implies that x + = f (x,κ(x)) ∈ A<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 3 / 36
Stability and asymptotic stability<br />
606 Stabili<br />
Stability and attractivity of the origin<br />
Given a (closed-loop) system x + B✏(0)<br />
= f (x), with the<br />
origin as equilibrium, i.e. f (0) = 0<br />
The origin is locally stable if for every ɛ > 0, there<br />
x<br />
0<br />
exists δ > 0 such that |x| < δ implies |φ(k; x)| < ɛ<br />
The origin is globally attractive if<br />
lim k→∞ |φ(k; x)| = 0 for any x ∈ R n<br />
B (0)<br />
Global asymptotic stability and exp<strong>on</strong>ential stability<br />
Figure B.1: Stability of the origin.<br />
where A has eigenvalues 1 = 0.5 and 2 = 2 with associa<br />
vectors w1 and w2, shown in Figure B.2; w1 is the “stable” an<br />
“unstable” eigenvector; the smooth functi<strong>on</strong> (·) satisfies<br />
and (@/@x) (0) = 0 so that x + = Ax + (x) behaves like<br />
near the origin. If (x) ⌘ 0, the moti<strong>on</strong> corresp<strong>on</strong>ding to<br />
state ↵w1, ↵ î 0, c<strong>on</strong>verges to the origin, whereas the mot<br />
sp<strong>on</strong>ding to an initial state ↵w2 diverges. If (·) is such tha<br />
n<strong>on</strong>zero states toward the horiz<strong>on</strong>tal axis, we get trajector<br />
|φ(k; x)| ≤ c|x|γ k formall shown k ≥in0<br />
Figure B.2. All trajectories c<strong>on</strong>verge to the o<br />
the moti<strong>on</strong> corresp<strong>on</strong>ding to an initial state ↵w2, no matter h<br />
is similar to that shown in Figure B.2 and cannot satisfy the "<br />
ti<strong>on</strong> of local stability. The origin is globally attractive but not<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> trajectory C<strong>on</strong>trol. <strong>Part</strong> that <strong>III</strong> – joins Stability anand equilibrium robustness point to itself, 4 / 36 as in Figu<br />
The origin is globally<br />
▶<br />
▶<br />
asymptotically stable (GAS) if it is locally stable and globally attractive<br />
exp<strong>on</strong>entially stable (GES) if there exist c > 0 and γ ∈ (0,1) such that:
Asymptotic stability for c<strong>on</strong>strained systems<br />
GAS for c<strong>on</strong>strained system<br />
Let X be positively invariant for x + = f (x)<br />
The origin is<br />
▶ locally stable in X if for every ɛ > 0 there exists δ > 0 such that<br />
for any x ∈ X ∩ δB there holds |φ(k; x)| < ɛ for all k ≥ 0<br />
▶ attractive if for every x ∈ X there holds lim k→∞ |φ(k; x)| = 0<br />
▶ asymptotically stable in X if it is locally stable and attractive<br />
X is called regi<strong>on</strong> (or domain) of attracti<strong>on</strong> for the origin<br />
Comparis<strong>on</strong> functi<strong>on</strong><br />
A functi<strong>on</strong> σ : R ≥0 → R ≥0 is of class K if it is c<strong>on</strong>tinuous, σ(0) = 0<br />
and strictly increasing (K ∞ if unbounded)<br />
A functi<strong>on</strong> β : R ≥0 × N → R ≥0 is of class K L if for each t ∈ N,<br />
β(·, t) is a K functi<strong>on</strong>, and for each s ∈ R ≥0 , lim t→∞ β(s, t) = 0<br />
GAS is equivalent to |φ(k; x)| ≤ β(|x|,k) for all k ≥ 0, β(·) ∈ K L<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 5 / 36
Lyapunov functi<strong>on</strong>s and asymptotic stability<br />
General definiti<strong>on</strong><br />
A functi<strong>on</strong> V : R n → R ≥0 is a Lyapunov functi<strong>on</strong> for x + = f (x)<br />
if there exist K ∞ functi<strong>on</strong>s α 1 ,α 2 ,α 3 such that for all x ∈ R n :<br />
α 1 (|x|) ≤ V (x) ≤ α 2 (|x|)<br />
V (f (x)) −V (x) ≤ −α 3 (|x|)<br />
V decreases during the evoluti<strong>on</strong> of the system<br />
Lyapunov functi<strong>on</strong>s and GAS<br />
If V (·) is a Lyapunov functi<strong>on</strong> for x + = f (x), the origin is globally asymptotically<br />
stable<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 6 / 36
Lyapunov functi<strong>on</strong>s and stability for c<strong>on</strong>strained systems<br />
Asymptotic stability<br />
Then, the origin is asymptotically stable in X if:<br />
X is positively invariant for x + = f (x)<br />
V (·) is a Lyapunov functi<strong>on</strong> for x + = f (x)<br />
Exp<strong>on</strong>ential Lyapunov functi<strong>on</strong> and stability<br />
The origin of x + = f (x) is exp<strong>on</strong>entially stable in X if<br />
X is positively invariant for x + = f (x)<br />
There exist V : R n → R ≥0 and positive c<strong>on</strong>stants a, a 1 , a 2 , a 3 :<br />
a 1 |x| a ≤ V (x) ≤ a 2 |x| a<br />
V (f (x)) −V (x) ≤ −a 3 |x| a<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 7 / 36
Linear quadratic MPC formulati<strong>on</strong><br />
Prototype MPC problem<br />
Given current state x(0) = x, solve for the input sequence<br />
u = {u(0; x),u(1; x),...,u(N − 1; x)}<br />
Cost functi<strong>on</strong>:<br />
P N (x) :<br />
min u<br />
V N (x, u) s.t.<br />
x + = Ax + Bu<br />
x(j ) ∈ X for all j = 0,..., N − 1<br />
u(j ) ∈ U for all j = 0,..., N − 1<br />
x(N ) ∈ X f<br />
N−1 ∑<br />
V N (x, u) = l(x(j ),u(j ))+V f (x(N )),<br />
j =0<br />
l(x,u) = x ′ Qx+u ′ Ru<br />
Terminal cost: V f (x) = x ′ P x<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 8 / 36
Closed-loop system and basic path for stability<br />
Closed-loop system<br />
Given the optimal soluti<strong>on</strong> sequence u 0 (x), functi<strong>on</strong> of<br />
current state x, denote the implicit MPC c<strong>on</strong>trol law<br />
κ N (x) = u 0 (0; x)<br />
Closed-loop system: x + = Ax + Bκ N (x)<br />
Notice that κ N : X N → U is not linear<br />
Basic route to prove stability<br />
Show that V 0 N<br />
(·) is a Lyapunov functi<strong>on</strong> for<br />
x + = f (x) = Ax + κ N (x)<br />
Show that the feasibility set, X N , is positively invariant<br />
(C<strong>on</strong>trol invariance of X f ) For every x ∈ X f , there exists<br />
u ∈ U: x + = Ax + Bu ∈ X f V f (x + ) −V f (x) ≤ −l(x,u)<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 9 / 36
Stability proof<br />
Lemma. Optimal cost decrease<br />
For all x ∈ X N , there holds: V 0 N (Ax + Bκ N (x)) −V 0 N (x) ≤ −l(x,κ N (x))<br />
Proof<br />
C<strong>on</strong>sider the optimal input and state sequences<br />
u 0 (x) = {u 0 (0; x),u 0 (1; x),...,u 0 (N − 1; x)}<br />
x 0 (x) = {x 0 (0), x 0 (1),..., x 0 (N )}<br />
At next time, given x + = Ax + Bκ N (x), c<strong>on</strong>sider a candidate<br />
sequence ũ := {u 0 (1; x),...,u 0 (N − 1; x),u(N )}<br />
Choose u(N ) ∈ U such that x(N + 1) = Ax 0 (N ; x) + Bu(N ) ∈ X f<br />
and V f (x(N + 1)) + l(x(N ),u(N )) ≤ V f (x 0 (N ))<br />
ũ is feasible and V N (x + , ũ) ≤ V 0 N (x) − l(x,κ N (x))<br />
But not optimal for P N (x + ). Thus:<br />
V 0 N (x+ ) ≤ V N (x + , ũ) ≤ V 0 N (x) − l(x,κ N (x))<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 10 / 36
Examples of linear MPC: the origin as terminal set<br />
Simple idea<br />
(No) Terminal cost: V f (x) = 0<br />
Terminal set: X f = {0}<br />
Drawbacks<br />
The feasibility set X N may be small because <strong>on</strong>e needs to<br />
reach the origin in N steps (with c<strong>on</strong>strained input u ∈ U)<br />
Closed-loop evoluti<strong>on</strong> of x + = Ax + Bκ N (x) and open-loop<br />
trajectory {x 0 (0), x 0 (1),..., x 0 (N − 1),0} may be very different<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 11 / 36
Examples of linear MPC: Rawlings and Muske [1993]<br />
Open-loop stable systems<br />
Terminal cost: V f (x) := x ′ P x with P soluti<strong>on</strong> to the<br />
Lyapunov equati<strong>on</strong>:<br />
∞∑<br />
P = A ′ PA +Q notice that: P = (A j ) ′ Q A j<br />
Terminal set X f = X<br />
j =0<br />
Open-loop unstable systems<br />
][<br />
Perform Schur decompositi<strong>on</strong>: A =<br />
As A<br />
[ S s S u ][<br />
su S ′<br />
]<br />
s<br />
0 A u S u<br />
′<br />
Solve reduced Lyapunov equati<strong>on</strong>: Π = A ′ s ΠA s + S ′ s QS s<br />
Terminal cost: V f (x) = x ′ P x with P = S ′ s ΠS s<br />
Terminal set: X f = {x ∈ X | S ′ u x = 0}<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 12 / 36
Examples of linear MPC: Scokaert and Rawlings [1998]<br />
Now c<strong>on</strong>sidered the “standard” formulati<strong>on</strong><br />
Terminal cost: V f (x) = x ′ P x, from the Riccati equati<strong>on</strong>:<br />
P = Q + A ′ PA − A ′ PB(B ′ PB + R) −1 B ′ PA<br />
Terminal set: X f = {x ∈ R n | V f (x) ≤ α} with α > 0 suitably<br />
chosen such that<br />
x ∈ X K x ∈ U with K = −(B ′ PB + R) −1 B ′ PA<br />
Comments<br />
Closed-loop and open-loop trajectories coincide<br />
It is an infinite-horiz<strong>on</strong> optimal formulati<strong>on</strong><br />
Often the terminal c<strong>on</strong>straint is not enforced, but verified<br />
a-posteriori (increasing N if not satisfied)<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 13 / 36
Types of uncertainties<br />
... The bare truth<br />
The true c<strong>on</strong>trolled system does not satisfy x + = Ax + Bu<br />
The true state x is not known exactly<br />
Additive uncertainty<br />
The true system is modeled as<br />
x + = f (x,u) + w<br />
with f (x,u) = Ax + Bu<br />
The disturbance w is unknown but bounded, w ∈ W<br />
(W compact and c<strong>on</strong>vex)<br />
Alternative LTV descripti<strong>on</strong> (c<strong>on</strong>vex hull)<br />
M∑<br />
x(k + 1) = A(k)x(k) + B(k)u(k) with {A(k),B(k)} = µ i (k){A(i ),B(i )}<br />
i=1<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 14 / 36
Closed-loop uncertain system under nominal MPC<br />
Difference inclusi<strong>on</strong> descripti<strong>on</strong><br />
The true system can be modeled as a difference inclusi<strong>on</strong><br />
x + ∈ F (x,u) = {f (x,u) + w | w ∈ W}<br />
If the state is not precisely known:<br />
u = κ N (x + e) with e ∈ E (compact and c<strong>on</strong>vex)<br />
The closed-loop system evolves as:<br />
x + ∈ H(x) = {f (x,κ N (x + e)) + w | e ∈ E, w ∈ W}<br />
with a generic soluti<strong>on</strong> denoted as φ ew (k; x)<br />
Fundamental questi<strong>on</strong>s: if W and E are small sets<br />
Is P N solvable at all times (recursive feasibility)?<br />
Does the following robust stability c<strong>on</strong>diti<strong>on</strong> hold?<br />
|φ ew (k; x)| ≤ β(|x|,k) + ɛ with ɛ > 0<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 15 / 36
Inherent robustness of linear MPC<br />
Properties of P N for linear MPC [Grimm et al., 2004]<br />
The optimal cost functi<strong>on</strong> V 0 N<br />
(·) is c<strong>on</strong>tinuous (in x)<br />
The optimal MPC law κ N (·) is c<strong>on</strong>tinuous (in x)<br />
Robust asymptotic stability<br />
Grimm et al. [2004] showed that if:<br />
▶<br />
▶<br />
there exists a c<strong>on</strong>tinuous Lyapunov functi<strong>on</strong> for the nominal<br />
system x + = f (x,κ N (x)), and<br />
P N is feasible at all times<br />
Then, for any ɛ > 0 there exists δ > 0 such that if {W,E} ∈ δB:<br />
|φ ew (k; x)| ≤ β(|x|,k) + ɛ<br />
In [Grimm et al., 2004] recursive feasibility was assumed<br />
... Proved in [Pannocchia et al., 2011a,b]<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 16 / 36
What is suboptimal MPC?<br />
Why suboptimal MPC? ...A practical problem<br />
Despite its c<strong>on</strong>vexity (<strong>on</strong>ly for linear MPC), solving P N (x) up<br />
to optimality may be difficult if a short decisi<strong>on</strong> time is<br />
allowed<br />
Stability theory assumed that P N (x) is solved exactly<br />
What is the impact of using a suboptimal soluti<strong>on</strong> to P N (x)?<br />
A neat suboptimal MPC framework [Scokaert et al., 1999]<br />
Given current state x, previous c<strong>on</strong>trol sequence<br />
u − = {u − (0),u − (1),...,u − (N − 1)} and state sequence<br />
x − = {x − (0), x − (1),..., x − (N )}<br />
Build a warm-start: u 0 = {u − (1),...,u − (N − 1),κ f (x − (N ))}<br />
Perform some iterati<strong>on</strong>s to improve the warm start:<br />
V N (x, u) ≤ V N (x, u 0 )<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 17 / 36
Stability under suboptimal MPC<br />
An additi<strong>on</strong>al ingredient<br />
To prove GAS, an additi<strong>on</strong>al requirement is enforced<br />
V N (x, u) ≤ V f (x) if x ∈ r B ⊂ X f<br />
r > 0 can be arbitrarily small: additi<strong>on</strong>al c<strong>on</strong>straint will not matter<br />
Sketch of stability proof.<br />
C<strong>on</strong>sider the extended state: z = (x, u)<br />
The successor suboptimal input sequence u + is a functi<strong>on</strong> of<br />
the x + and of the warm-start. Hence u + = g (x, u)<br />
The extended state evolves as<br />
[<br />
]<br />
x +<br />
=<br />
u + ]<br />
[<br />
Ax+B[I 0]u<br />
g (x,u)<br />
V N (·) is a Lyapunov functi<strong>on</strong> for z + = h(z)<br />
or z + = h(z)<br />
Additi<strong>on</strong>al c<strong>on</strong>diti<strong>on</strong> implies GAS in the n<strong>on</strong>-extended state<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 18 / 36
Inherent robustness of suboptimal MPC (1/2)<br />
Comments <strong>on</strong> the suboptimal cost and c<strong>on</strong>trol<br />
The suboptimal c<strong>on</strong>trol is not unique, i.e. κ N (x) is<br />
set-valued map<br />
The suboptimal cost functi<strong>on</strong> V N (·) is not c<strong>on</strong>tinuous in x<br />
The proof of [Grimm et al., 2004] for inherent robustness<br />
does not hold for suboptimal MPC<br />
New results [Pannocchia et al., 2011a,b]<br />
Suboptimal MPC is inherently robust<br />
Recursive feasibility can be established<br />
Optimal and suboptimal MPC have the same (qualitative)<br />
stability properties<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 19 / 36
Inherent robustness of suboptimal MPC (2/2)<br />
Sketch of robust stability proof.<br />
The perturbed extended system evolves as a difference<br />
inclusi<strong>on</strong><br />
z + = H(z) := {(x + , u + ) | x + = Ax + Bu(0; x + e) + w, u + ∈ G(z)}<br />
Show exp<strong>on</strong>ential stability in the extended state<br />
Prove that exist γ ∈ (0,1) and µ > 0<br />
V N (z + ) ≤ max{γV N (z),µ}<br />
V N (·) is c<strong>on</strong>tinuous in z and implies robust stability in the<br />
extended state<br />
The additi<strong>on</strong>al c<strong>on</strong>diti<strong>on</strong> implies robust stability in the<br />
n<strong>on</strong>-extended state<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 20 / 36
Robust MPC design: an introducti<strong>on</strong> (1/2)<br />
An example [Rawlings and Mayne, 2009]<br />
(Nominal) system: x + = x + u, without c<strong>on</strong>straints X = U = R<br />
MPC design: N = 3, l(x,u) = x 2 + u 2 , V f (x) = x 2<br />
Open-loop c<strong>on</strong>trol vs feedback policies<br />
OL Given initial state x(0) = x, solve for u = [u(0), u(1), u(2)] ′ :<br />
u 0 (x) = [ −0.615x −0.231x −0.077x ] ′<br />
FB Use dynamic programming to obtain a feedback policy:<br />
µ 0 = [ −0.615x(0) −0.6x(1) −0.5x(2) ] ′<br />
Evoluti<strong>on</strong> in the presence of uncertainties<br />
Same nominal evoluti<strong>on</strong> is obtained<br />
C<strong>on</strong>sidering disturbances: x + = x + u + w, different trajectories are obtained<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 21 / 36
i<br />
Robust i MPC design: an introducti<strong>on</strong> (2/2)<br />
Trajectories in three cases<br />
Three disturbance sequences:<br />
“book” — 2008/11/3 — 17:21 — page 178 — #210<br />
▶ w 0 = {0, 0, 0}<br />
▶ w 1 178<br />
= {1, 1, 1}<br />
Robust <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol<br />
▶ w 2 = {−1, −1, −1}<br />
2<br />
x1<br />
2<br />
x1<br />
X1<br />
X2<br />
X3<br />
X1<br />
X2<br />
X3<br />
x0<br />
x0<br />
0<br />
1<br />
2<br />
k<br />
3<br />
0<br />
1<br />
2<br />
k<br />
3<br />
x2<br />
x2<br />
2<br />
2<br />
(a) Open loop.<br />
(b) Feedback.<br />
Feedback policies Figure 3.1: are Open-loop clearly more and feedback effective trajectories. against disturbances<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 22 / 36
Min-max MPC<br />
C<strong>on</strong>ceptual framework<br />
Predicti<strong>on</strong> model x + = Ax + Bu + w with w ∈ W (compact)<br />
Robustly invariant terminal set X f [Blanchini, 1999]<br />
Open-loop min-max: u = [ u(0) u(1) ··· u(N−1)]<br />
min u<br />
max<br />
w V N (x, u, w) s.t.<br />
x(j + 1) = Ax(j ) + Bu(j ) + w(j )<br />
x(j ) ∈ X, w(j ) ∈ W, u(j ) ∈ U for j = 0,..., N − 1<br />
x(N ) ∈ X f<br />
Feedback min-max: µ = [ µ(x(0)) µ(x(1)) ··· µ(x(N−1))]<br />
min max V N (x,µ, w) s.t.<br />
µ w<br />
x(j + 1) = Ax(j ) + Bµ(x(j )) + w(j )<br />
x(j ) ∈ X, w(j ) ∈ W, µ(x(j )) ∈ U for j = 0,..., N − 1<br />
x(N ) ∈ X f<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 23 / 36
Tube-based MPC (1/3)<br />
Set algebra<br />
Some notati<strong>on</strong><br />
▶ Set additi<strong>on</strong>: A ⊕ B = {a + b | a ∈ A, b ∈ B}<br />
▶ Set subtracti<strong>on</strong>: A ⊖ B = {x ∈ R n | {x} ⊕ B ⊆ A}<br />
▶ Set multiplicati<strong>on</strong>: let K ∈ R m×n . K A = {K a | a ∈ A}<br />
Outer-bounding tube<br />
Uncertain linear system: x + = Ax + Bu + w, w ∈ W<br />
Nominal system: z + = Az + Bv<br />
Affine feedback policy: u = v + K (x − z)<br />
Error, e = x − z, evolves as: e + = (A + BK )e + w = A K e + w<br />
If we set z(0) = x(0), i.e. e(0) = 0, then<br />
i−1 ∑<br />
e(i ) ∈ S K (i ) = A j K W ⊆ S<br />
j =0<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 24 / 36
Tube-based MPC (2/3)<br />
C<strong>on</strong>straint tightening<br />
C<strong>on</strong>straints <strong>on</strong> the uncertain system: x(i ) ∈ X, u(i ) ∈ U<br />
i<br />
Tightened c<strong>on</strong>straints <strong>on</strong> the nominal system:<br />
z(i ) ∈ Z = X ⊖ S, v(i ) ∈ V = U ⊖ K S<br />
i<br />
“book” — 2008/11/3 — 17:21 — page 212 — #244<br />
A sketch of nominal and uncertain trajectories<br />
212 Robust <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol<br />
i<br />
i<br />
X1<br />
x2<br />
x trajectory<br />
X0<br />
X2<br />
z trajectory<br />
x1<br />
S0<br />
Figure 3.4: Outer-bounding tube X(z, v).<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 25 / 36
Tube-based MPC (3/3)<br />
Nominal MPC problem with restricted c<strong>on</strong>straints<br />
¯P N (z) :<br />
min v<br />
V N (z, v) s.t. z + = Az + Bv<br />
z(j ) ∈ Z for all j = 0,..., N − 1<br />
v(j ) ∈ V for all j = 0,..., N − 1<br />
z(N ) ∈ Z f<br />
Tube-based MPC<br />
Initializati<strong>on</strong> At time k = 0, set z(0) = x(0)<br />
Step 1 Given current augmented state (x, z), solve ¯P N (z) and obtain<br />
nominal c<strong>on</strong>trol v = ¯κ N (z)<br />
Step 2 Apply c<strong>on</strong>trol: u = v + K (x − z)<br />
Step 3 Compute nominal successor state: z + = Az + Bv and measure<br />
successor state x +<br />
Step 4 Replace (x, z) ← (x + , z + ), go to Step 1<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 26 / 36
Output feedback MPC: main definiti<strong>on</strong>s<br />
True system and state estimator<br />
Uncertain LTI system<br />
x + = Ax + Bu + w<br />
y = C x + v<br />
Bounded disturbances: w ∈ W, v ∈ V<br />
Simple Luenberger observer:<br />
ˆx + = A ˆx + Bu + L(y − ŷ)<br />
Estimati<strong>on</strong> error e := x − ˆx evolves as<br />
with ŷ = C ˆx<br />
e + = (A − LC )e + ˜w<br />
with ˜w := w − Lv ∈ ˜W := W ⊕ (−LV)<br />
Output feedback MPC<br />
Solve P N ( ˆx) and apply κ N ( ˆx)<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 27 / 36
Nominal stability of output feedback MPC<br />
Deterministic case<br />
In the ideal situati<strong>on</strong>: W = {0} and V = {0}: e + = (A − LC )e<br />
The origin of e + = (A − LC )e is exp<strong>on</strong>entially stable<br />
Estimator state evolves as: ˆx + = A ˆx + Bu + LCe<br />
Main result [Scokaert et al., 1997]<br />
Let φ(k; x,e) be the soluti<strong>on</strong> at time k of x + = Ax + Bκ N ( ˆx)<br />
The following asymptotic stability c<strong>on</strong>diti<strong>on</strong> holds:<br />
|φ(k; x,e)| ≤ β(|(x,e)|,k) for all k ∈ N<br />
for any initial state x ∈ C ⊂ X N and estimate error e ∈ E<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 28 / 36
Offset-free MPC based <strong>on</strong> disturbance model<br />
Some reminders<br />
The augmented system (x ∈ R n ,u ∈ R m , y ∈ R p ,d ∈ R n d )<br />
x + = Ax + Bu + B d d<br />
d + = d<br />
y = C x +C d d<br />
Observability requirements<br />
(A,C ) observable rank[<br />
A−I Bd<br />
C C d<br />
]<br />
= n + n d<br />
Tracked variables, target calculator and dynamic optimizati<strong>on</strong><br />
C<strong>on</strong>trolled variables: r = H y, with r ∈ R p r<br />
and p r ≤ min{p,m}<br />
Target calculator chooses targets (x s ,u s ) such that:<br />
x s = Ax s + Bu s + B d d, ¯r = H(C x s +C d d)<br />
Dynamic optimizati<strong>on</strong> regulates deviati<strong>on</strong> variables:<br />
˜x = x − x s → 0, ũ = u − u s → 0<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 29 / 36
Zero offset [Muske and Badgwell, 2002, Pannocchia and<br />
Rawlings, 2003, Maeder et al., 2009]<br />
Theorem statement<br />
Let n d = p, assume that:<br />
▶<br />
▶<br />
MPC feasible at all times, unc<strong>on</strong>strained for k ≥ ¯k<br />
Closed loop reaches steady values: (u ∞ , y ∞ ), ( ˆx ∞ , d ˆ ∞ ), (x s ,u s )<br />
Then, there is zero offset in r : r ∞ = H y ∞ = ¯r<br />
Sketch of proof<br />
Stability of the observer implies that L d ∈ R p×p is full rank:<br />
dˆ<br />
∞ = d ˆ ∞ + L d (y ∞ −C ˆx ∞ −C d d∞ ˆ ) ⇒ y ∞ = C ˆx ∞ +C d d∞ ˆ<br />
Target satisfies: ¯r = H(C x s +C d d∞ ˆ )<br />
Since c<strong>on</strong>straints are inactive (at steady state), ũ ∞ = K ˜x ∞<br />
Hence: ˜x ∞ = (A + BK ) ˜x ∞ ⇒ ˜x ∞ = ˆx ∞ − x s = 0 ⇒ ˆx ∞ = x s<br />
Combining all steps: H(C ˆx ∞ +C d ˆ d∞ ) = H y ∞ = r ∞ = ¯r<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 30 / 36
Equivalence of disturbance models and observer design<br />
A debate: what is the best choice for (B d ,C d )?<br />
There were evidences that B d = 0, C d = I was a bad choice<br />
[Lundström et al., 1995, Muske and Badgwell, 2002,<br />
Pannocchia, 2003, Pannocchia and Rawlings, 2003, Maeder<br />
et al., 2009, Bageshwar and Borrelli, 2009]<br />
A change of perspective<br />
Rajamani et al. [2004, 2009] argued that two augmented<br />
systems with same (A,B,C ) and different (B d ,C d ) are two<br />
n<strong>on</strong>-minimal realizati<strong>on</strong>s of the same system<br />
A transformati<strong>on</strong> matrix T makes them equivalent<br />
A 1 = [ ]<br />
A B d1<br />
0 I , B1 = [ ] [ ]<br />
B Lx1<br />
0<br />
, C1 = [C C d1 ], L 1 =<br />
L d1<br />
A 2 = [ ]<br />
A B d2<br />
0 I = T A1 T −1 , B 2 = [ ]<br />
B<br />
0<br />
= T B1 , C 2 = [C C d1 ] =<br />
C 1 T −1 , L 2 = T L 1<br />
Choose any (B d ,C d ) and determine (L x ,L d ) from data<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 31 / 36
H ∞ interpretati<strong>on</strong> of disturbance models<br />
H ∞ interpretati<strong>on</strong> [Pannocchia and Bemporad, 2007]<br />
System P subject to a disturbance w ∈ R n+p<br />
x + = Ax + Bu + B w w B w = [ I n 0]<br />
y = C x + +D w w D w = [ 0 I p ]<br />
Design a dynamic observer L :<br />
ξ + = A L ξ + B L e<br />
with e = y − ŷ<br />
v = C L ξ + D L e<br />
Estimator in closed loop:<br />
ˆx + = A ˆx + Bu + B v v B v = [ I n 0]<br />
ŷ = C x + +D v v D v = [ 0 I p ]<br />
Equivalent to the augmented system and observer:<br />
A L = I p , B d = AB v C L , C d = D v C L<br />
L x = AB v D L (I + D v D L ) −1 , L d = B L (I + D v D L ) −1<br />
An H ∞ observer L such that the DC-gain w → s = e<br />
is zero is such that A L = I<br />
s<br />
e<br />
P<br />
L<br />
w<br />
v<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 32 / 36
Alternative methods for offset-free MPC design (1/2)<br />
Delta input form<br />
Assume for simplicity r = y. Define δu(k) = u(k) − u(k − 1),<br />
i.e. u(k) = u(k − 1) + δu(k), and the augmented system<br />
]<br />
= [ ]<br />
A B<br />
+ [ ]<br />
B<br />
I<br />
δu(k)<br />
[<br />
x(k+1)<br />
u(k)<br />
y(k) = [C 0]<br />
Observer to estimate x a (k) =<br />
0 I m<br />
] [ x(k)<br />
u(k−1)<br />
[ ]<br />
x(k)<br />
u(k−1)<br />
[<br />
x(k)<br />
u(k−1)<br />
Solve the dynamic optimizati<strong>on</strong> penalizing (y − ¯r ) and δu<br />
Apply u(k) = u(k − 1) + δu 0 (k)<br />
]<br />
Observati<strong>on</strong>s<br />
The system is observable <strong>on</strong>ly if p ≥ m<br />
Does not require a target calculator<br />
True input u(k − 1) and its estimate û(k − 1) may be different<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 33 / 36
Alternative methods for offset-free MPC design (2/2)<br />
Velocity form<br />
δx(k) = x(k) − x(k − 1), δu(k) = u(k) − u(k − 1), z = y − ¯r<br />
Augmented system:<br />
[ ] [ ]<br />
δx + A 0<br />
[ ] [<br />
z<br />
=<br />
δx<br />
C A I p z + B<br />
]<br />
CB<br />
δu<br />
y − ¯r = [ 0 I ] [ ]<br />
δx<br />
z<br />
Observer to estimate x a = [ ]<br />
δx<br />
z<br />
Solve the dynamic optimizati<strong>on</strong> penalizing z and δu<br />
Apply u(k) = u(k − 1) + δu 0 (k)<br />
Observati<strong>on</strong>s<br />
The system is stabilizable <strong>on</strong>ly if p ≤ m<br />
Does not require a target calculator<br />
May show windup issues if the setpoint ¯r is not reachable<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 34 / 36
References I<br />
V. L. Bageshwar and F. Borrelli. On a property of a class of offset-free model predictive c<strong>on</strong>trollers. IEEE<br />
Trans. Auto. C<strong>on</strong>tr., 54(3):663–669, 2009.<br />
F. Blanchini. Set invariance in c<strong>on</strong>trol. Automatica, 35:1747–1767, 1999.<br />
G. Grimm, M. J. Messina, S. E. Tuna, and A. R. Teel. Examples when n<strong>on</strong>linear model predictive c<strong>on</strong>trol<br />
is n<strong>on</strong>robust. Automatica, 40:1729–1738, 2004.<br />
P. Lundström, J. H. Lee, M. Morari, and S. Skogestad. Limitati<strong>on</strong>s of dynamic matrix c<strong>on</strong>trol. Comp.<br />
Chem. Eng., 19:409–421, 1995.<br />
U. Maeder, F. Borrelli, and M. Morari. Linear offset-free model predictive c<strong>on</strong>trol. Automatica, 45(10):<br />
2214–2222, 2009.<br />
K. R. Muske and T. A. Badgwell. Disturbance modeling for offset-free linear model predictive c<strong>on</strong>trol. J.<br />
Proc. C<strong>on</strong>tr., 12:617–632, 2002.<br />
G. Pannocchia. Robust disturbance modeling for model predictive c<strong>on</strong>trol with applicati<strong>on</strong> to<br />
multivariable ill-c<strong>on</strong>diti<strong>on</strong>ed processes. J. Proc. C<strong>on</strong>t., 13:693–701, 2003.<br />
G. Pannocchia and A. Bemporad. Combined design of disturbance model and observer for offset-free<br />
model predictive c<strong>on</strong>trol. IEEE Trans. Auto. C<strong>on</strong>tr., 52(6):1048–1053, 2007.<br />
G. Pannocchia and J. B. Rawlings. Disturbance models for offset-free model predictive c<strong>on</strong>trol. AIChE J.,<br />
49:426–437, 2003.<br />
G. Pannocchia, J. B. Rawlings, and S. J. Wright. C<strong>on</strong>diti<strong>on</strong>s under which suboptimal n<strong>on</strong>linear MPC is<br />
inherently robust. Syst. C<strong>on</strong>tr. Lett., 60:747–755, 2011a.<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 35 / 36
References II<br />
G. Pannocchia, S. J. Wright, and J. B. Rawlings. <strong>Part</strong>ial enumerati<strong>on</strong> MPC: Robust stability results and<br />
applicati<strong>on</strong> to an unstable cstr. J. Proc. C<strong>on</strong>tr., 21(10):1459–1466, 2011b.<br />
M. R. Rajamani, J. B. Rawlings, and J. Qin. Optimal estimati<strong>on</strong> in presence of incorrect disturbance<br />
model. Technical Report 2004–09 (Draft), TWMCC, Department of Chemical Engineering, University<br />
of Wisc<strong>on</strong>sin-Madis<strong>on</strong>, March 2004.<br />
M. R. Rajamani, J. B. Rawlings, and S. J. Qin. Achieving state estimati<strong>on</strong> equivalence for misassigned<br />
disturbances in offset-free model predictive c<strong>on</strong>trol. AIChE J., 55(2):396–407, 2009.<br />
J. B. Rawlings and D. Q. Mayne. <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol: Theory and Design. Nob Hill Publishing,<br />
Madis<strong>on</strong>, WI, 2009.<br />
J. B. Rawlings and K. R. Muske. Stability of c<strong>on</strong>strained receding horiz<strong>on</strong> c<strong>on</strong>trol. IEEE Trans. Auto.<br />
C<strong>on</strong>tr., 38:1512–1516, 1993.<br />
P. O. M. Scokaert and J. B. Rawlings. C<strong>on</strong>strained linear quadratic regulati<strong>on</strong>. IEEE Trans. Auto. C<strong>on</strong>tr.,<br />
43:1163–1169, 1998.<br />
P. O. M. Scokaert, J. B. Rawlings, and E. S. Meadows. Discrete-time stability with perturbati<strong>on</strong>s:<br />
Applicati<strong>on</strong> to model predictive c<strong>on</strong>trol. Automatica, 33:463–470, 1997.<br />
P. O. M. Scokaert, D. Q. Mayne, and J. B. Rawlings. Suboptimal model predictive c<strong>on</strong>trol (feasibility<br />
implies stability). IEEE Trans. Auto. C<strong>on</strong>tr., 44:648–654, 1999.<br />
G. Pannocchia <str<strong>on</strong>g>Course</str<strong>on</strong>g> <strong>on</strong> <strong>Model</strong> <strong>Predictive</strong> C<strong>on</strong>trol. <strong>Part</strong> <strong>III</strong> – Stability and robustness 36 / 36