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
- Planar Piecewise Constant Strain (PCS) continuum soft robot
- Planar Handed Shearing Auxetics (HSA) robot
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-kinematicsrepository 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-PyElasticarepository contains a plugin for PyElastica for the simulation of HSA robots. - The
hsa-planar-controlrepository 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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.