Mesterséges intelligencia a gyakorlatban: bevezetés a robotfoci programozásba

Bátfai, Norbert

E. adjunktus, DEIK.
Egyetemi adjunktus
Debreceni Egyetem, Informatikai Kar
Információtechnológiai Tanszék


               
               
            

Kömlődi, Ferenc

Szakmai lektor 
monitoring, jövőkutatás
Neumann János Számítógép-tudományi Társaság
Hírmagazin


               
            

tudományos író (science writer)
IDG Hungary Zrt.
Computerworldl


               
            

Szakmai lektor 
orgname
orgdiv


               
            

Novák, Ildikó

Nyelvi lektor  
online magántanár
http://www.angolora.hu
http://www.angolora.hu


               
            

Új Széchenyi Terv logó.

A tananyag a TÁMOP-4.1.2-08/1/A-2009-0046 számú Kelet-magyarországi Informatika Tananyag Tárház projekt keretében készült. A tananyagfejlesztés az Európai Unió támogatásával és az Európai Szociális Alap társfinanszírozásával valósult meg.

Magyarország megújul logó.

A Kelet-magyarországi Informatika Tananyag Tárház projekt logója.

Nemzeti Fejlesztési Ügynökség http://ujszechenyiterv.gov.hu/ 06 40 638-638

Az EU logója.

2011

Verziótörténet
Verzió 0.0.12011. augusztus 22.Bátfai
Elkezdem a jegyzet összeállítását DocBook 4.4 XML-ben: ajánlás, tartalomjegyzék kialakítása.
Verzió 0.0.22011. szeptember 17.Bátfai
Az első kiadás, hogy a jegyzet tudja támogatni a futó Prog2 labort.
Verzió 0.0.32011. szeptember 18.Bátfai
Az Atan alapú részek beillesztése.
Verzió 0.0.42011. szeptember 23.Bátfai
Mottók keresése, beillesztése.
Verzió 0.0.52011. szeptember 25.Bátfai
Az Atan 1.0 alapú részek beillesztése.
Verzió 0.0.62011. szeptember 27.Bátfai
Az Agent2D alapú részek beillesztése.
Verzió 0.0.72011. szeptember 28.Bátfai
Az Atan alapú részek átnézése, zavaróan redundáns forráskódok kivágása.
Verzió 0.0.82011. szeptember 29.Bátfai
További magyarázó ábrák beillesztése.
Verzió 0.0.92011. szeptember 30.Bátfai
Átnézés, apró javítások.
Verzió 0.0.102011. október 1.Bátfai
A bevezető rész preface tagból chapter tagba szervezve.
Verzió 0.0.112011. október 2.Bátfai
Nagy képek felbontásának átskálázása.
Verzió 0.0.122011. október 4.Bátfai
Mighty Magyars FC beillesztése.
Verzió 0.0.132011. október 4.Bátfai
13-as kiadás természetesen nincs.
Verzió 0.0.142011. október 6.Bátfai
Hibajavítás, beillesztett forráskódok gyomlálása.
Verzió 0.0.152011. október 8.Bátfai
Golden Team FC beillesztése.
Verzió 0.0.162011. október 9.Bátfai
Zárszó beillesztése.
Verzió 0.0.172011. október 10.Bátfai
Hibajavítás, kulcsszavak.
Verzió 0.0.182011. október 11.Bátfai
DocBook XML tagokkal a szöveg bőséges annotálása.
Verzió 0.0.192011. október 12.Bátfai
Nyomtatás, átolvasás.
Verzió 0.0.202011. október 14.Bátfai
A tartalom szűkítése, vágása.
Verzió 0.0.212011. október 15.Bátfai
Átolvasás (köszönet érte Bátfai Erikának), hibajavítás.
Verzió 0.0.222011. november 8.Bátfai
Egységesen a 3.0.0-s agent2d-vel lejátszott mérkőzések a fejezetcímek szervezéséhez.
Verzió 0.0.232011. november 9.Bátfai
Egyéb beillesztett teljes szövegek (pom.xml, stdout-os naplók) gyomlálása.
Verzió 0.0.242011. november 10.Bátfai
A PLK, a Prog2 labor labdarúgó-kupa kiírása.
Verzió 0.0.252011. november 10.Bátfai
A jegyzetben tárgyalt források kirakása, ellenőrzése: http://www.inf.unideb.hu/~nbatfai/mircsource/.
Verzió 0.0.262011. november 11.Bátfai
Forráskód csipetek indentálásának ellenőrzése.
Verzió 0.0.272011. november 11.Bátfai
Szerkezet áttekintése, kisebb átcsoportosítások, vagy dokumentumon belüli, ritkábban pedig kimutató hivatkozások beszúrása.
Verzió 0.0.282011. november 12.Bátfai
Átolvasás, ellenőrzés.
Verzió 0.1.02011. november 12.Bátfai
Szakmai lektorálásra előkészítve (ezt követi majd a nyelvi).
Verzió 0.1.12011. november 16.Bátfai
Szerző fotó update.
Verzió 0.1.22011. november 18.Bátfai
Szakmai lektor adatainak beillesztése.
Verzió 0.1.32011. november 20.Bátfai
Irodalomjegyzék átnézése.
Verzió 0.2.02011. november 23.Bátfai
A szakmai lektor véleményének beillesztése.
Verzió 0.3.02011. november 29.Bátfai
A nyelvi lektor javításainak átvezetése és véleményének beillesztése.
Verzió 1.0.02011. december 6.Bátfai
Linkek aktualizálása, a könyv fejlesztésének lezárása.

Ajánlás

A jelen ajánlást a FerSML projektnek címezzük: ha a robotfoci (RoboCup™) utópisztikus célkitűzése az, hogy 2050-re a robot csapat győzze le az igazi (emberi) világbajnok csapatot, akkor a FerSML™ elegánsan utópisztikus céljának választhatjuk, hogy ugyanabban az időben a humán csapatok nemzetei egy FerSML avatár alapú robotot (vagy csak szoftvert) válasszanak szövetségi kapitánnyá.

Tartalom

Előszó
1. Bevezetés
1.1. A RoboCup™ kezdeményezés
1.1.1. A 2D szimulációs liga
1.2. A kapcsolódó szoftverek és dokumentáció bemutatása
1.2.1. RoboCup Soccer Simulator
1.2.2. Agent2D
1.2.3. Atan
1.2.4. Foci gyorstalpaló
1.2.5. A jegyzethez készített saját csapatok letöltése
1.3. A jegyzetről
1.3.1. A jegyzet kurzusai
1.3.2. A FerSML platform
1.3.3. A szerzőről
1.3.4. A lektorokról
I. A 2D szimulációs liga tárgyalása
2. A 2D szimulációs liga
2.1. Az RCSS robotfoci szimulációs szervere
2.1.1. Az RCSS szerver naplózása
2.1.2. Az RCSS futballpálya
2.1.3. Az ágensek kapcsolata a szimulált világgal
2.1.4. A szoftverek telepítése
3. Agent2D
3.1. A szoftverek telepítése
3.1.1. librcsc
3.1.2. soccerwindow2
3.1.3. agent2d
3.1.4. FormationEditor
3.2. A szoftverek tárgyalása
4. Atan
4.1. A szoftver telepítése
4.1.1. A szoftver használata GNU/Linux és Windows környezetben
4.2. A szoftver tárgyalása
4.2.1. Programozási feladatok
5. Atan-1.0
5.1. A szoftver telepítése
5.1.1. A szoftver használata GNU/Linux és Windows környezetben
5.2. A szoftver tárgyalása
II. Saját csapat építése
6. Atan alapú csapatok
6.1. HELIOS_base - Csorda FC, 24:0
6.1.1. A Csorda FC osztályai
6.2. HELIOS_base - Delibáb FC, 20:0
6.2.1. A Delibáb FC osztályai
6.3. HELIOS_base - Kékhalál FC, 10:0
6.3.1. A Kékhalál FC osztályai
6.4. HELIOS_base - Aranycsapat FC, 9:0
6.4.1. Az Aranycsapat FC osztályai
7. Atan 1.0 alapú csapatok
7.1. HELIOS_base - Aranycsapat FC (Atan 1.0), 32:0
7.1.1. Az Aranycsapat FC osztályai
7.1.2. Programozási feladatok
7.2. HELIOS_base - Marvellous Magyars FC, 29:0
7.2.1. A Marvellous Magyars FC állományai és osztályai
7.2.2. Einstein gyorsuló liftjében
7.3. HELIOS_base - Mighty Magyars FC, 36:0
7.3.1. A Mighty Magyars FC osztályai
7.3.2. A Mighty Magyars FC értékelése
7.3.3. Az eddigi fejlesztések módszertana
7.4. HELIOS_base - Golden Team FC, 35:0
7.4.1. A Golden Team FC osztályai
7.4.2. A Golden Team FC 0.0.2 mint multiágens rendszer
7.4.3. Quo vadis Golden Team FC?
7.5. HELIOS_base - Golden Team FC 0.0.2, 34:0
7.5.1. Deliberatív vagy reaktív?
8. Agent2D alapú csapatok
8.1. Az agent2d források tárgyalása, avagy szerelem első látásra
8.1.1. Munkamenet az agent2d forrásokkal
8.1.2. Az agent2d OO struktúrája
Irodalomjegyzék

