ROS2, docker and IPC

asked 2021-10-28 16:11:07 -0500

rblilja gravatar image

updated 2021-11-05 16:51:59 -0500

Hello!

I'm using docker-compose to run multiple ROS2 nodes (Foxy, FastDDS, cpp) in different services. The services use the following settings in the docker-compose file:

  • network_mode: "host"
  • ipc: host
  • pid: host

Nodes are created using the 'use_intra_process_comms(true)' option.

1) My understanding is that these settings (above) shall suffice to enable the nodes to use IPC when communicating between containers?

What happens to the IPC if:

2) A node on the host machine subscribes to a topic published by a container node? Is IPC still used?

3) A node on a remote host on the network subscribes to a topic published by a container node? Will the topic move over to multicast?

Bonus question:

4) Assuming rosbag2 runs in a container, will it be able to benefit from IPC?

Many thanks!

edit retag flag offensive close merge delete

Comments

+1. I am particularly interested on the performance of rosbag2 record in containers.

maxpol gravatar image maxpol  ( 2022-11-26 03:44:27 -0500 )edit