Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace MuJoCo environments with Roboschool. #5

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

rhofour
Copy link

@rhofour rhofour commented Jul 8, 2017

Experts are replaced with policies from the Roboschool agent zoo.
Some now unnecessary files are removed.

Experts are replaced with policies from the Roboschool agent zoo.
Some now unnecessary files are removed.
@rhofour
Copy link
Author

rhofour commented Jul 8, 2017

This fixes #3

@cbfinn
Copy link
Contributor

cbfinn commented Jul 8, 2017

Instead of replacing MuJoCo, I think it would be better to have a flag to switch between them, in case some people want to use it (especially since MuJoCo licenses are now free for educational uses)

@rhofour
Copy link
Author

rhofour commented Jul 8, 2017

I was thinking it would be simpler this way and I didn't really see a need to preserve the MuJoCo environments. While the two aren't identical, for the purposes of this homework I think they both do just as well. However, if you think it's important to keep both I can refactor things a bit and put them back.

@cbfinn
Copy link
Contributor

cbfinn commented Jul 8, 2017

Yes, I think it's important to keep both.
MuJoCo is currently the dominant choice for physics simulation at Berkeley, and thus the future instructors of the course will be most familiar with it, compared to Bullet.
Thank you for your contribution!

@rhofour
Copy link
Author

rhofour commented Jul 9, 2017

It might take a little bit because mujoco-py doesn't want to install on my computer, but I can install an Ubuntu VM and hopefully then I'll be able to get the roboschool and mujoco environments to coexist.

@cbfinn
Copy link
Contributor

cbfinn commented Jul 9, 2017

@abhishekunique @jachiam might be able to help (e.g. by testing it), as they are TA'ing the course next semester.

@jachiam
Copy link

jachiam commented Jul 9, 2017

Hey! Yes, can certainly take a look at this sometime this week.

Note that we're using the v1 policies still.
@cuevasclemente
Copy link

cuevasclemente commented Sep 13, 2017

Hey all,

I have a branch here: https://github.com/cuevasclemente/homework/tree/roboschool/hw1 that runs the Roboschool code, and as far as I can tell, it doesn't touch anything related to running the mujoco models. It does add an additional dependency, dill (along with adding a roboschool dependency) which I used just to keep the model files intact while pickling.

To do this I took the v0 models for the equivalent environments from roboschool, instantiated each of the models, and then used dill to pickle those models. I have my hack around the existing code here (highlighted the pickling bit): https://github.com/cuevasclemente/roboschool/blob/pickle-experts/agent_zoo/RoboschoolHalfCheetah_v0_2017may.py#L289-L298

I can understand if you may be concerned about security issues for people uploading binaries so you can change the output directory on this line https://github.com/cuevasclemente/roboschool/blob/pickle-experts/agent_zoo/RoboschoolHalfCheetah_v0_2017may.py#L296 to where you want the dill-pickled files to go if you want to populate the pickles yourself or not use the pickles that I have uploaded on my branch.

After I've put the roboschool models in the file I run them like this:
$ ./run_expert.py experts/RoboschoolHalfCheetah-v1.pkl RoboschoolHalfCheetah-v1

It would take a bit of effort for me to get the MuJoCo code tested since I'm on a Mac, so I'm not really looking to do that, but if necessary I can try to get around to it.

@jperl
Copy link

jperl commented May 8, 2018

Thank you for this @rhofour!!

ogail pushed a commit to ogail/homework that referenced this pull request Apr 19, 2019
@rbahumi rbahumi mentioned this pull request May 6, 2019
@rbahumi
Copy link

rbahumi commented May 6, 2019

I have added a pull request that replaces MuJoCo environments with Roboschool based on @rhofour pull request with additional:

  1. MoJoCo is supported and it is also the default engine. (as of @cbfinn request)
  2. Added a Dockerfile and submitted that can run the Roboschool engine out of the box. (also in dockerhub)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants