openai / roboschool
- четверг, 18 мая 2017 г. в 03:11:52
Python
Open-source software for robot simulation, integrated with OpenAI Gym.
Release blog post is here:
https://blog.openai.com/roboschool/
Roboschool is a long-term project to create simulations useful for research. The roadmap is as follows:
The list of Roboschool environments is as follows:
To obtain this list: import roboschool, gym; print("\n".join(['- ' + spec.id for spec in gym.envs.registry.all() if spec.id.startswith('Roboschool')]))
.
First, define a ROBOSCHOOL_PATH
variable in the current shell. It will be used in this README but not anywhere in the Roboschool code.
ROBOSCHOOL_PATH=/path/to/roboschool
The dependencies are gym, Qt5, assimp, tinyxml, and bullet (from a branch). For the non-bullet deps, there are several options, depending on what platform and package manager you are using.
Ubuntu:
apt install cmake ffmpeg pkg-config qtbase5-dev libassimp-dev libpython3.5-dev libboost-python-dev libtinyxml-dev
Linuxbrew
brew install boost-python --without-python --with-python3 --build-from-source
export C_INCLUDE_PATH=/home/user/.linuxbrew/include:/home/user/.linuxbrew/include/python3.6m
export CPLUS_INCLUDE_PATH=/home/user/.linuxbrew/include:/home/user/.linuxbrew/include/python3.6m
export LIBRARY_PATH=/home/user/.linuxbrew/lib
export PKG_CONFIG_PATH=/home/user/.linuxbrew/lib/pkgconfig:/usr/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig
(still use Qt from Ubuntu, because it's known to work)
Mac, homebrew python:
# Will not work on Mavericks: unsupported by homebrew, some libraries won't compile, upgrade first
brew install python3
brew install cmake tinyxml assimp ffmpeg qt
brew install boost-python --without-python --with-python3 --build-from-source
export PATH=/usr/local/bin:/usr/local/opt/qt5/bin:$PATH
export PKG_CONFIG_PATH=/usr/local/opt/qt5/lib/pkgconfig
Mac, Anaconda with Python 3
brew install cmake tinyxml assimp ffmpeg
brew install boost-python --without-python --with-python3 --build-from-source
conda install qt
export PKG_CONFIG_PATH=$(dirname $(dirname $(which python)))/lib/pkgconfig
Compile and install bullet as follows. Note that make install
will merely copy files into the roboschool directory.
git clone https://github.com/olegklimov/bullet3 -b roboschool_self_collision
mkdir bullet3/build
cd bullet3/build
cmake -DBUILD_SHARED_LIBS=ON -DUSE_DOUBLE_PRECISION=1 -DCMAKE_INSTALL_PREFIX:PATH=$ROBOSCHOOL_PATH/roboschool/cpp-household/bullet_local_install -DBUILD_CPU_DEMOS=OFF -DBUILD_BULLET2_DEMOS=OFF -DBUILD_EXTRAS=OFF -DBUILD_UNIT_TESTS=OFF -DBUILD_CLSOCKET=OFF -DBUILD_ENET=OFF -DBUILD_OPENGL3_DEMOS=OFF ..
make -j4
make install
cd ../..
Finally, install project itself:
pip3 install -e $ROBOSCHOOL_PATH
Now, check to see if it worked by running a pretrained agent from the agent zoo.
We have provided a number of pre-trained agents in the agent_zoo
directory.
To see a humanoid run towards a random varying target:
python $ROBOSCHOOL_PATH/agent_zoo/RoboschoolHumanoidFlagrun_v0_2017may.py
To see three agents in a race:
python $ROBOSCHOOL_PATH/agent_zoo/demo_race2.py