End-to-end guarantees for indirect data-driven control of bilinear systems with finite stochastic data
This repository contains the code from our paper "End-to-end guarantees for indirect data-driven control of bilinear systems with finite stochastic data" which can be acessed here.
If you use this project for academic work, please consider citing our publication
Chatzikiriakos, N., Strässer, R., Allgöwer, F., & Iannelli, A. (2024).
End-to-end guarantees for indirect data-driven control of bilinear systems with finite stochastic data.
submitted, Preprint:arXiv:2409.18010.
- AnalysisBounds: Code for the analysis of the finite sample indentification error bounds (Section 5.1)
- ControllerDesign: Code for the controller design (Sections 5.2 & 5.3)
While the main code is provided in python the generated data can be plotted using the corresponding matlab scirpts
To install all relevant packages execute
pip install -r requirements.txt
- To recreate Fig.1 a)&b) run main.py inside AnalysisBounds directory once and plot data using plotError_T.m.
- To recreate Fig.1 c)&d) run main.py inside AnalysisBounds directory with different system dimensions and plot data using plotError_nx.m.
- Name strings in plotError_nx.m need to be adjusted based on the choices in main.py, i.e., to resemble the ones in the data directory
The controller design is carried out in matlab. Each of the exmaples has its own main.m, indicated by the suffix.
The code uses the YALMIB toolbox with the solver MOSEK, and the Statistics and Machine Learning Toolbox.
🧑💻 Nicolas Chatzikiriakos - nicolas.chatzikiriakos@ist.uni-stuttgart.de
🧑💻 Robin Strässer - robin.straesser@ist.uni-stuttgart.de