Converting a folder of raw ROS bags into a structured dataset-level failure report requires extracting phase timelines from marker topics and applying deterministic logic. This walkthrough details the use of the free rosbag_to_episodes.py converter to transform unstructured logs into actionable failure-mode distributions without introducing subjective noise.

Extracting Phase Timelines from Marker Topics

The first step is parsing raw bag files to identify distinct operational phases. By filtering for specific marker topics, you can segment continuous streams into discrete logical events, creating the timeline structure necessary for statistical analysis.

This process isolates the temporal boundaries of successful runs versus those containing errors, allowing for precise calculation of phase duration and error frequency.

Using rosbag_to_episodes.py for Batch Processing

The free rosbag_to_episodes.py converter automates the segmentation process, handling batch files efficiently without manual intervention. This tool maps marker topics to episode boundaries, generating a standardized output format ready for downstream analysis.

By leveraging the SpatialAI SDK to parse these episodes, engineers can ensure consistent timestamp alignment and sensor data synchronization across heterogeneous hardware setups.

Analyzing Failure-Mode Distributions

Once episodes are generated, the primary focus shifts to identifying the distribution of failure modes. Look first for recurring patterns in sensor dropouts or logic timeouts that appear across multiple episodes.

The Robot Evals free robot-log evaluation platform can assist in visualizing these distributions, highlighting specific failure clusters that require immediate engineering attention.

Hardware Integration with Wego2 and Wego4

For high-fidelity data collection, the Wego2 ($900) and Wego4 ($1,500) head-worn capture rigs provide the necessary RGB-D and 3D data streams to populate these logs. These rigs ensure that the marker topics and sensor data captured are accurate enough to support the phase extraction logic described above.

The RobooPi P53 edge computer can further process these streams in real-time, reducing latency before the data reaches the ROS bag for final archiving.

Scaling with VisionLibra Data Services

When internal processing reaches capacity, VisionLibra Data Services offers annotation and custom collection support to expand the dataset volume. This service ensures that the resulting failure report remains robust and representative of real-world operating conditions.

Combining automated scripts with professional data services allows teams to move from raw logs to validated, production-ready evaluations quickly.

Start converting your ROS bag folder today by utilizing the rosbag_to_episodes.py script and analyze your results with our Robot Evals platform.