Integración ROS2 + DDS:cuando los ecosistemas se fusionan | RTI
Como se anunció en julio de 2018, la segunda versión de ROS2, denominado "Bouncy Bolson", ahora está disponible para su descarga desde el sitio web de ROS2 para las plataformas Intel Linux, Windows e iOS.
Si esto no te suena familiar, ROS (Robot Operating System) es un marco de código abierto y un conjunto de herramientas para construir sistemas robóticos, y viene en dos versiones principales:ROS - el original versión de investigación que utiliza Python y XML, y ROS2:una versión de rendimiento mejorado que utiliza DDS como marco de conectividad.
Acerca del bolson hinchable ROS2
La versión "Bouncy" es especial porque incluye RTI Connext DDS en la distribución binaria bajo una licencia no comercial. El DDS de nivel profesional es ahora una opción gratuita para investigadores, evaluadores y académicos que utilizan ROS2 para aplicaciones robóticas.
Esto significa que el ecosistema de servicios y herramientas de DDS está disponible para todos los usuarios de ROS2, gracias a la interoperabilidad basada en estándares inherente a DDS, que incluye:
- Consola de administración de RTI:la herramienta de referencia para diagnosticar problemas de conectividad del sistema.
- RTI System Monitor:la mejor herramienta para ajustar y optimizar el rendimiento del sistema.
- Servicio de grabación RTI: grabación y reproducción de gran ancho de banda y larga duración de datos de temas de su sistema.
- Servicio de enrutamiento RTI: una solución lista para usar que actúa como un puente / puerta de enlace arquitectónico.
Veamos cómo la Consola de administración de RTI puede facilitar el diagnóstico y la comprensión de los problemas de conectividad de ROS2. Recientemente armé una fuente de datos LiDAR para ROS2, y mi intento inicial de mostrar los datos usando RViz resultó en:sin datos. La terminal de RViz no producía muchos mensajes útiles:
También utilicé algunos de los comandos de diagnóstico integrados de ROS2 para ayudar a determinar la causa de la falta de comunicación. Por ejemplo, puedo usar "lista de temas ros2" para mostrar los elementos de datos que están activos actualmente: Me interesa el tema “/ velodyne_points”: ¿El editor de “/ velodyne_points” está produciendo algún dato ?: Sí. . . entonces, ¿por qué RViz no muestra los datos?
Consola de administración
Intentemos diagnosticar este problema con la Consola de administración de RTI, que está convenientemente disponible en RTI Launcher:
Desde el momento en que se inicia la Consola del administrador, me permite saber que hay un problema entre los participantes de la red DDS (observe el indicador de la X roja):
Expandiendo "Dominio 0" y destacando mi tema de interés (/ velodyne_points) muestra inmediatamente la causa del problema:una falta de coincidencia de QoS: Mi editor ofrece la confiabilidad del "mejor esfuerzo", pero el suscriptor de RViz requiere una conexión "confiable". En lugar de permitir que continúe esta falta de coincidencia, DDS rechaza la conexión y evita que la falta de coincidencia siga pasando desapercibida.La Consola del administrador reveló de inmediato esta falta de coincidencia de QoS, junto con los detalles de todos los demás participantes de esta red ROS2 DDS, incluidos todos los temas internos normalmente ocultos de ROS2. De un vistazo puedo determinar que:
- Hay algunas entradas en el registro de errores; las veremos más adelante.
- Hay una serie de temas "Solo para escritores" y "Solo para lectores". Estos son temas que pueden publicar o suscribirse a un tema, pero no tienen un suscriptor o editor complementario en este momento.
- Este sistema ejecuta una combinación de capas RMW de diferentes proveedores de DDS. Esto no es un problema. DDS fue diseñado para la interoperabilidad de múltiples proveedores.
- Cuando se ejecuta con la capa Connext RMW, la información del código de tipo se incluye en el tráfico de descubrimiento de DDS y se puede ver fácilmente en la Consola de administración:
Cuando se utilizan otras capas de RMW, esta información se suprime.
La consola de administración también puede suscribirse a temas de datos e imprimir o visualizar sus valores de datos:
Con la ayuda de la Consola de administración, pude identificar la falta de coincidencia de QoS que impedía la transferencia de datos y hacer que el sistema se ejecutara en unos minutos.
Lea más publicaciones de blog que destacan el poder del ecosistema combinado ROS2 / DDS:para extender, diagnosticar y optimizar un sistema ROS / ROS2 y para proporcionar visualización 3D mejorada a sistemas DDS puros .
ROS2 + DDS:una guía práctica para la interoperabilidad
ROS2 + DDS Play It Again
ROS 2 y DDS:la interoperabilidad impulsa la robótica de próxima generación
Tecnología de Internet de las cosas
- Software Open DDS vs.RTI DDS
- Pruebas de software en RTI
- Connext 6:¡Ya disponible!
- ROS2 + DDS:Tócalo de nuevo
- ROS2 + DDS:una guía de campo para la interoperabilidad
- Anuncio de la última prueba de rendimiento de RTI para Connext DDS
- Cómo integrar Qt y DDS en una aplicación de IoT
- AUTOSAR Adaptive Platform 18.03:¡Ahora con DDS!
- Aquí está la razón por la que todos usan RTI Connext DDS para vehículos autónomos
- Presentación de RTI Labs y Connector para Connext DDS con Python
- La integración de 5G en los sistemas IIoT acelera la adopción de la Industria 4.0