You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now with rosbag2_py it seems that its possible to:
Get the message definitions stored in an .mcap in string format (source)
Get the messages stored in an .mcap by deserializing with the associated message definition (example)
However, I cannot find a way to connect the two things, i.e., deserialize the messages via the definitions in the bag. There doesn't seem to be a (simple) way to turn the string message definitions into actual message defs that the deserializer can use. All the examples I can find for deserialization in python involve using the message definitions available in the local environment, not the ones in the bag.
Let me know if I am overlooking some part of the API that does do this currently.
Related Issues
I found Store message definition in bag #782 which seems to have covered the problem of the message definitions not being stored in bag files at all in ROS 2, but using the stored definitions for deserialization does not appear to be covered by that ticket.
Those comments reference Dynamic Subscription (REP-2011 subset) ros2#1374. I didn't see anything obvious in there that seems to cover the issue I'm describing but perhaps I overlooked it? Not sure.
Completion Criteria
A python API exists with which the user can deserialize bag messages using definitions stored in the bag, with no reliance on local environment definitions (i.e., no need to use rosidl_runtime_py to grab local defs)
Implementation Notes / Suggestions
None
Testing Notes / Suggestions
None
The text was updated successfully, but these errors were encountered:
Description
Right now with
rosbag2_py
it seems that its possible to:.mcap
in string format (source).mcap
by deserializing with the associated message definition (example)However, I cannot find a way to connect the two things, i.e., deserialize the messages via the definitions in the bag. There doesn't seem to be a (simple) way to turn the string message definitions into actual message defs that the deserializer can use. All the examples I can find for deserialization in python involve using the message definitions available in the local environment, not the ones in the bag.
Let me know if I am overlooking some part of the API that does do this currently.
Related Issues
Completion Criteria
rosidl_runtime_py
to grab local defs)Implementation Notes / Suggestions
None
Testing Notes / Suggestions
None
The text was updated successfully, but these errors were encountered: