LoginSignup
1
1

More than 3 years have passed since last update.

RoboschoolでなくPyBulletを使いましょう

Posted at

始まり

最近久しぶりにroboschoolの入っている強化学習の検証用Dockerimageをビルドし直したんですが、roboschoolをimportするところで以下のようなエラーが出るようになってしましました。

ImportError: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.28 not found (required by /usr/local/lib/python3.6/dist-packages/roboschool/.libs/libQt5Core.so.5)

いろいろ調べてみるとどうやら求めているGLIBCのバージョン2.28がUbuntuに標準インストールされているGLIBCよりも新しいバージョンとなっているようです。

■標準のバージョン

  • Ubuntu 16.04 : GLIBC 2.23
  • Ubuntu 18.04 : GLIBC 2.27

最終的にこのroboschoolのリポジトリのissueに辿り着き、roboschoolのバージョンを1.0.48に落せば解決するとのことがわかりました。
何のアップデートでバージョンが合わなくなったんだろう?と疑問に思いroboschoolのリポジトリを訪れてみたらまさかの文言が・・・

スクリーンショット 2019-11-18 22.12.03.png

roboschoolが公式にDEPRECATED(非推奨)になってる・・・
前々からPyBulletに置き換えられるんじゃないかという噂はありましたが、全く気付きませんでした。

ということでPyBulletを使いましょう

公式に勧められた以上、今後はPyBulletを使っていこうと思います。

インストールは以下のようにroboschoolをインストールするところをpybulletに変更すればOKです。

$ # pip3 install roboschool
$ pip3 install pybullet

ソース上ではimportとgym.makeの所をpybullet用に変更すれば無事動きます。
詳しくはPyBullet Quickstart Guideをご覧ください。

#import roboschool
import pybullet_envs

# env = gym.make("RoboschoolHumanoid-v1")
env = gym.make("HumanoidBulletEnv-v0")

roboschoolに比べてだいぶカラフルなボディーになっていますね!!
スクリーンショット 2019-11-18 22.28.21.png

1
1
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
1
1