Robots Atlas>ROBOTS ATLAS
eProsima Fast DDS

ROS / ROS 2 · Middleware

eProsima Fast DDS

3.0.0·eProsima

Active Open source Real-time capable API available
CATEGORYROS / ROS 2 · Middleware
READINESSTRL 9
ADOPTION SCALEIndustry Standard
LICENSESApache-2.0
FIRST RELEASE2014

Fast DDS (formerly known as Fast RTPS) is the flagship open-source implementation of the OMG Data Distribution Service (DDS) v1.4 and Real-Time Publish-Subscribe (RTPS) v2.5 standards, developed by Spanish company eProsima. It is written in C++17 and provides a full API in both C++ and Python (Fast DDS Python bindings).

Fast DDS is the default middleware of ROS 2 since the Foxy Fitzroy distribution (2020) and remains the recommended RMW for most scenarios. It provides a wide QoS set (Reliability, Durability, History, Deadline, Liveliness, Lifespan), automatic peer discovery via UDP multicast, SHM (Shared Memory) transport for intra-host communication, and TCP transport for wide-area scenarios. In ROS 2 benchmarks it achieves lower latencies and higher throughput than the competing Cyclone DDS in many typical configurations.

eProsima also develops an ecosystem of tools around Fast DDS: Fast DDS Monitor (GUI to inspect the DDS graph), Fast DDS Discovery Server (centralized discovery for large networks), Fast DDS Statistics (telemetry), Integration Service (bridges to MQTT, WebSocket, ROS 1, FIWARE), and Micro XRCE-DDS — the foundation of the micro-ROS project. License: Apache 2.0.

Type & Roles
Software types
Middleware

Middleware is a software layer that mediates between applications, services, sensors, drivers, and execution layers. In robotics, middleware is typically responsible for inter-process communication, message passing, hardware abstraction, and module integration within a single system. The most widely used robotics middleware is ROS (Robot Operating System), which provides a publish-subscribe message bus, service calls, and a rich ecosystem of packages.

Transport Layer

A Transport Layer is the software layer responsible for data transmission between elements of a robotic or software system — such as processes, nodes, devices, and services. It handles serialisation, routing, reliability, and latency guarantees for messages. In robotics examples include DDS (Data Distribution Service) used by ROS 2, LCM (Lightweight Communications and Marshalling), ZeroMQ, and proprietary message buses on embedded platforms.

API Library

An API Library is a software package that exposes programmatic interfaces for communicating with a device, service, or system. In robotics it typically forms a lightweight integration layer built on top of the manufacturer's official API or an open-source project, abstracting low-level protocol details and providing language-native bindings (Python, C++, Java, etc.).

Runtime

A Runtime is the environment or execution layer used to run code, load libraries, manage dependencies, and operate applications or services — either in real time or during normal system operation. In robotics this includes real-time operating system (RTOS) runtimes, ROS 2 executor runtimes, containerised execution environments (Docker, podman), and embedded C++ runtimes on microcontrollers.

Select an item to see its description.
Main category
MiddlewareRuntime & Infrastructure
Roles in robotics ecosystem
API AccessDeveloper Enablement
Device Integration

Device Integration denotes the role of software responsible for communication, configuration, initialization and handling of specific devices, sensors, controllers or hardware components within a robotic system.

Robot Control

Robot Control denotes the role of software responsible for motion control, command execution, coordination of actuating elements and the direct operational logic of the robot.

Select an item to see its description.
Software family
Family
ROS 2 Ecosystem
Maturity & Adoption
9 / 9
Proven in operational conditions
ResearchPrototypeProduction
Adoption scaleIndustry Standard
Maintenance statusActively Maintained
First release2014
Last update20 May 2026
Deployments

Default RMW in all official ROS 2 binaries (Foxy → Kilted). Used by thousands of production robots (TurtleBot 4, Clearpath, Unitree G1/H1 community, PX4 uXRCE-DDS bridge), in Airbus aircraft, rail, and autonomous vehicles.

Community

2.4k★ github.com/eProsima/Fast-DDS, active issue trackers and an eProsima Discord, regular ROSCon talks, sponsored educational workshops. Commercial support via eProsima Premium.

