Jiminy-py

Latest version: v1.8.6

Safety actively analyzes 638646 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 5 of 18

1.7.3

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.

New features

* [core] Enable to initialize 'jiminy::Robot' pinocchio models directly..
* [python/robot] Enable to load hardware config on existing robot.
* [gym/envs] Add atlas env with fixed upper body.

Improvements

* [core] Faster PGS solver. (423)
* [core] Add dedicated contact solver options 'tolAbs', 'tolRel'. (424)
* [core] Add 'name' getter to 'jiminy::Model', which is a proxy for URDF name.
* [core] Add visual model to 'jiminy::Model' to avoid relying on URDF for rendering
* [core/python] Add helper method to build reduced model.
* [python] Do not rely on 'Robot.urdf_path' anymore.
* [python/robot] Check if motors and sensors defined in hardware file can be added successfully.
* [gym/common] Make sure the provided neutral configuration is valid.

Patches and bug fixes

* [core] Fix wrong computation of external forces.
* [python/dynamics] Fix 'compute_freeflyer_state_from_fixed_body' method if fixed body is not provided.

Miscellaneous

* [gym/envs] Tune Cassie and Atlas to improve numerical stability using impulse contact model.
* [misc] Fix support of matplotlib >= 3.4.
* [misc] Stricter gym_jiminy optional deps requirements. (425)
* [misc] Fix gym_jiminy wheels deployement on pypi (again!).
* [misc] Fix documentation generation.

1.7.2

Minor release mainly fixing bugs introduced recently.

New features

* [core] Add 'orientation' parameter 'randomTileGround' generator.

Improvements

* [gym/common] Render ground profile automatically during 'play_interactive'.

Patches and bug fixes

* [core/python] Fix python bindings of 'resetRandomGenerators' method.
* [core/python] Fix assert in debug.
* [python/simulation] Fix 'seed' method not resetting the generator if the seed does not change.
* [python/viewer] Close panda3d viewer cleanly.
* [gym/rllib] Fix PPO for 'enable_adversarial_noise' = False and 'caps_global_reg' == 0.0.

Miscellaneous

* [misc] Build wheels for manylinux2014 instead of manylinux2010 because of 'dm-tree'.
* [misc] Build in Release and Debug on Ubuntu CI.

1.7.1

<p align="center"> <img src="https://user-images.githubusercontent.com/17752950/137580144-15968b75-91ba-4b91-afec-52f09f5af8da.png" height="300"> </p>

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._

New features

* [core] Add tools to merge and sum heightmaps.
* [gym/common] Add 'BaseJiminyEnv.register_variable' method easily log variables.
* [gym/rllib] Add adversarial obs perturbation sampling for spatial regularization. (414)

Improvements

* [core] Write terrain generation tools in C++ for efficiency.
* [core] Enable to re-initialize controllers.
* [core/python] It is now possible to extract raw python function from 'HeightMapFunctor' if any.
* [python/viewer] Faster ground profile rendering.
* [python/viewer] Do not render ground profile if original flat ground.
* [gym/common] Generic structured space handling by relying on 'dm-tree' package.
* [gym/common] Support any observation space in gym pipelines.

Miscellaneous

* [core] Rename 'HeatMap' in 'Heightmap'.
* [misc] Fix CI not pushing gym_jiminy wheels on pypi.

1.7.0

<p align="center"> <img src="https://user-images.githubusercontent.com/17752950/136691724-722d1522-8e24-44fc-85a1-c72e25a49f6b.gif" height="180"> <img src="https://user-images.githubusercontent.com/17752950/136691341-19d558a4-4b52-4abe-b0da-6e841495c4c0.png" height="180"> <img src="https://user-images.githubusercontent.com/17752950/136691348-1c449fed-6fc6-4126-b9ce-303143e4d922.png" height="180"></p>

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.

New features

* [core] Add support of torsional friction and contact normal to impulse contact model.
* [python/generator] Add random tile ground profile generator.
* [python/viewer] Add support of contact frames display.
* [python/viewer] Add method to render floor based on 'HeatMapFunctor'.
* [python/simulator] 'replay' now display the ground profile used by the engine.
* [gym/rllib] Add temporal barrier regularizer to PPO.

