This repository contains codes to implement the robust model predictive control (MPC) method, SLS MPC, proposed in
Robust Model Predictive Control with Polytopic Model Uncertainty through System Level Synthesis
Shaoru Chen, Victor M. Preciado, Manfred Morari, Nikolai Matni
Automatica, 2024
and the robust MPC baselines therein.
In robust MPC of an uncertain linear time-invariant system, we consider solving a finite-horizon robust optimal control problem with the current state
where the model uncertainty parameters
There is a naturally a tension in the parameterization of the feedback policy
Our proposed method, SLS MPC, has the following features:
- It searches linear time-varying state feedback controller
$\pi_t(x_{0:t}) = K^{t,t}x_0 + \cdots + K^{t,0}x_t$ where the feedback gains$K^{t,t-i}$ are optimized online. - Instead of searching the controller parameter
$K^{t,t-i}$ directly which often leads to nonconvex optimization, we use System Level Synthesis (SLS) to reparameterize the controller in the system response space which reveals useful structures about the robust optimal control problem. - SLS MPC introduces a virtual additive disturabnce signal to over-approximate the uncertainty effects and simplifies constraint tightening. The reach set of the virtual additive disturbance signal is optimized online jointly with the feedback controller parameters through a set of linear constraints.
- Using the virtual additive disturbances, we can easily derive an upper bound on the worst-case cost of the robust optimal control problem and minimize it.
We compare SLS MPC with several baselines, including tube-based methods and methods that also optimize over LTV state feedback controllers, in solving the robust optimal control problem and compare their feasible domains with varying uncertainty parameters.
In the first figure, coverage = (size of the feasible domain of each MPC method)/(size of the maximal robust control invariant set). The denominator is the theoretical upper bound on the feasible domain of any robust MPC method.
In the following figure, we compare the coverages of different robust MPC methods on randomly generated systems and observe that SLS MPC achieves the best coverage in almost all examples, often with a significant tightness margin compared with the second-best method.
More details about these examples are included in the paper.
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).
Different robust MPC methods are implemented in the mpc folder and are summarized below (naming follows from the SLS MPC paper).
-
(Tube-A)
Robust model predictive control using tubes
Wilbur Langson, Ioannis Chryssochoos, S. V. Raković, and David Q. Mayne.
Automatica 40, no. 1 (2004): 125-133. -
(Tube-B)
Robust MPC with recursive model update
Matthias Lorenzen, Mark Cannon, and Frank Allgöwer.
Automatica 103 (2019): 461-471. -
(Tube-C)
Linear robust adaptive model predictive control: Computational complexity and conservatism
Johannes Köhler, Elisa Andina, Raffaele Soloperto, Matthias A. Müller, and Frank Allgöwer.
In 2019 IEEE 58th Conference on Decision and Control (CDC), pp. 1383-1388. IEEE, 2019. -
(Tube-D)
Robust adaptive tube model predictive control
Xiaonan Lu, and Mark Cannon.
In 2019 American Control Conference (ACC), pp. 3695-3701. IEEE, 2019.
-
(Lumped-Disturbance-MPC)
A simple robust MPC for linear systems with parametric and additive uncertainty
Monimoy Bujarbaruah, Ugo Rosolia, Yvonne R. Stürz, and Francesco Borrelli.
In 2021 American Control Conference (ACC), pp. 2108-2113. IEEE, 2021. -
(Offline-Tightening-MPC)
Robust MPC for LPV systems via a novel optimization-based constraint tightening
Monimoy Bujarbaruah, Ugo Rosolia, Yvonne R. Stürz, Xiaojing Zhang, and Francesco Borrelli.
Automatica 143 (2022): 110459. -
(SLS-MPC)
Robust Model Predictive Control with Polytopic Model Uncertainty through System Level Synthesis
Shaoru Chen, Victor M. Preciado, Manfred Morari, Nikolai Matni
Under review of Automatica