Recent Advances in Model Predictive Control

28
Recent Advances in Model Predictive Control (Real time MPC) Prepared by : Kamal Reza Varhoushi December – 2011

description

Recent Advances in Model Predictive Control. (Real time MPC). Prepared by : Kamal Reza Varhoushi. December – 2011. The philosophy behind MPC . Manipulated variables : u(k-1) Controlled variables : y(k). The model of sys used to prediction. The critical step of the predictive control. - PowerPoint PPT Presentation

Transcript of Recent Advances in Model Predictive Control

Page 1: Recent Advances in Model Predictive Control

Recent Advances in Model Predictive Control

(Real time MPC)Prepared by : Kamal Reza Varhoushi

December – 2011

Page 2: Recent Advances in Model Predictive Control

The philosophy behind MPC

Page 3: Recent Advances in Model Predictive Control

Manipulated variables : u(k-1)Controlled variables : y(k)

The model of sys used to prediction

The critical step of the predictive control

Page 4: Recent Advances in Model Predictive Control

open-loop optimization problem

Page 5: Recent Advances in Model Predictive Control

practical disadvantage of MPC

Page 6: Recent Advances in Model Predictive Control

Robust MPC

The uncertainty representation

Polytopic Uncertainty

Structured Feedback Uncertainty

Page 7: Recent Advances in Model Predictive Control
Page 8: Recent Advances in Model Predictive Control

Real time MPCFor each MPC problem, we need to solve an optimization problem for each sampling. So MPC limited to applications with slow dynamics (sampling time in seconds or minutes). A well-known technique for implementing fast MPC is to compute the entire control law offline (explicit MPC), in which case the online controller can be implemented as a lookup table. The control action is then implemented online in the form of a lookup table. The major drawback here is that the number of entries in the table can grow exponentially with the horizon, state, and input dimensions, so that “explicit MPC” can only be applied reliably to small problems (where the state dimension is no more than around five). So this method is not applicable for more complex problems.

Page 9: Recent Advances in Model Predictive Control

The new methods for fast MPC, develops by professor Boyd research group in Stanford university. These methods are based on combination of MPC with

automatic code generation.

Page 10: Recent Advances in Model Predictive Control

This report describe the capabilities and implementation of CVXGEN software package.

CVXGEN takes a high level description of a convex optimization family, and automatically generate flat, library-free C code that can be

compiled into high speed custom solver for the problem family

Page 11: Recent Advances in Model Predictive Control
Page 12: Recent Advances in Model Predictive Control

The main disadvantages of CVXGEN are:

1. It reduced to quadratic programming(QPs)

2. It is suitable for small and medium size problems

Page 13: Recent Advances in Model Predictive Control
Page 14: Recent Advances in Model Predictive Control

Problem statementenergy storage system that can be charged ordischarged from a source with varying energy price. A simple example is a battery connected

to a power grid

The goal is to alternate between charging and

discharging in order to maximize the average revenue

Page 15: Recent Advances in Model Predictive Control

Let first introduce problem variables and parameters:

Page 16: Recent Advances in Model Predictive Control

the energy price at time t

denote discourage excessive charging and

dischargingtime horizon T=50

Page 17: Recent Advances in Model Predictive Control

The easiest way to use this interface is via the

‘Matlab’ screen in CVXGEN's online

interface, Go to the website “

www.cvxgen.com” and create new project, then impose your

project data’s to the blank spaces shown in

window

Page 18: Recent Advances in Model Predictive Control

The second step is creating custom C codes for using in Matlab :

Download and extract the ‘cvxgen.zip’ archive for your problem. This will create a subdirectory

called CVXGEN.

Inside the cvxgen/ folder in Matlab, call

make_csolve. This will use the mex command to

compile and build your custom solver and creates

a csolve.mex* file.

Page 19: Recent Advances in Model Predictive Control
Page 20: Recent Advances in Model Predictive Control
Page 21: Recent Advances in Model Predictive Control
Page 22: Recent Advances in Model Predictive Control
Page 23: Recent Advances in Model Predictive Control
Page 24: Recent Advances in Model Predictive Control

As shown in figures, the variation of uc and ud between max and min values, determine this agreement that process has

been done in optimal way.

Page 25: Recent Advances in Model Predictive Control

CVXGEN implementationOnce the problem is in

canonical form, we use a standard primal dual interior

point method to find the solution

we introduce slack variables to solve

equivalent problem

Page 26: Recent Advances in Model Predictive Control

we find analytically the solution of the pair of primal and dual problems:

For duality formulation :

Page 27: Recent Advances in Model Predictive Control

Karush-Kuhn-Tucker (KKT) conditions

Each of the primal and dual algorithms

require two solves with the so-called KKT

matrixto find the solution (L) for the system KL = R.

Page 28: Recent Advances in Model Predictive Control

Thank you