Unified successor of the following libraries:
The library compiles either using:
- ROS1 (catkin),
- ROS2 (colcon/ament) or
- without any ROS dependency (vanilla cmake).
To parse any ROS message at runtime, it requires:
- The name of the type (for instance "sensors_msgs/JointState")
- The definition of the type (for instance this one),
- The raw memory buffer to be deserialized into individual key/values pairs.
The raw memory buffer is usually obtained by:
- rosbag::MessageInstance and Topic::ShapeShifter in ROS1.
- GenericSubscriber
or
rosbag2_storage::SerializedBagMessage
on ROS2. - MCAP.