Time-Varying MPC
When to Use Time-Varying MPC
To adapt to changing operating conditions, adaptive MPC supports updating the prediction model and its associated nominal conditions at each control interval. However, the updated model and conditions remain constant over the prediction horizon. If you can predict how the plant and nominal conditions vary in the future, you can use time-varying MPC to specify a model that changes over the prediction horizon. Such a linear time-varying (LTV) model is useful when controlling periodic systems or nonlinear systems that are linearized around a time-varying nominal trajectory.
To use time-varying MPC, specify arrays for the Plant
and
Nominal
input arguments of mpcmoveAdaptive
. For an example of time-varying MPC, see Time-Varying MPC Control of a Time-Varying Plant.
Time-Varying Prediction Models
Consider the LTV prediction model
where A, Bu, Bv, C, and D are discrete-time state-space matrices that can vary with time. The other model parameters are:
k — Current control interval time index
x — Plant model states
u — Manipulated variables
v — Measured disturbance inputs
y — Measured and unmeasured plant outputs
Since time-varying MPC extends adaptive MPC, the plant model requirements are the
same; that is, for each model in the Plant
array:
Sample time (
Ts
) is constant and identical to the MPC controller sample time.Any time delays are absorbed as discrete states.
The input and output signal configuration remains constant.
There is no direct feed-through from the manipulated variables to the plant outputs.
For more information, see Plant Model.
The prediction of future trajectories for p steps into the future, where p is the prediction horizon, is the same as for the adaptive MPC case:
However, for an LTV prediction model, the matrices Sx, Su1, Su, and Hv are:
where if , or I otherwise.
For more information on the prediction matrices for implicit MPC and adaptive MPC, see QP Matrices.
Time-Varying Nominal Conditions
Linear models are often obtained by linearizing nonlinear dynamics around time-varying nominal trajectories. For example, consider the following LTI model, obtained by linearizing a nonlinear system at the time-varying nominal offsets xoff, uoff, voff, and yoff:
If we define
as standard nominal values that remain constant over the prediction horizon, we can transform the LTI model into the following LTV model:
where
If the original linearized model is already LTV, the same transformation applies.
State Estimation
As with adaptive MPC, time-varying MPC uses a time-varying Kalman filter based on A(0), B(0), C(0), and D(0) from the initial prediction step; that is, the current time at which the state is estimated. For more information, see State Estimation.
See Also
Functions
Objects
mpc
|mpcstate
|mpcmoveopt
Related Examples
- Time-Varying MPC Control of a Time-Varying Plant
- Time-Varying MPC Control of an Inverted Pendulum on a Cart