Mario Zanon Numerical methods for NMPC Thanks to
- S. Gros, M. Vukov, M. Diehl
and the whole KU Leuven group for some of the material and their precious help
ESAT – Katholieke Universiteit Leuven
Mario Zanon Numerical methods for NMPC Thanks to S. Gros, M. - - PowerPoint PPT Presentation
Mario Zanon Numerical methods for NMPC Thanks to S. Gros, M. Vukov, M. Diehl and the whole KU Leuven group for some of the material and their precious help ESAT Katholieke Universiteit Leuven Outline 2 / 47 From Linear Feedback to NMPC
ESAT – Katholieke Universiteit Leuven
2 / 47
3 / 47
4 / 47
4 / 47
4 / 47
4 / 47
4 / 47
s,u
∞
Q + uk2 R
k→∞ sk = 0
4 / 47
s,u
∞
Q + uk2 R
k→∞ sk = 0
5 / 47
s,u
∞
Q + uk2 R
k→∞ sk = 0
5 / 47
s,u
∞
Q + uk2 R
k→∞ sk = 0
s,u
N
Q + uk2 R + 1
P
5 / 47
s,u
∞
Q + uk2 R
k→∞ sk = 0
s,u
N
Q + uk2 R + 1
P
2sN2 P is called cost to go
5 / 47
s,u
∞
Q + uk2 R
k→∞ sk = 0
s,u
N
Q + uk2 R + 1
P
2sN2 P is called cost to go
6 / 47
u,s
N−1
Q + uk2 R + 1
P
6 / 47
u,s
N−1
Q + uk2 R + 1
P
w
6 / 47
u,s
N−1
Q + uk2 R + 1
P
w
6 / 47
u,s
N−1
Q + uk2 R + 1
P
w
6 / 47
u,s
N−1
Q + uk2 R + 1
P
w
7 / 47
u,s
N−1
Q + uk2 R + 1
P
7 / 47
u,s
N−1
Q + uk2 R + 1
P
7 / 47
u,s
N−1
Q + uk2 R + 1
P
P only approximates the cost
7 / 47
u,s
N−1
Q + uk2 R + 1
P
P only approximates the cost
8 / 47
u,s P
Q + P−1
R
w
9 / 47
9 / 47
A = 0
9 / 47
A = 0
10 / 47
10 / 47
10 / 47
10 / 47
10 / 47
10 / 47
11 / 47
10 15 20 25 30 35 40 45 50 20 40 60 80 100 120 140 160 Horizon length Maximum execution times per one RTI [ms] NMPC comparison for M = 3 (nx = 21) NMPC with condensing NMPC with FORCES
12 / 47
u,s N
Q + N−1
R
12 / 47
u,s N
Q + N−1
R
1
2
3
4
12 / 47
u,s N
Q + N−1
R
1
2
3
4
12 / 47
u,s N
Q + N−1
R
1
2
3
4
u,s N
Q + N−1
R
12 / 47
u,s N
Q + N−1
R
1
2
3
4
u,s N
Q + N−1
R
13 / 47
14 / 47
14 / 47
15 / 47
w
15 / 47
w
15 / 47
w
1
15 / 47
w
1
2
15 / 47
w
1
2
3
15 / 47
w
1
2
3
4
15 / 47
w
15 / 47
w
i hi(w∗)= 0
16 / 47
16 / 47
wL
16 / 47
wL
∆wk
k ∇2 wL ∆wk + ∇f T ∆wk
16 / 47
wL
∆wk
k ∇2 wL ∆wk + ∇f T ∆wk
16 / 47
wL
∆wk
k ∇2 wL ∆wk + ∇f T ∆wk
∆wk
k ∇2 wL ∆wk + ∇f T ∆wk
17 / 47
w
17 / 47
w
∆w
1
17 / 47
w
∆w
1
2
17 / 47
w
∆w
1
2
3
17 / 47
w
∆w
1
2
3
4
17 / 47
w
∆w
1
2
3
4
5
17 / 47
w
∆w
1
2
3
4
5
6
18 / 47
w
2
18 / 47
w
2
∆w
2
19 / 47
wL = ∇2f
wL ≈ JT J
20 / 47
p
S
x,u
Q + u − ur 2 R
x,u
S
21 / 47
22 / 47
tk
22 / 47
tk
23 / 47
23 / 47
0.05 0.1 0.15 0.2 0.25 0.3 0.045 0.05 0.055 0.06 0.065
23 / 47
0.05 0.1 0.15 0.2 0.25 0.3 0.045 0.05 0.055 0.06 0.065
23 / 47
0.05 0.1 0.15 0.2 0.25 0.3 0.045 0.05 0.055 0.06 0.065
24 / 47
24 / 47
24 / 47
24 / 47
24 / 47
25 / 47
25 / 47
min
∆u,∆s
1 2
∆u
∆u
∆u
∆sk+1 = f + ∂f ∂s ∆sk + ∂f ∂u ∆uk , h + ∂h ∂s ∆sk + ∂h ∂u ∆uk ≥ 0, s0 = ˆ xi
∂f ∂s , ∂f ∂u : differentiate integrator
∂h ∂s , ∂h ∂u : differentiate nonlinear function
∂w2 + µ ∂2h ∂w2 ,
25 / 47
min
∆u,∆s
1 2
∆u
∆u
∆u
∆sk+1 = f + ∂f ∂s ∆sk + ∂f ∂u ∆uk , h + ∂h ∂s ∆sk + ∂h ∂u ∆uk ≥ 0, s0 = ˆ xi
25 / 47
min
∆u,∆s
1 2
∆u
∆u
∆u
∆sk+1 = f + ∂f ∂s ∆sk + ∂f ∂u ∆uk , h + ∂h ∂s ∆sk + ∂h ∂u ∆uk ≥ 0, s0 = ˆ xi
σT Bk σ
σT γ
25 / 47
min
∆u,∆s
1 2
∆u
∆u
∆u
∆sk+1 = f + ∂f ∂s ∆sk + ∂f ∂u ∆uk , h + ∂h ∂s ∆sk + ∂h ∂u ∆uk ≥ 0, s0 = ˆ xi
σT Bk σ
σT γ
25 / 47
min
∆u,∆s
1 2
∆u
∆u
∆u
∆sk+1 = f + ∂f ∂s ∆sk + ∂f ∂u ∆uk , h + ∂h ∂s ∆sk + ∂h ∂u ∆uk ≥ 0, s0 = ˆ xi
26 / 47
26 / 47
26 / 47
26 / 47
26 / 47
26 / 47
26 / 47
26 / 47
26 / 47
27 / 47
u,s N
Q + N−1
R
1
2
3
4
5
6
27 / 47
u,s N
Q + N−1
R
min
∆u,∆s
1 2
∆u
∆u
∆u
∆sk+1 = f + ∂f ∂s ∆sk + ∂f ∂u ∆uk h + ∂h ∂s ∆sk + ∂h ∂u ∆uk ≥ 0, s0 = ˆ xi
1
2
3
4
5
6
27 / 47
u,s N
Q + N−1
R
min
∆u,∆s
1 2
∆u
∆u
∆u
∆sk+1 = f + ∂f ∂s ∆sk + ∂f ∂u ∆uk h + ∂h ∂s ∆sk + ∂h ∂u ∆uk ≥ 0, s0 = ˆ xi
1
2
3
4
5
6
27 / 47
u,s N
Q + N−1
R
min
∆u,∆s
1 2
∆u
∆u
∆u
∆sk+1 = f + ∂f ∂s ∆sk + ∂f ∂u ∆uk h + ∂h ∂s ∆sk + ∂h ∂u ∆uk ≥ 0, s0 = ˆ xi
1
2
3
4
5
6
28 / 47
u,s N
Q + uk − uref 2 R
u,s N
Q + uk − uref 2 R
28 / 47
u,s N
Q + uk − uref 2 R
u,s N
Q + uk − uref 2 R
1
1
28 / 47
u,s N
Q + uk − uref 2 R
u,s N
Q + uk − uref 2 R
1
1
2
3
28 / 47
u,s N
Q + uk − uref 2 R
u,s N
Q + uk − uref 2 R
1
1
2
3
29 / 47
30 / 47
30 / 47
30 / 47
31 / 47
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0.05 0.1 0.15 0.2 t y 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 −20 −10 10 t u
u,s −E
Q + −E
R
31 / 47
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0.05 0.1 0.15 0.2 t y 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 −20 −10 10 t u
u,s −E
Q + −E
R
31 / 47
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0.05 0.1 0.15 0.2 t y 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 −20 −10 10 t u
u,s −E
Q + −E
R
31 / 47
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0.05 0.1 0.15 0.2 t y 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 −20 −10 10 t u
u,s −E
Q + −E
R
31 / 47
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0.05 0.1 0.15 0.2 t y 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 −20 −10 10 t u
u,s −E
Q + −E
R
32 / 47
32 / 47
32 / 47
32 / 47
SE : Kalman update of SE and ˆ
33 / 47
34 / 47
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0.05 0.1 0.15 0.2 t y 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 −20 −10 10 t u
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 −0.2 −0.1 0.1 0.2 x [m], v [m/s] 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 −1.2 −0.8 −0.4 0.4 0.8 1.2 time [s] u [m/s2] x v
35 / 47
36 / 47
37 / 47
Data acquisition
NMPC Feedback Step NMPC Preparation Step One control/estimation interval time k k + 1 MHE Feedback Step MHE Preparation Step
37 / 47
Data acquisition
NMPC Feedback Step
NMPC Preparation Step One control/estimation interval x0 is ready u0
is ready time k k + 1
MHE Feedback Step
MHE Preparation Step
37 / 47
Data acquisition NMPC Feedback Step
NMPC Preparation Step
One control/estimation interval x0 is ready u0
is ready time k k + 1 MHE Feedback Step
MHE Preparation Step
37 / 47
Data acquisition NMPC Feedback Step
NMPC Preparation Step
One control/estimation interval x0 is ready u0
is ready time k k + 1 MHE Feedback Step
MHE Preparation Step
37 / 47
Data acquisition NMPC Feedback Step NMPC Preparation Step One control/estimation interval x0 is ready u0
is ready time k k + 1 MHE Feedback Step MHE Preparation Step
Yes, both preparation phases can be executed in parallel
38 / 47
u,s N
Q + uk − uref 2 R
38 / 47
u,s N
Q + uk − uref 2 R
38 / 47
u,s N
Q + uk − uref 2 R
39 / 47
40 / 47
41 / 47
guess)
0.5 1 1.5 2 2.5 3 3.5 4 4.5 −1 −0.5 0.5 1
0.5 1 1.5 2 2.5 3 3.5 4 4.5 −1 −0.5 0.5 1
1
2
0 close to ˆ
41 / 47
guess)
0.5 1 1.5 2 2.5 3 3.5 4 4.5 −1 −0.5 0.5 1
0.5 1 1.5 2 2.5 3 3.5 4 4.5 −1 −0.5 0.5 1
1
2
0 close to ˆ
41 / 47
guess)
0.5 1 1.5 2 2.5 3 3.5 4 4.5 −1 −0.5 0.5 1
0.5 1 1.5 2 2.5 3 3.5 4 4.5 −1 −0.5 0.5 1
1
2
0 close to ˆ
41 / 47
guess)
0.5 1 1.5 2 2.5 3 3.5 4 4.5 −1 −0.5 0.5 1
0.5 1 1.5 2 2.5 3 3.5 4 4.5 −1 −0.5 0.5 1
1
2
0 close to ˆ
41 / 47
guess)
0.5 1 1.5 2 2.5 3 3.5 4 4.5 −1 −0.5 0.5 1
0.5 1 1.5 2 2.5 3 3.5 4 4.5 −1 −0.5 0.5 1
1
2
0 close to ˆ
41 / 47
guess)
0.5 1 1.5 2 2.5 3 3.5 4 4.5 −1 −0.5 0.5 1
0.5 1 1.5 2 2.5 3 3.5 4 4.5 −1 −0.5 0.5 1
1
2
0 close to ˆ
1
2
42 / 47
Actuators Attitude Velocities Positions
42 / 47
Actuators Attitude Velocities Positions
k=0 p − pref2 2
42 / 47
Actuators Attitude Velocities Positions
k=0 p − pref2 2
42 / 47
Actuators Attitude Velocities Positions
k=0 p − pref2 2
N−1
R
42 / 47
Actuators Attitude Velocities Positions
k=0 p − pref2 2 + N−1 k=0 u − uref2 R
42 / 47
Actuators Attitude Velocities Positions
k=0 p − pref2 2 + N−1 k=0 u − uref2 R
−5 5 −5 5 5 10 15 20 25 30 35
Positions P, Inputs U Others Problem
42 / 47
Actuators Attitude Velocities Positions
k=0 p − pref2 2 + N−1 k=0 u − uref2 R
N
Q + N−1
R
−5 5 −5 5 5 10 15 20 25 30 35
Positions P, Inputs U Others Problem
43 / 47
43 / 47
u,s N
Q + N−1
R
43 / 47
u,s N
Q + N−1
R
43 / 47
u,s N
Q + N−1
R
43 / 47
u,s N
Q + N−1
R
43 / 47
u,s N
Q + N−1
R
u,s N
Q + N−1
R + W Tv
43 / 47
u,s N
Q + N−1
R
u,s N
Q + N−1
R + W Tv
43 / 47
u,s N
Q + N−1
R
u,s N
Q + N−1
R + W Tv
43 / 47
u,s N
Q + N−1
R
u,s N
Q + N−1
R + W Tv
10 20 30 40 50 60 0.8 0.85 0.9 0.95 1 1.05 1.1 1.15 1.2
Time (s) CL (−)
NMPC Reference S1
44 / 47
44 / 47
44 / 47
44 / 47
44 / 47
44 / 47
44 / 47
44 / 47
44 / 47
44 / 47
44 / 47
45 / 47
46 / 47
C
L
47 / 47