Skip to main content

A Python package for decomposing obstacle free spaces into convex polygons

Project description

Logo pydecomp — A Python implementation of DecompUtil for fast convex decomposition of obstacle-free spaces.

PyPI version PyPI - Python Version PyPI - License PyPI - Downloads

Quickstart

Install dependencies the following:

  • Linux:

        sudo apt-get install libcdd-dev libblas3 libblas-dev liblapack3 liblapack-dev gfortran
    
  • Mac:

        brew install cddlib gmp eigen openblas cython boost
    

    Note: Remember to set LDFLAGS and CPPFLAGS to the correct paths for the libraries.

In a virtual environment, install from PyPI with

    pip install pydecomp

Examples

Forest - 2D Office - 2D Office - 3D

Given an occupancy grid map and a pieciwise linear path, the package returns a convex decomposition of the free space. The free space is represented by a collection of convex sets, whose halspace representation fulfills Ax-b<0. The package returns the matrixes A and b for each convex set. The matrix A is a n x 3 matrix and b is a n x 1 vector, where n is the number of planes in the halfspace.

To check a script to perform a convex decomposition out of a given occupancy grid map, see this file for a planar (2D) case or this file for a spatial (3D) case. We provide two exemplary maps (forest and office), which you can select by modifying this line.

For the most minimal example see this file, which replicates a test case in the original DecompUtil repository.

https://github.com/jonarriza96/pydecomp/blob/1d1c6f97d6eff1f2b3b90bdb2f038eed0caa8578/examples/ellipsoid_decomp_2D.py#L5-L19

Installing from source

After installing the dependencies given above, initialize git submodules with

    git submodule init
    git submodule update

Install the package with

    pip install .

Citing

If you use this framework please cite our papers:

@misc{arrizabalaga2024differentiablecollisionfreeparametriccorridors,
      title={Differentiable Collision-Free Parametric Corridors}, 
      author={Jon Arrizabalaga and Zachary Manchester and Markus Ryll},
      year={2024},
      eprint={2407.12283},
      archivePrefix={arXiv},
      primaryClass={cs.RO},
      url={https://arxiv.org/abs/2407.12283}, 
}
@inproceedings{arrizabalaga2023sctomp,
  title={SCTOMP: Spatially Constrained Time-Optimal Motion Planning},
  author={Arrizabalaga, Jon and Ryll, Markus},
  booktitle={2023 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
  pages={4827--4834},
  year={2023},
  organization={IEEE}
}

Related repositories

For computing continuous and differentiable collision-free corridors, check out CorrGen!

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

pydecomp-1.1.8.tar.gz (844.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pydecomp-1.1.8-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pydecomp-1.1.8-cp313-cp313-macosx_11_0_arm64.whl (450.1 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pydecomp-1.1.8-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pydecomp-1.1.8-cp312-cp312-macosx_11_0_arm64.whl (450.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pydecomp-1.1.8-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pydecomp-1.1.8-cp311-cp311-macosx_11_0_arm64.whl (447.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pydecomp-1.1.8-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pydecomp-1.1.8-cp310-cp310-macosx_11_0_arm64.whl (446.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

pydecomp-1.1.8-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

pydecomp-1.1.8-cp39-cp39-macosx_11_0_arm64.whl (446.7 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

File details

Details for the file pydecomp-1.1.8.tar.gz.

File metadata

  • Download URL: pydecomp-1.1.8.tar.gz
  • Upload date:
  • Size: 844.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pydecomp-1.1.8.tar.gz
Algorithm Hash digest
SHA256 221d41d2246ec3d48d9dfcdf777e4352edb2e51d5de1a4140e3a6ebc5a4160e9
MD5 ebf9e9094d3e2000fcd9f06884b3dbf4
BLAKE2b-256 513c57380b1845a214eaaf6736d995797bea334f9e8dadfc684d61c1d77b2931

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydecomp-1.1.8.tar.gz:

Publisher: release.yml on jonarriza96/pydecomp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pydecomp-1.1.8-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pydecomp-1.1.8-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6b63c1358284853289a9e9458dcddf522a50ddcf55e04ac19c8e6bcae13ad9d3
MD5 cc6c8799ba4aa6dc4a44511ca48ae394
BLAKE2b-256 18adf910595c8a159a236a9855668a9eb8e75017e2ce637a89c969d9a3311ece

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydecomp-1.1.8-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on jonarriza96/pydecomp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pydecomp-1.1.8-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pydecomp-1.1.8-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f433a489bf1e62397c5e94f1a7f89db31964469327519f0e2114d01bdac74aef
MD5 b009d555c4818634abea9dd1129f47d2
BLAKE2b-256 a3ded068a169896ffc0ff7ca16ac1999258253eeb769b1cd4d0d969fa45b39c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydecomp-1.1.8-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on jonarriza96/pydecomp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pydecomp-1.1.8-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pydecomp-1.1.8-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cfdffc4cdf4d47643f57495dc50810e7827319e38867b6c09065a09b17c14d36
MD5 592f0179f6c4734d1ce79899b45fe859
BLAKE2b-256 11eb142acd39ad3fb963deb2b698428503b1a83345f12c5e8a08bf2ea6d5a785

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydecomp-1.1.8-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on jonarriza96/pydecomp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pydecomp-1.1.8-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pydecomp-1.1.8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a94ed462dfee628d22720e47d565d4e6a681878f397bd1e50796d474d8d64a4d
MD5 0e5973516f9270ee1ec013e81d56d599
BLAKE2b-256 fa1ad5e4ebb9f77575388db092cd9c621c9052c7e92a9f0e2929787bd352ff85

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydecomp-1.1.8-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on jonarriza96/pydecomp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pydecomp-1.1.8-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pydecomp-1.1.8-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c48d9e5ddb13da043973ecbb203a896d7caf6db1a2302184b15944d904379fed
MD5 cd965ecc4ab3c7cbd6c697d3762af22b
BLAKE2b-256 4fab946421deddcd92deaa30f1ff2758fb7860af1d6855aa7acfc7c4345c5e89

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydecomp-1.1.8-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on jonarriza96/pydecomp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pydecomp-1.1.8-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pydecomp-1.1.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8c2f11671ff8519121daf4c2f2eb9f5736b4f5251866682e3bfe562c1cc29f99
MD5 a91fa5dd97eabc801107debf22bf6779
BLAKE2b-256 c3d53e0ed46a25a58d7f34de9a43cd4ee0840dc9eac089af775f31cbd982256f

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydecomp-1.1.8-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on jonarriza96/pydecomp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pydecomp-1.1.8-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pydecomp-1.1.8-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ef996597412962b5674fbfd702a1599591cab4cb5f2c791dd17b4e85e19cede5
MD5 f6b202b2002271485bed17eb2bfac824
BLAKE2b-256 6d3ee3a16b3bfc229579cc99690caf55ffbcea8b04a40082ad263b6351890fbc

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydecomp-1.1.8-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on jonarriza96/pydecomp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pydecomp-1.1.8-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pydecomp-1.1.8-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e2691f0cf91081bed266933731e7c2c3b29433ff642b293bb9f46f78690a0e74
MD5 9d39ebea3fd7766e7937c8ad44d63408
BLAKE2b-256 317e7fefa79a59686e404240bf067e8767a62328de283a7380f6acf95eee9aea

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydecomp-1.1.8-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on jonarriza96/pydecomp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pydecomp-1.1.8-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pydecomp-1.1.8-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c6959d58632aa5b241c2e1237bce2908045127e5eee98432bb372e6f5708d51b
MD5 4fdc7fbf100f86c804e381396a5c6fcd
BLAKE2b-256 6df883f630679b1deb042c2ad916b216f9c5ff95bc852dedd05d4bcce7dfba9e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydecomp-1.1.8-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on jonarriza96/pydecomp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pydecomp-1.1.8-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pydecomp-1.1.8-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7f89ca5a73354f4c2affe774889ab93fcf898c9f95cdd912ba4259fc527fb6aa
MD5 56331aa2e8b179fd7461c5e25aaafbab
BLAKE2b-256 b491dfa297428cf7d8971278ef719584fca47c398bcb3a2fa9258f53a845e6c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for pydecomp-1.1.8-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: release.yml on jonarriza96/pydecomp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page