sail-sg / envpool

C++-based high-performance parallel environment execution engine (vectorized env) for general RL environments.
https://envpool.readthedocs.io
Apache License 2.0
1.08k stars 99 forks source link

[Feature Request] Customized Robotic Manipulation Environment #178

Open yilin-wu98 opened 2 years ago

yilin-wu98 commented 2 years ago

Motivation

We have a project that wants to have a large number of robotic manipulation environment in robogym in parallel to train a RL algorithm. I have taken a look at the docs and I know that for customized environment we need add C++ code and build from source following this guide. Also, so far in the existing added gym and dm_control environments, I haven't found any robotic arm or hand environment example. There are a lot of stuff to add in, including kinematics, different control modes, for a robotic manipulation environment if we start from C++ code and turn all the python code from robogym into C++. I am wondering if you have tested or considered adding support for robotic manipulation tasks. Do you have any suggestions on how to start to add in a complicated robotic manipulation tasks e.g., shadowhand manipulation?

Thanks for creating such a useful tool and codebase for parallel training in simulation!

Solution

Could you add some feature for easy transfer of other gym-based complicated robotic manipulation tasks into envpool? Or provide any guidance or suggestions on how to effectively build a customized robotic manipulation tasks into envpool besides what you had in the docs?

Additional context

Robogym: a repo developed by openai that has similar API as gym but includes more robotic manipulation tasks, e.g., shadowhand, etc. https://github.com/openai/robogym

Checklist

Benjamin-eecs commented 2 years ago

I am afraid that if you want to accelerate the environments in robogym using envpool, you may have to translate the python code in robogym into c++ 🙃 But I think there are two things in envpool can make your life easier: we are now working on a private pool repo #155, which is a template repo to help customized environment integrated into envpool easier, another thing is that robotic manipulation tasks of dm_control #103 is in the todo list of envpool, please stay tuned :)

One more thing is that since you mentioned shadowhand manipulation task for parallel simulations, I highly recommend issac gym, if that suits your need.

yilin-wu98 commented 2 years ago

Thanks for your reply! Regrading the private pool repo, is it public now or are you currently working on developing this repo?

Benjamin-eecs commented 2 years ago

We are still working on it, it is on the road map of envpool 0.7.0 release, hopefully :)