Skip to content

Quality-of-Life Improvements

Latest
Compare
Choose a tag to compare
@duburcqa duburcqa released this 23 Jan 07:22
fe51034

This release mainly streamlines environment composition (i.e. plug-and-play rewards and termination conditions). Several API has been refactor to be more convenient and intuitive. Notably, the official gym wrapper API (gymnasium>=1.0) to get/set nested attributes has been adopted (i.e. (get|set)_wrapper_attr). Besides, a few additional quantities have been added. As usual, several bugs, this time mainly related to ray[RLLib], have been fixed, and task curriculum has been refactored to be implemented as a pipeline wrapper rather than a mixin class to integrate nicely with environment pipeline design.

New features

  • [gym_jiminy/common] Add instantaneous mechanical power quantity. (#862)
  • [gym_jiminy/common] Add support of ellipsis to 'MaskedQuantity'. (#862)
  • [gym_jiminy/common] Add generic concatenation quantity. (#862)
  • [gym_jiminy/common] Add quantity mixing reference position vector with true odometry pose. (#862)

Improvements

  • [core|python] Ground profile now included in persistent log files and automatically loaded for replay. (#867)
  • [gym_jiminy/common] Flatten info hierarchy for reward components. (#862)
  • [gym_jiminy/common] Do not store individual termination condition states in info. (#862)
  • [gym_jiminy/common] Use asymmetric sigmoid normalization for stability reward. (#862)
  • [gym_jiminy/common] Trajectory time mode is not specific to each trajectory in the dataset. (#863)
  • [gym_jiminy/common] Trajectory time offset is now a global attribute of the dataset. (#863)
  • [gym_jiminy/common] 'QuantityManager' now has its own API instead of abusing mutable dict. (#863)
  • [gym_jiminy/common] Stop relying on confusing dark-magic '__getattr__' in favor of explicit delegation. (#863)
  • [gym_jiminy/common] Add option to allow registering variables to the telemetry in training mode. (#862)
  • [gym_jiminy/common] Move initial state sampling after reset all of the layers of the pipeline. (#867)
  • [gym_jiminy/toolbox|rllib] Task-settable capability is now provided by a wrapper. (#864)

Patches and bug fixes

  • [gym_jiminy/common] Fix hard-coded termination conditions not being recorded in 'info'. (#862)
  • [gym_jiminy/common] Fix 'log_path' not properly reset at setup. (#862)
  • [gym_jiminy/common] Fix 2D Euclidean space angle algebra for drift and shift termination conditions. (#865)
  • [gym_jiminy/rllib] Fix evaluation sampling. (#863)

Miscellaneous

  • [misc] Fix doc generation. (#862)
  • [misc] Fix broken Python bindings docstring substitution. (#863)
  • [misc] Add support of Python 3.13. (#868)