jsrm


Namejsrm JSON
Version 0.0.7 PyPI version JSON
download
home_pageNone
SummaryKinematic and dynamic models of continuum and articulated soft robots.
upload_time2024-05-03 09:40:07
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseCopyright (c) 2016 The Python Packaging Authority (PyPA) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords jax soft robotics kinematics dynamics
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # JAX Soft Robot Modelling

This repository contains symbolic derivations of the kinematics and dynamics of various soft robots using Sympy.
The symbolic expressions are then implemented in JAX and can be used for fast, parallelizable, and differentiable simulations.
So far, we have focused on planar settings and implemented the following soft robots:

- [N-link pendulum](examples/simulate_pendulum.py)
- [Planar Piecewise Constant Strain (PCS) continuum soft robot](examples/simulate_planar_pcs.py)
- [Planar Handed Shearing Auxetics (HSA) robot](examples/simulate_planar_hsa.py)

We are happy to receive contributions for other soft robots and/or other settings (e.g., 3D).

## Citation

This simulator is part of the publication **An Experimental Study of Model-based Control
for Planar Handed Shearing Auxetics Robots** presented at the _18th International Symposium on Experimental Robotics_. 
You can find the publication ~~online~~ in the Springer Proceedings on Advanced Robotics (SPAR).

Please use the following citation if you use our software in your (scientific) work:

```bibtex
@inproceedings{stolzle2023experimental,
  title={An Experimental Study of Model-based Control for Planar Handed Shearing Auxetics Robots},
  author={St{\"o}lzle, Maximilian and Rus, Daniela and Della Santina, Cosimo},
  booktitle={Experimental Robotics: The 18th International Symposium},
  year={2023},
  organization={Springer}
}
```

## Installation

The plugin can be installed from PyPI:

```bash
pip install jsrm
```

or locally from the source code:

```bash
pip install .
```

If you want to run the examples, you will also need to install the following dependencies:

```bash
pip install ".[examples]"
```

## Usage

Always first source all necessary environment variables when opening a new terminal:

```bash
source 01-configure-env-vars.sh
```

Then, we can symbolically derive the pendulum kinematics and dynamics:

```bash
python examples/derive_pendulum.py
```

Finally, we can simulate the pendulum
```bash
python examples/simulate_pendulum.py
```

## See also

