Skip to content

Code for the paper "Distributed H2 Controller Synthesis for Multi-Agent Systems with Stochastic Packet Loss" by C. Hespe, A. Datar, D. Schneider, H. Saadabadi, H. Werner and H. Frey

License

Notifications You must be signed in to change notification settings

TUHH-ICS/2023-code-ACC-H2-Controller-Synthesis-for-Multi-Agent-Systems-with-Stochastic-Packet-Loss

Repository files navigation

Distributed H₂ Controller Synthesis for Multi-Agent Systems with Stochastic Packet Loss

DOI

General

This repository contains an implementation of the algorithms and simulations described in the paper

C. Hespe, A. Datar, D. Schneider, H. Saadabadi, H. Werner, and H. Frey, "Distributed H₂ Controller Synthesis for Multi-Agent Systems with Stochastic Packet Loss," American Control Conference. San Diego, CA, USA, 2023, doi: 10.23919/ACC55779.2023.10156194.

It may be used to recreate and validate the figures from the paper. To do so, run either of the two main entry points in the repository, the scripts validate_bernoulli.m, and evaluate_sinr.m. Be advised that especially the latter has an extensive runtime of about half a day. The raw data used in the figures in the paper is available in the subdirectory figures.

Simulation of Multi-Agent Systems

Both of the main entry points will run simulations of multi-agent systems with packet loss. For that purpose, an open source library which can be found on Github is utilized. The repository is included as a git submodule and needs to be initialized using git submodule update --init. The simulation run by evaluate_sinr.m require the compiled components of the SINR part of that library, so be sure to set up a C++ compiler for you system for use in Matlab first. Steps to do so are described here.

Prerequisites

To run the scripts in this repository, you will need a working copy of Yalmip together with a suitable SDP solver in your Matlab path.

The code in this repository was tested in the following environment:

  • Windows 10 Version 21H2
  • Matlab 2021a
  • Yalmip 31-March-2021

The Matlab parfor feature from the Parallel Computing Toolbox is used to speed up the calculations. Matlab should automatically detect if that toolbox is not available and run the iterations sequentially in that case. However, this will drastically prolong the runtime of the scripts. You may want to reduce the number of sampling points for the figures or run the calculations for smaller networks.

About

Code for the paper "Distributed H2 Controller Synthesis for Multi-Agent Systems with Stochastic Packet Loss" by C. Hespe, A. Datar, D. Schneider, H. Saadabadi, H. Werner and H. Frey

Topics

Resources

License

Stars

Watchers

Forks

Languages