← Últimos artículos
💻 computer science

Modelling and Model-Checking a ROS2 Multi-Robot System using Timed Rebeca

Este artículo presenta un marco para modelar y verificar formalmente sistemas multi-robot de ROS2 utilizando Timed Rebeca, abordando los desafíos en la abstracción y la gestión del espacio de estados mediante estrategias de discretización adaptadas y técnicas de optimización para asegurar un vínculo práctico entre los modelos discretos y la dinámica continua del sistema.

Autores originales: Hiep Hong Trinh, Marjan Sirjani, Federico Ciccozzi, Abu Naser Masud, Mikael Sjödin

Publicado 2026-09-18
📖 8 min de lectura🧠 Análisis profundo

Autores originales: Hiep Hong Trinh, Marjan Sirjani, Federico Ciccozzi, Abu Naser Masud, Mikael Sjödin

Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

En el mundo de la robótica, construir una sola máquina que se mueva y piense ya es lo suficientemente difícil. Construir un equipo de ellas que trabaje en conjunto sin chocar entre sí es un tipo de desafío diferente. Estas máquinas, a menudo llamadas robots móviles autónomos, están diseñadas para navegar por entornos reales, evitando paredes, personas y entre sí mientras intentan alcanzar destinos específicos. El software que las controla es increíblemente complejo, apoyándose en un flujo constante de datos provenientes de sensores, como láseres, para comprender dónde están y qué hay a su alrededor. Debido a que estos robots operan en un mundo físico continuo, sus movimientos son suaves y fluidos, cambiando por fracciones diminutas de segundo y milímetros de distancia. Sin embargo, las computadoras que los controlan piensan en pasos discretos, procesando la información en bloques distintos de tiempo. Esta brecha entre la realidad suave de la física y la lógica paso a paso del código crea un punto ciego peligroso. Si el software no está perfectamente ajustado, un robot podría moverse demasiado rápido para que sus sensores detecten un obstáculo, o dos robots podrían llegar a una misma intersección en el mismo instante, provocando un estancamiento donde ninguno puede avanzar.

Para resolver esto, los investigadores necesitan una forma de probar cada posible escenario que un equipo de robots pueda enfrentar antes de encender siquiera las máquinas reales. Aquí es donde entra en juego un campo llamado verificación formal. En lugar de ejecutar una simulación unas cuantas veces y esperar lo mejor, la verificación formal utiliza la lógica matemática para comprobar cada trayectoria que un sistema podría tomar. Plantea una pregunta simple pero poderosa: ¿existe alguna secuencia de eventos, por improbable que sea, que cause que el sistema falle? Para un equipo de robots, esto significa demostrar que nunca colisionarán, que nunca se quedarán bloqueados para siempre y que siempre alcanzarán sus objetivos. El desafío siempre ha sido que los robots reales se mueven en un mundo continuo, mientras que estas pruebas matemáticas requieren que el mundo se divida en una cuadrícula de pasos fijos. Si los pasos son demasiado grandes, la prueba pierde de vista accidentes pequeños pero críticos. Si los pasos son demasiado pequeños, la computadora se ve abrumada por la enorme cantidad de posibilidades y no puede terminar el cálculo.

Para cerrar esta brecha, un equipo de investigadores de la Universidad de Mälardalen y el Instituto Real de Tecnología KTH en Suecia ha desarrollado una nueva forma de hacerlo. Crearon un sistema que permite a los ingenieros diseñar un equipo de robots múltiples utilizando un lenguaje de modelado especializado llamado Timed Rebeca, que trata a cada robot como un actor independiente que reacciona a mensajes. Este modelo es luego verificado rigurosamente por una computadora para garantizar la seguridad. Crucialmente, el equipo también escribió el software real para los robots utilizando un sistema estándar llamado ROS2, asegurando que el modelo matemático y el código real estuvieran perfectamente alineados. No solo simularon los robots; construyeron una versión del modelo que fuera lo suficientemente abstracta para ser verificada por una computadora, pero lo suficientemente detallada como para reflejar la física real de las máquinas. Al hacer esto, pudieron predecir fallos raros y peligrosos que las simulaciones estándar suelen pasar por alto.

Los investigadores se centraron en un escenario que involucra a cinco robots moviéndose a través de una cuadrícula de cincuenta por cincuenta, un espacio aproximadamente del tamaño del suelo de un almacén grande. Configuraron un entorno complejo donde los robots debían navegar alrededor de obstáculos y cruzarse en sus trayectorias para alcanzar sus objetivos. En el mundo real, estos robots utilizan escáneres láser para detectar objetos, tomando mediciones cientos de veces por segundo. El equipo tuvo que averiguar cómo traducir estos haces láser continuos y movimientos suaves en los pasos discretos requeridos por la computadora para verificar la lógica. Descubrieron que existe una relación estricta entre la velocidad a la que se mueve un robot y la frecuencia con la que escanea su entorno. Si un robot se mueve demasiado rápido, puede recorrer la distancia completa entre dos escaneos sin que el sensor note un obstáculo en su camino. Los investigadores demostraron que, para que su modelo fuera preciso, la velocidad del robot debía limitarse de modo que no pudiera cruzar una celda de la cuadrícula más rápido de lo que tardaba en actualizarse el sensor. Esta regla, derivada de un principio fundamental del procesamiento de señales, aseguró que el modelo digital no omitiera posibles colisiones.

