公私ともにいろいろ立て込んでいまして、第4回からかなり時間が空いてしまいました。ROS勉強記第5回は、ROSインタフェースでNEXTAGE OPENのロボット実機を操作します。やはりロボットは実世界で動いてなんぼですよね?さらに、動作軌道生成にMoveIt!を使ってみます。

人型ロボットHRPシリーズや協働型ロボットNEXTAGEといった川田工業、カワダロボティクス製のロボットは、ロボット内部にハードウェア制御用PCとアプリケーション実行用PCの二つのPCが内蔵されています。前者は厳密な実時間制御をするためにリアルタイムOS(QNXもしくはART Linux)がインストールされ、後者はプログラミング環境として汎用性を持たせるため、Ubuntuがインストールされています。後者はもちろん別に内蔵PCを使わなくても、自分のUbuntu PCを使って代用できます。

セットアップ

まずは、ハードウェア制御用PC、アプリケーション実行用PCにホスト名を与えます。/etc/hostsにIPアドレスとホスト名を記述してください。今回はホスト名をnxc(NXtage Controllerの略)、nxa(NXtage Applicationの略)としました。

192.168.***.*** nxc
192.168.***.*** nxa

ホスト名を追加したら、ネットワークを再起動して、ロボットとROSインタフェースを仲介するブリッジを起動します。

ターミナル1

$ roscore

ターミナル2

$ ipython -i `rospack find nextage_ros_bridge`/script/nextage.py -- --host nxc
>> nxc.checkEncoders()

ターミナル3

$ sudo /etc/init.d/networking restart
$ roslaunch nextage_ros_bridge nextage_ros_bridge.launch nameserver:=nxc

ターミナル2で行っているように、ロボット実機の場合は、起動時に一度だけ関節のキャリブレーションを行わなくてはなりません。これは現在のところ、ROSインタフェースからは難しいようです。ですが、これが済めば、ロボットはもうROSインタフェース経由で動かせるようになります。これまで使ってきたhrpsys viewerによるシミュレーションと操作体系は何ら変わりはありません。

また、nxaでターミナル1, 2, 3のコマンドを実行しておけば、別PCからはnxaのROSマスターを見にいくように設定するだけで使うこともできます。こちらの方が、複数PCで開発するような分散環境にもやさしいですね。

$ export ROS_HOSTNAME=nxa
$ export ROS_MASTER_URI=http://nxa:11311

MoveIt!による動作生成

東京オープンソースソフトウェア協会の貢献により、NEXTAGE OPENは非常に高機能な動作計画ソフトウェアのMoveIt!に対応しています。せっかくですので、これを使ってロボット実機で遊んでみましょう。まずは必要なパッケージをインストールします。

$ sudo apt-get install ros-hydro-moveit-planners-ompl ros-hydro-hironx-moveit-config

以下のイシューで議論していますが、僕の環境ではros-hydro-nextage-moveit-configのみインストールされている状態でMoveIt!を動かしたところ、うまく起動しませんでした。現状ではros-hydro-hironx-moveit-configもインストールしておくことをおすすめします。

https://github.com/tork-a/rtmros_nextage/issues/71

インストールが済めば、あとはコマンド一つで実行できます。MoveIt!を初めて使ったので、あまり使い方がよくわかっていませんが、姿勢教示、動作教示のユーザインタフェースとしてだけ見ても、かなり有用ですね。ただ、ロボット実機で動かすには初期設定の速度では少し速くて見た目に怖いので、速度を下げたいところです。MoveIt!も勉強して使いこなしていきたいと思います。

$ roslaunch nextage_moveit_config moveit_planning_execution.launch

第2回ROS勉強会に向けて

勉強記第6回では、NEXTAGE OPENに内蔵されている頭部ステレオカメラや、両手先のハンドカメラをROSインタフェースで触ってみたいと思っています。第2回ROS勉強会まであと1週間と迫ってきましたが、もちろん発表資料も平行して作成中ですので、もうしばらくお待ちください。