Skip to main content

Rigid body geometry and inertial parameters.

Project description

rigeo: rigid body geometry

Rigeo is a prototyping library for rigid body geometry in Python: it combines three-dimensional geometry with the inertial properties of rigid bodies, with applications to robotic manipulation.

Density Realizable Inertial Parameters

The main feature of this library is a set of necessary conditions for density realizability on various primitive shapes (included convex polyhedra, cylinders, and capsules). A set of inertial parameters is called density realizable on a given shape if they can be physically realized by some rigid body contained in that shape. These conditions can be included in constraints as semidefinite programs for inertial parameter identification for motion and force-torque data.

Other Features

  • Build rigid bodies out of flexible shape primitives: convex polyhedra, ellipsoids, and cylinders.
  • Obtain the intersection of two convex polyhedra (via cdd). This is particularly useful for obtaining contact patches between polyhedral objects for manipulation; e.g., when solving the waiter's problem
  • Obtain the distance between primitive shapes using convex programming.
  • Compute maximum-volume inscribed and minimum-volume bounding ellipsoids for sets of points.
  • Compute convex hulls for degenerate sets of points (i.e., points that live in some lower-dimensional subspace than the ambient space).

Installation

The library has been tested on Ubuntu 20.04 using Python 3.8; newer Python versions and OS versions may also work. Optimization problems use cvxpy; MOSEK is installed by default and is used as the solver for the tests.

From pip:

pip install rigeo

From source (using poetry):

git clone https://github.com/utiasDSL/rigeo
cd rigeo
poetry shell
poetry install
# do stuff ...

From source (using pip):

git clone https://github.com/utiasDSL/rigeo
cd rigeo
python -m pip install .

Development

Tests are run using pytest:

cd tests
python -m pytest .

License

MIT - see the LICENSE file.

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

rigeo-0.1.0.tar.gz (31.6 kB view details)

Uploaded Source

Built Distribution

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

rigeo-0.1.0-py3-none-any.whl (36.5 kB view details)

Uploaded Python 3

File details

Details for the file rigeo-0.1.0.tar.gz.

File metadata

  • Download URL: rigeo-0.1.0.tar.gz
  • Upload date:
  • Size: 31.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.0 CPython/3.8.10 Linux/5.15.79-rt54

File hashes

Hashes for rigeo-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5e31617eb77c7d44c7c870dbc47ef8f7286bd5b0132a4c87ca2522df2e68c2bc
MD5 8c7440eb49e7c680ca4386bec850c1a9
BLAKE2b-256 f4ce7aca3bc0b4d14294f5427fe544ff4efadd9c3d5ce4823c12cb2178244cc6

See more details on using hashes here.

File details

Details for the file rigeo-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: rigeo-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 36.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.0 CPython/3.8.10 Linux/5.15.79-rt54

File hashes

Hashes for rigeo-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6e17f4bfff0cdd873714ccbe603b887d26959d6ca2cb9bc0b1c45653f4357ffb
MD5 407110eeefcd414f96baaefaf7205135
BLAKE2b-256 84a88fb22c5a141f7aaf026fae8fd427994fc7bad925d347a3ade87623c00305

See more details on using hashes here.

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