Improvements

* [core] Move init of contact solver in reset instead of setOptions.
* [core] Proper default 'stabilizationFreq' for impulse contact model.
* [core] 'engine_options.contacts.stabilizationFreq' only applies to contact constraints.
* [python/viewer] 'update_floor' method in panda3d now expects numpy array instead of callable to fix serialization issues.
* [python/viewer] Speedup rendering of ground profile and improve visual by providing normal to panda3d.
* [python/viewer] Add option to enable/disable display of ground profile meshes.
* [python/simulator] Do not reset camera pose if gui already available.

Patches and bug fixes

* [python/robot] Fix support of URDF model with a single link for automatic hardware config generation.
* [python/viewer] Add support of ipykernel 6 for meshcat backend interactive display.
* [python/dynamics] Mitigate a weird segfault in pinocchio bindings of 'centerOfMass' method.
* [gym/common] Fix automatic telemetry registration of the action.

Miscellaneous

* [gym/envs] Set baumgarte frequency for cassie internal constraints.
* [misc] Enforce scipy>=1.2.0 to fix buggy optimizer.
* [misc] Update 'typing_extensions' required version to fix pylint support for Python 3.6.

1.6.30

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 !

New features

* [python/viewer] Add height map rendering capability to Panda3d backend.
* [python/viewer] Add support of jupyterlab and vscode notebooks locally using Meshcat backend.
* [gym/common] Add flag to 'play_interactive' to ignore 'is_done' state.
* [gym/rllib] Support obs normalization for PPO spatial regularization.
* [gym/rllib] Scale spatial loss by observation distance.

Improvements

* [core] Shuffle constraint solver iterations iif necessary, no matter if constraint set changes.
* [core] Move contact point at the interface with the ground for impulse model. (404)
* [python/viewer] Properly close opening viewer if raises exception at init.
* [gym/common] Check that simulation data is available before plotting.
* [gym/rllib] Raise clear exception if observation space is not dict in PPO.
* [gym/rllib] Replace L2-norm temporal smoothness regularization by L1-norm.

Patches and bug fixes

* [core/python] Fix bindings signature of some controller's method.
* [python/plot] Fix missing grid for single plot tabs.
* [python/viewer] Fix viewer compatibility with meshcat>=0.3.1.
* [python/viewer] Fix meshcat viewer 'has_gui' method.
* [python/viewer] Fix meshcat notebook viewer.
* [gym/common] Fix 'play_interactive' not disabling 'is_training' flag.
* [gym/rllib] Fix L2 reg not backpropagating gradient.

Miscellaneous

* [python/viewer] Increase meshcat recorder timeout.
* [misc] Fix CI dependency install.
* [misc] Relax ray version requirement.

1.6.29

Small release fixing reproducibility issues, and updating RLlib tools to make it easier to assess and compare performance between policies.

New features

* [gym/common] Add train and eval modes to allow specific evaluation behaviors.
* [gym/rllib] Add l2 regulization loss to PPO.
* [gym/rllib] Enable to evaluate policy on multiple trials and report statistics.

Improvements

* [gym/common] 'seed' method now return the actual sequence of seeds instead of only the first one.
* [gym/common] Do not cast automatically the action space to float32. (400)
* [gym/toolbox] Add 'quat_to_yaw_cos_sin' math helper.
* [gym/rllib] Use noisy samples instead of the true ones to compute global smoothness.
* [gym/rllib] Make sure the validation is always the same to make it easier to benchmark performance.

Patches and bug fixes

* [core] Fix log buffer not refreshed after calling 'stop', making last datapoint not accessible. (396)
* [python/robot] Fix non-reproducible simulation results.
* [python/simulator] Fix running simulation not stopped before updating seed.
* [python/simulator] Fix unexpected error if 'replay' is called without data.
* [gym/common] Ensure internal '_action' buffer dtype float64. (400)

Miscellaneous

* [gym/common] Do not set the seed by default in '_setup' method.
* [gym/common] Rename '_is_training' in 'is_training'. Fix 'is_training' False by default. (397)
* [gym/common] Remove useless conversion of iterator to list.
* [gym/rllib] Relax ray dependency version requirement.

Page 5 of 18

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.