-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
formatRelated to data formats (MCAP, ROS bag, ULog, etc.)Related to data formats (MCAP, ROS bag, ULog, etc.)priority-P2Medium priorityMedium priority
Description
Issue Description
Robocodec does not support reading or writing ROS2 bag files in the SQLite database format (rosbag2 default before MCAP).
Background
ROS2 Humble and earlier use SQLite3 as the default rosbag2 storage format. ROS2 Iron and later use MCAP as default. There is still legacy ROS2 data in SQLite format that needs to be read/converted.
Proposed Solution
Add a new format module: src/io/formats/ros2bag/
Requirements
- Create ros2bag/ directory under src/io/formats/
- Implement SQLite-based reader
- Implement SQLite-based writer
- Implement FormatReader trait
- Implement FormatWriter trait
- Implement FormatRewriter trait
- Add .db3 extension detection
- Handle rosbag2 metadata schema
- Add unit tests
- Add integration tests with sample rosbag2 files
Acceptance Criteria
- Can read ROS2 SQLite bag files
- Can write ROS2 SQLite bag files
- Can convert ROS2 bags to/from MCAP and ROS1 bags
- Preserves all metadata during conversion
References
- rosbag2 repository: https://github.com/ros2/rosbag2
- SQLite schema: https://github.com/ros2/rosbag2/blob/master/rosbag2_storage/default_sqlite_plugin/
Priority: P2 - Legacy ROS2 data support
Estimated effort: Medium-High
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
formatRelated to data formats (MCAP, ROS bag, ULog, etc.)Related to data formats (MCAP, ROS bag, ULog, etc.)priority-P2Medium priorityMedium priority