概要

シミュレータChoreonoidで6軸アームを操作することが可能です。
PS4コントローラをPCに接続することで、アームの操作を行うことができます。
PS4コントローラを持っていない場合は、Choreonoidに仮想ジョイスティック機能があるので、そちらを使用することでアームの操作を行うことができます。
このアームはAll3DP社のBCN3D Moveo(https://all3dp.com/bcn3d-moveo-open-source-3d-printed-robot/)を参考に会津大学とGClue(http://www.gclue.com/)が共同で開発を行った実在機器をChoreonoid用にモデル化したものです。(本サイトではこれをGClueアームと呼んでいます)


Choreonoid用GClueアームモデル

準備

下記URLの「マニュアル」→「Choreonoid 最新版(開発版) マニュアル」より開発版のインストール手順に従いChoreonoidのインストールを行います。
http://choreonoid.org/ja/
OpenRTMも必要となるため、本サイトの「ミドルウェア」→「OpenRTM-aist」よりインストールを行います。

インストールが完了したら、ChoreonoidでOpenRTMが使用できるように設定を変更します。
カレントディレクトリをchoreonoidに変更します。
$ cd ~/choreonoid

CMakeによるビルド設定を修正します。
$ ccmake .

以下の4項目をONに変更します。

- BUILD_CORBA_PLUGIN
- BUILD_OPENRTM_PLUGIN
- BUILD_OPENRTM_SAMPLES(任意)
- ENABLE_CORBA

次にRTC_GameControllerを下記URLよりダウンロードします。
ダウンロードしたディレクトリをchoreonoid/lib/choreonoid-1.7/rtc直下に解凍し、下記URLの「ドキュメント」の"RTC概要_RTC_GameController.pdf"に従いビルドします。
https://rtc-fukushima.jp/component/1129/

本ページよりGClueアーム操作に必要なファイルをダウンロードし、下記のディレクトリに配置します。

- BCN3DArmRTC_src内のファイル(*.h/*.cpp)とBCN3D-Moveo内のファイル(*.cnoid/*.xml)は、choreonoid/sample/OpenRTM直下
- BCN3DArmRTC_src内のファイル(*.so)は、choreonoid/lib/choreonoid-1.7/rtc直下
- BCN3D-Moveoディレクトリをchoreonoid/share/model直下
※ソースファイルのコンパイルを行う際は、choreonoid/sample/OpenRTM直下のCMakeLists.txtファイルに下記の3行を追加してください。
・add_cnoid_body_io_rtc(BCN3D_ArmRTC BCN3D_ArmRTC.cpp)
・add_cnoid_sample_rtc(BCN3DArmJSControllerRTC BCN3DArmJSControllerRTC.cpp)
・add_cnoid_sample_rtc(VirtualJoystickRTC VirtualJoystickRTC.cpp)

ライセンス

BCN3D-Moveo:MIT License
BCN3DArmRTC_src:BSD 3-clause "New" or "Revised" License

起動方法

カレントディレクトリをchoreonoidに移動します。
$ cd choreonoid

プロジェクトファイル(OpenRTM-BCN3DArm.cnoid)を引数に設定しChoreonoidを起動します。
【PS4コントローラ接続時】
$ bin/choreonoid sample/OpenRTM/OpenRTM-BCN3DArm.cnoid

【仮想ジョイスティック接続時】
$ bin/choreonoid sample/OpenRTM/OpenRTM-BCN3DArm-VirtualJS.cnoid

※Choreonoidを起動して「RTCダイアグラム」上にRTCが存在しない(空白)の場合、「RTCリスト」より下記の3つをマウスでドラッグし「RTCダイアグラム」にドロップします。

- RTC_GameController(PS4コントローラ接続時)
- VirtualJoystickRTC(仮想ジョイスティック接続時)
- BCN3DArmJSControllerRTC
- BCN3D-Moveo-BCN3D_ArmRTC

後は、同一名称の入出力ポート同士を接続したら、シミュレーションを行えます。

シミュレーションの開始・終了方法については、下記を参照ください。
http://choreonoid.org/ja/manuals/latest/simulation/execution-and-playback.html

操作方法

【PS4コントローラ接続時】

□ボタン + 十字キー左右 : 体の回転
×ボタン + 十字キー上下 : 体の前後移動
△ボタン + 十字キー左右 : 腕の回転
○ボタン + 十字キー上下 : 腕の上下移動
L1ボタン + 十字キー上下: 手首の上下移動
R1ボタン + 十字キー左右: 指の開閉

【仮想ジョイスティック接続時】

Xキー + ←/→キー: 体の回転
Aキー + ↑/↓キー: 体の前後移動
Yキー + ←/→キー: 腕の回転
Bキー + ↑/↓キー: 腕の上下移動
Lキー + ↑/↓キー: 手首の上下移動
Kキー + ←/→キー: 指の開閉
※仮想ジョイスティックには、L1、R1ボタンに対応するキーが存在しないため、
LキーをL1ボタン、KキーをR1ボタンとして代用。

ダウンロードファイル

BCN3DArmRTC_src.zip
BCN3D-Moveo.zip