La diferencia entre los mecanismos de comunicación ROS y ROS2
En términos generales, ROS requiere un roscore como nodo maestro para ejecutar todos los demás procesos. Si este nodo maestro falla, todo el sistema se vuelve redundante. Al mismo tiempo, debido a que ROS necesita pasar por muchas pilas de software durante el proceso de reenvío de mensajes, no puede lograr un rendimiento en tiempo real. Por lo tanto, solo puede usarse como una herramienta en el proceso de desarrollo o para escenarios de aplicaciones de robots individuales que lo hagan. no tiene altos requisitos en tiempo real.
Entonces, si no estás utilizando la comunicación ROS, necesitarás algún middleware industrial para la mensajería.
ROS2 agrega el concepto de gráfico ROS, diferentes nodos ROS pueden comunicarse entre sí y luego interactuar con ROS2 a través del paquete de software ros1-bridge creado por él.
Además, también estudié más a fondo el protocolo de comunicación fast-rtps.
FAST-RTPS es un middleware utilizado para la comunicación entre múltiples máquinas. Crea un dominio dentro de la LAN y luego interactúa dentro del dominio a través de editores y suscriptores. Se pueden identificar diferentes temas de mensajes con diferentes nombres de tema.
De forma predeterminada, FAST-RTPS se publica en modo UDP en la LAN, lo que significa que una vez que se envía un mensaje sobre este tema, todas las máquinas en la LAN que abran este tema lo recibirán para confirmarlo. mensaje, debe agregar una marca a cada máquina en el mensaje para saber a quién se envía el mensaje.
Por ahora, solo estamos usando una forma simple de comunicación entre múltiples computadoras, más adelante exploraremos su forma de reenvío TCP (punto a punto) y exploraremos más a fondo el reconocimiento de mensajes (múltiples apretones de manos), la coincidencia de temas. y manejo de tolerancia a fallas.