Skip to content
MathWorks - Mobile View
  • Inicie sesión cuenta de MathWorksInicie sesión cuenta de MathWorks
  • Access your MathWorks Account
    • Mi Cuenta
    • Mi perfil de la comunidad
    • Asociar Licencia
    • Cerrar sesión
  • Productos
  • Soluciones
  • Educación
  • Soporte
  • Comunidad
  • Eventos
  • Obtenga MATLAB
MathWorks
  • Productos
  • Soluciones
  • Educación
  • Soporte
  • Comunidad
  • Eventos
  • Obtenga MATLAB
  • Inicie sesión cuenta de MathWorksInicie sesión cuenta de MathWorks
  • Access your MathWorks Account
    • Mi Cuenta
    • Mi perfil de la comunidad
    • Asociar Licencia
    • Cerrar sesión

Vídeos y webinars

  • MathWorks
  • Vídeos
  • Vídeos-Inicio
  • Buscar
  • Vídeos-Inicio
  • Buscar
  • Comuníquese con ventas
  • Software de prueba
4:50 Video length is 4:50.
  • Description
  • Full Transcript
  • Related Resources

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

From the series: Understanding Model Predictive Control

Melda Ulusoy, MathWorks

Learn about the benefits of using model predictive control (MPC). MPC uses the model of a system to predict its future behavior, and it solves an optimization problem to select the best control action. 

MPC can handle multi-input multi-output (MIMO) systems that have interactions between their inputs and outputs. Due to these interactions, it is often challenging to design MIMO systems using traditional controllers such as PID. However, MPC can simultaneously control all the outputs while taking into account input-output interactions. 

MPC can also handle constraints. Constraints are important, as violating them may lead to undesired consequences. MPC has preview capabilities (similar to feed-forward control). If set point changes are known in advance, the controller can better react to those changes and improve its performance. 

Engineers have used MPC controllers in process industries since the 1980s. With the increasing computing power of microprocessors, its use has spread to many other fields including the automotive and aerospace industries.

Have you ever noticed that control engineers really like 3 letter acronyms? In this series, we’ll focus on MPC, which might be the most popular control for some engineers. But what it really stands for is model predictive control. In this video, we’ll discuss the reasons why you’d use it. But first, let’s briefly look at the basic idea behind MPC. MPC is a feedback control algorithm that uses a model to make predictions about future outputs of a process.

Here’s an analogy to explain what we mean: Say that you’re driving and your goal is to keep the car within the lane. The decisions you make to achieve this goal are very similar to how a model predictive controller works. You know your car’s characteristics: how fast it goes or how much it turns based on the control actions you take. Using this model of the car, you do simulations in your head. These give you predictions about your future trajectory based on the control actions you choose. Then you select the optimal action that drives the predicted trajectory as close as possible to the desired trajectory. This is a simplistic example to give you the general idea, but in the next video we’ll have a much more detailed discussion about how MPC works.

Here are some of the reasons why you’d want to use model predictive control. MPC can handle multi-input multi-output systems that might have interactions between their inputs and outputs. For example, in this MIMO system, a change in the second output  also affects the first output. If we were to use PID controllers, designing them would be challenging because the two control loops would operate independent of each other as if there are no interactions between the two loops. And designing larger systems would be even more challenging, as they would require tuning too many controller gains. The advantage of MPC is that it’s a multivariable controller that controls the outputs simultaneously by taking into account all the interactions between system variables. Another strength of MPC is that it can handle constraints. Constraints are important, because violating them can lead to undesired consequences. For example, some of the safety constraints while driving are that cars must obey speed limits and maintain a safe distance from other cars. There are also constraints due to physical limitations of the car such as limits on acceleration. If this was an autonomous car controlled by MPC, the controller would track a desired trajectory while satisfying all these constraints.

Another feature of MPC is its preview capability, which is similar to feedforward control. Let’s say the autonomous car travels on a curvy road. If the controller doesn’t know that there’s a corner coming ahead, it will be only able to apply brakes while it’s taking the corner. However, if the car has a camera in the front which provides information about the future trajectory, the controller will know in advance about the upcoming corner. So, it can brake sooner to safely stay in the lane. MPC can easily incorporate future reference information into the control problem to improve controller performance.

