Introduction to Fast-DDS
A high-performance open-source DDS implementation and default middleware for ROS 2
Overview
Fast-DDS is an open-source DDS (Data Distribution Service) implementation developed by eProsima, fully compliant with the OMG DDS standard. As one of the default DDS implementations in ROS 2, Fast-DDS integrates with ROS 2 through RMW_FastRTPS_cpp, providing high-performance and reliable data distribution services for robotics applications.
Main Features
- High performance: Low latency and high throughput, with optimized network protocols and memory management
- Reliability: Multiple QoS policies ensure reliable data transmission
- Scalability: Supports large-scale distributed systems, scalable to thousands of nodes
- Cross-platform: Supports Windows, Linux, macOS, and other operating systems
- Security: Provides authentication, encryption, and access control
- DDS standard compliance: Fully conforms to the OMG DDS standard with a complete DDS API
- Flexible QoS policies: Multiple quality-of-service configurations for different application scenarios
- Efficient discovery protocol: Optimized node discovery mechanism that reduces network overhead
- Monitoring tools: Graphical monitoring via Fast DDS Monitor
- Rich APIs: Supports C++, Java, and other programming languages
- GitHub repository: https://github.com/eProsima/Fast-DDS
- Official documentation: https://fast-dds.docs.eprosima.com/
- Community support: Discord, ROS Discourse, Stack Overflow
- Installation: Binary packages, source compilation, Docker containers
Technical Characteristics
Use in ROS 2
| Role | Description | |---|---| | Default DDS implementation | One of the default DDS implementations in ROS 2, providing stable and reliable communication | | RMW integration | Seamless integration with ROS 2 via RMW_FastRTPS_cpp, supporting all ROS 2 communication mechanisms | | QoS configuration | Supports ROS 2 QoS policies, adjustable to application needs |