eclipse-cyclonedds/cyclonedds logo

eclipse-cyclonedds/cyclonedds

Free

Eclipse Cyclone DDS project

FreeFree tier
Type
Open Source
Company
Eclipse Foundation

About eclipse-cyclonedds/cyclonedds

Eclipse Cyclone DDS is a very performant and robust open-source implementation of the OMG DDS (Data Distribution Service) specification. It is developed as an Eclipse IoT project and serves as a tier-1 middleware for ROS 2 (Robot Operating System). Cyclone DDS supports multiple programming languages including C, C++, and Python. The Python binding allows defining data types on the fly without IDL, while an IDL compiler is included for C/C++. It is used in a wide range of distributed systems such as air-traffic control, jet engine testing, railway control, medical systems, naval command-and-control, smart greenhouses, and robotics. Cyclone DDS is brokerless, eliminating single points of failure, and provides high throughput with low latency.

Key Features

Open-source implementation of OMG DDS specification
Very performant and robust
Tier-1 middleware for ROS 2
Python binding with dynamic data type definitions
IDL compiler for C/C++
Supports reliable QoS policies
Brokerless publish-subscribe messaging
Widely used in aerospace, defense, and robotics

Pros & Cons

Pros
  • High performance with low latency
  • Robust and reliable
  • Open-source and free to use
  • No single point of failure (brokerless)
  • Supports multiple languages (C, C++, Python)
  • Python allows easy prototyping without IDL
  • Active community and Eclipse Foundation backing

Best For

Air-traffic control systemsJet engine testingRailway controlMedical systemsNaval command-and-controlSmart greenhousesRobotics and autonomous vehiclesROS 2 middleware

FAQ

What is DDS?
DDS (Data Distribution Service) is a publish-subscribe messaging system for distributed systems, used in aerospace, defense, robotics, and other real-time applications.
Is Cyclone DDS used in ROS 2?
Yes, Cyclone DDS is a tier-1 middleware for ROS 2.
What programming languages does Cyclone DDS support?
Cyclone DDS supports C, C++, and Python. The Python binding allows defining data types dynamically without using IDL.
What is the licensing of Cyclone DDS?
Cyclone DDS is open-source, hosted as an Eclipse IoT project. The repository includes a LICENSE file.