A minimal example package (with pybind11)
Project description
TrajGenPy
TrajGenPy is a Python library that provides functionality for trajectory task generation using the Boustrophedon Cell Decomposition algorithm for coverage generation. It is an extension of the C++ implementation found in the ethz-asl/polygon_coverage_planning repository, with additional features and Python bindings.
Features
- Boustrophedon Cell Decomposition
- Task generation for coverage planning
- Python bindings for easy integration into your Python projects
Installation
Before using TrajGenPy, ensure you have the following requirements installed:
- libcgal-dev - The Computational Geometry Algorithms Library
- pybind11-dev - A lightweight header-only library for creating Python bindings
You can install these dependencies on Ubuntu using the following commands:
sudo apt-get update && apt-get -y install libcgal-dev pybind11-dev
Once you have the dependencies installed, you can install TrajGenPy using pip
. Simply navigate to your project directory and run:
pip install -r requirements.txt
pip install .
Alternatively, if you want to build a pip wheel, you can do the following:
pip wheel . -v
pip install something.whl -v
Usage
To use TrajGenPy in your Python project, you can import it as follows:
import trajgenpy
You can then use the provided functions and classes to perform trajectory generation and task planning based on the Boustrophedon Cell Decomposition algorithm.
Contributing & Development
Install the bindings in dev mode. The bindings have to be reinstalled if any of the trajgenpy_bindings package is changed.
pip install -e .
To contribute to trajgenpy, start by forking the repository on GitHub. Create a new branch for your changes, make the necessary code edits, commit your changes with clear messages, and push them to your fork. Create a pull request from your branch to the original repository, describing your changes and addressing any related issues. Once your pull request is approved, a project maintainer will merge it into the main branch.
Citation
If you use TrajGenPy in your work, please cite the following paper:
@inproceedings{grontved2022icar,
title={Decentralized Multi-UAV Trajectory Task Allocation in Search and Rescue Applications},
author={Gr{\o}ntved, Kasper Andreas R{\o}mer and Schultz, Ulrik Pagh and Christensen, Anders Lyhne},
booktitle={21st International Conference on Advanced Robotics},
year={2023},
organization={IEEE}
}
License
This library is released under the MIT License. Feel free to use, modify, and distribute it in your projects.
Issues and Contributions
If you encounter any issues or have ideas for improvements, please open an issue on the GitHub repository. Contributions in the form of pull requests are also welcome.
Support
For support and inquiries, you can contact the maintainers of this library at kaspergrontved@gmail.com.
Thank you for using TrajGenPy! We hope it proves to be a valuable tool for your trajectory generation and task planning needs.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file trajgenpy-0.1.1.tar.gz
.
File metadata
- Download URL: trajgenpy-0.1.1.tar.gz
- Upload date:
- Size: 56.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd851f6d8093d425fce20f6d939a11d2a43cfb37a441ae34a5523d94fbcfa5e7 |
|
MD5 | bb8b3c8eda8e2d555fe58afa230f1dc6 |
|
BLAKE2b-256 | 3ac8a178d2fa491dfba3e094af69f7a0314e688a30ee84a026e56f698cb0f677 |
File details
Details for the file trajgenpy-0.1.1-cp310-cp310-manylinux_2_35_x86_64.whl
.
File metadata
- Download URL: trajgenpy-0.1.1-cp310-cp310-manylinux_2_35_x86_64.whl
- Upload date:
- Size: 465.1 kB
- Tags: CPython 3.10, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b6878bdd1a2223756b89c4a81dd0e7d5a4bbc7c3df1ecbc46c8e110e6fcb4a42 |
|
MD5 | 74fc61dd6f3e6dd99af8e61263c6cdcc |
|
BLAKE2b-256 | 70add30df55cb1eb823cb9a6a695c75f671739593c6f0158f44dc2bb520c2098 |