48
C A R L V ON O SS I ET Z KY Vorstellung des Roboterfußball-Teams TORF Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010

Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Embed Size (px)

Citation preview

Page 1: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

C A R LV O N

O S S I E T Z K Y

Vorstellung desRoboterfußball-TeamsTORF

Johannes Diemke

Vortrag im Rahmen der ProjektgruppeOldenburger Robot Soccer Teamim Wintersemester 2009/2010

Page 2: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Ubersicht

1 Motivation

2 Grundlagen

3 Vorarbeiten der PG TORF

4 Fazit

Johannes Diemke Teamvorstellung TORF 10. November 2009 2/48

Page 3: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Motivation

Zielsetzung der PGVerbesserung des bestehenden Roboterfußball-Teams TORF

I Umfassende VorarbeitenI Auszeichnung

”Beste PG des Jahres“

Teilnahme an den RoboCup German Open 2010

Voraussetzung

Kenntnisse unterschiedlicher KI-Techniken

Verstandnis der vorhandenen Architektur und Funktionsweise

I Fahigkeiten und Restriktionen erkennenI Verbesserungspotential erkennen

Johannes Diemke Teamvorstellung TORF 10. November 2009 3/48

Page 4: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Motivation

PG TORF - Das alte Team

(Quelle: Projektgruppe TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 4/48

Page 5: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Vom Computerschach zum Roboterfußball

1950

Claude E. Shannon schlagt Automaten vor der Menschen im Schachschlagt

Fortan Prufstein fur neu entwickelte Verfahren

Entstehung leistungsfahiger Spielstrategien und Suchverfahren

1995

Computerschach war bereits kein Prufstein mehr fur KI

Roboterfußball wird das neue Standardproblem

1996

Deep Blue gewinnt gegen den Schachweltmeister Garri Kasparov

Johannes Diemke Teamvorstellung TORF 10. November 2009 5/48

Page 6: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

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

Page 7: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Roboterfußball

Besonderheiten des Roboterfußballs

Herausforderung fur Robotik und KI

Vollig andere Aspekte als beim Computerschach

I Dynamische UmgebungI Unvollstandige InformationenI EchtzeitanforderungenI Unvorhersehbare EreignisseI . . .

Johannes Diemke Teamvorstellung TORF 10. November 2009 7/48

Page 8: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Roboterfußball

Weitere Vorteile des Roboterfußballs

Populare Sportart

Einfaches und bekanntes Regelwerk

Leistungsfahigkeit von Verfahren lasst sich einfach messen:

I Erzielte ToreI Platzierung

Evolution der Verfahren durch Wettkampfe

I RoboCupI Federation of International Robot-Soccer Association (FIRA)

Johannes Diemke Teamvorstellung TORF 10. November 2009 8/48

Page 9: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

RoboCup

Die internationale RoboCup-Initiative

Veranstaltet seit 1997 den RoboCup

Roboterfußball Weltmeisterschaft

RoboCup German Open in Deutschland

Verschiedene Ligen:

I 2D Simulation / 3D SimulationI Small SizeI Four Legged (Aibo) / Standard Platform League (Nao)I HumanoidI . . .

Johannes Diemke Teamvorstellung TORF 10. November 2009 9/48

Page 10: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

RoboCup

Zielsetzung der RoboCup-Initiative

Bis zum Jahr 2050 den amtierenden menschlichen Weltmeister ineinem gewohnlichen Fußballspiel besiegen

(Quelle: http://www.welt.de/)

Johannes Diemke Teamvorstellung TORF 10. November 2009 10/48

Page 11: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

RoboCup

Die 2D-SimulationsligaGespielt wird auf RoboCup Soccer Simulator Server

I Spieler verbinden sich als ClientI Ubernimmt vollstandige Simulation

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 durchSensoren wahrnimmt und durch Effektoren beeinflusst.

Johannes Diemke Teamvorstellung TORF 10. November 2009 11/48

Page 12: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

RoboCup

RoboCup Soccer Simulator

Simulator ist gemaß Client-Server-Architektur ein Server

Angebotener Dienst ist die Simulation:

I Verwaltung der Spieler und des BallsI Simulation einfacher PhysikI Visuelle und auditive WahrnehmungI Simulation von Beschrankungen (Verrauschen, partielle

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

Page 13: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Arbeitsumgebung

Klassifikation der Arbeitsumgebung

Erfolgt nach PEAS-Beschreibung (Russell & Norvig)

Akronym fur Performance, Environment, Actuators, Sensors

Besteht aus:

I Beschreibung der ArbeitsumgebungI Umgebungsklassifikation

Ziel

Dient Ableitung erster Anforderungen an einen Software-Agenten

Johannes Diemke Teamvorstellung TORF 10. November 2009 13/48

Page 14: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Arbeitsumgebung

Beschreibung der Arbeitsumgebung

Agententyp Leistungsbe-wertung

Umgebung Aktuatoren Sensoren

Spieler Stabilitat, Ge-schwindigkeit,kongruentesVerhalten

RoboCupSoccer Server

Spielerkom-mandos (dash,turn, say, . . . )

Sehen undHoren

Trainer Stabilitat, Ge-schwindigkeit

RoboCupSoccer Server(im Trainings-modus)

change mode,move, start,say, . . .

Spielfelduber-sicht

Coach Stabilitat, Ge-schwindigkeit

RoboCupSoccer Server

say, look, eyes,team names,. . .

Spielfelduber-sicht

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 14/48

Page 15: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Arbeitsumgebung

UmgebungsklassifikationAnhand folgender Eigenschaften:

I Vollstandig vs. teilweise beobachtbarI Deterministisch vs. stochastischI Episodisch vs. sequentiellI Statisch vs. dynamischI Diskret vs. stetigI Einzelagenten vs. Multiagenten-Umgebung

Erste Schlusse bzgl. der Anforderungen

I Verwaltung eines inneren Zustandes (Weltmodell)I Keine absoluten Aussagen uber Folgezustande (Wahrscheinlichkeiten)I VorausdenkenI Veranderung der Umgebung wahrend der Entscheidungsfindung

Johannes Diemke Teamvorstellung TORF 10. November 2009 15/48

Page 16: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Agenten

Spieler als modellbasierter Reflex-Agent

Teilweise Beobachtbarkeit macht Verwaltung eines Zustandesnotwendig

(Quelle: Russell & Norvig)

Johannes Diemke Teamvorstellung TORF 10. November 2009 16/48

Page 17: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Vorarbeiten der PG TORF

Komponentenmodell des Spieler-Agenten

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 17/48

Page 18: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Vorarbeiten der PG TORF

Das Weltmodell

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 18/48

Page 19: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Das Weltmodell

Zweck

Grundlage des Entscheidungsprozesses

Besitzt Ist-Zustand und Dynamikwissen

Moglichst korrekte Abbildung der Arbeitsumgebung

Umgang mit verrauschten Daten

Erfassung von:

I Objekten (Spieler, Ball, Flaggen, . . . )I Punktestand und Spielphase

Johannes Diemke Teamvorstellung TORF 10. November 2009 19/48

Page 20: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Das Weltmodell

Bestimmung der eigenen Position

Durch Winkel und Entfernungen der Flaggen

Unterscheidung zweier Falle (a) und (b)

(a) Zwei Flaggen. (b) Eine Flagge.

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 20/48

Page 21: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Das Weltmodell

Bestimmung der eigenen Position (Forts.)

Berechnete Positionen sind verfalscht

Sensordaten werden kunstlich verrauscht

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 21/48

Page 22: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Das Weltmodell

Bestimmung der eigenen Position (Forts.)Verringerung der Verfalschung:

I Bildung von FlaggenpaarenI Schatzung durch das [sic] Kalman-Filter

Sind keine Flaggen sichtbar:

I Bestimmung uber Dynamik des Kalman-Filters

Johannes Diemke Teamvorstellung TORF 10. November 2009 22/48

Page 23: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Das Weltmodell

Grafische Darstellung des Weltmodells

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 23/48

Page 24: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Vorarbeiten der PG TORF

Der Planer

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 24/48

Page 25: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Der Planer

Zweck

Umsetzung des Entscheidungsprozesses

Festlegen der Strategie und das Starten der Skills

Hierarchischer Planer

Benotigt Planerdatenbank mit Domanenwissen

Zugriff auf das Weltmodell uber Literale

Unterstutzung von Team-Skills

Johannes Diemke Teamvorstellung TORF 10. November 2009 25/48

Page 26: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Der Planer

Die Planer-Architektur

play soccer

offensiv

set piece

free kick

start Skill

Messages

state (via literals)

select methodstatus

push /

pop

play soccer

offensiv

defensive normal play

Planner

Com

Worldmodel

Database

Stack

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 26/48

Page 27: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Der Planer

Auschnitt der Planerdatenbank

BallPossessionHandling

kick2GoalComplex

NearestToBall

Do Positioning, Offensive

DoPositioningSkillParam

lookAround

LookAroundSkillParam

Negation of (NearestToBall)

NearestToBall

intercept

InterceptSkillParam

kickToGoal

Kick2PosSkillParam

NearestToBall

NearestToBall

Negation of (NearestToBall)

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 27/48

Page 28: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Vorarbeiten der PG TORF

Skills

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 28/48

Page 29: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Skills

Zweck

Realisierung grundlegender Fertigkeiten

Verwaltung durch Skill-Manager

Unterscheidung von zwei Arten

I Primitive Skills (kapseln S-Expressions)I Komplexe Skills

Handische Implementierung nicht trivial

Einsatz von Lernverfahren bietet sich an

Johannes Diemke Teamvorstellung TORF 10. November 2009 29/48

Page 30: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Skills

Hierarchische Struktur der Skills

PlayerSkillspackage Data[ ]

doKickOffFormatio

ProbabilisticGoalie

TurnHeadComplex

CatchComplex

doPositioning

PlayerSkills

teleport2Pos

changeView

lookAround

receivePass

findObjec

followPath

turnHead

intercept

turnBody

kick2Pos

stopBall

dribble

go2Pos

doPass

goalie

catch movedashsay kick

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 30/48

Page 31: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Skills

Aktivitatsdiagramm fur den Go2Pos-Skill

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 31/48

Page 32: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Vorarbeiten der PG TORF

Kommunikation

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 32/48

Page 33: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Kommunikation

Zweck

Absprachen zwischen Spieler-Agenten (Taktiken auf Teamebene)

Beispiel: Passspiel

Spieler-Agent empfangt nicht jede Nachricht:

I Maximale EntfernungI eingeschrankte NachrichtenlangeI Vorgegebenes Alphabet ΣI Erste Nachricht je Simulations-Zyklus

Johannes Diemke Teamvorstellung TORF 10. November 2009 33/48

Page 34: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Kommunikation

Implementiertes Verfahren

Einteilung in Cluster mit je einem Router

Verwendung von Zeitmultiplexing (Vermeiden von Kollisionen)

Problem

Derzeit nicht vollstandig funktionsfahig

Aufgabe

Protokoll auf Korrektheit prufen

Gegebenenfalls Alternativen entwerfen

Johannes Diemke Teamvorstellung TORF 10. November 2009 34/48

Page 35: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Trainer- und Coach-Framework

Aufbau

Trainer und Coach sind eine Applikation

Gemeinsamkeiten:

I Message-BrokerI WeltmodellI 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

Page 36: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Trainer- und Coach-Framework

Sternarchitektur des Trainers

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 36/48

Page 37: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Trainer- und Coach-Framework

Gemeinsame Architektur von Trainer und Coach

!""#-$"-!! /!%Projektgruppe TORF – Universität Oldenburg • Fakultät II • Department für Informatik • Abteilung LLS

Architektur des Trainer-Agenten

$#

Trainer-Agent

Spieler-AgentTrainee/LT

Learning-Technique

XML-Situation

Coach-Agent

BasicCoach

RCSS-Server WorldModel

Message-Broker

Controller

Player-Types …

DatenflussVererbung

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 37/48

Page 38: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Trainer- und Coach-Framework

Ablauf einer Trainingssession und des Trainings

MagicDraw UML, 1-1 /Users/stefan/Documents/Studium/7/PG/sprint/20080101/trainer-coach/Trainer.mdzip Trainer 27.02.2008 14:42:08

Academic Use Only

activity Trainer Trainer[ ]

Training

durchführen

Client

aufnehmen

Lernergebnisse

speichern

Clients

verabschieden

WM verbindenMB verbinden

LT abmelden

Bei LT

registrieren

Auf Clients

lauschen

aufräumen

init LTLT laden

zu wenig Clients

Genug Clients

MagicDraw UML, 1-1 /Users/stefan/Documents/Studium/7/PG/sprint/20080101/trainer-coach/Trainer.mdzip Training durchführen 27.02.2008 14:42:08

Academic Use Only

Training durchführenactivity Trainer[ ]

Ergebnisse von

Spieler empfangen

Instruktionen

an Spieler senden

Lerntechnik

starten

Spieler

beobachten

Ergebnisse

auswertenTraining beendet

Training nicht beendet

(Quelle: Abschlußbericht PG TORF)Johannes Diemke Teamvorstellung TORF 10. November 2009 38/48

Page 39: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Trainer- und Coach-Framework

CoachVergibt momentan nur Spielertypen

I 18 zufallig generierte SpielertypenI Werden nach Zufallsprinzip vom RCSS zugewiesenI Coach kann diese neu zuweisenI Data-Mining fur optimale Heuristik (LogfileAnalysis)

Johannes Diemke Teamvorstellung TORF 10. November 2009 39/48

Page 40: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Hilfsprogramme

TORF Strategy ToolManuelle Erstellung der Planderdatenbank zu aufwandig

I Boost-Serialisierung (Metadaten)

Umfang des Domanenwissens entscheidend

Intention

Komfortable Erstellung von Planerdatenbanken

Visuelle Darstellung der Daten

Schnelle Entwicklung mittels der NetBeans Platform 6.1

I Anbindung an Planer uber das JNI mittels SWIG

Johannes Diemke Teamvorstellung TORF 10. November 2009 40/48

Page 41: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Hilfsprogramme

Hauptfenster des TORF Strategy Tool

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 41/48

Page 42: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Hilfsprogramme

Probleme

Interoperabilitat zwischen Java und C++

Aus der Verwendung von SWIG resultieren einige Probleme:

I Verlust von PolymorphieI Speicherverwaltung (keine Destruktion auf C++-Seite)I . . .

Mogliche Problemlosung

Entwurfsentscheidungen uberdenken

Johannes Diemke Teamvorstellung TORF 10. November 2009 42/48

Page 43: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Hilfsprogramme

LogfileAnalysis

Sammlung von Python-Skripten

Auswertung von Logdateien

I Enthalten kompletten Spielverlauf

Offizielle Spiele ab dem Jahr 1997 verfugbar

Pradestiniert fur Analysezwecke mittels Data-Mining

Johannes Diemke Teamvorstellung TORF 10. November 2009 43/48

Page 44: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Hilfsprogramme

Feldabdeckungsanalyse

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 44/48

Page 45: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Hilfsprogramme

Torschussanalyse

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 45/48

Page 46: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Vorarbeiten der PG TORF

Fazit

Umfangreiche Vorarbeiten der PG TORF

Handlungsumgebung sehr komplex

Grobarchitektur ist gute Grundlage fur Erweiterungen

Leistungspotential des Planers besser ausschopfen

I Fehlendes Domanenwissen

Johannes Diemke Teamvorstellung TORF 10. November 2009 46/48

Page 47: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Vorarbeiten der PG TORF

Fazit (Forts.)Weitere Skills implementieren

I Nutzen von Lernverfahren

Fertigstellung der Kommunikations-Komponente

Erweitern des Trainer und Coach-Frameworks:

I KI-ModuleI Umfangreichere Unterstutzung durch den Coach

TORF Strategy Tool

I Entwurfsentscheidungen uberdenkenI Probleme beseitigen

Johannes Diemke Teamvorstellung TORF 10. November 2009 47/48

Page 48: Vorstellung des Roboterfußball-Teams TORF (Vortrag)

Literatur

� Universitat Oldenburg, Projektgruppe TORFTeam Oldenburger Robo-Fußball – Abschlussberichthttps://torf.uni-oldenburg.de/

� The RoboCup FederationRoboCuphttp://www.robocup.org/

� Stuart Russell und Peter NorvigKunstliche Intelligenz: Ein moderner Ansatzhttp://aima.cs.berkeley.edu/

� IBM CorporationDeep Bluehttp://www.ibm.com/

Johannes Diemke Teamvorstellung TORF 10. November 2009 48/48