You might also be interested in the following repositories:
 - The [`jax-spcs-kinematics`](https://github.com/tud-phi/jax-spcs-kinematics) repository contains an implementation
 of the Selective Piecewise Constant Strain (SPCS) kinematics in JAX. We have shown in our paper that this kinematic 
model is suitable for representing the shape of HSA rods.
 - The [`HSA-PyElastica`](https://github.com/tud-phi/HSA-PyElastica) repository contains a plugin for PyElastica
for the simulation of HSA robots.
 - The [`hsa-planar-control`](https://github.com/tud-phi/hsa-planar-control) repository contains JAX and ROS2 implementations
 of model-based control algorithms for planar HSA robots.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "jsrm",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": "Maximilian St\u00f6lzle <maximilian@stoelzle.ch>",
    "keywords": "JAX, Soft Robotics, Kinematics, Dynamics",
    "author": null,
    "author_email": "Maximilian St\u00f6lzle <maximilian@stoelzle.ch>",
    "download_url": "https://files.pythonhosted.org/packages/6f/91/bdfe7a93ba5f3274411be6d4c963f643c918b28e0296348c5bb7efd92db4/jsrm-0.0.7.tar.gz",
    "platform": null,
    "description": "# JAX Soft Robot Modelling\n\nThis repository contains symbolic derivations of the kinematics and dynamics of various soft robots using Sympy.\nThe symbolic expressions are then implemented in JAX and can be used for fast, parallelizable, and differentiable simulations.\nSo far, we have focused on planar settings and implemented the following soft robots:\n\n- [N-link pendulum](examples/simulate_pendulum.py)\n- [Planar Piecewise Constant Strain (PCS) continuum soft robot](examples/simulate_planar_pcs.py)\n- [Planar Handed Shearing Auxetics (HSA) robot](examples/simulate_planar_hsa.py)\n\nWe are happy to receive contributions for other soft robots and/or other settings (e.g., 3D).\n\n## Citation\n\nThis simulator is part of the publication **An Experimental Study of Model-based Control\nfor Planar Handed Shearing Auxetics Robots** presented at the _18th International Symposium on Experimental Robotics_. \nYou can find the publication ~~online~~ in the Springer Proceedings on Advanced Robotics (SPAR).\n\nPlease use the following citation if you use our software in your (scientific) work:\n\n```bibtex\n@inproceedings{stolzle2023experimental,\n  title={An Experimental Study of Model-based Control for Planar Handed Shearing Auxetics Robots},\n  author={St{\\\"o}lzle, Maximilian and Rus, Daniela and Della Santina, Cosimo},\n  booktitle={Experimental Robotics: The 18th International Symposium},\n  year={2023},\n  organization={Springer}\n}\n```\n\n## Installation\n\nThe plugin can be installed from PyPI:\n\n```bash\npip install jsrm\n```\n\nor locally from the source code:\n\n```bash\npip install .\n```\n\nIf you want to run the examples, you will also need to install the following dependencies:\n\n```bash\npip install \".[examples]\"\n```\n\n## Usage\n\nAlways first source all necessary environment variables when opening a new terminal:\n\n```bash\nsource 01-configure-env-vars.sh\n```\n\nThen, we can symbolically derive the pendulum kinematics and dynamics:\n\n```bash\npython examples/derive_pendulum.py\n```\n\nFinally, we can simulate the pendulum\n```bash\npython examples/simulate_pendulum.py\n```\n\n## See also\n\nYou might also be interested in the following repositories:\n - The [`jax-spcs-kinematics`](https://github.com/tud-phi/jax-spcs-kinematics) repository contains an implementation\n of the Selective Piecewise Constant Strain (SPCS) kinematics in JAX. We have shown in our paper that this kinematic \nmodel is suitable for representing the shape of HSA rods.\n - The [`HSA-PyElastica`](https://github.com/tud-phi/HSA-PyElastica) repository contains a plugin for PyElastica\nfor the simulation of HSA robots.\n - The [`hsa-planar-control`](https://github.com/tud-phi/hsa-planar-control) repository contains JAX and ROS2 implementations\n of model-based control algorithms for planar HSA robots.\n",
    "bugtrack_url": null,
    "license": "Copyright (c) 2016 The Python Packaging Authority (PyPA)  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:  The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ",
    "summary": "Kinematic and dynamic models of continuum and articulated soft robots.",
    "version": "0.0.7",
    "project_urls": {
        "Bug Reports": "https://github.com/tud-cor-sr/jax-soft-robot-modelling/issues",
        "Homepage": "https://github.com/tud-cor-sr/jax-soft-robot-modelling",
        "Source": "https://github.com/tud-cor-sr/jax-soft-robot-modelling"
    },
    "split_keywords": [
        "jax",
        " soft robotics",
        " kinematics",
        " dynamics"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8bc27d33d705b4fb077cdcbb3a70ab4eb0248f1ffeaee5d494b94294c5ea6493",
                "md5": "d3e6ef5c06a3aae4759a79f1b6fba92b",
                "sha256": "a36bd3c70fbb0a3517e5786537c082558593e1ab70c4f472744f1c08aa439eb5"
            },
            "downloads": -1,
            "filename": "jsrm-0.0.7-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "d3e6ef5c06a3aae4759a79f1b6fba92b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 69823,
            "upload_time": "2024-05-03T09:40:05",
            "upload_time_iso_8601": "2024-05-03T09:40:05.546818Z",
            "url": "https://files.pythonhosted.org/packages/8b/c2/7d33d705b4fb077cdcbb3a70ab4eb0248f1ffeaee5d494b94294c5ea6493/jsrm-0.0.7-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6f91bdfe7a93ba5f3274411be6d4c963f643c918b28e0296348c5bb7efd92db4",
                "md5": "c8d8e267172baacb742919e625358370",
                "sha256": "2bc3efe77b734fb0333d967c31bf60b9de8107de7ba6654e0915c659138ed98e"
            },
            "downloads": -1,
            "filename": "jsrm-0.0.7.tar.gz",
            "has_sig": false,
            "md5_digest": "c8d8e267172baacb742919e625358370",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 64443,
            "upload_time": "2024-05-03T09:40:07",
            "upload_time_iso_8601": "2024-05-03T09:40:07.440089Z",
            "url": "https://files.pythonhosted.org/packages/6f/91/bdfe7a93ba5f3274411be6d4c963f643c918b28e0296348c5bb7efd92db4/jsrm-0.0.7.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-03 09:40:07",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "tud-cor-sr",
    "github_project": "jax-soft-robot-modelling",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "jsrm"
}
        
Elapsed time: 0.29576s