2017年6月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

カテゴリー

ブログパーツ

無料ブログはココログ

« roombaプラットフォームのまとめ(おしまい) | トップページ | gmappingを使う準備をする »

2013年10月20日 (日)

gmappingに入門する

ROSさんお手やわらかに:ROS奮闘編

roombaプラットフォームがテレオペレーションで動くようになったので、いよいよgmappingでマップの作成をやってみる。
gmappingは、ロボットのレーザー測域センサのトピックと、オドメトリのトピックから、マップを作成するためのパッケージだ。リアルタイムにマップを作成することもできるが、ロボットを一度動かして、トピックのログを取り、これからマップを作成することもできる。


まずはチュートリアルでサンプルデータをマップ化してみる。

・gmappingはインストール済みなので、インストールの必要はない。

・サンプルデータをダウンロード(homeに置いた)
$ wget http://pr.willowgarage.com/data/gmapping/basic_localization_stage.bag

・新たに端末を開いてroscoreを起動

・新たに端末を開いて初期化後、gmappingを起動
$ source ~/catkin_ws/devel/setup.bash
$ rosparam set use_sim_time true
$ rosrun gmapping slam_gmapping scan:=base_scan

・新たに端末を開いて初期化後、rosbagでサンプルデータを再生
$ rosbag play basic_localization_stage.bag
これを実行すると、gmappingを起動している端末に、レスポンスがある。黄色い文字でワーニング(よく出るのは"TF_OLD_DATA")が出ているとダメ。白文字でのメッセージならうまくいっている。
なお、サンプルデータをすべて再生するには結構時間がかかる。このへんでいいやと思ったらCtrl+cでrosbagを終了しても構わない。データ数が多ければそれだけ精度の高い地図ができるが、途中でやめてもそれなりの地図にはなる。

・同じ端末で今のデータをマップデータに変換
$ rosrun map_server map_saver
homeにmap.pgmというファイルができているので、これをダブルクリックで開く(画像ビューアが立ち上がる)

流れはこんな感じ。rosbagの代わりにrqt_bag(groovyではこっちと他のページにあったので)を使ったおかげでうまくいかず、少々てこずったが、チュートリアルどおりにrosbagを使うことで問題なく終了。次はroombaでマップ作成の下準備をする。

« roombaプラットフォームのまとめ(おしまい) | トップページ | gmappingを使う準備をする »

ROSさんお手やわらかに」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1140145/53663755

この記事へのトラックバック一覧です: gmappingに入門する:

« roombaプラットフォームのまとめ(おしまい) | トップページ | gmappingを使う準備をする »