前置き
前回、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」に変更すれば動いた。