48
www.fer.hr/mato.baotic Prediktivno upravljanje primjenom matematičkog programiranja Doc. dr. sc. Mato Baotić Fakultet elektrotehnike i računarstva Sveučilište u Zagrebu

Prediktivno upravljanje primjenom matematičkog programiranja

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Prediktivno upravljanje primjenom matematičkog programiranja

www.fer.hr/mato.baotic

Prediktivno upravljanje primjenommatematičkog programiranja

Doc. dr. sc. Mato Baotić

Fakultet elektrotehnike i računarstvaSveučilište u Zagrebu

Page 2: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 2

Outline

• Application Examples

• Predictive Control of Linear Systems– Receding Horizon Control– Multi‐parametric Programming

• Optimal Control of Piecewise Affine Systems– Multi‐parametric Integer Programming– Dynamic Programming based algorithm

• Application Examples revisited

• Is that all?

Page 3: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 3

Application Example 1:Adaptive Cruise Control

 Radar

 Cameras

Test Vehicle Traffic Scene

Virtual TrafficScene

Sensors IR‐Scanner

AutonomousDriving

Page 4: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 4

Sensor Fusion

Page 5: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 5

Application Example 2– Electronic Throttle

Main challenges• Friction (gearbox)• Limp-Home nonlinearity (return spring)• Constraints• Quantization (dual potentiometer + A/D)• Sampling Time : 5 msec

Page 6: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 6

Model Predictive Control (MPC)

Predicted outputs

Manipulated (t+k)uInputs

t t+1 t+m t+p

futurepast

t+1 t+2 t+1+m t+1+p

• Determine/measure x(t)

• Use model to predict future behaviour of the system

• Compute optimal sequence of inputs over horizon

• Implement first controlinput u(t)

• Wait for next sampling time; t:= t +1

Page 7: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 7

PLANT output y

plant state x

apply u0*

optimization problemobtain U*

Model Predictive Control– On‐LineOptimization

Page 8: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 8

“Limitations” of MPC

On‐line application is limited

‐ to ʺslowʺ processes 

‐ to ʺsimpleʺ process

‐ by available computing power

Page 9: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 9

System• Discrete Linear Dynamics• Constraints on the state x(k) ∈ X

• Constraints on the input u(k) ∈ U

Objectives• Optimal Performance• Stability (feedback is stabilizing)• Feasibility  (feedback exists for all time)

Optimal Control for Constrained Linear Systems

Page 10: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 10

Constrained Finite Time Optimal Control (CFTOC) of Linear Systems

Algebraicmanipulation

Linear Program (LP)

Linear Performance Index,  p∈{1, ∞}

Constraints

Page 11: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 11

Linear Program

Standard form:

Page 12: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 12

Constrained Finite Time Optimal Control (CFTOC) of Linear Systems

Quadratic Performance Index

Constraints

Algebraicmanipulation

Quadratic Program (QP)

Page 13: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 13

Quadratic Program

• Convex optimization if P º 0 • Very hard problem if  P ² 0

Page 14: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 14

Optimization Problem Formulation

Definition:

• Feasible Set Xf Xf = { x∈ Rn |∃z ∈ Rs, g(z,x) · 0 } 

• Value Function J*(x),  x ∈ Xf

• Optimizer z*(x),  x ∈ Xf

z: Decision Variables x: Parameters

Page 15: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 15

Optimization Problem

