Skip to content

Conversation

@JEnoch
Copy link
Contributor

@JEnoch JEnoch commented Jan 7, 2025

The goal of this PR is to add a documentation about the way to configure Zenoh for various use cases and deployments.

So far I plan address the following sections:

  • Default configuration
  • Explanations of connect and listen configuration parts (will close Document restricting Zenoh sessions and router to a specific network interface #230)
  • Case of a robot with multiple hosts/boards (e.g. Turtlebot3)
  • Connection from/to another host (i.e. router-to-router)
  • Direct connection of a remote Node (e.g. remote rviz)
  • Automatic discovery and interconnections of Zenoh routers (i.e. routers scouting)
  • Remote connection via a Zenoh router in the cloud
  • No router, UDP multicast scouting, single host (i.e. DDS-like, single host)
  • No router, UDP multicast scouting, multiple hosts (i.e. DDS-like, multi hosts)
  • Downsampling
  • Access Control (by network interface)
  • Performances tuning (configuration of batching, express, priorities...)

Any comment or suggestion of additional section is welcome !

@JEnoch
Copy link
Contributor Author

JEnoch commented Jan 7, 2025

Also, I'm not sure yet how to re-organize the main README.md to avoid duplicate and to point to this new doc...

@boxanm
Copy link

boxanm commented Jan 16, 2025

Hello @JEnoch ! Thanks for taking the time to give us, users, more examples of using zenoh-rmw in different scenarios. I'm particularly interested in multi-host examples (router-to-router). Do you plan to include these in the near future? I understand that you target the next ROS release for a polished zenoh-rmw version. Having these configs available earlier would definitely help earlier adopters with the testing efforts. Thanks!

@JEnoch
Copy link
Contributor Author

JEnoch commented Jan 17, 2025

Sure, will do! I haven't had time to make progress on this recently, but I will continue next week.
In the meantime, you can have a look here for explanation of router-to-router config:
https://github.com/ZettaScaleLabs/roscon2024_workshop/blob/main/exercises/ex-2.md

@boxanm
Copy link

boxanm commented Jan 24, 2025

Hello again @JEnoch !
I checked the ROScon exercise you mentioned, and I believe it suffers from the same issues as most other DDS or ROS 2 comm related tutorials out there - it only considers an extremely simplified setting, in this case, sending small text messages between two containers on the same machine. I believe this is something that should be taken into account when writing the example configuration, as most users operate more complicated systems counting dozens of nodes, and send fairly large data chunks such as point clouds and camera images. For example, why the chatter string passes without any issues, we didn't succeed in sending a point cloud message over Zenoh between two computers directly connected over ethernet. Do you have any example configuration file that would support such a setting? Thanks!

@ros-discourse
Copy link

This pull request has been mentioned on ROS Discourse. There might be relevant details there:

https://discourse.ros.org/t/rmw-zenoh-binaries-for-rolling-jazzy-and-humble/41395/8

@siddux
Copy link

siddux commented Jul 7, 2025

Hi @boxanm did you find any suitable configuration (or more information) on complex multiple host communication? I've been able to set it up but the CPU load is extremely high, much worse than on any other RMW, and specially if I have a node or router crashing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document restricting Zenoh sessions and router to a specific network interface

4 participants