Skip to content
Wenhao Yu edited this page Mar 29, 2018 · 21 revisions

DartEnv

Openai Gym with Dart support

About

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.

Requirements

You need to install these packages first:

Dart

PyDart2

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

Install

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.

Example

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()

Clone this wiki locally