Skip to content

[Bug] Ros2dds plugin does not downsample large messages #371

@boxanm

Description

@boxanm

Describe the bug

I have two computers connected with zenoh over a direct 1Gb/s link.
One of the two computers, Nvidia Jetson Orin, processes data from a high-resolution camera (1920x1200) at a high rate. While the communication works correctly when not using the pub_max_frequencies parameter, I only need to send the camera images to computer2 at a lower rate for logging purposes.

Setting the downsampling parameter to pub_max_frequencies: ["/zed_node/left_raw/image_raw_color=5"] breaks the communication, and I'm unable to ros 2 topic echo /zed_node/left_raw/image_raw_color on computer2 anymore. Furthermore, the following message appears after approximately 1 minute:

2024-12-29T19:03:50.353380Z ERROR                net-0 ThreadId(10) zenoh_transport::unicast::universal::tx: Unable to push non droppable network message to d7712787afec5bd3e3db3a79c943e8b5. Closing transport!

To investigate a little further, I tested my setup with a small ROS string message. I changed the subsampling parameter to pub_max_frequencies: [".*/chatter=5"] and started a new publisher at 100 Hz with

ros2 topic pub /chatter std_msgs/msg/String "data: 'hello from jetson'" -r 100

Computer2 shows correctly that the /chatter topic receives messages at 5 Hz.

To reproduce

To reproduce the expected behavior with a small message:

  1. Add pub_max_frequencies: [".*/chatter=5"] to your ros2dds plugin config
  2. start a new publisher at 100 Hz with
ros2 topic pub /chatter std_msgs/msg/String "data: 'hello from jetson'" -r 100
  1. On a connected computer2, ros2 topic hz /chatter should report 5 Hz

To reproduce the failing behavior with large messages:

  1. Add pub_max_frequencies: ["/your_camera_topic=5"] to your ros2dds plugin config.
  2. Start a camera driver publishing large messages on the topic /your_camera_topic
  3. Observe that no messages pass to computer2

System info

  • Platform: Ubuntu 22
  • System: Nvidia Jetson Orin
  • zenoh-bridge-ros2dds --version: v1.1.0

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