Skip to content

[gym] Pipeline control design

Compare
Choose a tag to compare
@duburcqa duburcqa released this 30 Oct 14:03
· 240 commits to master since this release
b9cf1aa

This release introduces a new pipeline control architecture design for Gym environments. A controller is an independent block, that can be connected directly to an environment or another controller. In addition, a new Gym toolbox sub-module has been created, which is intended to gather tools for learning based on Pytorch.

Bug fixes:

  • [core] Fix edge case where the controller could be updated twise successively.
  • [core/python] Fix controller functor q/v type to avoid creating Eigen::Ref for nothing.
  • [core|python] Do not overwrite meshScale for convex, just ignore it when loading in viewer.
  • [python/robot] Fix 'gcd' for float.
  • [python/viewer] Properly initialize default backend viewer.
  • [python/meshcat] Fix client opening.

Improvements:

  • [core] Use collisionResults instead of distanceResults to compute collisions for efficiency. Use 5 contact points by default.
  • [core] More robust normal and penetration depth handling for collisions.
  • [python] Various minor style improvements.
  • [python/meshcat] Enable specifying custom material type when load geometry.
  • [python/meshcat] Enable to visualize FCL BVHModelOBBRSS meshes.
  • [python/meshcat] Use group to enable/disable 'visible' property and to delete scene.
  • [python|gym] Add new learning toolbox module.
  • [gym] Add global option to enable/disable obs/action finite bounds.
  • [gym] Add new 'BaseController' base controller and 'ControlledJiminyEnv' [env + controller] wrapper.
  • [gym] Add 'PDController' block and use it in zoo envs.

Miscellaneous:

  • [misc] Add copyright Pinocchio when necessary.
  • [misc] Do not start URDF with comments since it is not properly supported.
  • [misc] Cleanup unit test cmake config.
  • [misc] Add support of ASCII art diagram in docs.
  • [misc] More robust and versatile cmake pip install and wheel generation helpers.
  • [misc] Improve CI scripts and remove warnings during build docs.
  • [python|gym] Use Python namespace to enable installing components individually.
  • [gym] Add 'controller_dt' attribute and 'compute_command' method. Rename '_setup_environment' in '_setup'.
  • [gym] Use np.float32 for obs/action spaces.
  • [gym] Update docs.