Vorstellung des Roboterfußball-Teams TORF - Department für ...

informatik.uni.oldenburg.de

Vorstellung des Roboterfußball-Teams TORF - Department für ...

C A R L

V O N

O S S I E T Z K Y

Vorstellung des

Roboterfußball-Teams

TORF

Johannes Diemke

Vortrag im Rahmen der Projektgruppe

Oldenburger Robot Soccer Team

im Wintersemester 2009/2010


Übersicht

1 Motivation

2 Grundlagen

3 Vorarbeiten der PG TORF

4 Fazit

Johannes Diemke Teamvorstellung TORF 10. November 2009 2/48


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

◮ Fähigkeiten und Restriktionen erkennen

◮ Verbesserungspotential erkennen

Johannes Diemke Teamvorstellung TORF 10. November 2009 3/48


Motivation

PG TORF - Das alte Team

(Quelle: Projektgruppe TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 4/48


Vom Computerschach zum Roboterfußball

1950

1995

1996

Claude E. Shannon schlägt Automaten vor der Menschen im Schach

schlägt

Fortan Prüfstein für neu entwickelte Verfahren

Entstehung leistungsfähiger Spielstrategien und Suchverfahren

Computerschach war bereits kein Prüfstein mehr für KI

Roboterfußball wird das neue Standardproblem

Deep Blue gewinnt gegen den Schachweltmeister Garri Kasparov

Johannes Diemke Teamvorstellung TORF 10. November 2009 5/48


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


Roboterfußball

Besonderheiten des Roboterfußballs

Herausforderung für Robotik und KI

Völlig andere Aspekte als beim Computerschach

◮ Dynamische Umgebung

◮ Unvollständige Informationen

◮ Echtzeitanforderungen

◮ Unvorhersehbare Ereignisse

◮ . . .

Johannes Diemke Teamvorstellung TORF 10. November 2009 7/48


Roboterfußball

Weitere Vorteile des Roboterfußballs

Populäre Sportart

Einfaches und bekanntes Regelwerk

Leistungsfähigkeit von Verfahren lässt sich einfach messen:

◮ Erzielte Tore

◮ Platzierung

Evolution der Verfahren durch Wettkämpfe

◮ RoboCup

◮ Federation of International Robot-Soccer Association (FIRA)

Johannes Diemke Teamvorstellung TORF 10. November 2009 8/48


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


RoboCup

Zielsetzung der RoboCup-Initiative

Bis zum Jahr 2050 den amtierenden menschlichen Weltmeister in

einem gewöhnlichen Fußballspiel besiegen

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

Johannes Diemke Teamvorstellung TORF 10. November 2009 10/48


RoboCup

Die 2D-Simulationsliga

Gespielt wird auf RoboCup Soccer Simulator Server

◮ Spieler verbinden sich als Client

◮ Übernimmt vollständige 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 durch

Sensoren wahrnimmt und durch Effektoren beeinflusst.

Johannes Diemke Teamvorstellung TORF 10. November 2009 11/48


RoboCup

RoboCup Soccer Simulator

Simulator ist gemäß Client-Server-Architektur ein Server

Angebotener Dienst ist die Simulation:

◮ Verwaltung der Spieler und des Balls

◮ Simulation einfacher Physik

◮ Visuelle und auditive Wahrnehmung

◮ Simulation von Beschränkungen (Verrauschen, partielle

Beobachtbarkeit)

Spieler, Coach und Trainer melden sich an

Kommunikation über S-Expressions

Verwendet wird das UDP/IP-Protokoll

Johannes Diemke Teamvorstellung TORF 10. November 2009 12/48


Arbeitsumgebung

Klassifikation der Arbeitsumgebung

Ziel

Erfolgt nach PEAS-Beschreibung (Russell & Norvig)

Akronym für Performance, Environment, Actuators, Sensors

Besteht aus:

◮ Beschreibung der Arbeitsumgebung

◮ Umgebungsklassifikation

Dient Ableitung erster Anforderungen an einen Software-Agenten

Johannes Diemke Teamvorstellung TORF 10. November 2009 13/48


Arbeitsumgebung

Beschreibung der Arbeitsumgebung

Agententyp Leistungsbewertung

Spieler Stabilität, Geschwindigkeit,

kongruentes

Verhalten

Trainer Stabilität, Geschwindigkeit

Coach Stabilität, Geschwindigkeit

(Quelle: Abschlußbericht PG TORF)

Umgebung Aktuatoren Sensoren

RoboCup

Soccer Server

RoboCup

Soccer Server

(im Trainingsmodus)

RoboCup

Soccer Server

Spielerkommandos

(dash,

turn, say, . . . )

change mode,

move, start,

say, . . .

say, look, eyes,

team names,

. . .

Sehen und

Hören

Spielfeldübersicht

Spielfeldübersicht

Johannes Diemke Teamvorstellung TORF 10. November 2009 14/48


Arbeitsumgebung

Umgebungsklassifikation

Anhand folgender Eigenschaften:

◮ Vollständig vs. teilweise beobachtbar

◮ Deterministisch vs. stochastisch

◮ Episodisch vs. sequentiell

◮ Statisch vs. dynamisch

◮ Diskret vs. stetig

◮ Einzelagenten vs. Multiagenten-Umgebung

Erste Schlüsse bzgl. der Anforderungen

◮ Verwaltung eines inneren Zustandes (Weltmodell)

◮ Keine absoluten Aussagen über Folgezustände (Wahrscheinlichkeiten)

◮ Vorausdenken

◮ Veränderung der Umgebung während der Entscheidungsfindung

Johannes Diemke Teamvorstellung TORF 10. November 2009 15/48


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


Vorarbeiten der PG TORF

Komponentenmodell des Spieler-Agenten

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 17/48


Vorarbeiten der PG TORF

Das Weltmodell

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 18/48


Das Weltmodell

Zweck

Grundlage des Entscheidungsprozesses

Besitzt Ist-Zustand und Dynamikwissen

Möglichst korrekte Abbildung der Arbeitsumgebung

Umgang mit verrauschten Daten

Erfassung von:

◮ Objekten (Spieler, Ball, Flaggen, . . . )

◮ Punktestand und Spielphase

Johannes Diemke Teamvorstellung TORF 10. November 2009 19/48


Das Weltmodell

Bestimmung der eigenen Position

Durch Winkel und Entfernungen der Flaggen

Unterscheidung zweier Fälle (a) und (b)

(Quelle: Abschlußbericht PG TORF)

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

Johannes Diemke Teamvorstellung TORF 10. November 2009 20/48


Das Weltmodell

Bestimmung der eigenen Position (Forts.)

Berechnete Positionen sind verfälscht

Sensordaten werden künstlich verrauscht

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 21/48


Das Weltmodell

Bestimmung der eigenen Position (Forts.)

Verringerung der Verfälschung:

◮ Bildung von Flaggenpaaren

◮ Schätzung durch das [sic] Kalman-Filter

Sind keine Flaggen sichtbar:

◮ Bestimmung über Dynamik des Kalman-Filters

Johannes Diemke Teamvorstellung TORF 10. November 2009 22/48


Das Weltmodell

Grafische Darstellung des Weltmodells

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 23/48


Vorarbeiten der PG TORF

Der Planer

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 24/48


Der Planer

Zweck

Umsetzung des Entscheidungsprozesses

Festlegen der Strategie und das Starten der Skills

Hierarchischer Planer

Benötigt Planerdatenbank mit Domänenwissen

Zugriff auf das Weltmodell über Literale

Unterstützung von Team-Skills

Johannes Diemke Teamvorstellung TORF 10. November 2009 25/48


Der Planer

Die Planer-Architektur

Messages

start Skill

status

free kick

set piece

offensiv

Com

Planner

play soccer

push /

pop

(Quelle: Abschlußbericht PG TORF)

Stack

state (via literals)

select method

Worldmodel

play soccer

offensiv

defensive normal play

Database

Johannes Diemke Teamvorstellung TORF 10. November 2009 26/48


Der Planer

Auschnitt der Planerdatenbank

intercept

InterceptSkillParam

kick2GoalComplex

NearestToBall

kickToGoal

NearestToBall

Kick2PosSkillParam

(Quelle: Abschlußbericht PG TORF)

BallPossessionHandling

NearestToBall

NearestToBall

Do Positioning, Offensive

DoPositioningSkillParam

Negation of (NearestToBall)

lookAround

LookAroundSkillParam

Negation of (NearestToBall)

Johannes Diemke Teamvorstellung TORF 10. November 2009 27/48


Vorarbeiten der PG TORF

Skills

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 28/48


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

Einsatz von Lernverfahren bietet sich an

Johannes Diemke Teamvorstellung TORF 10. November 2009 29/48


Skills

Hierarchische Struktur der Skills

package Data[ PlayerSkills]

Player

Skills

receivePass

stopBall

kick2Pos

say kick

dribble

intercept

go2Pos

dash

(Quelle: Abschlußbericht PG TORF)

doPass

CatchComplex

followPath

doPositioning

ProbabilisticGoalie

goalie

findObjec

lookAround

TurnHeadComplex

doKickOffFormatio

teleport2Pos

catch turnBody changeView turnHead

move

Johannes Diemke Teamvorstellung TORF 10. November 2009 30/48


Skills

Aktivitätsdiagramm für den Go2Pos-Skill

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 31/48


Vorarbeiten der PG TORF

Kommunikation

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 32/48


Kommunikation

Zweck

Absprachen zwischen Spieler-Agenten (Taktiken auf Teamebene)

Beispiel: Passspiel

Spieler-Agent empfängt nicht jede Nachricht:

◮ Maximale Entfernung

◮ eingeschränkte Nachrichtenlänge

◮ Vorgegebenes Alphabet Σ

◮ Erste Nachricht je Simulations-Zyklus

Johannes Diemke Teamvorstellung TORF 10. November 2009 33/48


Kommunikation

Implementiertes Verfahren

Einteilung in Cluster mit je einem Router

Verwendung von Zeitmultiplexing (Vermeiden von Kollisionen)

Problem

Derzeit nicht vollständig funktionsfähig

Aufgabe

Protokoll auf Korrektheit prüfen

Gegebenenfalls Alternativen entwerfen

Johannes Diemke Teamvorstellung TORF 10. November 2009 34/48


Trainer- und Coach-Framework

Aufbau

Trainer

Trainer und Coach sind eine Applikation

Gemeinsamkeiten:

◮ Message-Broker

◮ Weltmodell

◮ Controller

Nach Sternarchitektur aufgebaut

Trainiert Spieler

Austauschbare Lerntechniken (KI-Module)

Laden von Spielsituationen im XML-Format

Johannes Diemke Teamvorstellung TORF 10. November 2009 35/48


Trainer- und Coach-Framework

Sternarchitektur des Trainers

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 36/48


Trainer- und Coach-Framework

Gemeinsame Architektur von Trainer und Coach

RCSS-Server

Learning-

Technique

Architektur des Trainer-Agenten

Trainer-Agent

Spieler-Agent

Trainee/LT

(Quelle: Abschlußbericht PG TORF)

WorldModel

Message-

Broker

XML-Situation

BasicCoach

Controller

Coach-Agent

Player-Types …

Datenfluss

Vererbung

2008-10-22 Projektgruppe TORF – Universität Oldenburg • Fakultät II • Department für Informatik • Abteilung LLS 18/23

Johannes Diemke Teamvorstellung TORF 10. November 2009 37/48


Trainer- und Coach-Framework

activity Trainer[ Trainer ]

Ablauf einer Trainingssession und des Trainings

Clients

verabschieden

Lernergebnisse

speichern

LT abmelden

aufräumen

MB verbinden

activity Trainer[ Training durchführen ]

Lerntechnik

starten

Training beendet

Training

durchführen

WM verbinden

Genug Clients

Instruktionen

an Spieler senden

Training nicht beendet

LT laden

zu wenig Clients

Spieler

beobachten

init LT

Client

aufnehmen

Bei LT

registrieren

Auf Clients

lauschen

Ergebnisse von

Spieler empfangen

Ergebnisse

auswerten

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 38/48


Trainer- und Coach-Framework

Coach

Vergibt momentan nur Spielertypen

◮ 18 zufällig generierte Spielertypen

◮ Werden nach Zufallsprinzip vom RCSS zugewiesen

◮ Coach kann diese neu zuweisen

◮ Data-Mining für optimale Heuristik (LogfileAnalysis)

Johannes Diemke Teamvorstellung TORF 10. November 2009 39/48


Hilfsprogramme

TORF Strategy Tool

Manuelle Erstellung der Planderdatenbank zu aufwändig

◮ Boost-Serialisierung (Metadaten)

Umfang des Domänenwissens entscheidend

Intention

Komfortable Erstellung von Planerdatenbanken

Visuelle Darstellung der Daten

Schnelle Entwicklung mittels der NetBeans Platform 6.1

◮ Anbindung an Planer über das JNI mittels SWIG

Johannes Diemke Teamvorstellung TORF 10. November 2009 40/48


Hilfsprogramme

Hauptfenster des TORF Strategy Tool

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 41/48


Hilfsprogramme

Probleme

Interoperabilität zwischen Java und C++

Aus der Verwendung von SWIG resultieren einige Probleme:

◮ Verlust von Polymorphie

◮ Speicherverwaltung (keine Destruktion auf C++-Seite)

◮ . . .

Mögliche Problemlösung

Entwurfsentscheidungen überdenken

Johannes Diemke Teamvorstellung TORF 10. November 2009 42/48


Hilfsprogramme

LogfileAnalysis

Sammlung von Python-Skripten

Auswertung von Logdateien

◮ Enthalten kompletten Spielverlauf

Offizielle Spiele ab dem Jahr 1997 verfügbar

Prädestiniert für Analysezwecke mittels Data-Mining

Johannes Diemke Teamvorstellung TORF 10. November 2009 43/48


Hilfsprogramme

Feldabdeckungsanalyse

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 44/48


Hilfsprogramme

Torschussanalyse

(Quelle: Abschlußbericht PG TORF)

Johannes Diemke Teamvorstellung TORF 10. November 2009 45/48


Vorarbeiten der PG TORF

Fazit

Umfangreiche Vorarbeiten der PG TORF

Handlungsumgebung sehr komplex

Grobarchitektur ist gute Grundlage für Erweiterungen

Leistungspotential des Planers besser ausschöpfen

◮ Fehlendes Domänenwissen

Johannes Diemke Teamvorstellung TORF 10. November 2009 46/48


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

TORF Strategy Tool

◮ Entwurfsentscheidungen überdenken

◮ Probleme beseitigen

Johannes Diemke Teamvorstellung TORF 10. November 2009 47/48


Literatur

� Universität Oldenburg, Projektgruppe TORF

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

http://aima.cs.berkeley.edu/

� IBM Corporation

Deep Blue

http://www.ibm.com/

Johannes Diemke Teamvorstellung TORF 10. November 2009 48/48

Weitere Magazine dieses Users
Ähnliche Magazine