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 12 of 19

1.5.5

Simulation speed has been increased by at least 15% by avoiding the stepper to allocate memory dynamically once a simulation has started.

Improvements

* [gym] Use float32 action space instead of float64 because it is the usual dtype for neural networks.
* [core] Avoid memory allocation during Lie algebra computations without relying on compiler optimizations.

Miscellaneous

* [misc] Update Cmake to support RelWithDebInfo. Enable more Cmake warnings.

1.5.4

This release makes it possible to add visco-elastic (spring-damper mechanism) coupling force between two frame on the same or different robots, without having to implement them manually. It brings a huge speedup wrt doing it in Python (even using Numba). In addition, a few redundant computations have been removed, resulting in a minor overall speedup.

New features
* [core] Add viscoelastic coupling force between frames.

Improvements
* [core] Disable stepper 'iterMax' by default.
* [core] Abort simulation if 'nan' detected in 'q', 'v', 'a' instead of 'a' only.
* [core] Increase maximum simulation timestep.
* [core] Do not call rnea directly in 'computeAcceleration' to avoid redundant computations.
* [python/controller] Improve efficiency by making controller/observer handles optional.
* [gym/common/env] Return is_done=True if simulation is not running anymore.
* [gym/common/env] Use OrderedDict instead of dict to avoid conflicts with ray[rllib].

Bug fixes
* [core] Fix segfault when initializing sensor using unvalid robot.
* [core] Fix Euler Explicit stepper not working as expected.
* [python] Fix potential infinite recursion loop during custom attribute lookup.
* [python/log] Fix 'Global.Time' not in seconds when reading hdf5 logfiles.
* [python/viewer] Fix legend warning wrongly displayed.
* [gym/common/wrapper] Rework 'PartialFrameStack' to be consistent with official 'FilterStack'.

Miscellaneous
* [misc] Update gitignore to ignore log folders.
* [misc] Increase stepper tolerance in unit test to be consistent with check accuracy.
* [misc] Fix new Cmake policy CMP0111.
* [misc] Fix type checking to support latest mypy/pylint releases.
* [misc] Assume pip 21.0 for Cmake and install it on Windows CI. Minor improvements of Cmake files.
* [misc] Remove useless boost submodules dependencies.
* [misc] Do NOT support Numpy >= 1.20 explicitly, since not compatible with Python3.6.
* [misc] Fix toy model learning unit tests.

Co-authored-by: Alexis Duburcq <alexis.duburcqwandercraft.eu>

1.5.3

This release fixes the long lasting issue of robot getting deleted without letting know the others relying on it, causing erratic segfaults hard to diagnose. It also adds several mechanisms to ensure the consistency of the data, and proper update of low-level `pinocchio::Data`, to avoid having to manually update anything that the user may expect already having been computing. It comes at an addition computational burden, but it is the price to pay to avoid nasty mistakes.

New features

* [core/python] Enable to define custom constraints directly in Python.

Improvements

* [core] Use std::weak_ptr instead of raw pointer to avoid segfault if object gets destroyed in the meantime.
* [core] Make sure controller's robot and system's robot are consistent when add system to engine.
* [core] Refactor constraints to improve efficiency and make it more intuitive to define and use.
* [core] Fix joint acceleration not properly updated after calling 'computeAcceleration' method of Engine.
* [core/python] Add 'BaseControllerFunctor', allowing overloading of 'reset' method in Python.
* [python/simulator] Avoid attribute lookup infinite loop.
* [python/simulator] Ensure consistent model between robot model and log data before plotting them.
* [gym/common/env] Set the controller before resetting it and getting sensors data since the robot may no longer exists.

Miscellaneous

* [core/python] Rename 'AbstractControllerWrapper' in 'BaseController' to clarify it is not abstract but the base controller class.
* [python/controller] Inherit from 'BaseController' instead of 'BaseControllerFunctor' since callbacks are handled manually.

1.5.2

This release aims to make it easier and more intuitive to implement custom robot controllers. It also gets rid of custom file extensions for configuration files for clarity.

New features
* [core/python] Enable direct inheritence of Python controllers from AbstractController.

Improvements
* [core] Do not throw exception when calling addCollisionBodies with empty list and no geometry model.
* [core/python] Add getters for controller's robot model and sensors data.
* [core/python] Support engine init using callback only. Using single init method with default None args.
* [python] Replace dedicated '.hdf'/'.config' extensions by '_hardware.toml'/'_options.toml' for clarity.
* [python/robot] Enable to "fix" (aka override) relative mesh paths is URDF using 'mesh_path'.
* [python/simulator] Move progress bar management at simulator level instead of controller. No controller by default.

Bug fixes
* [core] Fix initialization of engine without controller.
* [python/controller] Fix initialization throwing exception if OK.
* [python/simulator] Fix 'build' method not fully compatible with derived classes overloading '__init__'.
* [python/simulator] Fix infinite recursive loop at exist if simulator constructor fails.

Miscellaneous
* [misc] Disable compilation LTO since it is not really improving anything.

1.5.1

The pre-compiled binaries of EigenPy, Hpp-Fcl and Pinocchio have been updated to the latest available releases. In addition, several bugs have been fixed (including a segfault!).

Bug fixes

* [core] Fix flaky memory corruption segfault when adding frame to model.
* [core] Fix special cmake linkage flags 'optimized'/'debug' not being properly detected for Boost.
* [python/simulator] Fix progress bar glitches if simulate raises an exception during a simulation.

Miscellaneous

* [misc] Update pre-compiled binaries of dependencies (EigenPy 2.6.0, Hpp-Fcl 1.6.0, Pinocchio 2.5.5).
* [misc] Fix several cmake edge cases.
* [misc] Enable linker optimizations.
* [core] Take advantage of new features and improved Windows 10 support to simply codebase.

1.5.0

This release introduces a new (experimental!) high-performance and customizable viewer backend based on [Panda3D](https://github.com/ikalevatykh/panda3d_viewer#using-with-pinocchio), which supports both offscreen and onscreen rendering. Yet, some features of Viewer may not be working properly, and offscreen rendering requires X11 server on Linux for now. Notably, it is now possible to add flexibilities at fixed joint frames, and to add coupling forces between frames of the same robot.

Many important new features, breaking changes and critical bug fixes have been introduced since release 1.4.0, so it is time to bump up the minor version tag!

New features:
* [core] Log robot input args, robot urdf content, and all options as constants.
* [core] Enable to add flexible joints at any FIXED_JOINT frame.
* [core] Add composite centroidal rigid-body inertia computation to 'computeForwardKinematics'.
* [core] Enable to add coupling forces between frames of the same robot.
* [python/viewer] Add partial support of Panda3d visualizer.

Improvements:
* [core] Store constants in hdf5 datasets instead of attributes to get around 64K size limit.
* [core] TMLC telemetry format now supports both attributes and dataset field.
* [core] Do not enforce position/velocity limits at init if disable.
* [core] Fallback to not loading/using collision model if meshes are missing.
* [core|core/python] Expose 'computeForwardKinematics'.
* [core/python] Enable to get system from 'Engine'.
* [python/log] Fix print logged variables.
* [python/robot] Fixes some edge cases when automatically generating HDF file.
* [python/robot] Enable explicit robot initialization without hardware description file.
* [python/robot] Skip collision bounding box handling if meshes are not available.
* [python/simulator] Simulator's Viewer instance is no longer private attribute.
* [gym] Make viewer instance directly accessible in pipeline environments.
* [gym] Get access to simulator's attributes directly.
* [gym/common] Add new random sampling utility.
* [gym/common/env] Make sure robot shared memory is reset after calling '_setup'.
* [gym/common/env] Do not log error is observation is out-of-bounds, and only warning in debug.
* [gym/common/env] Make sure the low-level engine memory address does not change.
* [core/python] Avoid memory allocation by 'compute_systems_dynamics' for efficiency.

Bug fixes:
* [core] Fix body forces wrongly computed by 'aba'.
* [core] Fix 'getRigidConfigurationFromFlexible' method of Model class.
* [core] Fix computeSystemDynamics edge case and Python binding signature.
* [core/python] Fix bindings of some system_state object fields.
* [python/robot] Fix support of multiple collision boxes.
* [python/simulator] Fix callback not working since scalar references are now ndarray in Python.
* [python/simulator] Fix 'state' property for 'use_theoretical_state'=True.
* [python/viewer] Fix viewer exception when closing backend during replay.
* [gym/common/env] Fix 'replay' not working.

Miscellaneous:
* [core] Double space before inline comments.
* [core] Add constant for telemetry constant delimiter.
* [core] Clarity telemetry namespace.
* [core|core/python] Rename 'computeSystemDynamics' in 'computeSystemsDynamics' for consistency.
* [core/python] Simplify C++ to Python log converter.
* [python/viewer] Split viewer and replay tools in separated submodules to reduce file complexity.
* [python/viewer] Rename 'replay_speed' in 'speed_ratio' for clarity.

Page 12 of 19

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.