Fast Model Predictive Control Using Online Optimization

Y. Wang and S. Boyd

IEEE Transactions on Control Systems Technology, 18(2):267-278, March 2010.
Shorter version appeared in Proceedings IFAC World Congress, pages 6974 – 6997, Seoul, July 2008.

A widely recognized shortcoming of model predictive control (MPC) is that it can usually only be used in applications with slow dynamics, where the sample time is measured in seconds or minutes. A well known technique for implementing fast MPC is to compute the entire control law offline, in which case the online controller can be implemented as a lookup table. This method works well for systems with small state and input dimensions (say, no more than 5), and short time horizons. In this paper we describe a collection of methods for improving the speed of MPC, using online optimization. These custom methods, which exploit the particular structure of the MPC problem, can compute the control action on the order of 100 times faster than a method that uses a generic optimizer. As an example, our method computes the control actions for a problem with 12 states, 3 controls, and horizon of 30 time steps (which entails solving a quadratic program with 450 variables and 1284 constraints) in around 5msec, allowing MPC to be carried out at 200Hz.