-
Notifications
You must be signed in to change notification settings - Fork 17
Home
Openai Gym with Dart support
DartEnv provides 3D multi-body simulation environments based on the openai gym environment. The physics simulation is carried out by Dart and PyDart2, which is a python binding for Dart.
You need to install these packages first:
You can choose to install Dart and PyDart2 in a quick way:
sudo apt-add-repository ppa:dartsim
sudo apt-get update
sudo apt-get install libdart6-all-dev
Note for Ubuntu 14.04 Trusty:
To correctly handle collision for capsule shape, ODE(Open Dynamics Engine) is required. However, currently, libode-dev seems to be broken on Trusty if installed from apt-get. To use capsule shape, please go to ODE download for installing ODE from source and then go to Dart for installing Dart from source.
To install PyDart2 for python2:
sudo apt install python-pip
pip install numpy
pip install PyOpenGL PyOpenGL_accelerate
sudo apt-get install swig python-pyqt5 python-pyqt5.qtopengl
sudo pip install pydart2
For python3:
sudo apt install python3-pip
pip3 install numpy
pip3 install PyOpenGL PyOpenGL_accelerate
sudo apt-get install swig python3-pyqt5 python3-pyqt5.qtopengl
sudo pip3 install pydart2
Note:
If installing pydart2 from pip doesn't work, try installing it from source code:
git clone https://github.com/sehoonha/pydart2.git
cd pydart
python setup.py build build_ext
python setup.py develop
After installing, you may need to add the pydart2 path to the environment variable:
export PYTHONPATH='PATH_TO_PYDART2':$PYTHONPATH
The installation is the same as for openai gym. To install, simply do
For python2:
git clone https://github.com/VincentYu68/dart-env.git
cd dart-env
pip install -e .[dart]
For python3:
git clone https://github.com/VincentYu68/dart-env.git
cd dart-env
pip3 install -e .[dart]
Please find the detailed installation instruction of using Rllab to learn DartEnv in the wiki page.
After installation, you can run DartEnv using the same API as openai gym. One example of running the dart version of the Hopper model is shown below:
import gym
env = gym.make('DartHopper-v1')
observation = env.reset()
for i in range(100):
observation, reward, done, envinfo = env.step(env.action_space.sample())
env.render()