-
Notifications
You must be signed in to change notification settings - Fork 21
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
Bullet support #5
Comments
We would like to add support for the Bullet physics engine to rllab. Thankfully, the Bullet team have recently provided Python bindings in the form of pybullet, and even provides examples of how to implement the This task is to add This is conceptually the same as GymEnv, which allows rllab users to import any OpenAI Gym environment and learn against them. In fact, pybullet environments implement the Gym interface, so in theory we should be done as soon as we can import pybullet. In practice, our constructor for Gym environments only takes the string name (e.g. "Humanoid-v1") of a Gym environment, not the class of a Gym environment. The pybullet environments do not have string shortcuts because they are not part of the official Gym repository. Furthermore, we'd like to use other unofficial Gym environments in rllab, but it is currently difficult for the same reason. So you might structure this task as two pull requests (1) adding pybullet to the conda environment and (2) Modifying Consider this a professional software engineering task, and provide a high-quality solution which does not break existing users, minimizes change, and is stable. Please always use PEP8 style in your code, and format it using YAPF (with the PEP8 setting). Submit your pull request against the Some notes:
|
So, if I understand this correctly, |
You decide. The goal is to enable Bullet support. Try it out and see what works and makes sense. As I noted above, since Bullet implements the Gym interface, a lot of the GymEnv code is probably reusable to achieve this, but it might require some modification. If you modify GymEnv, you still need to keep your changes backwards-compatible with the rest of rllab (and test the backwards compatibility) If you make changes to existing code to support a new feature, a good practice is to split the change into two parts: one for the underlying changes (which enable the new feature) and one for the new feature. |
Example added to example folder ryanjulian#5
Here are the changes I have made as of now: Diff.
Have not added the |
Okay, I will send the PR after I make these changes. I have added few questions for required clarifications on the comments. |
Example added to example folder ryanjulian#5
Example added to example folder ryanjulian#5
Example added to example folder ryanjulian#5
No description provided.
The text was updated successfully, but these errors were encountered: