# (Geometric) Fabrics
[![Build and Agents](https://github.com/maxspahn/fabrics/actions/workflows/diffGeo_agents.yml/badge.svg)](https://github.com/maxspahn/fabrics/actions/workflows/diffGeo_agents.yml)
[![Build and Unittest](https://github.com/maxspahn/fabrics/actions/workflows/unitTest.yml/badge.svg)](https://github.com/maxspahn/fabrics/actions/workflows/unitTest.yml)
**Note on development**
> This project is still under heavy development and there is a lack of
> documentation. I, @maxspahn, am committed to improve and maintain that package.
> However, I rely on people like you to point me to issues and unclear sections of
> the code. So feel free to leave issues whenever something bugs you.
**Fabrics ros-wrapper**
> The fabrics-ros wrapper will be released very shortly when compatibility is
> verified.
Geometric Fabrics represent a geometric approach to motion generation for
various robot structures. The idea is a next development step after Riemannian
Motion Policies and offers increased stability and accessibility.
<table>
<tr>
<td><b>Holonomic robots</b></th>
<td><b>Non-Holonomic robots</b></th>
</tr>
<tr>
<td> <img src="./assets/panda_ring.gif" alt="1" width = 360px ></td>
<td> <img src="./assets/boxer.gif" alt="1" width = 360px ></td>
</tr>
<tr>
<td> <img src="./assets/panda_dynamic_avoidance.gif" alt="1" width = 360px ></td>
<td> <img src="./assets/albert.gif" alt="1" width = 360px ></td>
</tr>
<tr>
<td> <img src="./assets/panda_picking.gif" alt="1" width = 360px ></td>
</tr>
</table>
## Installation
Install the package through pip, using
```bash
pip3 install ".<options>"
```
or from PyPI using
```bash
pip3 install fabrics
```
Options are [agents] and [tutorials]. Those can be installed using
```
pip3 install ".[agents]"
pip3 install ".[tutorials]"
```
Install the package through poetry, using
```bash
poetry install --with <option>
```
## Publications
This repository was used in several publications. The major one being
[Dynamic Optimization Fabrics for Motion Generation](https://arxiv.org/abs/2205.08454)
If you are using this software, please cite:
```bash
@misc{https://doi.org/10.48550/arxiv.2205.08454,
doi = {10.48550/ARXIV.2205.08454},
url = {https://arxiv.org/abs/2205.08454},
author = {Spahn, Max and Wisse, Martijn and Alonso-Mora, Javier},
keywords = {Robotics (cs.RO), FOS: Computer and information sciences, FOS: Computer and information sciences},
title = {Dynamic Optimization Fabrics for Motion Generation},
publisher = {arXiv},
year = {2022},
copyright = {Creative Commons Attribution Share Alike 4.0 International}
}
```
Other publications where this repository was used:
https://github.com/maxspahn/optuna_fabrics
```bash
@article{https://doi.org/10.48550/arxiv.2302.06922,
doi = {10.48550/ARXIV.2302.06922},
url = {https://arxiv.org/abs/2302.06922},
author = {Spahn, Max and Alonso-Mora, Javier},
keywords = {Robotics (cs.RO), FOS: Computer and information sciences, FOS: Computer and information sciences},
title = {Autotuning Symbolic Optimization Fabrics for Trajectory Generation},
publisher = {arXiv},
year = {2023},
copyright = {Creative Commons Attribution Share Alike 4.0 International}
}
```
https://github.com/tud-amr/localPlannerBench
```bash
@misc{https://doi.org/10.48550/arxiv.2210.06033,
doi = {10.48550/ARXIV.2210.06033},
url = {https://arxiv.org/abs/2210.06033},
author = {Spahn, Max and Salmi, Chadi and Alonso-Mora, Javier},
keywords = {Robotics (cs.RO), FOS: Computer and information sciences, FOS: Computer and information sciences},
title = {Local Planner Bench: Benchmarking for Local Motion Planning},
publisher = {arXiv},
year = {2022},
copyright = {Creative Commons Attribution Share Alike 4.0 International}
}
```
## Tutorials
This repository contains brief examples corresponding to the theory presented
in "Optimization Fabrics" by Ratliff et al. https://arxiv.org/abs/2008.02399.
These examples are named according to the naming in that publication. Each
script is self-contained and required software is installed using
```bash
pip install ".[tutorials]"
```
## Related works and websites
The work is based on some works by the NVIDIA Research Labs. Below you find a
list of all relevant links:
### lecture notes
- https://www.nathanratliff.com/pedagogy/mathematics-for-intelligent-systems#lecture6
### websites
- https://sites.google.com/nvidia.com/geometric-fabrics
### paper
- https://arxiv.org/abs/2010.14750
- https://arxiv.org/abs/2008.02399
- https://arxiv.org/abs/2010.14745
- https://arxiv.org/abs/2010.15676
- https://arxiv.org/abs/1801.02854
### videos and talks
- https://www.youtube.com/watch?v=aM9Ha2IawEo
- https://www.youtube.com/watch?v=awiF6JjDEbo
- https://www.youtube.com/watch?v=VsM-kdk74d8
Raw data
{
"_id": null,
"home_page": "https://tud-amr/fabrics",
"name": "fabrics",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.10,>=3.8",
"maintainer_email": null,
"keywords": "robotics, motion-planning, geometry",
"author": "Max Spahn",
"author_email": "m.spahn@tudelft.nl",
"download_url": "https://files.pythonhosted.org/packages/67/24/a9fff5aaffac3406bca4df8c347d318205577f6371aaade4effb36283dab/fabrics-0.9.6.tar.gz",
"platform": null,
"description": "# (Geometric) Fabrics\n\n[![Build and Agents](https://github.com/maxspahn/fabrics/actions/workflows/diffGeo_agents.yml/badge.svg)](https://github.com/maxspahn/fabrics/actions/workflows/diffGeo_agents.yml)\n[![Build and Unittest](https://github.com/maxspahn/fabrics/actions/workflows/unitTest.yml/badge.svg)](https://github.com/maxspahn/fabrics/actions/workflows/unitTest.yml)\n\n**Note on development**\n> This project is still under heavy development and there is a lack of\n> documentation. I, @maxspahn, am committed to improve and maintain that package.\n> However, I rely on people like you to point me to issues and unclear sections of\n> the code. So feel free to leave issues whenever something bugs you.\n\n**Fabrics ros-wrapper**\n> The fabrics-ros wrapper will be released very shortly when compatibility is\n> verified.\n\n\nGeometric Fabrics represent a geometric approach to motion generation for\nvarious robot structures. The idea is a next development step after Riemannian\nMotion Policies and offers increased stability and accessibility.\n\n<table>\n <tr>\n <td><b>Holonomic robots</b></th>\n <td><b>Non-Holonomic robots</b></th>\n </tr> \n <tr>\n <td> <img src=\"./assets/panda_ring.gif\" alt=\"1\" width = 360px ></td>\n <td> <img src=\"./assets/boxer.gif\" alt=\"1\" width = 360px ></td>\n </tr> \n <tr>\n <td> <img src=\"./assets/panda_dynamic_avoidance.gif\" alt=\"1\" width = 360px ></td>\n <td> <img src=\"./assets/albert.gif\" alt=\"1\" width = 360px ></td>\n </tr>\n <tr>\n <td> <img src=\"./assets/panda_picking.gif\" alt=\"1\" width = 360px ></td>\n </tr>\n</table>\n\n\n## Installation\n\nInstall the package through pip, using \n```bash\npip3 install \".<options>\"\n```\nor from PyPI using\n```bash\npip3 install fabrics\n```\nOptions are [agents] and [tutorials]. Those can be installed using\n```\npip3 install \".[agents]\"\npip3 install \".[tutorials]\"\n```\n\nInstall the package through poetry, using\n```bash\npoetry install --with <option>\n```\n\n## Publications\n\nThis repository was used in several publications. The major one being\n[Dynamic Optimization Fabrics for Motion Generation](https://arxiv.org/abs/2205.08454) \nIf you are using this software, please cite:\n```bash\n@misc{https://doi.org/10.48550/arxiv.2205.08454,\n doi = {10.48550/ARXIV.2205.08454},\n url = {https://arxiv.org/abs/2205.08454},\n author = {Spahn, Max and Wisse, Martijn and Alonso-Mora, Javier},\n keywords = {Robotics (cs.RO), FOS: Computer and information sciences, FOS: Computer and information sciences},\n title = {Dynamic Optimization Fabrics for Motion Generation},\n publisher = {arXiv},\n year = {2022},\n copyright = {Creative Commons Attribution Share Alike 4.0 International}\n}\n```\nOther publications where this repository was used:\n\nhttps://github.com/maxspahn/optuna_fabrics\n```bash\n@article{https://doi.org/10.48550/arxiv.2302.06922,\n doi = {10.48550/ARXIV.2302.06922},\n url = {https://arxiv.org/abs/2302.06922},\n author = {Spahn, Max and Alonso-Mora, Javier},\n keywords = {Robotics (cs.RO), FOS: Computer and information sciences, FOS: Computer and information sciences},\n title = {Autotuning Symbolic Optimization Fabrics for Trajectory Generation},\n publisher = {arXiv},\n year = {2023},\n copyright = {Creative Commons Attribution Share Alike 4.0 International}\n}\n```\n\nhttps://github.com/tud-amr/localPlannerBench\n```bash\n@misc{https://doi.org/10.48550/arxiv.2210.06033,\n doi = {10.48550/ARXIV.2210.06033},\n url = {https://arxiv.org/abs/2210.06033},\n author = {Spahn, Max and Salmi, Chadi and Alonso-Mora, Javier},\n keywords = {Robotics (cs.RO), FOS: Computer and information sciences, FOS: Computer and information sciences},\n title = {Local Planner Bench: Benchmarking for Local Motion Planning},\n publisher = {arXiv},\n year = {2022},\n copyright = {Creative Commons Attribution Share Alike 4.0 International}\n}\n```\n\n\n## Tutorials\n\nThis repository contains brief examples corresponding to the theory presented\nin \"Optimization Fabrics\" by Ratliff et al. https://arxiv.org/abs/2008.02399.\nThese examples are named according to the naming in that publication. Each\nscript is self-contained and required software is installed using \n```bash\npip install \".[tutorials]\"\n```\n## Related works and websites\n\nThe work is based on some works by the NVIDIA Research Labs. Below you find a\nlist of all relevant links:\n\n### lecture notes\n- https://www.nathanratliff.com/pedagogy/mathematics-for-intelligent-systems#lecture6\n\n### websites\n- https://sites.google.com/nvidia.com/geometric-fabrics\n\n### paper\n- https://arxiv.org/abs/2010.14750\n- https://arxiv.org/abs/2008.02399\n- https://arxiv.org/abs/2010.14745\n- https://arxiv.org/abs/2010.15676\n- https://arxiv.org/abs/1801.02854\n\n### videos and talks\n- https://www.youtube.com/watch?v=aM9Ha2IawEo\n- https://www.youtube.com/watch?v=awiF6JjDEbo\n- https://www.youtube.com/watch?v=VsM-kdk74d8\n\n",
"bugtrack_url": null,
"license": "GPL-3.0-or-later",
"summary": "Optimization fabrics in python.",
"version": "0.9.6",
"project_urls": {
"Homepage": "https://tud-amr/fabrics",
"Repository": "https://tud-amr/fabrics"
},
"split_keywords": [
"robotics",
" motion-planning",
" geometry"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "879b06181206ed6588f3f97112dfa3ff8de327a0d2b9af10227abd2fcf699ced",
"md5": "814310bb91cdf171bd7ab2d40c99770e",
"sha256": "e060dc2998b07feaa29f9b2fe4980b0c37a427bdf421d8300f818a646c8c8be5"
},
"downloads": -1,
"filename": "fabrics-0.9.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "814310bb91cdf171bd7ab2d40c99770e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.10,>=3.8",
"size": 56401,
"upload_time": "2024-08-01T00:52:49",
"upload_time_iso_8601": "2024-08-01T00:52:49.060160Z",
"url": "https://files.pythonhosted.org/packages/87/9b/06181206ed6588f3f97112dfa3ff8de327a0d2b9af10227abd2fcf699ced/fabrics-0.9.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6724a9fff5aaffac3406bca4df8c347d318205577f6371aaade4effb36283dab",
"md5": "e0817f5ce4ba9437d99a0a3caf0143ee",
"sha256": "30323e08f64f92bb03ba1891676eb9755be478731bd65087b2f452fed2e540af"
},
"downloads": -1,
"filename": "fabrics-0.9.6.tar.gz",
"has_sig": false,
"md5_digest": "e0817f5ce4ba9437d99a0a3caf0143ee",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.10,>=3.8",
"size": 43814,
"upload_time": "2024-08-01T00:52:50",
"upload_time_iso_8601": "2024-08-01T00:52:50.491758Z",
"url": "https://files.pythonhosted.org/packages/67/24/a9fff5aaffac3406bca4df8c347d318205577f6371aaade4effb36283dab/fabrics-0.9.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-01 00:52:50",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "fabrics"
}