# Chapter eight

Predictive control

### Introduction to predictive control for beginners

A useful starting point for any book is to motivate the reader: why do I need this book, chapter or topic? Consequently this chapter will begin by demonstrating the numerous scenarios where classical control approaches are inadequate. Not too much time is spent on this as this is motivational, but hopefully enough for the reader to be convinced that there is a significant number of real control problems where better approaches are required.

Having given some motivation, we present some insight into how humans deal with such challenging control problems and demonstrate the underlying concepts which ultimately form the main building blocks of predictive control.

The chapter is organised into a number of brief sections highlighted below. These resources are intended for beginners rather than advanced users and thus focus on basic concepts and algebra rather than the state of the art in research. The intention is not to go into too much fine detail with respect to recent developments, but instead to concentrate on core concepts, supported by a presentation of the main mathematical development. Some MATLAB files are provided as back up so viewers can follow up any aspects they find puzzling or interesting.

A key message students 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.

## Sections in chapter EIGHT

### Section one: Classical control and weaknesses

A brief summary of the sorts of techniques which are commonly used.

### Section two: Prediction

A discussion on why prediction is useful for control design and how one can form predictions for a number of different model structures.

### Section three: Predictive Functional Control

This chapters focuses on the concepts and demonstration that the approach can be applied to a variety of common processes.

### Section four: Finite horizon predictive control laws

This chapter introduces finite horizon predictive control law definitions and how these result in a fixed form control law, for the constraint free case.

### Section five: Infinite horizon predictive control laws

Most of the chapter is based on the regulation problem in order to simplify the algebra, so only the last section considers extensions to deal with tracking and disturbance rejection.

### Section six: Constraint handling

An introduction into constraints, demonstrating the importance of considering them explicitly and how they are incorporated into several MPC algorithms.

### Section seven: Using feedforward information

An investigation and a demonstration of some worrying features.

Viewers are encouraged to reproduce core results using MATLAB and pen and paper to test their own progress and understanding. It is implicit in these chapters that students have core competence in control concepts and scenarios.

### Resources

Zip file of MATLAB files used in textbook from 2018 (ZIP, 431 KB).

QP solver from Sebastian Starke.