-
Notifications
You must be signed in to change notification settings - Fork 12
Description
Describe the bug
I am using the Docker image eclipse/zenoh-bridge-ros1:latest, started with the docker-compose service:
ros1-zenoh-bridge:
image: eclipse/zenoh-bridge-ros1:latest
init: true
network_mode: host
environment:
ROS_IP: localhost
ROS_MASTER_URI: "http://localhost:11311"
ROS_DISTRO: noetic
I have another 'subscriber' Docker container where a ROS subscriber to the topic /chatter is active. This container is also configured in network_mode: host
Lastly, I have a third 'publisher' Docker container where a ROS publisher to the topic /chatter is active. Also with network_mode: host.
The problem that I encountered, is that the ros1-zenoh-bridge only bridges the topic /chatter, when the publisher is actively sending messages. If I do not start this publisher container, the topic /chatter is not bridged despite the subscriber in the subscriber container being active.
I would expect that the topic would be bridged, because of the default configuration subscriber_bridging_mode="auto", which states: "bridge topics once they are declared locally or discovered remotely."
I need this for a usecase where I'm making a bridge between Docker containers where one container has ROS1 installed, and the other one does not. Currently, thanks to your bridge I can read (in bare python code) the messages that are sent by a ROS1 publisher, but I cannot yet send messages (from bare python code) to a ROS1 subscriber since the topic seems not to get bridged without having a publisher on the topic.
To reproduce
- Start a ROS subscriber to topic /chatter in a ROS container, configured with network_mode: host
- Start ros1-zenoh-bridge container with
ros1-zenoh-bridge: image: eclipse/zenoh-bridge-ros1:latest init: true network_mode: host environment: ROS_IP: localhost ROS_MASTER_URI: "http://localhost:11311" ROS_DISTRO: noetic
System info
- Platform: WSL Ubuntu 22.04
- Zenoh version: docker image eclipse/zenoh-bridge-ros1:latest