以前,「ROSの勉強がしたいんだ!」と吠えて,数千円でしょぼいロボットアームをこさえて,ROSから動かしたことがありました.
そんなことをしていたら,ある日ウチになんかフリーザみたいなヤツがやってきた.
こいつは,ようやく今月から一般販売だということですが,それに先駆けて(?),Aldebaranのほうから公式にROSパッケージが出ています.それを試用してみました.
環境構築
ROSのバージョンは,indigoでやります.
ベースのOSは,Ubuntuが良いです.14.04が特にオススメです.15.04だとリポジトリにjadeしかないので,rosdepを使う場合は気をつける必要があると思います.
ちなみに私は,宗教上の理由でrosdepが使えないので,Ubuntu 15.04に,ほとんどソースからインストールしました.
重要なパッケージは, naoqi_bridge と pepper_robot と pepper_meshes .
マトモな人は,チュートリアルにもあるように,
$ sudo apt-get install ros-indigo-driver-base ros-indigo-move-base-msgs ros-indigo-octomap ros-indigo-octomap-msgs ros-indigo-humanoid-msgs ros-indigo-humanoid-nav-msgs ros-indigo-camera-info-manager ros-indigo-camera-info-manager-py
して
$ sudo apt-get install ros-indigo-pepper-.*
すれば事足りるはず.
Ubuntu15.04の人はjadeなので,上記のros-"indigo"-のindigoのところが全部jadeになります.
起動
$ roscore
これは起動しっぱなしで放置して,ターミナル変えて,
$ export NAO_IP=xxx.xxx.xxx.xxx
xxx..の部分はPepperのIPアドレスに変えること.
$ roslaunch pepper_bringup pepper.launch
これで,Pepperのあれやこれやがどんどんパブリッシュされるので,
$ rosrun rviz rviz
で可視化する.
チュートリアルには, src/pepper_robot/pepper_bringup/config/pepper.rviz にコンフィグあるよ〜って書いてあるんだけど,私の環境ではうまくいかなかったので,自作したコンフィグもGistにあげておいた.
可視化されているのは,Pepperの姿勢(TF),深度画像,カメラ画像,前後ソナー,足下周辺レーザー.
・デプスマップが外周で激しく歪んでいる
・デプスとRGBの画像が一致してない
色々と問題もあるけど,数学で殴ればなんとかなるような気もしている.
補足情報
NAOqi SDKは,自分のディレクトリで展開した後,
$ export NAOqi_DIR=/path/to/naoqi-sdk
と環境変数に入れておくこと.
PyNAOqiは,同様に展開したあと,場所をPYTHONPATHに含めておくこと.ターミナルでpythonを起動して,import naoqiができなければ,パスが通ってない.
NAOqi関連のROSパッケージデ,naoqi-driverとnaoqi-sensorsは,ビルド時にNAOq-SDKの場所を入力しないとバイナリが生成されない.一度catkin_makeを走らせたあと,buildディレクトリの中のCMakeCache.txtを編集して,再ビルドすること.