back to home

ros2 / rmw_cyclonedds

ROS 2 RMW layer for Eclipse Cyclone DDS

167 stars
111 forks
82 issues
C++CMake

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing ros2/rmw_cyclonedds in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/ros2/rmw_cyclonedds)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

ROS 2 RMW for Eclipse Cyclone DDS **Easy, fast, reliable, small Eclipse Cyclone DDS Tier 1 ROS middleware** for ROS 2. Make your **🐢 run like a 🚀** Eclipse Cyclone DDS has great adopters and contributors in the ROS community and is an Eclipse Foundation open source project of Eclipse IoT and OpenADx (autonomous driving). This package lets *ROS 2* use *Eclipse Cyclone DDS* as the underlying DDS implementation. Cyclone DDS is ready to use. It seeks to give the fastest, easiest, and most robust ROS 2 experience. Let the Cyclone blow you away! • Install: or • Set env variable and run ROS 2 apps as usual: • Confirm RMW: In Eloquent and later, to confirm which RMW you're using: Performance recommendations With large samples (100s of kilobytes), excessive latency can be caused by running out of space in the OS-level receive buffer. For this reason, on Linux, we recommend increasing the buffer size: • Temporarily (until reboot): • Permanently: Debugging So Cyclone isn't playing nice or not giving you the performance you had hoped for? That's not good... Please file an issue against this repository! The tool distributed with Cyclone DDS can be used to check that communication works *without* ROS. Run on two different machines - if the "mean" value is above , there are likely network issues. If you're having trouble with nodes discovering others or can't use multicast *at all* on your network setup, you can circumvent discovery: Here are some ways to generate additional debugging info that can help identify the problem faster, and are helpful on an issue ticket: • Configure Cyclone to create richer debugging output: • To see the output live: • To send to : • Create a Wireshark capture: Building from source and contributing The following branches are actively maintained: • , which targets the upcoming ROS version, *Foxy* • , which maintains compatibility with ROS releases *Dashing* and *Eloquent* If building ROS 2 from source (ros2.repos), you already have this package and Cyclone DDS: cd /opt/ros/master rosdep install --from src -i colcon build export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp Quality Declaration This package claims to be in the **Quality Level 2** category, see the Quality Declaration for more details.