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 14 of 18

1.4.16

This release introduces a new position/velocity bounds model that should be both more strict and more stable numerically. It acts at kinematic level instead of dynamics and absorb more energy to reduce bouncing effect. In addition, motor inertia is now taken into account for any type of 1dof joints, and the associated custom `aba`, `rnea` and `kinematicEnergy` methods are exposed in Python.

New features:
* [core/python] Expose custom pinocchio algorithms to support motor inertia.
* [core] Bounds limits efforts are now proportional to joint's subtree inertia.

Improvements:
* [core] Remove blending factor for joint bounds because it does more harm than good.
* [core] Add support of translation joints.
* [core] Support any 1D type of joints for rotor inertia.
* [core/python] Ensure constness when passing C++ variables to Python handles.
* [gym] Disable engine timeout if debug enable.

Bug fixes:
* [core] Fix edge case when reading log after calling start and no actual data is available.
* [python/simulator] Reset viewer when calling 'reset' method to avoid corrupted viewer internal state.
* [python/viewer] Various minor bug fixes.

Miscellaneous:
* [core] PRINT_* macros do not terminate by ;
* [core] Use C++17 constexpr in some places.
* [core] Add constexp 'is_pinocchio_joint_*_v' to determine the type of joint at compile type.
* [core] Improve get joint type getter to use joint visitor instead of string comparison.

1.4.15

It is now possible to load pipeline learning environment from file (json or toml). Here an example of configuration file:
toml
Choose the environment
[env_config]
env_class = "gym_jiminy.envs.ANYmalJiminyEnv"
[env_config.env_kwargs]

1.4.14

This release achieves the work of generic pipeline design by implementing missing core features to support it.

New features:
* [core] Enable to specify the initial acceleration optionally.

Improvements:
* [core] Log command instead of motors efforts at engine level. One must use effort sensors to log them.
* [core] Fetch telemetry right after updating command but before integrating the dynamics.
* [core] Log data at the min(controller_period, sensors_period) if > 0, every internal steps otherwise

Bug fixes:
* [core] Fixes hasDynamicsChanged not being set to false after recomputing the dynamics for FSAL stepper hypothesis.
* [gym] Fix argument forwarding with multiple inheritence.

Miscellaneous:
* [gym] Add pipeline design unit tests.

1.4.13

The sensors are now updated at the end of the integration steps instead of the beginning, so that the system state is now consistent with sensors data. Moreover, pipeline builder has been reworked more maximum flexibility.

New features:
* [python] Replace 'BaseJiminyController' controller by 'BaseJiminyObserverController' to add dedicated observer support.
* [gym] Add frame stacking pipeline block and wrapper.

Improvements:
* [core] Update sensors data at the end of 'step' for consistency with robot state.
* [gym] Controller/observer blocks must be fully configured at init. Block '_setup' is now called at 'reset'.
* [gym] Take advantage of new dedicated observer.
* [gym] 'get_observation' recursively shadow-copy observation before returning it to avoid altering original data structure.
* [gym] Rework pipeline builder to be more flexible.

Bug fixes:
* [gym] Fix observe/control update period computed at init instead of reset.
* [gym] Update '_action' buffer to match latest 'compute_command' call.

Miscellaneous:
* [core] Add 'PRINT_WARNING' macro, to print debug message when compiling in debug mode only.
* [gym] Rename '*DictRecursive' in '*DictNested' for clarity.

1.4.12

This release greatly improves the compliance with OpenAI Gym API by enforcing complete configuration of the environment at initialization. As a result, it is no longer possible to change environment properties such as the observation and action spaces, but it is still possible to update the load a different robot model as long as it is compatible with those properties. So it should not be limiting fr the vast majority of applications.

New features:
* [gym] Make sure the environment is completely initialized at '__init__', which is expected by OpenAI Gym API.

Improvements:
* [core] Catch some seldom exceptions.
* [core] Enable to call 'initialize' multiple times for 'Engine*'.
* [core] 'isSimulationRunning' is set to True at the end of 'start' instead of the beginning.
* [gym] Force sending zero motor efforts at reset since the initial action is undefined.

Bug fixes:
* [core|python] Several critical bug fixes.
* [gym] Fix base env '_setup' method not called at reset.

1.4.11

Observers and controllers can now be mixed freely, with independent update period.

New features:
* [gym] Add 'PartialFrameStack' wrapper and 'build_wrapper' utility.
* [gym] Add dedicated 'observe_dt' attribute to observer interface.
* [gym] Rework observation block to support multiple update period and more flexible pipeline architecture.

Improvements:
* [core] Enable to access sensors group shared data matrices by reference without copy.
* [core/python] Do not cast-away constness when sharing memory between Eigen Matrix and np.ndarray.
* [python] Handle more C++ exceptions.
* [gym] Refactor 'reset' of gym environment to fix initial state inconsistency and make everything simpler.
* [gym] Factorize pipeline wrappers 'step' method.

Bug fixes:
* [python/viewer] Fix display in Spyder IDE.
* [gym] Fix set seed simulator. Fix cartpole 'compute_command'.
* [gym] Fix 'write_log' missing format.

Miscellaneous:
* [gym] Rename 'gym_jiminy_common' in 'gym_jiminy' for clarity.

Page 14 of 18

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.