Predictive Control of Complex Systems
Martin Klaučo
Slovak University of Technology in Bratislava, Slovakia
Complex Systems
Thermal Comfort Vehicle Routing
Predictive Control
Martin Klaučo February 27th, 2015 2 / 19
Complex Systems
Thermal Comfort Vehicle Routing
Predictive Control
Martin Klaučo February 27th, 2015 2 / 19
Complex Systems
Thermal Comfort Vehicle Routing
Predictive Control
Martin Klaučo February 27th, 2015 2 / 19
Thermal Comfort
Thermal Comfort: Motivation
Indoor Temperature
Martin Klaučo February 27th, 2015 3 / 19
Thermal Comfort: Motivation
Indoor Temperature
Clothing
HumidityRadiant Temperature
Metabolic Rate Air Speed
Martin Klaučo February 27th, 2015 3 / 19
Thermal Comfort: Predicted Mean Vote Index
PMV
Indoor Temperature
Clothing
HumidityRadiant Temperature
Metabolic Rate Air Speed
Martin Klaučo February 27th, 2015 4 / 19
Thermal Comfort: Predicted Mean Vote Index
0 1 2 3-1-2-3
?EN ISO 7730:2006 Ergonomics of Thermal Environment
Martin Klaučo February 27th, 2015 4 / 19
Thermal Comfort: Predicted Mean Vote Index
−3 −2 −1 0 1 2 3
0
20
40
60
80
100
PMV Index
PPS[%
]
Martin Klaučo February 27th, 2015 4 / 19
Thermal Comfort: Control Objective
Maintain PMV index within -0.2 to 0.2?
?EN ISO 7730:2006 Ergonomics of Thermal Environment
Martin Klaučo February 27th, 2015 5 / 19
Thermal Comfort: Closed-Loop System
ControlledProcess
Building
Disturbances
d
Martin Klaučo February 27th, 2015 6 / 19
Thermal Comfort: Closed-Loop System
OnlineComputations
ControlledProcess
Building
Disturbances
x
u
d
Martin Klaučo February 27th, 2015 6 / 19
Thermal Comfort: Closed-Loop System
OfflineComputations
OnlineComputations
ControlledProcess
Building
Disturbances
xx
u
dd
Explicit MPCConstruction
Martin Klaučo February 27th, 2015 6 / 19
Thermal Comfort: MPC Implementation
minN−1∑k=0
quu2k + qpp2
k
s.t. xk+1 = Axk + Buk + Ed0
umin ≤ uk ≤ umax
pk = PMV(xk)
pmin ≤ pk ≤ pmax
x0 = x(t), d0 = d(t)
Online MPC Explicit MPC
u?(θ) =
F1θ + g1 if θ ∈ R1
...FLθ + gL if θ ∈ RM
Martin Klaučo February 27th, 2015 7 / 19
Thermal Comfort: MPC Implementation
minN−1∑k=0
quu2k + qpp2
k
s.t. xk+1 = Axk + Buk + Ed0
umin ≤ uk ≤ umax
pk = PMV(xk)
pmin ≤ pk ≤ pmax
x0 = x(t), d0 = d(t)
Online MPC Explicit MPC
u?(θ) =
F1θ + g1 if θ ∈ R1
...FLθ + gL if θ ∈ RM
Martin Klaučo February 27th, 2015 7 / 19
MPC with PMV Index
PMV =(0.303e−0.036M + 0.028
)· L
L =(M −W )− 3.05 · 10−3(5733− 6.99(M −W )− pa)−
− 0.42((M −W )− 58.15
)− 1.7 · 10−5M(5867− pa)−
− 0.0014M(34− Tin)− 3.96 · 10−8fcl(Ktcl − Ktr
)−
− fclhc(Tcl − Tin)
Tcl =− 0.028(M −W )− Icl(3.96 · 10−8(fclKtcl − Ktr
)+
+ fclhc(Tcl − Tin))
+ 35.7
Ktcl = (Tcl + 273.16)4
Ktr = (Tr + 273.16)4
Martin Klaučo February 27th, 2015 7 / 19
Thermal Comfort: MPC Implementation
minN−1∑k=0
quu2k + qpp2
k
s.t. xk+1 = Axk + Buk + Ed0
umin ≤ uk ≤ umax
pk = PMV(xk)
pmin ≤ pk ≤ pmax
x0 = x(t), d0 = d(t)
Online MPC Explicit MPC
u?(θ) =
F1θ + g1 if θ ∈ R1
...FLθ + gL if θ ∈ RM
Klaučo M., Kvasnica M., Explicit MPC Approach to PMV-Based Thermal Comfort Control, IEEE CDC 2014 in Los Angeles,
CaliforniaMartin Klaučo February 27th, 2015 7 / 19
Thermal Comfort: MPC Implementation
minN−1∑k=0
quu2k + qpp2
k
s.t. xk+1 = Axk + Buk + Ed0
umin ≤ uk ≤ umax
pk = `T1 a(x0) + `T2 xk−1 + `T3 uk−1 + `4 b(x0)
pmin ≤ pk ≤ pmax
x0 = x(t), d0 = d(t)
Online MPC Explicit MPC
u?(θ) =
F1θ + g1 if θ ∈ R1
...FLθ + gL if θ ∈ RM
Klaučo M., Kvasnica M., Explicit MPC Approach to PMV-Based Thermal Comfort Control, IEEE CDC 2014 in Los Angeles,
CaliforniaMartin Klaučo February 27th, 2015 7 / 19
Thermal Comfort: Simulation Test Scenarios
1
2
Temperature-based control
PMV-based control
Martin Klaučo February 27th, 2015 8 / 19
Thermal Comfort: Simulation Test Scenarios
0 2 4 6 8 10 12 14 16 18 20 22 240.00
0.05
0.10
0.15
0.20
AirSp
eed[m
/s]
0 2 4 6 8 10 12 14 16 18 20 22 240
100200300400500
Occup
ancy
[W]
0 2 4 6 8 10 12 14 16 18 20 22 240
150300450600750900
Time [h]
SolarRa
diation[W
]
Martin Klaučo February 27th, 2015 8 / 19
Thermal Comfort: Simulation Test Scenarios
0 2 4 6 8 10 12 14 16 18 20 22 240.00
0.05
0.10
0.15
0.20
AirSp
eed[m
/s]
0 2 4 6 8 10 12 14 16 18 20 22 240
100200300400500
Occup
ancy
[W]
0 2 4 6 8 10 12 14 16 18 20 22 2420
20.521
21.522
22.523
Int.
Temp[C]
0 2 4 6 8 10 12 14 16 18 20 22 240
150300450600750900
Time [h]
SolarRa
diation[W
]
0 2 4 6 8 10 12 14 16 18 20 22 24
−5−3−1135
Time [h]
HeatFlow
[kW/s]
Martin Klaučo February 27th, 2015 8 / 19
Thermal Comfort: Simulation Test Scenarios
0 2 4 6 8 10 12 14 16 18 20 22 240.00
0.05
0.10
0.15
0.20
AirSp
eed[m
/s]
0 2 4 6 8 10 12 14 16 18 20 22 24
−0.3−0.2−0.1
00.10.20.3
PMV
0 2 4 6 8 10 12 14 16 18 20 22 240
100200300400500
Occup
ancy
[W]
0 2 4 6 8 10 12 14 16 18 20 22 2420
20.521
21.522
22.523
Int.
Temp[C]
0 2 4 6 8 10 12 14 16 18 20 22 240
150300450600750900
Time [h]
SolarRa
diation[W
]
0 2 4 6 8 10 12 14 16 18 20 22 24
−5−3−1135
Time [h]
HeatFlow
[kW/s]
Martin Klaučo February 27th, 2015 8 / 19
Thermal Comfort: Simulation Test Scenarios
0 2 4 6 8 10 12 14 16 18 20 22 240.00
0.05
0.10
0.15
0.20
AirSp
eed[m
/s]
0 2 4 6 8 10 12 14 16 18 20 22 24
−0.3−0.2−0.1
00.10.20.3
PMV
0 2 4 6 8 10 12 14 16 18 20 22 240
100200300400500
Occup
ancy
[W]
0 2 4 6 8 10 12 14 16 18 20 22 2420
20.521
21.522
22.523
Int.
Temp[C]
0 2 4 6 8 10 12 14 16 18 20 22 240
150300450600750900
Time [h]
SolarRa
diation[W
]
0 2 4 6 8 10 12 14 16 18 20 22 24
−5−3−1135
Time [h]
HeatFlow
[kW/s]
Martin Klaučo February 27th, 2015 8 / 19
Thermal Comfort: Key Points
1
2
3
Thermal comfort model (PMV index)
Explicit MPC implementable on thermostat-like device
Mathematical framework for eMPC with quadratic constraints
Martin Klaučo February 27th, 2015 9 / 19
Vehicle Routing
Vehicle Routing: Heterogeneous Multi-Vehicle Systems
Martin Klaučo February 27th, 2015 10 / 19
Vehicle Routing: Heterogeneous Multi-Vehicle Systems
Operation range: ∞Maximum velocity: vc
Operation range: tmaxMaximum velocity: vh > vc
Operation range: ∞Maximum velocity: vc
Martin Klaučo February 27th, 2015 10 / 19
Vehicle Routing: Motivation
Martin Klaučo February 27th, 2015 11 / 19
Vehicle Routing: Motivation
Martin Klaučo February 27th, 2015 11 / 19
Vehicle Routing: Single Vehicle
START STOP
q1 q2q3
q4
qi point to be visited
0.0 10.0 20.0 30.0 40.0 50.0
0.0
10.0
20.0
30.0
40.0
50.0
[km]
[km]
Martin Klaučo February 27th, 2015 12 / 19
Vehicle Routing: Single Vehicle
START STOP
q1 q2q3
q4
qi point to be visited
0.0 10.0 20.0 30.0 40.0 50.0
0.0
10.0
20.0
30.0
40.0
50.0
[km]
[km]
Martin Klaučo February 27th, 2015 12 / 19
Vehicle Routing: Multi-vehicle System
START STOP
q1 q2q3
q4
qi point to be visited
0.0 10.0 20.0 30.0 40.0 50.0
0.0
10.0
20.0
30.0
40.0
50.0
[km]
[km]
Martin Klaučo February 27th, 2015 13 / 19
Vehicle Routing: Multi-vehicle System
START STOP
q1 q2q3
q4
τ1
qi point to be visitedτi take-off point
0.0 10.0 20.0 30.0 40.0 50.0
0.0
10.0
20.0
30.0
40.0
50.0
[km]
[km]
Martin Klaučo February 27th, 2015 13 / 19
Vehicle Routing: Multi-vehicle System
START STOP
q1 q2q3
q4
τ1`1
qi point to be visitedτi take-off point`i landing point
0.0 10.0 20.0 30.0 40.0 50.0
0.0
10.0
20.0
30.0
40.0
50.0
[km]
[km]
Martin Klaučo February 27th, 2015 13 / 19
Vehicle Routing: Multi-vehicle System
START STOP
q1 q2q3
q4
τ1τ2`1
`3
qi point to be visitedτi take-off point`i landing point
0.0 10.0 20.0 30.0 40.0 50.0
0.0
10.0
20.0
30.0
40.0
50.0
[km]
[km]
Martin Klaučo February 27th, 2015 13 / 19
Vehicle Routing: Multi-vehicle System
START STOP
q1 q2q3
q4
≈ 30%
τ1τ2
τ4
`1`3
`4
qi point to be visitedτi take-off point`i landing point
0.0 10.0 20.0 30.0 40.0 50.0
0.0
10.0
20.0
30.0
40.0
50.0
[km]
[km]
Martin Klaučo February 27th, 2015 13 / 19
Vehicle Routing: Control Objective
Calculate coordinates of take-off and landing points
minimize mission time
visit all way-pointsbounded helicopter flyovervisit multiple way-points during one flyover
Martin Klaučo February 27th, 2015 14 / 19
Vehicle Routing: Control Objective
Calculate coordinates of take-off and landing points
minimize mission time
visit all way-pointsbounded helicopter flyovervisit multiple way-points during one flyover
Martin Klaučo February 27th, 2015 14 / 19
Vehicle Routing: Solution
MI-NLP reformulation
Garone, Determe, Naldi, CDC 2012
Martin Klaučo February 27th, 2015 15 / 19
Vehicle Routing: Solution
5 10 20 30 40 50 60 70 80 90 100100
101
102
103
104
105
Number of points qi to visit
Compu
tatio
ntim
e[sec]
MI-NLP
Martin Klaučo February 27th, 2015 15 / 19
Vehicle Routing: Solution
MI-NLP MI-SOCPreformulationequivalent
Garone, Determe, Naldi, CDC 2012 Klaučo, Blažek, Kvasnica, ECC 2014
Martin Klaučo February 27th, 2015 15 / 19
Vehicle Routing: Solution
5 10 20 30 40 50 60 70 80 90 100100
101
102
103
104
105
Number of points qi to visit
Compu
tatio
ntim
e[sec]
MI-NLPMI-SOCP
Martin Klaučo February 27th, 2015 15 / 19
Vehicle Routing: Key Points
1
2
3
Optimal path planing for multi-vehicle systems
Mixed-integer SOCP formulation
Applicable to larger number of waypoints
Martin Klaučo February 27th, 2015 16 / 19
Conclusions
Thermal Comfort Vehicle Routing
Martin Klaučo February 27th, 2015 17 / 19
Conclusions
Thermal Comfort Vehicle Routing
Predictive Control
Martin Klaučo February 27th, 2015 17 / 19
Conclusions
Thermal Comfort Vehicle Routing
Predictive Control
Efficient problem formulations
Martin Klaučo February 27th, 2015 17 / 19
Aims of Thesis
1
2
3
Development of computationally efficient optimal controlalgorithmsVerification and implementation of optimal control algorithmson laboratory devicesApplication of optimization and optimal control to path plan-ning problems
Martin Klaučo February 27th, 2015 18 / 19
Publications
Publications - A-class
1 Klaučo, Drgoňa, Kvasnica, Cairano. Building Temperature Con-trol by Simple MPC-like Feedback Laws Learned from Closed-Loop Data. IFAC World Congress 2014
Martin Klaučo February 27th, 2015 19 / 19
Publications - IEEE Conferences
2
3
4
5
Klaučo, Kvasnica. Explicit MPC Approach to PMV-BasedThermal Comfort Control. CDC 2014
Klaučo, Blažek, Kvasnica, Fikar. Mixed-Integer SOCP Formula-tion of the Path Planning Problem for Heterogeneous Multi-Vehicle Systems. ECC 2014
Drgoňa, Kvasnica, Klaučo, Fikar. Explicit Stochastic MPC Ap-proach to Building Temperature Control. CDC 2013
Klaučo, Poulsen, Mirzaei, Niemann. Frequency Weighted ModelPredictive Control of Wind Turbine. Process Control 2013
Martin Klaučo February 27th, 2015 19 / 19
Publications - In Progress
Accepted:6 Oravec, Klaučo, Kvasnica, Löfberg. Vehicle Routing with Inter-
ception of Targets’ Neighbourhoods. ECC 2015
In preparation:7
8
9
Drgoňa, Klaučo, Fikar. Model Identification and Predic-tive Control of a Laboratory Binary Distillation Column.Process Control 2015
Kalúz, Klaučo, Kvasnica. Explicit MPC-based Reference Gov-ernor Control of Magnetic Levitation via Arduino Microcon-troller. Process Control 2015
Klaučo, Blažek, Kvasnica. Optimal Path Planning Problem forHeterogeneous Multi-Vehicle System. CC Journal
Martin Klaučo February 27th, 2015 19 / 19
Opponents Questions
Question 1
Ako súvisí linearita so zhodou modelu a riadeného procesu? (str. 17)
minN−1∑k=0
(xk − x s)T Qx(xk − x s) +N−1∑k=0
(uk − us)T Qu(uk − us),
s.t. xk+1 = Axk + Buk k = 0, . . . ,N − 1,x0 = x(t)xk ∈ X k = 1, . . . ,N − 1uk ∈ U k = 1, . . . ,N − 1
Martin Klaučo February 27th, 2015 19 / 19
Question 2
Je vektor X v (2.19) uvedený správne? (str. 21)
X =
x0x1...
xN−1
−→ X =
x0x1...
xN
Martin Klaučo February 27th, 2015 19 / 19
Question 3
Čo musia spĺňať východiskové podmienky pre (3.9), aby bol problémriešiteľný? (str. 35)
minN−1∑k=0
qu(uk − us)2 + qpp2k+qssk
s.t. xk+1 = Axk + Buk + Ed0pk = PMV(xk)
− 5000 ≤ uk ≤ 5000− 0.2 ≤ pk ≤ 0.2
x0 = x(t), d0 = d(t)
Martin Klaučo February 27th, 2015 19 / 19
Question 3
Čo musia spĺňať východiskové podmienky pre (3.9), aby bol problémriešiteľný? (str. 35)
minN−1∑k=0
qu(uk − us)2 + qpp2k+qssk
s.t. xk+1 = Axk + Buk + Ed0pk = PMV(xk)
− 5000 ≤ uk ≤ 5000−sk − 0.2 ≤ pk ≤ 0.2 + sk
x0 = x(t), d0 = d(t)
Martin Klaučo February 27th, 2015 19 / 19
Question 4
Aký je vzťah medzi „k“ a „t“ pri riešení (3.11)? Aká je realistickáperióda vzorkovania pre ktorú možno očakávať riešiteľnosť problému(zaručiť PMV v predpísaných hraniciach)? (str. 36)
minN−1∑k=0
qu(ut+k − us)2 + qpp2t+k
s.t. xk+t+1 = Axt+k + But+k + Ed0pt+k = aT xt+k + b
− 5000 ≤ ut+k ≤ 5000− 0.2 ≤ pt+k ≤ 0.2
x0 = x(t), d0 = d(t)
Martin Klaučo February 27th, 2015 19 / 19
Question 5
Prečo sa robila lineárna interpolácia PMV z kvadratickejaproximácie a nie z pôvodnej funkcie? (str. 40)
PMV =(0.303e−0.036M + 0.028
)· L
L =(M − W ) − 3.05 · 10−3(5733 − 6.99(M − W ) − pa
)−
− 0.42(
(M − W ) − 58.15)
− 1.7 · 10−5M(5867 − pa)−
− 0.0014M(34 − Tin) − 3.96 · 10−8fcl(
Ktcl − Ktr)
−
− fclhc(Tcl − Tin)
Tcl = − 0.028(M − W ) − Icl(3.96 · 10−8
(fclKtcl − Ktr
)+
+ fclhc(Tcl − Tin))
+ 35.7
Ktcl = (Tcl + 273.16)4
Ktr = (Tr + 273.16)4
Martin Klaučo February 27th, 2015 19 / 19
Question 5
Prečo sa robila lineárna interpolácia PMV z kvadratickejaproximácie a nie z pôvodnej funkcie? (str. 40)
T1 T0 T2
−0.12
0.025
0.05
Temperature [◦C]
PMV
Martin Klaučo February 27th, 2015 19 / 19
Question 6
Testovali ste riešenie problému (3.19) aj pre počiatočné podmienkys nerovnakými teplotami? Aký majú počiatočné podmienky vplyvna riešenie/riešiteľnosť problému? (str. 38)
minN−1∑k=0
qu(uk − us)2 + qpp2k
s.t. xk+1 = Axk + Buk + Ed0pk = θT Mkθ + θT KkUol + mT θ
− 5000 ≤ uk ≤ 5000− 0.2 ≤ pk ≤ 0.2x0 = x(t), d0 = d(t)
Martin Klaučo February 27th, 2015 19 / 19
Question 7
Je interpretácia m vo formulácii problému (str.47) správna? (Vďalšom riešení sa uvažuje m=n.)
m = n
Martin Klaučo February 27th, 2015 19 / 19
Question 8
Ako si navrhnuté prístupy riešenia poradia s neurčitosťami modelov?(Stačí na to pri riadení tepelného komfortu spätná väzba?)
trvalá regulačná odchýlkapoužitie "disturbance modelling"pri SISO zaviesť integrátor pred akčný zásah
Martin Klaučo February 27th, 2015 19 / 19
Discussion - Backup Slides
Quadratic constraints
minN−1∑k=0
quu2k + qpp2
k
s.t. xk+1 = Axk + Buk + Ed0
umin ≤ uk ≤ umax
pk = PMV(xk)
pmin ≤ pk ≤ pmax
x0 = x(t), d0 = d(t)
Online MPC
convex quadratic
linear
linear
linear
Martin Klaučo February 27th, 2015 19 / 19
Quadratic constraints
minN−1∑k=0
quu2k + qpp2
k
s.t. xk+1 = Axk + Buk + Ed0
umin ≤ uk ≤ umax
pk = a(x0)T xk + b(x0)
pmin ≤ pk ≤ pmax
x0 = x(t), d0 = d(t)
Online MPC
convex quadratic
linear
linear
linear
Martin Klaučo February 27th, 2015 19 / 19
Quadratic constraints
minN−1∑k=0
quu2k + qpp2
k
s.t. xk+1 = Axk + Buk + Ed0
umin ≤ uk ≤ umax
pk = a(x0)T (Axk−1 + Buk−1) + b(x0)
pmin ≤ pk ≤ pmax
x0 = x(t), d0 = d(t)
Online MPC
convex quadratic
linear
non-linear
linear
linear
Martin Klaučo February 27th, 2015 19 / 19
Quadratic constraints
minN−1∑k=0
quu2k + qpp2
k
s.t. xk+1 = Axk + Buk + Ed0
umin ≤ uk ≤ umax
pk = `T1 a(x0) + `T2 xk−1 + `T3 uk−1 + `4 b(x0)
pmin ≤ pk ≤ pmax
x0 = x(t), d0 = d(t)
Online MPC
convex quadratic
linear
linear
linear
linear
Martin Klaučo February 27th, 2015 19 / 19
Quadratic constraints
minN−1∑k=0
quu2k + qpp2
k
s.t. xk+1 = Axk + Buk + Ed0
umin ≤ uk ≤ umax
pk = θT Mkθ + θT KkUol + mT
pmin ≤ pk ≤ pmax
x0 = x(t), d0 = d(t)
Online MPC
convex quadratic
linear
linear
linear
linear
Martin Klaučo February 27th, 2015 19 / 19