こんにちは。
ロボットで地図を作るのってどうやるんだろう、とふと思ったら、Programming Robots with ROSのCHAPTER9にそれっぽいことがあったので、読んでみました。
・ ざっくりいうと、白いとこは行ける、黒いとこは行けない、グレーのとこはunknownと判断
・ YAMLファイルで閾値を設定する。
・ 地図の画像はエディタで修正できるので、例えばロボットに進ませたくない部分を黒く塗ったりできる。
1. メッセージを保存するとき
この場合、scan とtfトピックから送られるメッセージをすべて保存する。
オプションを付けないと、YYYY-MM-DD-HH-mm-ss.log形式でログが保存されるので、名前を指定したい場合は -O か -o オプションを使用する。
前者はfoo.bag、後者はfoo_YYYY-MM-DD-HH-mm-ss.logが保存される。
全てのトピックのログを取りたい場合は、-aを付ける。
保存したログは、playコマンドを使用して再生可能。 基本的な使い方はこのオプション。
--clockつけるとログをとった時刻が出力される。
bagファイルの詳細はinfoコマンドで確認可能。
ログの取得時間の長さ、開始時間、終了時間、サイズなどがわかる。
次回はBuilding Mapsについてまとめる。
ロボットで地図を作るのってどうやるんだろう、とふと思ったら、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 件のコメント:
コメントを投稿