Skip to main content

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

Project description


Binder

Jiminy is a fast and portable 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 a 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 seamless 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.
  • 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.
  • Dedicated integration in Google Colab, Jupyter Lab, and VSCode working out-of-the-box - including interactive 3D viewer based on Meshcat. This facilitates working on remote environments.
  • Cross-platform offscreen rendering capability, without requiring X-server, based on Panda3d.
  • Easy to install: pip is all that is needed to get you started ! Support Linux, Mac and Windows platforms.

Physics

  • Provide both classical phenomenological force-level spring-damper contact model and constraint solver 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 is 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, Tianshou, or Rllib. 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 support Linux, Mac and Windows, and is compatible with Python3.6+. Pre-compiled binaries are distributed on PyPi. They can be installed using pip>=20.3:

# For installing Jiminy
python -m pip install --prefer-binary jiminy_py[meshcat,plot]

# For installing Gym Jiminy
python -m pip install --prefer-binary 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.7.13-cp310-cp310-win_amd64.whl (21.8 MB view details)

Uploaded CPython 3.10Windows x86-64

jiminy_py-1.7.13-cp310-cp310-manylinux_2_28_x86_64.whl (18.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

jiminy_py-1.7.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

jiminy_py-1.7.13-cp310-cp310-macosx_10_15_universal2.macosx_10_14_universal2.whl (33.6 MB view details)

Uploaded CPython 3.10macOS 10.14+ universal2 (ARM64, x86-64)macOS 10.15+ universal2 (ARM64, x86-64)

jiminy_py-1.7.13-cp39-cp39-win_amd64.whl (21.8 MB view details)

Uploaded CPython 3.9Windows x86-64

jiminy_py-1.7.13-cp39-cp39-manylinux_2_28_x86_64.whl (18.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

jiminy_py-1.7.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.1 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

jiminy_py-1.7.13-cp39-cp39-macosx_10_15_x86_64.macosx_10_14_universal2.whl (33.6 MB view details)

Uploaded CPython 3.9macOS 10.14+ universal2 (ARM64, x86-64)macOS 10.15+ x86-64

jiminy_py-1.7.13-cp38-cp38-win_amd64.whl (21.8 MB view details)

Uploaded CPython 3.8Windows x86-64

jiminy_py-1.7.13-cp38-cp38-manylinux_2_28_x86_64.whl (18.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

jiminy_py-1.7.13-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.1 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

jiminy_py-1.7.13-cp38-cp38-macosx_10_15_x86_64.macosx_10_14_universal2.whl (33.6 MB view details)

Uploaded CPython 3.8macOS 10.14+ universal2 (ARM64, x86-64)macOS 10.15+ x86-64

jiminy_py-1.7.13-cp37-cp37m-win_amd64.whl (21.8 MB view details)

Uploaded CPython 3.7mWindows x86-64

jiminy_py-1.7.13-cp37-cp37m-manylinux_2_28_x86_64.whl (18.0 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.28+ x86-64

jiminy_py-1.7.13-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.1 MB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

jiminy_py-1.7.13-cp36-cp36m-win_amd64.whl (21.8 MB view details)

Uploaded CPython 3.6mWindows x86-64

jiminy_py-1.7.13-cp36-cp36m-manylinux_2_28_x86_64.whl (18.0 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.28+ x86-64

jiminy_py-1.7.13-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.1 MB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

File details

Details for the file jiminy_py-1.7.13-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: jiminy_py-1.7.13-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 21.8 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for jiminy_py-1.7.13-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0ef2f0491b6da7899b3d1f240e10a5da2119ed86c070665c02bedec4f9abcc51
MD5 a6f3e6818dbecc4c8af4c68e16876674
BLAKE2b-256 fb495b1b173c291564c7617fdca7e9d1e6c3829351c97a7220a07f16e8d1a4ee

See more details on using hashes here.

File details

Details for the file jiminy_py-1.7.13-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jiminy_py-1.7.13-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b8c92eb6fd63b6565e887274d9e6b65f1b6e21039106dd662296eb554483bffd
MD5 afe0a967f489448a17d88ab80a5ae91d
BLAKE2b-256 f242672d237bba0f97b60bcc1630f5c7a79d01ac20ff41e59d002b740bcdabb4

See more details on using hashes here.

File details

Details for the file jiminy_py-1.7.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for jiminy_py-1.7.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9df6e4f35b818fc0d5a3b3679e43544edf5f603f183a17e01bdf57c3d2d9ec5e
MD5 4488f5d0260138015e02e3a64f0151ce
BLAKE2b-256 7780039756c7183634b0af778e2ecef88b70a4462ca475e5a9dc3aa5e4180317

See more details on using hashes here.

File details

Details for the file jiminy_py-1.7.13-cp310-cp310-macosx_10_15_universal2.macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for jiminy_py-1.7.13-cp310-cp310-macosx_10_15_universal2.macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 8f36c07d1aca4e96b6fe5e80616cfc211beb6a78868ae8396886c28fd4b167e1
MD5 e0cd6b7015300d86e5f6e7e947f46cc6
BLAKE2b-256 eb08a5742232edb6358f2a98d43809ee6643929227bf3ec790a439c638a61eeb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jiminy_py-1.7.13-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 21.8 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for jiminy_py-1.7.13-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 5d021d34a35706b24ed9ea9fb920e2cf12f3ab67c68e7adcd7f7dac20cc8eed9
MD5 763c404e0dcc1e5c820e96b2284c6588
BLAKE2b-256 bcc831d1a0577176df3f0ca024364a9779a9a6a57930bf64995b71a8eda4eec0

See more details on using hashes here.

File details

Details for the file jiminy_py-1.7.13-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jiminy_py-1.7.13-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 88099d340479bea770a918cf8c411fe43f56ffc3e3cdb0d7917eaeb03a0cce06
MD5 a4695272da0f85f1d44cd577d03f7e05
BLAKE2b-256 643aa753abdb2cb29c618a9d0166029a12bd1bde7beda5d269ec69292b47ba7a

See more details on using hashes here.

File details

Details for the file jiminy_py-1.7.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for jiminy_py-1.7.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c2068dd0d26798d4013b45c7c324b701ea7f5e91b111ebda8af6d104b0719d42
MD5 3ad264d729174e7fa88d8260c0110994
BLAKE2b-256 b794da6acdd86aea1fff06434fe7d5ae4b5054f0f8e7a5d143b49458bb6f1fbb

See more details on using hashes here.

File details

Details for the file jiminy_py-1.7.13-cp39-cp39-macosx_10_15_x86_64.macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for jiminy_py-1.7.13-cp39-cp39-macosx_10_15_x86_64.macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 32703f84fbc13dc8d211e5525a8435b83bd664665954c34972f641787c2f9959
MD5 ff06d36b9af6aa12994ffe85aa3f0ce8
BLAKE2b-256 6475fd78d2c473ea622da350948c83dd66b73ef51039ffa5c668b4b3ed75d74d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jiminy_py-1.7.13-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 21.8 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for jiminy_py-1.7.13-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ad7b32e6c8606ab211402e37a7027d74f84800263ce86ed1583fe2183da4f58d
MD5 4e49267b280ae6ce63aa60a24e32f666
BLAKE2b-256 638c62550f842bd5045884fb6041fb5d5d5f7a32b5b8c45a79308f150cd10480

See more details on using hashes here.

File details

Details for the file jiminy_py-1.7.13-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jiminy_py-1.7.13-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 872c11d82e576916388bb8a8691ae8bb6412f06bb9ed40a7d6206490443c7eab
MD5 297a52515c4537101b77939b3f690eb5
BLAKE2b-256 7dad3365976101cfdfc59a17c3b7a5d9c54e842f7a5695efe995678754d98c92

See more details on using hashes here.

File details

Details for the file jiminy_py-1.7.13-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for jiminy_py-1.7.13-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cbbd2b7ab1036ade46340e79a61da781fc8fb229b529997c7a87fd24f71be747
MD5 60ed18b1bd67b4b1e2560e95d59ea198
BLAKE2b-256 36485283cfa4b4ab8214906a577cd880f49792b9ab9b23b7bb911a59b54c18b4

See more details on using hashes here.

File details

Details for the file jiminy_py-1.7.13-cp38-cp38-macosx_10_15_x86_64.macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for jiminy_py-1.7.13-cp38-cp38-macosx_10_15_x86_64.macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 80f1da041a236a7b2cbb4168d40a29d7d00c8b10dbd17d3e42e9899501852256
MD5 235bdf7756920a8319a1b2250130a0a4
BLAKE2b-256 22d58a88ef98a17ca2aac9c0591a993cdd2db405a9eedde5fb8a76f8eddc3e04

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jiminy_py-1.7.13-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 21.8 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for jiminy_py-1.7.13-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 d4a3d4f6097502a5806e8f9a5f815300bd86bf094da17d65b8491265b1223f47
MD5 a6b8e613db7bfe5cd20ebc794f06d3b6
BLAKE2b-256 ae6b89f0a9c0fa442b4028a72a8e4ec09f2e1aea1c622fde7c174f64f2b34f29

See more details on using hashes here.

File details

Details for the file jiminy_py-1.7.13-cp37-cp37m-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jiminy_py-1.7.13-cp37-cp37m-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 78352c94b0ce06cc02c7b2ef697bf67895cb22c73a31f6668bc669dc5030c6f6
MD5 1c8d87f01e13409505adf86d8b12de29
BLAKE2b-256 542180d5a40f5c430e0a07981ecc0f685280690d9ef8382a09e84cb49fff89f4

See more details on using hashes here.

File details

Details for the file jiminy_py-1.7.13-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for jiminy_py-1.7.13-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8eab3f1fc2bbeb177540d8312a13133830e80ef7a5bb786cd21e6fd1c1d94074
MD5 c23865a2601efcc59ac10c0d81969680
BLAKE2b-256 85f51a83a8bfc9b7edf4b1f363914c490c01af1ffa9f5c7561ee70cf41d3fa1e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jiminy_py-1.7.13-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 21.8 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for jiminy_py-1.7.13-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 d68c296137fd2ac0caf98c1fe0b910ac1a631857264eb192853d2bb76087f715
MD5 8fe2ab16ac31898d90cbc9bd94ec75ea
BLAKE2b-256 4de5443e703873144470ef9315fd68ae5e0dc50cf87e2e4af81427b0748cb91d

See more details on using hashes here.

File details

Details for the file jiminy_py-1.7.13-cp36-cp36m-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for jiminy_py-1.7.13-cp36-cp36m-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a0e0a89e4fbd129147112e0f4ff11f32315373ac41e1ed75572f3493687e4960
MD5 b073c15ab449248365dffc57e6afc863
BLAKE2b-256 4c8cac6ff370e08c9ff91038b926f2f5fe3a8d7531162e9fa47e7695e44e0b04

See more details on using hashes here.

File details

Details for the file jiminy_py-1.7.13-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for jiminy_py-1.7.13-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f7147ca35d5f2ebee63056b32bd3854f23be46cdc13be5a58d163b49e281aea6
MD5 44ba8ebf01764c71eb3e86f23e902dc1
BLAKE2b-256 adc6e04902dcade4e2033856c3e1df735f13113b5f826f57554e04072e799a56

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