NextageInterface

ChoreonoidからHiroNXProviderを通してHiroNX/Nextageを操作する方法を説明します。

動作環境

  • ubuntu 12.04
  • choreonoid 1.4.0
  • ROS hydro

1.インストール

  • HiroNXProvider

HiroNXProvideはgraspPluginに含まれておらずhrgPlugin内のRobotModels/HIRO/NextageInterface下にあります。

  • HandManipProvider

HandManipProvideはhrgPlugin内のRobotModels/HIRO/THK下にあります。

  • PortDuplicator

PortDuplicatoはhrgPlugin内のRobotModels/HIRO/ProtDuplicator下にあります。

  • HiroNXGUI
以下のコマンドでHiroNXGUIを入手できます。(subversionが必要ですので無い場合はインストールしてください。)
 $ svn co -r 12 https://hironx-interface.googlecode.com/svn/HiroNXInterface/HiroNXGUI/

  • ROS

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

  • RobotInterfaceプラグイン
graspPluginにRobotInterfaceプラグインを使用するようにしていない場合は、以下の手順でRobotInterfaceプラグインを有効にしてください。
 # chorenoidのトップディレクトリに移動
 $ cd choreonoid
 $ ccmake .

cmakeの画面が表示されるのでGRASP_PLUGINS項目にRobotInterfaceを追加し、cキーを押しconfigureを行い、gキーを押しmakeファイルを生成してください。
最後にmakeを実行し、choreonoidをビルドします。
 $ make

  • RTシステムエディタ(eclipse)のインストール

http://openrtm.org/openrtm/ja/node/30 を参考にOpenRTPをインストールしてください。

2.使用方法

2.1設定

HiroNXProvider

ロボットとHiroNXProviderとを接続するときのパラメータを設定します。
設定するファイルはhrgPlugin/RobotModels/HIRO/NextageInterface下にある
  • .robotname
  • .robothost

です。
.robotnameにはロボットのRTコンポート名を記述します。(例 RobotHardware0)
.robothostにはロボットのネームサーバのホスト名/IPアドレスとポート番号を指定します。(例 hiro011:15005)

HandManipProvider

HandManipProviderの設定ファイルを編集します。対象ファイルは”.port”です。
ハンドと接続しているUSBシリアルのデバイスファイル名を記述します。
通常は/dev/ttyUSB0です。

2.2起動

初めに、ロボットを起動します。ロボットのネームサーバの起動前にHiroNXProviderを起動するとロボットとHiroNXProviderが接続できなくなります。
次にHiroNXProvider, HiroNXGUI, HandManipProvider, PortDuplicator, Choreonoidを起動します。

2.3接続

各プログラムを接続します。

GUIによる接続

RTシステムエディタ(eclipse)を起動します。
メニューからウインドウ→パースペクティブを開く→その他を選択するとパースペクティブ選択画面が表示されますのでRT System Editorを選択します。
左側に"Name Service View"が現れます。
Name Service ViewにArmController0|rtc, HandManipContrller|rtc, HiroNXGUI0|rtc, HiroNXProvider0|rtc, PortDuplicator0|trcがあれば、各RTコンポーネントは正常に起動しています。
ツールバーの"Open New System Editor"(図中①)をクリックするとSystem Diagramウィンドウが表示されます。ここに先ほどのRTコンポーネントをドラッグアンドドロップします。
下記表のポートペアを接続します。
コンポーネント名 ポート名 コンポーネント名 ポート名
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コンポーネントをアクティブにします。

NextageInterface_rtsystemeditor.png

コマンドによる接続

以下のコマンドを入力することにより、上記の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

2.4初期操作

HiroNXGUIの"Set up Robot"ボタンをクリックし、HiroNXProviderとロボットの接続を行います。
HiroNXGUIの"Calibrate Joints"ボタンをクリックし、キャリブレーションを行います。
HiroNXGUIの"Go Initial"ボタンをクリックし、ロボットを初期姿勢にします。

NextageInterface_HiroNXGUI.png

2.5Choreonoidからのロボット動作送信

Choreonoidで動作を生成します。
ChoreonoidのInterfaceツールバーの"Move"ボタンをクリックすると生成した動作をロボットへ送信されロボットが動作します。

3.その他

ローカルでHiroNXProvider/HiroNXGUIをテストする方法

HiroNXProvider/HiroNXGUIの動作を実機に接続して試すのではなくシミュレー
ション上で試すには以下の手順を行ないます。

HiroNXProviderの.robothostファイルを以下の内容に書き替えます。

 localhost:15005

HiroNXProviderの.robotnameファイルを以下の内容に書き替えます。
 HiroNX(Robot)0

以下のコマンドによりhrpsys-simulatorを起動します
  $ source `rospack find openrtm_tools`/scripts/rtshell-setup.sh
  $ rtmlaunch hironx_ros_bridge hironx_startup.launch

後は、実機で接続したときと同じ手順を実行します。