Skip to content

Full set of termination conditions

Latest
Compare
Choose a tag to compare
@duburcqa duburcqa released this 17 Jul 10:55
e58bdb5

This release introduces composition of termination conditions via a first-class abstraction, in the same way as generic quantities and reward components. Apart from that, the viewer now supports adding extra camera to the scene, including depth map. In the later case, the implementation has been heavily optimised for speed. It takes about 400us on a laptop with intel integrated chipset to render a 128 x 128 depth map. One last new important feature is the support of smooth random ground generation through 2D Perlin processes. Querying the ground height at multiple locations in a LIDAR fashion has also been optimised for speed. It takes about 5us for 100 points. Finally, some critical components has been sped up, notably quantity management and evaluation is now one order of magnitude faster (10% to 25% overhead compare to physics evaluation for a full set of about 20 reward and termination conditions), and the viewer should be about twice faster for both onscreen and offscreen rendering with Panda3D.

image

image

New features

  • [core] All random processes are now differentiable. (#799)
  • [core] Add Perlin ground generators. (#799) (#823) (#825)
  • [python/viewer] Add support of user-specified extra cameras (rgb and depth). (#826)
  • [gym/common] Add multi-ary operator quantity. (#814)
  • [gym/common] Add termination condition abstraction. (#812)
  • [gym/common] Add support of termination composition in pipeline environments. (#812)
  • [gym/common] Add quantity shift and drift tracking termination conditions. (#812)
  • [gym/common] Add base roll/pitch termination condition. (#813)
  • [gym/common] Add base relative height termination condition. (#813)
  • [gym/common] Add foot collision termination condition. (#813)
  • [gym/common] Add safety limits termination condition. (#814)
  • [gym/common] Add robot flying termination condition. (#815)
  • [gym/common] Add power consumption termination condition. (#816)
  • [gym/common] Add ground impact force termination condition. (#816)
  • [gym/common] Add base odometry pose drift tracking termination condition. (#817)
  • [gym/common] Add motor positions shift tracking termination condition. (#817)
  • [gym/common] Add relative foot odometry pose shift tracking termination conditions. (#820)

Improvements

  • [core] Make all Perlin processes faster and copy-able. (#799) (#824)
  • [python/viewer] Significantly speed-up both offscreen and onscreen rendering for Panda3D. (#826)
  • [gym/common] More generic stacking quantity. (#812)
  • [gym/common] More generic actuated joint kinematic quantity. (#814)
  • [gym/common] Add 'order' option to 'AdditiveReward'. (#821)
  • [gym/common] Refactor quantity management to dramatically improve its performance. (#821)

Patches and bug fixes

  • [core] Fix robot serialization issue. (#821)
  • [core] Fix negative time support for all existing random processes. (#799)
  • [python/tree] Fix 'tree.unflatten_as' mixing up key order for 'gym.spaces.Dict'. (#819)
  • [python/simulator] Consistent keyword arguments between 'Simulator.build' and 'Simulator.add_robot'. (#821)
  • [python/viewer] Fix MacOS support. (#822)
  • [gym/common] Fix quantity hash collision issue in quantity manager. (#821)