Skip to main content

Fast and light weight simulator of rigid poly-articulated systems.

Project description


Jiminy is a fast and lightweight cross-platform open-source simulator for poly-articulated systems. It was built with two ideas in mind:

  • provide a fast yet physically accurate simulator for robotics research.

Jiminy is built around Pinocchio, an open-source fast and efficient kinematics and dynamics library. Jiminy thus uses minimal coordinates and Lagrangian dynamics to simulate an articulated system: this makes Jiminy as close as numerically possible to an analytical solution, without the risk of joint violation.

  • build an efficient and flexible platform for machine learning in robotics.

Beside a strong focus on performance to answer machine learning's need for running computationally demanding distributed simulations, Jiminy offers convenience tools for learning via a dedicated module Gym-Jiminy. It is fully compliant with gym standard API and provides an highly customizable wrapper to interface any robotics system with state-of-the-art learning frameworks.

Key features

General

  • Simulation of multi-body systems using minimal coordinates and Lagrangian dynamics.
  • Comprehensive API for computing dynamic quantities and their derivatives, exposing and extending Pinocchio.
  • C++ core with full python bindings, providing frontend API parity between both languages.
  • Designed with machine learning in mind, with seemless wrapping of robots as OpenAI Gym environments using one-liners. Jiminy provides both the physical engine and the robot model (including sensors) required for learning.
  • Easy to install: pip is all that is needed to get you started !
  • Dedicated integration in jupyter notebook working out-of-the-box - including 3D rendering using Meshcat. This facilitates working on remote headless environnement such as machine learning clusters.
  • Cross-platform offscreen rendering capability, without requiring X-server, based on Panda3d.
  • Rich simulation log output, easily customizable for recording, introspection and debugging. The simulation log is made available in RAM directly for fast access, and can be exported in raw binary, CSV or HDF5 format.
  • Available for both Linux and Windows platforms.

Physics

  • Provide both classical phenomenological force-level spring-damper contact model and impulse-level LCP based on maximum energy dissipation principle.
  • Support contact and collision with the ground, using either a fixed set of contact points or collision meshes and primitives.
  • Able to simulate multiple articulated systems simultaneously, interacting with each other, to support use cases such as multi-agent reinforcement learning or swarm robotics.
  • Support of compliant joints with force-based spring-damper dynamics, to model joint elasticity, a common phenomenon particularly in legged robotics.
  • Simulate both continuous or discrete-time controller, with possibly different controller and sensor update frequencies.

A more complete list of features, development status, and changelog are available on the wiki.

The documentation is available on Github.io, or locally in docs/html/index.html if built from source.

Gym Jiminy

Gym Jiminy is an interface between Jiminy simulator and reinforcement learning frameworks. It is fully compliant with now standard Open AI Gym API. Additionally, it offers a generic and easily configurable learning environment for learning locomotion tasks, with minimal intervention from the user, who usually only needs to provide the robot's URDF file. Furthermore, Gym Jiminy enables easy modification of many aspects of the simulation to provide richer exploration and ensure robust learning. This ranges from external perturbation forces to sensor noise and bias, including randomization of masses and inertias, ground friction model or even gravity itself. Note that learning can easily be done on any high-level dynamics features, or restricted to mock sensor data for end-to-end learning.

Gym is cross-platform and compatible with most Reinforcement Learning frameworks implementing standard algorithms. For instance, Stable Baselines 3, RL Coach, Tianshou, or Rllib. RL Coach leverages the open-source Machine Learning framework Tensorflow as backend, Stable Baselines 3 and Tianshou use its counterpart Pytorch, and Rllib supports both. A few learning examples relying on those packages are also provided.

Pre-configured environments for some well-known toys models and reference robotics platforms are provided: cartpole, acrobot, pendulum, Ant, ANYmal, and Cassie, and Atlas.

Demo

Getting started

Jiminy and Gym Jiminy are compatible with Linux and Windows, and supports Python3.6+. They are distributed on PyPi for Python 3.6/3.7/3.8/3.9 for both platform, so they can be installed using pip:

# For installing Jiminy
python -m pip install jiminy_py

# For installing Gym Jiminy
python -m pip install gym_jiminy[all]

Detailed installation instructions, including building from source, are available here.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

