seminar: agenten in simulierten umgebungen 1 soccer server robocup vortrag im rahmen des seminars:...

83
Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Upload: ivonette-apitz

Post on 06-Apr-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 1

Soccer Server RoboCup

Vortrag im Rahmen des Seminars:Agenten in simulierten Umgebungen

13.12.2004

Page 2: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 2

Agenda1. Einleitung2. Architektur3. Problemstellung der Soccergruppen4. Fazit

Page 3: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 3

Agenda1. Einleitung

1. Geschichte2. Vorstellung3. RoboCup Leagues4. Simulated League

Page 4: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 4

Einleitung1997:

IBMs Deep Blue gewinnt gegen Schachweltmeister Garry KasparovAutonom gesteuerter Roboter erkundet MarsErste Fussball-Weltmeisterschaft für Roboter findet in Nagoya (Japan) statt.

KI durchdringt alle Forschungsbereiche

Page 5: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 5

Geschichte´92: Erste Gedanken zu Roboter-Fussball (in

Kanada und Japan)´93: Überlegung eine japanische Roboter-Fussball-Liga zu gründen, für die sich sofort viele ausländische Forscher interessieren´95: Erste simulierte Fussballspiele bei der

International Joint Conference on Artificial Intelligence (IJCAI-95)

Page 6: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 6

Geschichte´96: Erster inoffizieller RoboCup mit acht Mannschaften in der Simulationsliga und einem Schaukampf für mittelgroße Roboter´97: RoboCup I in Nagoya mit 40 teilnehmenden Teams

[...]´04: RoboCup VIII in Lissabon mit 346 Teams

Page 7: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 7

Geschichte1997 Nagoya (Japan)1998 Paris (Frankreich)1999 Stockholm (Schweden)2000 Melbourne (Australien)2001 Seattle (USA)2002 Fukuoka (Japan)2003 Padua (Italien)2004 Lissabon (Portugal)

Page 8: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 8

Vision„By mid-21st century, a team of fully autonomous humanoid robot soccer players shall win the soccer game, comply with the official rule of the FIFA, against the winner of the most recent World Cup. „

[Kitano, 1998]

Page 9: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 9

RoboCupRescue

Junior

Soccer

Page 10: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 10

Rescue LeagueSimulation von Kastastrophen-Situationen2 Varianten:

Reale RoboterSimulated Rescue League

Keine Restriktionen zur RobotergestaltungTeilweise ferngesteuert, teilweise autonom (Funkabbruch)

Page 11: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 11

Rescue League

Page 12: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 12

Junior LeaguesVerschiedene Ligen:

Soccer, Rescue, Dance

Dient Schülern und Studenten als Einstieg in den RoboCupKaum Restriktionen

„It is not whether you win or lose, but how much you learn that counts!“

Page 13: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 13

Junior Leagues

Page 14: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 14

Soccer LeaguesHumanoid League4 legged LeagueSmall sized LeagueMid sized LeagueE-LeagueSimulated League

Page 15: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 15

Humanoid League3 Robotergrößen: 40cm, 80cm, ab 120cm1-6 Spieler: Feldspieler (und Torwart)Spielfeldgröße: 7,2 x 10,4 MeterDisziplinen:

„Auf-einem-Bein-stehen“ Menschlicher Gang (um Pfosten herum)SchießenElfmeterschießen mit TorwartFussball spielen (2 Teams, 3 vs. 3)Free StylePerformance factors

Page 16: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 16

Human League

Page 17: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 17

4 legged LeagueNur ein Roboter-Typ:Spieleranzahl: 4 gegen 4Spielfeldgröße: 3 x 4,5 MeterHardware darf nicht verändert werdenKommunikation über TCP/IP (W-LAN)Programmierung über Open-R Schnittstelle

Page 18: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 18

4 legged League

Page 19: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 19

Small sized LeagueRoboteranzahl: 5 gegen 5Robotergröße:

Grundfläche: max. 18 x 18 cmHöhe: max. 22,5 cm

Spielfeldgröße: 2,4 x 2,9 MeterEine gemeinsame Kamera über dem SpielfeldSchussapparat: schnell rotierende RolleRemote Control über einen zentralen Rechner

Page 20: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 20

Small sized League

Page 21: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 21

Mid sized LeagueRobotergröße:

Grundfläche: mind. 30 x 30 cm, höchstens 50 x 50 cmHöhe: 40 – 80 cm

Roboteranzahl: 4 gegen 4Spielfeldgröße: 5 x 8 MeterEigene Kamera, Rechner an Bord (autonom)Externer Rechner ohne menschlichen Eingriff erlaubt

Page 22: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 22

Mid sized League

Page 23: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 23

E-LeagueSeit 2004 im ProgrammEinstiegsliga als Brücke zwischen Junior-League und der professionellen Soccer-LeagueRoboter entsprechen denen der Small sized LeagueLeichte Modifikationen und Restriktionen bezüglich der Komplexität um Einstieg zu erleichtern

Page 24: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 24

Simulated League3 Wettbewerbe:

2d Soccer Simulation League3d Soccer Simulation LeagueCoach League

2 Teams mit jeweils 10 Feldspielern, 1 Torwart, Coach (optional)Spiellänge: 2 x 5 Minutennormale Fußballregeln: Abseitsregel, Rückpass-Regel, …

Page 25: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 25

Simulated LeagueSpiele häufig einseitig mit eindeutigem GewinnerBeispiel: RoboCup WM 2001 in SeattleVorrundengruppe E

Gruppe E 1 2 3 4 5 6

1 FCPortugal2001   8:0 *** 32:0 9:0 29:0

2 RoboLog2k1 0:8   *** 24:0 0:0 11:0

3 Pasargad *** ***   *** *** ***

4 RMIT_Goannas 0:32 0:24 ***   0:30 0:26

5 TUT-groove 0:9 0:0 *** 30:0   4:0

6 11monkeys3 0:29 0:11 *** 26:0 0:4  

Page 26: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 26

Agenda2. Architektur

1. Übersicht2. Monitor3. Client-Server-Modelle

Page 27: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 27

ÜbersichtClient/Server ArchitekturKommunikation über UDPServer überwacht Welt-Modell (inkl. Referee)Monitor visualisiert Welt-ModellJeder Spieler / Coach ein autonomer Client

Page 28: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 28

Übersicht

Client 1 Client 2 Client 24

Soccer ServerMonitorUDP-Pakete

UDP-Pakete UDP-Pakete

UDP-Pakete

IP-Netz

……………………...

Page 29: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 29

MonitorMonitor stellt visuelles Interface zur VerfügungNachrichtenaustausch über UDPAlle 100ms Nachricht vom ServerLog-File-Player (meistens) integriertZusatzinformationen zu Spieler, BallAuswertungsmöglichkeiten (Debugging)

Page 30: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 30

Monitor Beispiele2 dimensionale Monitore:Soccermonitor

3 dimensionale Monitore:Magic Box 2(offizieller RoboCup-Monitor)

Page 31: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 31

Agenda2. Architektur

1. Übersicht2. Monitor3. Client-Server-Modelle

Page 32: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 32

Agenda3. Client-Server-Modelle

a. Allgemein zum Client-Server-Modellb. Aktualisierung der Umweltc. Positionen an den Monitor weiterleitend. Verschicken der Sensordaten

Page 33: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 33

Client-Server ModellServer ist eine Plattform, auf der Teams Fußballspiele austragen könnenClient-Server Architektur

Client meldet sich mit (init TeamName) beim Server anKommunikation über UDP/IP

Freie Gestaltung der TeamsTeam besteht aus höchstens 12 Clients(10 Feldspieler, 1 Torwart und 1 Coach)

Page 34: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 34

Anfrage nach Aktion

Sensordaten

Bearbeitet die Anfragen

Aktualisiert die Umwelt

Wertet die Sensordaten aus

Entscheidet über nächste Aktion

Page 35: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 35

AktionenDash – RennenMove – BeamenKick – SchießenTurn – Körper drehenTurnNeck – Kopf drehenCatch – Ball fangenSay – RedenChangeView – Sicht ändernSenseBody – SenseBody Nachricht anfragenScore – Punktestand anfragen

Page 36: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 36

Simulation Step (1)Real-Time-System mit diskreten Zeitintervallen (100ms)

