2011年4月20日水曜日

RGBDSlamを試す

KinectでSLAM(地図作成)を行うRGBSlamを試してみます。
作ったのはgmappingなどで有名なフライブルグ大学です。
色付きの3次元マップができるはずです。

まずはROSはdiamondbackのバージョンを利用していることを確かめましょう。
$ echo $ROS_ROOT
/opt/ros/diamondback/ros
になっているでしょうか?

なっていなければdiamondbackをインストールしましょう。
http://www.ros.org/wiki/diamondback/Installation/Ubuntu


↓などを参考にしてもよいです。

http://ros-robot.blogspot.com/2011/03/diamondback.html

で、次に必要なパッケージをaptでインストールします。
$ sudo apt-get update
$ sudo apt-get install ros-diamondback-desktop-full ros-diamondback-perception-pcl-addons ros-diamondback-openni-kinect meshlab
~/rosにROS_PACKAGE_PATHが通っているなら、以下のようにします。
$ cd ros
$ svn co http://alufr-ros-pkg.googlecode.com/svn/trunk/freiburg_tools/hogman_minimal
$ svn co https://svn.openslam.org/data/svn/rgbdslam/trunk rgbdslam
$ roscd rgbdslam && rosmake --rosdep-install rgbdslamam
途中httpsの証明書の警告がでますが、気にせずpでインストールしました。
perception_pclとかを個別にインストールしていた人は削除してdiamondbackのものを使いましょう。

ちなみに以下も必要ですね。
$ sudo apt-get install libgsl0-dev


ところで最初にインストールしたmeshlabってよさそうですね。ライセンスはGPL。
http://meshlab.sourceforge.net
ポイントクラウドからメッシュ作ったりできるみたいです。
ポリゴンリダクションはできないのかな。

では実行しましょう。Kinectを差して、
$ roslaunch openni_camera openni_node.launch
$ roslaunch rgbdslam rgbdslam.launch
すると以下のような画面がでますので、スペースでスタートです。
ゆっくりkinectを動かしていくと・・・
じょじょにマップが構成されていきます。
熊ちゃんがちょっとダブっちゃってます。

またスペースを押すと終了です。
Graph->Send Modelするとrvizにできたモデルが表示されます。
私の環境(MacbookPro Core2Duo 2.8GHz)ではちょっと動作が遅すぎたためか、
机の足などがダブってしまいました。
もっとゆっくりKinectを動かせばちゃんとできるのかもしれません。

もしくは、もっと早いPC環境ではもっとちゃんとできるかな。

0 件のコメント:

コメントを投稿