Also known as 'Moving Horizon Control'.
Some useful Tutorials and links:
MPC_handout.pdf - Purdue University (25 slides)
Lecture 14 MPC - Stanford University (26 slides)
Lecture Notes On MPC - Georgia Institute of Technology (137 slides)
CasADi Pt 1; CasADi non-linear; MPC Traj tracking; MPC overview - Steve Brunton
-------------------------------------------------------------------------------------------------------
A simplified "layman's" explanation to the MPC Control, taken from Wang - Model Predictive Control System Design and Implementation Using MATLAB, Section 1.1.1:
The general design objective of model predictive control is to compute a trajectory of a future manipulated variable u to optimize the future behaviour of the plant output y. The optimization is performed within a limited time window by giving plant information at the start of the time window.
The day begins at 9 o’clock in the morning. We are, as a team, going to complete the tasks of design and implementation of a model predictive control system for a liquid vessel. The rule of the game is that we always plan our activities for the next 8 hours work, however, we only implement the plan for the first hour. This planning activity is repeated for every fresh hour until the tasks are completed.
Given the amount of background work that we have completed for 9 o’clock, we plan ahead for the next 8 hours. Assume that the work tasks are divided into modelling, design, simulation and implementation. Completing these tasks will
be a function of various factors, such as how much effort we will put in, how well we will work as a team and whether we will get some additional help from others. These are the manipulated variables in the planning problem. Also, we
have our limitations, such as our ability to understand the design problem, and whether we have good skills of computer hardware and software engineering.
These are the hard and soft constraints in the planning. The background information we have already acquired is paramount for this planning work. After everything is considered, we determine the design tasks for the next 8 hours as functions of the manipulated variables. Then we calculate hour-byhour what we need to do in order to complete the tasks. In this calculation, based on the background information, we will take our limitations into consideration as the constraints, and find the best way to achieve the goal. The end result of this planning gives us our projected activities from 9 o’clock to
5 o’clock. Then we start working by implementing the activities for the first hour of our plan.
At 10 o’clock, we check how much we have actually done for the first hour. This information is used for the planning of our next phase of activities. Maybe we have done less than we planned because we could not get the correct model or because one of the key members went for an emergency meeting. Nevertheless, at 10 o’clock, we make an assessment on what we have achieved, and use this updated information for planning our activities for the next 8 hours. Our objective may remain the same or may change. The length of time for the planning remains the same (8 hours). We repeat the same
planning process as it was at 9 o’clock, which then gives us the new projected activities for the next 8 hours. We implement the first hour of activities at 10 o’clock. Again at 11 o’clock, we assess what we have achieved again and use the updated information for the plan of work for the next 8 hours. The planning and implementation process is repeated every hour until the original objective is achieved.
There are three key elements required in the planning. The first is the way of predicting what might happen (model); the second is the instrument of assessing our current activities (measurement); and the third is the instrument of implementing the planned activities (realization of control). The key issues in the planning exercise are:
1. the time window for the planning is fixed at 8 hours;
2. we need to know our current status before the planning;
3. we take the best approach for the 8 hours work by taking the constraints into consideration, and the optimization is performed in real-time with a moving horizon time window and with the latest information available.
-------------------------------------------------------------------------------------------------------
A model predictive controller uses, at each sampling instant, the plant’s current input
and output measurements, the plant’s current state, and the plant’s model to
• calculate, over a finite horizon, a future control sequence that optimizes a given performance index and satisfies constraints on the control action;
• use the first control in the sequence as the plant’s input.
[further content]