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
    1. () to be observable
      • We can’t have state estimators on unobservable system
      • Means in practice that dim() dim()
    2. Target calculation must be modified to depend on .
      • Target calculation must be done at each time step.
    3. 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.