Eclipse Cyclone DDS
Cyclone DDSAdvancedThe Eclipse Foundation's open-source DDS implementation, one of the optional communication middlewares underlying ROS 2.
Cyclone DDS is an open-source DDS (Data Distribution Service — an industrial publish-subscribe communication standard) implementation hosted by the Eclipse Foundation, written in C and focused on being lightweight and low-latency. ROS 2 doesn't send and receive data directly; instead it goes through the RMW (ROS middleware interface) to call into a specific DDS implementation, and Cyclone DDS is one of the officially supported options, corresponding to rmw_cyclonedds_cpp. It can use iceoryx to achieve zero-copy transport over shared memory. Quite a few robot vendors' SDKs are built directly on it — Unitree SDK2's communication layer, for instance, uses Cyclone DDS. Switching to Cyclone DDS is a common troubleshooting step when the default middleware shows slow discovery or dropped packets.
ExampleSetting the environment variable RMW_IMPLEMENTATION=rmw_cyclonedds_cpp switches ROS 2 nodes over to communicating through Cyclone DDS.
- Also called
- CycloneDDS
- Related
- Data Distribution Service · eProsima Fast DDS · ROS Middleware Interface (RMW) · Eclipse iceoryx · Unitree SDK2 · Robot Operating System 2
- Sources
- Eclipse Cyclone DDS 官网 (Chinese)
Cyclone DDS GitHub