This package contains common tools that ease the development and quick prototyping of autonomous vehicles with a focus on multi-agent planning and decision-making.
The simulator builds on a clear distinction between the concept of an "agent" and its corresponding physical "model".
An agent receives observations and returns commands to the simulator. A model instead represents the physical instance of the agent in the simulation. The received commands from the agent are used to update its state according to the multi-agent simulation.
Collision detection is performed at each step of the physical simulation, typically higher rate than the agents' updates. The framework provides also a basic collision resolution subroutine for the models. This is based on the impulse response technique among rigid bodies used in game engines. More references are provided in the corresponding location in the docs.
Most of the scenario tools natively integrate with the Commonroad project.
Few scenarios used mainly for testing are available in the scenarios
folder.
For more scenarios consider cloning the Commonroad scenarios repository.
For internal use (private) consider also dg-scenarios.
The package is distributed on PyPI. You can simply install it via
pip install dg-commons
to install also the developer tools use pip install dg-commons["all"]
.
Install pre-commit with
pip install pre-commit
pre-commit install
Run pre-commit with
pre-commit run --all-files
From version 0.30 onwards the package is tested against python 3.9, 3.10, 3.11. It might work also for other versions, but it is not tested.
The tools contained in this package have contributed to the following publications:
- Posetal Games: Efficiency, Existence, and Refinement of Equilibria in Games with Prioritized Metrics - A. Zanardi*, G. Zardini*, S. Srinivasan, S. Bolognani, A. Censi, F. Dörfler, E. Frazzoli - IEEE Robotics and Automation Letters, 2022
- Factorization of Dynamic Games over Spatio-Temporal Resources - A. Zanardi, S. Bolognani, A. Censi, F. Dörfler, E. Frazzoli - Proceedings of the 2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2022
- Task-driven Modular Co-design of Vehicle Control Systems - G. Zardini, Z. Suter, A. Censi, E. Frazzoli - Proceedings of the 61th IEEE Conference on Decision and Control (CDC), 2022
- Factorization of Multi-Agent Sampling-Based Motion Planning - A. Zanardi, P. Zullo, A. Censi, E. Frazzoli - Proceedings of the 62nd IEEE Conference on Decision and Control (CDC), 2023
- A Counterfactual Safety Margin Perspective on the Scoring of Autonomous Vehicles' Riskiness - A. Zanardi, A. Censi, M. Atzei, L. Di Lillo, E. Frazzoli - ArXiv preprint, 2023
If you find some of the tools provided in this repository useful, consider citing it in your research via the provided github citation. If you want to contribute with new functionalities or need help in using the provided tools consider please feel free to open an issue.