Professional Documents
Culture Documents
Model Predictive Control: Lars GR Une
Model Predictive Control: Lars GR Une
Lars Grne u
Mathematisches Institut, Universitt Bayreuth a
Contents
Part 1: (1) Introduction: What is Model Predictive Control? (2) Background: Innite horizon optimal control (3) The stability problem and its classical solutions:
(3a) Equilibrium endpoint constraint (3b) Regional endpoint constraint and terminal cost
(4) Inverse optimality and suboptimality estimates Part 2: (5) Stability and suboptimality without stabilizing constraints (6) Examples for the design of MPC schemes (7) Varying control horizons (time permitting) (8) Demonstration (T. Gebelein and J. Pannek)
Lars Grne, Model Predictive Control, p. 2 u
Setup
We consider nonlinear discrete time control systems x(n + 1) = f (x(n), u(n)) with x(n) X, u(n) U
Setup
We consider nonlinear discrete time control systems x(n + 1) = f (x(n), u(n)) with x(n) X, u(n) U we consider discrete time systems for simplicity of exposition
Setup
We consider nonlinear discrete time control systems x(n + 1) = f (x(n), u(n)) with x(n) X, u(n) U we consider discrete time systems for simplicity of exposition continuous time systems can be treated in an analogous way or as discrete time sampled data systems
Setup
We consider nonlinear discrete time control systems x(n + 1) = f (x(n), u(n)) with x(n) X, u(n) U we consider discrete time systems for simplicity of exposition continuous time systems can be treated in an analogous way or as discrete time sampled data systems X and U depend on the model. These may be Euclidean spaces Rn and Rm or more general (e.g., innite dimensional) spaces
Setup
We consider nonlinear discrete time control systems x(n + 1) = f (x(n), u(n)) with x(n) X, u(n) U we consider discrete time systems for simplicity of exposition continuous time systems can be treated in an analogous way or as discrete time sampled data systems X and U depend on the model. These may be Euclidean spaces Rn and Rm or more general (e.g., innite dimensional) spaces state and control constraints can be added explicitly or included implicitly by chosing X and U as suitable subsets of the respective spaces
Lars Grne, Model Predictive Control, p. 4 u
Prototype Problem
Assume there exists an equilibrium x X for u = 0, i.e. f (x , 0) = x
Prototype Problem
Assume there exists an equilibrium x X for u = 0, i.e. f (x , 0) = x Task: stabilize the system x(n + 1) = f (x(n), u(n)) at x via static state feedback
Prototype Problem
Assume there exists an equilibrium x X for u = 0, i.e. f (x , 0) = x Task: stabilize the system x(n + 1) = f (x(n), u(n)) at x via static state feedback i.e., nd F : X U , such that x is asymptotically stable for the feedback controlled system xF (n + 1) = f (xF (n), F (xF (n)))
Prototype Problem
Recall: Asymptotic stability means
Prototype Problem
Recall: Asymptotic stability means Attraction: xF (n) x as n for all xF (0) X plus Stability: Solutions starting close to 0 remain close to 0
Prototype Problem
Recall: Asymptotic stability means Attraction: xF (n) x as n for all xF (0) X plus Stability: Solutions starting close to 0 remain close to 0 or, formally: for each > 0 there exists > 0 such that xF (n) x for all xF (0) x , n N0
Prototype Problem
Recall: Asymptotic stability means Attraction: xF (n) x as n for all xF (0) X plus Stability: Solutions starting close to 0 remain close to 0 or, formally: for each > 0 there exists > 0 such that xF (n) x for all xF (0) x , n N0 This prototype equilibrium stabilization problem is easily generalizable to tracking, set stabilization, . . .
Prototype Problem
Recall: Asymptotic stability means Attraction: xF (n) x as n for all xF (0) X plus Stability: Solutions starting close to 0 remain close to 0 or, formally: for each > 0 there exists > 0 such that xF (n) x for all xF (0) x , n N0 This prototype equilibrium stabilization problem is easily generalizable to tracking, set stabilization, . . . In the sequel, we always assume that the problem is solvable, i.e., that a stabilizing feedback F : X U exists
Lars Grne, Model Predictive Control, p. 6 u
(x(n), u(n))
over the control sequences u = (u(0), . . . , u(N 1)) U N , where (x, u) penalizes the distance from the equilibrium and control eort, e.g., (x, u) = x x 2 + u 2
(x(n), u(n))
over the control sequences u = (u(0), . . . , u(N 1)) U N , where (x, u) penalizes the distance from the equilibrium and control eort, e.g., (x, u) = x x 2 + u 2 (3) From the optimal control sequence u (0), . . . , u (N 1), use the rst element as feedback value, i.e., F (x ) := u (0)
Lars Grne, Model Predictive Control, p. 7 u
minimize JN (x , u) =
n=0
(x(n), u(t)),
x(0) = x
set FN (x ) := u (0)
minimize JN (x , u) =
n=0
(x(n), u(t)),
x(0) = x
set FN (x ) := u (0)
horizon Horizont N
u u
u[0,M1] ( ,x)
1
FN (x )
u(x ) FN M (,x)
FN (x +1 )2 u
[0,M1]
( 1,x1)
u (n)
u (n)
T 1
t
MT N
0 1 T
(M+1)T
tt
+1
Lars Grne, Model Predictive Control, p. 8 u
n 0 1 2 3 4 5 6
n 0 1 2 3 4 5 6
n 0 1 2 3 4 5 6
n 0 1 2 3 4 5 6
x2
n 0 1 2 3 4 5 6
n 0 1 2 3 4 5 6
x3
n 0 1 2 3 4 5 6
...
n 0 1 2 3 4 5 6
... x4 n 0 1 2 3 4 5 6
... ... n 0 1 2 3 4 5 6
... ... x5 n 0 1 2 3 4 5 6
used in industrial applications since the mid 1970s, mainly for constrained linear systems [Qin & Badgwell, 1997, 2001]
used in industrial applications since the mid 1970s, mainly for constrained linear systems [Qin & Badgwell, 1997, 2001] more than 9000 industrial MPC applications in Germany counted in [Dittmar & Pfeifer, 2005]
used in industrial applications since the mid 1970s, mainly for constrained linear systems [Qin & Badgwell, 1997, 2001] more than 9000 industrial MPC applications in Germany counted in [Dittmar & Pfeifer, 2005] development of theory since 1980 (linear), 1990 (nonlinear)
used in industrial applications since the mid 1970s, mainly for constrained linear systems [Qin & Badgwell, 1997, 2001] more than 9000 industrial MPC applications in Germany counted in [Dittmar & Pfeifer, 2005] development of theory since 1980 (linear), 1990 (nonlinear) Central questions: When does MPC stabilize the system?
used in industrial applications since the mid 1970s, mainly for constrained linear systems [Qin & Badgwell, 1997, 2001] more than 9000 industrial MPC applications in Germany counted in [Dittmar & Pfeifer, 2005] development of theory since 1980 (linear), 1990 (nonlinear) Central questions: When does MPC stabilize the system? How good is the performance of the MPC feedback law?
used in industrial applications since the mid 1970s, mainly for constrained linear systems [Qin & Badgwell, 1997, 2001] more than 9000 industrial MPC applications in Germany counted in [Dittmar & Pfeifer, 2005] development of theory since 1980 (linear), 1990 (nonlinear) Central questions: When does MPC stabilize the system? How good is the performance of the MPC feedback law? How long does the optimization horizon N need to be?
Lars Grne, Model Predictive Control, p. 10 u
used in industrial applications since the mid 1970s, mainly for constrained linear systems [Qin & Badgwell, 1997, 2001] more than 9000 industrial MPC applications in Germany counted in [Dittmar & Pfeifer, 2005] development of theory since 1980 (linear), 1990 (nonlinear) Central questions: When does MPC stabilize the system? How good is the performance of the MPC feedback law? How long does the optimization horizon N need to be?
and, of course, the development of good algorithms (not topic of this course)
Lars Grne, Model Predictive Control, p. 10 u
An example
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1 0.5 0 0.5 1 1.5
An example
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1 0.5 0 0.5 1 1.5
arccos(x2 /), x1 0 2 arccos(x2 /), x1 < 0, 2 X = R , U = [0, umax ], x = (0, 1/2)T , x0 = (0, 1/2)T with = (x1 , 2x2 )T , =
An example
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1 0.5 0 0.5 1 1.5
arccos(x2 /), x1 0 2 arccos(x2 /), x1 < 0, 2 X = R , U = [0, umax ], x = (0, 1/2)T , x0 = (0, 1/2)T with = (x1 , 2x2 )T , = MPC with (x, u) = x x 2 + |u|2 and umax = 0.2 yields asymptotic stability for N = 11
Lars Grne, Model Predictive Control, p. 11 u
An example
1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1 0.5 0 0.5 1 1.5
arccos(x2 /), x1 0 2 arccos(x2 /), x1 < 0, 2 X = R , U = [0, umax ], x = (0, 1/2)T , x0 = (0, 1/2)T with = (x1 , 2x2 )T , = MPC with (x, u) = x x 2 + |u|2 and umax = 0.2 yields asymptotic stability for N = 11 but not for N 10
Lars Grne, Model Predictive Control, p. 11 u
: X U R+ with 0 and (x , 0) = 0
J (x, u) :=
n=0
(x(n), u(n))
inf J (x, u)
V (x) =
u:N0 U
inf J (x, u) =
u:N0 U
inf
(x(n), u(n))
n=0
V (x) =
u:N0 U
inf J (x, u) =
u:N0 U
inf
(x(n), u(n))
n=0
Facts (for suitable ): if the feedback stabilization problem is solvable, then the function V is nite and continuous
V (x) =
u:N0 U
inf J (x, u) =
u:N0 U
inf
(x(n), u(n))
n=0
Facts (for suitable ): if the feedback stabilization problem is solvable, then the function V is nite and continuous V satises the Dynamic Programming Principle V (x) = min { (x, u) + V (f (x, u))}
uU
V (x) =
u:N0 U
inf J (x, u) =
u:N0 U
inf
(x(n), u(n))
n=0
Facts (for suitable ): if the feedback stabilization problem is solvable, then the function V is nite and continuous V satises the Dynamic Programming Principle V (x) = min { (x, u) + V (f (x, u))}
uU
if we choose F (x) U as the minimizer, i.e., F (x) = argmin{ (x, u) + V (f (x, u))}
uU
30 20 10 0 10 8
11 00
6 4 2 x2 0 2
1 0
1 0 1 0
1 0
15 10 5 4 6 5 8 10 10 15 0 x1
V is a Lyapunov function
30 20 10 0 10 8
11 00
6 4 2 x2 0 2
1 0
1 0 1 0
1 0
15 10 5 4 6 5 8 10 10 15 0 x1
V is a Lyapunov function approach for MPC: Prove similar inequalities for FN and
N 1
VN (x(0)) :=
u:N0 U
inf JN (x(0), u) =
u:N0 U
inf
(x(n), u(n))
n=0
VN as a Lyapunov Function
Problem: Prove that the MPC feedback law FN is stabilizing
VN as a Lyapunov Function
Problem: Prove that the MPC feedback law FN is stabilizing Approach: Dene the nite time optimal value function
N 1
VN (x(0)) :=
u:N0 U
inf JN (x(0), u) =
u:N0 U
inf
(x(n), u(n))
n=0
VN as a Lyapunov Function
Problem: Prove that the MPC feedback law FN is stabilizing Approach: Dene the nite time optimal value function
N 1
VN (x(0)) :=
u:N0 U
inf JN (x(0), u) =
u:N0 U
inf
(x(n), u(n))
n=0
and prove that VN is Lyapunov function, i.e., that VN has suitable upper and lower bounds (automatically inherited from )
VN as a Lyapunov Function
Problem: Prove that the MPC feedback law FN is stabilizing Approach: Dene the nite time optimal value function
N 1
VN (x(0)) :=
u:N0 U
inf JN (x(0), u) =
u:N0 U
inf
(x(n), u(n))
n=0
and prove that VN is Lyapunov function, i.e., that VN has suitable upper and lower bounds (automatically inherited from ) and VN (f (x, FN (x))) VN (x) (x, FN (x)) for some : X U R+ with (x, FN (x)) > 0 for x = x
0
VN as a Lyapunov Function
Problem: Prove that the MPC feedback law FN is stabilizing Approach: Dene the nite time optimal value function
N 1
VN (x(0)) :=
u:N0 U
inf JN (x(0), u) =
u:N0 U
inf
(x(n), u(n))
n=0
and prove that VN is Lyapunov function, i.e., that VN has suitable upper and lower bounds (automatically inherited from ) and VN (f (x, FN (x))) VN (x) (x, FN (x)) for some : X U R+ with (x, FN (x)) > 0 for x = x
0
VN (xFN (n)) 0
VN as a Lyapunov Function
Problem: Prove that the MPC feedback law FN is stabilizing Approach: Dene the nite time optimal value function
N 1
VN (x(0)) :=
u:N0 U
inf JN (x(0), u) =
u:N0 U
inf
(x(n), u(n))
n=0
and prove that VN is Lyapunov function, i.e., that VN has suitable upper and lower bounds (automatically inherited from ) and VN (f (x, FN (x))) VN (x) (x, FN (x)) for some : X U R+ with (x, FN (x)) > 0 for x = x
0
VN (xFN (n)) 0
VN as a Lyapunov Function
Problem: Prove that the MPC feedback law FN is stabilizing Approach: Dene the nite time optimal value function
N 1
VN (x(0)) :=
u:N0 U
inf JN (x(0), u) =
u:N0 U
inf
(x(n), u(n))
n=0
and prove that VN is Lyapunov function, i.e., that VN has suitable upper and lower bounds (automatically inherited from ) and VN (f (x, FN (x))) VN (x) (x, FN (x)) for some : X U R+ with (x, FN (x)) > 0 for x = x
0
VN (xFN (n)) 0
()
()
For N = , the dynamic programming principle immediately implies () with (x, F (x)) = (x, F (x)): V (x) = (x, F (x)) + V (f (x, F (x)))
()
For N = , the dynamic programming principle immediately implies () with (x, F (x)) = (x, F (x)): V (x) = (x, F (x)) + V (f (x, F (x))) The dynamic programming principle for VN reads VN (x) = min{ (x, u) + VN 1 (f (x, u))}
uU
()
For N = , the dynamic programming principle immediately implies () with (x, F (x)) = (x, F (x)): V (x) = (x, F (x)) + V (f (x, F (x))) The dynamic programming principle for VN reads VN (x) = min{ (x, u) + VN 1 (f (x, u))}
uU
()
For N = , the dynamic programming principle immediately implies () with (x, F (x)) = (x, F (x)): V (x) = (x, F (x)) + V (f (x, F (x))) The dynamic programming principle for VN reads VN (x) = min{ (x, u) + VN 1 (f (x, u))}
uU
Thus, () follows with (x, u) = (x, u) + VN 1 (f (x, u)) VN (f (x, u)) Problem: ensure (x, FN (x)) > 0 for x = x
Lars Grne, Model Predictive Control, p. 18 u
holds for x = x .
holds for x = x . For the basic (and most widely used) MPC formulation
N 1
VN (x(0)) :=
u:N0 U
inf JN (x(0), u) =
u:N0 U
inf
(x(n), u(n))
n=0
holds for x = x . For the basic (and most widely used) MPC formulation
N 1
VN (x(0)) :=
u:N0 U
inf JN (x(0), u) =
u:N0 U
inf
(x(n), u(n))
n=0
this appeared to be out of reach until the mid 1990s (note: VN 1 VN 0 by denition; typically with strict <)
holds for x = x . For the basic (and most widely used) MPC formulation
N 1
VN (x(0)) :=
u:N0 U
inf JN (x(0), u) =
u:N0 U
inf
(x(n), u(n))
n=0
this appeared to be out of reach until the mid 1990s (note: VN 1 VN 0 by denition; typically with strict <) additional stabilizing constraints were proposed
Lars Grne, Model Predictive Control, p. 19 u
minimize JN (x(0), u) =
n=0
(x(n), u(n))
minimize JN (x(0), u) =
n=0
(x(n), u(n))
Recall: f (x , 0) = x and
(x , 0) = 0
JN 1 (x(0), u) =
n=0 N 1
(x(n), u(n))
=
n=0
JN 1 (x(0), u) =
n=0 N 1
(x(n), u(n))
=
n=0
JN 1 (x(0), u) =
n=0 N 1
(x(n), u(n))
=
n=0
Since this prolonged trajectory is again feasible, we get VN (x) VN 1 (x) Note: VN 1 (x) VN (x) does no longer hold under x(N ) = x
Lars Grne, Model Predictive Control, p. 22 u
for all x = x by choice of . VN (f (x, FN (x))) VN (x) (x, FN (x)) i.e., stability with Lyapunov function VN and = ()
for all x = x by choice of . VN (f (x, FN (x))) VN (x) (x, FN (x)) i.e., stability with Lyapunov function VN and = Note: In general, x(N ) = x does not imply xFN (N ) = x
Lars Grne, Model Predictive Control, p. 23 u
()
(3b) Classical solution of the stability problem: Regional endpoint constraint and terminal cost
minimize JN (x(0), u) =
n=0
(x(n), u(n))
minimize JN (x(0), u) =
n=0
(x(n), u(n))
We want VN to become a Lyapunov function add local Lyapunov function W : B (x ) R+ as terminal cost 0
N 1
minimize JN (x(0), u) =
n=0
minimize JN (x(0), u) =
n=0
(x(n), u(n))
We want VN to become a Lyapunov function add local Lyapunov function W : B (x ) R+ as terminal cost 0
N 1
minimize JN (x(0), u) =
n=0
minimize JN (x(0), u) =
n=0
minimize JN (x(0), u) =
n=0
minimize JN (x(0), u) =
n=0
plus terminal constraint x(N ) x , W (x(N )) We choose W , , such that cl {x B (x ) | W (x) } B (x ) W (x) implies the existence of FW (x) U with W (f (x, FW (x)) W (x) (x, FW (x))
JN 1 (x(0), u) =
n=0 N 1
n=0
Since this prolonged trajectory is again feasible, we get VN (x) VN 1 (x) and we obtain stability just as for the equilibrium constraint
Lars Grne, Model Predictive Control, p. 28 u
Performance of FN
Once stability can be guaranteed, we can investigate the performance of the MPC feedback law FN
Performance of FN
Once stability can be guaranteed, we can investigate the performance of the MPC feedback law FN Performance of a feedback F : X U is measured via the innite horizon functional
J (xF (0), F ) :=
n=0
Performance of FN
Once stability can be guaranteed, we can investigate the performance of the MPC feedback law FN Performance of a feedback F : X U is measured via the innite horizon functional
J (xF (0), F ) :=
n=0
Performance of FN
Once stability can be guaranteed, we can investigate the performance of the MPC feedback law FN Performance of a feedback F : X U is measured via the innite horizon functional
J (xF (0), F ) :=
n=0
Recall: F = F is optimal: J (xF (0), F ) = V (xFN (0)) In the literature, two dierent concepts can be found: Inverse Optimality: show that FN is optimal for an altered running cost =
Performance of FN
Once stability can be guaranteed, we can investigate the performance of the MPC feedback law FN Performance of a feedback F : X U is measured via the innite horizon functional
J (xF (0), F ) :=
n=0
Recall: F = F is optimal: J (xF (0), F ) = V (xFN (0)) In the literature, two dierent concepts can be found: Inverse Optimality: show that FN is optimal for an altered running cost = Suboptimality: derive upper bounds for J (xFN (0), FN )
Lars Grne, Model Predictive Control, p. 31 u
Inverse optimality
Theorem: [Poubelle/Bitmead/Gevers 88, Magni/Sepulchre 97] FN is optimal for the problem
minimize J (x(0), u) =
n=0
(x(n), u(n))
Inverse optimality
Theorem: [Poubelle/Bitmead/Gevers 88, Magni/Sepulchre 97] FN is optimal for the problem
minimize J (x(0), u) =
n=0
(x(n), u(n))
with (x, u) := (x, u) + VN 1 (f (x, u)) VN (f (x, u)) Idea of proof: By the dynamic programming principle: VN (x) = inf { (x, u) + VN 1 (f (x, u))}
uU
Inverse optimality
Theorem: [Poubelle/Bitmead/Gevers 88, Magni/Sepulchre 97] FN is optimal for the problem
minimize J (x(0), u) =
n=0
(x(n), u(n))
with (x, u) := (x, u) + VN 1 (f (x, u)) VN (f (x, u)) Idea of proof: By the dynamic programming principle: VN (x) = inf { (x, u) + VN 1 (f (x, u))}
uU
Inverse optimality
Theorem: [Poubelle/Bitmead/Gevers 88, Magni/Sepulchre 97] FN is optimal for the problem
minimize J (x(0), u) =
n=0
(x(n), u(n))
with (x, u) := (x, u) + VN 1 (f (x, u)) VN (f (x, u)) Idea of proof: By the dynamic programming principle: VN (x) = inf { (x, u) + VN 1 (f (x, u))}
uU
Hence, it satises the Bellman equation for , implying J (xFN (0), FN ) = VN (xFN (0))
Lars Grne, Model Predictive Control, p. 32 u
Inverse optimality
Inverse optimality shows that FN is an innite horizon optimal feedback law
Inverse optimality
Inverse optimality shows that FN is an innite horizon optimal feedback law thus implies several good properties of FN , like, e.g., some inherent robustness againts perturbations
Inverse optimality
Inverse optimality shows that FN is an innite horizon optimal feedback law thus implies several good properties of FN , like, e.g., some inherent robustness againts perturbations But the running cost (x, u) := (x, u) + VN 1 (f (x, u)) VN (f (x, u)) is unknown and dicult to compute
Inverse optimality
Inverse optimality shows that FN is an innite horizon optimal feedback law thus implies several good properties of FN , like, e.g., some inherent robustness againts perturbations But the running cost (x, u) := (x, u) + VN 1 (f (x, u)) VN (f (x, u)) is unknown and dicult to compute knowing that FN is optimal for J (xFN (0), FN ) doesnt give us a simple way to estimate J (xFN (0), FN )
Suboptimality
Theorem [???]: For both stabilizing terminal constraints the estimate J (xFN (0), FN ) VN (xFN (0)) holds.
Suboptimality
Theorem [???]: For both stabilizing terminal constraints the estimate J (xFN (0), FN ) VN (xFN (0)) holds. Sketch of proof: Both constraints imply VN 1 VN . Hence l(xFN (n), FN (xFN (n)) = VN (xFN (n)) VN 1 (xFN (n + 1))
Suboptimality
Theorem [???]: For both stabilizing terminal constraints the estimate J (xFN (0), FN ) VN (xFN (0)) holds. Sketch of proof: Both constraints imply VN 1 VN . Hence l(xFN (n), FN (xFN (n)) = VN (xFN (n)) VN 1 (xFN (n + 1)) VN (xFN (n)) VN (xFN (n + 1))
Suboptimality
Theorem [???]: For both stabilizing terminal constraints the estimate J (xFN (0), FN ) VN (xFN (0)) holds. Sketch of proof: Both constraints imply VN 1 VN . Hence l(xFN (n), FN (xFN (n)) = VN (xFN (n)) VN 1 (xFN (n + 1)) VN (xFN (n)) VN (xFN (n + 1)) Summing over n = 0, . . . , k yields
k
VN (xFN (0))
Suboptimality
Theorem [???]: For both stabilizing terminal constraints the estimate J (xFN (0), FN ) VN (xFN (0)) holds. Sketch of proof: Both constraints imply VN 1 VN . Hence l(xFN (n), FN (xFN (n)) = VN (xFN (n)) VN 1 (xFN (n + 1)) VN (xFN (n)) VN (xFN (n + 1)) Summing over n = 0, . . . , k yields
k
Suboptimality
Suboptimality gives us an easy to evaluate bound J (xFN (0), FN ) VN (xFN (0)) for the innite horizon performance of FN .
Suboptimality
Suboptimality gives us an easy to evaluate bound J (xFN (0), FN ) VN (xFN (0)) for the innite horizon performance of FN . However, due to the terminal constraints, VN (x) can be much larger than the optimal upper bound V (x).
Suboptimality
Suboptimality gives us an easy to evaluate bound J (xFN (0), FN ) VN (xFN (0)) for the innite horizon performance of FN . However, due to the terminal constraints, VN (x) can be much larger than the optimal upper bound V (x). In Part 2 we will see that MPC without stabilizing terminal constraints allows for suboptimality estimates in terms of V (x).
Summary of Part 1
MPC is an online optimal control based method for computing stabilizing feedback laws
Summary of Part 1
MPC is an online optimal control based method for computing stabilizing feedback laws MPC computes the feedback law by iteratively solving nite horizon optimal control problems using the current state x as initial value
Summary of Part 1
MPC is an online optimal control based method for computing stabilizing feedback laws MPC computes the feedback law by iteratively solving nite horizon optimal control problems using the current state x as initial value the feedback value FN (x ) is the rst element of the resulting optimal control sequence
Summary of Part 1
MPC is an online optimal control based method for computing stabilizing feedback laws MPC computes the feedback law by iteratively solving nite horizon optimal control problems using the current state x as initial value the feedback value FN (x ) is the rst element of the resulting optimal control sequence suitable terminal constraints ensure stability with VN as Lyapunov function
Summary of Part 1
MPC is an online optimal control based method for computing stabilizing feedback laws MPC computes the feedback law by iteratively solving nite horizon optimal control problems using the current state x as initial value the feedback value FN (x ) is the rst element of the resulting optimal control sequence suitable terminal constraints ensure stability with VN as Lyapunov function FN is innite horizon optimal for a suitably altered running cost
Summary of Part 1
MPC is an online optimal control based method for computing stabilizing feedback laws MPC computes the feedback law by iteratively solving nite horizon optimal control problems using the current state x as initial value the feedback value FN (x ) is the rst element of the resulting optimal control sequence suitable terminal constraints ensure stability with VN as Lyapunov function FN is innite horizon optimal for a suitably altered running cost the innite horizon functional along the FN -controlled trajectory is bounded by VN
Lars Grne, Model Predictive Control, p. 36 u
minimize JN (x(0), u) =
n=0
(x(n), u(n)),
x(0) = x
minimize JN (x(0), u) =
n=0
(x(n), u(n)),
x(0) = x
without any stabilizing terminal constraints How can we prove stability for this setting?
The crucial condition for suciently uniform convergence is Exponential controllability through : for real numbers C > 0, (0, 1) and each x X there exists u() with (x(n), u(n)) C n (x(0)) with
:=
n=0
C n =
C 1
for C, from (x(n), u(n)) C n (x(0)). Then N = O( 2 ) (the constants in O can be computed, if desired)
Lars Grne, Model Predictive Control, p. 41 u
:=
n=0
C n =
C 1
:=
n=0
C n =
C 1
:=
n=0
C n =
C 1
with C, from (x(n), u(n)) C n (x(0)) This is because of the inequality VN (x) V (x) (x), since these estimates rely on bounds on the value functions
:=
n=0
C n =
C 1
with C, from (x(n), u(n)) C n (x(0)) This is because of the inequality VN (x) V (x) (x), since these estimates rely on bounds on the value functions Main drawback of these approaches: we cannot distinguish between the inuence of C and
Lars Grne, Model Predictive Control, p. 43 u
:=
n=0
C n =
C 1
with C, from (x(n), u(n)) C n (x(0)) This is because of the inequality VN (x) V (x) (x), since these estimates rely on bounds on the value functions Main drawback of these approaches: we cannot distinguish between the inuence of C and
(or other parameters in alternative controllability conditions)
Lars Grne, Model Predictive Control, p. 43 u
Theorem [Grne/Rantzer 08]: If there exists (0, 1] such that u the relaxed Lyapunov inequality VN (f (x, FN (x))) VN (x) (x, FN (x)) holds, then asymptotic stability follows (with VN as Lyapunov function)
Theorem [Grne/Rantzer 08]: If there exists (0, 1] such that u the relaxed Lyapunov inequality VN (f (x, FN (x))) VN (x) (x, FN (x)) holds, then asymptotic stability follows (with VN as Lyapunov function) and we get the suboptimality estimate J (x, FN ) V (x)/
Theorem [Grne/Rantzer 08]: If there exists (0, 1] such that u the relaxed Lyapunov inequality VN (f (x, FN (x))) VN (x) (x, FN (x)) holds, then asymptotic stability follows (with VN as Lyapunov function) and we get the suboptimality estimate J (x, FN ) V (x)/ we get stability and suboptimality at once
Lars Grne, Model Predictive Control, p. 44 u
Computing
Goal: Compute in the relaxed Lyapunov inequality VN (f (x, FN (x))) VN (x) (x, FN (x))
Computing
Goal: Compute in the relaxed Lyapunov inequality VN (f (x, FN (x))) VN (x) (x, FN (x)) Related approach in the literature: estimate stability and suboptimality from numerical approximation to VN [Shamma/Xiong 97, Primbs/Nevestic 01]
Computing
Goal: Compute in the relaxed Lyapunov inequality VN (f (x, FN (x))) VN (x) (x, FN (x)) Related approach in the literature: estimate stability and suboptimality from numerical approximation to VN [Shamma/Xiong 97, Primbs/Nevestic 01] Here: compute analytically from the controllability property (x(n), u(n)) C n (x(0))
Computing
Goal: Compute in the relaxed Lyapunov inequality VN (f (x, FN (x))) VN (x) (x, FN (x)) Related approach in the literature: estimate stability and suboptimality from numerical approximation to VN [Shamma/Xiong 97, Primbs/Nevestic 01] Here: compute analytically from the controllability property (x(n), u(n)) C n (x(0))
m1
Here: via
Vm (x) C
k=0
k (x)
Computing
Goal: Compute in the relaxed Lyapunov inequality VN (f (x, FN (x))) VN (x) (x, FN (x)) Related approach in the literature: estimate stability and suboptimality from numerical approximation to VN [Shamma/Xiong 97, Primbs/Nevestic 01] Here: compute analytically from the controllability property (x(n), u(n)) C n (x(0))
m1
Here: via
Vm (x) C
k=0
k (x) =: Bm (x)
Computing
Goal: Compute in the relaxed Lyapunov inequality VN (f (x, FN (x))) VN (x) (x, FN (x)) Related approach in the literature: estimate stability and suboptimality from numerical approximation to VN [Shamma/Xiong 97, Primbs/Nevestic 01] Here: compute analytically from the controllability property (x(n), u(n)) C n (x(0))
m1
Here: via
Vm (x) C
k=0
k (x) =: Bm (x)
Computing
The desired inequality VN (f (x, FN (x))) VN (x) (x, FN (x)) is satised for all x X i VN (x (1)) VN (x (0)) (x (0), u (0)) holds for all optimal trajectories x (n), u (n) for VN .
Computing
The desired inequality VN (f (x, FN (x))) VN (x) (x, FN (x)) is satised for all x X i VN (x (1)) VN (x (0)) (x (0), u (0)) holds for all optimal trajectories x (n), u (n) for VN . From the controllability property we get: VN (x (1)) BN (x (1))
Computing
The desired inequality VN (f (x, FN (x))) VN (x) (x, FN (x)) is satised for all x X i VN (x (1)) VN (x (0)) (x (0), u (0)) holds for all optimal trajectories x (n), u (n) for VN . From the controllability property we get: VN (x (1)) BN (x (1)) VN (x (1)) (x (1), u (1)) + BN 1 (x (2))
Computing
The desired inequality VN (f (x, FN (x))) VN (x) (x, FN (x)) is satised for all x X i VN (x (1)) VN (x (0)) (x (0), u (0)) holds for all optimal trajectories x (n), u (n) for VN . From the controllability property we get: VN (x (1)) BN (x (1)) VN (x (1)) VN (x (1)) (x (1), u (1)) + BN 1 (x (2)) (x (1), u (1)) + (x (2), u (2)) + BN 2 (x (3))
Computing
The desired inequality VN (f (x, FN (x))) VN (x) (x, FN (x)) is satised for all x X i VN (x (1)) VN (x (0)) (x (0), u (0)) holds for all optimal trajectories x (n), u (n) for VN . From the controllability property we get: VN (x (1)) BN (x (1)) VN (x (1)) VN (x (1)) . . . . . . (x (1), u (1)) + BN 1 (x (2)) (x (1), u (1)) + (x (2), u (2)) + BN 2 (x (3)) . . .
Lars Grne, Model Predictive Control, p. 46 u
Computing
VN (x (1)) is bounded by sums over (x (n), u (n)) For sums of these values, in turn, we get bounds from the optimality principle and the controllability property
Computing
VN (x (1)) is bounded by sums over (x (n), u (n)) For sums of these values, in turn, we get bounds from the optimality principle and the controllability property:
N 1
BN (x (0))
Computing
VN (x (1)) is bounded by sums over (x (n), u (n)) For sums of these values, in turn, we get bounds from the optimality principle and the controllability property:
N 1
BN (x (0))
Computing
VN (x (1)) is bounded by sums over (x (n), u (n)) For sums of these values, in turn, we get bounds from the optimality principle and the controllability property:
N 1
BN (x (0))
Computing
VN (x (1)) is bounded by sums over (x (n), u (n)) For sums of these values, in turn, we get bounds from the optimality principle and the controllability property:
N 1
BN (x (0))
. . .
. . .
Lars Grne, Model Predictive Control, p. 47 u
()
:= VN (x (1))
()
n=0
n 0
()
:= VN (x (1))
()
n=0
n 0
n
n=k j n=0
C n k ,
N j1
k = 0, . . . , N 2
(1)
n=1
n + j+1
n=0
C n ,
j = 0, . . . , N 2
(2)
()
:= VN (x (1))
()
n=0
n 0
n
n=k j n=0
C n k ,
N j1
k = 0, . . . , N 2
(1)
n=1
n + j+1
n=0
C n ,
j = 0, . . . , N 2
(2)
()
:= VN (x (1))
()
n=0
n 0
n
n=k j n=0
C n k ,
N j1
k = 0, . . . , N 2
(1)
n=1
n + j+1
n=0
C n ,
j = 0, . . . , N 2
(2)
n=0
Then the MPC feedback FN stabilizes all control systems, which satisfy the controllability condition and we get J (x, FN ) V (x)/.
n=0
Then the MPC feedback FN stabilizes all control systems, which satisfy the controllability condition and we get J (x, FN ) V (x)/. If, conversely, there exist admissible 0 , . . . , N 1 , 0 with
N 1
n=0
then there exists a control system, which satises the controllability condition but is not stabilized by FN .
Lars Grne, Model Predictive Control, p. 49 u
n=0
n 0
n=0
n 0
minimize =
n=0
n=0
n 0
minimize =
n=0
over all admissible 0 , . . . , N 1 , 0 with 0 = 1 This is a (small!) linear program which is explicitly solvable
(N 1) =1
N i=2 N
(i 1) with i = (i 1)
i1
C k
k=0
i
i=2 i=2
depending on the optimization horizon N and the parameters C, in (x(n), u(n)) C n (x(0))
(N 1) =1
N i=2 N
(i 1) with i = (i 1)
i1
C k
k=0
i
i=2 i=2
depending on the optimization horizon N and the parameters C, in (x(n), u(n)) C n (x(0)) In particular, for given 0 we can compute the minimal horizon N with > 0
(N 1) =1
N i=2 N
(i 1) with i = (i 1)
i1
C k
k=0
i
i=2 i=2
depending on the optimization horizon N and the parameters C, in (x(n), u(n)) C n (x(0)) In particular, for given 0 we can compute the minimal horizon N with > 0 We illustrate this for 0 = 0, i.e., for the minimal stabilizing horizon
Lars Grne, Model Predictive Control, p. 51 u
n=0
C n = 6:
10
10
C = 6, = 0
6 5 4 3 2 1 0 0
C = 12/5, = 3/5
6 5 4 3 2 1 0 0
10
10
C = 3/2, = 3/4
C = 6/5, = 4/5
n=0
C n = 6:
10
10
C = 6, = 0 N = 11
6 5 4 3 2 1 0 0
C = 12/5, = 3/5
6 5 4 3 2 1 0 0
10
10
C = 3/2, = 3/4
C = 6/5, = 4/5
n=0
C n = 6:
10
10
C = 6, = 0 N = 11
6 5 4 3 2 1 0 0
C = 12/5, = 3/5 N = 10
6 5 4 3 2 1 0 0
10
10
C = 3/2, = 3/4
C = 6/5, = 4/5
n=0
C n = 6:
10
10
C = 6, = 0 N = 11
6 5 4 3 2 1 0 0
C = 12/5, = 3/5 N = 10
6 5 4 3 2 1 0 0
10
10
C = 3/2, = 3/4 N =7
C = 6/5, = 4/5
n=0
C n = 6:
10
10
C = 6, = 0 N = 11
6 5 4 3 2 1 0 0
C = 12/5, = 3/5 N = 10
6 5 4 3 2 1 0 0
10
10
C = 3/2, = 3/4 N =7
C = 6/5, = 4/5 N =4
Lars Grne, Model Predictive Control, p. 52 u
Conclusion: for short optimization horizon N it is Conclusion: more important: small C (small overshoot) Conclusion: less important: small (fast decay)
Lars Grne, Model Predictive Control, p. 53 u
The procedure is easily extended to the more general controllability condition: for a sequence (cn )nN0 with cn 0 and every x X there exists u() with (x(n), u(n)) cn (x(0)), with
n = 0, 1, 2, . . .
cn = 6:
6 5 4 3 2 1 0 0
6 5 4 3 2 1 0 0
6 5 4 3 2 1 0 0
cn = 6:
6 5 4 3 2 1 0 0
N = 11
6 5 4 3 2 1 0 0 6 5 4 3 2 1 0 0
cn = 6:
6 5 4 3 2 1 0 0
N = 11
6 5 4 3 2 1 0 0 6 5 4 3 2 1 0 0
N = 10
cn = 6:
6 5 4 3 2 1 0 0
N = 11
6 5 4 3 2 1 0 0 6 5 4 3 2 1 0 0
N = 10
N =7
cn = 6:
6 5 4 3 2 1 0 0
N = 11
6 5 4 3 2 1 0 0 6 5 4 3 2 1 0 0
N = 10
N =7
N =6
cn = 6:
6 5 4 3 2 1 0 0
N = 11
6 5 4 3 2 1 0 0 6 5 4 3 2 1 0 0
N = 10
N =7
N =6
for obtaining short horizons smaller (and later) overshoot is more important than fast controllability
cn = 6:
6 5 4 3 2 1 0 0
N = 11
6 5 4 3 2 1 0 0 6 5 4 3 2 1 0 0
N = 10
N =7
N =6
for obtaining short horizons smaller (and later) overshoot is more important than fast controllability we can use this for the design of
Lars Grne, Model Predictive Control, p. 55 u
MPC with (x, u) = x x 2 + |u|2 and umax = 0.2 asymptotic stability for N = 11 but not for N 10
MPC with (x, u) = x x 2 + |u|2 and umax = 0.2 asymptotic stability for N = 11 but not for N 10 Reason: detour around mountains causes large overshoot C
MPC with (x, u) = x x 2 + |u|2 and umax = 0.2 asymptotic stability for N = 11 but not for N 10 Reason: detour around mountains causes large overshoot C Remedy: put larger weight on x2 : (x, u) = (x1 x )2 + 5(x2 x )2 + |u|2 1 2
Lars Grne, Model Predictive Control, p. 58 u
MPC with (x, u) = x x 2 + |u|2 and umax = 0.2 asymptotic stability for N = 11 but not for N 10 Reason: detour around mountains causes large overshoot C Remedy: put larger weight on x2 : (x, u) = (x1 x )2 + 5(x2 x )2 + |u|2 1 2 as. stab. for N = 2
Lars Grne, Model Predictive Control, p. 58 u
m=l=1
+ x2 + x2 3 4
+ x2 + x2 with 3 4
1 (x1 , x2 )
= x2 + x2 1 2
+ x2 + x2 with 3 4
1 (x1 , x2 )
= x2 + x2 1 2
4(1 cos x1 ) + x2 2 N = 10
+ x2 + x2 with 3 4
1 (x1 , x2 )
= x2 + x2 1 2
4(1 cos x1 ) + x2 2 N = 10
N = 4 (swingup only)
A PDE example
Our results are also applicable for innite dimensional system
A PDE example
Our results are also applicable for innite dimensional system We illustrate this with the 1d controlled PDE yt = yx + yxx + y(y + 1)(1 y) + u with domain = [0, 1] solution y = y(t, x) boundary conditions y(t, 0) = y(t, 1) = 0 parameters = 0.1 and = 10
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
uncontrolled (u 0)
Lars Grne, Model Predictive Control, p. 62 u
+ u(n, )
2 L2
+ u(n, )
2 L2
u yx
+ u(n, )
2 L2
u yx
+ u(n, )
2 L2
u yx
+ u(n, )
2 L2
C n y(0, )
2 L2
+ u(n, )
2 L2
u yx
+ u(n, )
2 L2 2 L2
C n y(0, ) C n y(0, )
2 L2 2 L2
+ yx (n, )
+ u(n, )
2 L2
u yx
2 L2 2 L2 L2
+ u(n, )
2 L2 2 L2
C n y(0, ) C n y(0, )
2 L2 2 L2
+ yx (n, )
+ yx (n, )
2 L2
C n y(0, )
2 L2
+ yx (n, )
2 L2
C n y(0, )
2 L2
the controllability condition may only hold for very large C Remedy: use H 1 cost (y(n, ), u(n, )) = y(n, )
2 L2
+ yx (n, )
2 H1
2 L2
+ u(n, )
2 L2 .
= y(n,)
+ yx (n, )
2 L2
C n y(0, )
2 L2
the controllability condition may only hold for very large C Remedy: use H 1 cost (y(n, ), u(n, )) = y(n, )
2 L2
+ yx (n, )
2 H1
2 L2
+ u(n, )
2 L2 .
= y(n,)
yx (n, )
2 L2
C n
y(0, )
2 L2 +
yx (0, )
2 L2
Boundary Control
Now we change our PDE from distributed to (Dirichlet-) boundary control, i.e. yt = yx + yxx + y(y + 1)(1 y) with domain = [0, 1] solution y = y(t, x) boundary conditions y(t, 0) = u0 (t), y(t, 1) = u1 (t) parameters = 0.1 and = 10
Boundary Control
Now we change our PDE from distributed to (Dirichlet-) boundary control, i.e. yt = yx + yxx + y(y + 1)(1 y) with domain = [0, 1] solution y = y(t, x) boundary conditions y(t, 0) = u0 (t), y(t, 1) = u1 (t) parameters = 0.1 and = 10 with boundary control, stability can only be achieved via large gradients in the transient phase
Boundary Control
Now we change our PDE from distributed to (Dirichlet-) boundary control, i.e. yt = yx + yxx + y(y + 1)(1 y) with domain = [0, 1] solution y = y(t, x) boundary conditions y(t, 0) = u0 (t), y(t, 1) = u1 (t) parameters = 0.1 and = 10 with boundary control, stability can only be achieved via large gradients in the transient phase L2 should perform better that H1
Lars Grne, Model Predictive Control, p. 66 u
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Packet loss
Plant x(n)
Network
F (x(n)) N
MPC Controller
Packet loss
Plant x(n)
Network
F (x(n)) N
MPC Controller
Packet loss
Plant x(n)
Network
F (x(n)) N
MPC Controller
Idea: send several values of optimal open loop Idea: control sequence (instead of just the rst value)
Packet loss
Plant x(n)
Network
F (x(n)) N
MPC Controller
Idea: send several values of optimal open loop Idea: control sequence (instead of just the rst value) Idea: use these values until next values arrive
Lars Grne, Model Predictive Control, p. 70 u
n 0 1 2 3 4 5 6
n 0 1 2 3 4 5 6
n 0 1 2 3 4 5 6
n 0 1 2 3 4 5 6
x2
n 0 1 2 3 4 5 6
x2
n 0 1 2 3 4 5 6
x3
n 0 1 2 3 4 5 6
...
n 0 1 2 3 4 5 6
... x4 n 0 1 2 3 4 5 6
... ... n 0 1 2 3 4 5 6
... ... x5 n 0 1 2 3 4 5 6
Rigorous formulation
Denote successful transmission times by ni , i = 1, 2, . . .
Rigorous formulation
Denote successful transmission times by ni , i = 1, 2, . . . Dene a buer length M N, M N 1
Rigorous formulation
Denote successful transmission times by ni , i = 1, 2, . . . Dene a buer length M N, M N 1 At each transmission time ni , the plant receives and buers the feedback control sequence FN (xni , k) = u (k), and implements FN (xni , 0), FN (xni , 1), . . . , FN (xni , mi 1) on the control horizon mi = ni+1 ni M , i.e., until the next sequence arrives k = 0, 1, 2, . . . , M 1
Rigorous formulation
Denote successful transmission times by ni , i = 1, 2, . . . Dene a buer length M N, M N 1 At each transmission time ni , the plant receives and buers the feedback control sequence FN (xni , k) = u (k), and implements FN (xni , 0), FN (xni , 1), . . . , FN (xni , mi 1) on the control horizon mi = ni+1 ni M , i.e., until the next sequence arrives Note: mi is unknown at time ni
Lars Grne, Model Predictive Control, p. 72 u
k = 0, 1, 2, . . . , M 1
Stability theorem
Theorem: If there exists (0, 1] such that the relaxed Lyapunov inequality
m1
VN (x(m, x0 , u )) VN (x)
k=0
(x(m, x0 , u ), u (m))
holds for all m = 1, . . . , M , then asymptotic stability follows for the MPC closed loop with arbitrary transmission times ni , i N, satisfying mi = ni+1 ni M .
Stability theorem
Theorem: If there exists (0, 1] such that the relaxed Lyapunov inequality
m1
VN (x(m, x0 , u )) VN (x)
k=0
(x(m, x0 , u ), u (m))
holds for all m = 1, . . . , M , then asymptotic stability follows for the MPC closed loop with arbitrary transmission times ni , i N, satisfying mi = ni+1 ni M . Furthermore, VN is Lyapunov function at the transmission times ni and we get the suboptimality estimate J (x, FN ) V (x)/
Stability theorem
Theorem: If there exists (0, 1] such that the relaxed Lyapunov inequality
m1
VN (x(m, x0 , u )) VN (x)
k=0
(x(m, x0 , u ), u (m))
holds for all m = 1, . . . , M , then asymptotic stability follows for the MPC closed loop with arbitrary transmission times ni , i N, satisfying mi = ni+1 ni M . Furthermore, VN is Lyapunov function at the transmission times ni and we get the suboptimality estimate J (x, FN ) V (x)/ Note: The stability for arbitrary but xed m carries over to time varying mi because VN is a common Lyapunov function
Lars Grne, Model Predictive Control, p. 73 u
Computation of (N, m)
We want = (N, m) satisfying
m1
VN (x(m, x0 , u )) VN (x)
k=0
(x(m, x0 , u ), u (m)),
for all m = 1, . . . , M .
Computation of (N, m)
We want = (N, m) satisfying
m1
VN (x(m, x0 , u )) VN (x)
k=0
(x(m, x0 , u ), u (m)),
for all m = 1, . . . , M . Again, for each m this can be computed via an explicitly solvable linear program which yields
N N
(i 1) = 1
i=m+1 N N i=N m+1 N
(i 1)
N
i
i=m+1 i=m+1
(i 1)
i=N m+1
i
i=N m+1
(i 1)
with i =
i1 k=0
C k
Lars Grne, Model Predictive Control, p. 74 u
Example
0.25 0.2 0.15 0.1 0.05 0 0.05 0.1 0.15 0.2 1 2 3 4 m 5 6 7
Example
0.25 0.2 0.15 0.1 0.05 0 0.05 0.1 0.15 0.2 1 2 3 4 m 5 6 7
Property of (N, m)
Theorem: The values (N, m) satisfy (N, m) = (N, N m), m = 1, . . . , N 1 and (N, m) (N, m + 1), m = 1, . . . N/2
Property of (N, m)
Theorem: The values (N, m) satisfy (N, m) = (N, N m), m = 1, . . . , N 1 and (N, m) (N, m + 1), m = 1, . . . N/2 Corollary: If N is such that all C, -exponentially controllable systems are stabilized with classical MPC (m = 1), then they are stabilized for arbitrary varying control horizons mi {1, . . . , N 1}
The symmetry states that the worst case system for m behaves exactly as good as the worst case system for N m.
The symmetry states that the worst case system for m behaves exactly as good as the worst case system for N m. However, in general these worst case systems do not coincide.
The symmetry states that the worst case system for m behaves exactly as good as the worst case system for N m. However, in general these worst case systems do not coincide. How conservative is this worst case approach?
Lars Grne, Model Predictive Control, p. 77 u
0 0 x0 = 2 0
+ 4 u 1 , N = 11
0.5
x3
m=1
1.5
2.5 0
4 t
10
0 0 x0 = 2 0
+ 4 u 1 , N = 11
0.5
m=2 m=1
x3
1.5
2.5 0
4 t
10
0 0 x0 = 2 0
+ 4 u 1 , N = 11
0.5
x3
1.5
2.5 0
4 t
10
0 0 x0 = 2 0
+ 4 u 1 , N = 11
0.5
x3
1.5
2.5 0
4 t
10
0 0 x0 = 2 0
+ 4 u 1 , N = 11
0.5
x3
1.5
2.5 0
4 t
10
0 0 x0 = 2 0
+ 4 u 1 , N = 11
5 m
10
5 m
10
at time n = 20
Lars Grne, Model Predictive Control, p. 78 u
0 0 x0 = 2 0
+ 4 u 1 , N = 11
5 m
10
5 m
10
Summary of Part 2
Stability of unconstrained MPC problems can be ensured using exponential controllability conditions
Summary of Part 2
Stability of unconstrained MPC problems can be ensured using exponential controllability conditions First proofs used convergence VN V in order to establish stability
Summary of Part 2
Stability of unconstrained MPC problems can be ensured using exponential controllability conditions First proofs used convergence VN V in order to establish stability Tighter and more useful estimates can be obtained by using optimality conditions for (pieces of) trajectories
Summary of Part 2
Stability of unconstrained MPC problems can be ensured using exponential controllability conditions First proofs used convergence VN V in order to establish stability Tighter and more useful estimates can be obtained by using optimality conditions for (pieces of) trajectories The conditions lead to an explicitly solvable linear program
Summary of Part 2
Stability of unconstrained MPC problems can be ensured using exponential controllability conditions First proofs used convergence VN V in order to establish stability Tighter and more useful estimates can be obtained by using optimality conditions for (pieces of) trajectories The conditions lead to an explicitly solvable linear program The knowledge obtained from this analysis can be used to design good MPC schemes by choosing suitable running costs
Summary of Part 2
Stability of unconstrained MPC problems can be ensured using exponential controllability conditions First proofs used convergence VN V in order to establish stability Tighter and more useful estimates can be obtained by using optimality conditions for (pieces of) trajectories The conditions lead to an explicitly solvable linear program The knowledge obtained from this analysis can be used to design good MPC schemes by choosing suitable running costs The analysis can be extended to variable control horizons useful for networked control systems
Lars Grne, Model Predictive Control, p. 80 u