/ros2_message

Pure Rust implementation of the ROS2 message format

Primary LanguageRustMIT LicenseMIT

ros2_message

MIT Licensed Crates.io

Warning

This crate is not extensively tested yet and there is a good chance that you will discover issues. If you do please create a GitHub Issue

ros2_message is a utility library for handling anything related to ROS2 .msg and .srv files in Rust. It's primary focus is dynamically parsing and decoding ROS2 messages. The most common usecase for this is the mcap file format. For more information take a look at the Msg and DynamicMsg structs.

The most common use case for this is reading out MCAP files, especially in a environment where installing ROS2 is not an option. For more information about that have a look at the the mcap_reading example in the examples folder.

Implementation status

  • Implementing the full CDR spec
    • Little endian plain CDR is supported
    • Big endian plain CDR
    • PL CDR & CDR2
  • Extensive testing for different encoded messages

Resources

Foxglove .msg file parsing implemenation

Foxglove dynamic decoding implementation