Jiminy-py

Latest version: v1.8.6

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

Scan your dependencies

Page 9 of 18

1.6.10

This release makes it possible to build C++ executable and Boost.Python extension modules for jiminy just by installing it via `pip`, instead of having to clone it and build it from source. It also make sure `jiminy_py` is compatible with Boost.Python modules compile with different versions of Boost and different C++ ABI. Additionally, a few bugs have been fixed.

Improvements

* [misc] Improve module interoperability by supporting old, new, and dual C++ ABI.
* [misc] Bundle Jiminy headers and shared core library in wheels.

Bug fixes

* [core] Fixes segfault when calling some methods on uninitialized objects.
* [core] Fix HDF5 export of empty string constants.
* [misc] Fix telemetry variables memory overflow (again).
* [misc] Fix Boost python error handling at import.

Miscellaneous

* [misc] Refactor binary distribution to mimic numpy.
* [misc] Remove C++17 features breaking compatibility with gcc-6 to build wheels for manylinux_2_24.

1.6.9

This release mainly enables to register discrete force profiles. It is especially useful to reduce computational cost when implementation is done in Python. It is also necessary to apply filters or hysteresis. In addition, many convenience features have been added to the viewer, and stability and performance have been significantly improved (especially mesh loading time). Finally, a few annoying but not critical bugs have been fixed.

New features

* [core] Enable to specify update period of registered force profiles.
* [python/viewer] It is now possible to add custom 'markers', automatically updated at refresh.

Improvements

* [python/viewer] Greatly improve mesh loading speed.
* [python/viewer] Enable to zoom very close in 'panda3d' without seeing through the model.
* [python/viewer] Add 'cone' and 'arrow' primitives to 'panda3d' rendering backend.
* [python/viewer] Add methods 'move_node' and 'set_scale' to move and rescale a single node in 'panda3d'.
* [python/viewer] More natural shadow casting in 'panda3d'.
* [python/viewer] Move named color support from 'replay' module to 'viewer'. Improved default color cycle.
* [python/viewer] 'set_color' now set colors of both visual and collision meshes.
* [python/viewer] 'set_color' disables texture if specified, and reset original color and texture otherwise.
* [python/viewer] Fallback to offscreen rendering if opening 'panda3d' graphical window is impossible.
* [python/viewer] Wheel click can be used to move camera lookup point forward and backward in 'panda3d'.

Bug fixes

* [core] Fix system states not cleared at reset.
* [core] Make it impossible to register external forces to the universe itself.
* [core/python] Automatically reset to Zero the return variable of functors returning that are supposed to return by value in C++.
* [python/viewer] Increase meshcat opening timeout to avoid false positive on low-end hardware.
* [python/viewer] Fix viewer not properly closed in some cases, and internal state not cleaned-up.
* [python/viewer] Fix viewer instance of simulator wrongly detected as still available after closing environment.
* [python/viewer] Fix delete-on-close for panda3d.
* [misc] Fix C++ error message not showing properly on Windows.
* [misc] Fix inter-operability with custom eigenpy/hppfcl/pinocchio install.

Miscellaneous

* [core] Increase constants + variable names memory size to align with common use-cases. Clearer error message in case of overflow.
* [python/viewer] Default rendering backend is now 'panda3d' systematically for non-interactive mode.
* [python/viewer] Only display relevant error messages (if possible) when starting panda3d.
* [misc] Check if Python executable provided to Cmake is valid.
* [misc] Make sure OpenGL is installed by 'easy_install_deps_ubuntu.sh' script.

1.6.8

This release focuses on performance improvements of Jiminy Viewer for 'Panda3d' backend. Firstly, most of the redundant computations and unnecessary rendering refresh have been removed. Secondly, 'av' video writer library is used in place of 'cv2', which supports 'h264' codec, resulting in faster generation (~40s for 1min simulation duration), smaller file (~15MB for 1min instead of ~50MB), and web-compatibility. In addition, a new rendering backend 'panda3d-qt' is now available, enabling to embed Jiminy Viewer in custom Qt graph, allowing complex interactions.

New features

* [python/viewer] Initial support of 'panda3d-qt' rendering backend.
* [python/viewer] Add method to update robot color on-the-fly (only supported by panda3d).
* [python/dynamics] Add XYZQuat to XYZRPY position and velocity converters.

Improvements

* [python/viewer] Use 'av' package instead of 'cv2' to export 'panda3d'/'gepetto-gui' video: faster, smaller, and support 'h264'.
* [python/viewer] Improve video recording speed even further by disabling panda3d framerate limit during recording.
* [python/viewer] Update collision geometry placement only once and only if necessary.
* [python/viewer] Improve frame capture speed (and thereby video recording) by refreshing 'panda3d' scene only if needed.
* [python/viewer] 'capture_frame' as raw data is now available for 'panda3d'.

Bug fixes

* [python/viewer] Fix panda3d screenshot wrongly removing alpha channel for '.png'.
* [gym/common/envs] Fix opening onscreen window at env reset if offscreen window is already available.
* [misc] Fix support of Ninja Cmake generator.
* [misc] Fix support of Cmake 3.20 on windows.

Breaking API changes

* [python/viewer] Reorder and remove some keyword arguments of `Viewer.__init__` and 'play_trajectories'.
* [python/viewer] Rename 'urdf_rgba' to 'robot_color' for clarity. Add 's' suffix to list arguments.
* [python/viewer] Replace 'window_name' argument by static 'Viewer' attribute.

Miscellaneous

* [python/viewer] Raise warning if 'enable_clock' is true and 'panda3d' backend is not used.
* [python/viewer] Raise helpful exception if 'replay' called with wrong urdf color.
* [misc] Avoid copying irrelevant files when build wheels.
* [misc] Clearer Cmake warnings for Ubuntu 18 legacy mode.
* [misc] To need to install wheels twice anymore thanks to new pip dependency resolver.
* [misc] Update dependencies to latest version available.

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.

Page 9 of 18

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.