2023年4月
            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さんお手やわらかに」カテゴリの記事

コメント

コメントを書く

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

トラックバック


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

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