U bent hier:
  1. Home
  2. Nieuws
  3. Achtergrond
  4. Bekijk


Inspirerende koopman-koning

Hoewel het topsectorenbeleid een goede stap is, krijgt onze maakindustrie lang niet altijd de aandacht die ze verdient, afgemeten aan bijvoorbeeld haar economische (export)waarde. Gelukkig zijn er soms van die evenementen waar de maakindustrie wel volop in de schijnwerpers staat. Zo mocht ik op 8 mei op de Floriade in Venlo de uitreiking van de Koning Willem 1-prijs bijwonen. Aansprekend was...

Achtergrond

'We moesten steeds aantonen dat het niet aan de visie lag'

9 januari 2009

Een van de toepassingen waar machinevisie een sleutelrol speelt, is robotvoetbal. Tech United, de Europees kampioen van dit jaar in de mid-size league, moest bij nul beginnen met het implementeren van zijn visionsysteem en volgde in eerste instantie het voorbeeld van andere teams. Vandaag de dag hebben ze hun een eigen invulling aan de computervisie gegeven, beschikken ze over automatische kalibratie die het uren durende handmatige proces moeiteloos vervangt en denken ze na over slimme camera’s, FPGA-gebaseerde beeldverwerking en driedimensionale baldetectie.

Voetballers zijn vaak niet te beroerd om tegenstanders of de scheidsrechter van blindheid te beschuldigen, al dan niet in combinatie met andere verwensingen. Zicht is nu eenmaal onontbeerlijk bij het spelen van het spelletje. Ook hun mechatronische imitators moeten het vooral van hun zicht hebben, zij het dat de beeldverwerking fundamenteel anders is. Het robotteam van de TUE gebruikt visie voor plaatsbepaling op het veld en lokalisatie van bal en tegenstanders. Encoders in de wielen houden de positie wel bij, maar hier ontstaat na verloop van tijd drift in. Het visiegedeelte moet dat bijsturen. Tijdens een van hun wekelijkse sleutelavonden vertellen de visionspecialisten van het team, Dennis Bruijnen en Arjen den Hamer, wat de vision van Tech United behelst en wat ze er de afgelopen jaren aan hebben verbeterd.

Wat de meeste robotteams gebruiken als hoofdcamera, en Tech United vormt daarop geen uitzondering, is omnidirectionele visie: een standaard camera staat recht naar boven gericht op een bolle spiegel. Daarmee is de hele omgeving in fish-eye-formaat te overzien. De camera is een standaard industriële ziener, die communiceert via Firewire.

De techniek is al jaren in gebruik, maar al gauw blijkt dat zelfs aan dit simpele principe veel te innoveren valt. Kijk je namelijk wat beter naar de spiegels, dan zie je dat ze een karakteristieke vorm hebben. Meer kegelvormig dan rond, en alleen aan de top parabolisch. ‘Die spiegel is zo ontworpen dat het een vergrootglas wordt voor dingen die ver weg zijn. Objecten dichtbij worden minder groot afgebeeld, zodat er meer pixels overblijven voor kleinere objecten verder weg’, vertelt Den Hamer, die momenteel een promotietraject volgt aan de TUE. De robot ziet zichzelf dus maar als een klein stipje. Veel teams gebruiken juist wel een parabolische spiegel. Die werkt net als een kerstbal: de objecten veraf worden allemaal in de marge van het blikveld gedrukt. ‘Je krijgt dan een bal van maar een of twee pixels’, zegt Den Hamer.

Ondanks dat ze er niet thuis in waren, hebben Dennis Bruijnen (links) en Arjen den Hamer de vision van Tech United op poten gezet.

Kijken we nog even verder naar de set-up, dan valt nog een aantal dingen op. De spiegel zit gemonteerd op een transparante koker, in plaats van de vaker geziene metalen spijlen. Nog eigenaardiger is de zwartgespoten tandenstoker die loodrecht onder de spiegel hangt. Den Hamer legt uit: ‘Door die koker voorkom je dat een object doormidden wordt gespleten door de ophanging. In de dataverwerking zie je dan twee helften, die je achteraf weer aan elkaar moet naaien. Objecten in de verte kunnen zelfs helemaal achter de ophanging verdwijnen.’ Er is nog een reden: ‘Doordat een koker een veel stijvere verbinding is, verschuift de spiegel niet ten opzichte van de camera. Met die spijlen hoefde er maar een bal tegenaan te komen en hij kon zo een halve graad verschuiven’, zegt Bruijnen. ‘En als je op tien meter kijkt, is dat een groot verschil’, vult Den Hamer aan.

