ChoreonoidからHiroNXProviderを通してHiroNX/Nextageを操作する方法を説明します。
HiroNXProvideはgraspPluginに含まれておらずhrgPlugin内のRobotModels/HIRO/NextageInterface下にあります。
HandManipProvideはhrgPlugin内のRobotModels/HIRO/THK下にあります。
PortDuplicatoはhrgPlugin内のRobotModels/HIRO/ProtDuplicator下にあります。
$ svn co -r 12 https://hironx-interface.googlecode.com/svn/HiroNXInterface/HiroNXGUI/
ROSをインストールしていないときはhttp://wiki.ros.org/hydro/Installation/Ubuntuを参考にインストールを行ってください。
次にHironx/NEXTAGE OPEN APIを以下のコマンドでインストールします。(http://wiki.ros.org/rtmros_nextage/Tutorials/Install%20NEXTAGE%20OPEN%20software%20on%20your%20machine )
$ apt-get install ros-hydro-rtmros-nextage ros-hydro-moveit-ros-visualization ros-hydro-moveit-planners-ompl
# chorenoidのトップディレクトリに移動 $ cd choreonoid $ ccmake .
$ make
http://openrtm.org/openrtm/ja/node/30 を参考にOpenRTPをインストールしてください。
です。
.robotnameにはロボットのRTコンポート名を記述します。(例 RobotHardware0)
.robothostにはロボットのネームサーバのホスト名/IPアドレスとポート番号を指定します。(例 hiro011:15005)
HandManipProviderの設定ファイルを編集します。対象ファイルは”.port”です。
ハンドと接続しているUSBシリアルのデバイスファイル名を記述します。
通常は/dev/ttyUSB0です。
初めに、ロボットを起動します。ロボットのネームサーバの起動前にHiroNXProviderを起動するとロボットとHiroNXProviderが接続できなくなります。
次にHiroNXProvider, HiroNXGUI, HandManipProvider, PortDuplicator, Choreonoidを起動します。
コンポーネント名 | ポート名 | コンポーネント名 | ポート名 |
---|---|---|---|
HiroNXGUI0 | HiroNX | PortDuplicator0 | HiroNX |
HiroNXGUI0 | HIRO | PortDuplicator0 | HIRO |
ArmController0 | HiroNX | PortDuplicator0 | HiroNX |
ArmController0 | HIRO | PortDuplicator0 | HIRO |
PortDuplicator0 | HiroNX0 | HiroNXProvider0 | HiroNX |
PortDuplicator0 | HIRO0 | HiroNXProvider0 | HIRO |
PortDuplicator0 | HiroNX1 | HandManipProvider0 | HiroNX |
PortDuplicator0 | HIRO1 | HandManipProvider0 | HIRO |
AllActiveボタン(図中②)を押しRTコンポーネントをアクティブにします。
以下のコマンドを入力することにより、上記のGUIによる接続と同じRTコンポーネントの接続を実現することができます。
$ source `rospack find openrtm_tools`/scripts/rtshell-setup.sh $ rtcwd /localhost $ rtcon $host/HiroNXGUI0.rtc:HiroNX $host/PortDuplicator0.rtc:HiroNX $ rtcon $host/HiroNXGUI0.rtc:HIRO $host/PortDuplicator0.rtc:HIRO $ rtcon $host/ArmController0.rtc:HiroNX $host/PortDuplicator0.rtc:HiroNX $ rtcon $host/ArmController0.rtc:HIRO $host/PortDuplicator0.rtc:HIRO $ rtcon $host/PortDuplicator0.rtc:HiroNX0 $host/HiroNXPorvider0.rtc:HiroNX $ rtcon $host/PortDuplicator0.rtc:HIRO0 $host/HiroNXProvider0.rtc:HIRO $ rtcon $host/PortDuplicator0.rtc:HiroNX1 $host/HandManipProvider0.rtc:HiroNX $ rtcon $host/PortDuplicator0.rtc:HIRO1 $host/HandManipProvider0.rtc:HIRO $ rtact $host/HiroNXGUI0.rtc $host/HiroNXProvider0.rtc $host/ArmController0.rtc $host/PortDuplicator0.rtc $host/HandManipProvider0.rtc
HiroNXGUIの"Set up Robot"ボタンをクリックし、HiroNXProviderとロボットの接続を行います。
HiroNXGUIの"Calibrate Joints"ボタンをクリックし、キャリブレーションを行います。
HiroNXGUIの"Go Initial"ボタンをクリックし、ロボットを初期姿勢にします。
Choreonoidで動作を生成します。
ChoreonoidのInterfaceツールバーの"Move"ボタンをクリックすると生成した動作をロボットへ送信されロボットが動作します。
HiroNXProvider/HiroNXGUIの動作を実機に接続して試すのではなくシミュレー
ション上で試すには以下の手順を行ないます。
HiroNXProviderの.robothostファイルを以下の内容に書き替えます。
localhost:15005
HiroNX(Robot)0
$ source `rospack find openrtm_tools`/scripts/rtshell-setup.sh $ rtmlaunch hironx_ros_bridge hironx_startup.launch