Onderzoekers van Amolf bouwden een treintje van simpele robotjes waarin elk robotje individueel zichzelf leerde zo snel mogelijk voort te bewegen.
Robots zijn ingenieuze apparaten die veel kunnen, maar ze zijn complex en vergaand geprogrammeerd. Wetenschappers van onderzoeksinstituut Amolf in Amsterdam wilden terug naar de eenvoud: een zo simpel mogelijk zelflerend robotje. Uiteindelijk willen ze met simpele bouwstenen zelflerende systemen bouwen.
Het is een nieuwe manier van denken in het ontwerp van zelflerende robots. Anders dan de meeste geprogrammeerde robots heeft een zelflerende robot geen complexe modellen nodig om zich aan een veranderende omgeving aan te passen. Ze koppenlden enkele simpele robotkarretjes aan elkaar en lieten zelf uitzoeken hoe ze als treintje zo snel mogelijk een bepaalde kant op kunnen bewegen. Ze moeten dan doen zonder programmering en zonder ze weten wat de andere robotkarretjes doen.
De individuele robotjes bestaan uit een microcontroller, een bewegingssensor, een pompje dat lucht in een balg pompt en een naald om de lucht er weer uit te laten. Door een tweede robotje via de balg aan de eerste te koppelen, duwen ze elkaar weg. De onderzoekers kozen voor een balgje en lucht omdat veel zachte robots daar mee werken.
De onderzoekers gaven elk robotje maar een paar regels computercode mee. Een kort algoritme zegt bijvoorbeeld: zet om de paar seconden de pomp aan en uit 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 verandert de robot het moment dat de pomp inschakelt en bepaalt of deze aanpassingen de robottrein sneller naar voren doen bewegen. Elke robot in de trein dat doet.
Door ze elkaar te laten duwen en trekken, gaat het treintje op zeker moment éé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 is geprogrammeerd hoe ze kunnen voortbewegen. Het systeem optimaliseert zichzelf langzaam maar zeker. Zie onderstaande video.
De onderzoekers gebruikten twee variaties van het algoritme om te zien welke beter werkt. Het eerste algoritme slaat de beste snelheidsmeting van het robotje op en besluit op basis daarvan 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. Het laatste algoritme werkte veel beter. Als het juiste algoritme is gevonden, is dit simpele systeem robuust. Ook als een van de robotjes is beschadigd, pasten de robotjes hun gedrag aan, zodat het treintje weer de juiste richting in ging bewegen. Het systeem bleek gemakkelijk op te schalen.
De volgende stap is tweedimensionale netwerken, bijvoorbeeld een octopusachtige constructie. 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.
Foto: still video Amolf