Skip to main content

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:

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): https://doi.org/10.1007/978-3-031-63596-0_14

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

@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={International Symposium on Experimental Robotics},
  pages={153--167},
  year={2023},
  organization={Springer}
}

Installation

The plugin can be installed from PyPI:

pip install jsrm

or locally from the source code:

pip install -e .

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

pip install -e ".[examples]"

Usage

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

source 01-configure-env-vars.sh

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

python examples/derive_pendulum.py

Finally, we can simulate the pendulum

python examples/simulate_pendulum.py

See also

You might also be interested in the following repositories:

  • The 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 repository contains a plugin for PyElastica for the simulation of HSA robots.
  • The hsa-planar-control repository contains JAX and ROS2 implementations of model-based control algorithms for planar HSA robots.

Metadata

Release files for jsrm 0.0.18

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

Source distribution (sdist)

Source distribution for jsrm 0.0.18
File Size Uploaded Provenance Actions
jsrm-0.0.18.tar.gz 1.9 MB Without provenance Details for jsrm-0.0.18.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for jsrm 0.0.18
File Interpreter ABI Platform Actions
jsrm-0.0.18-py3-none-any.whl Python 3 none any Details for jsrm-0.0.18-py3-none-any.whl

Total release size: 3.9 MB

Release files / jsrm-0.0.18.tar.gz

Download URL jsrm-0.0.18.tar.gz
Size 1.9 MB
Tags Source
SHA-256 checksum
How to use checksums
ed8ebd357955f3f5b8720313ae9f3a64ce8b97d724699ffcde1c40159868c92b
BLAKE2b-256 checksum
How to use checksums
fabb53d5fa778d5c95ec9e4cf2e36d4f1f1724cb98de6ec24507340f140d423a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Release files / jsrm-0.0.18-py3-none-any.whl

Download URL jsrm-0.0.18-py3-none-any.whl
Size 2.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
bb27dfc2273093ae22af0124f293cdcab7a4abfe54d4fc5dda984795b8d66505
BLAKE2b-256 checksum
How to use checksums
c53c11d83db29384f5fe08ca86d796f4c4fd4c005ddd2be2e08c183956710ec9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.9

Security for jsrm 0.0.18

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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