Skip to content

Documentation for Zenoh configuration - #395

Draft
JEnoch wants to merge 1 commit into
ros2:rollingfrom
JEnoch:doc/config
Draft

Documentation for Zenoh configuration#395
JEnoch wants to merge 1 commit into
ros2:rollingfrom
JEnoch:doc/config

Conversation

@JEnoch

@JEnoch JEnoch commented Jan 7, 2025

Copy link
Copy Markdown
Contributor

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

JEnoch commented Jan 7, 2025

Copy link
Copy Markdown
Contributor Author

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

boxanm commented Jan 16, 2025

Copy link
Copy Markdown

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

JEnoch commented Jan 17, 2025

Copy link
Copy Markdown
Contributor Author

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

boxanm commented Jan 24, 2025

Copy link
Copy Markdown

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
Copy Markdown

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

siddux commented Jul 7, 2025

Copy link
Copy Markdown

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