Model predictive control (MPC) is an advanced method of process control that is used to control a process while satisfying a set of constraints. It has been in use in the process industries in chemical plants and oil refineries since the 1980s. In recent years it has also been used in power system balancing models and in power electronics. Model predictive controllers rely on dynamic models of the process, most often linear empirical models obtained by system identification. The main advantage of MPC is the fact that it allows the current timeslot to be optimized while keeping future timeslots in account. This is achieved by optimizing a finite time-horizon, but only implementing the current timeslot and then optimizing again, repeatedly, thus differing from Linear-Quadratic Regulator (LQR). Also, MPC has the ability to anticipate future events and can take control actions accordingly. PID controllers do not have this predictive ability. MPC is nearly universally implemented as a digital control, although there is research into achieving faster response times with specially designed analog circuitry.

# Topic

# Model Predictive Control

This topic includes the following resources and journeys:

### Type

### Experience

### Scope

## Model Predictive Control

This lecture provides an overview of model predictive control (MPC), which is one of the most powerful and general control frameworks. MPC is used extensively in industrial control settings...

See More## Model predictive control python toolbox

**do-mpc** is a comprehensive open-source toolbox for robust **model predictive control (MPC)** and **moving horizon estimation (MHE)**. **do-mpc** enables the efficient formulation and solution of control...

## Understanding Model Predictive Control, Part 1: Why Use MPC?

Learn about the benefits of using model predictive control (MPC). MPC can handle multi-input multi-output (MIMO) systems that have interactions between their inputs and outputs. Due to these...

See More## Understanding Model Predictive Control, Part 4: Adaptive, Gain-Scheduled and Nonlinear ...

This video explains the type of MPC controller you can use based on your plant model, constraints, and cost function. An optimization problem with these properties is a convex one, and you...

See More## MPCTools: Nonlinear Model Predictive Control Tools for CasADi (Python Interface)

This Python package is a collection of model predictive control tools that build on CasADi by providing a simpler interface. Along with the python package, there are a bunch of example files...

See More## Understanding Model Predictive Control, Part 3: MPC Design Parameters

To successfully control a system using an MPC controller, you need to carefully select its design parameters. This video provides recommendations for choosing the controller sample time...

See More## Understanding Model Predictive Control, Part 2: What is MPC?

Learn how model predictive control (MPC) works. Using a simple car example, this video provides insight into an MPC controller’s strategy for finding the optimal steering wheel angle to...

See More## Understanding Model Predictive Control, Part 7: Adaptive MPC Design with Simulink

In this video, you will learn how to design an adaptive MPC controller for an autonomous steering vehicle system whose dynamics change with respect to the longitudinal velocity. After you...

See More## Understanding Model Predictive Control, Part 6: How to Design an MPC Controller with Si...

Learn how to design an MPC controller for an autonomous vehicle steering system using Model Predictive Control Toolbox™. This video walks you through the design process of an MPC controller...

See More## Sparse Identification of Nonlinear Dynamics for Model Predictive Control

This lecture shows how to use sparse identification of nonlinear dynamics with control (SINDYc) with model predictive control to control nonlinear systems purely from data.

See More## Understanding Model Predictive Control, Part 5: How To Run MPC Faster

This video starts by providing quick tips for implementing MPC for fast applications. If you need to further decrease the sample time for your fast applications, you can use explicit MPC...

See More