DDS in ROS 2: Consolidated User Insights

Hello everyone,

Before anything else: my intention here is not to turn this thread into a complaint fest.
DDS and ROS 2 are topics that periodically raise questions for me - and for others as well - so I’d like to collect and consolidate existing insights. Positive experiences, success stories, and best-case user datapoints about DDS are especially welcome!

My goal is to gather constructive feedback or identify where such information has already been summarized. I noticed several ROSCon DE 2024 talks in Strasbourg touched on related challenges, which inspired me to start this thread.

My question: What solid resources already exist - talks, guides (e.g., Clearpath’s ROS 2 networking material), previous discourse threads, etc. - that I could collect into one place?

I’d really appreciate neutral or positive, technically grounded feedback.
Thanks in advance for your help! :slight_smile:

:clinking_beer_mugs: Cheers from Franconia

Here would be my starting list:

Please share, if you have any more datapoints.

14 Likes

Hello @flo,

I think the best place to start is the ROS 2 Alternative middleware report .

– HTH

2 Likes

We have a few words on “Taming DDS” on our 2024 keynote (from 22:02): Mobile Robotics Scale-up Leveraging ROS

And for our migration story to Zenoh, you found the link already Florian :face_blowing_a_kiss:

Tchuss

2 Likes

Did you see this one: Tackling ROS 2 Networking Challenges - Clearpath Robotics

1 Like

DDS is more like a protocol with an open specification of it, and we, as a users, can choose which vendor implementation to use (Cyclone DDS, Fast DDS, rtpstalk, …).

In case of Zenoh (@kydos please correct me) there is only one vendor right now - ZettaScale

Some details are here:

Great initiative! Adding to the list of resources, I’d like to share some insights from our research group (DGIST CSI Lab).

While the middleware landscape is heavily driven by brilliant developers, our group (about 20 members) approaches these challenges from an academic perspective—focusing on mathematical modeling and experimental validation to support the community.

Here are three resources from our recent work that tackle ROS 2 wireless robustness:

We are continuously researching middleware, including DDS and Zenoh. Please stay tuned for our upcoming research on DDS discovery analysis and novel security vulnerabilities.

We are always open to collaboration or technical discussions!

Research Group GitHub: DGIST CSI LAB · GitHub

9 Likes

Wow, this article is pure gold! Why don’t you turn it into a docs page?

Setting max payload size to MTU sounds like a no-brainer. Are there any practical drawbacks?

1 Like

Speaking of ROS 2 over wireless networks, here are some papers showing interesting results with RMW Zenoh in different scenarios:

3 Likes

The Clearpath guide is fantastic and I reference a lot. An update to incorporate this CLI limitation would be useful! CLI tools do not check RMW_IMPLEMENTATION · Issue #1009 · ros2/ros2cli · GitHub

I have some DDS optimization notes in https://drive.google.com/file/d/1LBTz-d_5gWl1RpozTmK4RQqPY2dfQ_2I/ in the context of a robot arm with 1-2 depth cameras, but that content might be better covered by other stuff in this thread.

Thanks! To answer your question: while there is a minor overhead in the publish process time, the trade-off is acceptable for the performance gains.

We are currently preparing a detailed End-to-End guide covering ROS 2 application optimization, multi-pub/sub scenarios, and socket buffer sizing. We fully empathize with the struggles many robot developers and researchers face with complex network stacks. We are working hard to release this to the ROS community as soon as possible!

1 Like

I keep short section on Networking, Security and DDS considerations in my ROS2 Learning Links compilation.