Closed blackliner closed 4 years ago
Ok, i am not even able to record anything via RMW_IMPLEMENTATION=rmw_iceoryx_cpp ros2 bag record -a -o iceoryx_test
, is it possible that rosbag is not yet supported?
020-03-21 22:59:51.590 [ Info ]: Application registered management segment 0x7f3c2e702000 with size 113371808 to id 1
2020-03-21 22:59:51.591 [ Info ]: Application registered payload segment 0x7f3c0af53000 with size 595259200 to id 2
[INFO] [rosbag2_storage]: Opened database 'iceoryx_test/iceoryx_test_0.db3' for READ_WRITE.
2020-03-21 22:59:51.783 [Warning]: Cache size for subscribe too large 1000, limiting to MAX_RECEIVER_QUEUE_SIZE = 256
[INFO] [rosbag2_transport]: Listening for topics...
[INFO] [rosbag2_transport]: Subscribed to topic '/string'
[INFO] [rosbag2_transport]: Subscribed to topic '/rosout'
[ERROR] [rosbag2_transport]: Failed to record: package 'Introspection_ara_msgs' not found, searching: blablub
yes, the rmw_iceoryx currently lacks a proper interface to serialize messages: https://github.com/ros2/rmw_iceoryx/blob/master/rmw_iceoryx_cpp/src/rmw_serialize.cpp
Thanks for opening this ticket though. I hope to get some time to get that serialization done in the next few days.
'Introspection_ara_msgs' are our built-in topics in iceoryx. For these we have no ROS messages. Does a bag record want to measure all the topics that are listed with ros2 topic list? We could suppress the built-in topics (for a quick solution and later maybe have ROS messages for them)
Does this make sense?
... or make them available as ROS2 messages? Or are they really, really special, so they can not be represented in the OMG IDL? But i guess it is not really important to have them, so maybe hide them for now?
Exactly! They are needed mainly to get the iceoryx internals in the rmw. So we suppress them for now (commit is already on a branch)
ROS messages would be cool in future. Then you could have the information like memory pool usage also via ROS tooling. We will check if we can describe them with the ROS IDL. They use some of our special fixed size containers, so maybe this will not be straight forward
@blackliner any chance you could give #15 a shot? With the latest rosbag2 master, you should be able to record rosbags with iceoryx. I'll address the conversion in a separate PR.
I tried all of that with the eloquent based package release from Ubuntu 18.04, i will try foxy from master later.
Of course.
Recording with a named topic (in this case RMW_IMPLEMENTATION=rmw_iceoryx_cpp ros2 topic pub /bool_test std_msgs/msg/Bool "data: True"
) works:
-a
flagUnfortunately, recording all topics via RMW_IMPLEMENTATION=rmw_iceoryx_cpp ros2 bag record -a
results in:
INFO: RMW_IMPLEMENTATION=rmw_iceoryx_cpp ros2 topic list
is not able to find the /bool_test
topic
-a
flagNow with ros2 foxy: Looks good, the record works now: and:
:heavy_exclamation_mark: I don't know its my setup, but i get many many log messages when running any ros2 command :heavy_exclamation_mark:
Thanks for the reports here. I think you assest the situation currently in that ros2 bag record -a
is not support in for eloquent and you'd need to get a specific list of topics to be recorded.
As for the the missing functions, you've seen that #18 will add these and you shouldn't see these warnings any further.
Hi, i have some rosbags which were recorded with the default ROS2 rmw (fast_RTPS) and i would like to do a performance comparison between different other rmw choices. Iceoryx sounds awesome, but i am not able to replay those rosbags. Is there something i missed? Do i need to build ROS2 together with iceoryx and rmw_iceoryx with some special env-variables set? Cheers