Library for large-scale coverage control using robot swarms
Project description
See full documentation at 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++
andCUDA
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
andPyTorch Geometric
Getting Started
The library is available as a pip
package. To install the package, run the following command:
pip install coverage_control
See Installation for more details on installation.
See Quick Start 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.
Saurav Agarwal, Ramya Muthukrishnan, Walker Gosrich, Vijay Kumar, and Alejandro Ribeiro.
arXiv preprint arXiv:2401.04855 (2024).
Acknowledgements
- PyTorch
- PyTorch Geometric
- Eigen
- pybind11
- CGAL
- JSON for Modern C++
- CUDA Samples
- gnuplot-iostream
- hungarian-algorithm-cpp
- toml++
Support and Funding
The work was performed at the GRASP Laboratory and the Alelab, 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
- Ramya Muthukrishnan
License
The library is licensed under the GPL-3.0 License. The documentation is not under the GPL-3.0 License and is licensed under the CC BY-NC-SA 4.0 License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for coverage_control-1.2.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0349449448ca4aeaac16bc387db4df5b0bd5fac01cda302e75743b6d02869be |
|
MD5 | 659e32d358ae57c8591355dbeeafd99c |
|
BLAKE2b-256 | a4a4fb0462ebe0a76fe0282edc37c582c65e261e0d8b2d3f12f58c5ab9e5511e |
Hashes for coverage_control-1.2.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | afa238e8e88b51d404d5db96045f408daee96cf72e95cc37cbf8e7fd299d31e7 |
|
MD5 | 2d97d18405c809e67737cebb3c8f7210 |
|
BLAKE2b-256 | ab92c85d98d3b2403e1e12823a5a77cf26f7ec4c8853f76b01472d33203bf070 |
Hashes for coverage_control-1.2.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea9685d0a568d9aa176a02e64c5d39ae563e0aa78940ce871f484afca37a4301 |
|
MD5 | 0a312e2a5fb54c8e1d7f798f91b6db09 |
|
BLAKE2b-256 | 1d266d32f3f1cac1da2923a8a8e0e0d03796f82d5412939662cc2731684d8157 |