Open Source Robotics

Uma coleção selecionada de projetos, ferramentas e software de robótica de código aberto de alta qualidade.

Fast DDS

O middleware DDS de alto desempenho da eProsima — o transporte padrão sob o ROS 2

Licença

Apache-2.0

Visão geral

O Fast DDS (antigo Fast RTPS) é a implementação em C++ da eProsima do padrão Data Distribution Service da OMG e do seu protocolo de rede RTPS. Ele fornece comunicação publish-subscribe descentralizada e sem broker, com controle refinado de Quality-of-Service, e é o middleware padrão do ROS 2 (rmw_fastrtps), o que significa que a maioria dos robôs ROS 2 do mundo está rodando Fast DDS por baixo de cada topic, service e action.

O Fast DDS implementa a especificação DDS completa: DomainParticipants, topics, publishers e subscribers se descobrem automaticamente via UDP, TCP, memória compartilhada ou um transporte customizado, e se comunicam peer-to-peer com políticas de QoS cobrindo confiabilidade, durabilidade, deadlines, liveliness e histórico. Os recursos de desempenho incluem um transporte de memória compartilhada com entrega zero-copy para processos no mesmo host, flow controllers assíncronos e um modo de descoberta estática mais um Discovery Server para redes grandes ou restritas onde a descoberta por multicast não escala. O projeto vem com o Fast DDS-Gen (geração de código a partir de IDL), hooks de estatísticas e monitoramento usados pelo Fast DDS Monitor da eProsima, e é a base do micro-ROS em microcontroladores. Como camada rmw padrão do ROS 2, seus releases acompanham de perto as distribuições do ROS 2, e ele é exercitado por uma das maiores bases de implantação em robótica de qualquer middleware.

Por que importa

O Fast DDS é provavelmente a peça de infraestrutura de robótica mais amplamente implantada que a maioria dos desenvolvedores nunca examina: como middleware padrão do ROS 2, ele carrega o tráfego da maioria dos robôs ROS 2, e é uma das poucas implementações DDS open-source completas e com suporte comercial.

Problema que resolve

Sistemas robóticos distribuídos precisam de comunicação confiável, de baixa latência e configurável entre processos e máquinas, sem um broker central como ponto único de falha. O Fast DDS fornece publish-subscribe baseado em padrões com o controle de QoS que sistemas de tempo real exigem, de microcontroladores a frotas multirrobô.

Pontos principais

  • Implementação open-source completa do padrão DDS da OMG e do protocolo de rede RTPS
  • Middleware padrão do ROS 2 (rmw_fastrtps) nas distribuições recentes do ROS 2
  • Transportes de memória compartilhada e zero-copy para comunicação de alto throughput no mesmo host
  • Discovery Server e descoberta estática escalam o DDS além de redes amigáveis a multicast
  • Alimenta o micro-ROS para dispositivos de classe microcontrolador via eProsima Micro XRCE-DDS

Para quem é

  • Desenvolvedores ROS 2 ajustando comunicação e QoS
  • Engenheiros de sistemas distribuídos e de tempo real
  • Times de plataforma e infraestrutura de robótica
  • Desenvolvedores embarcados usando micro-ROS

Limitações

  • Os conceitos de DDS e as matrizes de QoS têm uma curva de aprendizado íngreme
  • A configuração de perfis via XML é verbosa e fácil de errar sutilmente
  • A interoperabilidade DDS entre fornecedores além da linha de base RTPS pode exigir cuidado
  • O ajuste fino para redes Wi-Fi com perdas frequentemente exige expertise em nível de transporte

Este site requer JavaScript. Por favor, habilite o JavaScript para explorar nossos projetos de robótica.