En die naald? ‘Dat is tegen de weerspiegeling. Het plexiglas van de koker werkt als een soort spiegel, en de reflecties gaan allemaal door het hart ervan’, vertelt Bruijnen. Den Hamer gaat verder: ‘Als je daar nu een zwart object zet, vangt die alle weerspiegelingen op. Toen die naald er niet zat, zag je het lijnenpatroon van het veld en nog een lijnenpatroon ergens anders.’ Dit trucje is overigens afgekeken van andere teams.

Op hol geslagen robots

Toen Tech United in 2005 begon, hadden de heren werktuigbouwkundigen zich geen van beiden ooit echt in machinevisie verdiept. ‘Beeldverwerking was voor ons helemaal nieuw. We hadden allebei regeltechniek als achtergrond. We wisten wel wat van software en hadden natuurlijk ervaring met Matlab en Simulink. Vanuit die achtergrond ga je je dan verdiepen. Ons idee was dat je een beeldje gewoon als grote matrix ziet, en daar ga je dan informatie uithalen’, diept Bruijnen de beginperiode op. Den Hamer: ‘We zijn toen eerst eens gaan rondneuzen. Robocup is opensource, maar de code van andere teams is wel encrypted omdat die vaak gewoon onduidelijk is geschreven. Gelukkig moeten de teams ook elk jaar een paper schrijven.’ Al snel bleek dat het lang niet allemaal haalbare kaart was. ‘In het begin ben je ook heel enthousiast en begin je allemaal mooie dingen te bedenken. Maar die kun je eigenlijk niet goed op waarde schatten’, vertelt Den Hamer.

De eerste versies van het systeem waren nog erg gevoelig voor veranderende omstandigheden. ‘Toen gebruikten we een basale lokalisatie, met kleur om de doelen en onderdelen te herkennen’, zegt Bruijnen. ‘Dat was totaal niet robuust, we moesten tijdens ons eerste toernooi voortdurend robots vangen die op hol sloegen.’

Die periode was wel leerzaam en stond aan de basis van de uitgebreide visiontoolkit waar het team nu over beschikt. ‘Omdat vision redelijk onbekend was in ons team, kregen wij vaak de schuld van alles wat misging: de robot zag de bal niet en dergelijke. We moesten dus steeds aantonen dat het niet aan de visie lag’, vertelt Bruijnen. ‘Toen hebben we allemaal tools ontwikkeld waarmee je foto’s en filmpjes kunt maken, zodat we achteraf konden aantonen dat het niet aan de visie lag’, vult Den Hamer aan. Die tools zijn sindsdien sterk verbeterd.

‘In die drie jaar dat we bezig zijn, merk je dat er van alles is gebeurd. Er zijn veel snellere camera’s op de markt gekomen, veel snellere pc’s. Dat zijn de twee factoren die bepalen dat je beelden ook echt kunt gebruiken in een mechatronische feedbackomgeving’, zegt Den Hamer.

Zoals de meeste robotvoetbalteams gebruikt Tech United omnivisie als primaire sensor: een op een bolle spiegel gerichte camera overziet het hele veld. De vorm van die spiegel is wel anders dan bij de meeste teams. Door deze niet bol te maken, zijn ook objecten veraf goed in beeld te brengen. De zwarte naald in het midden vangt de reflecties op het plexiglas af.

Labels en blobs

De Robocuppers maken het zichzelf elk jaar weer wat moeilijker om steeds meer naar een realistisch voetbalspel te evolueren. Zo wordt het veld steeds wat groter, wat het lastig maakt om de hele boel te overzien. Ook kregen de robots in het begin nog volop beschikking over allerlei kleurtjes om zichzelf te oriënteren: een groen veld met witte lijnen, een oranje bal, een blauw en een geel doel, kleurgecodeerde hoekpalen en zwarte robots. Vanaf dit jaar hangen er echter netjes in de goals, net als bij gewoon voetbal. En de hoekpalen zijn er ook niet meer.

