開発環境

OS

  • Ubuntu12.04

ROS ver

  • Hydro

深度センサ

  • Xtion Pro Live

OpenNIはライセンス的に今度どうなっていくのか非常に不安ですし、ついにXtionが供給終了になりましたね…

なんか久しぶりにXtionで遊びたくなってきたのでhector_slamを使って地図でも描かせようと思います。

hector_slamはURG等の高レートが出せるLRFを生かしてオドメトリフリーなSLAMを実現します。

更にロール軸とピッチ軸のずれに対しても頑健に作られており、ロバストな動作が期待できる点で優れています。

Xtionはスペック的に心配ですがどこまでできるのか確かめてみましょう。

まず必要なものをインストール

sudo aptitude install ros-hydro-openni2-launch
sudo aptitude install ros-hydro-hector-slam-launch
sudo aptitude install ros-hydro-depthimage-to-laserscan

view_framesでopenni2起動時のtfデータを可視化します。

rosrun tf view_frames

camera_linkがベースになっているようですのでそこにbase_frameを親フレームとして追加し、mapまでのフレームを関連付ける必要があります。

static_transform_publisherを使えば簡単ですね。 ROS便利すぎ!

変換後の図は以下のとおり

frames

hector_slamを動かすにはLaserScanが必要なのでdepthimage_to_laserscanを用いて変換します。

下準備はこれだけ、後は使うだけです。

個別に起動するのは面倒なのでlaunchファイル作りました。

launchファイルをダウンロード

roslaunch hector_openni.launch

一応動作時のシステム図も載っけときます。

rqt_graph

rosgraph

XtionとPCを用意すればこれだけで地図が描けます。

オドメトリ無しで綺麗に地図が描けるのはすばらしいのですがやはり広い空間で試してみるとうまくいかない…

作成者もKinectとXtionでは精度が出なかったためURGをお勧めすると言ってますから今度はそちらで試してみましょう。



blog comments powered by Disqus

Published

03 April 2014

Category

ROS

Tags

Profile

千葉工大産のロボットナビゲーションエンジニア

ros-jpの勉強会の主催やロボカップ世界大会優勝チームのリーダをやってました。


 
badge_description about badge's

 

Follow me on Github

Follow me on Qiita

総訪問者数

アクセスカウンター