Explicit Solution)(* xu

xu* = f(x)

PLANT output y

plant state xcontrol u*

(=Look-Up Table)

Receding Horizon Policy– Off‐LineOptimization

off-line

Page 16: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 16

Receding Horizon Policy– Off‐LineOptimization

Piecewise affine state-feedback law

k…

k = T-1

k = 0

• Solve LP/QP for all xvia multi-parametric Programming (mp-LP, mp‐QP)

Page 17: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 17

Receding Horizon Policy – Off‐LineOptimization

⇒ Look-up table

Piecewise affine state-feedback law

…k

• Solve LP/QP for all xvia multi-parametric Programming (mp-LP, mp‐QP)

k = T-1

k = 0

RecedingHorizon

Page 18: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 18

Multi‐parametric Programming

z: Decision Variables x: Parameters

• Conventional math programming:Given x0, solve optimization problem to obtain z*(x0).

• Multi‐parametric Programming:Determine optimizer z*(x0) for a range of “parameters” x0⇒ obtain explicit expression for z*(x).

Page 19: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 19

Example:Solution of mp‐QP

Karush‐Kuhn‐Tucker (KKT) conditions:

Constraint i active Giz*‐Wi‐Six = 0,  λi* ≥ 0

Constraint j inactive Gjz*‐Wj‐Sjx < 0,  λj* =  0

Page 20: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 20

Example:Solution of mp‐QP

1. Find local linear z*(x0)

2. Find set where linear z*(x0) is valid → Critical Region

3. Proceed iteratively to find z*(x), ∀ x ∈ Xf

Page 21: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 21

Example:Solution of mp‐QP

From (1) :

In some neighborhood of x0, λ and z are explicit linear functions of x

solve QP for x0 to find (z*,λ*)identify active constraints Giz

*‐Wi‐Si x0 = 0     (λi* ≥ 0)

KKT:

From (2) :

form matrices                by collecting active constraints

1. Find local linear z*(x)

Page 22: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 22

Example:Solution of mp‐QP2. Find set where linear z*(x) is valid – Critical Region

Substitute and

into the constraints: 

Polytopic Critical Region C0

C0

x‐space

x0•

X

Page 23: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 23

Example:Solution of mp‐QP3. Proceed iteratively to find z*(x), ∀ x ∈ Xf

• Solve QP for new point xi• Extract active constraints and compute Ci

C0

xi•• Pick up new points xi outside of C0

C0

• Ci

xi

Page 24: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 24

• The optimizer z*(x) is continuous and piecewise affine (Note: if the optimizer z*(x) is not unique, there exists one with the above properties)

• The feasible set Xf* is convex and partitioned into 

polyhedral regions• The value function J*(x) is convex and piecewise affine

Characteristics of mp‐LP Solution

Page 25: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 25

• The optimizer z*(x) is continuous and piecewise affine• The feasible set Xf

* is convex and partitioned into polyhedral regions

• The value function J*(x) is convex, C1‐differentiable and piecewise quadratic

Characteristics of mp‐QP Solution

Page 26: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 26

Outline

• Application Examples

• Predictive Control of Linear Systems– Receding Horizon Control– Multi‐parametric Programming

• Optimal Control of Piecewise Affine Systems– Multi‐parametric Integer Programming– Dynamic Programming based algorithm

• Application Examples revisited

• Is that all?

Page 27: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 27

• polyhedral partition of state+input space D

• state and input constraints are included in D

Piecewise Affine  (PWA) Systems

PWA systems are equivalent to other hybrid system classes

D1

D2 D4

D3

if

Page 28: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 28

CFTOC of PWA Systems– 1/∞‐Norm

• Parameters P, Xf, T : influence unknown• Stability: effect of parameters unclear 

Solution to the CFTOC

where Pik, i=1,…,Rk is a polyhedral partition of the set Xk of feasible

states x(k) at time kwith k =0,…,T‐1. 

k = T-1

k

k = 0

Page 29: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 29

k = T-1

CFTOC of PWA Systems– 1/∞‐Norm

• Parameters P, Xf, T : influence unknown• Stability: effect of parameters unclear 

Solution to the CFTOC

where Pik, i=1,…, Rk, is a polyhedral partition of the set Xk of feasible

states x(k) at time kwith k =0,…,T‐1. 

…k

k = 0

RecedingHorizon

Page 30: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 30

Multi‐parametricMixed‐IntegerLinear Program

CFTOC of PWA Systems– 1/∞‐Norm

(mp‐MILP)

Introduce optimization vector with integer variables

Page 31: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 31

CFTOC of PWA Systems– Efficient AlgorithmAlgorithm based on

– Dynamic programming recursion– Multi‐parametric program solver (mp‐LP, mp‐QP)

– Basic polyhedral manipulation – Comparison of PWA value functions over polyhedra– Post processing

Result

– Exact– Globally optimal PWA feedback control law – Look‐up table

Page 32: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 32

PWA system– Example

PWA 2 PWA 1PWA 1

Page 33: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 33

CFTOC Solution‐ After 11 (or more) Steps

Optimal Control u*(t) Value Function J*

Page 34: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 34

The solution to the optimal control problem is a time varying PWA state feedback control law of the form 

is a partition of the set of feasible states x(k).

The solution to the optimal control problem is a time varying PWA state feedback control law of the form 

is a partition of the set of feasible states x(k).

• k Qxk{1, ∞ } Ci is polyhedral

• x’Qx Ci is bounded by quadratic functions

PWA Systems – Linear vs. Quadratic Cost

Page 35: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 35

Outline

• Application Examples

• Predictive Control of Linear Systems– Receding Horizon Control– Multi‐parametric Programming

• Optimal Control of Piecewise Affine Systems– Multi‐parametric Integer Programming– Dynamic Programming based algorithm

• Application Examples revisited

• Is that all?

Page 36: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 36

Why Compute an Explicit Solution?

1. Understand the Controller– Visualization– Analysis

x(0) in Region #12

Page 37: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 37

Why Compute an Explicit Solution?

versus

2. Fast Implementation

Page 38: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 38

Why Compute an Explicit Solution?

versus

~$10

(Look-Up-Table & μP)~$10000

(PC & CPLEX)

3. Cheap Implementation

Page 39: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 39

Application Example 1:Adaptive Cruise Control

 Radar

 Cameras

Test Vehicle Traffic Scene

Virtual TrafficScene

Sensors IR‐Scanner

AutonomousDriving

Page 40: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 40

Application Example 1:Adaptive Cruise Control

Objectives• track reference speed• respect minimum distance• do not overtake on the right side of a neighboring car• consider all objects on all lanes• consider cost over future horizon

Page 41: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 41

dmin=40m

Vref=108km/h

Experimental Results

Page 42: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 42

Application Example 2– PWAModel of the Throttle

• State vector

• Friction: 5 affine parts

• Limp‐Home: 3 affine parts

• Zero Order Hold

15 (discrete time) PWA dynamics

if

Page 43: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 43

Cost

Constraints

Weights

System

Application Example 2– Throttle Results

Page 44: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 44

Application Example 2– Throttle Results 

Page 45: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 45

Application Example 2– Throttle Results 

Page 46: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 46

Outline

• Application Examples

• Predictive Control of Linear Systems– Receding Horizon Control– Multi‐parametric Programming

• Optimal Control of Piecewise Affine Systems– Multi‐parametric Integer Programming– Dynamic Programming based algorithm

• Application Example revisited

• Is that all?

Page 47: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 47

There is much more

• Exploiting the solution structure

• Exploiting the problem structure

• Infinite Horizon (T→∞)

• Low complexity control

• Stability & feasibility analysis

• ...

Page 48: Prediktivno upravljanje primjenom matematičkog programiranja

Baotić :: Prediktivno upravljanje primjenom matematičkog programiranja – 48

• All results and plots were obtained with the MPT toolbox

http://control.ethz.ch/~mpt

• MPT is a MATLAB toolbox that provides efficient code for– (Non)‐Convex Polytope Manipulation – Multi‐Parametric Programming– Control of PWA and LTI systems

Conclusions