読者です 読者をやめる 読者になる 読者になる

MyEnigma

とあるエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

ROSのbagファイルのトピックを簡単にフィルタリングするGUIツールを作った

ROS Python

ROSプログラミング

ROSプログラミング

目次

はじめに

ROSを使っていると、

とりあえず

$ rosbag record -a

でトピックをbagファイルに保存し、

後で必要なトピックのみを抽出した

bagファイルを作りたくなります。

 

そんな時に便利なのが

rosbag filterですが、

保存されているトピック名を調べて、

一つ一つコマンドラインに記入するのが

面倒だなと思っていました。

 

そこで、

最近勉強しているPyQtを使って、

myenigma.hatenablog.com

簡単にトピックをフィルタリングできる

GUIツール rosbag_filter_gui

を作成し公開したので、

紹介したいと思います。

 

rosbag_filter_guiのソースコード

下記のGitHubレポジトリで公開しています。

github.com

 

使い方

1. ソフトウェアをGitHubからcloneする

$ git clone https://github.com/AtsushiSakai/rosbag_filter_gui.git

 

2 スクリプトを起動する

下記のように

scriptsフォルダ内のpythonスクリプトを起動してもいいですし、

$ python rosbag_filter_gui.py

rosrunでノードを起動してもOKです。

$ rosrun rosbag_filter_gui rosbag_filter_gui

 

3 フィルタリングをしたいbagファイルを選択する

下記のようなファイル選択画面が出てくるので、

フィルタリングをしたいbagファイルを選択します。

リンクテキスト

 

4 残したいトピックを選択する

下記のように、

選択したバグファイル内のトピックがリストで表示されるので、

bagファイルに残したいトピックを選択します。(複数可)

リンクテキスト

 

5 しばらく待ちます。

下記のようにConverting..と表示されたら、

bagファイルの変換をしている最中なので、

しばし待ちます

リンクテキスト

 

6 変換終了メニューが表示されます

下記のような、変換終了メニューが表示されたら、

変換は終了です。

リンクテキスト

 

フィルタリングされたbagファイルは、

元のbagファイルと同じディレクトリに生成されます。

 

参考資料

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

ROSプログラミング

ROSプログラミング