こんにちは、KN_appleです。Qiitaのアドカレ初投稿です。
今回はタイトル通りrosbagを使ってみた話を書こうと思います。
rosbagとは
rosbagとはこの記事でも紹介されているとおり、簡単に言うと実際に動かしたROSのトピックを保存できる機能です。
実機を動かしてトピックを記録したあと、後日rosbagを再生することでgazebo上などでロボットの状況を再現できます。パラメーター変更などの細かい調整をしたいときに便利です。
使い方
まず、いつもどおり動かしたいパッケージなどを起動
その後端末を立ち上げて、
$ rosbag record -a
とすると、立ち上がってるすべてのトピックを記録することができます。
記録されるファイルの拡張子は.bag
になります。
ファイル名を指定したいときは、
$ rosbag record -a -O ファイル名
とします。
bagファイルの情報が見たいときは
$ rosbag info ファイル名
生成されたbagファイルを再生するときは
$ rosbag play ファイル名
とするだけ
$ rostopic echo -b ファイル名.bag -p トピック名 > file.csv
とすると、自分のほしいトピックの情報をcsvファイルに書き出すことが出来るので、これを使って別のプログラムにも利用できます。
使ってみた
今回はノートpcとデスクトップを用意。
turtlebotに載せたノートpcからデスクトップにトピックを飛ばし、そこでrosbagを使って記録しました。
1.ノートpc側
$ ip address //ノートpcのipを調べる
$ export ROS_IP=ipアドレス
その後、roscoreなりrosrun なりを実行(publisher)
2.デスクトップ側
$ export ROS_MASTER_URI=http://ノートpcのアドレス:11311 //これでmasterのpcを環境変数に読み込む
$ export ROS_IP=デスクトップのipアドレス
あとはlistnerを立ち上げるだけ
このあとデスクトップ側でもう一つ端末を立ち上げて、
$ rosbag record -a -O ファイル名
これで準備完了
記録が終わればデータをcsvに変換して、好きなように使えばいいと思います