Para que la verificación computacional fuera factible, el equipo tuvo que simplificar el mundo sin perder la esencia del problema. Representaron a los robots no como formas suaves, sino como rectángulos que se mueven de una celda cuadrada a otra, girando en incrementos de cuarenta y cinco grados. Calcularon el tiempo que tomaba moverse entre estas celdas basándose en la velocidad del robot y el tamaño de la celda. También precalcularon valores trigonométricos complejos, como el seno y el coseno de los ángulos, y los almacenaron en tablas de búsqueda para que la computadora no tuviera que calcularlos desde cero cada vez. Estas optimizaciones permitieron al verificador de modelos explorar millones de estados posibles en cuestión de minutos. Cuando ejecutaron la verificación, la computadora podía decirles con absoluta certeza si un conjunto específico de reglas conduciría a un choque o a una llegada segura.

Los resultados de sus experimentos fueron impactantes. En los casos en que los robots fueron programados con velocidades seguras y tiempos de espera variados, el verificador de modelos confirmó que todos los cinco robots alcanzarían sus destinos sin colisionar nunca ni quedarse estancados. Los investigadores luego ejecutaron el código ROS2 real en una simulación, y los robots se comportaron exactamente como predijo el modelo, navegando con éxito por el espacio congestionado. Sin embargo, cuando cambiaron los parámetros para crear una situación peligrosa —como hacer que todos los robots se movieran a la misma velocidad exacta o establecer una tasa de escaneo demasiado baja para la velocidad—, el verificador de modelos encontró una falla de inmediato. Identificó una secuencia específica de eventos que conduciría a una colisión. Cuando ejecutaron el código real con estos mismos ajustes peligrosos, la simulación falló de la misma manera que el modelo había predicho. En una prueba, el modelo encontró una colisión tras explorar solo unos pocos miles de estados, mientras que la simulación real falló tres de cinco veces, confirmando que el peligro era real y predecible.

El estudio también destacó la importancia del tiempo. En un escenario, los investigadores configuraron los robots para que se movieran a una velocidad que era apenas demasiado rápida para la tasa de actualización del sensor. El verificador de modelos encontró que esta pequeña violación de la regla de seguridad hacía que una colisión fuera casi inevitable, independientemente de cómo se programaran los robots para evitarse entre sí. La computadora mostró que los robots llegarían a un punto de cruce al mismo tiempo y, debido a que no podrían verse a tiempo, chocarían. La simulación real confirmó esto, con los robots fallando en evitarse en todas las ejecuciones. Esto demostró que el modelo no era solo un ejercicio teórico, sino una herramienta práctica que podía detectar errores sutiles y peligrosos que los ingenieros humanos podrían pasar por alto.

Los investigadores reconocieron que su enfoque tiene límites. El método actual requiere que los ingenieros construyan manualmente tanto el modelo matemático como el código real, lo cual es un proceso que consume mucho tiempo y podría introducir errores humanos. También señalaron que, aunque su sistema podía manejar cinco robots en una cuadrícula de cincuenta por cincuenta, escalar esto a cien robots o un mapa mucho más grande abrumaría rápidamente la memoria de la computadora. El cuello de botella es la enorme cantidad de trayectorias posibles que los robots pueden tomar; a medida que aumenta el número de robots y el tamaño del mapa, el número de combinaciones crece tan rápido que la computadora se queda sin espacio para almacenarlas. A pesar de estas limitaciones, el trabajo demuestra que es posible crear un gemelo digital de un sistema robótico complejo que sea lo suficientemente simple para ser verificado y lo suficientemente preciso para ser confiable.

Esta investigación ofrece un nuevo camino para el desarrollo de sistemas autónomos seguros. Al tratar el diseño del software de un robot como un proceso de construcción y verificación de un modelo matemático primero, los ingenieros pueden identificar fallos fatales antes de que se construya o se despliegue un solo robot. El equipo demostró que, al equilibrar cuidadosamente el nivel de detalle en el modelo con la necesidad de eficiencia computacional, es posible verificar que un sistema de múltiples robots se comportará de manera segura en el mundo real. Su trabajo sugiere que el futuro de la robótica no reside solo en construir máquinas más inteligentes, sino en construir mejores formas de demostrar que esas máquinas no fallarán cuando más importe.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →