Fast DDS
eProsima's high-performance DDS middleware — the default transport under ROS 2
License
Apache-2.0
Overview
Fast DDS (formerly Fast RTPS) is eProsima's C++ implementation of the OMG Data Distribution Service standard and its RTPS wire protocol. It provides decentralized, broker-less publish-subscribe communication with fine-grained Quality-of-Service control, and it is the default ROS 2 middleware (rmw_fastrtps), which means most ROS 2 robots in the world are running Fast DDS underneath every topic, service and action.
Fast DDS implements the full DDS specification: DomainParticipants, topics, publishers and subscribers discover each other automatically over UDP, TCP, shared memory or a custom transport, and communicate peer-to-peer with QoS policies covering reliability, durability, deadlines, liveliness and history. Performance features include a shared-memory transport with zero-copy delivery for same-host processes, asynchronous flow controllers, and a static discovery mode plus a Discovery Server for large or constrained networks where multicast discovery does not scale. The project ships with Fast DDS-Gen (IDL code generation), statistics and monitoring hooks used by eProsima's Fast DDS Monitor, and it underpins micro-ROS on microcontrollers. As the default rmw layer of ROS 2, its releases track ROS 2 distributions closely and it is exercised by one of the largest robotics deployments of any middleware.
Why it matters
Fast DDS is arguably the most widely deployed piece of robotics infrastructure that most developers never look at: as the default ROS 2 middleware it carries the traffic of the majority of ROS 2 robots, and it is one of the few complete, commercially supported open-source DDS implementations.
Problem it solves
Distributed robot systems need reliable, low-latency, configurable communication between processes and machines without a central broker as a single point of failure. Fast DDS provides standards-based publish-subscribe with the QoS control real-time systems require, from microcontrollers to multi-robot fleets.
Key takeaways
- Complete open-source implementation of the OMG DDS standard and RTPS wire protocol
- Default ROS 2 middleware (rmw_fastrtps) across recent ROS 2 distributions
- Shared-memory and zero-copy transports for high-throughput same-host communication
- Discovery Server and static discovery scale DDS beyond multicast-friendly networks
- Powers micro-ROS for microcontroller-class devices via eProsima Micro XRCE-DDS
Who it is for
- ROS 2 developers tuning communication and QoS
- Distributed and real-time system engineers
- Robotics platform and infrastructure teams
- Embedded developers using micro-ROS
Limitations
- DDS concepts and QoS matrices have a steep learning curve
- XML-based profile configuration is verbose and easy to get subtly wrong
- Cross-vendor DDS interoperability beyond the RTPS baseline can require care
- Fine-tuning for lossy Wi-Fi networks often needs transport-level expertise