Buzz, eine Programmiersprache für einen selbstorganisierenden Drohnenschwarm
In Schwärmen von Insekten, Vogelschwärmen und Fischschwärmen steckt etwas Faszinierendes. Viele Lebewesen verhalten sich zusammen als ein lebender Organismus. Gleichzeitig erklären Wissenschaftler, dass in solchen Situationen jede lebende Komponente eines ganzen Schwarms ihr Verhalten entwickelt und sich nur auf seine Nachbarn konzentriert.Das gleiche Thema hat Kanadier italienischer Herkunft, Pintsiroli Carlo ( Carlo Pinciroli ), interessiert , der seit 2007 auf dem Gebiet der Verwaltung einer großen Anzahl von halbautonomen Robotern forscht . Er und seine Kollegen sprachen über die neuesten Errungenschaften in diesem Bereich - die Programmiersprache für einen Schwarm Roboter Buzz. Die Entwicklung wird von Wissenschaftlern des MIST Polytechnic Laboratory des kanadischen Instituts École Polytechnique de Montréal und ihren ausländischen Kollegen durchgeführt.Das Programmieren eines mobilen Roboters ist an sich schon eine ziemlich komplizierte Aufgabe. Noch schwieriger ist es, das Verhalten einer ganzen Herde und selbst in einer sich ändernden Umgebung zu kontrollieren, in der Roboter Entscheidungen über ihre Handlungen treffen müssen. Es gibt zwei Ansätze - von unten nach oben und von oben nach unten.Der Bottom-up-Ansatz legt nahe, dass der Programmierer mit allen Details und Nuancen des Verhaltens von Robotern arbeiten muss, ausgehend vom System ihrer Bewegung und Ausrichtung. Der Top-Down-Ansatz beinhaltet das Festlegen von Aufgaben auf hoher Ebene, bei denen Details des Verhaltens von Robotern auf der Grundlage vorbereiteter Algorithmen berechnet werden.
Schwarm von Robotern aus dem ProjektMcLurkin , ein weiterer Forscher auf diesem GebietDie Autoren der Buzz-Sprache beschreiben sie als syntaktischen Erben des heute üblichen JavaScript, Python und Lua. Dies geschieht, um die Eintrittsschwelle in die Sprache zu verringern. Sie versuchten es so zu machen, dass der Programmierer die Wahl zwischen verschiedenen Ansätzen hatte - er konnte wählen, ob er von unten nach oben oder von oben nach unten arbeiten wollte.Die Sprache ist mit speziellen Designs für die Arbeit mit Roboterschwärmen angereichert. Mit Swarm können Sie beispielsweise Roboter in Gruppen einteilen, von denen jede ihre eigene Aufgabe hat. Das Design der Nachbarn ermöglicht es Ihnen, mit der Interaktion benachbarter Roboter miteinander zu arbeiten und das Verhalten von Tieren in realen Schulen zu emulieren.Es gibt andere Konstruktionen - zum Beispiel die virtuelle Stigmergie (virtuelle Stigmergie), die Robotern den Befehl gibt, an alle zu senden und Informationen in Form von Sätzen von Schlüssel-Wert-Paaren zu speichern. Es ist nach dem Mechanismus der indirekten koordinierten Interaktion von Insekten benannt, der erstmals bei Termiten beobachtet wurde. Wenn einer von ihnen den Zustand der Umwelt ändert, nehmen andere diese Änderung wahr und es dient ihnen als Anreiz, ihre nachfolgenden Handlungen zu bestimmen.Carlo Pinziroli schuf ARGoS auch während seiner Forschungsaktivitäten . - Ein Programm zur Simulation der Arbeit einer großen Anzahl von Robotern. Dieses Programm wird von mehreren Instituten und unabhängigen Forschungsteams verwendet, die in ähnliche Richtungen arbeiten. Das Video zeigt eine Demonstration der Interaktion eines virtuellen Roboterschwarms in der virtuellen Umgebung von ARGoS, die die Arbeit von Spiri- Koptern nachahmt (ein Crowdfunding-Projekt, das sich derzeit in der Phase der Veröffentlichung eines fertigen Produkts befindet).Das Video zeigt, wie ein Roboterschwarm das Problem löst, zwei verschiedene Ziele zu finden und den Schwarm entsprechend dem gefundenen Ziel in zwei Teile zu teilen. Sie tun dies in drei Schritten.Zum einen gewinnen Roboter eine bestimmte Höhe. Gleichzeitig informieren Roboter, die an Höhe gewonnen haben, alle ihre Nachbarn über das Erreichen dieses Zwischenziels (virtuelle Stigmergie). In der zweiten Phase führen Roboter eine visuelle Suche nach dem Objekt durch und drehen sich um eine vertikale Achse.In der dritten Stufe informieren die Roboter, die das gewünschte Objekt finden, die Nachbarn über den Erfolg und teilen ihnen Informationen über die Farbe des Objekts und die Entfernung zu ihm mit. Diejenigen Roboter, die nach einer vollständigen Revolution keines der Suchobjekte gesehen haben, entscheiden auf der Grundlage der von den Nachbarn erhaltenen Informationen, welcher der beiden Gruppen sie beitreten möchten.Die vierte Stufe ist die Aufteilung des Schwarms in zwei Teile. Roboter, die ein Objekt finden, und Roboter, die von ihren Nachbarn Informationen über ein Objekt erhalten, werden in zwei Gruppen unterteilt.Die Autoren des Artikels hoffen, dass Buzz allen, die sich für Robotik interessieren, ermöglicht, ihre Ideen auf relativ einfache Weise umzusetzen, und das Problem der Programmierung eines Roboterschwarms auf die nächste Stufe bringen wird. Ihren Informationen zufolge gibt es derzeit keine Standardplattformen, auf denen Forscher ihre Leistungen vergleichen, teilen und die Leistungen anderer in diesem Bereich nutzen können.Buzz ist kostenlos, sein Quellcode ist offen und wird unter der MIT-Lizenz vertrieben.Source: https://habr.com/ru/post/de382755/
All Articles