Skip to content

DecodEPFL/performance-boosting_controllers

Repository files navigation

Performance-boosting Controllers

PyTorch implementation of control policies as described in "Learning to boost the performance of stable nonlinear closed-loop systems."

Installation

git clone https://github.com/DecodEPFL/performance-boosting_controllers.git

cd performance-boosting_controllers

python setup.py install

Examples:

The environment consists of two robots that need to achieve some predefined task while avoiding collisions between them and the obstacles. In the first case, the robots need to pass through a narrow corridor, while in the second case they have to visit different goals in a predefined order.

Corridor

The following gifs show the trajectories of the 2 robots before training (left), and after the training of the performance-boosting controller (right). The agents need to coordinate in order to pass through a narrow passage while avoiding collisions between them and the obstacles. The initial conditions used as training data are marked with ○, consisting of s = 100 samples. The shown trajectories start from a random initial position sampled from the test data and marked with ○.

robot_trajectories_before_training robot_trajectories_after_training

Robustness verification

We verify our robustness results regarding model uncertainty. We test the above trained controller on systems with ±10% variance on the mass robots. Each of the following gifs shows three closed-loop trajectories when considering lighter (left) and heavier (right) robots.

robot_trajectories_with_lighter_mass robot_trajectories_with_heavier_mass

Safety and invariance

Using soft safety specifications in the form of control-barrier like losses, we perform a new training of the controller in order to promote robots not visiting the subspace above the target. We refer to our paper

robot_trajectories_barrier

Waypoint-tracking

The following gifs show the trajectories of the two robots before training (left), and after the training of the performance-boosting controller (right). The agents need to visit different waypoints in a specific order while avoiding collisions between them and the obstacles.

  • Robot Blue: gbgagc
  • Robot Orange: gcgbga

robot_trajectories_before_training robot_trajectories_after_training

License

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

CC BY 4.0

References

[1] Luca Furieri, Clara Galimberti, Giancarlo Ferrari Trecate. "Learning to boost the performance of stable nonlinear closed-loop systems," 2024.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages