Jiminy-py

Latest version: v1.8.6

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

Scan your dependencies

Page 1 of 18

1500.0

pid_kd = [3.0e-3, 3.0e-3, 3.0e-3, 3.0e-3, 3.0e-3, 3.0e-3, 3.0e-3, 3.0e-3, 3.0e-3, 3.0e-3, 3.0e-3, 3.0e-3]
[blocks_config.wrapper_kwargs]
augment_observation = true

Partially stack observation frames
[[blocks_config]]
wrapper_class = "gym_jiminy.common.wrappers.StackedJiminyEnv"
[blocks_config.wrapper_kwargs]
nested_fields_list = [
["t"],
["sensors", "ImuSensor"],
["targets"],
]
num_stack = 3


New features:
[gym] Add 'load_pipeline' utility to load pipeline from file.

Miscellaneous:
[gym] Use folder architecture for clarity and maintainability.

1.8.6

This main focus of this release is to introduce a new generic reward component toolbox. Defining new highly-optimised reward components is a breeze thanks to the dynamic computation graph capability of first-class quantities that was previously introduced and significantly extended here. The learning environment pipeline design has been extended to allow for specifying reward components and reference trajectories in configuration files. Regarding the physics engine, simple mechanical reductions are now fully supported, and handling of velocity bounds has been reworked to be physically grounded. For the record, the pre-defined learning environment for Atlas using PD controllers has a real time factor of 120 on a single core (Apple M3 Max).

New features

* [core] Add stairs terrain mwulfman (797)
* [core] Implement velocity limits at motor-level. (798)
* [core] Enable attaching encoders either on motor or joint side. (798)
* [core] Mechanical reduction is now fully supported. (798)
* [core] Add velocity-torque slope when approaching maximum torque. (798)
* [python] Introduce first-class trajectory object. (790)
* [gym/common] Add simulation vs trajectory quantity evaluation mode. (791) (792)
* [gym/common] Add more pre-defined computation graph quantities. (783) (784)
* [gym/common] Introduce reward component toolbox leveraging computation graph. (784) (786) (792)
* [gym/common] Support specifying reward in pipeline config. (787) (792)
* [gym/rllib] Add symmetry surrogate loss in PPO algorithm. mwulfman (780)

Improvements

* [core] Make 'jiminy::Model' and 'jiminy::Robot' copyable. (791)
* [core] Define position, velocity and effort limits at motor level. (798)
* [core] Allow direct access to all motors / sensors attached to a robot. (798)
* [core] Remove spring-damper position bounds dynamics to always use constraints. (798)
* [core] Remove damper velocity bounds dynamics. (798)
* [core] Define motor armature option at motor-side. (798)
* [core] Effort sensors now correctly measure motor effort before transmission. (801)

Patches and bug fixes

* [core] Fix adding flexibility frame on root joint of fixed-base robot. (798)
* [python/log] Fix trajectory and sensor data extraction and replay from log. (800)
* [python/plot] Get around tabbed figure hanging for 'matplotlib>=3.8'. (795)
* [gym/env] Update all robotic environment to avoid truncation under random actions. (800) (801)
* [gym/rllib] Fix checkpoint save location. mwulfman (788) (789)

Miscellaneous

* [core] Remove dedicated robot attributes for position, velocity and effort limits. (798)
* [core] Remove inefficient motor / sensor convenience helpers of 'Robot'. (798)
* [core] Log total joint effort instead of confusing motor effort on joint side. (798)
* [core] Move 'enable(Velocity|Effort)Limit' options from AbstractMotor to SimpleMotor. (798)
* [gym/common] Do NOT pass 'truncated' argument to 'compute_reward'. (783)
* [gym/common] Pass 'info' in argument of 'has_terminated' for consistency. (783)
* [gym/common] Remove BaseJiminyEnv 'enforce_bounded_spaces' option by lack of use-case. (783)
* [gym/common] Increase timeout ratio from 10 to 15 to avoid Mac OS CI failure. (786)
* [gym/common] Get around some memory alignment issue with Boost < 1.78. (794)
* [misc] Update install instructions on windows. (787)
* [misc] Improve documentation. (790)

1.8.5

Robots are now fully serialized in log files, including all their hardware but not their controller. This means that they can be used for running new simulation without any issue. Previously, they are only suitable for viewer replay. Apart from that, some outdated environment pipeline wrappers have been refactored to significantly improve their performance.

New features

* [core] Full support of serialization of 'Robot'. (770) (775)

Improvements

* [core] Log the acceleration both at the end and the beginning of a step if dynamics has changed. (779)
* [python/simulator] 'plot' now support multi-robot simulations. (770)
* [gym/common] Speedup 'PDController' env pipeline block. (770)
* [gym/common] Speedup 'StackedJiminyEnv' wrapper. (770)
* [gym/common] More generic 'FilterObservation', 'StackedJiminyEnv' wrappers. (770) (776)

Patches and bug fixes

* [core] Fix pessimistic step adjustment that could lead to undeserved integration failure.
* [core] Fix inconsistent acceleration after updating discrete-time controller command. (779)
* [gym/common] Improve 'Env.render_mode' support.
* [gym/rllib] Fix multi-GPU support using custom PPO (774)

Miscellaneous

* [gym/zoo] Cleanup and speedup toy model environments. (770)
* [misc] Add RL tutorial notebook.

1.8.4

A new API for defining quantities in reward and termination conditions computations has been added. The first objective is to make much easier to new comers that are not used to rigid body dynamics, and secondly, to compute them as efficiently as possible. In this regard, a new quantity manager is responsible for keeping track of all quantities involved in computations and optimisation the overall computation path, by avoiding redundant computations through caching and sharing of intermediary quantities, but also by aggregating them whenever possible to take advantage of vectorisation optimally. Apart from that, the multi-robot simulations have been made much easier by supporting them via Python API. Finally, backlash in simple motor transmission are now natively supported, modelled an extra virtual joint together with a massless body.

New features

* [core] Add backlash support at motor-level. (767)
* [python/simulator|python/plot] First-class multi-robot support. (754) (764) (766)
* [gym/common] Introduce new first-class quantity manager. (749) (751) (752) (756)

Improvements

* [core] Clarify terminology: 'Rigid' by 'Mechanical', 'Original' by 'Theoretical', 'Actual' by 'Extended'. (753) (762) (763)
* [core] User is now systematically responsible for serializing constants before telemetry registration. (753)
* [core] Consistent export/import/get/set options between single- and multi-robot simulations. (758) (760) (761)
* [core/python] Add method to query heightmaps on multiple positions at once. (750)
* [gym/common] Plot state, action and features of all pipeline blocks. (750)
* [gym/common] PD controller now satisfies position, velocity and acceleration bounds. (750) (765) (768)
* [gym/common] Allows PD control with position action. (750)
* [gym/common] Decouple PD controller action order adapter from acceleration integration. (764)

Patches and bug fixes

* [core] Fix bias/noise check for EncoderSensor. (744)
* [core] Fix exception not caught during stepper integration. (747)
* [core] More appropriate tolerance when checking GCD to avoid false positive. (753)
* [python/viewer] Fix arrow maker with panda3d backend.
* [python/viewer] Fix viewer automatic closing during replay not working. (756)
* [gym/common] Fix corrupted robot proxy if model changes. (746)

Miscellaneous

* [core] Fix some symbols not exported by mistake. (742)
* [gym/common] Refactor 'compute_command' to operate in-place. (764)
* [gym/rllib] Migrate from ray[rllib]==2.5.0 to 2.9.*. (739)
* [misc] More robust build procedure. (739) (746)
* [misc] Upgrade C++ dependencies. (741)
* [misc] Fix numpy version requirement. (750)

1.8.3

A observer block for multiple punctual deformations has been implemented at position-level only. This is based on the work of [Matthieu Vigne et al.](https://hal.science/hal-03511198/document). In addition, a bunch of minor bugs has been fixed as usual.

New features

* [gym/common] Add 'DeformationEstimator' block. (732)

Improvements

* [core] More bad control flow checks. (730)
* [core/python] 'Model' can now be instantiated from Python. (730)
* [gym/common] Add 'compute_tilt_from_quat', 'swing_from_vector', and 'remove_twist_from_quat'. (731)
* [gym/common] Allow negative block update period to match env step. (734)

Patches and bug fixes

* [core] Fix broken 'getRigidVelocityFromFlexible'. (732)
* [core/python] Fix partially broken 'FunctionalController' bindings. (730)
* [core/python] Fix multiple typos. (731)
* [python/simulator] Fix 'robot' and 'robot_state' corrupted if robot is replaced. (731)
* [gym/common] Fix 'refresh_observation' being called before 'initialize_buffers' at simulation start. (731)
* [gym/common] Fix broken mahony filter for 'twist_time_constant != None'. (731)
* [gym/common] Fix support of non-batched mode for generic math. (731)
* [gym/common] Fix 'matrix_to_rpy' to be consistent with 'pin.matrixToRpy'. (731)
* [gym/envs] Fix broken 'Ant' environment. (731)

Miscellaneous

* [core] Print warnings even for release build type. (731)
* [gym/common|gym/toolbox] Promote generic SE3 math utilities from toolbox to common module. (731)
* [misc] Update documentation. (736)

1.8.2

The confusing and unnecessary notion of system, ie a named pair (robot, controller), has been completely removed. All robots now have a name, and the controller is now an integral part of the robot. Similarly, the single-robot wrapper around the multi-robot Engine has been removed from C++ core. Note that the Python wrapper `Simulator` is still single-robot for now. Finally, the numerical stability of the constraint solver has been improved using the under-relaxation technics.

Improvements

* [core] Add relaxation to PGS solver to mitigate convergence instabilities. (726)

Patches and bug fixes

* [core] More conservative step adjustment for adaptive steppers. (724)
* [python/plot] Synchronise x-axes on all tabs by default. (724)
* [gym/common] Ease debugging of Gym environments. (724)
* [gym/common] Do not enforce 'dtMax'. (727)

Miscellaneous

* [core] Remove confusing and unnecessary 'System' hierarchy. (728)
* [core] Remove single-robot 'Engine' class. (728)

Page 1 of 18

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.