Skip to content

Enhanced random number generation

Compare
Choose a tag to compare
@duburcqa duburcqa released this 30 Jan 17:56
· 31 commits to dev since this release

This release addresses a few long-standings issues that has been planned a while ago. First, ground profile heightmaps are now converted in collision geometry object and decimated if requested. This was a pre-requisite for generic collision detection. Next, each engine now owns its own local random number generator instead of relying on some hidden global state that was causing concurrency issues. In additional, a few bugs have been fixed here and there. Notably, force sensors are now only measuring contact forces acting on a given body rather then all external forces. It is the first release to partially support Python 3.12 (jiminy_py module).

New features

  • [core] Faster random number generator (PCG32).
  • [core] Faster sampling of random matrices (uniform and normal distributions) from any generator (including numpy).
  • [core] Heightmap discretization now returns a geometry object and support decimation.
  • [python/viewer] Implement ground rendering from meshcat.

Improvements

  • [core] Get rid of global random state.
  • [core] 'ForceSensor' measures only contact forces.
  • [core] Passing wrong size to 'isPositionValid' does not trigger exception anymore.
  • [core/python] Slightly faster functional controller by removing useless layer of indirection.
  • [gym_jiminy/common] 'sample' utility now supports any custom distribution.

Patches and bug fixes

  • [core] Fix sensor delay computation.
  • [core] Fix sensor measurements at start.
  • [core] Fix broken PeriodicFourierProcess since 1.7.18.
  • [python/viewer] Fix camera pose when travelling is enabled with panda3d.
  • [gym_jiminy/common] Fix support of empty arrays for 'contains' space utility.

Miscellaneous

  • [python/viewer] Detect Apple Silicon GPU to enable high-res shadow for panda3d.
  • [misc] Add support of Python 3.12 for 'jiminy_py' module.