Professional Documents
Culture Documents
MPC controller is only defined in the feasible set, where a solution exists
Soften constraints
Tracking
Classic MPC problem: Regulation to the origin
72
N is sufficiently large
1
x2
3
5
0
x
3
5
0
x
Downsides:
Loose recursive feasibility Feasible now, does not mean feasible later
Characterizing invariant region extremely difficult It may work, it may not
Robust MPC
73
N1
X
x1
i=0
hxT x
x3
Hu ui ku ,
kx
x2
=0
i 0
Pros/Cons
74
MPC controller is only defined in the feasible set, where a solution exists
Soften constraints
Tracking
Classic MPC problem: Regulation to the origin
75
Initial state x = x xs .
N1
X
i=0
u = u + us
s.t. x0 = x
MPC
regulator
plant
xs , us
Hx xi kx Hx xs
target
selector
Hu ui ku Hu us
x
r
xN Xf
Robust MPC
76
N1
X
i=0
u = u + us
s.t. x0 =
x
plant
xs , us
Hx xi kx Hx xs
estimator
Hu ui ku Hu us
target
selector
xN Xf
Robust MPC
MPC
regulator
77
x, d
r
Robust MPC
78
Outline
1. Uncertainty Models
Robust MPC
79
x + = f (x, u)
x + = g(x, u, w ; )
Robust MPC
710
x + = f (x, u)
2. Is stable: limi xi = 0
3. Optimizes performance
4. Maximizes the set {x0 | Conditions 1-3 are met }
What if f is only known approximately?
Robust MPC
711
x + = f (x, u, w ; )
w W
Robust MPC
712
Robust MPC
713
k=0
1T = 1, 0
Robust MPC
714
t
X
wk Ak x +
k=0
t
X
wk Bk u ,
k=0
1T w = 1, w 0
We will not cover this case in this course, but analysis is similar to additive
noise.
Robust MPC
715
Robust MPC
716
w W
Dynamics are linear, but impacted by random, bounded noise at each time
step
The noise is persistent, i.e., it does not converge to zero in the limit
Robust MPC
717
Outline
1. Uncertainty Models
Robust MPC
718
x + = Ax + Bu + w
w W
Challenge: Cannot predict where the state of the system will evolve
We can only compute a set of trajectories that the system may follow
Idea: Design a control law that will satisfy constraints and stabilize the system
for all possible disturbances
Robust MPC
719
i (x0 , u, w)
x0
w=0
Define i (x0 , u, w) as the state that the system will be in at time i if the state
at time zero is x0 , we apply the input u := {u0 , . . . , uN1 } and we observe the
disturbance w := {w0 , . . . , wN1 }.
Robust MPC
720
Uncertain system
x + = Ax + Bu + w , w W
x + = Ax + Bu
1 = Ax0 + Bu0 + w0
x1 = Ax0 + Bu0
2
x2 = A x0 + ABu0 + Bu1
..
.
xi = A i x0 +
i1
X
i = Ai x0 +
ABuik
k=0
i1
X
Ak Buik +
k=0
i = xi +
i1
X
i1
X
Ak wik
k=0
Ak wik
k=0
721
i (x0 , u, w)
i 1
Ak wk
i (x0 , u, w) = xi +
k=0
xi
x0
Robust MPC
w=0
722
x + = Ax + Bu + w
w W
Robust MPC
723
N1
X
l(xi , ui ) + Vf (xN )
i=0
However, there are now many trajectories that may occur, depending on the
disturbance w.
The cost is now a function of the disturbance seen, and therefore each
possible trajectory has a different cost:
J(x0 , u, w) :=
N1
X
i=0
Robust MPC
724
Robust MPC
725
The next lecture will introduce a new notion of stability that will allow us to
analyse this case
Robust MPC
726
x + = Ax + Bu + w
w W
Robust MPC
727
i+1 = Ai + Bui + wi
ui U
i X w WN
i+1 = (A + BK )i + wi
N Xf
i = 0, . . . , N 1
i = N, . . .
In the following:
Robustly enforcing constraints of a linear system
Robust MPC
728
X
Xf
x0
N (x0 , u, w)
The idea: Compute a set of tighter constraints such that if the nominal
system meets these constraints, then the uncertain system will too.
We then do MPC on the nominal system.
Robust MPC
729
i+1 = Ai + Bui + wi
ui U
i X w WN
i+1 = (A + BK )i + wi
N Xf
i = 0, . . . , N 1
i = N, . . .
In the following:
Robustly enforcing constraints of a linear system
Robust MPC
730
Reminder: Invariance
Constraint satisfaction, for an autonomous system x + = f (x), or closed-loop
system x + = f (x, (x)) for a given controller .
Positive Invariant set
A set O is said to be a positive invariant set for the autonomous system
xi+1 = f (xi ) if
xi O xi O , i {0, 1, . . . }
If we have an invariant set Xf X and (Xf ) U, then it provides a set of
initial states from which the trajectory will never violate the system constraints
if we apply the controller .
Robust MPC
731
Robust MPC
732
Robust Pre-Sets
Robust Pre Set
Given a set and the dynamic system x + = f (x, w ), the pre-set of is the
set of states that evolve into the target set in one time step for all values
of the disturbance w W:
preW () := {x | f (x, w ) for all w W }
preW ( )
f (x, w )
f (x, 0)
Robust MPC
733
Robust MPC
Ax
734
fi
Fi w
fi
F iA
Robust MPC
735
Robust MPC
Fi Ax
fi
max Fi w
w W
736
W
x F Ax
preW () =
max F w
w W
x FAx f max Fw = {x | FAx f hW (F ) } = A( W)
w W
737
preW (O)
f (x, 0)
x
O
f (x, w )
Robust MPC
738
Robust MPC
739
A=
X = {x | kxk 5, kKxk 1 }
1
0
1
1
B=
1
0.5
W = {w | kw k 0.3 }
Robust MPC
740
A=
X = {x | kxk 5, kKxk 1 }
1
0
1
1
B=
1
0.5
W = {w | kw k 0.3 }
Maximum !
nominal !
invariant set
Robust MPC
741
A=
X = {x | kxk 5, kKxk 1 }
1
0
1
1
B=
1
0.5
W = {w | kw k 0.3 }
Maximum !
nominal !
invariant set
Robust MPC
742
Maximum !
robust!
invariant set
A=
X = {x | kxk 5, kKxk 1 }
1
0
1
1
B=
1
0.5
W = {w | kw k 0.3 }
Maximum !
nominal !
invariant set
Robust MPC
743
Maximum !
robust!
invariant set
A=
X = {x | kxk 5, kKxk 1 }
1
0
1
1
B=
1
0.5
W = {w | kw k 0.3 }
Maximum !
nominal !
invariant set
Robust MPC
744
Maximum !
robust!
invariant set
i+1 = Ai + Bui + wi
ui U
i X w WN
i+1 = (A + BK )i + wi
N Xf
i = 0, . . . , N 1
i = N, . . .
In the following:
Robustly enforcing constraints of a linear system
Robust MPC
745
X
Xf
x0
N (x0 , u, w)
The idea: Compute a set of tighter constraints such that if the nominal
system meets these constraints, then the uncertain system will too.
We then do MPC on the nominal system.
Robust MPC
746
Uncertain system
x + = Ax + Bu + w , w W
x + = Ax + Bu
1 = Ax0 + Bu0 + w0
x1 = Ax0 + Bu0
2
x2 = A x0 + ABu0 + Bu1
..
.
xi = A i x0 +
i1
X
i = Ai x0 +
ABuik
k=0
i1
X
Ak Buik +
k=0
i = xi +
i1
X
i1
X
Ak wik
k=0
Ak wik
k=0
747
i1
X
k=0
Ak wk f w Wi
i1
X
k=0
A wk = f hWi
i1
X
k=0
748
Xf
x1
x0
Require: xi X I
A0
...
Ai1 Wi and
749
Robust MPC
750
Outline
1. Uncertainty Models
Robust MPC
751
x + = Ax + Bu + w
w W
Robust MPC
752
Putting it Together
Robust Open-Loop MPC
min
u
N1
X
l(xi , ui ) + Vf (xN )
i=0
ui U
xN Xf AN WN
where Ai := A0 A1 . . . Ai and Xf is a robust invariant set for the system
x + = (A + BK )x for some stabilizing K .
We do nominal MPC, but with tighter constraints on the states and inputs.
We can be sure that if the nominal system satisfies the tighter constraints,
then the uncertain system will satisfy the real constraints.
Robust MPC
753
Robust MPC
754
x + = Ax + Bu + w
w W
Analysis is not direct - we will consider this in a more general setting next week.
Robust MPC
755
x + = Ax + Bu + w
w W
Robust MPC
756
Robust MPC
757