Buzz, un langage de programmation pour un essaim de drones auto-organisé
Il y a quelque chose de fascinant dans les essaims d'insectes, les troupeaux d'oiseaux et les bancs de poissons. De nombreux êtres vivants se comportent ensemble comme un seul organisme vivant. Dans le même temps, les scientifiques expliquent que dans de telles situations, chaque composant vivant d'un essaim entier construit son comportement, en se concentrant uniquement sur ses voisins.Le même thème intéresse les Canadiens d'origine italienne, Pintsiroli Carlo ( Carlo Pinciroli ), qui depuis 2007 mène des recherches dans le domaine de la gestion d'un grand nombre de robots semi-autonomes . Lui et ses collègues ont parlé de la dernière réalisation dans ce domaine - le langage de programmation pour un essaim de robots Buzz. Le développement est mené par des scientifiques du Laboratoire polytechnique MIST de l'Institut canadien École Polytechnique de Montréal et leurs collègues étrangers.La programmation d'un robot mobile est une tâche assez compliquée en soi. La tâche de contrôler le comportement d'un troupeau entier, et même dans un environnement en évolution, lorsque les robots doivent prendre des décisions concernant leurs actions, est encore plus difficile. Il existe deux approches: de bas en haut et de haut en bas.L'approche ascendante suggère que le programmeur doit travailler avec tous les détails et les nuances du comportement des robots, à partir du système de leur mouvement et de leur orientation. L'approche descendante consiste à définir des tâches à un niveau élevé, dans lequel les détails du comportement des robots sont calculés sur la base d'algorithmes pré-préparés.
Essaim de robots du projetMcLurkin , un autre chercheur dans le domaineLes auteurs du langage Buzz le décrivent comme un héritier syntaxique du JavaScript, Python et Lua désormais commun. Ceci est fait pour réduire le seuil d'entrée dans la langue. Ils ont essayé de faire en sorte que le programmeur ait le choix de l'approche - il pouvait choisir de travailler de bas en haut ou de haut en bas.Le langage est enrichi de designs spéciaux pour travailler avec des essaims de robots. Par exemple, swarm vous permet de diviser les robots en groupes, chacun ayant sa propre tâche. La conception des voisins vous permet de travailler avec l'interaction des robots voisins les uns avec les autres et d'émuler le comportement des animaux dans de vraies écoles.Il existe d'autres constructions - par exemple, la stigmergie virtuelle (stigmergie virtuelle), qui donne aux robots une commande pour transmettre à tout le monde et se souvenir des informations sous la forme d'ensembles de paires clé-valeur. Il tire son nom du mécanisme d'interaction coordonnée indirecte des insectes, qui a été observé pour la première fois chez les termites. Lorsque l'un d'eux modifie l'état de l'environnement, d'autres perçoivent ce changement, et cela les incite à déterminer leurs actions ultérieures.Carlo Pinziroli a également créé ARGoS lors de ses activités de recherche . - Un programme pour simuler le travail d'un grand nombre de robots. Ce programme est utilisé par plusieurs instituts et équipes de recherche indépendantes travaillant dans des directions similaires. La vidéo montre une démonstration de l'interaction d'un essaim virtuel de robots dans l'environnement virtuel d'ARGoS, qui émule le travail de Spiri copters (un projet de financement participatif qui est actuellement au stade de la sortie d'un produit fini).La vidéo montre comment un essaim de robots résout le problème de trouver deux cibles différentes et de diviser l'essaim en deux parties en fonction de la cible trouvée. Ils le font en trois étapes.Sur le premier, les robots gagnent une hauteur donnée. Dans le même temps, les robots qui ont pris de la hauteur informent tous leurs voisins de la réalisation de cet objectif intermédiaire (stigmergie virtuelle). À la deuxième étape, les robots effectuent une recherche visuelle de l'objet, tournant autour d'un axe vertical.À la troisième étape, les robots qui trouvent l'objet souhaité informent les voisins du succès et partagent avec eux des informations sur la couleur de l'objet et la distance qui le sépare. Ces robots qui, après avoir fait une révolution complète, n'ont vu aucun des objets de recherche, sur la base des informations reçues des voisins, décident lequel des deux groupes rejoindre.La quatrième étape est la division de l'essaim en deux. Les robots qui trouvent un objet et les robots qui reçoivent des informations sur un objet de leurs voisins sont divisés en deux groupes.Les auteurs de l'article espèrent que Buzz permettra à tous ceux qui s'intéressent à la robotique de réaliser leurs idées de manière assez simple, et fera également avancer la question de la programmation d'un essaim de robots au niveau supérieur. Selon leurs informations, il n'existe désormais aucune plate-forme standard permettant aux chercheurs de comparer leurs réalisations, de les partager et d'utiliser les réalisations d'autres personnes dans ce domaine.Buzz est gratuit, son code source est ouvert et distribué sous licence MIT.Source: https://habr.com/ru/post/fr382755/
All Articles