Gazebo Transport Systems: Questions about reliability
Hi Guys,
i am working with the Gazebo transport system to communicate between different plugins, thereby, some questions arise:
- Is there any guarantee that every message arives at the subscribing plugin?
- What's about the sequence of the messages? ROS therefore uses additional data fields, like sequence numbers or stamps? It it possible to control weather each topic has arrived?
Best regards!
Asked by Illuminatur on 2016-03-30 07:26:59 UTC
Answers
The gazebo transport mechanism is based on TCP. If a publisher starts sending messages before a subscriber is connected to a topic, then the subscriber could miss some messages.
Gazebo messages do not have sequence numbers. Some messages have timestamps, but not all. You could write your own messages that include these fields.
Asked by nkoenig on 2016-03-30 15:43:16 UTC
Comments
You write that the transport mechanism is based on TCP. However, I don't see any messages in Wireshark on the loopback network. Am I looking at the wrong network or do messages between plugins of the same gzserver process not show up on the network?
The reason that I ask is that I see message drops (callbacks set up with transport::Subscribe
are not always called) especially when the simulation rate is higher and/or CPU load is higher.
Asked by Julian Oes on 2018-12-04 07:09:14 UTC
Messages between nodes in the same process will not show up on wireshark. These messages are transmitted internally.
Asked by nkoenig on 2018-12-06 11:36:57 UTC
Comments