You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
Also, something similar happens when running your example.
If I run your whole example, it works. It also works if I run everything except for the rostopic echo (bottom right terminal in your example), since the logging of the bridge then says that that both ROS1 -> Zenoh and Zenoh -> ROS1 bridges are made for /topic.
However, If I run everything except for the rostopic pub (bottom left terminal in your example), then these bridges are no longer made.
I stand corrected: running the full example when using the docker containers does not work. On the 'rostopic echo /topic' side, there is a publisher node /ros1_to_zenoh_bridge, but the message test_message is not actually received. The used compose file for a reproducible example:
Describe the bug
I am using the Docker image eclipse/zenoh-bridge-ros1:latest, started with the docker-compose service:
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
System info
The text was updated successfully, but these errors were encountered: