openai / mujoco-py

MuJoCo is a physics engine for detailed, efficient rigid body simulations with contacts. mujoco-py allows using MuJoCo from Python 3.
Other
2.86k stars 815 forks source link

[Feature request]: Support for Mujoco 2.0 #303

Closed zuoxingdong closed 5 years ago

gpzhaome commented 6 years ago

I'm also wondering if Mujoco 2.0 will be supported.

ogroth commented 6 years ago

+1 on the feature request :) MuJoCo 2.0 has quite a few useful features (simulation of non-rigid objects, semantic segmentation rendering of individual geoms). Are there any plans to support the new MuJoCo version or is there even a timeline for a tentative release of mujoco-py 2.0? Out of curiosity I've tried to wrap the new MuJoCo headers myself by pointing the wrapper generator to the new files, but the new GUI APIs cause issues since the current wrapping script can't parse C union data structures which are used in the new headers.

machinaut commented 6 years ago

Right now we don't use it internally, and unfortunately the way bindings were released was very manual and took a lot time to get tests for everything we thought of (but the tests are by no means comprehensive).

Additionally, in the past when we've moved versions, we've found reinforcement learning benchmarks (performance of a trained policy, learning curves of an implementation, etc) change.

However the improved speed is a pretty compelling reason to consider the upgrade.

Inspired individuals are encouraged to look at the pxd files, which (although they look like they were autogenerated from headers, it was actually sadly manual) need updating https://github.com/openai/mujoco-py/tree/master/mujoco_py/pxd

I took a quick stab at the update and there were enough changes to header file and struct definitions that all the interfaces are backwards-incompatible (probably why it went from a 1.x release to a 2.x release).

The interface changes in the release notes look like it shouldn't be too much work to make a new version -- but since this is incompatible, I think the real question is about whether/when to support this release, and whether to support multiple releases or deprecate the 1.50 series.

release notes https://www.roboti.us/index.html#mujoco200

cc: @jonasschneider

machinaut commented 6 years ago

Also if you want to prototype today using mujoco 2.0.0 and python, and don't mind rebuilding environments the DeepMind Control Suite looks like it's been updated

https://github.com/deepmind/dm_control

(I haven't actually tried it out yet myself, just saw that there's a mujoco200 update in the commit history)

zuoxingdong commented 5 years ago

@machinaut some news recently regarding upgrading to Mujoco 2.0 ?

hyc6668378 commented 5 years ago

please update to Mujoco_py 2.0. I can't wait any more...

kracon7 commented 5 years ago

Also wondering if there's any timeline on support for mujoco2.0. Really appreciate it.

Ziyu-Ji commented 5 years ago

Same here. I'm working on non-rigid object. Need it so bad.

MillionIntegrals commented 5 years ago

You can check out #368, should be merged relatively soon.

MillionIntegrals commented 5 years ago

This is done now. Just released a version 2.0.2.0a1.