cbfinn / gps

Guided Policy Search
http://rll.berkeley.edu/gps/
Other
597 stars 239 forks source link

Now working with Mujoco 1.31 (the latest) #25

Closed eak24 closed 8 years ago

eak24 commented 8 years ago

To get the gps code base to work with mujoco 1.31, I referred to the official mujoco changelist.

eak24 commented 8 years ago

Here is a video of the mjc_example experiment training using MuJoCo Pro 1.31. The other mjc experiments also work with this PR.

eak24 commented 8 years ago

@cbfinn I uploaded a video (referenced in the link above) of the mjc_example experiment running with mjpro 1.31. Please let me know if there is anything else you need before accepting the PR!

svlevine commented 8 years ago

I looked at the changes, I think everything is fine as far as I can tell. One concern I have is that this will break backward compatibility for anyone still using the older version of MuJoCo. Maybe this is OK and they should upgrade anyway, but it's perhaps a little unfortunate. I made some comments about how this could be rectified, but I'm not sure about one of the files.

EDIT: Actually, maybe we should just have the current users who are using the old MuJoCo version test out this PR to make sure it doesn't break everything for them, it would be cleaner to switch to the new version completely. As far as I know, at UCB current users who might have an issue are: Bradly, Coline, Abhishek, Aviv. At UW, I don't have any issues.

eak24 commented 8 years ago

Thanks for the recommendations. I don't have access to the old mjpro library, so I cannot verify that any changes work. Do you have the ability to verify backwards compatibility?

cbfinn commented 8 years ago

Sorry for the terribly slow response on this. [I'm more available to work on this now, than I was before, so you can expect much faster response times going forward.]

I just tested this PR on a computer with an old version of mujoco on got the following compile error: /home/cfinn/code/gps_public/gps/src/3rdparty/mjcpy2/mujoco_osgviewer.cpp: In function ‘void NewModelFromXML(const char, mjModel_&)’: /home/cfinn/code/gps_public/gps/src/3rdparty/mjcpy2/mujoco_osg_viewer.cpp:481:62: error: too many arguments to function ‘mjModel* mjloadXML(const char, char_)’ In file included from /home/cfinn/code/gps_public/gps/src/3rdparty/mjcpy2/mujoco_osg_viewer.hpp:5:0, from /home/cfinn/code/gps_public/gps/src/3rdparty/mjcpy2/mujoco_osg_viewer.cpp:2: /home/cfinn/code/gps_public/gps/src/3rdparty/mjpro/mujoco.h:90:16: note: declared here make[2]: * [mjcpy2/CMakeFiles/mjcpy.dir/mujoco_osg_viewer.cpp.o] Error 1 In file included from /home/cfinn/code/gps_public/gps/src/3rdparty/mjcpy2/mjcpy2.cpp:279:0: /home/cfinn/code/gps_public/gps/src/3rdparty/mjcpy2/mjcpy2_getmodel_autogen.i: In member function ‘boost::python::dict {anonymous}::PyMJCWorld2::GetModel()’: /home/cfinn/code/gps_public/gps/src/3rdparty/mjcpy2/mjcpy2_getmodel_autogen.i:159:55: error: ‘mjModel’ has no member named ‘mat_texrepeat’ In file included from /home/cfinn/code/gps_public/gps/src/3rdparty/mjcpy2/mjcpy2.cpp:283:0: /home/cfinn/code/gps_public/gps/src/3rdparty/mjcpy2/mjcpy2_setmodel_autogen.i: In member function ‘void {anonymous}::PyMJCWorld2::SetModel(boost::python::dict)’: /home/cfinn/code/gps_public/gps/src/3rdparty/mjcpy2/mjcpy2_setmodel_autogen.i:159:42: error: ‘mjModel’ has no member named ‘mat_texrepeat’ make[2]: * [mjcpy2/CMakeFiles/mjcpy.dir/mjcpy2.cpp.o] Error 1 make[1]: * [mjcpy2/CMakeFiles/mjcpy.dir/all] Error 2 make: * [all] Error 2

cbfinn commented 8 years ago

I went ahead and fixed backwards compatibility issues in https://github.com/cbfinn/gps/pull/40. Thanks for this PR!