Choreonoid と HiroNXProvider

HiroNXProvider と HiroNXGUI

HIRO上で HiroNXProvider を動作させることで、Choreonoid からの把持計画の送信と、HiroNXGUI からの起動/終了ができます。

Choreonoid の起動

Choreonoid で作成した動作を HiroNXProvider に送信することで、Nextage が動作します。
Choreonoidをプロジェクトファイルと共に起動します。

 % cd ~/src/Choreonoid
 % bin/choreonoid  extplugin/graspPlugin/GripperManipulation/project/worldexpo.cnoid 

同時に Choreonoid に組み込まれたいくつかのRTコンポーネントが起動します。この場合は、例えば

 % rtls localhost/dinobot.host_cxt/
 HIROController0.rtc   GripperManipulation0.rtc   GraspConsumer0.rtc

ここで使用するのは、コンシューマRTCの HIROController0.rtc です。

HiroNXProvider の起動

HiroNXProvider は、Nextage のセットアップやキャリブレーション、サーボのON/OFFやシャットダウン、それに各関節の角度を直接操作するAPIを提供する RT コンポーネントです。

 % cd graspPlugin/RobotInterface/NextageInterface/HiroNXProvider
 % ./HiroNXProvider.py

localhost/dinobot.host_cxt/ の下にある、
HiroNXProvider0.rtc が利用できるようになります。

また、HiroNXProvider は Python で書かれたプロバイダ RTC ですが、実際に使われるインタプリタは hrpsyspy となります。

HiroNXGUI の起動

HiroNXGUI は、HiroNXProvider の提供するAPIを利用して、GUIでHIROを操作するツールです。
また、各関節の角度を直接指定してHIROを操作できます。

 % cd ~/HiroNXInterface/HiroNXGUI
 % ./WxHiroNXGUI.py

GUIが起動します。

HiroNXGUI_1.png

HiroNXGUI は、python で動くコンシューマRTCです。
localhost/dinobot.host_cxt/ の下にある、HiroNXGUI0.rtc が利用できるようになります。

RTコンポーネントの接続

HIROController0.rtc, HiroNXProvider0.rtc, HiroNXGUI0.rtc には、二つのサービスポート、HiroNX ポートと HIRO ポートがあります。

HIROController0.rtc <-> HiroNXProvider0.rtc
HiroNXGUI0.rtc <-> HiroNXProvider0.rtc

この組み合わせで HiroNX ポート同士、 HIRO ポート同士をつないで、アクティベートします。

HiroNXGUI の操作

アクティベートすると、RTC Statusの欄が緑になります。
Nextage の準備手順は、
  1. Setup Robot: Nextageとの接続を行う
  2. Calibrate JointL 関節の調整(本体のサーボもONになる)
  3. Servo Hands ON: ハンドのサーボをON
  4. Go initial: 初期姿勢に移行

握った手と開いた手のボタンで、ハンドの開閉ができます。

関節操作タブでは、Nextage の左右の腕とハンド、胴体にあるひとつひとつのサーボモータの角度をテキストボックスで設定できます。
すべてのモータの角度の設定が完了したら、Goボタンを押すと Nextage の姿勢が変化します。
Reset ボタンを押すと、すべてのモータの角度が初期姿勢になります。
HiroNXGUI_Joints_1.png

Choreonoid から把持計画を送信

Ctrl+左クリックでパレットを指定して、=Planner=ツールバーのGraspを押すと把持計画が作成されます。
そこで、=PathPlan=ツールバーのStartを押すと、Nextageの姿勢遷移が作成されます。
アニメーションでNextageの姿勢に問題がないことを確認したら、いよいよデータをNextageに送信します。
=Interface=ツールバーのMoveボタンを押してください。

HIRO の終了手順

Nextage の終了手順は、
  1. Go Off Pose: 待機姿勢に移行
  2. Servo Hands OFF: ハンドのサーボをOFF
  3. Servo OFF: 本体のサーボをOFF
  4. Shutdown: Nextageのコンピュータをシャットダウン