Az ábrák listája

1.1. Az rcssserver ablaka Windows alól futtatva.
1.2. Az rcssmonitor ablaka Windows alól futtatva.
1.3. A SoccerWindow ablaka Windows alól futtatva.
1.4. A soccerwindow2-ben rcg-ből visszajátszva a 2011-es világbajnokság WrightEagle - HELIOS2011 döntője.
1.5. rcg állomány mentése a SoccerWindow alkalmazással.
1.6. FerSML platformbeli FC Basel - Debrecen szimuláció az Public Resource Football Computing programmal.
1.7. A Public Resource Football Computing program „összes felállás” vizsgálatának kimenete (DW: debreceni, BW: bázeli győzelem, DG: eldöntetlen s a sorokban a másik csapat 5 ugyanilyen felállása szerepel).
1.8. Tudható felállás 12 órával a mérkőzés előtt tudott kezdővel.
1.9. Tudható felállás néhány órával a mérkőzés előtt tudott, valódi kezdő tagokkal.
1.10. Utólagos 4-3-3 felállás.
1.11. A valódi felállás.
2.1. Az 1-es sorszámú ágens a bal oldalon, kirúgás előtt a balhátvéd pozíciójában.
2.2. Az RCSS futballpálya koordináta rendszere.
2.3. A szögek értelmezése az RCSS futballpálya koordináta rendszerében.
2.4. Az RCSS szimulációs ciklus.
2.5. Fej és test egy irányban, az rcssmonitor-ban.
2.6. Fej és test egy irányban, a soccerwindow2-ben.
2.7. Fej 90 fokkal elforgatva, az rcssmonitor-ban.
2.8. Fej 90 fokkal elforgatva, a soccerwindow2-ben.
2.9. Mozgás a pályán.
2.10. A látási információk feldolgozása.
2.11. A robotikával kapcsolatos programok telepítése egy aktuális Fedora 15 disztribúcióban.
2.12. A robotikával kapcsolatos szoftverek finomabb szelekciója egy aktuális Fedora 15 disztribúcióban.
3.1. A HELIOS_base™ és a Marvellous Magyars FC™ farkasszemet néz a soccerwindow2-ben.
4.1. Atan NetBeans projektben.
4.2. Az atan.model.ControllerPlayer.
4.3. Az atan.model.ActionsPlayer.
6.1. HELIOS_base - Csorda FC, 24:0
6.2. A mezőnyjátékosok egyetlen viselkedése: a labda követése.
6.3. A kapus elhagyja a kaput, illetve számos esetben a játékosok a pályát.
6.4. A játékosok elhagyják a játékteret.
6.5. A Délibáb FC négyes számú hatalmas bombája 22-ről.
6.6. Pillanatkép az Atan Sample1 - Atan Sample2 mérkőzésről.
6.7. A 9-es mezt viselő védő egy félidőnyi trajektóriája.
6.8. Az 5-ös mezt viselő középpályás egy félidőnyi trajektóriája.
6.9. A 4-es mezt viselő csatár egy félidőnyi trajektóriája.
6.10. Az Atan-os példa-csapat 11-es mezt viselő játékosának egy félidőnyi trajektóriája.
6.11. A 4-es mezt viselő csatár fut elvégezni a szögletet.
6.12. A w63 csomag osztályainak szervezése.
7.1. A játékos a labdához megy elvégezni a szögletet.
7.2. A játékos a kapu felé fordul a szöglet elvégzése előtt.
7.3. Szerencsés gól szögletből.
7.4. A relatív érző metódusok értelmezése.
7.5. A játékos GPS eszköze.
7.6. A FerSML projekt™ logójának előkészítése.
7.7. Az alternatív helyzetmeghatározás működése
8.1. Az agent2d és a librcsc a Doxygen HTML kimenetének böngészése.
8.2. A rcsc::SoccerAgent osztály leszármazási fája a Doxygen PDF kimenetében.