Goede robots zijn niet alleen en kwestie van hardware, maar ook van software. Wedstrijden moeten de slimste programmatuur opleveren.
In Martiniplaza in Groningen wordt op 2 en 3 juni de RoboChallenge 2006 gehouden. Het is een wedstrijd voor intelligente robots die worden gebouwd door teams van hogescholen, universiteiten en bedrijven. Met het evenement wil de stichting RoboChallenge jonge mensen interesseren voor een studie in de techniek.
Tijdens de Challenge strijden robots in drie afzonderlijke, van elkaar verschillende, missies om wie het slimst, snelst en efficiëntst punten haalt. Punten zijn te behalen door zoveel mogelijk ballen (‘sterren’) uit de lucht (‘hemel’) te halen. De ballen hangen op maximaal 60 centimeter hoogte en hebben de primaire kleuren.
Vorige winnaar
Het team dat vorig jaar won, doet dit jaar ook weer mee. Het team bestaat uit zeven studenten van de studie Kunstmatige Intelligentie aan de Rijksuniversiteit Groningen. Matthijs Platje sleutelt samen met studiegenoot Arco Nederveen aan MARS, wat staat voor Modulair Autonoom Robot Systeem. Met deze robot heeft Platje de vorige RoboChallenge gewonnen.
Het is een ongeveer halve meter hoge constructie met een aluminium frame en plexiglas. De basis van de robot wordt gevormd door een Athlon 64, een gewone pc-processor. De voeding wordt verzorgd door twee accu’s die via een ATX-voedingskabel direct op de computer zijn aangesloten.
Het onderstel bestaat uit twee accu’s, twee motoren, een microcontroller, sensoren, twee wielen en een kogelwiel. De microcontroller (programmeerbare chip) communiceert via een seriële poort met de motor en leest ook de sensoren (infrarood afstandsmeter) uit. Bovenop de robot staat een USB webcam die de ballen waarneemt, en een eventuele tegenspeler, want er spelen twee teams tegelijk per ronde.
Zelf ontwikkeld
De software is door de studenten zelf ontwikkeld, Nederveen: “Je bent hierin natuurlijk wel afhankelijk van gegevens die je uit de libraries haalt (hulpmiddelen voor programmeren), maar we hebben geen software gekocht.”
De software waarmee MARS wordt aangestuurd is ontwikkeld met Java en C/C++. De robot moet zelfstandig kunnen werken, van de zijkant mag het team de robot op geen enkele manier aansturen. Om dit mogelijk te maken, hebben de studenten diverse niveaus van gedragingen voorgeprogrammeerd.
Het basisgedrag is het eenvoudig rechtdoor rijden, het volgende niveau is ‘als je een obstakel ziet, maak een bocht’, het volgende geprogrammeerde niveau is ‘als je een bal ziet, centreer hem in je beeld’ (van de webcam). Op deze manier zijn er vijf lagen gedragsniveaus, het hoogste niveau is ‘breng de ballen terug naar een centraal punt.’
Robotarm
Platje: “Het is heel eenvoudig, maar je moet het ook niet te ingewikkeld maken. Om het speelveld van 5 bij 5 staan witte schotten van 80 centimeter hoog, de grond is zwart. De gekleurde ballen zijn daardoor voor de webcam goed waar te nemen. Ik denk dat alle teams met dit principe zullen werken, omdat het vision-gedeelte de ballen het makkelijkste herkent.”
De moeilijkheid zit hem volgens de studenten ook niet in het computergedeelte, maar in de techniek van de elektronica. “We moeten nu nog aan de slag met de robotarm die de ballen moet pakken, we weten nog niet of die wel omhooggaat als de robot bij een bal is aangekomen.”