Model Predictive Control Toolbox    
mpccl

Combines a plant model and a controller model in MPC step format, yielding a closed-loop system model in the MPC mod format. This can be used for stability analysis and linear simulations of closed-loop performance.

Syntax

Description

plant
Is a model (in step format) representing the plant in the above diagram.

model
Is a model (in step format) that is to be used to design the MPC controller block shown in the diagram. It may be the same as plant (in which case there is no "model error" in the controller design), or it may be different.

Kmpc
Is a controller gain matrix, which was calculated by the function mpccon.

tfilter
Is a (optional) matrix of time constants for the noise filter and the unmeasured disturbances entering at the plant output. If omitted or set to an empty matrix, the default is no noise filtering and steplike unmeasured disturbances. See the documentation for the function mpcsim for more details on the design and proper format of tfilter.

dplant
Is a (optional) model (in step format) representing all the disturbances (measured and unmeasured) that affect plant in the above diagram. If omitted or set to an empty matrix, the default is that there are no disturbances.

dmodel
Is a (optional) model (in step format) representing the measured disturbances. If omitted or set to an empty matrix, the default is that there are no measured disturbances. See the documentation for the function mpcsim for more details on how disturbances are handled when using step-response models.

mpccl
Calculates a model of the closed-loop system, clmod. It is in the mod format and can be used, for example, with analysis functions such as smpcgain and smpcpole, and with simulation routines such as mod2step and dlsimm. mpccl also calculates (as an option) a model of the controller element, cmod.

The closed-loop model, clmod, has the following state-space representation:

where xcl is a vector of n state variables, ucl is a vector of input variables, ycl is a vector of outputs, and cl, cl, Ccl, and Dcl are matrices of appropriate size. The expert user may want to know the significance of the state variables in xcl. They are (in the following order):

The closed-loop input and output variables are:


where is the estimate of the noise-free plant output at sampling period k based on information available at period k. This estimate is generated by the controller element.

The state-space form of the controller model, cmod, can be written as:

where


and the controller states are the same as those of the closed loop system except that the np plant states are not included.

Example
Consider the linear system:


We build the step response model using the MPC Toolbox functions poly2tfd and tfd2step.

Now we design the controller. Since there is delay, we use M < P: We specify the defaults for the other tuning parameters, uwt and ywt, then calculate the controller gain:

Now we can calculate the model of the closed-loop system:

You can use the closed-loop model to calculate and plot the step response with respect to all the inputs. The appropriate commands are:

Since the closed-loop system has m = 6 inputs and p = 6 outputs, only one of the plots is reproduced here. It shows the response of the first 4 closed-loop outputs to a unit step in the first closed-loop input, which is the setpoint for y1:


Closed-loop outputs y1 and y2 are the true plant outputs (noise-free). Output y1 goes to the new setpoint quickly with a small overshoot. This causes a small, short-term disturbance in y2. The plots for y3 and y4 show the required variation in the manipulated variables.

Restriction
model and plant must have been created using the same sampling period.

See Also
cmpc, mod2step, step format, mpccon, mpcsim, smpcgain, smpcpole



mpcaugss mpccon