HiroNXProvider と HiroNXGUI
HIRO上で HiroNXProvider を動作させることで、Choreonoid からの把持計画の送信と、HiroNXGUI からの起動/終了ができます。
Choreonoid で作成した動作を HiroNXProvider に送信することで、Nextage が動作します。
Choreonoidをプロジェクトファイルと共に起動します。
% cd ~/src/Choreonoid % bin/choreonoid extplugin/graspPlugin/GripperManipulation/project/worldexpo.cnoid
% rtls localhost/dinobot.host_cxt/ HIROController0.rtc GripperManipulation0.rtc GraspConsumer0.rtc
HiroNXProvider は、Nextage のセットアップやキャリブレーション、サーボのON/OFFやシャットダウン、それに各関節の角度を直接操作するAPIを提供する RT コンポーネントです。
% cd graspPlugin/RobotInterface/NextageInterface/HiroNXProvider % ./HiroNXProvider.py
また、HiroNXProvider は Python で書かれたプロバイダ RTC ですが、実際に使われるインタプリタは hrpsyspy となります。
HiroNXGUI は、HiroNXProvider の提供するAPIを利用して、GUIでHIROを操作するツールです。
また、各関節の角度を直接指定してHIROを操作できます。
% cd ~/HiroNXInterface/HiroNXGUI % ./WxHiroNXGUI.py
HiroNXGUI は、python で動くコンシューマRTCです。
localhost/dinobot.host_cxt/ の下にある、HiroNXGUI0.rtc が利用できるようになります。
HIROController0.rtc, HiroNXProvider0.rtc, HiroNXGUI0.rtc には、二つのサービスポート、HiroNX ポートと HIRO ポートがあります。
HIROController0.rtc <-> HiroNXProvider0.rtc
HiroNXGUI0.rtc <-> HiroNXProvider0.rtc
この組み合わせで HiroNX ポート同士、 HIRO ポート同士をつないで、アクティベートします。
握った手と開いた手のボタンで、ハンドの開閉ができます。
関節操作タブでは、Nextage の左右の腕とハンド、胴体にあるひとつひとつのサーボモータの角度をテキストボックスで設定できます。
すべてのモータの角度の設定が完了したら、Goボタンを押すと Nextage の姿勢が変化します。
Reset ボタンを押すと、すべてのモータの角度が初期姿勢になります。
Ctrl+左クリックでパレットを指定して、=Planner=ツールバーのGraspを押すと把持計画が作成されます。
そこで、=PathPlan=ツールバーのStartを押すと、Nextageの姿勢遷移が作成されます。
アニメーションでNextageの姿勢に問題がないことを確認したら、いよいよデータをNextageに送信します。
=Interface=ツールバーのMoveボタンを押してください。