# Model-predictive control looks to the future

## A model-predictive controller uses a mathematical model of the process to predict future effects of current control actions. Knowing where the process is headed and how the process variable reacts to the controller's actions gives the controller the foresight to push the process in the right direction.

A model-predictive controller uses a mathematical model of the process to predict future effects of current control actions. Knowing where the process is headed and how the process variable reacts to the controller's actions gives the controller the foresight to push the process in the right direction.

The process model is generally based on a set of difference equations that represent the dynamic relationship between the controller's actions and the resulting values of the process variable. In a perfect world, these equations could be back-solved to determine the control actions required to produce any desired trajectory for the process.

However, real processes cannot react instantaneously to the controller's actions. The controller must always settle for some error between the process variable's desired and actual trajectories. The goal of a model-predictive controller is to minimize and gradually eliminate those errors over time.

## Design

No one-size-fits-all design exists for a model-predictive controller. Each must be customized to accommodate the behavior of the controlled process and the performance requirements of the application.

The first step is building a reasonably accurate process model. Its mathematical structure and the values of its parameters are typically estimated by an identification algorithm, which exploits data collected during a series of off-line experiments.

Several performance issues must then be decided, especially how hard the controller should work to eliminate errors and how long it should take to do so. An aggressive controller can minimize errors rapidly, but only by applying dramatic control actions that could damage the actuators responsible for manipulating the process. A more conservative controller would generate control actions that spare the actuators but take longer to eliminate errors.

The time allowed for the controller to eliminate an error is specified by a user-defined reference trajectory that plots a course between the current value of the process variable and the desired value to be achieved in the future. The closer the reference trajectory lies to the desired trajectory, the harder the controller will work.

## Operation

Using the process model, the controller can compute a series of control actions that would theoretically drive the actual trajectory of the process variable to follow the specified reference trajectory. The controller then applies the first of these control actions to the process and measures the results.

If the model were perfect and there were no additional disturbances to the process or changes in the desired trajectory, the controller could achieve the desired results by continuing to apply successive control actions from the series it originally computed. But in practice, the controller must re-compute a whole new series of control actions every time a new measurement is taken.

Unused calculations are not completely wasted, however. If it turns out that the controller has had to make dramatic changes to its proposed control actions with each new measurement, the process model may not be accurate. Some model-predictive controllers can analyze their failures and attempt to improve future predictions by updating their models online.

*Comments?* controleng@msn.com