Fast DDS
eProsimas hochperformante DDS-Middleware — der Standard-Transport unter ROS 2
Lizenz
Apache-2.0
Überblick
Fast DDS (früher Fast RTPS) ist eProsimas C++-Implementierung des OMG-Standards Data Distribution Service und seines RTPS-Wire-Protokolls. Es bietet dezentrale, broker-lose Publish-Subscribe-Kommunikation mit feingranularer Quality-of-Service-Steuerung und ist die Standard-Middleware von ROS 2 (rmw_fastrtps) — das heißt, unter den meisten ROS-2-Robotern der Welt läuft Fast DDS unter jedem Topic, Service und jeder Action.
Fast DDS implementiert die vollständige DDS-Spezifikation: DomainParticipants, Topics, Publisher und Subscriber entdecken sich automatisch über UDP, TCP, Shared Memory oder einen benutzerdefinierten Transport und kommunizieren Peer-to-Peer mit QoS-Richtlinien für Zuverlässigkeit, Persistenz, Deadlines, Liveliness und History. Zu den Performance-Features gehören ein Shared-Memory-Transport mit Zero-Copy-Zustellung für Prozesse auf demselben Host, asynchrone Flow-Controller sowie ein statischer Discovery-Modus plus ein Discovery Server für große oder eingeschränkte Netzwerke, in denen Multicast-Discovery nicht skaliert. Das Projekt liefert Fast DDS-Gen (IDL-Codegenerierung) sowie Statistik- und Monitoring-Hooks, die eProsimas Fast DDS Monitor nutzt, und es bildet die Grundlage von micro-ROS auf Mikrocontrollern. Als Standard-rmw-Schicht von ROS 2 folgen seine Releases eng den ROS-2-Distributionen, und es wird von einem der größten Robotik-Deployments aller Middlewares im Einsatz erprobt.
Warum es wichtig ist
Fast DDS ist wohl das am weitesten verbreitete Stück Robotik-Infrastruktur, das sich die meisten Entwickler nie ansehen: Als Standard-Middleware von ROS 2 trägt es den Datenverkehr der Mehrheit der ROS-2-Roboter, und es ist eine der wenigen vollständigen, kommerziell unterstützten Open-Source-DDS-Implementierungen.
Welches Problem es löst
Verteilte Robotersysteme benötigen zuverlässige, latenzarme, konfigurierbare Kommunikation zwischen Prozessen und Maschinen ohne einen zentralen Broker als Single Point of Failure. Fast DDS bietet standardbasiertes Publish-Subscribe mit der QoS-Kontrolle, die Echtzeitsysteme erfordern — vom Mikrocontroller bis zur Multi-Roboter-Flotte.
Wichtigste Punkte
- Vollständige Open-Source-Implementierung des OMG-DDS-Standards und des RTPS-Wire-Protokolls
- Standard-Middleware von ROS 2 (rmw_fastrtps) in den aktuellen ROS-2-Distributionen
- Shared-Memory- und Zero-Copy-Transporte für Kommunikation mit hohem Durchsatz auf demselben Host
- Discovery Server und statische Discovery skalieren DDS über multicast-freundliche Netzwerke hinaus
- Treibt micro-ROS für Geräte der Mikrocontroller-Klasse über eProsima Micro XRCE-DDS an
Für wen
- ROS-2-Entwickler, die Kommunikation und QoS optimieren
- Ingenieure für verteilte und Echtzeitsysteme
- Robotik-Plattform- und Infrastrukturteams
- Embedded-Entwickler, die micro-ROS einsetzen
Einschränkungen
- DDS-Konzepte und QoS-Matrizen haben eine steile Lernkurve
- Die XML-basierte Profilkonfiguration ist ausufernd und lädt zu subtilen Fehlern ein
- Herstellerübergreifende DDS-Interoperabilität jenseits der RTPS-Basis kann Sorgfalt erfordern
- Das Feintuning für verlustbehaftete WLAN-Netzwerke erfordert oft Expertise auf Transportebene