Raw File
README.md
# DartEnv
Openai Gym with Dart support

### About

**DartEnv** provides 3D multi-body simulation environments based on the <a href="https://github.com/openai/gym">**openai gym**</a> environment. The physics simulation is carried out by <a href="http://dartsim.github.io/">Dart</a> and <a href="http://pydart2.readthedocs.io/en/latest/">PyDart2</a>, which is a python binding for Dart.

### Requirements

You need to install these packages first:

<a href="http://dartsim.github.io/">Dart</a>

<a href="http://pydart2.readthedocs.io/en/latest/">PyDart2</a>

You can choose to install <a href="http://dartsim.github.io/">Dart</a> and <a href="http://pydart2.readthedocs.io/en/latest/">PyDart2</a> in a quick way:

    sudo apt-add-repository ppa:dartsim
    sudo apt-get update
    sudo apt-get install libdart6-all-dev

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


### Install

The installation is the same as for <a href="https://github.com/openai/gym">**openai gym**</a>. 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 <a href="https://github.com/openai/rllab">Rllab</a> to learn DartEnv in the <a href="https://github.com/VincentYu68/dart-env/wiki">wiki</a> 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()

back to top