Buzz, un lenguaje de programación para un enjambre de drones autoorganizados
Hay algo fascinante en enjambres de insectos, bandadas de pájaros y bancos de peces. Muchos seres vivos se comportan juntos como un solo organismo vivo. Al mismo tiempo, los científicos explican que en tales situaciones, cada componente vivo de un enjambre completo desarrolla su comportamiento, centrándose solo en sus vecinos.El mismo tema ha interesado a los canadienses de origen italiano, Pintsiroli Carlo ( Carlo Pinciroli ), que desde 2007 se dedica a la investigación en el campo de la gestión de una gran cantidad de robots semi-autónomos . Él y sus colegas hablaron sobre el último logro en esta área: el lenguaje de programación para un enjambre de robots Buzz. El desarrollo es realizado por científicos del Laboratorio Politécnico MIST del Instituto Canadiense École Polytechnique de Montréal y sus colegas extranjeros.Programar un robot móvil es una tarea bastante complicada en sí misma. La tarea de controlar el comportamiento de toda una parvada, e incluso en un entorno cambiante, cuando los robots deben tomar decisiones sobre sus acciones, es aún más difícil. Hay dos enfoques: de abajo hacia arriba y de arriba hacia abajo.El enfoque ascendente sugiere que el programador necesita trabajar con todos los detalles y matices del comportamiento de los robots, comenzando por el sistema de su movimiento y orientación. El enfoque de arriba hacia abajo implica establecer tareas en un nivel alto, en el que los detalles del comportamiento de los robots se calculan sobre la base de algoritmos previamente preparados.
Enjambre de robots del proyectoMcLurkin , otro investigador en el campo.Los autores del lenguaje Buzz lo describen como un heredero sintáctico del ahora común JavaScript, Python y Lua. Esto se hace para reducir el umbral de entrada al idioma. Intentaron hacerlo para que el programador tuviera una opción de enfoque: podría elegir si trabajar de abajo hacia arriba o de arriba hacia abajo.El lenguaje se enriquece con diseños especiales para trabajar con enjambres de robots. Por ejemplo, enjambre le permite dividir robots en grupos, cada uno de los cuales tendrá su propia tarea. El diseño de vecinos le permite trabajar con la interacción de robots vecinos entre sí y emular el comportamiento de los animales en escuelas reales.Hay otras construcciones, por ejemplo, stigmergy virtual (stigmergy virtual), que les da a los robots un comando para transmitir a todos y recordar información en forma de conjuntos de pares clave-valor. Lleva el nombre del mecanismo de interacción indirecta coordinada de los insectos, que se observó por primera vez en las termitas. Cuando uno de ellos cambia el estado del medio ambiente, otros perciben este cambio y les sirve de incentivo para determinar sus acciones posteriores.Carlo Pinziroli también creó ARGoS durante sus actividades de investigación . - Un programa para simular el trabajo de una gran cantidad de robots. Este programa es utilizado por varios institutos y equipos de investigación independientes que trabajan en direcciones similares. El video muestra una demostración de la interacción de un enjambre virtual de robots en el entorno virtual de ARGoS, que emula el trabajo de los helicópteros Spiri (un proyecto de crowdfunding que actualmente se encuentra en la etapa de lanzamiento de un producto terminado).El video muestra cómo un enjambre de robots resuelve el problema de encontrar dos objetivos diferentes y dividir el enjambre en dos partes de acuerdo con el objetivo encontrado. Lo hacen en tres etapas.En el primero, los robots están ganando una altura dada. Al mismo tiempo, los robots que han ganado altura informan a todos sus vecinos sobre el logro de este objetivo intermedio (virtual stigmergy). En la segunda etapa, los robots realizan una búsqueda visual del objeto, girando alrededor de un eje vertical.En la tercera etapa, los robots que encuentran el objeto deseado informan a los vecinos sobre el éxito y comparten con ellos información sobre el color del objeto y la distancia hasta el mismo. Esos robots que, después de haber hecho una revolución completa, no han visto ninguno de los objetos de búsqueda, en base a la información recibida de los vecinos, deciden a cuál de los dos grupos unirse.La cuarta etapa es la división del enjambre en dos. Los robots que encuentran un objeto y los robots que reciben información sobre un objeto de sus vecinos se dividen en dos grupos.Los autores del artículo expresan la esperanza de que Buzz permita a todos los interesados en la robótica realizar sus ideas de una manera bastante simple, y también avanzará el tema de la programación de un enjambre de robots al siguiente nivel. Según su información, ahora no hay plataformas estándar que permitan a los investigadores comparar sus logros, compartirlos y usar los logros de otros en esta área.Buzz es gratis, su código fuente está abierto y distribuido bajo la licencia MIT.Source: https://habr.com/ru/post/es382755/
All Articles