Model-based Predictive Control (MPC)

Slides:



Advertisements
Similar presentations
MS&E 211 Quadratic Programming Ashish Goel. A simple quadratic program Minimize (x 1 ) 2 Subject to: -x 1 + x 2 ≥ 3 -x 1 – x 2 ≥ -2.
Advertisements

Experimental Design, Response Surface Analysis, and Optimization
CHE 185 – PROCESS CONTROL AND DYNAMICS
PROCESS INTEGRATED DESIGN WITHIN A MODEL PREDICTIVE CONTROL FRAMEWORK Mario Francisco, Pastora Vega, Omar Pérez University of Salamanca – Spain University.
Contents of the presentation:
280 SYSTEM IDENTIFICATION The System Identification Problem is to estimate a model of a system based on input-output data. Basic Configuration continuous.
INTEGRATED DESIGN OF WASTEWATER TREATMENT PROCESSES USING MODEL PREDICTIVE CONTROL Mario Francisco, Pastora Vega University of Salamanca – Spain European.
A COMPUTER BASED TOOL FOR THE SIMULATION, INTEGRATED DESIGN, AND CONTROL OF WASTEWATER TREAMENT PROCESSES By P. Vega, F. Alawneh, L. González, M. Francisco,
NORM BASED APPROACHES FOR AUTOMATIC TUNING OF MODEL BASED PREDICTIVE CONTROL Pastora Vega, Mario Francisco, Eladio Sanz University of Salamanca – Spain.
A Comparative Study Of Deterministic And Stochastic Optimization Methods For Integrated Design Of Processes Mario Francisco a, Silvana Revollar b, Pastora.
Model Predictive Controller Emad Ali Chemical Engineering Department King Saud University.
Overall Objectives of Model Predictive Control
MapleSim and the Advantages of Physical Modeling
Industrial Process Modelling and Control Ton Backx Emeritaatsviering Joos Vandewalle.
Offset Free Tracking with MPC under Uncertainty: Experimental Verification Audun Faanes * and Sigurd Skogestad † Department of Chemical Engineering Norwegian.
1 Chapter 8 Nonlinear Programming with Constraints.
Two schemes for feedback scheduling on hybrid control systems Chen Xi.
Time Series Data Analysis - I Yaji Sripada. Dept. of Computing Science, University of Aberdeen2 In this lecture you learn What are Time Series? How to.
ENM 503 Lesson 1 – Methods and Models The why’s, how’s, and what’s of mathematical modeling A model is a representation in mathematical terms of some real.
Temperature Controller A model predictive controller (MPC) based on the controller proposed by Muske and Rawlings (1993) is used. For the predictions we.
Model Reference Adaptive Control (MRAC). MRAS The Model-Reference Adaptive system (MRAS) was originally proposed to solve a problem in which the performance.
Solution of a Partial Differential Equations using the Method of Lines
Decentralized MPC applied on BCN Drinking Water Network Trends, Issues and Tools Carlos Ocampo-Martinez Valentina Fambrini WIDE Meeting – Eindhoven (NL)
Chapter 20 1 Overall Objectives of Model Predictive Control 1.Prevent violations of input and output constraints. 2.Drive some output variables to their.
MPC in Statoil. 2 In-house tool Septic, Statoil Estimation and Prediction Tool for Identification and Control Developed and maintained by the process.
Matlab Tutorial for State Space Analysis and System Identification
Chapter 20 Model Predictive Control
1 Chapter 20 Model Predictive Control Model Predictive Control (MPC) – regulatory controls that use an explicit dynamic model of the response of process.
2/25/2001Industrial Process Control1 Dynamic Matrix Control - Introduction Developed at Shell in the mid 1970’s Evolved from representing process dynamics.
ChE 433 DPCL Model Based Control Smith Predictors.
Chapter 20 Model Predictive Control (MPC) from Seborg, Edgar, Mellichamp, Process Dynamics and Control, 2nd Ed 1 rev. 2.1 of May 4, 2016.
Process Dynamics and Operations Group (DYN) TU-Dortmund
EEN-E1040 Measurement and Control of Energy Systems Control I: Control, processes, PID controllers and PID tuning Nov 3rd 2016 If not marked otherwise,
Model Predictive Control
Presentation at NI Day April 2010 Lillestrøm, Norway
Mathematical Models for Simulation, Control and Testing
Introduction to process control
State estimation (Kalman filter)
Model-based Predictive Control (MPC)
Tuning of PID controllers
Overall Objectives of Model Predictive Control
Clustering (3) Center-based algorithms Fuzzy k-means
سمینار درس کنترل پیش بین
Av Finn Aakre Haugen IA3112 Automatiseringsteknikk og EK3114 Automatisering og vannkraftregulering Høstsemesteret 2017 Gain scheduling.
Course PEF3006 Process Control Fall 2018 Feedforward Control
Tuning of PID controllers
Changing between Active Constraint Regions for Optimal Operation: Classical Advanced Control versus Model Predictive Control Adriana Reyes-Lúa, Cristina.
Random Noise in Seismic Data: Types, Origins, Estimation, and Removal
Announcements Homework 3 due today (grace period through Friday)
Process Control Engineering
Model-based Predictive Control (MPC)
Model-based Predictive Control (MPC)
Enhanced Single-Loop Control Strategies
Course PEF3006 Process Control Fall 2018 PID Control
State estimation (Kalman filter)
IA3112 Automatiseringsteknikk (Automatic Control)
Christoph J. Backi and Sigurd Skogestad
Introduction to process control
IA3112 Automatiseringsteknikk Høsten 2018
Curve fit metrics When we fit a curve to data we ask:
IA3112 Automatiseringsteknikk Høsten 2017
Curve fit metrics When we fit a curve to data we ask:
Av Finn Aakre Haugen IA3112 Automatiseringsteknikk og EK3114 Automatisering og vannkraftregulering Høstsemesteret 2018 Gain scheduling.
Säätö- ja systeemitekniikan kehittyneet menetelmät (477607S) Advanced control and systems engineering (477607S) 2018 Enso Ikonen säätö- ja systeemitekniikan.
Course PEF3006 Process Control Fall 2017 Feedforward Control
Averaging (or equalizing) level control
Masoud Nikravesh EECS Department, CS Division BISC Program
NONLINEAR AND ADAPTIVE SIGNAL ESTIMATION
NONLINEAR AND ADAPTIVE SIGNAL ESTIMATION
Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 7
Presentation transcript:

Model-based Predictive Control (MPC) IA3112 Automatiseringsteknikk Høsten 2017 Model-based Predictive Control (MPC) Finn Aakre Haugen (finn.haugen@usn.no) IA3112 Aut. MPC. Haugen. 2017

J. M. Maciejowski in Predictive Control with Constraints (2002). "MPC is the only advanced control technique that is more advanced than standard PID to have a significant and widespread impact on industrial process control." J. M. Maciejowski in Predictive Control with Constraints (2002). IA3112 Aut. MPC. Haugen. 2017

History Cutler and Ramaker (Shell Oil), 1973: DMC (Dynamic Matrix Control). 1983: QDMC (Quadratic DMC). Application to furnace temperature control. Richalet et al., 1976: Algorithm: MPHC (Model predictive heuristic control). Software: IDCOM (Identification and Command). Applied to a fluid catalytic cracking unit and a PVC plant. IA3112 Aut. MPC. Haugen. 2017

Some (very few) MPC products DeltaV (Emerson Process Partner) 800xA APC (ABB) Matlab MPC Toolbox, also for Simulink LabVIEW Predictive Control palette in Control Design toolkit Septic (Statoil, no external use) . IA3112 Aut. MPC. Haugen. 2017

What is MPC? IA3112 Aut. MPC. Haugen. 2017

ySP ypred u The optimal control signal applied to the actuator. Calculated, but not applied to the process. ySP The optimal control sequence is calculated by the MPC. ypred u(2) u u(0) u(1) Now! Future For example: Np = 20 (samples) IA3112 Aut. MPC. Haugen. 2017

MPC as a mathematical problem: Prediction horizon Costs Control error = Setpoint - Meas Control signal change t = time now! This is a QP problem! (Quadratic Programming = quadratic optimization) Question: Is this particular criterion fobj reasonable? Q: Is ySP known? Q: How to calculate ypred? Q: Do we need the present state of the process? Q: If so, how can we get it? IA3112 Aut. MPC. Haugen. 2017

[fobjmin,uopt] = fmincon(fobj,uguess,...) Generally speaking (actually, not thinking about MPC here): Minimization with Matlab: Resulting minimum of fobj Resulting optimal variable Optim variables (their optimal values is to be found) Optim objective (to be minimized) [fobjmin,uopt] = fmincon(fobj,uguess,...) fmincon selects a proper optim algorithm automatically, e.g. SQP (Sequential Quadratic Programming). fmincon searches for the to uopt using a number of iterations of its algorithm. At each iteration f is coming closer to fmin, i.e. u is coming closer to uopt. IA3112 Aut. MPC. Haugen. 2017

