Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seminar: Agenten in simulierten Umgebungen 1 Implementierung einer RoboCup Soccer Server Fußball-Mannschaft Alexander Bernard Johannes Tuchscherer 17.01.2005.

Ähnliche Präsentationen


Präsentation zum Thema: "Seminar: Agenten in simulierten Umgebungen 1 Implementierung einer RoboCup Soccer Server Fußball-Mannschaft Alexander Bernard Johannes Tuchscherer 17.01.2005."—  Präsentation transkript:

1 Seminar: Agenten in simulierten Umgebungen 1 Implementierung einer RoboCup Soccer Server Fußball-Mannschaft Alexander Bernard Johannes Tuchscherer

2 Seminar: Agenten in simulierten Umgebungen 2 Agenda 1.Ziele 2.Unsere Mannschaft 3.Fazit und Kritik

3 Seminar: Agenten in simulierten Umgebungen 3 Agenda 1.Ziele 2.Unsere Mannschaft 3.Fazit und Kritik

4 Seminar: Agenten in simulierten Umgebungen 4 Ziele Hauptziel: Eine funktionierende Mannschaft, die sich intelligent auf dem Spielfeld verhält Einsetzen von KI bei der Entscheidungsfindung Übertragung von erfolgreichen Strategien aus dem echten Fußball auf die simulierte Fußball- Mannschaft z.B. Flankenspiel, Abseitsfalle,...

5 Seminar: Agenten in simulierten Umgebungen 5 Agenda 1.Ziele 2.Unsere Mannschaft 3.Fazit und Kritik

6 Seminar: Agenten in simulierten Umgebungen 6 Unsere Mannschaft 1.Entwicklungsumgebung 2.Herangehensweise 3.Architektur 4.Taktik 5.Beispiele 6.Verbesserungen

7 Seminar: Agenten in simulierten Umgebungen 7 Entwicklungsumgebung Soccer Server SoccerMonitor und SoccerWindow Eclipse CVS um parallele und konsistente Programmierung zu ermöglichen eigene GUI für jeden Agenten

8 Seminar: Agenten in simulierten Umgebungen 8 Unsere Mannschaft 1.Entwicklungsumgebung 2.Herangehensweise 3.Architektur 4.Taktik 5.Beispiele 6.Verbesserungen

9 Seminar: Agenten in simulierten Umgebungen 9 Herangehensweise Simple-Client als rudimentäre Grundlage für unsere Mannschaft Verbesserung des Simple Clients: Auswertung aller Events (visual, aural, senseBody,...) Einlesen der Server-Parameter (server.conf) Entwicklung der Spielfeldberechnung Ergebnis: einzelner Agent findet sich in seiner simulierten Umgebung zurecht

10 Seminar: Agenten in simulierten Umgebungen 10 Herangehensweise Mannschaften mit Team-Verhalten Kommunikation zwischen den Spielern Spezielle Methoden (dribbeln, passen, Pass annehmen...) Abstimmen der Aktionen Torwart Standardsituationen (Ecke, Seiteneinwurf) Fehlerbeseitigung und Optimierung

11 Seminar: Agenten in simulierten Umgebungen 11 GUI-Hilfsmittel Entwicklung einer GUI für jeden Agenten nebenbei entwickelt und ständig verbessert Umwelt-Informationen und Informationen zu Aktionen des Agenten werden strukturiert visuell aufbereitet Erleichterung der Entwicklung und Fehlerfindung Entfernen des Spielers vom Spielfeld möglich ohne die GUI zu schließen

12 Seminar: Agenten in simulierten Umgebungen 12 GUI-Hilfsmittel

13 Seminar: Agenten in simulierten Umgebungen 13 Unsere Mannschaft 1.Entwicklungsumgebung 2.Herangehensweise 3.Architektur 4.Taktik 5.Module

14 Seminar: Agenten in simulierten Umgebungen 14

15 Seminar: Agenten in simulierten Umgebungen 15 Sequenzdiagramm

16 Seminar: Agenten in simulierten Umgebungen 16 Basis Aktionen Dash Turn Move Kick Catch Ball (nur Goalie)

17 Seminar: Agenten in simulierten Umgebungen 17 Spezielle Aktionen Dribbeln Ball passen Ball-Annahme Torschuss Ball-Einwurf Eckball Gehe zur Position

18 Seminar: Agenten in simulierten Umgebungen 18 Unsere Mannschaft 1.Entwicklungsumgebung 2.Herangehensweise 3.Architektur 4.Taktik 5.Beispiele 6.Verbesserungen

19 Seminar: Agenten in simulierten Umgebungen 19 Taktik 1.Spielfeld-Einteilung 2.Kommunikation der Agenten 3.Pass und Kick-Strategie 4.Defensiv-Strategie 5.Alternativ - Mannschaft

