Skip to main content

Kinematic and dynamic models of continuum and articulated soft robots.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jsrm-0.0.16.tar.gz (1.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jsrm-0.0.16-py3-none-any.whl (2.0 MB view details)

Uploaded Python 3

File details

Details for the file jsrm-0.0.16.tar.gz.

File metadata

  • Download URL: jsrm-0.0.16.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for jsrm-0.0.16.tar.gz
Algorithm Hash digest
SHA256 454ab02e372b91eafcff3c4489bcdade39a6492dde479a8531ceff6af22bc43e
MD5 00817783b298f105b5852d313428a777
BLAKE2b-256 1750333a82397a4c7f3b9c46a31ec0f89ecbf79926f80479cdd150eda2f8886d

See more details on using hashes here.

File details

Details for the file jsrm-0.0.16-py3-none-any.whl.

File metadata

  • Download URL: jsrm-0.0.16-py3-none-any.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for jsrm-0.0.16-py3-none-any.whl
Algorithm Hash digest
SHA256 020ac366db6ca2a7afb9003ae006b1840c13fbdacec3ffa6f58f4e7187e39b40
MD5 d9abf769579c4dbc79d4b1d5099754c6
BLAKE2b-256 ecdc640725371b7cc22366509055a69b0798a7d5741ee5dea64e6bcbfd2ee6b3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page