20.04.2014 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!