20 Seminar: Agenten in simulierten Umgebungen 20 Spielfeld-Einteilung Mannschaftsaufstellung: 3 Stürmer 4 Mittelfeldspieler 3 Verteidiger 1 Torwart Einteilung des Spielfelds in Zuständigkeitsbereiche Jeder Spieler besitzt Startposition Standardposition

21 Seminar: Agenten in simulierten Umgebungen 21 Spielfeld-Einteilung

22 Seminar: Agenten in simulierten Umgebungen 22 Spielfeld-Einteilung

23 Seminar: Agenten in simulierten Umgebungen 23 Spielfeld-Einteilung

24 Seminar: Agenten in simulierten Umgebungen 24 Spielfeld-Einteilung

25 Seminar: Agenten in simulierten Umgebungen 25 Spielfeld-Einteilung

26 Seminar: Agenten in simulierten Umgebungen 26 Taktik 1.Spielfeld-Einteilung 2.Kommunikation der Agenten 3.Pass und Kick-Strategie 4.Defensiv-Strategie 5.Alternativ - Mannschaft

27 Seminar: Agenten in simulierten Umgebungen 27 Kommunikation der Agenten Nur der Ball besitzende Spieler spricht Vorteil: Keine Kollisionen von say –Messages In jedem Zyklus kann der Ball-Spieler sprechen Nachteil: Spieler außerhalb der Rufdistanz werden nicht erreicht Verteidigung wird nicht durch einen Spieler (z.B. Torwart) koordiniert

28 Seminar: Agenten in simulierten Umgebungen 28 Taktik 1.Spielfeld-Einteilung 2.Kommunikation der Agenten 3.Pass und Kick-Strategie 4.Defensiv-Strategie 5.Alternativ - Mannschaft

29 Seminar: Agenten in simulierten Umgebungen 29 Passen Ballspieler sucht geeigneten Spieler Geeigneter Spieler? Anzuspielender Spieler muss näher am gegnerischen Tor stehen Kein Rückpass möglich! ein Spieler, der durch keinen Gegenspieler blockiert wird und die geringste Distanz aufweist Ball-Spieler broadcastet say -Message: (say passball ) Schießt den Ball zum ausgewählten Spieler Schusskraft wird berechnet, so dass der der Ball möglichst zielgenau beim anderen Spieler ankommt

30 Seminar: Agenten in simulierten Umgebungen 30 Pass Annahme Spieler empfängt die say -Message und erkennt darin seine Spieler-Nr. (hear our 2 passball ) Spieler dreht sich in die Ruf-Richtung und schaltet seine View auf narrow versucht seine Position so zu korrigieren, dass der Ball frontal auf ihn zukommt. Switch in normalen Modus, wenn … Pass angekommen Pass durch Gegner abgefangen

31 Seminar: Agenten in simulierten Umgebungen 31 Kicken vs. dribbeln Spieler versucht immer einen freien Spieler anzuspielen (aber kein Rückpass!) Wenn kein freier Spieler da ist, dann dribbelt der Spieler Richtung Tor Spieler kann seine Spielfeldzone nicht verlassen am Spielzonenrand kickt er Richtung Tor

32 Seminar: Agenten in simulierten Umgebungen 32 Taktik 1.Spielfeld-Einteilung 2.Kommunikation der Agenten 3.Pass und Kick-Strategie 4.Defensiv-Strategie 5.Alternativ - Mannschaft

33 Seminar: Agenten in simulierten Umgebungen 33 Defensiv-Strategie Raumdeckung statt Manndeckung Jeder Spieler ist für seinen Spielzonenbereich zuständig Spieler geht direkt zum Ball, wenn er in seine Spielzone kommt

34 Seminar: Agenten in simulierten Umgebungen 34 Taktik 1.Spielfeld-Einteilung 2.Kommunikation der Agenten 3.Pass und Kick-Strategie 4.Defensiv-Strategie 5.Alternativ - Mannschaft

35 Seminar: Agenten in simulierten Umgebungen 35 Alternativ - Mannschaft Nur ein Spieler-Typ (und Torwart) Verbesserter Simple-Client Spieler-Verhalten: Finde den Ball Laufe zum Ball Kicke Richtung Tor Erfolgreiche Strategie??? keep it simple and stupid!

36 Seminar: Agenten in simulierten Umgebungen 36 Unsere Mannschaft 1.Entwicklungsumgebung 2.Herangehensweise 3.Architektur 4.Taktik 5.Beispiele 6.Verbesserungen

37 Seminar: Agenten in simulierten Umgebungen 37 Beispiele Orientierung Dribbeln Torwart-Verhalten

38 Seminar: Agenten in simulierten Umgebungen 38 Orientierung

39 Seminar: Agenten in simulierten Umgebungen 39 Orientierung – Wozu überhaupt Für alle Objekte im Sichtradius die wichtigen Daten vom Server (see Time ((ObjektName) Entfernung Richtung) Keine Informationen zu übrigen Punkte Deswegen: Aufwendige Berechnung von Entfernung und Richtung zu Punkten außerhalb des Sichtradiuses Berechnung nur für statische Punkt (z. B. Tor, Ecken, Mittelpunkt..)

40 Seminar: Agenten in simulierten Umgebungen 40

41 Seminar: Agenten in simulierten Umgebungen 41 Orientierung – Vorgehen (1/4) Speicherung der statischen Objekte im Source-Code im Koordinatenformat Das Koordinatensystem: y x -y -x (0,0) (36.5, 20 ) (36.5, -20 )(-36.5, -20 ) (-36.5, 20 )

42 Seminar: Agenten in simulierten Umgebungen 42 Orientierung – Vorgehen (2/4) Berechnen der eigenen Blickrichtung… an Hand zweier Punktean Hand einer Linie (see ((l t) )…) 45.4° TORTOR (see ((f p r t) ) ((f g r b) )…) (36.5, 20 ) (52.5, )

43 Seminar: Agenten in simulierten Umgebungen 43 Orientierung – Vorgehen (3/4) Berechnen der eigenen Position an Hand des nächsten Punktes und der Blickrichtung Beispiel Speicherung der Position als Koordinaten eines Koordinatensystems TORTOR (36.5, 20 ) (27.9, 3 )

44 Seminar: Agenten in simulierten Umgebungen 44 Orientierung – Vorgehen (4/4) Berechnen der Entfernung und Richtung zu statischem Objekten Korrektur der Richtung um eigene Blickrichtung TORTOR (23.7, 12 ) (52.5, 0 )

45 Seminar: Agenten in simulierten Umgebungen 45 Dribbeln (1/3) Wenn Ball außerhalb der Kick-Reichweite: Lauf dem Ball hinterher Sonst Berechne Deine Position im übernächsten Tick (Bewegung durch Trägheit in diesem Tick und Beschleunigung durch Laufen im nächsten Tick) Berechne die Position, zu der der Ball im übernächsten Tick soll (eigene zukünftige Position plus einem Abstand zwischen Spieler und Ball)

46 Seminar: Agenten in simulierten Umgebungen 46 Dribbeln (2/3) Berechne Weg, den der Ball von aktueller zu gewünschter Position zurücklegen muss Berechne Beschleunigung, die Ball braucht um den Weg in zwei Ticks zurückzulegen (Aktueller Geschwindigkeitsvektor und Trägheit wird berücksichtigt)

47 Seminar: Agenten in simulierten Umgebungen 47 Dribbeln (3/3) Berechne Kraft, die eingesetzt werden muss, damit der Ball diese Beschleunigung erhält (Abstand zum Ball, Richtung zum Ball und Server-Variablen gehen ein)

48 Seminar: Agenten in simulierten Umgebungen 48 Torwart-Algorithmus Steht auf gedachter Linie von Tormittelpunkt zu Ball fünf Meter vor dem Tor Läuft aus dem Tor, wenn der Ball in eine festgelegte Zone um das Tor kommt Geht nach erfolgreicher Parade an die Strafraumgrenze und von dort Abschlag mit voller Power in Richtung Mittelpunkt

49 Seminar: Agenten in simulierten Umgebungen 49 Unsere Mannschaft 1.Entwicklungsumgebung 2.Herangehensweise 3.Architektur 4.Taktik 5.Beispiele 6.Verbesserungen

50 Seminar: Agenten in simulierten Umgebungen 50 Verbesserungen Features, die dringend eingebaut werden sollten Weitersagen des Ballbesitzes und der Ballposition Freilaufen und Decken Verbesserung der Mannschaftstaktik Nice-to-have-Liste Angepasstes Angriffs-Verhalten Ausbau der GUI Komplexere Spielzüge Scoring-Modell

51 Seminar: Agenten in simulierten Umgebungen 51 Weitersagen des Ballbesitzes und der Ballposition Wenn ein Spieler in Ballbesitz, dann über say - Kommando allen anderen die Ballposition mitteilen Dadurch enorme Steigerung der Performance der Spielzüge, da an vielen Stellen die Spieler erst nach dem Ball suchen müssen und sie sich auf der Stelle drehen (Leuchtturm-Suche)

52 Seminar: Agenten in simulierten Umgebungen 52 Freilaufen und Decken Freilaufen Wenn eigene Mannschaft im Besitz des Balls, dann von Gegenspielern lösen und zum Passen anbieten Erkennen der relativen Position zum Ball führenden Spieler und der Gegner, die zwischen diesem und einem selbst sind Suchen nach einer Position, zu der der Ball möglichst ungefährlich gespielt werden kann Decken Wenn Gegenmannschaft in Ballbesitz Decken von Gegenspielern, die angepasst werden könnten

53 Seminar: Agenten in simulierten Umgebungen 53 Verbesserung der Mannschaftstaktik Finden einer besseren Spielfeld-Einteilung durch ausgiebiges Testen Verbesserung an der Parameter-Konfiguration Ab wann schießt der Stürmer auf das Tor? Ab welcher Entfernung zum Ball rennt der Spieler nicht mehr mit voller Kraft? Wie weit soll der Torwart vor dem Tor stehen? Um wie viel Grad soll sich ein Spieler drehen, wenn er den Ball nicht sieht?

54 Seminar: Agenten in simulierten Umgebungen 54 Angepasstes Angriffs-Verhalten Rush-Modus bei hohem Rückstand alle Standardpositionen werden in Richtung gegnerisches Tor verlagert Block-Modus bei hoher Führung alle Standardpositionen werden in Richtung eigenes Tor verlagert Verkürzung der Laufwege und Spielerabstände und dadurch bessere Spielzüge möglich

55 Seminar: Agenten in simulierten Umgebungen 55 Ausbau der GUI Eine übergeordnete GUI für die Mannschaft, über die die Spieler-Oberflächen verwaltet werden Auswahl der Mannschaftsaufstellung (Vierer- abwehrkette, Mittelfeld-Raute...) Wiederanmelden der Spieler über die GUI Steuern des Servers über die GUI (z. B. Spiel starten, Fouls simulieren,…)

56 Seminar: Agenten in simulierten Umgebungen 56 Komplexere Spielzüge und Bewegungen Ausdribbeln von Gegenspielern Bei Standardsituation (Ecken, Freistöße) feste, programmierte und optimierte Spielzüge Doppelpass oder Spielzüge über mehrere Stationen

57 Seminar: Agenten in simulierten Umgebungen 57 Scoring-Modell Bewertung von Spielzügen Spielzüge setzen sich aus Spielstationen zusammen Anspielstationen werden besser bewertet, wenn sie oft Teil erfolgreicher Spielzüge waren Anspielstationen werden schlechter bewertet, wenn sie oft Teil erfolgloser Spielzüge waren

58 Seminar: Agenten in simulierten Umgebungen 58 Agenda Einleitung Unsere Mannschaft Fazit und Kritik

59 Seminar: Agenten in simulierten Umgebungen 59 Bewertung Soccerserver +Möglichkeit spielend zu lernen +Guter Einstieg in Themen der KI -Schlecht dokumentiert -Einige ungeklärte Features ( tackle, pointTo ) Berechnungen ( DirectionOfSpeed, DirChg, DisChg ) -Falsche Informationen im Manual -Frusterlebnisse beim Fehlersuchen -Teilweise sehr instabil

60 Seminar: Agenten in simulierten Umgebungen 60 Bewertung der Eigenleistung +Minimal-Ziel erreicht +Konzentration auf Kern-Module (Orientierung) und Entwicklungshilfen (GUI) -Durch inkrementelles Arbeiten sehr unstrukturiert programmiert -Zu wenig Gedanken zu Gesamtplanung und Architektur -Meilensteine oft nicht zum geforderten Termin fertig gestellt

61 Seminar: Agenten in simulierten Umgebungen 61 Fazit Guter Einstieg in das Programmieren von Agenten in simulierten Umgebungen – dies betrifft in diesem Fall Interaktion und Kommunikation Aber auf Grund der Komplexität des Systems kaum Beschäftigung mit den Kernthemen der KI

62 Seminar: Agenten in simulierten Umgebungen 62 Vorletzte Folie Und nicht vergessen Juli 2005: RoboCup in Osaka Juni 2006:RoboCup in Bremen(!)

63 Seminar: Agenten in simulierten Umgebungen 63 Ende Genug der Worte, das Runde muss ins Eckige! Kleines Tunier, drei Mannschaften SteffiBorisTamer vs. AlexHannes_dumm SteffiBorisTamer vs. AlexHannes_nichtGanzSoDumm

64 Seminar: Agenten in simulierten Umgebungen 64 Spielfeld-Berechnung an Hand von Linien (see ((l t) )…) 45.4° (see ((l t) )…) 180°- 45.4° = 134.6° -45.4°


Herunterladen ppt "Seminar: Agenten in simulierten Umgebungen 1 Implementierung einer RoboCup Soccer Server Fußball-Mannschaft Alexander Bernard Johannes Tuchscherer 17.01.2005."

Ähnliche Präsentationen


Google-Anzeigen