ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Hi!

Starting in Eloquent, the ROS 2 default middle-ware (Fast DDS) supports intra-process delivery. If you run publishers and subscribers in the same process, the communication occurs through Fast DDS' intra-process mechanism. Using that feature, you can use any DDS QoS configuration of your choice, such ad VOLATILE durability or RELIABLE reliability.

Mind that this intra-process mechanism is not the same as the ROS 2 "built-in" intra-process mechanism, but will most likely get you were you want to go.

Furthermore, if you're interested in overcoming network traffic between separate processes running in the same machine, starting ROS 2 Foxy, you could checkout Fast DDS Shared Memory Transport (SHM).

I hope that helps!

Hi!

Starting in Eloquent, the ROS 2 default middle-ware (Fast DDS) supports intra-process delivery. If you run publishers and subscribers in the same process, the communication occurs through Fast DDS' intra-process mechanism. Using that feature, you can use any DDS QoS configuration of your choice, such ad VOLATILE durability or RELIABLE reliability.reliability. By default, this feature is disabled in ROS 2 Eloquent (in ROS 2 Foxy is enabled by default). You can activate it using a XML profiles file as described here.

Mind that this intra-process mechanism is not the same as the ROS 2 "built-in" intra-process mechanism, but will most likely get you were you want to go.

Furthermore, if you're interested in overcoming network traffic between separate processes running in the same machine, starting ROS 2 Foxy, you could checkout Fast DDS Shared Memory Transport (SHM).

I hope that helps!