0. Anfragen müssen beim Server vorher eingetroffen sein Durch eine schlechte Performance, können Zyklen verpasst werden

1. Aktualisierung der Umwelt (1) (Reihenfolge, in der die Anfragen bearbeitet werden ist zufällig)a) Bearbeitung der Anfragen (Beschleunigung, Drehung, Info)b) Berechnung der Bewegungen

Page 37: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 37

Simulation Step (2)1. Aktualisierung der Umwelt (2)

c) Berechnung der Positioni. Berechnung der vorläufigen Positionii. Kollisionsbehandlungiii. Behandlung von Regelverstößen

2. Positionen an den Monitor weiterleiten3. Verschicken der Sensordaten

Page 38: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 38

Agenda3. Client-Server-Modelle

a. Allgemein zum Client-Server-Modellb. Aktualisierung der Umwelt

i. Bearbeitung der Anfragen ii. Berechnung der Bewegungen iii. Berechnung der Position

c. Positionen an den Monitor weiterleitend. Verschicken der Sensordaten

Page 39: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 39

AktionenDash – RennenMove – BeamenKick – SchießenTurn – Körper drehenTurnNeck – Kopf drehenCatch – Ball fangenSay – RedenChangeView – Sicht ändernSenseBody – SenseBody Nachricht anfragenScore – Punktestand anfragen

} Können nur einmal im

Zyklus

Ausgeführt werden

Page 40: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 40

Dash (power)Effektive Power hängt von

dem power–Parameter (zwischen –100 und 100), der Leistung und der dashPowerRate [default 0.006] ab.

atedashPowerReffortpowereffPower **

Richtung, in die die Power ausgeübt wird, hängt vonder bodyDirection des Spielers ab.

ionbodyDirectt

))sin(),(cos(*),( ttty

tx effPoweraa Beschleunigung

Page 41: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 41

Stamina (Ausdauer / Durchhaltevermögen)Maximal am Anfang und nach der HalbzeitDash reduziert Stamina

Vorwärtslaufen: Stamina – PowerRückwärtslaufen: Stamina – 2*Power

In jedem Zyklus wird etwas von der Stamina zurückgewonnenDie Stamina bestimmt den Effort

Page 42: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 42

Move (X, Y)Spieler kann exakt an eine Position gestellt werdenKostet keine Stamina Unterliegt keinen Unschärfen

FeldspielerVoraussetzung: Play-Mode = beforeKickOff, goalKann so lange ausgeführt werden, bis sich der Play-Mode ändert

TorwartVoraussetzung: Ball im Strafraum gefangenKann maximal goalieMaxMoves ausgeführt werden

Page 43: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 43

Kick (power, direction) (1)Voraussetzung: Ball ist in der kickableMargin [default 0.7]Während einer Runde können mehrere Spieler den Ball schießen

Effektive Power hängt von dem power–Parameter (zwischen –100 und 100),dem relativen Winkel des Spielers zum Ball,der Distanz zwischen Spieler und Ball undder kickPowerRate [default 0.027] ab

atekickPowerRkickableMdistdirDiffpowereffPower *)*25.0

180*25.01(*

Page 44: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 44

Kick (power,direction) (2)

directiontplayer

t

Richtung, in die die Power ausgeübt wird, hängt vondem direction-Parameter (zwischen –180 und 180) unddem relativen Winkel des Spielers zum Ball ab.

))sin(),(cos(*),( ttty

tx effPoweraa Beschleunigung

Ein guter Schuss kann den Ball bis zu einer Distanz von 45 schießen

Nach 15 Runden Distanz: 27 / Restgeschwindigkeit: ca. 1Nach 53 Runden Distanz: 43 / Restgeschwindigkeit: ca. 0.1

Page 45: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 45

Turn (moment)Effektive Drehung hängt von

dem moment–Parameter (zwischen –180 und 180),dem Trägheitsmoment [default 5] undder aktuellen Geschwindigkeit des Spielers ab.

dplayerSpeeentinertiaMommomenteffMoment

*1

Page 46: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 46

TurnNeck (angle)HeadDirection ist relativ zum KörperSichtwinkel kann sich durch Turn oder TurnNeck ändern

Der Kopf kann maximal bis zu einer headDirection von +90° oder –90° gedreht werden.

TurnNeck kann mit Dash, Kick oder Turn ausgeführt werden

Page 47: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 47

Catch (direction)Torwart kann in jeder Richtung den Ball mit einer catchProbability fangenVoraussetzung: Ball ist in der catchableArea und

Torwart ist im StrafraumFangversuch Missglückt Torwart muss 5 Zyklen warten, bis er es erneut versuchen kann Geglückt Torwart kann zu einer geeigneten

Position „moven“ und den Ball abspielen

Page 48: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 48

Agenda3. Client-Server-Modelle

a. Allgemein zum Client-Server-Modellb. Aktualisierung der Umwelt

i. Bearbeitung der Anfragen ii. Berechnung der Bewegungen iii. Berechnung der Position

c. Positionen an den Monitor weiterleitend. Verschicken der Sensordaten

Page 49: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 49

Berechnung der Bewegung

),(**),(),( 1111 ty

tx

ty

tx

ty

tx aaranddecayvvvv

Geschwindigkeit = alte Geschwindigkeit* Dämpfungsfaktor

* zufällige Verfälschung + Beschleunigung

Page 50: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 50

Agenda3. Client-Server-Modelle

a. Allgemein zum Client-Server-Modellb. Aktualisierung der Umwelt

i. Bearbeitung der Anfragen ii. Berechnung der Bewegungen iii. Berechnung der Position

c. Positionen an den Monitor weiterleitend. Verschicken der Sensordaten

Page 51: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 51

Berechnung der Position

Kollisionsbehandlung:wenn am Ende der Berechnung zwei Objekte überlappen1. Objekte so positioniert, dass sie sich nicht überlappen2. Bewegung mit – 0.1 multipliziert

Behandlung von Regelverstößen:wenn die Position gegen eine Regel verstößt

Schiedsrichter weist eine neue Position zu

),(),(),( 11 ty

tx

ty

tx

ty

tx vvpppp

Position = alte Position + Geschwindigkeit

Vorläufigen Position:

),( 11 ty

tx pp

),( ty

tx pp

),( ty

tx vv

Page 52: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 52

Agenda3. Client-Server-Modelle

a. Allgemein zum Client-Server-Modellb. Aktualisierung der Umweltc. Positionen an den Monitor weiterleitend. Verschicken der Sensordaten

Page 53: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 53

Agenda3. Client-Server-Modelle

a. Allgemein zum Client-Server-Modellb. Aktualisierung der Umweltc. Positionen an den Monitor weiterleitend. Verschicken der Sensordaten

i. Body Sensor Modellii. Visual Sensor Modelliii. Aural Sensor Modell

Page 54: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 54

SenseBody(sense body Time

(view mode ViewQuality ViewWidth)(stamina Stamina Effort)(speed AmountOfSpeed DirectionOfSpeed)(head angle HeadDirection)(kick KickCount)(dash DashCount)(turn TurnCount)(say SayCount)(turn neck TurnNeckCount)(catch CatchCount)(move MoveCount)(change view ChangeViewCount))

SenseBody – Nachrichten werden

a) in jedem Zyklus

b) nach Anfrage empfangen

Page 55: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 55

Agenda3. Client-Server-Modelle

a. Allgemein zum Client-Server-Modellb. Aktualisierung der Umweltc. Positionen an den Monitor weiterleitend. Verschicken der Sensordaten

i. Body Sensor Modellii. Visual Sensor Modelliii. Aural Sensor Modell

Page 56: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 56

Visual SensorVisual Sensor des Spielers erfasst visuelle Informationen über das Spielfeld

z.B. Distanz und Richtung zu verschiedenen Objektenim aktuellen Sichtfeld des Spielers (Agenten)

fungiert zusätzlich als „Umgebungssensor“, indem er Objekte erkennt, die nicht im Sichtbereich, aber direkt am Spieler stehen

hierbei aber: nur unvollständige Informationen!

Page 57: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Das Spielfeld

x := -52,5 ~ +52,5 (105 m)

y := -34 ~ +34 (68 m)

5 m

f g r b

Page 58: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 58

Visual Sensor Modelvisuelle Informationen werden dem Spieler automatisch mit Hilfe von see-Nachrichten jeden sense_step geschickt (default: 150 ms)Nachrichten für die visuellen Informationen haben das Standardformat:(see ObjName Distance Direction DistChng

DirChng BodyDir HeadDir)

Page 59: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 59

Parameter der see-Nachricht(see ObjName Distance Direction [DistChng

DirChng [BodyDir HeadDir]])ObjName: (g [l|r]) | (f [l|c|r] [t|b]) | (p („Teamname“ UniformNumber …)) |…Distance: euklidische DistanzDirection: Richtung des Objekts relativ zur Blickrichtung

Wenn es ein bewegliches Objekt ist, zusätzlich:DistChng: DistanzveränderungDirChng:Richtungsveränderung

Wenn das bewegliche Objekt ein anderer Spieler ist, zusätzlich:BodyDir: Richtung des Körpers relativ zum eigenen KörperHeadDir:Richtung des Kopfes relativ zum eigenen Kopf

Page 60: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 60

Beispiel einer see-Message(see 0 ((f r t) 90 -39) ((f r b) 73.7 9)

((f g r b) 73.7 -12) ((g r) 75.2 -17)…)

[***DebugMsg*** flag: time:0 name:f r t distance:90.0 direction:-39.0]

[***DebugMsg*** flag: time:0 name:f r b distance:73.7 direction:9.0]

[***DebugMsg*** flag: time:0 name:f g r b distance:73.7 direction:-12.0]

[***DebugMsg*** Tor: time:0 name:g r distance:75.2 direction:-17.0]

Page 61: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 61

Wahrnehmung des SpielersSichtfeld (view_angle) und Wahrnehmungsfrequenz (view_frequency) können beeinflusst werden durch:

(change_view Width Quality)Width: narrow | normal | wideQuality: high | low

Sichtfeld: 45° | 90° | 180°Wahrnehmungsfrequenz steigt mit niedrigerer Qualität und kleinerem Sichtfeld

Page 62: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 62

InformationsmengeDie Informationsmenge über andere Spieler hängt von der Entfernung (und dem Sichtfeld;-) ab:

dist unum_far_length [default: 20] Trikotnummer und Teamname sichtbarunum_far_lenght dist unum_too_far_lenght [default: 40] Teamname immer sichtbar, Wahrscheinlichkeit der

Trikotnummer-Sichtbarkeit nimmt bei steigender dist linear abdist unum_too_far_length Trikotnummer nicht sichtbardist team_far_length…

Page 63: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Beispiel zur Informationsmenge

Page 64: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 64

Visual Sensor Noise Model (Störungsmodell)Spieler weiß die Entfernung eines gesehenen Objektes nie genauStörung wird mit zunehmender Entfernung größerbis zu 10% Fehler bei der übermittelten Entfernungtendenzielle Überschätzung

Page 65: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 65

Agenda3. Client-Server-Modelle

a. Allgemein zum Client-Server-Modellb. Aktualisierung der Umweltc. Positionen an den Monitor weiterleitend. Verschicken der Sensordaten

i. Body Sensor Modellii. Visual Sensor Modelliii. Aural Sensor Modell

Page 66: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 66

Aural Sensorempfängt Nachrichten vom Schiedsrichter, den Trainern und den anderen SpielernNachrichten werden durch den say-Befehl gebroadcastetNachrichten werden sofort empfangen

Page 67: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 67

hear-Message(hear Time Sender „Message“)

time: aktueller ZyklusSender: relative Richtung des Senders

| self | referee| online_coach_left | online_coach_right

„Message“: String mit maximale Länge say_msg_size [default: 512 bytes]

Page 68: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 68

Nachrichten der Spieler/Coaches (1)Reichweite

Übermittlung einer Nachricht nur an Spieler innerhalb von audio_cut_dist [default: 50.0] Meter

Aufnahmekapazität [hear_max, default: 2]Aufnahme, wenn Kapazität „Empfangskosten“ hear_decay [default: 2]jede Runde wird hear_inc [default: 1] Kapazität regeneriert

alle zwei Runden eine Nachricht pro Team

