ふるお〜と!- FullAuto

AI・ロボットが普及しBI(ベーシックインカム)が早急に実現されることを願う元ニートのブログ

ふるお〜と!-FullAuto

DART(pydart2)について

前置き

nullpo24.hatenablog.com

前回、OpenAI gymの3D学習環境としてオープンソースDART(Dynamic Animation and Robotics Toolkit)が気になったので追ってみる。
DART GitHub - dartsim/dart: Dynamic Animation and Robotics Toolkit

pydart2 GitHub - sehoonha/pydart2: A python binding of Dart, an open source simulation package

とりあえず、pydart2のexampleから

環境準備

前回やったpydart2インストールまで終わらせる。

そして、pydart2/examplesに入っているサンプルを動かしてみた。 hello_pydart.pyなど。

GUI表示をしたければ最後の行に

pydart.gui.viewer.launch(world)

を追加すればworldがglutで表示される。

pyqt5で表示させたければ、
pydart2/gui/viewer.pyを編集すればオッケー (launch_glutコメントアウト、launch_pyqt5をコメントイン)

    # launch_pyqt4(sim, title, default_camera)
    # launch_pyqt5(sim, title, default_camera) 
    launch_glut(sim, title, default_camera)

ここでちょっと気になったのがpydartはpyqt5を使用しているということ。
時代はQt for python?

Qt for pythonとPyQt5の比較 - Qiita

と思ったのでpyside2に変更してみたが、意外と簡単だった。
pydart2/gui/pyqt5ディレクトリの中身を
「PyQt5」→「PySide2」
「pyqt5」→「pyside2」
に置換してやれば動く。
そして、ディレクトリ名をpyqt5からpyside2に変更して、
「from pydart2.gui.pyqt5」のようにfromしているファイルを
「from pydart2.gui.pyside2」に変更すれば動いた。