/Lumped-Uncertainty-SLS-MPC

Robust model predictive control of uncertain linear dynamical systems subject to polytopic model uncertainty and additive disturbances.

Primary LanguageMATLAB

Lumped-Uncertainty-SLS-MPC

Update: A more recent and structured implementation of SLS MPC can be found in Polytopic-SLSMPC together with several other robust MPC baselines (tube-based and LTV state feedback-based).

This repo. contains the codes for implementing the robust model predictive control (MPC) methods used in the paper System Level Synthesis-based Robust Model Predictive Control through Convex Inner Approximation which considers norm-bounded model uncertainty:

with .

and Robust Model Predictive Control with Polytopic Model Uncertainty through System Level Synthesis which considers polytopic model uncertainty:

with .

Summary

At each time instnat in MPC, the proposed method uses system level synthesis (SLS) to solve the robust optimal control problem in the space of closed-loop system responses which allows a novel constraint tightening procedure that would otherwise be impossible to apply. The proposed method, which we denote as lumped uncertainty SLS MPC, demonstrates significant improvement in conservatism compared with other competitive robust MPC baselines across a wide range of numerical examples.

Content

can be produced by running the codes under the example folder.

Installation

Add the mpc folder to MATLAB path and then you can run the examples in the paper.

Required toolboxes

Yalmip for formulating the control problems. MOSEK is used as the default solver in the codes.

MPT3 for polyhedron operations.

MatlabProgressBar for progress display (Not required if you remove the progress function in each for-loop, e.g. for i = progress(1:10) --> for i = 1:10).