![]() |
NASA Astrobee Robot Software
Astrobee Version:
Flight software for the Astrobee robots operating inside the International Space Station.
|
The bag processing package provides several helper tools for handling bagfiles.
For each script, run rosrun bag_processing script_name.py -h
for further details and usage instructions.
Applies either CLAHE or standard histogram equalization to images in a bagfile.
Prints gaps above provided maximum time for a bagfile and topic using either message header times or bag receive times. Also prints stats for the time differences for messages with the provided topic in the bagfile.
Analyze clock skew LLP->MLP and HLP->MLP. Inputs an ars_default.bag
containing the /mgt/sys_monitor/time_sync
topic.
Join two CSV files by timestamp. (After creating the CSV files by exporting a message topic from a bag.)
Prints stats for a numeric field of a topic in a bagfile.
Creates a new bagfile with grayscale and color images for the provided bags using their bayer encoded images. If no bags are provided, runs conversion for each bag in the current directory.
Detect bad topics that the rosbag
API can't handle. (The main problem so far has been rosjava
messages that have incomplete message definition dependency information that causes rosbag
to raise an exception when it tries to deserialize the message.)
Master script to apply all passes of processing needed to fix our legacy bag files. The actual processing steps are found in Makefile.rosbag_fix_all
. The strategy is explained in [1].
[1] https://github.com/nasa/astrobee/blob/develop/doc/general_documentation/maintaining_telemetry.md
Merges bagfiles with given prefix in the current directory. Creates merged bagfiles for each provided bag prefix or for each prefix in the current directory if none are provided.
Tool that applies rules to fix bag files, as specified in rosbag_rewrite_types_rules.json
. It performs two types of fix:
rosjava
nodes. Which topics to fix is specified in the fix_message_definition_topic_patterns
field of the rules file.rename_types
field of the rules file.This script is normally invoked by rosbag_fix_all
.
Takes a minimal sample from each message in a bag for compatibility testing. If the full bags are multiple gigabytes in size and are not needed for basic backward compatibility testing.
Interactively splices a bagfile at selected timestamps to create multiple smaller bagfiles, which when combined span the original bagfile. Iterates through the bagfile images to allow the user to select splice points.
Filter rosbag
messages based on topic. Like a subset of rosbag filter
functionality, but more robust to incomplete message definitions because it doesn't need to deserialize the messages to filter on topic.
Creates a new bagfile with trimmed start and end times from a provided bagfile.
Verify correctness of a ROS bag, as output by rosbag_fix_all.py. This performs some simple checks that are not part of the standard "rosbag check".
In case a bag recording is corrupted. This script will split the bag into topics, run the rosbag_fixall on each individual topic, and merge them. This way, the worst that can happen is partially losing one topic.
This is not a standalone script. It is a library that provides utility functions to be used in *.bmr bag migration rules to help with migrating legacy messages that contain an enumerated field where the label numbering has changed.
Contains the decoding files for the haz cam extended topics. These were generated with data from the robot checkout activities and ISAAC activities using the scripts in Pico Flexx Python utilities