Her følger et lite reisebrev fra RoboCup'99 i Stockholm. Mitt håp er at interessen for RoboCup kan vekkes i Norge, slik at neste turnering også har norske lag.
RoboCup har for tiden fire klasser; simulerings-, små, mellomstore og legg-roboter. En planlegger fra 2001 en klasse med små humanoid-roboter.
Vi var to som kjørte fra Tromså fredag 1999-07-31 mot Stockholm. Vi kom fram til Stockholm natt til søndag etter overnatting i Piteå. Søndag var eneste dag uten kamper i turneringen. Det var flyttedag for mange av lagene som hadde spilt 'round-robin' i Electrum litt utenfor sentrum, og en kjærkommen pause til å fikse bug for alle andre.
Dagens plan var å finne ut hvor 'Norra Latin', der kampene skulle foregå, var plassert, og se om det ellers skjedde noe spennende i området. Vi fant konferansessenteret uten større problemer. Roboter i alle fasonger fyllte rommene, og "trenerne" drev finpussing og testing av spillerne sine.
Jeg kom over mange interessante robot-design. En mellom-størrelse robot hadde panorama-kamera ved hjelp av at buet speil montert i toppen på en gjennomsiktig sylinder og kamera plassert i bunnen. Jeg fikk desverre aldri sett den i spill, men laget dens kom til finalen.
Sonys robot-hund utgjør legg-robot klassen foreløpig. Jeg ble utrolig skuffet over å oppdage hvor trege disse robotene var, og så utrolig dårlige de var til å spille fotball. Vi så endel oppvisningskamper / trenignskamper på søndag, og jeg fikk dårlig inntrykk av kapasiteten til hundene.
Jeg snakket med et simulerings-lag fra Australia som fortalte om en morsom feil de hadde kommet over i begynnelsen av turneringen. Spillerne deres hadde nektet å fungere på en av kampene, og de var nødt til å trekke seg fra kampen slik at motstanderen vant på walk-over. Feilen, oppdaget de like etterpå, var at parseren deres ikke taklet motlagets navn. Det inneholdt bindestrek '-'. De hadde aldri møtt lag som brukte annet enn understrek, og protocol-spesifikasjonen hadde blitt litt endret siden de skrev parseren sin. De kom sterkere tilbake senere i turneringen.
Vi lokaliserte i løpet av dagen også konferansens Internet-tjeneste, og fikk koblet oss opp for å lese mail. Dagen hadde vært en stor suksess.
Mandagen var første turnerings-dag for oss. Finale-oppkjøringen var begynnt i simulerings- og små-robot klassene, og jeg fikk med meg en god del kamper. Rommene der små-robotene spilte var alt for små, så det var nesten umulig å få sett kampen hvis en ikke møtte opp minst 30 minutter før. Jeg fikk med meg to kamper med god plassering, og koste meg med det. Jeg hadde nå fått kjøpt meg engangskamera og tok bilder av roboter i alle fasonger.
Smårobotene er i syltetøyglass-størrelse, de skal passe i en sylinder med 18 cm diameter. Kampen foregår på en bane omtrent like stor som et bordtennis-bord. Spillerne består stort sett av to uavhengig kontrollerte motorer for forflytning og en radiomottaker koblet opp mot mikro-elektronikk som styrer motorene. I tilegg består lagene av et kamera montert over banen og en datamaskin med radiosender som kontrollerer spillerne. Spillerne er fargekodet for å bestemme posisjon og retning på banen.
Dette var dagen da jeg fikk demonstrert turneringens beste skyte-mekanisme. FU Fighters hadde plassert en roterende plate forran på roboten. Når denne startet opp som en vifte, så skulle det bare et lite kakk på ballen før den fór over hele banen. FU Fighters kom da også til finalen. Da de møtte en koreansk lag senere i turneringen, så oppdaget en også at med små og lette motstandere så skulle det bare et lite kakk i motstanderen før han fløy over hele banen. Det ble utdelt mange kort i den kampen.
I simuleringskampene ble jeg imponert over hvor godt samspilte noen av lagene var. Både plassering på banen og sentring fungerte utmerket. Det var store variasjoner i lagene, så noen kamper endte 35-0. Jeg ble fasinert over systemet, og var innom nett-oppkoblingen og hentet ned simulerings-serveren og noen testklienter. Jeg ble gledelig overrasket over at flere av lagene fra i fjor har lagt ut kildekoden til sine klienter. Jeg hentet ned fjorårets vinnerlag, CMUnited98, og satte opp testinstallasjon på min bærbare. Jeg oppdaget at det tydeligvis trengtes mer en kildekoden for å få gode spillere. Jeg tror CMU må ha spesial-lagde config-filer for hver spiller, for mine spillere manglet fullstendig plassering på banen og sentret ikke spesielt godt. Jeg skal hente ned årets vinnerlag når den koden slippes.
Mandagen hadde ingen kamper i mellomstørrelse, så jeg var veldig spent på hvordan de ville arte seg neste dag. Tirsdag og onsdag var satt av til kvartfinaler og finaler.
Jeg fikk se de første mellomstørrelse-kampene på tirsdag. Spillerne består stort sett av motorer som styrer hjulene, en datamaskin og kamera for å se hva som foregår. Disse robotene i vaskebøtte-størrelse er ikke sentralt styrt, og må stole på sine egne øyne for å finne fram på banen. De fleste har en sparke-mekanisme, noen drevet på strøm og andre på trykkluft. Flere brukte radar, sonar eller scanner-laser for å bestemme posisjonen på banen.
Denne dagen fikk jeg sett CMUnited99's småroboter i kamp. De demonstrerte en ny og interessant teknikk for å få ballen med seg fra hjørner og kanter. Ved å kjøre helt inntil ballen og rotere med stor hastighet fikk de god fart på ballen. Flere andre lag fortalte at de hadde tatt opp samme teknikk etter å ha sett CMUnited99.
Oppkjørinen til finalene gikk av seg selv. Da jeg ikke hadde noe forhold til noen av lagene, så var jeg mer interessert i teknikken enn av resultatene. Jeg fikk ikke med meg hvem som vant simulerings- og leggrobot-ligaen. CMUnited99 vant smårobot-klassen med overlegent samspill over FU Fighters. Et Irans lag vant mellomstørrelse-klassen på ballkontroll og bedre bevegelighet.
Jeg snakket med flere for å høre hvor mye det koster i utstyr å lage et robot-lag. En robot i mellomstørrelsen må en regne med å investere mellom 30.000 og 50.000 kroner på. Flere medium-roboter bruker trykkluft for sparking. Sparking i flere vinkler er en fordel. Datamaskinene varierte fra standard PC-hovedkort via store og små bærbare til ekstra små hovedkort for "embedded"-PCer. Kameraene varierte fra håndholdte videokamera via overvåkningskamera til standard QuickCam. Noen kamera kunne vris, andre sto fast, og andre igjen brukte speil for å få 360 graders utsikt.
De små robotene var en god del billigere. Pr. robot regnet et lag med å ha brukt rundt 3.000 kroner. I tillegg kom data og kamera-utstyret, så en måtte regne med i størrelsen 50.000 for et helt lag.
Jeg merket meg endel viktige tips for å takle kamp-situasjonen. De tre viktigste en må fikse.
- raskt å skifte batteri i pausen og like før kampen starter
- eksterne brytere for å stoppe roboten, og for å markere at kampen starter
- ekstern indikator som forteller at roboten er påslått og klar til kamp
I tillegg må en huske at spillerne kommer til å kolligere under kampen. Hastighetene kan blir store når de treffer. Lag derfor lavt tyngdepunkt på spillerne, og fest alle løse deler med tape eller skruver. Automatisk oppstilling av spillerne forran en kamp vil spare tid når dommeren melder at kampen starter. En får dermed mer tid til å finpusse robotene i pausene.
Systemene må takle at spillere blir byttet ut under kampen, og at spillere blir tatt ut etter ordre fra dommeren. Det bør i tillegg håndtere at det er flere baller på banen i pausen uten å bla tullete. Jeg så flere spillere som raste som gale rundt på banen pga. 3 baller på banen.
Før en starter å lage robotene så bør både ha ferdig design, og ha en simulator for å teste oppførselen på banen. KHeperas og Cyberbotics har slike simulatorer. CMUnited fortalte at de hadde en lagdelt arkitektur der kun lavnivå-rutinene var forskjellig fra simulerings-laget og smårobotene. Jeg tror det er veien å gå.
RoboCupTeksten kan kopieres fritt så sant det ikke gjøres endringer i teksten, den kopieres i sin helhet, og dette avsnittet om rettighetene følger med hver kopi.
http://www.robocup.org/
RoboCup Norge
http://www.hungry.com/~pere/robocup/
Mico Robot Soccer Turnament
http://www.mirosot.org/
Federation of International Robot-soccer Assosiation (FIRA)
http://www.fira.net/
CMUnited98
http://www.cs.cmu.edu/~robosoccer/
FU Fighters
http://www.inf.fu-berlin.de/~robocup/
Kheperas robots and simulators
http://lamiwww.epfl.ch/Khepera/#k-family
Cyberbotics webbots
http://www.cyberbotics.com/
-- ##> Petter Reinholdtsen <## | pere@td.org.uit.no O- http://www.hungry.com/~pere/ | Go Mozilla, go! Go! For å melde deg av mailing-listen til Linux Tromsø, send mail til linux-request@list.uit.no, med unsubscribe i meldingsteksten: 'echo unsubscribe |mail linux-request@list.uit.no'