Jiminy: a fast and portable Python/C++ simulator of poly-articulated robots with OpenAI Gym interface for reinforcement learning
MIT License
Published by duburcqa over 2 years ago
A new custom constraint solver has been implemented. It is more reliable and convergences faster (less than 10 iterations most of the time). The speed is about the same as before the addition of friction cone and maximum energy dissipation. Hardware compatibility issues of Panda3d with some integrated Intel GPU have been addressed and off-screen parallel rendering is now supported. Finally, the recording speed has been greatly improved with Panda3d (x2).
Published by duburcqa over 2 years ago
The overall stability and reliability has been improved, with a strong focus on the viewer. The support of 'gepetto-gui' has been dropped as it was platform-specific and missing key features.
Co-authored-by: Alexis Duburcq [email protected]
Published by duburcqa almost 3 years ago
The focus of the release was making the contact model more realistic in Jiminy. As a reminder, it is formulated at acceleration level instead of velocity-level with impulse contact forces. The contact solver has been revamped to improve convergence, to ensure isotropic coulomb friction cone, and to follow maximum energy dissipation principal (except during the short transient sliding/sticking, or for dominant non-linear acceleration effects such as Coriolis). Many long lasting bugs in C++ core and Python have been tracked down and fixed.
Co-authored-by: Alexis Duburcq [email protected]
Published by duburcqa almost 3 years ago
This release is mainly intended to improve the support of Mac OS X >= 10.14 (Mojave). Now it is on a par with other platforms, with CI configured to run the unit tests on it. It also fixes a bunch of bugs concerning the viewer and the import of jiminy_py itself for developer users.
Published by duburcqa almost 3 years ago
Some limitations of Jiminy have been addressed. First, the friction pyramid has been replaced by an actual friction cone for the impulse contact model. Secondly, it is now possible to simulate a flexible model and impulse contact without numerical instability by introducing a new armature-like inertia parameter. Next, the viewer now uses a physics-based shader for Panda3D backend and a bunch of display issues have been fixed. Finally, it is the first release to officially support OS X, including arm Apple M1 CPU. Pre-compiled binaries are distributed on pypi.
Published by duburcqa almost 3 years ago
The simulator and viewer is now compatible with robots created manually from scratch without relying on URDF. Additionally, PGS solver with default parameters is now much faster thinks to SIMD vectorization and lower accuracy. The provided Cassie and Atlas environment have been tuned to improve the real time factor, which is now close to 50 on a single core.
Published by duburcqa about 3 years ago
Minor release mainly fixing bugs introduced recently.
Published by duburcqa about 3 years ago
Random terrain generation tools have been translated from Python to C++ to significantly improve efficiency. New utilities to merge and sum random tile ground has been added to generate feature-rich ground profiles without noticeable slowdown wrt flat ground. In addition, it has been made easier to register new variables to the telemetry dynamically and retrieve data from logfiles.
Nota bene: gym_jiminy release were not deployed on pypi since 1.6.27. This problem has been fixed now but there is no plan to add back the missing ones.
Published by duburcqa about 3 years ago
Up to now, several key features were missing for the impulse-based LCP contact model to support most cases, and LCP solver was not mature enough to ensure smooth continuous dynamics. The impulse contact model now can handle any contact normal, which makes it suitable for uneven grounds. Moreover, a fast random tile ground generator has been added to easily create parametric challenging environments suitable for curriculum learning. Ultimately, the rendering of engine ground profile is now fully integrated in the viewer for panda3d backend. It will automatically renders the actual ground profile during replay of simulations. The minor release tag has been updated to highlight that impulse contact model is no longer experimental.
Published by duburcqa about 3 years ago
Meshcat viewer backend was mostly unmaintained since a year and was partially broken. This should now be fixed, with the addition of 3D rendering directly inside local VSCode notebooks and local Jupyterlab !
Published by duburcqa about 3 years ago
Small release fixing reproducibility issues, and updating RLlib tools to make it easier to assess and compare performance between policies.
Published by duburcqa about 3 years ago
This release fixes a new non-critical bugs and contains some minor improvements for gym tools suite.
Published by duburcqa over 3 years ago
All unnecessary copies and function calls in learning pipelines are now avoided. In additional, Python architecture has been refactored to reduce dependencies of main packages jiminy_py
, gym_jiminy_common
, and gym_jiminy_toolbox
.
Published by duburcqa over 3 years ago
Small release fixing a few minor bugs.
Published by duburcqa over 3 years ago
Maintenance update fixing minor bugs. Some pre-compiled dependencies have been updated.
Published by duburcqa over 3 years ago
Another minor release, focusing only on improving performance of constrained inverse dynamics implementation. A very significant speedup by a factor 5 or 10 can be expected.
Published by duburcqa over 3 years ago
Fix several bugs introduced in previous release.
Published by duburcqa over 3 years ago
This release introduces several experimental reinforcement learning features, along with a new inverse dynamics helper. A few bugs long-lasting bugs and inconsistencies in core have finally been addressed.
Published by duburcqa over 3 years ago
This release introduces a set of reinforcement learning tools based on ray[rllib]. In addition, it is now easier to replay and compare trajectories in different formats (sequence of states, log files, log data, and current simulation).
Published by duburcqa over 3 years ago
Minor patch to fix viewer issues introduced in previous release.