Page 69: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 69

Nachrichten der Spieler/Coaches (2)separate Kapazitäten für jedes Team, um Überladen der Kapazitäten durch das andere Team zu vermeidenerreichen mehr Nachrichten zur gleichen Zeit einen Spieler, als er aufnehmen kann, ist der Inhalt undefiniert

Page 70: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 70

Nachrichten des Schiedsrichters – Play Modesbefore_kick_offplay_ontime_overkick_off_Sidekick_in_Sidefree_kick_Sidegoal_Sidecorner_kick_Sideoffside_Side …

Page 71: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 71

Nachrichten des Schiedsrichters –Messagesgoal_Side_n kick_off_OSidefoul_Side free_kick_OSidetime_up time_overhalf_time before_kick_off…

Nachrichten des Schiedsrichters kommen immer bei allen Spielern an

Page 72: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 72

Agenda

3. Problemstellung der Soccer-Gruppen1. Herausforderungen2. Vorführung eines SimpleClients

Page 73: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 73

HerausforderungenEntwicklung der „Intelligenz“ einer SoccerServer-Mannschaft

Unterteilung der Herausforderungen in vier Teilprobleme:

Wahrnehmung„Aktionsrunden“ParallelitätPlanung/Taktik

Page 74: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 74

Teilproblem „Wahrnehmung“Analyse der Sensordaten:

Parsen der Nachrichten und die damit verbunden Folgeinterpretationprogramminterne Repräsentation der Informationen

größte Teilprobleme: wo bin ich? (eigene Position auf dem Spielfeld ist dem Spieler nicht bekannt)Ballbesitz unbekannt

Page 75: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 75

Teilproblem „Aktionsrunde“generieren der Kommandos unter Berücksichtung möglichst aktueller Umweltinformationen (Synchronisation)Vermeiden von „holes“ (Nichtnutzung einer Handlungsmöglichkeit)

Vermeidung von „clashes“(serverseitige zufällige Auswahl aus den erhaltenenKommandos des letzten Zyklus)

Page 76: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 76

Teilproblem „Parallelität“serverseitige asynchrone Berechnung von Sensordaten und Kommandosdeshalb: parallele Ausführung von

Wahrnehmungsprozess(Verarbeitung des Sensornachrichten)Aktionsprozess(Vorbereiten der nächsten Aktion)

Page 77: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 77

Teilproblem „Planung/Taktik“die Kür!!!Entwicklung eines Gesamtkonzeptes für das Team (mehr als: „Ball rund muss in Tor eckig!“)Antizipation nachfolgender SpielsituationenUnterprobleme:

Optimale Nutzung der 100ms-ZyklenHeuristiken für z.B. Schussverhalten aufstellen

Page 78: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 78

Agenda

3. Problemstellung der Soccer-Gruppen1. Herausforderungen2. Vorführung eines SimpleClients

Page 79: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 79

Vorführung eines SimpleClientsImplementierung des SimpleClients:

Ball und Tor suchen (und hoffentlich finden)in Richtung des Balles drehenzum Ball hinrennenauf das rechte Tor schießen

Page 80: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 80

Agenda

3. Problemstellung der Soccer-Gruppen4. Fazit

Page 81: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 81

FazitProbleme:

PerformanceKonkurrierende EntwicklergemeindeSchlechte DokumentationNoch geringes Interesse der Öffentlichkeit (Deadlinks, fehlende Aktualität)Fehlersuche (Debugging)

Page 82: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 82

FazitChancen:

Möglichkeit, spielerisch komplexe Gebiete der Informatik zu erschließenWachsendes Interesse in der ÖffentlichkeitAgenten-Implementierung programmiersprachen-unabhängigGute Verzahnung von Forschung und Wirtschaft (z.B. Sony, sgi, …)

Page 83: Seminar: Agenten in simulierten Umgebungen 1 Soccer Server RoboCup Vortrag im Rahmen des Seminars: Agenten in simulierten Umgebungen 13.12.2004

Seminar: Agenten in simulierten Umgebungen 83

Fragen?Und nicht vergessen...13. - 19. Juli 2005: RoboCup in Osaka13. - 19. Juni 2006:RoboCup in Bremen(!)