Integrates with
R2
ROS 2
Open-source framework for building robot software. The successor to ROS 1, built on DDS with native support for distributed, real-time and multi-platform systems. The de facto standard in research and commercial robotics.
R2
ROS 2 Humble Hawksbill
LTS release of the ROS 2 framework based on Ubuntu 22.04, supported through May 2027. The most widely deployed release in humanoids, AMRs, and research platforms. Full integration with Nav2, MoveIt 2 and ros2_control.
R2
ROS 2 Iron Irwini
ROS 2 Iron Irwini — non-LTS distro (May 2023, EOL November 2024). Bridge between Humble and Jazzy: new rclcpp loaned messages, type adaptation, intra-process communication improvements.
R2
ROS 2 Jazzy Jalisco
ROS 2 Jazzy Jalisco — the latest LTS (May 2024, supported until May 2029) on Ubuntu 24.04. C++17, Fast DDS 3.0, improved executors, RMW Zenoh, better QoS for variable networks.
EC
Eclipse Cyclone DDS
A lean, open-source implementation of the OMG DDS standard, developed under the Eclipse Foundation. An alternative RMW in ROS 2 and the de facto default in many distributions. Used in autonomous systems and peer-to-peer communications.
M
micro-ROS
A ROS 2 port for microcontrollers (Cortex-M, ESP32, RISC-V). Lets nodes running on MCUs talk to the rest of the ROS 2 graph via a Micro XRCE-DDS agent — a DDS protocol optimized for embedded.
N
Nav2
The professionally-supported successor to the ROS Navigation Stack — a production-grade navigation framework for mobile robots, quadrupeds, and AGVs. Behavior Trees, planners (Smac, NavFn, Theta*), controllers (MPPI, RPP, DWB), AMCL, costmaps.
M2
MoveIt 2
Open-source motion planning, manipulation, and kinematics framework for ROS 2 (Foxy → Jazzy). Stewarded by PickNik Robotics. The de facto standard for manipulators in the ROS ecosystem.
Target robotic platforms
Mobile Robot
Humanoid
Quadruped
Robotic Arm
Industrial Robot
Service Robot
Research Robot
Drone / UAV
ROS supportCompatibility with ROS / ROS 2 ecosystem
Official ROS 2 PackagePakiet dostępny w oficjalnym rejestrze ROS 2 przez rosdep / apt (packages.ros.org)
System capabilities
Open source
Source code is publicly available under an open-source license — enables security audits, custom modifications, and integration without licensing barriers.
Real-time capable
Designed with timing-determinism guarantees — meets the requirements of control loops, safety systems, and tasks demanding low, predictable latency.
⟨/⟩
API available
The software exposes a programmable interface (REST, gRPC, SDK, or language bindings) that enables automation and integration with other systems.
📦
Pre-built / binary
Distributed as ready-to-use binary packages, container images, or installers — no need to build from source.
Programming languages
C++PythonC
Operating systems
Ubuntu 22.04Ubuntu 20.04DebianJetPack LinuxWindowsmacOS
Minimum hardware requirements
Minimum hardware requirements
CPUDual-core x86-64 or ARM64 (Cortex-A53+)
RAM (GB)1
GPUNone required
Disk (GB)1

The full library occupies ~50 MB. For deterministic critical paths, a PREEMPT_RT kernel is recommended.

Packaging & distribution
Package managers
apt / debROS 2 Binary Release (packages.ros.org)pip / PyPISource – CMake / ament_cmakeGitHub Releases / GitHub Actions ArtifactsDocker / Docker Hubconda / mamba
CPU architectures
x86_64 (AMD64)ARM64 / AArch64NVIDIA Jetson – AArch64 (JetPack)aarch64 / ARM64Apple Silicon – AArch64 (macOS)
Installation difficulty
LevelModerate
Protocols and interfaces
Communication protocols
DDS (Data Distribution Service)Fast DDS (eProsima)RTPS (Real-Time Publish-Subscribe)XRCE-DDS (DDS for eXtremely Resource Constrained Environments)Ethernet / TCP-IPShared Memory (POSIX / mmap)WebSocket
Hardware interfaces
Ethernet 1000BASE-T (Gigabit Ethernet)Ethernet 2.5GBASE-TEthernet 10GBASE-T (10 Gigabit Ethernet)USB 3.0 / 3.1 Gen 1
Latency classes
Hard Real-Time (< 1 ms)Hard Real-Time (1–5 ms)Deterministic (protocol-dependent)
Deployment types
On RobotEdgeCloudLocal WorkstationContainerized
Supported simulators
NVIDIA Isaac Sim
NVIDIA Isaac Lab
Gazebo Harmonic
Gazebo Garden
Gazebo Fortress
Official Docker images
ros:humbleros:jazzyros:rolling
Licenses
Apache-2.0Apache License 2.0v2.0

License family: Permissive

ModificationDistributionCommercial useSublicensingPrivate useROS-compatibleOSI approvedFSF Free/LibreRequires attributionPatent grant
Version history
3.0.0May 2025

Major rewrite (C++17 baseline), default for ROS 2 Kilted.

2.14.0May 2024

ROS 2 Jazzy, Statistics module GA, SHM improvements.

2.10.0May 2023

ROS 2 Iron support, Discovery Server v2.

2.6.0 LTSMay 2022

ROS 2 Humble support, long-term LTS.

1.10.0Jun 2020

Rebrand to Fast DDS, default RMW for ROS 2 Foxy.

1.0.0Jan 2014

First public Fast RTPS release.