Model predictive controllers have been used in the process industry since the 1980s. With the increasing computing power of microprocessors, their use has spread to other fields as well. Some of these areas are listed here.

MPC has all these benefits, but something to note is that it requires a powerful, fast processor with a large memory. And the reason is that MPC solves an online optimization problem at each time step, which we’ll talk in much more detail in the next video.

In summary, MPC utilizes the model of a system to predict its future behavior, and it solves an online optimization algorithm to select the best control action that drives the predicted output to the reference. It can control multi-input multi-output systems that might have interactions between inputs and outputs. MPC can handle constraints, and it has preview capability. It is also widely used in many industries. In the next video, we will discuss how model predictive controllers work.

Related Products

  • Model Predictive Control Toolbox

What Is Model Predictive Control Toolbox? (2:14)
Getting Started with Model Predictive Control Toolbox
How to Design an MPC Controller with Simulink and Model Predictive Control Toolbox (9:52)
Adaptive MPC Design with Simulink and Model Predictive Control Toolbox (8:20)

Bridging Wireless Communications Design and Testing with MATLAB

Read white paper

Implementing an Adaptive Cruise Controller with Simulink

Read white paper
Related Information
Related Information
Download the technical paper on adaptive cruise control design with MPC

Feedback

Featured Product

Model Predictive Control Toolbox

  • Request Trial
  • Get Pricing

Up Next:

Learn how model predictive control (MPC) works. MPC uses a model of the plant to make predictions about future plant outputs. It solves an optimization problem at each time step to find the optimal control action that drives the predicted plant output to the desired reference as close as possible.
6:06
Part 2: What Is MPC?
View full series (8 Videos)

Related Videos:

3:59
Getting Started with Model Predictive Control Toolbox
28:18
Model Predictive Control of Diesel Engine Airpath
28:14
Model-Predictive Control of Diesel Engine Airpath
54:09
Introduction to Model Predictive Control Toolbox
7:24
Weight Tuning for Model Predictive Controllers

View more related videos

MathWorks - Domain Selector

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

  • Switzerland (English)
  • Switzerland (Deutsch)
  • Switzerland (Français)
  • 中国 (简体中文)
  • 中国 (English)

You can also select a web site from the following list:

How to Get Best Site Performance

Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.

Americas

  • América Latina (Español)
  • Canada (English)
  • United States (English)

Europe

  • Belgium (English)
  • Denmark (English)
  • Deutschland (Deutsch)
  • España (Español)
  • Finland (English)
  • France (Français)
  • Ireland (English)
  • Italia (Italiano)
  • Luxembourg (English)
  • Netherlands (English)
  • Norway (English)
  • Österreich (Deutsch)
  • Portugal (English)
  • Sweden (English)
  • Switzerland
    • Deutsch
    • English
    • Français
  • United Kingdom (English)

Asia Pacific

  • Australia (English)
  • India (English)
  • New Zealand (English)
  • 中国
    • 简体中文Chinese
    • English
  • 日本Japanese (日本語)
  • 한국Korean (한국어)

Contact your local office

  • Comuníquese con ventas
  • Software de prueba

MathWorks

Accelerating the pace of engineering and science

MathWorks es el líder en el desarrollo de software de cálculo matemático para ingenieros

Descubra…

Explorar productos

  • MATLAB
  • Simulink
  • Software para estudiantes
  • Soporte para hardware
  • File Exchange

Probar o comprar

  • Descargas
  • Software de prueba
  • Comuníquese con ventas
  • Precios y licencias
  • Cómo comprar

Aprender a utilizar

  • Documentación
  • Tutoriales
  • Ejemplos
  • Vídeos y webinars
  • Formación

Obtener soporte

  • Ayuda para la instalación
  • MATLAB Answers
  • Consultoría
  • Centro de licencias
  • Comuníquese con soporte

Acerca de MathWorks

  • Ofertas de empleo
  • Sala de prensa
  • Misión social
  • Casos prácticos
  • Acerca de MathWorks
  • Select a Web Site United States
  • Centro de confianza
  • Marcas comerciales
  • Política de privacidad
  • Antipiratería
  • Estado de las aplicaciones

© 1994-2022 The MathWorks, Inc.

  • Facebook
  • Twitter
  • Instagram
  • YouTube
  • LinkedIn
  • RSS

Únase a la conversación