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

Revision history [back]

Two ROS1 masters cannot make the systems communicate with each other through ROS topics as you observed. Instead, you can try using docker's --net=host while running the containers. (or in case of docker-compose network-mode: "host")

This allows them to share the network resources (such as IP) and then you don't need two ROS masters.

Alternatively, you can also try following the tutorial: http://wiki.ros.org/ROS/Tutorials/MultipleMachines if you want the dockers to be on isolated networks.

PS: In case you find ros1 bridge to introduce latencies or packet drop, consider trying the slim_bridge!

Two ROS1 masters cannot make the systems communicate with each other through ROS topics as you observed. Instead, you can try using docker's --net=host (for example docker run -it --net=host --name container_name image_name:image_tag) while running the containers. (or in case of docker-compose network-mode: "host")

This allows them to share the network resources (such as IP) and then you don't need two ROS masters.

Alternatively, you can also try following the tutorial: http://wiki.ros.org/ROS/Tutorials/MultipleMachines if you want the dockers to be on isolated networks.

PS: In case you find ros1 bridge to introduce latencies or packet drop, consider trying the slim_bridge!