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:
and Robust Model Predictive Control with Polytopic Model Uncertainty through System Level Synthesis which considers polytopic model uncertainty:
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.
-
This repo. contains implementation of the proposed method, robust SLS MPC for uncertain linear dynamical systems with both model uncertainty and additive disturbances. Three robust MPC baselines, namely tube-MPC [1], disturbance feedback MPC using uniform model uncertainty abstraction [2], and SLS MPC using grid search of hyperparameters [3] . All these methods can handle both model uncertainty and additive disturbances.
[1] Langson, Wilbur, Ioannis Chryssochoos, S. V. Raković, and David Q. Mayne. Robust model predictive control using tubes. Automatica 40, no. 1 (2004): 125-133.
[2] Bujarbaruah, Monimoy, Ugo Rosolia, Yvonne R. Stürz, and Francesco Borrelli. A simple robust MPC for linear systems with parametric and additive uncertainty. In 2021 American Control Conference (ACC), pp. 2108-2113. IEEE, 2021.
[3] Chen, Shaoru, Han Wang, Manfred Morari, Victor M. Preciado, and Nikolai Matni. Robust closed-loop model predictive control via system level synthesis. In 2020 59th IEEE Conference on Decision and Control (CDC), pp. 2152-2159. IEEE, 2020.
-
Numerical examples in the paper
- System Level Synthesis-based Robust Model Predictive Control through Convex Inner Approximation for norm-bounded model uncertainty, and
- Robust Model Predictive Control with Polytopic Model Uncertainty through System Level Synthesis for polytopic model uncertainty
can be produced by running the codes under the example folder.
Add the mpc folder to MATLAB path and then you can run the examples in the paper.
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).