ros2 / rmw_cyclonedds
ROS 2 RMW layer for Eclipse Cyclone DDS
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.
Repository Overview (README excerpt)
Crawler viewROS 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.