Skip to main content

install_and_test License: MIT GitHub code size in bytes GitHub issues

Logo Trajectory Invariants

invariants-py is a Python library to robustly calculate coordinate-invariant trajectory representations using geometric optimal control. It also supports trajectory generation under user-specified trajectory constraints starting from invariant representations.

More information can be found on the documentation website: https://trajectory-invariants.github.io

Features

The main features are:

  • Calculation of invariant descriptors for trajectories.
  • Fast trajectory adaptation starting from the invariant descriptors.

Invariant trajectory representations find their application in trajectory analysis, trajectory segmentation, recognition and generalization.

Installation

The package can be installed from PyPI or from source.

Prerequisites

The package requires Python 3.8 or higher.

1. Installation from PyPI

This installation option is recommended if you only want to use the package and do not plan to modify the source code.

Upgrade your version of pip:

pip install --upgrade pip    

Install the package:

pip install invariants-py

2. Installation from source

This installation option is recommended if you plan to modify or experiment with the source code.

Clone (or download) the invariants-py repository:

git clone https://github.com/trajectory-invariants/invariants_py.git

Navigate to the cloned repository:

cd invariants_py

Upgrade your version of pip:

pip install --upgrade pip    

Install the package:

pip install -e .

Getting started

Basic examples are provided to get you started in the examples folder.

More detailed examples and tutorials can be found on the documentation website.

Speed up using Fatrop

To speed up the solution of the optimal control problems, you can optionally install the fatrop solver. The instructions are available on this page of the documentation website.

Roadmap

The following features are planned for future releases:

  • Support for more types of invariant representations (e.g. screw invariants, global invariants, ...).
  • Support for more types of constraints in the trajectory generation.
  • Benchmarking between different invariant representations in terms of robustness, computational efficiency, and generalizability.

Contributing

We welcome contributions to this repository, for example in the form of pull requests.

Contributors

We wish to thank the following people for their contributions to an early version of the software: Victor van Wymeersch, Zeno Gillis, Toon Daemen, Glenn Maes, Ali Mousavi, Lander Vanroye

Support

For questions, bugs, feature requests, etc., please open an issue on this repository.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Citing

If you use this package in your research, please cite the following paper:

@article{vochten2023invariant,
  title={Invariant Descriptors of Motion and Force Trajectories for Interpreting Object Manipulation Tasks in Contact},
  author={Vochten, Maxim and Mohammadi, Ali Mousavi and Verduyn, Arno and De Laet, Tinne and Aertbeli{\"e}n, Erwin and De Schutter, Joris},
  journal={IEEE Transactions on Robotics},
  year={2023},
  volume={39},
  number={6},
  pages={4892-4912},
  doi={10.1109/TRO.2023.3309230}}

Metadata

Release files for invariants-py 0.3.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for invariants-py 0.3.9
File Size Uploaded
invariants_py-0.3.9.tar.gz 901.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for invariants-py 0.3.9
File Interpreter ABI Platform
invariants_py-0.3.9-py3-none-any.whl Python 3 none any Details

Total release size: 1.4 MB

Release files / invariants_py-0.3.9.tar.gz

Download URL invariants_py-0.3.9.tar.gz
Size 901.3 kB
Tags Source
SHA-256 checksum
How to use checksums
657638f000a25fd498c0e9fcca33c786435abb4fb8a538d4eed777786c2d0a6f
BLAKE2b-256 checksum
How to use checksums
c87be6c1f4344d3c8ca89933b91b344e6a9a3c35647f8722ab8b2d8fb2a95acd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / invariants_py-0.3.9-py3-none-any.whl

Download URL invariants_py-0.3.9-py3-none-any.whl
Size 460.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2554996c87c520a255ae133ba76d64e85eb8217aceccebac8cc19c1be9e2dd9f
BLAKE2b-256 checksum
How to use checksums
8bc8f22f3488c767a0980cd38334cdab7ff84580f416c260418950255f35b157
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.1.1 CPython/3.12.7

Release history Release notifications | RSS feed

This release

0.3.9 This release

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page