Pieter Edelman
7 April 2006

Sony‘s robothond Aibo biedt een standaard platform en heeft binnen het robotvoetbal zijn eigen competitie. Zes universiteiten, een hogeschool en een onderzoeksinstituut vertegenwoordigen Nederland met het Dutch Aibo Team. Deel 3 in onze serie over robotvoetbal.

In het Dutch Aibo Team (DAT) komen onderzoeksgroepen samen op het gebied van autonome systemen, beeldverwerking, elektronica, embedded systemen en intelligent gedrag. De ploeg is in 2003 opgericht en bestaat uit vertegenwoordigers van de Universiteit van Amsterdam en de universiteiten van Delft, Eindhoven, Groningen, Twente en Utrecht. Saxion Hogescholen brengt kennis in op het gebied van software-engineering voor embedded systemen. Via Decis Lab doen ook Thales en TNO mee.

’Het is een beetje een losse constellatie‘, vertelt Niek Wijngaards, captain van het Dutch Aibo Team. ’Soms gaat overleg via individuele contacten en soms gaat het op thema. Zo nu en dan is er een plenaire vergadering. Het is een beetje een grassroots effort. Maar we zijn nu wel aan het kijken of we er een mooi projectthema uit kunnen halen voor STW.‘

De initiatiefnemers kozen voor de Aibo-league omdat ze het belangrijk vinden de onderzoeksresultaten met andere teams uit te wisselen. De Aibo biedt daar een standaard platform voor. Bovendien kunnen ze zich zo volledig richten op het functioneren van het apparaat. ’We wilden een volwaardige robot waar je niet aan hoeft te sleutelen. Anders ben je je mensen daaraan kwijt‘, aldus Wijngaards. ’Maar we wilden wel een echte robot gebruiken. De beperkingen hiervan dwingen je om nieuwe methoden te bedenken. Met een pc kun je een groot aantal mogelijke oplossingen doorrekenen en de beste selecteren, maar een Aibo heeft daar te weinig geheugen en rekenkracht voor.‘

Elk Aibo-team bestaat uit vier spelers. DAT baseerde zich bij zijn oprichting op de code van de toenmalige wereldkampioen Duitsland. In 2004 speelde het zijn eerste wedstrijd. ’Iedereen moet zijn code na afloop van de wedstrijden publiceren en andere teams mogen die gebruiken op voorwaarde dat ze voldoende veranderingen aanbrengen‘, aldus Wijngaards. Het onderzoeksveld komt daardoor snel vooruit. Het nadeel is wel dat de goede teams het jaar erop tegen zichzelf spelen. ’Je moet dus extra je best doen. Maar het gaat er nu naar toe dat je alleen de algoritmes en methoden openbaar hoeft te maken. De exacte parameters kun je voor jezelf houden. Dat is een heel net open-sourcemodel.‘

Afwijking

Informatie over de omgeving halen de voetballende robothondjes uit hun camera en uit odometrie, het berekenen van de afgelegde weg. ’Aibo‘s hebben ook lasersensoren die voorkomen dat ze van de tafel vallen, maar daar maken we bewust geen gebruik van‘, vertelt Arnoud Visser van de Universiteit van Amsterdam. ’Ook de sensoren in de poten gebruiken we niet.‘ Met de twee gegevensbronnen bepalen de Aibo‘s voortdurend hun positie in het veld en via de ingebouwde WLan-verbinding wisselen ze deze wereldbeelden onderling uit.

Een probleem waar DAT vorig jaar tegenaan liep, is dat de Aibo‘s een afwijking naar rechts hebben. ’We hebben eigenlijk geen flauw idee of dat in de code zit of eigen is aan Aibo‘s. Het Duitse team heeft er geen last van, maar zij hebben het afgelopen jaar veel gedaan aan de odometrie.‘ Om dit soort problemen op te vangen, wil het team in de toekomst lerende algoritmes gebruiken bij het voortbewegen van de robothondjes. ’Elke Aibo beweegt weer net iets anders, dus dat is uiteindelijk de beste manier‘, aldus Visser. ’Voor het visuele gedeelte gebruiken we ook al een zelflerend systeem.‘ Op dit moment ondervangt het team het afwijkingsprobleem door de robots elke tien seconden hun veldpositie opnieuw te laten bepalen. Het nadeel is dat de camera een beperkt blikveld heeft. De robot moet daarom stilstaan en zijn hoofd heen en weer bewegen, en dat kost tijd.

De beeldverwerking is wel een van DAT‘s sterke punten. ’Dat is gedeeltelijk gegroeid vanuit onze expertise, maar komt ook doordat dit het eerste deel is van het hele systeem‘, aldus Visser. De robots kunnen onder een breed scala aan verlichtingsomstandigheden spelen en ook in onbekende omgevingen hun weg vinden. De beeldverwerking gebruikt een probabilistisch model voor het bepalen van spelelementen. De software versterkt daarbij de beeldpunten die waarschijnlijk bij een specifiek object horen en gooit de overige weg.

Het kan echter voorkomen dat er op een moment geen herkenbare spelelementen in beeld zijn. Daarom bewaren de Aibo‘s een positiebuffer voor elk object. De betrouwbaarheid hiervan neemt af als functie van de tijd. Door de stochastische aard van het deeltjesfilter zit de locatiemodule er wel eens naast en verspringt de waargenomen positie van de robot in het veld plotseling. Meestal kost het echter minder dan een seconde om de juiste positie weer terug te vinden. Door een goede samenwerking tussen de odometrie, de visuele plaatsbepaling en de draadloze link krijgen de Aibo‘s een nauwkeurig beeld van hun omgeving.

De Aibo biedt een eigen platform voor softwareontwikkeling. Het besturingssysteem is een eventgedreven RTOS. De softwarearchitectuur daarbovenop komt van het Duitse team en is geschreven in C++. De programmatuur is onderverdeeld in twee lagen die met verschillende tijdstappen werken. Het eerste niveau verwerkt de gegevens van de sensoren tot een wereldbeeld. Daarbij draait het voornamelijk om de camera, die elke seconde 25 beelden aflevert. Ook de draadloze communicatie met de andere robots gebeurt hier. De andere laag vertaalt dit wereldbeeld naar een actie en stuurt de motoren aan. De twee niveaus zijn opgebouwd uit losse modules die via vaste API‘s met elkaar communiceren. Daardoor is het eenvoudig om onderdelen te vervangen.

Een-tweetjes

Elke robot heeft binnen het team een eigen unieke rol. Doorgaans zijn er een aanvaller, middenvelder, verdediger en keeper. De robots berekenen voortdurend hoe goed ze gepositioneerd zijn om tot een aanval over te gaan. Een drempelwaarde die afhankelijk is van hun rol bepaalt uiteindelijk welke Aibo dit daadwerkelijk doet. Zo ontstaat er een dynamisch spel en werkt de functieverdeling ook als een van de spelers uitvalt. Via de WLan-verbinding communiceren de robots hun functie naar elkaar.

’De grootste uitdaging nu is om het samenspel te verbeteren‘, vertelt Arnoud Visser. ’We willen bijvoorbeeld dat ze voorzetjes en een-tweetjes gaan uitvoeren. Soms gebeurt zoiets per ongeluk, maar het publiek vindt dat fantastisch. Maar om eerlijk te zijn, zal dat bij de komende competitie nog niet van het Dutch Aibo Team komen. Zover zijn we nog niet.‘