Upload
phungdan
View
215
Download
0
Embed Size (px)
Citation preview
RoboCup En litteraturstudie av 2010s finalistlag rUNSWift
Linköpings Universitet
Artificiell Intelligent II, 729G11
Fördjupningsuppgift
Martin Krampell
Linköping
2012-10-16
Martin Krampell Linköpings Universitet markr644 729G11
1
Sammanfattning
RoboCup, morgondagens fotboll eller helt enkelt väldigt spännande grejer -‐
många benämningar på en och samma sak. Vi går igenom hur en robot faktiskt
lyckas att spela fotboll – och det med en hel del intelligens dessutom. Hur
roboten kan se, uppfatta och sedan navigera en fotbollsplan i miniformat
klargörs för att få en god generell förståelse för robotfotboll i allmänhet.
Avslutningsvis diskuterar vi kring ämnet och vart det här kan leda oss i
framtiden.
Martin Krampell Linköpings Universitet markr644 729G11
2
Innehållsförteckning
1. INLEDNING .................................................................................................................................... 3 1.1 KÄLLHANTERING ................................................................................................................................... 3
2. SYFTE .............................................................................................................................................. 3
3. ROBOCUP ....................................................................................................................................... 3 3.1 HISTORIA ..................................................................................................................................................... 3 3.2 OLIKA GRENAR OCH KLASSER .................................................................................................................. 4 3.3 FÖRUTSÄTTNINGAR ................................................................................................................................... 5 3.4 ROBOTEN ..................................................................................................................................................... 5
4. LAGET .............................................................................................................................................. 6
5. PERCEPTION ................................................................................................................................. 7 5.1 SYN ................................................................................................................................................................ 7 5.1.1 Objektidentifikation .......................................................................................................................... 7 5.1.2 Robotidentifikation ........................................................................................................................... 9 5.1.3 Bollidentifikation ............................................................................................................................ 10 5.1.4 Målidentifikation ............................................................................................................................ 10 5.1.5 RANSAC ............................................................................................................................................... 10
5.2 SENSORER .................................................................................................................................................. 12
6. POSITIONERING ........................................................................................................................ 12
7. KOMMUNIKATION ................................................................................................................... 14
8. BETEENDE .................................................................................................................................. 14 8.1 OLIKA ROLLER .......................................................................................................................................... 15
9. DISKUSSION ............................................................................................................................... 16
REFERENSER .................................................................................................................................. 18
BILAGA 1 – RANSAC PSEUDOKOD ........................................................................................... 19
Martin Krampell Linköpings Universitet markr644 729G11
3
1. Inledning
RoboCup Soccer är en internationell robot-‐tävling med syfte att skapa robotar
som klarar av att spela fotboll mot varandra. Målet med tävlingen är att främja
utvecklingen inom robotteknik samt artificiell intelligens (AI) och att göra detta
på ett åskådarvänligt men ändå utmanande sätt. Den här studien ämnar granska
finalistlaget rUNSWifts bidrag till 2010 års tävling samt att ge en insikt i hur en
robot faktiskt lyckas spela fotboll.
Denna rapport är resultatet av ett fördjupningsarbete i kursen Artificiell
intelligens II (729G11). Fokus kommer därför att läggas på den artificiella
intelligensen och mindre på andra delar av RoboCup.
1.1 Källhantering
Källor och referenser kommer att presenteras enligt Oxford-‐modellen. Komplett
litteraturförteckning hittas i slutet av rapporten. Om inte annat anges, så är allt
material baserat på ref.nr. 1; rUNSWift Team Report 2010 RoboCup Standard
Platform League. 1
2. Syfte
Syftet med fördjupningsarbetet är att sätta sig in i samt få en djup förståelse för
det valda ämnet och att sedan genom en skriftlig rapport presentera sina fynd.
Syftet med rapporten är således att redogöra för hur en fotbollsspelande robot
fungerar.
3. RoboCup
3.1 Historia
RoboCup grundades år 1997 och hålls årligen på en ny plats runt om i världen.
Den originella målsättningen med tävlingen är att år 2050 ha ett robot-‐lag som
1 http://www.cse.unsw.edu.au/~robocup/2010site/reports/report2010.pdf
Martin Krampell Linköpings Universitet markr644 729G11
4
är bra nog att vinna över det ledande mänskliga fotbollslaget. Tävlingen har
däremot sedan dess grundande expanderats för att täcka fler grenar än fotboll.
3.2 Olika grenar och klasser
Fotboll är inte den enda grenen inom RoboCup utan det finns även andra
tävlings-‐kategorier såsom Rescue (Räddning), @Home (Vardagshjälp) samt
Junior (Låta ungdomar lära sig utveckla robotar).
Inom grenen fotboll, eller Soccer som den officiellt heter, finns det även ett antal
olika klasser. 2 Nedan listas de olika klasserna och i vissa fall även deras sub-‐
klasser.
-‐ Humanoid
o Kid size
o Teenage size
o Adult size
-‐ Middle size
-‐ Simulation
o 2D
o 3D
-‐ Small size
-‐ Standard Platform
Den sistnämnda, nämligen ”Standard Platform League” (hädanefter SPL), är
kategorin som rUNSWift år 2010 deltog i. Det är även den tävling vi hädanefter
kommer att referera till när vi pratar om RoboCup och rUNSWifts bidrag. Denna
kategori baseras på att samtliga lag använder en identisk robot som erhålles i
samband med tävlingen. Lagen slipper bygga egna robotar och kan därför
fokusera all tid på mjukvaruutveckling. I samtliga av de andra klasserna krävs
det att laget utöver mjukvaran också bygger egna robotar. Hur robotarna får se
ut baseras på vilken kategori som de ska användas för, de får alltså inte se ut på
2 http://www.robocup.org/robocup-‐soccer/
Martin Krampell Linköpings Universitet markr644 729G11
5
vilket sätt som helst. Dessa specifikationer finns detaljerat beskrivna i reglerna
för varje klass.
3.3 Förutsättningar
Samtliga dimensioner, färger på objekt och dylikt finns klart definierat i
regelboken för SPL.3 Detta för att robotarna ska ha så lätt som möjligt att
identifiera olika objekt på plan. En tävlings-‐sport kräver dessutom tydligt
definierade regler och specifikationer för att kunna bli rättvis.
Figur 1. Visar planens olika element samt deras färg.
Färgen på de olika objekten är kanske en av de viktigaste aspekterna att
definiera när det kommer till RoboCup. Se Figur 1. För att förenkla robotarnas
visuella igenkänning av olika objekt så har dessa alltid samma färger och finns
alltså fördefinierat till utvecklarnas stora glädje.
3.4 Roboten
Roboten som används för SPL är av Humanoid-‐typ. Se Figur 2 nedan. Den har
alltså liknande anletsdrag som en människa; två armar, två ben, ett huvud osv.
Robottypen heter Nao och produceras av Aldebaran Robotics. Laget får inte på
något sätt modifiera roboten förutom i ett fåtal undantagsfall. Dessa
undantagsfall är bland annat att sätta svart-‐vita sponsor-‐klistermärken på ett av
3 http://www.tzi.de/spl/pub/Website/Downloads/Rules2010.pdf
Martin Krampell Linköpings Universitet markr644 729G11
6
benen samt lite smått besynnerligt; att tejpa ihop robotens händer och/eller
fingrar med silvertejp. Tejpen måste i sådana fall vara transparent eller vit.
Figur 2. Visar Roboten Nao samt i det här fallet det blå lag-‐bandet
Robotarna blir tilldelade rosa respektive blå ”armband” beroende på
lagtillhörighet. Notera det blå bandet i Figur 2. För det andra laget är just detta
band rosa. För varje match befinner sig 3 stycken Nao-‐robotar på plan som
spelare. SPL är alltså en tre-‐manna sport.
4. Laget
Laget heter som bekant rUNSWift och tog silver i 2010 års final av SPL. 4 Video
från tävlingen kan även hittas på YouTube.5 Laget vann däremot tävlingen
”Technical challenge”. Technical challenge (alt. Sv: tekniska utmaningen) testar
en robots förmåga till tre olika, tekniskt utmanande, företeelser. Dessa är som
följande; passning, dribbling samt en ”öppen utmaning”.6 Den öppna utmaningen
kräver att laget gjort något tillräckligt avancerat som imponerar på domarna.
Laget representerar ”The University of New South Wales” från Sydney, Australien,
och består till större delen av studenter.
4 http://www.robocup2010.org/home_Results.php 5 http://www.youtube.com/watch?v=z5-‐11Awt0Rw 6 http://www.tzi.de/spl/pub/Website/Downloads/Challenges2010.pdf
Martin Krampell Linköpings Universitet markr644 729G11
7
5. Perception
Det första och kanske viktigaste roboten måste göra för att kunna spela fotboll är
att skapa sig en uppfattnings av världen. Den kan göra det på många olika sätt,
dock är synen kanske det viktigaste verktyget i robotens arsenal. Men då världen
endast är partiellt observerbar samt oerhört dynamisk så måste roboten
använda sig av oerhört smarta funktioner för att lyckas uppfatta omgivningen.
Roboten måste också använda andra funktioner än synen för att bilda en så
korrekt världsuppfattning som möjligt. Detta kan vara allt från gyroskop och
accelerometrar till motoriska sensorer. Men låt oss börja med att undersöka
synen.
5.1 Syn
Roboten har till sitt förfogande två kameror (920p) monterade i huvudet som är
kapabla att filma i upp till 30 bildrutor i sekunden. Nedan beskrivs hur roboten
använder sin syn för att hitta och identifiera objekten på plan. Den
implementerade metoden visade sig vara oerhört robust i olika ljusförhållanden
vilket lönade sig då ljusförhållandena skiljde sig drastiskt under tävlingarna från
hur det hade varit i lagets egna lokaler.
Robotens syn kan delas in i följande moduler: objekt-‐, robot-‐, boll-‐ samt mål-‐
identifikation och förklaras i detalj nedan.
5.1.1 Objektidentifikation
Denna process börjar med att identifiera planens kant. Detta görs med hjälp av
ett färghistogram som markerar ut alla punkter där den gröna planen övergår i
en annan färg – vilket då potentiellt indikerar en plan-‐kant. En algoritm
(RANSAC) används sedan för att avgöra var det är mest sannolikt att kanten går.
RANSAC, eller ”RANdom SAmple Consensus”, fungerar på så vis att den jämför
varje punkt mot en förväntad modell (i vårt fall en rak linje) och om tillräckligt
många punkter uppfyller kriteriet för tangering så har vi hittat vår kantlinje.
Pseudokod kan beskådas i Bilaga 1 och en djupare genomgång av algoritmen kan
hittas i 5.1.5 RANSAC. Vi kan se i Figur 3 dels punkterna och dels resultatet av
Martin Krampell Linköpings Universitet markr644 729G11
8
algoritmen, som markerat ut var den tror kanten är i form av en linje – vilket
också, i det här fallet, visar sig vara korrekt.
Figur 3. Visar hur kantidentifikationen markerar ut alla punkter för potentiell kant
samt algoritmens resultat av var den tror kanten är.
När kanten är identifierad vet vi att samtliga av de intressanta objekten befinner
sig under kanten, med undantag för målet. Vi kan därför markant minska
bildytan och därmed data-‐bearbetningen genom att ignorera allt ovanför
kantlinjen i de flesta följande analyser. Resterande identifikation utgår därmed
ifrån bildrutan under kanten vilket gör kantidentifikationen till den viktigaste
visuella identifikationen. Undantaget är mål-‐identifikationen som utgår ifrån
bild-‐delen ovanför plankanten, men drar även nytta av kantidentifikationen då
den endast behöver använda bildrutan ovanför plan-‐kanten.
Vidare används en funktion som identifierar samtliga områden av intresse i
bilden. Funktionen använder sedan färgen på dessa objekt för att avgöra vad det
sannolikast är för typ av objekt området innehåller. Figur 4 visar hur det här kan
se ut. De identifierade objekten skickas därefter vidare till respektive
identifikations-‐funktion. Ett objekt som sannolikt är en boll skickas således
Martin Krampell Linköpings Universitet markr644 729G11
9
vidare till bollidentifikation för vidare bearbetning. Det är den processen som
fastställer om det verkligen är en boll roboten ser. Samma gäller för de andra
objekten. Frågan vi kan ställa oss då är hur vi kan fastställa om ett objekt
verkligen är det som det antas vara.
Figur 4. Visar identifikationen av objekt på plan. Notera att identifikation inte
gjorts ovanför plan-‐kanten.
5.1.2 Robotidentifikation
Robotidentifikationen baseras på att bilden av den potentiella roboten genomgår
en rad ”sanity checks”. Dessa är exempelvis att objektet överstiger ett
tröskelvärde eller erhåller den rätta robot-‐formen. En vertikal linje kan ibland
identifieras som potentiell robot, men klarar inte kravet för dimensions-‐
förhållandet. Detta krav baseras på att ett objekt måste behålla ett visst
förhållande mellan längd och bredd. En linje är inte tillräckligt bred för att klara
av just det kravet och sorteras därför ut i det här steget – lämpligt nog.
Har ett objekt identifierats som en robot så behöver processen därefter
bestämma robotens lagtillhörighet. Den gör detta genom att se till färg-‐bandet
runt robotens midja. Färgen roboten ser jämförs med de två förbestämda lag-‐
färgerna (som finns fördefinierade i robotens system). Då ljusförhållandena kan
skilja sig drastiskt väljs det lag ut som färgen mest representerade.
Martin Krampell Linköpings Universitet markr644 729G11
10
5.1.3 Bollidentifikation
Det kanske viktigaste objektet att identifiera är bollen. Då hela fotbolls-‐spelandet
utgår från detta objekt så är det vitalt att roboten med så stor exakthet som
möjligt kan avgöra vilket objekt som är bollen. Den gör detta genom att göra en
rad tester på de identifierade objekt som tros vara en boll, antaget att det finns
några sådana.
Dessa tester bygger på att man kan identifiera kant-‐punkter på objektet och
sedan se om dessa resulterar i ett cirkelformat objekt. Vidare körs flera ”sanity
checks” på objektet för att säkerställa att det är en boll. Dessa är exempelvis om
bollen överstiger tröskelvärdet för den tillåtna storleken eller om bollens
centrumpunkt befinner sig ovanför kantlinjen – vilket, för båda av fallen, en boll
givetvis inte får göra.
Även om bollen har en, i sammanhanget, unik färg (jämfört med de andra
objekten på plan) så behöver bolligenkänningen göra dessa specifika tester.
Anledningen till detta är att objekt som inte är bollar trotts allt identifieras som
potentiella bollar och måste elimineras på något sätt. Laget insåg tidigt behovet
av rigorösa tester då de rosa lag-‐banden relativt ofta identifierades som
potentiella bollar och skapade märkliga effekter.
5.1.4 Målidentifikation
Precis som med de andra identifikationsprocesserna genomgår potentiella mål
en rad ”sanity checks” såsom att ribban befinner sig rimligt ovanför kantlinjen
samt att förhållandet mellan höjd och bredd stämmer. Utöver det så bestäms
måltillhörigheten baseras på färgen av målet. Målidentifikation görs på bildrutan
ovanför kantlinjen.
5.1.5 RANSAC
Låt oss reda ut varför RANdom SAmple Consensus, eller RANSAC, är metoden
som används för att lösa det aktuella problemet, nämligen att identifiera en linje
från våra punkter – punkter som illustrerar en övergång från det gröna fältet till
något annat. En vanlig metod att använda i denna typ av problem är Minsta
Martin Krampell Linköpings Universitet markr644 729G11
11
KvadratMetoden, hädanefter MKM. MKM minimerar kvadratsumman av
avstånden mellan samtliga punkter och modellen man försöker skapa och kan på
så sätt lista ut vilken modell som passar datan bäst. Låt oss gå igenom hur
RANSAC fungerar innan vi begrundar varför just den och inte MKM används.
RANSAC är en iterativ metod som provar sig fram och jämför sina resultat mot
ett tidigare bästa för att till slut returnera den bästa modellen den fann, om den
nu fann något. Algoritmen itererar k antal gånger och har inget hittats så går den
vidare (returnerar nil) och antar att det inte finns någon linje i synfältet. RANSAC
använder sig till skillnad från MKM bara av ett litet urval, n antal, punkter vid
modellskapandet. Detta modellskapande kan exempelvis göras med hjälp av
MKM. Dessa punkter slumpas fram från den tillgängliga datan och görs på nytt
för varje iteration algoritmen körs igenom. Modellen som skapas utifrån de
slumpade punkterna används i testningen av resterande punkter. Matchar
tillräckligt många punkter, d antal, av de resterande punkterna modellen med ett
acceptabelt avstånd, t, så sparas modellen. För varje iteration jämförs de olika
modellerna och om algoritmen hittar en bättre lösning ersätts den tidigare
sparade. Returneringen sker därför inte förrän efter att samtliga iterationer
genomförts.
Vi vet att roboten har en begränsad beräkningskapacitet och att vi helst vill ha så
effektiva algoritmer som möjligt. Vi kan också se att RANSAC är k antal gånger så
beräkningskrävande som MKM. Vad finns det då för vinning med att använda
RANSAC istället för MKM?
Antag att brus i bilden skapar en grupp punkter som sitter tätt tillsammans
utanför den verkliga linjen. Se Figur 3 för exempel på detta. Vi kan benämna
denna typ av problem som ”worst case”. MKM skulle då föröka använda dessa
punkter som en del av den resulterande linjen, vilket kunde vara fel. Genom att
slumpmässigt plocka ut en liten delmängd av punkter, minskar man påverkan av
sådana grupper av bruspunkter då den resulterande linjen beräknas. Denna
slumpmässiga delmängd kan vara effektiv då vi vet att majoriteten av våra
Martin Krampell Linköpings Universitet markr644 729G11
12
punkter borde ligga på linjen vi försöker identifiera. RANSAC används
förmodligen för att gardera sig mot ”worst case” situationer och att på så vis få ut
ett så exakt resultat som möjligt – även om det kräver lite mer beräkning. Ett
”best case” skulle vara en situation där samtliga identifierade punkter ligger
exakt där de borde – i vårt fall att punkterna följer en rak linje längs kanten.
RANSAC är i ett ”best case” k gånger sämre än MKM, beräkningsmässigt, men då
man nästan aldrig utgår från en sådan situation så väljs RANSAC som lösningen
på problemet.
5.2 Sensorer
Roboten har utöver syn olika typer av sensorer, bland annat två accelerometrar,
två gyroskop, en sonar, för att bara nämna ett fåtal. Dessa sensorer används för
att bestämma kamerans position relativt roboten. Systemet kan exempelvis veta
om det är dess egna kroppsdelar som synd i kamerabild och därigenom
exkludera de delarna ur analysmaterialet. Skulle den inte kunnat göra detta så
skulle det kunna skapas märkliga identifikationer av objekt som befinner sig
direkt framför roboten – objekt som inte går att springa ifrån. Onekligen ett
handikappande attribut – tur det inte finns.
6. Positionering
Roboten har nu identifierat samtliga objekt i sin periferi, men den vet
fortfarande inte var den befinner sig i förhållande till objekten i fråga. Det är
därför dags att beräkna var den befinner sig.
I grunden gör roboten en s.k. ”död räkning”, alltså den beräknar sin position med
hjälp av sin relativa förflyttning med riktning och avstånd. Denna position kan vi
att kalla den estimerade positionen. Roboten har i sitt interntillstånd en räknare
som håller koll på vart den borde befinna sig baserat på antalet tagna steg samt i
vilken riktning dessa steg togs. Denna metod är inte helt optimal och behöver
därför feedback från sina percept för att kunna uppdatera sitt interntillstånd.
Martin Krampell Linköpings Universitet markr644 729G11
13
Figur 5. Visar hur positionering fungerar när vi bara ser en stolpe. Den svarta pilen
visar hur vi räknar ut vår nya position genom att använda vår estimerade position.
Roboten har en rad olika metoder i sin arsenal för att kunna räkna ut sin position
givet visuell data. Dessa metoder är skapade för separata situationer och vilken
som används baseras på vad roboten ser. Ser roboten i sin periferi exempelvis
bara en stolpe kan den teoretiskt sett befinna sig var som helst på en cirkel med
centrum på stolpen på längden r (radien). Se Figur 5. Vet roboten heller inte
vilken stolpe det är den ser (exempelvis om övre delen av stolpen/ribban är
gömd) så kan den befinna sig på längden r runt två cirklar, en runt varje stolpe.
Vi måste i det fallet använda tidigare estimerad positioneringsdata för att avgöra
vilken stolpe det är som vi tror att vi ser. När detta fastslagit kan vi gå vidare.
Vi kan i det här fallet beräkna vår riktiga position genom att använda den
estimerade positionen och dra en linje till den närmast möjliga observerade
punkten. Se Figur 5. Vi antar på så vis den minsta felmarginalen i vår estimerade
position samtidigt som vi skapar en så exakt ny positionering vi bara kan. Vi får
nöja oss med en sådan position tills vi vid ett senare tillfälle kan skapa oss en
mer exakt positionering.
Martin Krampell Linköpings Universitet markr644 729G11
14
Roboten har till sitt förfogande en mängd olika funktioner som kan användas i
praktiskt taget alla möjliga situationer för att beräkna sin position. Detta kan
vara allt från triangulering till linje-‐matchning. Den kan alltså använda sig av två
målstolpar och avståndet till en av dessa för att triangulera sin position
respektive matcha de linjerna den ser mot en intern representation av planen för
att på så vis räkna ut var den borde befinna sig.
7. Kommunikation
Kommunikation sägs vara en av de viktigaste aspekterna i den s.k. riktiga
fotbollen och vi kan lätt anta att samma sak gäller för våra kära robotar.
Robotarna är alltid uppkopplade trådlöst mot ett närverk där de kan dela
information mellan sina lagkamrater. Robotarna kan berätta för sina
lagkamrater dels var de själva befinner sig, men även var exempelvis bollen och
motspelare befinner sig.
Det trådlösa nätverket används inte bara för kommunikation robotarna emellan,
den används dessutom för att skicka ut taktiker och liknande från huvuddatorn.
Detta gör att robotarna tillsammans skapar en typ av ”hive-‐mind” som i sig självt
kan se en betydligt större del än en enskild robot skulle kunnat göra.
8. Beteende
Nu har robotarna sett och uppfattat situationen runt sig och det är dags att agera
utifrån detta på ett fördelaktigt sätt. Robotarna kan utföra en del olika basala
handlingar; såsom att gå, sparka (bollen) samt göra inkast. Dessa utförs i
lämpliga tillfällen. Målvakten kan även ”kasta sig” genom att lägga sig i vägen för
bollen.
Om målvakten har kastat sig, eller en spelare ramlat för den sakens skull, så
måste roboten kunna resa sig upp. Om den genom sina gyroskop känner att den
ligger ner kommer den att försöka resa sig upp genom en tidigare preciserad
Martin Krampell Linköpings Universitet markr644 729G11
15
serie med rörelser. Utöver dessa basala handlingar kan även spelarna anta olika
roller som dikterar vilka typer av handlingar som kommer att utföras.
8.1 Olika roller
Den kanske viktigaste rollen är målvakten, då denne är det sista som står mellan
motståndarlaget och målet. Målvakten är den enda spelaren som är fast med sin
position – den kan alltså inte byta och bli utespelare. Målvakten kommer att
försöka placera sig mellan bollen och målets mitt (enligt en tänkt tangerande
linje), där den kan täcka bäst samtidigt som den kan se hela planen. Då den har
konstant uppsikt över planen kan den även sända ut bollens position till de
andra i laget. Målvakten kan då den tror att ett skott skjutits mot mål dessutom
försöka rädda genom att lägga sig i vägen för bollen – eller ”kasta sig” som man
säger i fotbollsvärlden.
De två andra spelarna i laget kan anta rollen som antingen anfallare eller
understödjare. Vilken av robotarna som får vilken roll beror på vilken som
befinner sig i det mest fördelaktigaste läget i förhållande till bollen. En heuristik
med bollavstånd och rotationsvinkel används för att avgöra vilken som blir vad.
Rotationsvinkeln avser den grad som en robot är vinklad mot motståndarnas
mål – ryggen mot sitt egna mål är mest fördelaktigt.
Rollerna ändras kontinuerligt då bollen befinner sig bättre i fördel för olika
spelare i varje instans. Dock implementerade laget en viss mån av säkerhet så
dessa byten av roller inte skulle ske alltför lätt. Då avståndsbedömningen inte är
hundraprocentig implementerades detta för att byten av roller inte skulle kunna
ske baserat på fel-‐mätningar. Kan ingen signifikant skillnad i avstånd till bollen
mätas robotarna emellan ges anfallar-‐rollen till båda robotarna – till dess att
avståndet till bollen förminskats tillräckligt så en eventuell skillnad i avstånd går
att räkna ut och inte längre är marginell.
Anfallaren kan spela både defensivt och offensivt. Bollen kan sparkas iväg från
den egna planhalvan om risken bedöms hög. Vidare kan den välja att skjuta eller
dribbla in bollen i mål. Understödjarens roll är att hålla sig lite i bakgrunden och
Martin Krampell Linköpings Universitet markr644 729G11
16
därigenom inte hindra anfallaren. Den ska också försöka hålla koll på bollen samt
hålla sig vänd den ifall anfallaren skulle tappa bort den (Det händer väldigt ofta,
dessvärre).
9. Diskussion
RoboCup är sannerligen ett intressant forskningsområde som kommer se stora
framsteg i framtiden. Jag är imponerad över hur mycket arbete som krävs för
något om kan verka så trivialt – att sparka en boll – faktiskt kan vara så svårt. Jag
som dessutom kan tycka det är kul att titta på ”vanlig” fotboll ser en stor charm i
robotfotboll och kan förstå att det är och kan bli en ännu större åskådarsport.
Genom att studera rUNSWifts bidrag har jag fått en djupare förståelse för hur en
fotbollsspelande robot skulle kunna utformas – och hur morgondagens robot-‐
sport kan se ut.
Jag tror personligen att vi mycket väl kan få se robot-‐människa fotboll år 2050.
Den nuvarande fotbollen, om man kan kalla det det, som utövas inom RoboCup
kan verka nedslående för sannolikheten för att en sådan turnering skulle ske
inom en sådan snar framtid. Om än intelligent, så ingenting i närheten av vad
som faktiskt krävs av en s.k. agent för att kunna spela fotboll mot en människa.
Jag hävdar däremot att de fysiska förutsättningarna ännu inte är rätt. Det är inte
den mentala kompetensen hos personerna som bygger de nuvarande agenterna
som begränsar, snarare deras val av metoder. När ett system byggs upp görs
detta nästan uteslutande manuellt och systemet måste till stora delar hård-‐kodas
och specificeras i förväg. Då fotbollsspelande är en så pass avancerad procedur
så krävs det mer än if-‐ och else-‐satser för att roboten ska klara av det bra. Skulle
man istället förlita sig mer på exempelvis maskininlärning och agenter som
själva kan förbättra sina system så skulle detta resultera i betydligt bättre
fotbollsspelare7. Problematiken som uppstår blir då den oerhörda processorkraft
som krävs för att detta skulle gå att genomföra.
7 http://www.comp.leeds.ac.uk/mscproj/reports/0304/duong.pdf.gz
Martin Krampell Linköpings Universitet markr644 729G11
17
Vi kan med Moore’s lag8 estimera att vi år 2050 kommer ha en processorkraft
som är upp emot en miljon gånger snabbare än den idag. Visserligen har vi på
senare tid nått den magiska gränsen där våra transistorer inte kan bli mycket
mindre och att Moore’s lag därför skulle kunna upphöra att gälla. Oavsett
resultat så kan vi med säkerhet säga att vi kommer att ha tillräckligt med
beräkningskapacitet i framtiden. Med denna enorma ökning av processorkraft
blir det därför mer och mer aktuellt att använda sig av spännande metoder
såsom maskininlärning och genetiska algoritmer för att utveckla
fotbollsspelande robotar.
Avslutningsvis kan man säga att RoboCup är ett lärorikt och spännande
forskningsområde som faktiskt kan bidraga till andra delar av vetenskapen – allt
genom att spela lite fotboll. Det är sannerligen något jag personligen kommer
följa lite närmre i framtiden. Den där matchen 2050 kommer för övrigt bli riktigt
spännande, synd bara att man ännu inte kan köpa biljetter.
8 http://en.wikipedia.org/wiki/Moore's_law
Martin Krampell Linköpings Universitet markr644 729G11
18
Referenser
1, http://www.cse.unsw.edu.au/~robocup/2010site/reports/report2010.pdf
2012-‐09
2, http://www.robocup.org/robocup-‐soccer/ 2012-‐09
3, http://www.tzi.de/spl/pub/Website/Downloads/Rules2010.pdf 2012-‐09
4, http://www.robocup2010.org/home_Results.php 2012-‐09
5, http://www.youtube.com/watch?v=z5-‐11Awt0Rw 2012-‐09
6, http://www.tzi.de/spl/pub/Website/Downloads/Challenges2010.pdf 2012-‐
09
7, Tran Duc Duong, Applying mahine learning methods to imporve player’s
behaviours in Robocup soccer simulation, 2003/2004
8, http://en.wikipedia.org/wiki/Moore's_law 2012-‐09
9, Stuart Russel, Peter Norvig, Artificial Intelligence – A Modern Approach, Thrid
Edition, Prentice Hall, 2010