Model Predictive control for beginners by Anthony Rossiter

# Chapter 3: Predictive functional control

The intention is to focus on the concepts underlying the approach and gradually building the algorithm from there. A key selling point of PFC is that it is intuitively simple and in many cases the required code can be constructed almost by inspection - this means it has appeal for industrial users due to ease of tuning, installation and maintenance. This chapters focuses on the concepts and demonstration that the approach can be applied to a variety of common processes. Consequently, the first chaper looks at the most elementary case of processes which can be represented with a first order model. Nevertheless, it does cover constraint handling, model uncertainty and large dead-times.

A key message viewers should take on board is that predictive control represents a way of thinking or approaching control problems, NOT a specific algorithm. It is rarely wise to take an off-the-shelf algorithm as one will only get the most out of MPC by some tailoring to the specific application of interest. Moreover, it is very easy to do a 'bad' MPC design if one is ignorant of the underlying principles and attributes. This principle carries over to PFC where a quick review of the industrial code used for different process attributes indicates that a lot of common sense engineering insight is added to typical PFC implementations to exploit the process information available..

There are links to the source powerpoint files, and where appropriate, uncommented MATLAB script files containing the MATLAB code used in production of the figures and examples (these are linked to each video). These are on the googlesites folder.

Thanks are given to Jacques Richalet and Robert Haber for conversations, shared code and comment on this set of videos.

## 1. Introduction to PFC

Introduces the concepts underpinning PFC, that is the links to human behaviour, the desire for computational and intuitive simplicity and the parameterisation of future decisions.

## 2. Mean-level control

Introduces a predictive control algorithm denoted mean-level control and specifically demonstrates that coding of such an algorithm is trivial and moreover gives offset free tracking in the uncertain case. However, it is not widely adopted because it embeds open-loop behaviours which may be poor in some cases.

• A video talk through is available here.
• ## 3. Basic concepts of PFC

Introduces the PFC concepts of coincidence horizon and the desired time constant/settling time/closed-loop pole. Shows how these can easily be combined to form an 'explicit' control law that requires a minimum of algebra in the case of a 1st order model. Also demonstrates that the actual closed-loop behaviour can be quite sensitive to the choice of both the coincidence horizon as well as the time constant.

• A video talk through is available here.

## 4. Integral action in PFC

Extends the algorithm from the previous section to be more rigorous so that it is able to deal with parameter uncertainty and unmeasured disturbances. Demonstrates that the use of an independent model along with unbiased prediction ensures offset free tracking of constant targets in the steady-state. Although the integral is not included explicitly in the control law derivations, some loop analysis is provided to show how the integral action is in fact implicit and the control law takes a very simple form for the case of 1st order models.

Because PFC is a prediction based approach, it is unsurprising that it can cater for large dead-times in a systematic fashion. Nevertheless, due to the design being based on a specific coincidence, it is important to clarify precisely how the relevant coincidence condition can be stated. This video shows that this is largely obvious as long as one remembers to make use of unbiased predictions. However, a neat insight is that one can use low coincidence horizons (less than the dead-time) by exploiting information from the independent model and this tends to given much better behaviour.

• The videos are available here.

## 6. Input constraint handling

Shows that PFC can easily take account of input constraints with a minimum of coding complexity - in effect the addition of a few simple conditional statements and no optimisation! Simulations demonstrate the efficacy in scenarios which include both uncertainty and dead-time.

• A video is available here.

## 7. Prediction short cuts

The earlier videos used an explicit bias computation in order to ensure unbiased predictions in the steady-state. However, it is common place for PFC practitioners to avoid this step and include the requirement implicitly. This video shows how one can instead use equivalences between the expected change in the process and the independent model outputs to derive the control law - this technique will have benefits for higher order systems.

• A video is available here.

## 8. Output constraints and PFC

While the incorporation of input constraints is easy, state or output constraints are more challenging because one needs to test these over a long horizon. This video shows an efficient (easy to code) mechanism for ensuring output constraint satisfaction although it should be noted that, unlike in mainstream MPC literature, there is no attempt to provide guarantees of feasibility in the uncertain case. Rather the approach is pragmatic and simple to code and assumes feasibility.

• A video is available here.