1 / 64

Implementierung einer RoboCup Soccer Server Fußball-Mannschaft

Implementierung einer RoboCup Soccer Server Fußball-Mannschaft. Alexander Bernard Johannes Tuchscherer 17.01.2005. Agenda. Ziele Unsere Mannschaft Fazit und Kritik. Agenda. Ziele Unsere Mannschaft Fazit und Kritik. Ziele.

brody
Download Presentation

Implementierung einer RoboCup Soccer Server Fußball-Mannschaft

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Implementierung einer RoboCup Soccer Server Fußball-Mannschaft Alexander Bernard Johannes Tuchscherer 17.01.2005

  2. Agenda • Ziele • Unsere Mannschaft • Fazit und Kritik

  3. Agenda • Ziele • Unsere Mannschaft • Fazit und Kritik

  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. Agenda • Ziele • Unsere Mannschaft • Fazit und Kritik

  6. Unsere Mannschaft • Entwicklungsumgebung • Herangehensweise • Architektur • Taktik • Beispiele • Verbesserungen

  7. Entwicklungsumgebung • Soccer Server 9.4.5 • SoccerMonitor und SoccerWindow • Eclipse • CVS um parallele und konsistente Programmierung zu ermöglichen • eigene GUI für jeden Agenten

  8. Unsere Mannschaft • Entwicklungsumgebung • Herangehensweise • Architektur • Taktik • Beispiele • Verbesserungen

  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. 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. 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. GUI-Hilfsmittel

  13. Unsere Mannschaft • Entwicklungsumgebung • Herangehensweise • Architektur • Taktik • Module

  14. Sequenzdiagramm

  15. Basis Aktionen • Dash • Turn • Move • Kick • Catch Ball (nur Goalie)

  16. Spezielle Aktionen • Dribbeln • Ball passen • Ball-Annahme • Torschuss • Ball-Einwurf • Eckball • Gehe zur Position

  17. Unsere Mannschaft • Entwicklungsumgebung • Herangehensweise • Architektur • Taktik • Beispiele • Verbesserungen

  18. Taktik • Spielfeld-Einteilung • Kommunikation der Agenten • Pass und Kick-Strategie • Defensiv-Strategie • Alternativ - Mannschaft

  19. Spielfeld-Einteilung • Mannschaftsaufstellung: • 3 Stürmer • 4 Mittelfeldspieler • 3 Verteidiger • 1 Torwart • Einteilung des Spielfelds in Zuständigkeitsbereiche • Jeder Spieler besitzt • Startposition • Standardposition

  20. Spielfeld-Einteilung

  21. Spielfeld-Einteilung

  22. Spielfeld-Einteilung

  23. Spielfeld-Einteilung

  24. Spielfeld-Einteilung

  25. Taktik • Spielfeld-Einteilung • Kommunikation der Agenten • Pass und Kick-Strategie • Defensiv-Strategie • Alternativ - Mannschaft

  26. 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

  27. Taktik • Spielfeld-Einteilung • Kommunikation der Agenten • Pass und Kick-Strategie • Defensiv-Strategie • Alternativ - Mannschaft

  28. 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 4 -23.0 12.7) • Schießt den Ball zum ausgewählten Spieler Schusskraft wird berechnet, so dass der der Ball möglichst zielgenau beim anderen Spieler ankommt

  29. Pass Annahme • Spieler empfängt die say-Message und erkennt darin seine Spieler-Nr.(hear 128.5 our 2 „passball 4 -23.0 12.7“) • 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

  30. 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

  31. Taktik • Spielfeld-Einteilung • Kommunikation der Agenten • Pass und Kick-Strategie • Defensiv-Strategie • Alternativ - Mannschaft

  32. 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

  33. Taktik • Spielfeld-Einteilung • Kommunikation der Agenten • Pass und Kick-Strategie • Defensiv-Strategie • Alternativ - Mannschaft

  34. 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!“

  35. Unsere Mannschaft • Entwicklungsumgebung • Herangehensweise • Architektur • Taktik • Beispiele • Verbesserungen

  36. Beispiele • Orientierung • Dribbeln • Torwart-Verhalten

  37. Orientierung

  38. 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..)

  39. Orientierung – Vorgehen (1/4) • Speicherung der statischen Objekte im Source-Code im Koordinatenformat • Das Koordinatensystem: y (-36.5, 20 ) (36.5, 20 ) (0,0) -x x (-36.5, -20 ) (36.5, -20 ) -y

  40. Orientierung – Vorgehen (2/4) • Berechnen der eigenen Blickrichtung… • an Hand einer Linie • an Hand zweier Punkte (see ((f p r t) 10 42.3) ((f g r b) 24 36.7)…) (see ((l t) 65 45.4)…) (36.5, 20 ) 45.4° TOR 45.4° (52.5, -7.02 )

  41. 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 (36.5, 20 ) (27.9, 3 ) TOR

  42. Orientierung – Vorgehen (4/4) • Berechnen der Entfernung und Richtung zu statischem Objekten • Korrektur der Richtung um eigene Blickrichtung (23.7, 12 ) TOR (52.5, 0 )

  43. 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)

  44. 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)

  45. 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)

  46. 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

  47. Unsere Mannschaft • Entwicklungsumgebung • Herangehensweise • Architektur • Taktik • Beispiele • Verbesserungen

  48. 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

More Related