Et programmeringssprog for robotsværme

En af de mere fascinerende seværdigheder på en efterårsaften er stærenes flokkeadfærd, når de slingrer og snupper i ekstraordinære demonstrationer af aerodynamisk synkronisering.





Det viser sig, at disse komplekse skærme opstår som et resultat af et simpelt sæt regler, der styrer, hvordan fuglene flyver i forhold til hinanden. Faktisk har denne flockning været relativt ligetil at simulere på computer i mange år.

Men det er aldrig blevet gentaget med flyvende robotter eller jordbaserede for den sags skyld, af to grunde. Først fordi ingen har bygget robotter med samme smidighed og hastighed. Men selv med mindre agile robotter er opgaven vanskelig på grund af den anden grund: der er ingen nem måde at kontrollere sådan en flok på.

Den første faktor ændrer sig hurtigt. Billige, dygtige robotter - flyvende eller på anden måde - har forårsaget en eksplosion af interesse for flokke og sværme. Talrige forskere, hobbyfolk og kunstnere eksperimenterer med disse maskiner og håber på at studere og udnytte og den sværmende adfærd, de genererer.



Disse grupper oplever alle, at det er noget af en udfordring at kontrollere et stort antal identiske robotter. Og i mangel af et etableret programmeringssprog er de nødt til at tackle de samme problemer på samme måder. Med andre ord genopfinder de hjulet.

I dag siger Carlo Pinciroli ved Ecole Polytechnique de Montreal i Canada og et par venner, at de har udviklet et programmeringssprog til netop dette formål. Vi præsenterer Buzz, et nyt programmeringssprog for heterogene robotsværme, siger de.

Der er to modsatrettede tilgange til at kontrollere en sværm. Den første er en bottom-up-metode, hvor hver robot styres individuelt. Det er nyttigt til at finjustere interaktionen mellem specifikke robotter, men det bliver stadig sværere at håndtere, efterhånden som sværmenes størrelse stiger.



Den modsatte metode er en top-down tilgang, hvor sværmen kontrolleres som en helhed. Det er meget mere effektivt for store sværme, men giver ikke mulighed for finjustering af individuelle robotadfærd.

Pinciroli og co siger, at deres nye sprog tillader begge metoder. Vi mener, at et sprog til robotsværme skal kombinere både bottom-up og top-down primitiver, hvilket giver udvikleren mulighed for at vælge det mest komfortable abstraktionsniveau for at udtrykke en sværmalgoritme, siger de.

De siger, at Buzz også tillader, at kommandoer kombineres på intuitive måder med forudsigelige resultater, der gør det relativt nemt at bruge. Den er også skalerbar og kan derfor bruges effektivt i sværme af varierende størrelse.



De fortsætter med at vise forskellige eksempler på, hvordan sproget fungerer i praksis og fører til selvorganiseret adfærd ved hjælp af relativt simple regler, ligesom rigtige sværme og flokke.

Det er interessant arbejde, der har magten til at blive en teknologiforstærker. Pinciroli og co siger, at fraværet af et standardiseret programmeringssprog for sværme er en væsentlig barriere for fremtidige fremskridt, fordi der ikke er nogen nem måde for forskere at dele deres arbejde og bygge videre på hinandens gennembrud.

Vi mener, at et af de vigtigste aspekter ved Buzz er dets potentiale til at blive en muliggører for fremtidig forskning i den virkelige verden, komplekse sværmrobotsystemer, siger teamet.



Og de har ambitiøse planer for fremtiden. For eksempel ønsker de at skabe et bibliotek af velkendt sværmadfærd, som bliver byggesten til andres fremtidige arbejde.

Interessante ting, som kan betyde, at de ekstraordinære flokke, du ser på fremtidige efterårsaftener, måske slet ikke er stære.

Ref: arxiv.org/abs/1507.05946 : Buzz: Et udvideligt programmeringssprog til selvorganiserende heterogene robotsværme

skjule