#ros #ros2 #dynamic

ros2_message

Utilities for handling MSG and SRV files in ROS2

5 releases

0.0.5 Jul 12, 2024
0.0.4 Jul 12, 2024
0.0.3 Jul 5, 2024
0.0.2 Jul 4, 2024
0.0.1 Jul 4, 2024

#234 in Robotics

Download history 2/week @ 2024-07-19 14/week @ 2024-09-13 4/week @ 2024-09-20 18/week @ 2024-09-27 1/week @ 2024-10-04

159 downloads per month

MIT license

105KB
2K SLoC

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

Dependencies

~3.5–5MB
~94K SLoC