Skip to content

[Bug] ROS subscribers not automatically bridged despite subscriber_bridging_mode="auto" #92

@AnneCK0

Description

@AnneCK0

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

  1. Start a ROS subscriber to topic /chatter in a ROS container, configured with network_mode: host
  2. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions