https://github.com/kumarrobotics/coveragecontrol
Environment for coverage control and learning using GNN
https://github.com/kumarrobotics/coveragecontrol
coverage-control graph-neural-networks pytorch robotics robotics-control ros ros2
Last synced: about 1 month ago
JSON representation
Environment for coverage control and learning using GNN
- Host: GitHub
- URL: https://github.com/kumarrobotics/coveragecontrol
- Owner: KumarRobotics
- License: gpl-3.0
- Created: 2023-06-15T21:41:16.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-25T10:50:19.000Z (about 1 year ago)
- Last Synced: 2024-04-25T20:57:41.418Z (about 1 year ago)
- Topics: coverage-control, graph-neural-networks, pytorch, robotics, robotics-control, ros, ros2
- Language: C++
- Homepage: https://kumarrobotics.github.io/CoverageControl/
- Size: 17.5 MB
- Stars: 4
- Watchers: 5
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
See full documentation at [https://KumarRobotics.github.io/CoverageControl/](https://KumarRobotics.github.io/CoverageControl/)
## Introduction
Coverage control is the problem of navigating a robot swarm to collaboratively monitor features or a phenomenon of interest not known _a priori_.
The library provides a simulation environment, algorithms, and GNN-based architectures for the coverage control problem.**Key features:**
- The core library is written in `C++` and `CUDA` to handle large-scale simulations
- There are `python` bindings that interface with the core library
- Several Centroidal Voronoi Tessellation (CVT)-based algorithms (aka Lloyd's algorithms)
- Learnable Perception-Action-Communication (LPAC) architecture for the coverage control problem is implemented in `PyTorch` and `PyTorch Geometric`---
## Getting Started
The library is available as a `pip` package. To install the package, run the following command:
```bash
pip install coverage_control
```See [Installation](https://kumarrobotics.github.io/CoverageControl/installation.html) for more details on installation.
See [Quick Start](https://kumarrobotics.github.io/CoverageControl/quick_start.html) guide for a quick introduction to the library.
---
## Citation
```
@article{agarwal2024lpac,
title = {LPAC: Learnable Perception-Action-Communication Loops with
Applications to Coverage Control},
author = {Saurav Agarwal and Ramya Muthukrishnan and
Walker Gosrich and Vijay Kumar and Alejandro Ribeiro},
year = {2024},
eprint = {2401.04855},
archivePrefix = {arXiv},
primaryClass = {cs.RO}
}
```
> [LPAC: Learnable Perception-Action-Communication Loops with Applications to Coverage Control.](https://doi.org/10.48550/arXiv.2401.04855)
> Saurav Agarwal, Ramya Muthukrishnan, Walker Gosrich, Vijay Kumar, and Alejandro Ribeiro.
> arXiv preprint arXiv:2401.04855 (2024).## Acknowledgements
- [PyTorch](https://pytorch.org/)
- [PyTorch Geometric](https://pytorch-geometric.readthedocs.io/en/latest/)
- [Eigen](http://eigen.tuxfamily.org/index.php?title=Main_Page)
- [pybind11](https://pybind11.readthedocs.io/en/stable/)
- [CGAL](https://www.cgal.org/)
- [JSON for Modern C++](https://github.com/nlohmann/json)
- [CUDA Samples](https://github.com/NVIDIA/cuda-samples)
- [gnuplot-iostream](http://stahlke.org/dan/gnuplot-iostream/)
- [hungarian-algorithm-cpp](https://github.com/mcximing/hungarian-algorithm-cpp)
- [toml++](https://marzer.github.io/tomlplusplus/index.html)## Support and Funding
The work was performed at the [GRASP Laboratory](https://www.grasp.upenn.edu/) and the [Alelab](https://alelab.seas.upenn.edu/), University of Pennsylvania, USA.This work was supported in part by grants ARL DCIST CRA W911NF-17-2-0181 and ONR N00014-20-1-2822.
## Contributors
- [Saurav Agarwal](https://www.saurav.fyi/)
- Ramya Muthukrishnan## License
The library is licensed under the [GPL-3.0 License](https://www.gnu.org/licenses/gpl-3.0.html).
The documentation is not under the GPL-3.0 License and is licensed under the [CC BY-NC-SA 4.0 License](https://creativecommons.org/licenses/by-nc-sa/4.0/).