This project contains the experimental framework for distributionally robust MPC and two case studies, per "Data-driven distributionally robust MPC using the Wasserstein metric" by Zhengang Zhong, Ehecatl Antonio del Rio-Chanona and Panagiotis Petsagkourakis, submitted to IEEE CDC 2021.
Distributionally robust optimization is a technique for decision making under uncertainty where the probability distribution of the uncertain problem is itself subject to uncertainty. A novel data-driven MPC scheme is proposed to control constrained stochastic linear systems using distributionally robust optimization. Distributionally robust constraints based on Wasserstein ball are imposed to bound the expected state constraint violation in the presence of process disturbance. A feedback control law is solved to guarantee that the predicted states comply with constraints with regard to the worst-case distribution within the Wasserstein ball centered at the discrete empirical probability distribution. The resulting distributionally robust MPC framework is tractable and efficient. The effectiveness of the proposed scheme is demonstrated through two numerical case studies.
python inverted_pendulum.py
or python mass_spring.py
to run the simulation for one realization.
python
other file_name to execute simulations for multiple realizations.
Simulation 1: 50 realizations of the data collection algorithm for a mass spring system initialized with different numbers of samples
The shaded area denotes the 25-th to 75-th trajectory distribution.