2016年10月17日月曜日

g_mappingを使用した地図の作り方(前半)

こんにちは。

ロボットで地図を作るのってどうやるんだろう、とふと思ったら、Programming Robots with ROSのCHAPTER9にそれっぽいことがあったので、読んでみました。


Maps in ROS

・ Mapファイルは画像として保存される。(PNG, JPG, PGMなど)

・ ざっくりいうと、白いとこは行ける、黒いとこは行けない、グレーのとこはunknownと判断

・  YAMLファイルで閾値を設定する。

・ 地図の画像はエディタで修正できるので、例えばロボットに進ませたくない部分を黒く塗ったりできる。

Recording Data with rosbag

rosbagはメッセージを記録/再生するコマンドです。


1. メッセージを保存するとき

$ rosbag record scan tf 


この場合、scan とtfトピックから送られるメッセージをすべて保存する。

オプションを付けないと、YYYY-MM-DD-HH-mm-ss.log形式でログが保存されるので、名前を指定したい場合は -O か -o オプションを使用する。

$ rosbag record -O foo.bag scan tf 
$ rosbag record -o foo scan tf 

前者はfoo.bag、後者はfoo_YYYY-MM-DD-HH-mm-ss.logが保存される。

全てのトピックのログを取りたい場合は、-aを付ける。

$ rosbag record -a

保存したログは、playコマンドを使用して再生可能。 基本的な使い方はこのオプション。

$ rosbag play --clock foo.bag

--clockつけるとログをとった時刻が出力される。

bagファイルの詳細はinfoコマンドで確認可能。

$ rosbag info laser.bag

ログの取得時間の長さ、開始時間、終了時間、サイズなどがわかる。



次回はBuilding Mapsについてまとめる。


0 件のコメント:

コメントを投稿