Skip to main content

A package to extract data from ROS2 bag files into pandas DataFrames.

Project description

rosbag_to_dataframe

Pylint

rosbag_to_dataframe is a Python package for extracting data from ROS1 and ROS2 bag files and converting it into pandas DataFrames. This package allows you to easily work with ROS bag file data for analysis and processing.

Requirements

To use the rosbag_to_dataframe package, you need to have the following dependencies installed:

  • Python 3.7+: Ensure you have Python 3.6 or later installed.
  • pandas: For handling data frames.
  • rosbags: For reading ROS bag files. Make sure you have the rosbags library installed, which supports both ROS1 and ROS2 formats. You can install the required dependencies using pip:
pip install pandas rosbags

Steps to install the package locally

  1. Clone this repository or download the package files.
  2. Navigate to the directory containing the setup.py file.
  3. Run the following command:
pip install .

Steps to use the package to extract data from ROS bag files:

  1. Import the package:
from rosbag_to_dataframe import extract_data_from_bag
  1. Specify the bag files, topic, and fields:
bag_files = ['/path/to/your/bagfile1.bag', '/path/to/your/bagfile2.bag']  # List of ROS bag files
topic = '/your_topic'  # Topic to extract data from
fields = ['field1', 'field2']  # List of fields to extract from the message
  1. Extract data:
dataframe = extract_data_from_bag(bag_files, topic, fields)

Error Handling

  • File Not Found: If a specified bag file does not exist, a warning will be printed, and the file will be skipped.
  • Topic Not Found: If the specified topic is not present in a bag file, a warning will be printed, and the file will be skipped.
  • Field Not Found: If any specified fields are missing from the messages, a warning will be printed. The processing will continue, but missing fields will be noted.
  • Deserialization Errors: If an error occurs during message deserialization, the affected file will be skipped, and an empty DataFrame will be returned for that file.

Contributing

If you would like to contribute to this package, please fork the repository and submit a pull request with your changes. Make sure to include tests and documentation updates as needed.

License

This package is licensed under the MIT License. See the LICENSE file for more details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rosbag_to_dataframe-0.1.1.tar.gz (4.4 kB view details)

Uploaded Source

File details

Details for the file rosbag_to_dataframe-0.1.1.tar.gz.

File metadata

  • Download URL: rosbag_to_dataframe-0.1.1.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.1

File hashes

Hashes for rosbag_to_dataframe-0.1.1.tar.gz
Algorithm Hash digest
SHA256 0a0e7edc4e31ed45132c9e5c8bd142a4dd78f7c24bd35ec027374b13f489bde9
MD5 c31eb0554aa7fa99061e01d7a6ff8755
BLAKE2b-256 6b113986c653e730564af3a6b81090f484a66723dc731d44a1fc15dc971aa17b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page