Coordinación de múltiples robots: sincronización distribuida de robots industriales a través de ROS 2

Publicado por primera vez en https://acutronicrobotics.com/news/distributed-sub-microsecond-synchronization-of-industrial-robots-through-ros-2-article-1903/

¿Qué es la sincronización horaria?

Cuando se trabaja en una red con varias computadoras, cada una tiene un reloj que les da la hora. En la mayoría de los casos, estar conectados a la misma red requiere que todos tengan la misma referencia de tiempo para poder coordinar sus tareas. Aquí es donde la sincronización hora / reloj juega un papel importante. Podemos definir la sincronización horaria como los diferentes procesos o tareas a realizar para coordinar los tiempos base en los diferentes relojes de la red .

Para lograr la sincronizaciónr onización entre estos sistemas distribuidos , necesitamos establecer una referencia muy precisa. A pesar de seleccionar un buen tiempo base, los relojes de hardware suelen contar el tiempo a diferentes velocidades. Además, la calidad del oscilador también es un factor que hay que tener en cuenta para evitar lo que se conoce como reloj de deriva. Para evitar o mitigar esto, hay varias opciones que podemos elegir, por ejemplo, usar GPS (Sistema de posicionamiento global) que proporciona una precisión de decenas de nanosegundos, NTP (Network Time Protocol) ampliamente utilizado en la actualidad para configurar los relojes de nuestras PC y PTP (Precision Time Protocol) que ofrece una gran precisión a través de redes locales. PTP es el elegido para nuestra demostración.

PTP

El protocolo de tiempo de precisión, que es el que se usa en el video anterior, se definió en 2002, pero la segunda versión se lanzó en 2008 como estándar IEEE 1588–2008. Gracias a PTP podemos obtener precisiones en el rango de sub-microsegundos sin la necesidad de un sistema GPS lo cual es una gran ventaja cuando la señal GPS no está disponible (por ejemplo, aplicaciones en interiores) o el costo del receptor. no es asequible. PTP tiene una arquitectura maestro-esclavo y define los mensajes entre ellos donde el maestro proporciona la hora y el esclavo se sincroniza con el primero. El objetivo de estos intercambios de mensajes es corregir el desplazamiento existente entre el maestro y el esclavo.

¿Cuándo necesitamos la sincronización horaria?

En la mayoría de las aplicaciones robóticas se utilizan varios sensores y actuadores. Esto significa que debe haber una coordinación entre los datos del sensor y los actuadores . Por ejemplo, si pensamos en un Advanced Driver Assistant System (ADAS), la gran variedad de sensores disponibles y la necesidad de una respuesta rápida y coordinada obliga a tener una sincronización de reloj muy precisa.

Otro buen ejemplo en el que la sincronización de tiempo juega un papel fundamental es en una aplicación de localización simultánea y cartografía . Supongamos que tenemos un escáner láser con su motor y una cámara; la falta de coordinación / sincronización entre ellos daría como resultado una nube de puntos de baja calidad.

Finalmente, si estamos interesados ​​en registrar datos de nuestros módulos o robots, es necesario lograr una sincronización de reloj correcta para que podamos trazar esos datos en gráficos y la información sea coherente.

¿Cómo configuramos las demostraciones?

En este caso, mostramos el uso de la sincronización de tiempo para control de movimiento coordinado . Tener un tiempo de referencia común en un sistema distribuido permite coordinar el movimiento con precisión entre motores de brazos robóticos, diferentes robots o entre robots y un proceso externo.

En ambas configuraciones, todos los dispositivos se sincronizan mediante el protocolo PTP . El Open Robotics Controller ( ORC ) actúa como el reloj gran maestro proporcionando el reloj de referencia para todos los robots. Todos los robots están conectados al ORC mediante un conmutador con capacidad PTP. Dentro de MARA , cada módulo H-ROS SoM funciona como esclavo PTP mediante el uso de un Peer-to-Peer ( P2P ) mecanismo de retardo. Para coordinar el movimiento del robot, las trayectorias se envían con una marca de tiempo programada. El H-ROS SOM ejecuta el movimiento con precisión en el momento especificado.