Skip to content

Accompanying code for the paper "Optimal Distributed Control by Training Stable Neural Closed-Loop Maps".

License

Notifications You must be signed in to change notification settings

DecodEPFL/Distributed_neurSLS

Repository files navigation

Distributed_neurSLS Documentation

Accompanying code for the paper "Optimal distributed control with stability guarantees by training a network of neural closed-loop maps".

DistributedREN Documentation

Overview

This repository contains the code accompanying the paper titled "Optimal distributed control with stability guarantees by training a network of neural closed-loop maps" authored by Danilo Saccani, Leonardo Massai, Luca Furieri, and Giancarlo Ferrari Trecate.

For inquiries about the code, please contact:

Repository Contents

  1. main.py: Entry point for training the distributed operator using neural networks.
  2. utils.py: Contains utility functions and main parameters for the codebase.
  3. models.py: Defines models including the system's dynamical model, Recurrent Equilibrium Network (REN) model, and interconnection model of RENs.
  4. plots.py: Includes functions for plotting and visualizing training and evaluation results.

Getting Started

Prerequisites

  • Dependencies listed in requirements.txt

Installation

  1. Cloning the Repository
git clone https://github.com/DecodEPFL/Distributed_neurSLS.git
  1. Navigate to the cloned directory:
cd Distributed_neurSLS
  1. Install the required dependencies. We recommend using a virtual environment:
python -m venv venv
source venv/bin/activate  # Activate the virtual environment (Linux/macOS)
pip install -r requirements.txt

Usage

  1. Adjust parameters in utils.py as needed.
  2. Run the main script to start training:
python main.py

Example

Coordination in mountains problem

The following gifs show trajectories of the vehicles before and after the training of a distributed neurSLS controller, where the agents that need to coordinate in order to pass through a narrow passage while trying to keep a rectangular shape, starting from a random initial position marked with ○.

robot_trajectories_before_training robot_trajectories_after_training_a_neurSLS_controller

License

This work is licensed under a Creative Commons Attribution 4.0 International License.

CC BY 4.0

About

Accompanying code for the paper "Optimal Distributed Control by Training Stable Neural Closed-Loop Maps".

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages