Vorstellung des Roboterfußball-Teams TORF (Ausarbeitung)
Vorstellung des Roboterfußball-Teams TORF (Vortrag)
1. CARL
Vorstellung des
VON
OSSIETZKY
Roboterfußball-Teams
TORF
Johannes Diemke
Vortrag im Rahmen der Projektgruppe
Oldenburger Robot Soccer Team
im Wintersemester 2009/2010
3. Motivation
Zielsetzung der PG
Verbesserung des bestehenden Roboterfußball-Teams TORF
Umfassende Vorarbeiten
Auszeichnung Beste PG des Jahres“
”
Teilnahme an den RoboCup German Open 2010
Voraussetzung
Kenntnisse unterschiedlicher KI-Techniken
Verst¨ndnis der vorhandenen Architektur und Funktionsweise
a
F¨higkeiten und Restriktionen erkennen
a
Verbesserungspotential erkennen
Johannes Diemke Teamvorstellung TORF 10. November 2009 3/48
4. Motivation
PG TORF - Das alte Team
(Quelle: Projektgruppe TORF)
Johannes Diemke Teamvorstellung TORF 10. November 2009 4/48
5. Vom Computerschach zum Roboterfußball
1950
Claude E. Shannon schl¨gt Automaten vor der Menschen im Schach
a
schl¨gt
a
Fortan Pr¨fstein f¨r neu entwickelte Verfahren
u u
Entstehung leistungsf¨higer Spielstrategien und Suchverfahren
a
1995
Computerschach war bereits kein Pr¨fstein mehr f¨r KI
u u
Roboterfußball wird das neue Standardproblem
1996
Deep Blue gewinnt gegen den Schachweltmeister Garri Kasparov
Johannes Diemke Teamvorstellung TORF 10. November 2009 5/48
6. Vom Computerschach zum Roboterfußball
IBMs Deep Blue vs. Kasparov
(Quellen: http://www.ibm.com/ & http://www.theinsider.com/)
Johannes Diemke Teamvorstellung TORF 10. November 2009 6/48
7. Roboterfußball
Besonderheiten des Roboterfußballs
Herausforderung f¨r Robotik und KI
u
V¨llig andere Aspekte als beim Computerschach
o
Dynamische Umgebung
Unvollst¨ndige Informationen
a
Echtzeitanforderungen
Unvorhersehbare Ereignisse
...
Johannes Diemke Teamvorstellung TORF 10. November 2009 7/48
8. Roboterfußball
Weitere Vorteile des Roboterfußballs
Popul¨re Sportart
a
Einfaches und bekanntes Regelwerk
Leistungsf¨higkeit von Verfahren l¨sst sich einfach messen:
a a
Erzielte Tore
Platzierung
Evolution der Verfahren durch Wettk¨mpfe
a
RoboCup
Federation of International Robot-Soccer Association (FIRA)
Johannes Diemke Teamvorstellung TORF 10. November 2009 8/48
9. RoboCup
Die internationale RoboCup-Initiative
Veranstaltet seit 1997 den RoboCup
Roboterfußball Weltmeisterschaft
RoboCup German Open in Deutschland
Verschiedene Ligen:
2D Simulation / 3D Simulation
Small Size
Four Legged (Aibo) / Standard Platform League (Nao)
Humanoid
...
Johannes Diemke Teamvorstellung TORF 10. November 2009 9/48
10. RoboCup
Zielsetzung der RoboCup-Initiative
Bis zum Jahr 2050 den amtierenden menschlichen Weltmeister in
einem gew¨hnlichen Fußballspiel besiegen
o
(Quelle: http://www.welt.de/)
Johannes Diemke Teamvorstellung TORF 10. November 2009 10/48
11. RoboCup
Die 2D-Simulationsliga
Gespielt wird auf RoboCup Soccer Simulator Server
Spieler verbinden sich als Client
¨
Ubernimmt vollst¨ndige Simulation
a
Zwei Teams aus je 11 autonomen Spielern + Coach
Jeder Spieler ist ein autonomer Software-Agent
Agenten nach Russell & Norvig
Definition
Als Agent kann alles angesehen werden, was seine Umwelt durch
Sensoren wahrnimmt und durch Effektoren beeinflusst.
Johannes Diemke Teamvorstellung TORF 10. November 2009 11/48
12. RoboCup
RoboCup Soccer Simulator
Simulator ist gem¨ß Client-Server-Architektur ein Server
a
Angebotener Dienst ist die Simulation:
Verwaltung der Spieler und des Balls
Simulation einfacher Physik
Visuelle und auditive Wahrnehmung
Simulation von Beschr¨nkungen (Verrauschen, partielle
a
Beobachtbarkeit)
Spieler, Coach und Trainer melden sich an
Kommunikation uber S-Expressions
¨
Verwendet wird das UDP/IP-Protokoll
Johannes Diemke Teamvorstellung TORF 10. November 2009 12/48
13. Arbeitsumgebung
Klassifikation der Arbeitsumgebung
Erfolgt nach PEAS-Beschreibung (Russell & Norvig)
Akronym f¨r Performance, Environment, Actuators, Sensors
u
Besteht aus:
Beschreibung der Arbeitsumgebung
Umgebungsklassifikation
Ziel
Dient Ableitung erster Anforderungen an einen Software-Agenten
Johannes Diemke Teamvorstellung TORF 10. November 2009 13/48
14. Arbeitsumgebung
Beschreibung der Arbeitsumgebung
Agententyp Leistungsbe- Umgebung Aktuatoren Sensoren
wertung
Spieler Stabilit¨t, Ge-
a RoboCup Spielerkom- Sehen und
schwindigkeit, Soccer Server mandos (dash, H¨ren
o
kongruentes turn, say, . . . )
Verhalten
Trainer Stabilit¨t, Ge-
a RoboCup change mode, Spielfeld¨ber-
u
schwindigkeit Soccer Server move, start, sicht
(im Trainings- say, . . .
modus)
Coach Stabilit¨t, Ge-
a RoboCup say, look, eyes, Spielfeld¨ber-
u
schwindigkeit Soccer Server team names, sicht
...
(Quelle: Abschlußbericht PG TORF)
Johannes Diemke Teamvorstellung TORF 10. November 2009 14/48
15. Arbeitsumgebung
Umgebungsklassifikation
Anhand folgender Eigenschaften:
Vollst¨ndig vs. teilweise beobachtbar
a
Deterministisch vs. stochastisch
Episodisch vs. sequentiell
Statisch vs. dynamisch
Diskret vs. stetig
Einzelagenten vs. Multiagenten-Umgebung
Erste Schl¨sse bzgl. der Anforderungen
u
Verwaltung eines inneren Zustandes (Weltmodell)
Keine absoluten Aussagen uber Folgezust¨nde (Wahrscheinlichkeiten)
¨ a
Vorausdenken
Ver¨nderung der Umgebung w¨hrend der Entscheidungsfindung
a a
Johannes Diemke Teamvorstellung TORF 10. November 2009 15/48
16. Agenten
Spieler als modellbasierter Reflex-Agent
Teilweise Beobachtbarkeit macht Verwaltung eines Zustandes
notwendig
(Quelle: Russell & Norvig)
Johannes Diemke Teamvorstellung TORF 10. November 2009 16/48
17. Vorarbeiten der PG TORF
Komponentenmodell des Spieler-Agenten
(Quelle: Abschlußbericht PG TORF)
Johannes Diemke Teamvorstellung TORF 10. November 2009 17/48
18. Vorarbeiten der PG TORF
Das Weltmodell
(Quelle: Abschlußbericht PG TORF)
Johannes Diemke Teamvorstellung TORF 10. November 2009 18/48
19. Das Weltmodell
Zweck
Grundlage des Entscheidungsprozesses
Besitzt Ist-Zustand und Dynamikwissen
M¨glichst korrekte Abbildung der Arbeitsumgebung
o
Umgang mit verrauschten Daten
Erfassung von:
Objekten (Spieler, Ball, Flaggen, . . . )
Punktestand und Spielphase
Johannes Diemke Teamvorstellung TORF 10. November 2009 19/48
20. Das Weltmodell
Bestimmung der eigenen Position
Durch Winkel und Entfernungen der Flaggen
Unterscheidung zweier F¨lle (a) und (b)
a
(a) Zwei Flaggen. (b) Eine Flagge.
(Quelle: Abschlußbericht PG TORF)
Johannes Diemke Teamvorstellung TORF 10. November 2009 20/48
21. Das Weltmodell
Bestimmung der eigenen Position (Forts.)
Berechnete Positionen sind verf¨lscht
a
Sensordaten werden k¨nstlich verrauscht
u
(Quelle: Abschlußbericht PG TORF)
Johannes Diemke Teamvorstellung TORF 10. November 2009 21/48
22. Das Weltmodell
Bestimmung der eigenen Position (Forts.)
Verringerung der Verf¨lschung:
a
Bildung von Flaggenpaaren
Sch¨tzung durch das [sic] Kalman-Filter
a
Sind keine Flaggen sichtbar:
Bestimmung uber Dynamik des Kalman-Filters
¨
Johannes Diemke Teamvorstellung TORF 10. November 2009 22/48
23. Das Weltmodell
Grafische Darstellung des Weltmodells
(Quelle: Abschlußbericht PG TORF)
Johannes Diemke Teamvorstellung TORF 10. November 2009 23/48
24. Vorarbeiten der PG TORF
Der Planer
(Quelle: Abschlußbericht PG TORF)
Johannes Diemke Teamvorstellung TORF 10. November 2009 24/48
25. Der Planer
Zweck
Umsetzung des Entscheidungsprozesses
Festlegen der Strategie und das Starten der Skills
Hierarchischer Planer
Ben¨tigt Planerdatenbank mit Dom¨nenwissen
o a
Zugriff auf das Weltmodell uber Literale
¨
Unterst¨tzung von Team-Skills
u
Johannes Diemke Teamvorstellung TORF 10. November 2009 25/48
26. Der Planer
Die Planer-Architektur
Messages
Com
start Skill state (via literals)
Planner
Worldmodel
push /
status select method
pop
play soccer
free kick offensiv
defensive normal play
set piece
Database
offensiv
play soccer Stack
(Quelle: Abschlußbericht PG TORF)
Johannes Diemke Teamvorstellung TORF 10. November 2009 26/48
27. Der Planer
Auschnitt der Planerdatenbank
BallPossessionHandling
NearestToBall Negation of (NearestToBall)
kick2GoalComplex NearestToBall Do Positioning, Offensive lookAround Negation of (NearestToBall)
DoPositioningSkillParam LookAroundSkillParam
NearestToBall
intercept kickToGoal NearestToBall
InterceptSkillParam Kick2PosSkillParam
(Quelle: Abschlußbericht PG TORF)
Johannes Diemke Teamvorstellung TORF 10. November 2009 27/48
28. Vorarbeiten der PG TORF
Skills
(Quelle: Abschlußbericht PG TORF)
Johannes Diemke Teamvorstellung TORF 10. November 2009 28/48
29. Skills
Zweck
Realisierung grundlegender Fertigkeiten
Verwaltung durch Skill-Manager
Unterscheidung von zwei Arten
Primitive Skills (kapseln S-Expressions)
Komplexe Skills
H¨ndische Implementierung nicht trivial
a
Einsatz von Lernverfahren bietet sich an
Johannes Diemke Teamvorstellung TORF 10. November 2009 29/48
30. Skills
Hierarchische Struktur der Skills
package Data[ PlayerSkills]
Player
Skills
receivePass dribble doPass doPositioning
doKickOffFormatio
CatchComplex
findObjec
kick2Pos
stopBall ProbabilisticGoalie
TurnHeadComplex
intercept
go2Pos
lookAround
followPath goalie
teleport2Pos
say kick dash catch turnBody changeView turnHead move
(Quelle: Abschlußbericht PG TORF)
Johannes Diemke Teamvorstellung TORF 10. November 2009 30/48
31. Skills
Aktivit¨tsdiagramm f¨r den Go2Pos-Skill
a u
(Quelle: Abschlußbericht PG TORF)
Johannes Diemke Teamvorstellung TORF 10. November 2009 31/48
32. Vorarbeiten der PG TORF
Kommunikation
(Quelle: Abschlußbericht PG TORF)
Johannes Diemke Teamvorstellung TORF 10. November 2009 32/48
33. Kommunikation
Zweck
Absprachen zwischen Spieler-Agenten (Taktiken auf Teamebene)
Beispiel: Passspiel
Spieler-Agent empf¨ngt nicht jede Nachricht:
a
Maximale Entfernung
eingeschr¨nkte Nachrichtenl¨nge
a a
Vorgegebenes Alphabet Σ
Erste Nachricht je Simulations-Zyklus
Johannes Diemke Teamvorstellung TORF 10. November 2009 33/48
34. Kommunikation
Implementiertes Verfahren
Einteilung in Cluster mit je einem Router
Verwendung von Zeitmultiplexing (Vermeiden von Kollisionen)
Problem
Derzeit nicht vollst¨ndig funktionsf¨hig
a a
Aufgabe
Protokoll auf Korrektheit pr¨fen
u
Gegebenenfalls Alternativen entwerfen
Johannes Diemke Teamvorstellung TORF 10. November 2009 34/48
35. Trainer- und Coach-Framework
Aufbau
Trainer und Coach sind eine Applikation
Gemeinsamkeiten:
Message-Broker
Weltmodell
Controller
Trainer
Nach Sternarchitektur aufgebaut
Trainiert Spieler
Austauschbare Lerntechniken (KI-Module)
Laden von Spielsituationen im XML-Format
Johannes Diemke Teamvorstellung TORF 10. November 2009 35/48
37. Trainer- und Coach-Framework
Gemeinsame Architektur von Trainer und Coach
Architektur des Trainer-Agenten
BasicCoach
RCSS-Server WorldModel
Controller
Message-
Broker
Trainer-Agent Coach-Agent
Learning-
XML-Situation Player-Types …
Technique
Spieler-Agent
Trainee/LT Datenfluss
Vererbung
(Quelle: Abschlußbericht PG TORF)
-- Projektgruppe TORF – Universität Oldenburg • Fakultät II • Department für Informatik • Abteilung LLS /
Johannes Diemke Teamvorstellung TORF 10. November 2009 37/48
38. Trainer- und Coach-Framework
activity Trainer[ Trainer ]
Ablauf einer Trainingssession und des Trainings
Bei LT
MB verbinden WM verbinden LT laden init LT
registrieren
Clients Training Genug Clients Client Auf Clients
verabschieden durchführen aufnehmen lauschen
Lernergebnisse zu wenig Clients
speichern
LT abmelden
aufräumen
activity Trainer[ Training durchführen ]
Lerntechnik Instruktionen Spieler Ergebnisse von
starten an Spieler senden beobachten Spieler empfangen
Training nicht beendet
Training beendet Ergebnisse
auswerten
(Quelle: Abschlußbericht PG TORF)
Johannes Diemke Teamvorstellung TORF 10. November 2009 38/48
39. Trainer- und Coach-Framework
Coach
Vergibt momentan nur Spielertypen
18 zuf¨llig generierte Spielertypen
a
Werden nach Zufallsprinzip vom RCSS zugewiesen
Coach kann diese neu zuweisen
Data-Mining f¨r optimale Heuristik (LogfileAnalysis)
u
Johannes Diemke Teamvorstellung TORF 10. November 2009 39/48
40. Hilfsprogramme
TORF Strategy Tool
Manuelle Erstellung der Planderdatenbank zu aufw¨ndig
a
Boost-Serialisierung (Metadaten)
Umfang des Dom¨nenwissens entscheidend
a
Intention
Komfortable Erstellung von Planerdatenbanken
Visuelle Darstellung der Daten
Schnelle Entwicklung mittels der NetBeans Platform 6.1
Anbindung an Planer uber das JNI mittels SWIG
¨
Johannes Diemke Teamvorstellung TORF 10. November 2009 40/48
41. Hilfsprogramme
Hauptfenster des TORF Strategy Tool
(Quelle: Abschlußbericht PG TORF)
Johannes Diemke Teamvorstellung TORF 10. November 2009 41/48
42. Hilfsprogramme
Probleme
Interoperabilit¨t zwischen Java und C++
a
Aus der Verwendung von SWIG resultieren einige Probleme:
Verlust von Polymorphie
Speicherverwaltung (keine Destruktion auf C++-Seite)
...
M¨gliche Probleml¨sung
o o
Entwurfsentscheidungen uberdenken
¨
Johannes Diemke Teamvorstellung TORF 10. November 2009 42/48
43. Hilfsprogramme
LogfileAnalysis
Sammlung von Python-Skripten
Auswertung von Logdateien
Enthalten kompletten Spielverlauf
Offizielle Spiele ab dem Jahr 1997 verf¨gbar
u
Pr¨destiniert f¨r Analysezwecke mittels Data-Mining
a u
Johannes Diemke Teamvorstellung TORF 10. November 2009 43/48
46. Vorarbeiten der PG TORF
Fazit
Umfangreiche Vorarbeiten der PG TORF
Handlungsumgebung sehr komplex
Grobarchitektur ist gute Grundlage f¨r Erweiterungen
u
Leistungspotential des Planers besser aussch¨pfen
o
Fehlendes Dom¨nenwissen
a
Johannes Diemke Teamvorstellung TORF 10. November 2009 46/48
47. Vorarbeiten der PG TORF
Fazit (Forts.)
Weitere Skills implementieren
Nutzen von Lernverfahren
Fertigstellung der Kommunikations-Komponente
Erweitern des Trainer und Coach-Frameworks:
KI-Module
Umfangreichere Unterst¨tzung durch den Coach
u
TORF Strategy Tool
Entwurfsentscheidungen uberdenken
¨
Probleme beseitigen
Johannes Diemke Teamvorstellung TORF 10. November 2009 47/48
48. Literatur
Universit¨t Oldenburg, Projektgruppe TORF
a
Team Oldenburger Robo-Fußball – Abschlussbericht
https://torf.uni-oldenburg.de/
The RoboCup Federation
RoboCup
http://www.robocup.org/
Stuart Russell und Peter Norvig
K¨nstliche Intelligenz: Ein moderner Ansatz
u
http://aima.cs.berkeley.edu/
IBM Corporation
Deep Blue
http://www.ibm.com/
Johannes Diemke Teamvorstellung TORF 10. November 2009 48/48