Resources:
MPC Algorithm
for t=0,1,2,...,infty do
Determine x_t
Solve open-loop opt. prob. with x_0=x
-> u_0,u_1,u_2,...,u_(N-1)
Set u_t=u_0
end
- To determine we can either measure it, estimate it or both (Kalman Filter).
Output Feedback MPC Controller
We copy , feed it into the model of the system, get an estimate, and use the estimate into the MPC controller.
A linear state estimator can be written as
Which is used in the Closed-loop Estimator - Luenberger Observer and Kalman Filter.
Reference Tracking (Regulation)
Typically we want the controlled variables to go to the reference
Where .
Note:
- Controlled variables are often, but not always different from the measured variables . Above we assumed that the measurement and estimate are equal.
When a system is Steady State, this means that (in the discrete case)
And
Offset-Free Control (=“Integral Action”)
Discussed in this paper.
In a PID controller, the effect of the integral is to remove unknown (constant) disturbances. However, there is no equivalent in the MPC, so how do we implement this?
We create a model with disturbance
Idea: Augment model
Offset-free control
- Use state estimation with the equations above to estimate and
- Use the equations above as model in MPC
- We require
- () to be observable
- We can’t have state estimators on unobservable system
- Means in practice that dim() dim()
- Target calculation must be modified to depend on .
- Target calculation must be done at each time step.
- Typical industrial practice: , . Called Bias Update
- Aka disturbances only affect the output, and not the states ()
- Setting makes it easier to determine the disturbance (since it is multiplied with ).
- Does not require state estimators as a result.
- () to be observable