LoginSignup
2
0

More than 5 years have passed since last update.

OpenAI roboschool をMac High Sierraにインストール

Last updated at Posted at 2018-08-05

Open AI のロボットシミュレーション環境、RoboSchoolを、Mac High Sierra にインストールします。

環境

  • Mac High Sierra
  • Anaconda で、Python3 の環境がインストールされているとします。参考

必要なものをインストール

$ brew install cmake tinyxml assimp ffmpeg
$ brew install boost-python3
$ conda install qt
$ ln -s /usr/local/lib/libboost_python37.a /usr/local/lib/libboost_python3.a
$ ln -s /usr/local/lib/libboost_python37.dylib /usr/local/lib/libboost_python3.dylib
$ export PKG_CONFIG_PATH=$(dirname $(dirname $(which python)))/lib/pkgconfig
$ pip install future 'gym[atari]' 'gym[box2d]' 'gym[classic_control]'

roboschool のソースを取得

$ git clone https://github.com/openai/roboschool.git
$ cd roboschool
$ ROBOSCHOOL_PATH=`pwd`

bullet3 をインストール

bullet3 は物理演算エンジンです。

$ 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 ../..

上記の、make install では、$ROBOSCHOOL_PATH にインストールされます

roboschoolをインストール

以下の通り、roboschool/cpp-household/render-simple.cppを修正。

diff --git a/roboschool/cpp-household/render-simple.cpp b/roboschool/cpp-household/render-simple.cpp
index 1a3002c..10325d5 100644
--- a/roboschool/cpp-household/render-simple.cpp
+++ b/roboschool/cpp-household/render-simple.cpp
@@ -4,8 +4,8 @@
 #include <QtOpenGL/QGLFramebufferObject>

 #ifdef __APPLE__
-#include <gl3.h>
-#include <gl3ext.h>
+#include <OpenGL/gl3.h>
+#include <OpenGL/gl3ext.h>
 #endif

 // OpenGL compatibility:
$ pip install -e $ROBOSCHOOL_PATH

エラーが出た場合

    ./render-simple.h:6:10: fatal error: 'QtWidgets/QOpenGLWidget' file not found

などと出る場合は、以下のようにします。
python-3.7 の部分はバージョン番号に合わせてください。

$ brew install pkg-config
$ pkg-config --cflags Qt5Widgets Qt5OpenGL assimp python-3.7

サンプルを動かしてみる

tensorflowが必要なので、condaでインストールします。

$ conda install tensorflow
$ python $ROBOSCHOOL_PATH/agent_zoo/demo_race2.py

以下のように表示されます

スクリーンショット 2018-08-05 22.27.35.png

セグメンテーションフォルトが起こる場合

デモを実行するとセグメンテーションフォルトが起こる場合があります。

$ python $ROBOSCHOOL_PATH/agent_zoo/demo_race2.py
Segmentation fault: 11

これは、Pythonのバージョンによって起こるようです。

@kenrota に教えてもらったのですが、以下のような挙動となります。ただ、環境によっては動いたりするのでよく分かっていません。

3.6.8: x
3.6.6: x
3.6.5: x
3.6.0: o
3.5.5: x
3.5.2: o

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0