Skip to content

Fix Windows / Jupyter support. New features for Gym interface.

Compare
Choose a tag to compare
@duburcqa duburcqa released this 23 Aug 17:37
· 267 commits to master since this release

This release improves Jupyter notebook and Windows support using meshcat as Viewer backend. It also introduces new features to the Gym robot interface and updates its API to be closer to Gym Mujoco.

New features:

  • [python/engine_asynchronous] Properly handle viewer backend exception.
  • [viewer/Viewer] Viewer now creates unique robot_name if not specified.
  • [viewer/Viewer] Enable capture frame on Windows and in Jupyter notebook using background process and IPC.
  • [viewer/Viewer] Add option to disable viewer automatic gui opening at viewer backend startup.
  • [viewer/Viewer] Redirect meshcat 'static' url without trailing '/' for convenience
  • [viewer/play_trajectory] Do not throw exception if viewers in input are no longer available.
  • [viewer/play_trajectory] Merge video recording options in a single one.
  • [gym/robot] Catch engine exception to avoid step failure.
  • [gym/robot] Improve temp file management.
  • [gym/robot] Remove robot name attribute
  • [gym/robot] Support and extend standard methods of Mujoco/Gym interface.
  • [gym/robot] Support user-defined reward info in dedicated field (usually, each individual component of total step reward)
  • [gym/robot] Support 'rgb_array' rendering mode
  • [gym/robot] Add terminal reward computation
  • [gym/robot] Add whole episode replay (including video recording capability)
  • [gym/robot] Remove extra bounds to observation space to deal with soft joint bounds. Rather clamp the observation and set 'is_done' to True.

Patches and bug fixes:

  • [misc] Fix opencv requirement not building on manylinux
  • [python/engine_asynchronous] Do not require a meshcat client during rendering
  • [gym/robot] Do not delete log file in debug mode
  • [viewer/Viewer] Do not throw error but warning if 'wait' is not available.
  • [viewer/Viewer] Do not kill meshcat server and recorder when SIGINT signal is emitted.
  • [viewer/Viewer] Make sure multiprocessing IPC managers are properly closed when viewer is closed.
  • [viewer/Viewer] Improve running meshcat server detection.
  • [viewer/Viewer] Improve default meshcat initial camera pose.
  • [viewer/Viewer] Fix capture frame not waiting for mesh loading.
  • [viewer/Viewer] Fix viewer open_gui if already existing meshcat server.
  • [viewer/Viewer] Fix broken viewer in Jupyter even on Linux
  • [viewer/Viewer] Fix favicon request warning using meshcat
  • [viewer/play_trajectory] Fix video recording.
  • [gym/robot] Fix clamped observation computation