Open Source Robotics

Una colección curada de proyectos, herramientas y software de robótica de código abierto de alta calidad.

Fast DDS

El middleware DDS de alto rendimiento de eProsima: el transporte por defecto bajo ROS 2

Licencia

Apache-2.0

Resumen

Fast DDS (anteriormente Fast RTPS) es la implementación en C++ de eProsima del estándar Data Distribution Service de OMG y su protocolo de cable RTPS. Proporciona comunicación publish-subscribe descentralizada y sin broker, con control detallado de la calidad de servicio (QoS), y es el middleware por defecto de ROS 2 (rmw_fastrtps), lo que significa que la mayoría de los robots ROS 2 del mundo ejecutan Fast DDS debajo de cada topic, servicio y acción.

Fast DDS implementa la especificación DDS completa: DomainParticipants, topics, publishers y subscribers se descubren automáticamente sobre UDP, TCP, memoria compartida o un transporte personalizado, y se comunican peer-to-peer con políticas de QoS que cubren fiabilidad, durabilidad, plazos, liveliness e historial. Entre sus características de rendimiento se incluyen un transporte de memoria compartida con entrega zero-copy para procesos en el mismo host, controladores de flujo asíncronos, y un modo de descubrimiento estático más un Discovery Server para redes grandes o restringidas donde el descubrimiento por multicast no escala. El proyecto incluye Fast DDS-Gen (generación de código a partir de IDL), hooks de estadísticas y monitorización usados por Fast DDS Monitor de eProsima, y sustenta micro-ROS en microcontroladores. Como capa rmw por defecto de ROS 2, sus versiones siguen de cerca las distribuciones de ROS 2 y está probado por uno de los mayores despliegues de robótica de cualquier middleware.

Por qué importa

Fast DDS es posiblemente la pieza de infraestructura robótica más desplegada que la mayoría de los desarrolladores nunca mira: como middleware por defecto de ROS 2 transporta el tráfico de la mayoría de los robots ROS 2, y es una de las pocas implementaciones DDS open source completas y con soporte comercial.

Qué problema resuelve

Los sistemas robóticos distribuidos necesitan comunicación fiable, de baja latencia y configurable entre procesos y máquinas, sin un broker central como punto único de fallo. Fast DDS proporciona publish-subscribe basado en estándares con el control de QoS que requieren los sistemas de tiempo real, desde microcontroladores hasta flotas multi-robot.

Puntos clave

  • Implementación open source completa del estándar DDS de OMG y del protocolo de cable RTPS
  • Middleware por defecto de ROS 2 (rmw_fastrtps) en las distribuciones recientes de ROS 2
  • Transportes de memoria compartida y zero-copy para comunicación de alto rendimiento en el mismo host
  • El Discovery Server y el descubrimiento estático escalan DDS más allá de las redes aptas para multicast
  • Impulsa micro-ROS para dispositivos de clase microcontrolador mediante eProsima Micro XRCE-DDS

Para quién es

  • Desarrolladores de ROS 2 que ajustan la comunicación y la QoS
  • Ingenieros de sistemas distribuidos y de tiempo real
  • Equipos de plataforma e infraestructura robótica
  • Desarrolladores embebidos que usan micro-ROS

Limitaciones

  • Los conceptos de DDS y las matrices de QoS tienen una curva de aprendizaje pronunciada
  • La configuración de perfiles basada en XML es verbosa y es fácil equivocarse de forma sutil
  • La interoperabilidad DDS entre proveedores más allá de la base RTPS puede requerir cuidado
  • El ajuste fino para redes Wi-Fi con pérdidas suele requerir experiencia a nivel de transporte

Este sitio web requiere JavaScript. Por favor, habilite JavaScript para explorar nuestros proyectos de robótica.