Skip to main content

ROS2 Integration

HDDS can be used as the underlying DDS middleware for ROS2 through the rmw_hdds package. This gives you access to HDDS's performance benefits while maintaining full ROS2 compatibility.

Why Use HDDS with ROS2?

BenefitDescription
PerformanceSub-microsecond latency, higher throughput
Memory SafetyRust's guarantees extend to the middleware layer
DebuggingUse hdds_viewer to debug ROS2 traffic
InteropConnect ROS2 nodes with native DDS applications

Quick Start

Installation

# Add the HDDS ROS2 repository
sudo apt install ros-${ROS_DISTRO}-rmw-hdds

# Set HDDS as the default middleware
export RMW_IMPLEMENTATION=rmw_hdds_cpp

Verify Installation

# Check available RMW implementations
ros2 doctor --report | grep middleware

# Run talker/listener with HDDS
ros2 run demo_nodes_cpp talker &
ros2 run demo_nodes_cpp listener

Performance Comparison

Benchmarks on Ubuntu 22.04, AMD Ryzen 9:

Metricrmw_fastrtpsrmw_cycloneddsrmw_hdds
Latency (1KB)45 µs38 µs12 µs
Latency (64KB)180 µs150 µs85 µs
Throughput850 MB/s920 MB/s1.4 GB/s
Memory (idle)45 MB38 MB28 MB

Migration Guides

Already using a different middleware? Follow our migration guides:

Detailed Documentation

Compatibility

ROS2 Distributionrmw_hdds Support
Jazzy (2024)Full support
Iron (2023)Full support
Humble (2022)Full support
GalacticLegacy support