{"id":19759593,"url":"https://github.com/trajectory-invariants/invariants_py","last_synced_at":"2025-04-30T12:33:04.293Z","repository":{"id":196479264,"uuid":"694200068","full_name":"trajectory-invariants/invariants_py","owner":"trajectory-invariants","description":"Calculate invariant trajectory representations from trajectory data and generate new trajectories from the invariants.","archived":false,"fork":false,"pushed_at":"2024-10-29T14:42:24.000Z","size":2353,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-29T15:00:27.802Z","etag":null,"topics":["casadi","coordinate-invariant","differential-geometry","frenet-serret","geometric-optimal-control","invariance","invariant","invariants","kinematics","optimal-control","optimization","python","robotics","screw-theory","trajectory-analysis","trajectory-generation","trajectory-optimization","trajectory-planning","trajectory-representation"],"latest_commit_sha":null,"homepage":"https://trajectory-invariants.github.io/","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trajectory-invariants.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.bib","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-20T14:20:01.000Z","updated_at":"2024-10-29T13:24:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"5cf5c568-23a5-4981-9be4-36f1c4ff4d29","html_url":"https://github.com/trajectory-invariants/invariants_py","commit_stats":null,"previous_names":["maximvochten/invariants_py","trajectory-invariants/invariants_py"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trajectory-invariants%2Finvariants_py","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trajectory-invariants%2Finvariants_py/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trajectory-invariants%2Finvariants_py/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trajectory-invariants%2Finvariants_py/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trajectory-invariants","download_url":"https://codeload.github.com/trajectory-invariants/invariants_py/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251701824,"owners_count":21629900,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["casadi","coordinate-invariant","differential-geometry","frenet-serret","geometric-optimal-control","invariance","invariant","invariants","kinematics","optimal-control","optimization","python","robotics","screw-theory","trajectory-analysis","trajectory-generation","trajectory-optimization","trajectory-planning","trajectory-representation"],"created_at":"2024-11-12T03:30:02.141Z","updated_at":"2025-04-30T12:33:03.619Z","avatar_url":"https://github.com/trajectory-invariants.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"![install_and_test](https://github.com/trajectory-invariants/invariants_py/actions/workflows/install_and_test.yml/badge.svg)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/trajectory-invariants/invariants_py)\n![GitHub issues](https://img.shields.io/github/issues/trajectory-invariants/invariants_py)\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://trajectory-invariants.github.io/images/logo-trajectory-invariants.png\" alt=\"Logo Trajectory Invariants\" title=\"Trajectory Invariants\" width=\"750\"\u003e\n\u003c/p\u003e\n\n`invariants-py` is a Python library to robustly calculate coordinate-invariant trajectory representations using geometric optimal control. \nIt also supports trajectory generation under user-specified trajectory constraints starting from invariant representations.\n\nMore information can be found on the documentation website: https://trajectory-invariants.github.io\n\n## Features\n\n\u003c!-- TODO: Screenshots or gifs to show results. --\u003e\n\nThe main features are:\n- Calculation of invariant descriptors for trajectories.\n- Fast trajectory adaptation starting from the invariant descriptors.\n\nInvariant trajectory representations find their application in trajectory analysis, trajectory segmentation, recognition and generalization. \n\n## Installation\n\nThe package can be installed from PyPI or from source.\n\n### Prerequisites\n\nThe package requires Python 3.8 or higher.\n\n### 1. Installation from PyPI\n\nThis installation option is recommended if you only want to use the package and do not plan to modify the source code.\n\nUpgrade your version of `pip`:\n```shell\npip install --upgrade pip    \n```\n\nInstall the package:\n```shell\npip install invariants-py\n```\n\n### 2. Installation from source\n\nThis installation option is recommended if you plan to modify or experiment with the source code.\n\nClone (or download) the `invariants-py` repository:\n```shell\ngit clone https://github.com/trajectory-invariants/invariants_py.git\n```\n\nNavigate to the cloned repository:\n```shell\ncd invariants_py\n```\n\nUpgrade your version of `pip`:\n```shell\npip install --upgrade pip    \n```\n\nInstall the package:\n```shell\npip install -e .\n```\n\n## Getting started\n\n\u003c!-- Add a code snippet here with basic example in a few lines --\u003e\n\nBasic examples are provided to get you started in the [examples folder](./examples/).\n\nMore detailed examples and tutorials can be found on the [documentation website](https://trajectory-invariants.github.io/docs/python/).\n\n## Speed up using Fatrop\n\nTo speed up the solution of the optimal control problems, you can optionally install the [fatrop solver](https://gitlab.kuleuven.be/robotgenskill/fatrop/fatrop). The instructions are available on [this page](https://trajectory-invariants.github.io/docs/python/installation/installation-fatrop/) of the documentation website.\n\n## Roadmap\n\nThe following features are planned for future releases:\n- Support for more types of invariant representations (e.g. screw invariants, global invariants, ...).\n- Support for more types of constraints in the trajectory generation.\n- Benchmarking between different invariant representations in terms of robustness, computational efficiency, and generalizability.\n\n## Contributing\n\nWe welcome contributions to this repository, for example in the form of pull requests.\n\n## Contributors\n\nWe 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\n\n## Support\n\nFor questions, bugs, feature requests, etc., please open [an issue on this repository](https://github.com/trajectory-invariants/invariants_py/issues).\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Citing\n\nIf you use this package in your research, please cite the following paper:\n\n```\n@article{vochten2023invariant,\n  title={Invariant Descriptors of Motion and Force Trajectories for Interpreting Object Manipulation Tasks in Contact},\n  author={Vochten, Maxim and Mohammadi, Ali Mousavi and Verduyn, Arno and De Laet, Tinne and Aertbeli{\\\"e}n, Erwin and De Schutter, Joris},\n  journal={IEEE Transactions on Robotics},\n  year={2023},\n  volume={39},\n  number={6},\n  pages={4892-4912},\n  doi={10.1109/TRO.2023.3309230}}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrajectory-invariants%2Finvariants_py","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrajectory-invariants%2Finvariants_py","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrajectory-invariants%2Finvariants_py/lists"}