Skip to content

feat: Add PX4 ULog format support #17

@zhexuany

Description

@zhexuany

Issue Description

PX4 autopilot uses the ULog format for flight logging. Robocodec does not currently support reading or writing ULog files.

Background

ULog is a self-describing binary format used by PX4 and ArduPilot for logging flight data. It contains format definitions, message types, and logged data.

Proposed Solution

Add a new format module: src/io/formats/ulog/

Requirements

  • Create ulog/ directory under src/io/formats/
  • Implement ULog binary format parser
  • Implement FormatReader trait for reading
  • Implement FormatWriter trait for writing
  • Implement FormatRewriter trait for conversion
  • Add .ulg extension detection
  • Handle ULog header and format definitions
  • Parse uORB message types from ULog
  • Add unit tests
  • Add integration tests with sample ULog files

Acceptance Criteria

  1. Can read PX4 ULog files
  2. Can write PX4 ULog files
  3. Can convert ULog to/from MCAP
  4. Preserves all message data and timestamps

References

Use Cases

  • Flight log analysis
  • Drone data pipeline integration
  • Cross-format conversion for ML training

Priority: P3 - AUV/Drone market expansion
Estimated effort: Medium

Metadata

Metadata

Assignees

No one assigned

    Labels

    formatRelated to data formats (MCAP, ROS bag, ULog, etc.)priority-P3Low priority

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions