Products & Services Solutions Academia Support User Community Company

Model Predictive Control of a SISO Plant

The usual Model Predictive Control Toolbox™ application involves a plant having multiple inputs and multiple outputs (a MIMO plant).

Consider instead the simpler application shown in Figure 1-1 (see the nomenclature summary in Table 1-1). This plant could be a manufacturing process, such as a unit operation in an oil refinery, or a device, such as an electric motor. The main objective is to hold a single output, , at a reference value (or setpoint), r, by adjusting a single manipulated variable (or actuator) u. This is what is generally termed a SISO (single-input single-output) plant. The block labeled MPC represents a Model Predictive Controller designed to achieve the control objective.

The SISO plant actually has multiple inputs, as shown in Figure 1-1. In addition to the manipulated variable input, u, there may be a measured disturbance, v, and an unmeasured disturbance, d.

Figure 1-1: Block Diagram of a SISO Model Predictive Control Toolbox™ Application

The unmeasured disturbance is always present. As shown in Figure 1-1, it is an independent input-not affected by the controller or the plant. It represents all the unknown, unpredictable events that upset plant operation. (In the context of Model Predictive Control, it can also represent unmodeled dynamics.) When such an event occurs, the only indication is its effect on the measured output, y, which is fed back to the controller as shown in Figure 1-1.

Table 1-1: Model Predictive Control Toolbox™ Signals
Symbol
Description
d
Unmeasured disturbance. Unknown but for its effect on the plant output. The controller provides feedback compensation for such disturbances.
r
Setpoint (or reference). The target value for the output.
u
Manipulated variable (or actuator). The signal the controller adjusts in order to achieve its objectives.
v
Measured disturbance (optional). The controller provides feedforward compensation for such disturbances as they occur to minimize their impact on the output.

Output (or controlled variable). The signal to be held at the setpoint. This is the "true" value, uncorrupted by measurement noise.
y
Measured output. Used to estimate the true value, .
z
Measurement noise. Represents electrical noise, sampling errors, drifting calibration, and other effects that impair measurement precision and accuracy.

Some applications have unmeasured disturbances only. A measured disturbance, v, is another independent input affecting . In contrast to d, the controller receives the measured v directly, as shown in Figure 1-1. This allows the controller to compensate for v's impact on immediately rather than waiting until the effect appears in the y measurement. This is called feedforward control.

In other words, Model Predictive Control Toolbox design always provides feedback compensation for unmeasured disturbances and feedforward compensation for any measured disturbance.

Model Predictive Control Toolbox design requires a model of the impact that v and u have on (symbolically, and ). It uses this plant model to calculate the u adjustments needed to keep at its setpoint.

This calculation considers the effect of any known constraints on the adjustments (typically an actuator upper or lower bound, or a constraint on how rapidly u can vary). One may also specify bounds on . These constraint specifications are a distinguishing feature of Model Predictive Control Toolbox design and can be particularly valuable when one has multiple control objectives to be achieved via multiple adjustments (a MIMO plant). In the context of a SISO system, such contraint handling is often termed an anti-windup feature.

If the plant model is accurate, the plant responds quickly to adjustments in u, and no constraints are encountered, feedforward compensation can counteract the impact of v perfectly. In reality, model imperfections, physical limitations, and unmeasured disturbances cause the y to deviate from its setpoint. Therefore, Model Predictive Control Toolbox design includes a disturbance model () to estimate d and predict its impact on . It then uses its model to calculate appropriate adjustments (feedback). This calculation also considers the known constraints.

Various noise effects can corrupt the measurement. The signal z in Figure 1-1 represents such effects. They could vary randomly with a zero mean, or could exhibit a non-zero, drifting bias. Model Predictive Control Toolbox design uses a model in combination with its model to remove the estimated noise component (filtering).

The above feedforward/feedback actions comprise the controller's regulator mode. Model Predictive Control Toolbox design also provides a servo mode, i.e., it adjusts u such that tracks a time-varying setpoint.

The tracking accuracy depends on the plant characteristics (including constraints), the accuracy of the model, and whether or not future setpoint variations can be anticipated, i.e., known in advance. If so, it provides feedforward compensation for these.

Typical Sampling Instant

Model Predictive Control Toolbox design generates a discrete-time controller - one that takes action at regularly spaced, discrete time instants. The sampling instants are the times at which the controller acts. The interval separating successive sampling instants is the sampling period, capital deltat (also called the control interval). This section provides more details on the events occuring at each sampling instant.

Figure 1-2: Controller State at the kth Sampling Instant

Figure 1-2 shows the state of a hypothetical SISO model preditive control system that has been operating for many sampling instants. Integer k represents the current instant. The latest measured output, yk, and previous measurements, yk-1, yk-2, ..., are known and are the filled circles in Figure 1-2 (a). If there is a measured disturbance, its current and past values would be known (not shown).

Figure 1-2 (b) shows the controller's previous moves, uk-41, ..., uk-1, as filled circles. As is usually the case, a zero-order hold receives each move from the controller and holds it until the next sampling instant, causing the step-wise variations shown in Figure 1-2 (b).

To calculate its next move, uk the controller operates in two phases:

  1. Estimation. In order to make an intelligent move, the controller needs to know the current state. This includes the true value of the controlled variable, , and any internal variables that influence the future trend, , ..., . To accomplish this, the controller uses all past and current measurements and the models , , , and . For details, see Prediction and State Estimation.
  2. Optimization. Values of setpoints, measured disturbances, and constraints are specified over a finite horizon of future sampling instants, k+1, k+2, ..., k+P, where P (a finite integer 1) is the prediction horizon - see Figure 1-2 (a). The controller computes M moves uk, uk+1, ... uk+M-1, where M ( 1, P) is the control horizon - see Figure 1-2 (b). In the hypothetical example shown in the figure, P = 9 and M = 4. The moves are the solution of a constrained optimization problem. For details of the formulation, see Optimization Problem.

In the example, the optimal moves are the four open circles in Figure 1-2 (b), and the controller predicts that the resulting output values will be the nine open circles in Figure 1-2  (a). Notice that both are within their constraints, and .

When it's finished calculating, the controller sends move uk to the plant. The plant operates with this constant input until the next sampling instant, capital deltat time units later. The controller then obtains new measurements and totally revises its plan. This cycle repeats indefinitely.

Reformulation at each sampling instant is essential for good control. The predictions made during the optimization stage are imperfect. Periodic measurement feedback allows the controller to correct for this error and for unexpected disturbances.

Prediction and Control Horizons

You might wonder why the controller bothers to optimize over P future sampling periods and calculate M future moves when it discards all but the first move in each cycle. Indeed, under certain conditions a controller using P = M = 1 would be identical to one using P = M = . More often, however, the horizon values have an important impact. Some examples follow:

Most designers choose P and M such that controller performance is insensitive to small adjustments in these horizons. Here are typical rules of thumb for a lag-dominant, stable process:

  1. Choose the control interval such that the plant's open-loop settling time is approximately 20-30 sampling periods (i.e., the sampling period is approximately one fifth of the dominant time constant).
  2. Choose prediction horizon P to be the number of sampling periods used in step 1.
  3. Use a relatively small control horizon M, e.g., 3-5.

If performance is poor, you should examine other aspects of the optimization problem and/or check for inaccurate controller predictions.


 Provide feedback about this page 

Previous page Introduction MIMO Plants Next page

Recommended Products

Includes the most popular MATLAB recorded presentations with Q&A sessions led by MATLAB experts.

 © 1984-2009- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS