Simulatie van gedistribueerde voetbalstrategieën Tim Vermeulen Promotor: dr. Katja Verbeeck Copromotoren: ing. Tony Wauters, ing. Koen Vangheluwe, Opdrachtgever: ing. lic. Filiep Vincent Academiejaar
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën1 Overzicht Situering Opdracht Multi-agenten simulatie Opbouw software Strategie Lokale intelligentie Demo Besluiten Uitbreidingen en verbeteringen
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën2 Situering Robocup.be DSP Valley en andere hogescholen Small Size League
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën3 Opdracht Bestuderen en evalueren van andere teams ETDP beste 6 van Small Size RoboCup 2008 Ontwikkelen voetbal simulatie omgeving Multi-agenten systeem: Repast Fysische simulatie: Phys2D Implementeren en testen eigen strategie 2 types strategieën
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën4 Multi-agenten simulatie 2 delen: –De agenten –De omgeving Eenvoudige regels resulteren in een complex gedrag Waarom simulatie? –Hardware –Tijd Een agent is aflijnbaar en autonoom, leeft in een omgeving, kan een doel hebben en kan leren
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën5 Opbouw software
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën6 Opbouw software
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën7 Phys2D (Fysische engine)
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën8 Phys2D (Fysische engine) Eenvoudige strategie: –Bal niet in bezit -> ga naar bal –Bal in bezit -> ga naar doel tegenstander
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën9 Opbouw software
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën10 Repast (Multi-agenten omgeving)
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën11 Opbouw software
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën12 Interface tussen Repast en Phys2D Phys2D AbstractDemo SimulatedInterfaces Repast Glue SoccerDemo World Model Robot Commande r Simulated World Model Simulated Robot Commande r Simulated RefereeBo x BasicAgent Player SoccerDemo Listener RefereeBo x Listener
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën13 Opbouw software
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën14 Skills
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën15 Opbouw software
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën16 Strategie Een speler selecteert zijn uit te voeren skills in een aantal stappen –Updaten van de state –In de huidige state de juiste actie bepalen –De juiste Skills selecteren voor het uitvoeren van de actie
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën17 Strategie Stap 1: updaten van de state
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën18 Update van de state Bijhouden van alle coördinaten niet mogelijk –Continue coördinaten -> oneindig aantal toestanden –Opsplitsen van het veld in aantal delen -> 3x3 delen, 10 spelers: 26miljard toestanden Eigen implementatie op basis van indices –Sorteer de spelers op basis van hun afstand tot een bepaald doelwit (bv.: eigen doel, bal, …) –De dichtste speler krijgt index 0, de volgende 1, … –De combinatie van deze indices vormt de toestand Enkel relevante indices bepalen –Op basis van rol en bal bezit
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën19 Update van de totalState Bijvoorbeeld de totalState horende bij strategie 2 –De Role opvragen –De BallOwningState opvragen –Op basis van de Role en de BallOwningState worden een aantal playerStates bepaald –Deze worden geüpdate
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën20 Strategie Een speler selecteert zijn uit te voeren skill in verschillende stappen Stap 1: updaten van de state Stap 2: Policy: state -> action
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën21 Policy Bepaalt een actie in een bepaalde toestand Een aantal eenvoudige regels –Bij de NewTotalState 224 regels Te wijzigen via de GUI
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën22 Selecteren van de juiste Skills Een speler selecteert zijn uit te voeren skill in verschillende stappen Stap 1: updaten van de state Stap 2: Policy: state -> action Stap 3: action -> Skill
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën23 Lokale intelligentie Bepaald gedrag op de robot zelf regelen –Kleinere reactietijden / minder vertraging –Sensoren op de robots zelf Gedrag dat wij lokaal implementeren: –Vermijden van de randen –Vermijden van botsingen met andere spelers –Vermijden van de bal (als het andere team uitschopt)
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën24 Lokale intelligentie
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën25 Demo
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën26 Besluiten Een simulatie omgeving bestaande uit: –Een fysische simulator –Een multi-agenten systeem Een strategie kan eenvoudig gewijzigd en uitgebreid worden: –Toevoegen en wijzigen van Skills –Toevoegen en wijzigen van PlayerActions –Toevoegen en wijzigen van Rollen
Tim VermeulenSimulatie van gedistribueerde voetbal strategieën27 Uitbreidingen en verbeteringen Skills toevoegen en inhoud van Skills uitbreiden Path planning toevoegen Vertraging, ruis en sampling invoeren