Model-based Predictive Control (MPC)

Slides:



Advertisements
Similar presentations
Experimental Design, Response Surface Analysis, and Optimization
Advertisements

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.
Model Predictive Controller Emad Ali Chemical Engineering Department King Saud University.
Overall Objectives of Model Predictive Control
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.
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.
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
Model Predictive Control
Presentation at NI Day April 2010 Lillestrøm, Norway
Model-based Predictive Control (MPC)
Mathematical Models for Simulation, Control and Testing
Introduction to process control
Course PEF3006 Process Control Fall 2017 Lecture: Process dynamics
Course PEF3006 Process Control Fall 2017 Actuators By Finn Haugen
Course IIA1117 Control Engineering Fall 2017 Plant-wide control
State estimation (Kalman filter)
Tuning of PID controllers
Overall Objectives of Model Predictive Control
سمینار درس کنترل پیش بین
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
Random Noise in Seismic Data: Types, Origins, Estimation, and Removal
PID controller: Reverse or direct action?
Model-based Predictive Control (MPC)
Model-based Predictive Control (MPC)
Course PEF3006 Process Control Fall 2018 Lecture: Process dynamics
Course PEF3006 Process Control Fall 2018 PID Control
State estimation (Kalman filter)
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
Averaging (or equalizing) level control
Course IIA1117 Control Engineering Fall 2018 Plant-wide control
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.
Course PEF3006 Process Control Fall 2017 Feedforward Control
How a control system may become unstable
Averaging (or equalizing) level control
Course IIA1117 Control Engineering Fall 2018 Ratio control
Course IIA1117 Control Engineering Fall 2017 Ratio control
On-Off Control (alternative to PID)
Averaging (or equalizing) level control
NONLINEAR AND ADAPTIVE SIGNAL ESTIMATION
On-Off Control (alternative to PID)
How a control system may become unstable
NONLINEAR AND ADAPTIVE SIGNAL ESTIMATION
PID controller: Reverse or direct action?
Course PEF3006 Process Control Fall 2017 PID Control
Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 7
Presentation transcript:

Model-based Predictive Control (MPC) Course PEF3006 Process Control Fall 2017 Model-based Predictive Control (MPC) By Finn Aakre Haugen (finn.haugen@usn.no) USN. PEF3006 Process Control. Haugen. 2017

USN. PEF3006 Process Control. Haugen. 2017 "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). USN. PEF3006 Process Control. Haugen. 2017

USN. PEF3006 Process Control. 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. USN. PEF3006 Process Control. 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) . USN. PEF3006 Process Control. Haugen. 2017

USN. PEF3006 Process Control. Haugen. 2017 What is MPC? USN. PEF3006 Process Control. 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) USN. PEF3006 Process Control. 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? USN. PEF3006 Process Control. 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. USN. PEF3006 Process Control. 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). USN. PEF3006 Process Control. Haugen. 2017

USN. PEF3006 Process Control. 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 USN. PEF3006 Process Control. 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. 2016

USN. PEF3006 Process Control. Haugen. 2017 Application: MPC for position control of a simulated pendulum (mostly for fun) USN. PEF3006 Process Control. Haugen. 2017

Front panel of the simulator: Teacher runs simulations. USN. PEF3006 Process Control. Haugen. 2017

Application: MPC temperature control of a simulated air heater USN. PEF3006 Process Control. Haugen. 2017

Front panel of the simulator: Teacher runs simulations. USN. PEF3006 Process Control. Haugen. 2017

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

USN. PEF3006 Process Control. Haugen. 2017 Sewage system of Oslo and surroundings Oslo Vækerø Slemmestad USN. PEF3006 Process Control. Haugen. 2017

USN. PEF3006 Process Control. Haugen. 2017 The WWTP in Slemmestad (in the Bjerkås mountain): USN. PEF3006 Process Control. Haugen. 2017

USN. PEF3006 Process Control. 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. USN. PEF3006 Process Control. Haugen. 2017

The inlet magazine: Inflow to WWTP Tunnel Inlet basin Controller 20 HSN. IA3112 Auttek. 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. USN. PEF3006 Process Control. 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τ USN. PEF3006 Process Control. Haugen. 2017

USN. PEF3006 Process Control. Haugen. 2017 MPC optimization criterion: der where u_LC = F_in USN. PEF3006 Process Control. 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 USN. PEF3006 Process Control. 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. USN. PEF3006 Process Control. Haugen. 2017

Experimental results on the real plant: Which is best? 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 best? HSN. IA3112 Auttek. Haugen. 2017.