/Who_Plays_First

Repository for "Who Plays First? Optimizing the Order of Play in Stackelberg Games with Many Robots" - RSS 2024

Primary LanguagePythonMIT LicenseMIT

Who Plays First? Optimizing the Order of Play in Stackelberg Games with Many Robots

License Python 3.9 Website Paper

Haimin Hu1, Gabriele Dragotto1, Zixu Zhang, Kaiqu Liang, Bartolomeo Stellato, Jaime F. Fisac

1equal contribution

Published as a conference paper at RSS'2024.


Logo

Table of Contents

  1. About The Project
  2. Example
  3. License
  4. Contact
  5. Citation

About The Project

This repository implements Branch and Play (B&P), an efficient and exact game-theoretic algorithm that provably converges to a socially optimal order of play and its Stackelberg (leader-follower) equilibrium. As a subroutine for B&P, we also implement sequential trajectory planning (STP) as a game solver to scalably compute a valid local Stackelberg equilibrium for any given order of play. The repository is primarily developed and maintained by Haimin Hu and Gabriele Dragotto.

Click to watch our spotlight video: Watch the video

Example

We provide an air traffic control (ATC) example in the Notebook. This Notebook comprises three sections, each dedicated to a closed-loop simulation using a different method: Branch and Play, first-come-first-served baseline, and Nash ILQ Game baseline.

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Citation

If you found this repository helpful, please consider citing our paper.

@inproceedings{hu2024plays,
  title={Who Plays First? Optimizing the Order of Play in Stackelberg Games with Many Robots},
  author={Hu, Haimin and Dragotto, Gabriele and Zhang, Zixu and Liang, Kaiqu and Stellato, Bartolomeo and Fisac, Jaime F},
  booktitle={Proceedings of Robotics: Science and Systems},
  year={2024}
}