jiminy_py-1.6.11-cp39-cp39-win_amd64.whl (18.3 MB view details)

Uploaded CPython 3.9Windows x86-64

jiminy_py-1.6.11-cp39-cp39-manylinux_2_24_x86_64.whl (29.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ x86-64

jiminy_py-1.6.11-cp39-cp39-manylinux2010_x86_64.whl (30.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.12+ x86-64

jiminy_py-1.6.11-cp38-cp38-win_amd64.whl (18.3 MB view details)

Uploaded CPython 3.8Windows x86-64

jiminy_py-1.6.11-cp38-cp38-manylinux_2_24_x86_64.whl (29.6 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.24+ x86-64

jiminy_py-1.6.11-cp38-cp38-manylinux2010_x86_64.whl (30.0 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

jiminy_py-1.6.11-cp37-cp37m-win_amd64.whl (18.3 MB view details)

Uploaded CPython 3.7mWindows x86-64

jiminy_py-1.6.11-cp37-cp37m-manylinux_2_24_x86_64.whl (29.5 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.24+ x86-64

jiminy_py-1.6.11-cp37-cp37m-manylinux2010_x86_64.whl (29.9 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

jiminy_py-1.6.11-cp36-cp36m-win_amd64.whl (18.3 MB view details)

Uploaded CPython 3.6mWindows x86-64

jiminy_py-1.6.11-cp36-cp36m-manylinux_2_24_x86_64.whl (29.5 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.24+ x86-64

jiminy_py-1.6.11-cp36-cp36m-manylinux2010_x86_64.whl (29.9 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64

File details

Details for the file jiminy_py-1.6.11-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: jiminy_py-1.6.11-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 18.3 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for jiminy_py-1.6.11-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 2b38f893abe81409319aef639a63bbef14d95b7fa53003c002387e1c20bcc2c0
MD5 c7c5219ae9102fdf5d02b6ce166a427d
BLAKE2b-256 000602b154146d99de18c2cf573b10a4a2359e7bb2590cb5bac5523c3e446efb

See more details on using hashes here.

File details

Details for the file jiminy_py-1.6.11-cp39-cp39-manylinux_2_24_x86_64.whl.

File metadata

  • Download URL: jiminy_py-1.6.11-cp39-cp39-manylinux_2_24_x86_64.whl
  • Upload date:
  • Size: 29.6 MB
  • Tags: CPython 3.9, manylinux: glibc 2.24+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for jiminy_py-1.6.11-cp39-cp39-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 37da67e2f199ced45299a0415564911310c33512a8b09007abc60b6d01095acd
MD5 6cccec34430628ffe5f2cca2e73d7b4b
BLAKE2b-256 c492151242fde95644b96c07e2247777534787c9803ead2326589b9f1d7be2a6

See more details on using hashes here.

File details

Details for the file jiminy_py-1.6.11-cp39-cp39-manylinux2010_x86_64.whl.

File metadata

  • Download URL: jiminy_py-1.6.11-cp39-cp39-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 30.0 MB
  • Tags: CPython 3.9, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for jiminy_py-1.6.11-cp39-cp39-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 b4962d7ec24a736e4b738e546c8986a8f7f4ab13f1caf9c351fb175dd60e517c
MD5 929a6369e1fef0c94627b005554579af
BLAKE2b-256 7206a0d08286fa7c0dc153a545d8c5055ea7a0adbb7a8fcc16f40d3eef9c694e

See more details on using hashes here.

File details

Details for the file jiminy_py-1.6.11-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: jiminy_py-1.6.11-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 18.3 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for jiminy_py-1.6.11-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ee3643b2118405a3b26fe478125728fb90d07b69c65680bc4a7ca8d2b42bef41
MD5 285a3e90bf0afd6cf42813ea2fdaff7c
BLAKE2b-256 5aad86c1b0a28963c1b29bd9c0c0c7530b38b0093264c80d43e221b7b1475e16

See more details on using hashes here.

File details

Details for the file jiminy_py-1.6.11-cp38-cp38-manylinux_2_24_x86_64.whl.

File metadata

  • Download URL: jiminy_py-1.6.11-cp38-cp38-manylinux_2_24_x86_64.whl
  • Upload date:
  • Size: 29.6 MB
  • Tags: CPython 3.8, manylinux: glibc 2.24+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for jiminy_py-1.6.11-cp38-cp38-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 2967ac03df693d15b0df2ff9e6ae5fb659eb804e13773d29fdf1bec73d565d6a
MD5 6d1fcbc5417426bf700821406e8c0df6
BLAKE2b-256 3233feaff0fa92d047ace2109738b76dc728f5638690588f1596cd472996110c

See more details on using hashes here.

File details

Details for the file jiminy_py-1.6.11-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: jiminy_py-1.6.11-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 30.0 MB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for jiminy_py-1.6.11-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 391d50a35fdf5989bf3b3410a4cd8eda0c19a83a6f7941d34a4a64c3d6fc5e7c
MD5 94d1b0bddda600c6276ff92bfb2abd3a
BLAKE2b-256 d8cba4c5be45027b04a95dea1ba68e7e92b4618b6f12b810001caa93f21d33ee

See more details on using hashes here.

File details

Details for the file jiminy_py-1.6.11-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: jiminy_py-1.6.11-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 18.3 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for jiminy_py-1.6.11-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 9aefa74449c7d3da7c5a17b711709b4e23c90a8ec48329ef49273f05b0bdb2f9
MD5 4188cbafb84bcd71121a57cc28260d70
BLAKE2b-256 30a33fb2c4ec3469e5ac5c9416f92742ff0fbc4616363c14405a6e85825b7b91

See more details on using hashes here.

File details

Details for the file jiminy_py-1.6.11-cp37-cp37m-manylinux_2_24_x86_64.whl.

File metadata

  • Download URL: jiminy_py-1.6.11-cp37-cp37m-manylinux_2_24_x86_64.whl
  • Upload date:
  • Size: 29.5 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.24+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for jiminy_py-1.6.11-cp37-cp37m-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 71a7c0ff286577ad3d0d736aed9ce960e69a7e02d0f41a709774b35f69aab9be
MD5 142078efef78d4a3506b5fafead50149
BLAKE2b-256 70e549949ce5a21aa2f5dde8327f184e7b5fed64ed3c9c49f892cfb0656f1241

See more details on using hashes here.

File details

Details for the file jiminy_py-1.6.11-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: jiminy_py-1.6.11-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 29.9 MB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for jiminy_py-1.6.11-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 a3505f7807291ac04410d7600b70d133ae3737a756efca857263fd58c9e6e7b6
MD5 12821500e04b67163a79067cd66ad0da
BLAKE2b-256 eaa363ab845e846f7277bb6f2b5b92bd21cdb4a3c911531f3346c962b7c84e70

See more details on using hashes here.

File details

Details for the file jiminy_py-1.6.11-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: jiminy_py-1.6.11-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 18.3 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for jiminy_py-1.6.11-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 e8173de151ed62dfa0df27cc6896119e1a9b0ae86f126ee9ea14edf80c4df465
MD5 cc88cea970d91cba54df332fa9b4a18e
BLAKE2b-256 5317605e95694a6d8d401b1edb2c03f4b662108677c3ad20cde94441a8444bc2

See more details on using hashes here.

File details

Details for the file jiminy_py-1.6.11-cp36-cp36m-manylinux_2_24_x86_64.whl.

File metadata

  • Download URL: jiminy_py-1.6.11-cp36-cp36m-manylinux_2_24_x86_64.whl
  • Upload date:
  • Size: 29.5 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.24+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for jiminy_py-1.6.11-cp36-cp36m-manylinux_2_24_x86_64.whl
Algorithm Hash digest
SHA256 f19500e629705841ecfb5bea74825601aa46b9f74837a4a29b6f81d48ec1853c
MD5 265e32d165941d0ef41f1c392c8daaac
BLAKE2b-256 c3a552f33e254c6dcdf132fb3e43096405728c2886b160ebdc4f893957fad271

See more details on using hashes here.

File details

Details for the file jiminy_py-1.6.11-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: jiminy_py-1.6.11-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 29.9 MB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for jiminy_py-1.6.11-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 533a5665dfb55b594cc867cb7dcf8d97cbb84c17b5359a9d4067c1a2cb0c9601
MD5 f9f056d4168a5c8e71768c7aea69ba6e
BLAKE2b-256 fcefcfdcd546a8188e53c0327a0aeab932c4dcc65b347f787dcfdfbda12bd33f

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