Closed eak24 closed 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.
@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!
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.
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?
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
I went ahead and fixed backwards compatibility issues in https://github.com/cbfinn/gps/pull/40. Thanks for this PR!
To get the gps code base to work with mujoco 1.31, I referred to the official mujoco changelist.