f = Sum{ [e(k)]^2 + Cdu*[Δu(k)]^2 } fmincon-formulation of the MPC problem: f = Sum{ [e(k)]^2 + Cdu*[Δu(k)]^2 } u = {u(0), u(1),...,u(N)} fmincon finds the optimal control sequence, u_opt = {u(0), u(1),...,u(N)}, from a number of simulations of the process model. At each iteration in the search for u_opt, fmincon simulates the process. fmincon decides itself how many iterations (simulations) are needed to find u_opt (the number of iterations is not in advance). Once fmincon has found u_opt, u(0) (the first element in u_opt) is applied to the process. The aboove procedure is repeated at each point of time (i.e., at each time step). IA3112 Aut. MPC. Haugen. 2017

Often, a state estimator in the form of a Kalman Filter algorithm is used to provide the present state value and other "soft" measurements for the MPC: MPC Process Kalman Filter IA3112 Aut. MPC. Haugen. 2017

Summary of MPC: The MPC is a model-based controller that, continuously predicts the optimal future control sequence using the following information: An optimization criterion that typically consists of a sum of future (predicted) squared control errors and quadratic control signal changes. A process model The current process state obtained from measurements and/or state estimates from a state estimator which typically is in the form of a Kalman filter. Current, and, if available, future setpoint values and process disturbance values. Constraints (max and min values) of the control signal and the process variable. From the optimal future control sequence, the first element is picked out and applied as control signal to the process. Some versions of the MPC assume linear process models, while others are based on nonlinear process models. The models may be multivariable and contain time delays. IA3112 Aut. MPC. Haugen. 2017

Application: MPC for position control of a simulated pendulum (mostly for fun) IA3112 Aut. MPC. Haugen. 2017

Front panel of the simulator: Teacher runs simulations. IA3112 Aut. MPC. Haugen. 2017

Application: MPC temperature control of a simulated air heater IA3112 Aut. MPC. Haugen. 2017

Front panel of the simulator: Teacher runs simulations. IA3112 Aut. MPC. Haugen. 2017

Application: MPC for averaging level control of the inlet magazine upstreams the VEAS wrrf (water resource recovery facility), Slemmestad, Norway IA3112 Aut. MPC. Haugen. 2017

Sewage system of Oslo and surroundings Vækerø Slemmestad IA3112 Aut. MPC. Haugen. 2017

The WWTP in Slemmestad (in the Bjerkås mountain): IA3112 Aut. MPC. Haugen. 2017

Facts about VEAS VEAS is Norway's largest wastewater treatment plant (WWTP) Serves approx. 700.000 pe (person equivalents). Treats 100 – 120 mill m³/y. Average: 3,5 m³/s. Retention time in the WWTP: 3 – 4 hours. IA3112 Aut. MPC. Haugen. 2017

The inlet magazine: Inflow to WWTP Tunnel Inlet basin Controller 20 IA3112 Aut. MPC. Haugen. 2017

d(F_in)/dt <= 20 (L/s)/min. Requirements of level control of inlet basin: 1. Level setpoint: 2.3 m = -12.7 m below sea level (approx.). 2. Level should be below 1.8 and 2.8 m. 3. Pump flow, F_in, constrained between 8000 and 0 L/s. 4. F_in should be as smooth as possible, i.e. d(F_in)/dt should be as close to 0 as possible. Specifically, VEAS wants d(F_in)/dt <= 20 (L/s)/min. IA3112 Aut. MPC. Haugen. 2017

which, after cancelling rho, gives the following formula for level h: The MPC needs a mathematical model of the level, h, in the inlet basin: Material balance: Rate of change of mass = inflow minus outflow Mathematically: rho*A(h)*dh/dt = rho(F_in_total - F_pump) which, after cancelling rho, gives the following formula for level h: h(t) = h(t0) + 𝒕𝟎 𝒕 (F_in_total − F_pump) /A(h) dτ IA3112 Aut. MPC. Haugen. 2017

MPC optimization criterion: der where u_LC = F_in IA3112 Aut. MPC. Haugen. 2017

Let's look at real results of three various level control solutions PI control with original PI settings PI control with Skogestad (or optimized) PI settings (cf. previous lecture) MPC IA3112 Aut. MPC. Haugen. 2017

Computer implementation PC with LabVIEW and MATLAB: LabVIEW for implementation of main program and GUI, and - in case of real experiments - IO (voltages for measurement and control). Matlab in Matlab Script Node in LabVIEW for running the MPC based on fmincon() incl. the observer. IA3112 Aut. MPC. Haugen. 2017

Experimental results on the real plant (VEAS) (time interval = 21 h) 26 MPC (preliminary results) Original PI settings (Kc = 8.0 , Ti = 1000 s) Skogestad PI settings (Kc = 3.1 , Ti = 3240 s) Level Pump flow Rate of change of pump flow Which is the best? IA3112 Aut. MPC. Haugen. 2017