De robotbouwers moeten dus veel betere beeldverwerking in huis hebben om toch hun omgeving te interpreteren. Simpelweg zoeken naar blauwe en gele vlakken is er niet meer bij. Sterker nog, op dit moment kijkt de robot helemaal niet of er doelen staan, hij gaat er gewoon van uit dat ze er zijn op de plek waar ze horen. Het onderscheid tussen eigen en andermans doel maken de Turtles – de robots van Tech United – met het ingebouwde elektronische kompas. Dat is weliswaar niet zo nauwkeurig, maar geeft genoeg informatie om de helften van het veld te onderscheiden. ‘Soms rij je over een elektriciteitsleiding, dan krijg je een flinke verstoring in je kompas. Maar dat blijft altijd wel net binnen de marge om te concluderen welke kant je op rijdt’, zegt Den Hamer.

Het beeldverwerkingssysteem volgt eigenlijk twee onafhankelijke paden: het ene zoekt de veldlijnen en bepaalt op basis hiervan de eigen positie, het andere zoekt de objecten als de bal en de tegenstanders. ‘Je begint in het centrum en trekt van daaruit een groot aantal lijnen naar de randen. Daar kijk je of je groen-witovergangen tegenkomt’, legt Den Hamer de methode voor het eerste deel uit. ‘Dat doen we niet over heel het beeld omdat dat veel te veel data is. De lijnen probeer je uiteindelijk te matchen met het veld, waarvan je weet hoe het eruitziet.’

Voor het herkennen van de objecten analyseert het systeem de pixels eerst op kleur. ‘We kijken of de pixels aan de kleurcriteria voldoen die we van tevoren via kalibratie hebben gedefinieerd’, legt Den Hamer uit. ‘Je hangt aan elke pixel een labeltje: of ik weet niet wat het is, of het zou de bal kunnen zijn, of het zou de tegenstander kunnen zijn, enzovoorts. Het groen gebruik je eigenlijk niet, omdat alles groen is.’ ‘In het eerste jaar gingen we met die onderscheiding nog de mist in’, vult Bruijnen aan. ‘Een ander team had gezegd dat je in de kleurenruimte gewoon boxen moest zetten, en alles wat binnen zo’n box zit, is het bijbehorende object. Dat kost weinig rekenkracht, maar bleek veel te conservatief. Tegenwoordig gebruiken we lookup tables. Dat kost veel geheugenruimte, maar is wel snel. En geheugen heb je er toch genoeg in zitten.’

De volgende stap is om te kijken of de pixels die hetzelfde labeltje hebben aan elkaar grenzen. ‘Dan krijg je blobs’, legt Den Hamer uit. ‘Daarvan ga je kijken of de afmetingen kunnen corresponderen met een object.’

Sleur-en-pleur

Vanwege de grote datahoeveelheden is de software noodzakelijkerwijs opgedeeld. ‘Het motionprogramma draait op een kilohertz, maar vision-processing op die snelheid lukt ons niet. Dus dat deel draait langzamer, op 30 Hz. Die twee stukken wisselen informatie met elkaar uit’, vertelt Den Hamer. En dat blijkt goed te werken, alhoewel het natuurlijk altijd beter en sneller kan: ‘We hebben vrij luxe pc’s op dit moment. Maar wat we eigenlijk willen, is smart camera’s met processing aan boord. Daar kan de hele blobdetectie met een paar honderd hertz op lopen. Of naar beeldverwerking met FPGA’s. Maar ja, dat is niet iets dat je jezelf in een week leert’, zegt Den Hamer. Overigens lopen er wel lijntjes met andere mensen op de universiteit die daar meer kennis van hebben. Maar dat is vooral een ontwikkeling voor de lange termijn.

