This will sound like a super silly question, but:

Why is it called "Model Predictive Control"? I mean : the other types of control also compute the control input based on prediction of what is going to happen based on the "Model", no?

  • $\begingroup$ you are right. Some models are so simple folks don't think of them as models. Other than that what are you expecting as an answer? $\endgroup$
    – agentp
    Dec 17 '17 at 18:52

This refers to Model and Predictive:

Model: This control type highly depends on the model. In a PID controller, maybe you do not know the model clearly, but PID works fine. In MPC, wrong model leads to loss of control. Your controller highly depends on the model.

Predictive: This controller does not depend on the history of the states (unlike PID). It only depends on the current states and what it predicts about the future. It estimates (predicts) the future and takes the best control action to optimize the future in a finite horizon.

Note: If you have the system model, current state and series of current and future control inputs, then you can exactly tell what will be the open-loop future outputs.

  • $\begingroup$ It should be noted, that while the main part of the answer is correct, the last sentence does not exactly hold for (nonlinear) MPC. Even in the nominal case of a "perfect" model and no disturbances, the predicted open-loop trajectory does not necessarily match the closed-loop trajectory. That's also why showing stability of MPC schemes is not trivial. $\endgroup$ Feb 24 '18 at 18:00
  • $\begingroup$ @OpticalResonator, Thanks. I have added the word open loop. However, it is not clear for me what is hold for linear MPC which does not hold for nonlinear MPC. $\endgroup$
    – Arash
    Feb 25 '18 at 20:29
  • $\begingroup$ ah, sorry, I formulated it a bit clumsy, I meant that this dilemma applies to both linear and nonlinear MPC $\endgroup$ Feb 25 '18 at 22:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.