MPC - robot-eng/MPC-matlab GitHub Wiki
Hi welcome MPC
Predictive control
Predictive control technique is very widely implemented within industry and hence of large interest all graduates for whom control may form part of their duties.
- Predictive control describes an $\color{green}'approach'$ to control design $\color{green}{'not \space a \space specific \space algorithm'}$
- A user would ideally interpret the approach to define an algorithm suitable for their own needs.
Why is predictive control logical?
Many effective control strategies have their origins in human behavior. Moreover, humans are very good at control, so a good start point for automation techniques.
- PID can be deconstructed as a simplification of a human technique for controlling simple systems.
- Similarly, the use of predictions of expected behavior in determining a control strategy is intuitively obvious.
Prediction horizon is an often-misunderstood concept in MPC and $\color{green}'treated'$ as a tuning parameter by many misguided users. However, in terms of normal human behavior, we all know how far ahead we should predict and the consequences of getting this wrong.
Receding horizon
This concept may be over complicated in the literature.
- All it means is that we continually update our predictions and decision making to take account of the most recent target and measurement data.
- The effect is that the prediction horizon is always relative to the current position, and thus recedes aways from the viewer as the viewer as the viewer moves forward.
Feedback from MPC
Viewers may hear the argument that the receding horizon introduces feedback. In fact, one could be more careful and say that the continual update of predictions and decision making to take account of the most recent target and measurement data introduces feedback
- Measurement is a core part of a feedback loop.
- Decisions based on measurements are the $2^{nd}$ core part
$\color{red}{Predictive \space control \space incorporates \space both.}$
Modelling with MPC
A core part of prediction control is the prediction.
- while humans are very good at predicting outcomes, these predictions are based on lot of experience which could be difficult to untangle and automate.
- In order to automate prediction, implicitly we are modelling system behoviour and thus a model is required.
- However, what is not immediately obvious is how we go about defining or determining an appropriate prediction model.
Modelling requirements
- Easy to from predictions - ideally linear
- Easy to identify model parameters.
- Gives accurate predictions. of course these are all somewhat vague
- What do we mean by accurate: steady-state, fast transients, mid-response, ... ?
- What parameters identification algorithm is being proposed and does this give a model which is most accurate? Most