Jiminy-py

Latest version: v1.8.9

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

Scan your dependencies

Page 10 of 19

1.6.7

A few not critical bugs have been addressed and the API has been slightly simplify to avoid common mistakes while being less restrictive when possible. In addition, a few guards has been added to explicitly forbid wrong practices.

Improvements

* [core] Add Engine methods to remove registered impulse and profile forces, and all forces (including coupling) at once.
* [core] Throw error when calling addSystem/removeSystem for 'Engine' instead of 'EngineMultirobot'.
* [core] Get read-only access to global random seed.
* [core|python] Move log data cached buffer from python simulator to core engine.
* [core/python] Make log data non writable.
* [python/simulator] Merge 'run' and 'simulate' methods together and keep only 'simulate'.
* [python/simulator] Avoid unnecessary viewer refresh at init.
* [python/viewer] Enable forwarding by adding unused keyword arguments support.
* [python|gym] Setup viewer for new model at env level instead of simulation to avoid edge cases.
* [python|gym] Move 'BaseJiminyObserverController' from 'jiminy_py' to 'gym_jiminy.envs.internal' as incompatible with 'Simulator.simulate'.
* [gym/common/envs] Only check if initial observation is consistent with observation space, not if out-of-bounds.

Bug fixes

* [core] Make sure random number genetators are initialized at Engine level.
* [core] Reset random number genetors if desired seed has changed when calling 'setOptions'.
* [core/python] Fix dangling collision_data dangling reference in python because Model was deleting it by mistake.
* [python/viewer] Fix legend support for meshcat.
* [python/viewer] Fix custom urdf color support for panda3d.

Miscellaneous

* [core] Use C++ inheritence method hiding to deter usage of specialized 'EngineMultirobot' methods in 'Engine'.
* [core/python] Rename Engine 'remove_forces' method in 'remove_all_forces', which now only removes forces without calling 'reset' method.
* [core/python] Make private '_ControllerFunctor' and not initializable from Python. It is only used to convert C++ ControllerFunctor back to Python. 'BaseControllerFunctor' must be used instead in Python.
* [python|gym] Project architecture refactoring.
* [misc] Automatically detect pinocchio submodules at import instead of hard-coded procedure for maintainability.

1.6.6

Several random process generators have been added, namely `PeriodicGaussianProcess`, `PeriodicFourrierProcess`, `PeriodicPerlinProcess` and `RandomPerlinProcess`. They are designed to be used as basis to implement external force profiles. In this context, they have been optimized to computational efficiency rather than mathematical correctness. On a completely unrelated note, Python bindings are now more "pythonic", and registered external forces are now properly removed at reset.

New features

* [core] Add random process utilities.
* [core|core/python] Add getter for impulse, profile, and coupling forces.

Improvements

* [core] Change naming convention for consistency, aka 'registerForce[TYPE]'.
* [core/python] Full-featured std::vector wrapping.
* [core/python] Expose global random generator reset method.
* [core/python] Initialize random number generator when load python bindings.
* [core/python] Improve docstring signature type and keywords inference.
* [python/simulator] Make sure destructor cannot raise exception.

Bug fixes

* [gym/common/envs] Fix registered forces not automatically removed at reset.

Miscellaneous

* [core] Split utilities in multiple files.
* [core] Use unique_ptr to reduce header dependencies and speed-up compilation.
* [core] Remove some useless includes in core.
* [python/viewer] Enable EGL fallback for panda3d, since it will be provided with Panda3d>=1.10.9.
* [gym/common/utils] Remove Python native implementation of 'PeriodicGaussianProcess'.

1.6.5

Add new generic tabbed figure plotting tools supported by any Matplotlib backend, including offscreen 'agg' and Jupyter notebooks. It brings several additional features, such as synchronize time in every tabs and export of all tabs in pdf. Its overall performance has been significantly improved.

New features

* [python|gym] Add generic tabbed figure tool.

Improvements

* [core|python] Add support of non-contiguous temporary to 'register_variables'.
* [core/python] Allow registering 2D numpy arrays to the telemetry.
* [python|gym] Move '_log_data' from gym env to simulator.
* [python/dynamics] 'update_quantities' method update every quantity but the jacobians by default.
* [python/simulator] Enable argument forwarding for 'plot' method.
* [gym/common/envs] Log generic action automatically.

Bug fixes

* [python/dynamics] Fix 'update_quantities' not calling forward kinematics when necessary.
* [python/simulator] Fix log backup cleanup.
* [gym/common/pipeline] Fix controller wrapper not updating env action and not calling env 'compute_command'.
* [misc] Fix ipython tutorial.

Miscellaneous

* [misc] Remove force install 'numba==0.53.0rc3' on CI since 0.53 is now available.
* [misc] Consistent use of 'resource_filename' to access models data.
* [misc] Add Atlas in Readme instead of Anymal.

1.6.4

This release improves support of closed kinematic chains by adding analytical distance constraint between frames. It illustrates this new feature, Cassie robot learning environment is now provided. Apart from that, a few minor bug fixes mainly related to the viewer has been fixed, and overall performance has been slightly improved.

<p align="center"><img src="https://raw.github.com/duburcqa/jiminy/readme/cassie.png" width="350"></p>

New features

* [core] Add DistanceConstraint to enforce constant distance between frames.
* [gym/envs] Add Cassie robot example (Closed-kinematic chains).

Improvements

* [core] Improve performance by avoiding unnecessary copies and redundant computations.
* [python/dynamics] Add some RPY converters.
* [python/dynamics] Add options to use theoretical model when computing freeflyer with fixed frame.
* [python/robot] Add convenience property to get robot name.
* [python/simulator] Add 'command' tab to 'plot' method.
* [python/simulator|gym/common/envs] Replace attribute '_is_viewer_available' by public property to avoid redundancy.
* [gym/common/envs] Do not extract log if no terminal reward.
* [gym/examples/rllib] Do not return 'log_root_dir' at init because it is redundant.
* [gym/examples/rllib] Add option to record video periodically during training.

Bug fixes

* [core] Make sure application time of impulse forces are positive (not strictly).
* [python/viewer] Fix terminate viewer backend process when closing.
* [python/viewer] Fix error when closing viewer without waiting for init to finish.
* [python/viewer/meshcat] Increasing timeout to avoid false negative on low-end configurations.
* [python/viewer|gym/common/envs] Make sure viewer is properly closed after simulation replay whenever requested.
* [gym/common/envs] 'compute_command' method no longer update the internal action buffer.
* [gym/examples] Add missing examples tools.
* [misc] Fix wheel generation process corrupting png files.

Miscellaneous

* [core] Move Gauss-Siedel LCP solver in dedicate folder since several may be implemented.
* [core/python] Define meaningful argument names for constructors.
* [misc] Allow executing 'easy_install_deps_ubuntu.sh' multiple times without significant side effects.
* [misc] Make sure *.png files are processed by binary files by git.
* [misc] Increase Pagefile on Windows CI to avoid unit test failure when loading Panda3d.

1.6.3

This release fixes the last remaining blocking issues with Panda3d in order to make it the default viewer backend. So, starting from this point, it will be the default backend, useless for interactive environment like Jupyter, for which Meshcat is still the only appropriate alternative. In addition URDF and meshes associated with Atlas have been updated to make it look better:

<p align="center"><img src="https://user-images.githubusercontent.com/17752950/110535380-7c57d680-8120-11eb-892f-57ff80e401f5.png" width="350"></p>

Improvements

* [jiminy/viewer] Fallback to software rendering with panda3d if necessary.
* [jiminy/viewer] Limit Panda3d framerate to 30FPS to avoid consuming too much resources.
* [jiminy/viewer] Do not shrink legend automatically and slightly increase size on Panda3d.
* [jiminy/viewer] Zoom out default relative camera pose for travelling.
* [gym/common/envs] Automatically update rendering after 'reset' if available.
* [misc] Enable 'panda3d' by default instead of 'meshcat'.

Bug fixes

* [misc] Fix viewer replay on Windows by not removing 'Pinocchio::interpolate' from build anymore.
* [jiminy/simulator] Fix viewer not opening graphical window after closing it once.
* [jiminy/viewer] Fix widgets positioning and scaling on Panda3d.
* [jiminy/viewer] Improve exception handling if window closed during replay to avoid deadlock.
* [jiminy/viewer] Fix panda3d offscreen rendering not always updated before capturing frame.
* [jiminy/viewer] Fix panda3d mesh loader 'assimp' specific path formatting on Windows.
* [gym/common/envs] Fix keyword arguments forwarding for WalkerEnvs class.

Miscellaneous

* [core] Minor improvement of robot weak_ptr management for sensors/motors.
* [jiminy/simulator] Rename 'disable_flexiblity_data' or 'enable_flexiblity_data' for clarity.
* [gym/examples] Rllib 'test' method now returns the environment used for testing.
* [misc] Globally less restrictive Python requirements by using different specifications depending on the platform.
* [misc] Update atlas URDF and meshes to improve rendering.

1.6.2

Panda3d rendering backend support has been greatly improved. It should now works out-of-the-box on any hardware and platform. Meshcat-exclusive features has been ported to Panda3D (watermark and legend), and new Panda3D-exclusive simulation time clock is now available! The recording speed is much faster than meshcat (faster than recording duration at 30FPS and 1000x1000 resolution for 'mp4' format) and supports offscreen rendering without X-server. In addition, Python3.9 pre-built wheels are now provided on any platform. Finally, internal time steps management issues have been fixed, most affecting fixed timestep steppers.

New features

* [jiminy/viewer] Add support of watermark for panda3d.
* [jiminy/viewer] Add support of legend and watermark at Viewer level for Meshcat and Panda3d.
* [jiminy/viewer] Add option to enable clock during replay and recording using panda3d backend.

Improvements

* [core] Increase maximum simulation timestep for RL requirement.
* [jiminy/viewer] Do not open graphical window if possible by default when video recording is requested.
* [jiminy/viewer] Convert Python location meshcat recorder import warning into exception only raised at instantiation.
* [jiminy/viewer] Significant improvement of video recording speed for Panda3D. Record in .webm (slow) or .mp4 (6x faster).
* [gym/common/envs] Make sure the initial posture is close to neutral yet always valid.

Bug fixes

* [core] Fix wrong internal stepper timestep if fixed.
* [jiminy/viewer] Fix meshcat `wait` doing nothing.
* [jiminy/viewer] Fix panda3d black-screen issues.
* [jiminy/viewer] Fix support of Windows 10 for Panda3d backend.
* [gym/examples] Fix Rllib tools for env without reward threshold.

Miscellaneous

* [jiminy/viewer] Make sure only one graphical window can be opened locally.
* [misc] Use same steppers and timesteps than official Classic Control learning environment whenever possible.
* [misc] Remove 'jiminy' prefix from learning envs register id since it is redundant with namespace.
* [misc] Add wheels for Python3.9. From now on, only many2014 wheels will be provided instead of manylinux2010.

Page 10 of 19

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.