uf-reef-avl / BagGetFilter

Qt Gui tool which allows manipulating rosbag in a user-friendly way. It allows you to export any topics into csv files, filter the useful ones (even tf) into a lightweight rosbag and modify timestamps with only few clicks . On top of that, this tool can play rosbag with all the different rosbag arguments and don’t need any dependencies.
GNU General Public License v3.0
18 stars 5 forks source link
binary csv-export filter gui pythonqt ros-kinetic ros-melodic ros-noetic rosbag rosbags tf

DOI

BagGetFilter

BagGetFilter utility is a user friendly interface to manipulate rosbags. The user can play rosbags, filter bags, and export topics into CSV format.

Video

Installation

For users:

Download the executable using python3 at this

[Download link]

(https://www.dropbox.com/scl/fi/twpegcv6ckb84mv3nk1s1/BaggetFilter_V_1_0_2.zip?rlkey=p7w7iunjnwc9w6j203tbedu9x&dl=0) If you use this software please cite as follows:

@software{Buzaud_BagGetFilter_A_simple_2021,
author = {Paul Buzaud, J. Humberto Ramos, Prashant Ganesh, Kevin Brink},
doi = {10.5281/zenodo.6334972},
month = {10},
title = {{BagGetFilter: A simple user friendly interface to manipulate ROSbags}},
url = {https://github.com/uf-reef-avl/BagGetFilter},
version = {1.0},
year = {2021}
}

For developers:

Clone the BagGetFilter's remote repository to your computer.

https://github.com/uf-reef-avl/BagGetFilter

Prerequisites

Usage

Download the zip and extract it, then use the following command on the executable:

Download link

./BagGetFilter_V_X_X_X

Then the main window will appear:

Main Window display

Select Area Bag file

Clipboard

Selected Topics

Selection Bar

Bag Manipulation

There are several ways to edit/play bag files:

Bag Manipulation

Bag Suffix

Timestamp modification

Playing bags

Bag window

Bag Selection

Bag option

Bag Running

Bag Paused

Regenerate the executable

To regenerate the executable, use pyinstaller with the command:

pyinstaller --onefile Main.py

The generated executable should crash at launch because the tf2 library that we are using is in python2 not python3. You will have to compiled it in a python3 catkin workspace with :

mkdir ~/tf2_python3_ws && cd ~/tf2_python3_ws
catkin config -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/include/python3.6m -DPYTHON_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so
catkin config --install
cd src 
git clone https://github.com/ros/geometry2
cd tf2_python3_ws
catkin build

When it is compiled, you should modify the Main.spec file generated by pyinstaller and add the tf2 compiled library path to the pathex propertie.

pathex=[**whatever is inside**,"/home/***your_user_name***/tf2_python3_ws/install/lib/python3/dist-packages"]

then launch the command:

pyinstaller Main.spec

It should regenerate a working executable.

Built With


Authors