Zelflerende robotjes lopen als een trein
Een collectief van autonome, zelflerende robotjes schikt zich bijzonder makkelijk naar veranderende omstandigheden. Dat laten onderzoekers van AMOLF’s Soft Robotic Matter groep zien. Ze bouwden een treintje van simpele robotjes waarin elk robotje individueel zichzelf leerde zo snel mogelijk voort te bewegen. De resultaten van het onderzoek zijn op 10 mei in het wetenschappelijke tijdschrift PNAS gepubliceerd.
Robots zijn ingenieuze apparaten die heel veel kunnen. Denk aan dansende en traplopende robots en zwermen van drones die zelfstandig een patroon vliegen. Maar al die robots zijn in aanzienlijke mate geprogrammeerd – verschillende situaties of patronen zijn van te voren in hun brein geplant, ze worden centraal aangestuurd of een complex computernetwerk leert gedrag aan via machine learning. Bas Overvelde, groepsleider Soft Robotic Matter bij AMOLF, wilde terug naar de eenvoud: een zo simpel mogelijk zelflerend robotje. “Uiteindelijk willen we met simpele bouwstenen, die misschien zelfs alleen maar uit een materiaal zoals een polymeer bestaan, zelflerende systemen bouwen. We noemen dit ook wel robotische materialen.”
Het lukte de onderzoekers om zeer simpele aan elkaar gekoppelde robotkarretjes zelf te laten uitzoeken hoe ze als treintje zo snel mogelijk een bepaalde kant op kunnen bewegen. Zonder dat ze geprogrammeerd zijn met een route en zonder dat ze weten wat de andere robotkarretjes doen. “Dit is een nieuwe manier van denken in het ontwerp van zelflerende robots. Anders dan de meeste traditionele, geprogrammeerde robots heeft zo’n simpele zelflerende robot geen complexe modellen nodig om zich aan een sterk veranderende omgeving aan te passen,” legt Bas Overvelde uit. “In de toekomst kan dit in soft robotics een toepassing hebben, zoals robothanden die leren hoe verschillende objecten kunnen worden opgepakt, of robots die hun gedrag automatisch aanpassen na schade.”
Ademende robots
Het zelflerende systeem bestaat uit meerdere gekoppelde bouwstenen, de individuele robotjes. Die zijn opgebouwd uit een microcontroller (een minicomputer), een bewegingssensor, een pompje dat lucht in een balg pompt en een naald om de lucht er weer uit te laten. Zo kan het robotje als het ware ademen of blazen. Koppel je een tweede robotje via de balg aan de eerste dan duwen ze elkaar weg. Zo kan het treintje bewegen. “We wilden de robotjes zelf zo simpel mogelijk houden, daarom hebben we gekozen voor een balgje en lucht. Veel zachte robots werken daar namelijk ook mee,” zegt promovendus Luuk van Laake.
Het enige dat de onderzoekers vooraf doen is elk robotje met een paar regels computercode – een kort algoritme – iets vertellen, namelijk: zet om de paar seconden de pomp aan en uit , de zogeheten cyclus, en probeer dan zo snel mogelijk een bepaalde kant op te bewegen. De chip op het robotje meet continu de snelheid. Om de paar cycli maakt de robot kleine aanpassingen aan het moment dat de pomp aan gaat, en bepaalt of deze aanpassingen de robottrein sneller naar voren doen bewegen. Elke robot in de trein voert dus continu kleine experimenten uit.
Laat je op deze manier twee of meer robotjes aan elkaar duwen en trekken dan gaat het treintje vroeg of laat één kant op bewegen. Daardoor ‘leren’ de robotjes dat dat de betere instelling voor de pomp is, zonder dat ze met elkaar communiceren en zonder dat precies geprogrammeerd is hoe ze kunnen voortbewegen. Het systeem optimaliseert zichzelf langzaam maar zeker. Op de video’s die bij het artikel horen zie je dat het treintje langzaam maar zeker over een ronde baan gaat bewegen.
Nieuwe situaties het hoofd bieden
De onderzoekers gebruikten twee variaties van het algoritme om te zien welke beter werkt: eentje die de beste snelheidsmeting van het robotje opslaat en op basis daarvan besluit wat de beste instelling voor de pomp is. Het tweede algoritme gebruikt alleen de laatste snelheidsmeting om te beslissen wanneer het beste moment is dat de pomp aan gaat in elke cyclus. Dat laatste algoritme werkte veel beter. Het kan nieuwe situaties het hoofd bieden zonder dat dat van te voren is geprogrammeerd, doordat het geen tijd verspilt aan gedrag dat in het verleden weliswaar goed werkte, maar in de nieuwe situatie niet meer. Het kon bijvoorbeeld een blokkade op de baan veel beter overwinnen, waar robotjes geprogrammeerd met het andere algoritme stil kwamen te staan. “Als je het juiste algoritme hebt gevonden is dit simpele systeem heel robuust,” zegt Overvelde. “Het kan zich in allerlei onverwachte situaties zelf redden.”
Pootje uittrekken
Hoe simpel ook, de robotjes zijn een beetje tot leven gekomen voor de onderzoekers. Voor een van de experimenten wilden ze een van de robotjes beschadigen om te kijken hoe het hele systeem zich zou herstellen. “We hebben de naald eruit getrokken die als luchtuitlaat dient. Dat voelde toch een beetje raar. Net of je een pootje uittrekt.” De robotjes pasten hun gedrag ook bij deze verminking aan, zodat het treintje weer de juiste richting in ging bewegen. Nog een bewijs voor de robuustheid van het systeem.
Het systeem is makkelijk op te schalen; het lukte al om een treintje van zeven robotjes te laten rijden. De volgende stap is tweedimensionale netwerken. “Je kunt denken aan een octopusachtige constructie,” zegt Overvelde. “Het is interessant om te zien of de individuele bouwstenen zich gaan gedragen als de armen van een octopus. Die beschikken ook over een decentraal zenuwstelsel, een soort onafhankelijk brein, net als onze robotjes.”
Referentie
Giorgio Oliveri, Lucas C. van Laake, Cesare Carissimo, Clara Miette, en Johannes T.B. Overvelde, Continous learning of emergent behavior in robotic matter, PNAS 118 (2021), DOI:10.1073/pnas.2017015118