‘De smart camera’s moeten wel al in het volgende platform komen’, zegt Bruijnen. Die wens is geboren uit frustratie over de finale op de wereldkampioenschappen. Toen werden de Eindhovenaren geklopt omdat ze niet overweg konden met ballen die in een boogje door de lucht aankwamen. De smart camera moet een extra sensor voor op de robot worden, als aanvulling op de omnivisie, zodat dat probleem kan worden verholpen. ‘De aanname is dat de bal altijd op de grond ligt, maar dat is natuurlijk niet altijd zo. Als de bal in een boog komt, wordt hij snel groter en weer kleiner, dus lijkt het alsof hij heel snel dichterbij komt en weer weggaat. Daar kun je niks mee’, legt Bruijnen uit. Met een extra camera heb je twee metingen van de bal en kan de positie driedimensionaal worden berekend, is het idee.

Op dit moment kijkt het team nog welke camera hier het meest geschikt voor is. Het is vooral een afweging tussen snelheid en resolutie, die tegen elkaar worden ingeruild. ‘Maar we willen ook volledige flexibiliteit bij het programmeren van dat ding. Dat is niet altijd beschikbaar. Heel veel fabrikanten leveren een sleur-en-pleurtoolkitje om blokjes met elkaar te verbinden, maar we willen eigenlijk gewoon het onderste uit de kan kunnen halen’, zegt Den Hamer.

Voor elk nieuw veld moet de vision van de robots worden gekalibreerd via de Matlab-gebaseerde tools van Tech United. Voorheen was dat een tijdrovend handmatig proces, tegenwoordig gaat het automatisch.

Hammertool

De nieuwste troef van Tech United is het kalibratieproces. Dat was tot voor kort een tijdverslindende klus, die voor elk toernooi of elke demo apart moest worden uitgevoerd. ‘Elk veld heeft net weer een andere kleur, dus je moet voor elk toernooi kalibreren’, vertelt Den Hamer. ‘Vroeger moest dat zelfs voor elke wedstrijd, maar onze tools zijn ondertussen zo robuust dat dat niet meer nodig is.’ Dat tijdrovende proces stuitte Bruijnen zo tegen de borst dat hij na zijn promotie – hij werkt sinds begin dit jaar bij Philips Apptech – drie maanden reserveerde om zich toe te leggen op een automatisch kalibratieproces. ‘Het doel was: robot op het veld zetten, op een knop drukken en dan binnen een minuut klaar’, vertelt hij. En dat is precies hoe het nu werkt. De autokalibratie duurt rond de dertig seconden. Inclusief klaarzetten en opstarten van de robot kun je na vijf minuten al de eerste goals scoren.

‘Het proces begint met het automatisch instellen van de sluitertijd’, vertelt Bruijnen. ‘Het duurt even voordat die is ingesteld op de goede waarde. Vervolgens maakt het systeem een foto. Dan gaat het kijken naar hoe de spiegel en de camera staan, dat is voor elke robot net iets anders. Het systeem probeert het beeld aan het veld te koppelen. De correlatie tussen de pixels en het veld, dat is een functie met een aantal coëfficiënten. Daar kun je via een genetisch algoritme de optimale waarden voor vinden. Dat duurt zo’n tien seconden. De volgende stap is dat het systeem met vormherkenning gaat zoeken naar voorwerpen, zodat het kan instellen welke kleuren daarbij horen. Die zet het in de driedimensionale lookup tables.’

Al met al verschilt deze procedure niet zo veel met het handmatige proces, alleen gaat het nu een stuk sneller. ‘Het eerste jaar kostte het echt een uur per robot. En dat voor iedere wedstrijd’, zegt Den Hamer ‘Dan moest je in de foto polygonen gaan tekenen en zeggen: ‘Dit is groen’’, vult Bruijnen aan. ‘Ook moest je voor elke wedstrijd met een tooltje – de hammertool – de belichtingparameters instellen. Dat hoeft nu nog maar één keer, namelijk als de camera net is geïnstalleerd. De variatie in de belichting wordt verder opgevangen met het variëren van de sluitertijd. Het maakt verder ook niet uit hoe de belichting precies is, je gebruikt toch een lookup table. Al is de bal rood in plaats van oranje, als je hem maar herkent.’

Pieter Edelman

Terug naar overzicht



© Mechatronica Magazine | Deze pagina op internet: http://www.mechatronicamagazine.nl/nieuws/achtergrond/bekijk/artikel/we-moesten-steeds-aantonen-dat-het-niet-aan-de-visie-lag.html