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.