A Python package to facilitate the reading of a rosbag file based on semantic datatypes.
bagpy
provides a wrapper class bagreader
written in python that provides an easy to use interface for reading
bag files recorded by rosbag record
command. This wrapper class uses ROS's python API rosbag
internally to perform all operations. One of the interesting features about using bagreader
is that a user doesn't
need to supply rostopic name to extract relevant data. One can extract data based on the
type of data the user is seeking.
- Ubuntu 18.04 or later
- Python 3.6 or higher. Now, the preferred version is Python 3.9. With other versions, there are some dependency issues as how pip works has changed.
- Python 2.x support not available. Python 3.x virtual environment is recommended for pip installation.
- Works with Windows as well, how, I don't provide support for Windows. See my comment on an issue here: #2 (comment)
- Note: it is not compatible with ROS 2.
pip install bagpy
The philosophy behind developing this project is to make everything as simple and less confusing as possible.
As a result, there are not too many options or freedom of usage being provided by bagreader
class.
If you need a wide variety of options, users can directly use ROS's rosbag
python package or
Robotics System Toolbox APIs provided by MATLAB. However, if you are looking for simplicity, bagpy
is an
elegant choice.
See Notebooks and python scripts at https://github.com/jmscslgroup/bagpy/tree/master/notebook for examples.