Ontwikkelaars uit Canada hebben een programmeertaal bedacht die specifiek bedoeld is voor robots die binnen een 'zwerm' functioneren. Speciaal aan Buzz is dat het gedrag van de robots zowel 'bottom-up' als 'top-down' bepaald kan worden.
De programmeertaal, die op Github staat, leunt zwaar op bekende programmeertalen, zoals Javascript, Python en Lua. Op die manier is de leercurve om de taal te leren kort, schrijft Robohub. De Buzz-runtime is zo ontworpen dat die slechts 12kB inneemt. De runtime kan verbonden worden met andere frameworks, zoals het Robot Operating System.
Door de mogelijkheid om de algoritmes zowel bottom-up en top-down uit te drukken kunnen ontwikkelaars complex autonoom zwermgedrag coderen op een compacte wijze. De ontwikkelaars hopen zo een belangrijk onderdeel te worden van toekomstige zwermrobotica in de echte wereld.
Naast de bekende elementen, zoals loops en jump-tables, zitten er ook bepaalde elementen in de taal die specifiek bedoeld zijn voor het aansturen van zwermen. Een van die elementen is het zogenoemde zwermelement dat ontwikkelaars de mogelijkheid geeft de robots in verschillende groepen te splitsen en ze een specifieke taak toe te kennen. Zwermen kunnen zo worden gevormd, uit elkaar worden gehaald of dynamisch worden aangepast.
Een ander element is het neighbor-construct. Dit construct regelt de plaats die een robot inneemt binnen de zwerm en de locatie waar de zwerm zich bevindt. Zo kunnen signalen worden doorgegeven voor het vermijden van obstakels of juist het volgen van een leider.
Daarnaast geeft de programmeertaal ook de mogelijkheid hele robotzwermen te onderwerpen aan virtuele stigmergie. Stigmergie is een term uit de biologie en betekent dat er indirecte interactie en samenwerking tussen de verschillende spelers binnen een omgeving of daarvoor bedoeld platform is.
Toekomstdoelen van de ontwikkelaars zijn onder meer het integreren van de runtime in verschillende robotplatforms en het opzetten van een library met bekend zwermgedrag.
In de video worden Spiri-robots getoond die objecten moeten detecteren