74
Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003 Lehrstuhl für Rechnerstrukturen, Prof. Dr. Grass Lehrstuhl für Numerische Mathematik und Analysis, Prof. Dr. Donner

Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Embed Size (px)

Citation preview

Page 1: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

ProjektstudiumTechnische Anwendungen der Informatik

protai7

RoboCup 2002/2003Abschlussveranstaltung

07.08.2003

Lehrstuhl für Rechnerstrukturen, Prof. Dr. GrassLehrstuhl für Numerische Mathematik und Analysis, Prof. Dr. Donner

Page 2: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

2 / 74

Was ist RoboCup?

• Internationale Forschungs- und Bildungsinitiative

• Schwerpunkt: Künstliche Intelligenz und Intelligente Robotik

• Populäres Spiel: Fußball

Page 3: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

3 / 74

Die Middle Size League

• Robotergröße: ca. 50 x 50 x 50 cm

• Maximales Gewicht 80 kg

• Roboterfarbe: Schwarz

• Regelwerk an FIFA Bestimmungen angelehnt

• Kommunikation der Roboter untereinander ist ausdrücklich erlaubt

Page 4: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

4 / 74

Was ist das Projektstudium?

• Praktische Erfahrungen

• Anspruchsvolle wissenschaftliche Themengebiete

• Teamarbeit

Page 5: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

5 / 74

Aufgaben und Ziele

• Übernahme des bestehenden Projektes

• Implementierung von Teamfähigkeit

• Einführung von Echtzeit-Scheduling

• Grundlage für nachfolgende Gruppen

Page 6: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

6 / 74

Herausforderungen

• Hardware– Programmierung– Diagnose und Instandhaltung

• Software– Sehr komplexes System– Starke Abhängigkeiten der Komponenten

• Teamarbeit– Organisation der Aufgaben– Koordination der Gruppe auf ein Ziel hin

Page 7: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

7 / 74

Inhalts-Übersicht

1. Grundlagen

2. Hardware

3. Architektur des Projektes

4. Sensorverarbeitung und Bildverarbeitung

5. Kommunikationssystem

6. Künstliche Intelligenz

7. Vorführung Bildverarbeitung und KI

8. Live-Vorführung auf dem Spielfeld

Page 8: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

8 / 74

Welche Hardware steht zur Verfügung?

• Roboter– ActivMedia Pioneer 2– Embedded Board mit

400 MHz CPU– Bewegliche Kamera– Sonar-Sensoren– Odometrie-Sensoren– Pioneer 2

Microcontroller Board

Page 9: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

9 / 74

Betriebs-Umgebung

• Standard-Hardware

• Linux (Debian 3.0)

• Echtzeit-Kernel

• Problem: Festplatte im fahrenden Roboter

• Lösung: Disc on Chip

Page 10: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

10 / 74

Die Kamera

• Sony EVI-D31• Schwenkbar• Auto-Tracking• Kommunikation per

VISCATM Protokoll (Video System Control Architecture)

Page 11: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

11 / 74

Neuerung: Auslesen von Kameradaten

• Serielles Kabel von der Kamera zum Mainboard

• Kommunikation über das VISCATM Protokoll

Page 12: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

12 / 74

Interessante Kameradaten

• Belichtungseinstellungen

• Neigungs- und Drehwinkel– Kamera kann im Spiel bewegt werden

• Auto-Tracking Informationen– Bis zu vier Ziele– Aktives und passives Tracking

Page 13: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

13 / 74

Auto-Tracking

Page 14: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

14 / 74

Inhalts-Übersicht

1. Grundlagen

2. Hardware

3. Architektur des Projektes

4. Sensorverarbeitung und Bildverarbeitung

5. Kommunikationssystem

6. Künstliche Intelligenz

7. Vorführung Bildverarbeitung und KI

8. Live-Vorführung auf dem Spielfeld

Page 15: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

15 / 74

Hardware-Ansteuerung

Architektur

Sensorverarbeitung

KünstlicheIntelligenz

Page 16: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

16 / 74

Architektur

Hardware-Ansteuerung

Sensorverarbeitung

KünstlicheIntelligenz

Frame Grabber

Kamera(Tracking)

Sonar Odometrie

Aktoren Netzwerk

Page 17: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

17 / 74

Architektur

Sensorverarbeitung

Hardware-Ansteuerung

KünstlicheIntelligenz

Bildverarbeitung

EigenpositionBallfindung

Tracking

Ballfindung

Sonar

Eigenposition

Odometrie

Eigenposition

Sensorfusion

Ballfindung Eigenposition

Page 18: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

18 / 74

Architektur

KünstlicheIntelligenz

Hardware-Ansteuerung Sensorverarbeitung

Weltmodell

Verhalten

Page 19: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

19 / 74

Echtzeitanforderungen bei Robocup

Per

form

ance

Deadline Antwortzeit

• Weiche EchtzeitanforderungenLinux Kernel Realtime Linux

Kernel

durchschnittliche Latenzzeit

10ms 5µs

maximale Latenzzeit

>10s 50µs

Page 20: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

20 / 74

Echtzeit unter Linux – zwei Ansätze:

Preemptive Patch für Kernel

-MontaVista Scheduler

-KU-RT Linux

-TimeSys

Integration eines Mikrokernels

-RT-Linux

-RTAI

Page 21: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

21 / 74

Echtzeit unter Linux - RTAI

Hardware

Real-Time Hardware Abstraction Layer (RTHAL)

Kernel-Module

RTAI-Modul

RTAI-Modul

RTAI-Modul

Kernel-SpaceKernel-Space

User-SpaceUser-SpaceRealtime-

ApplikationLinux-

Programme

LinuxKernel

Fifo, Mailbox, SHMEM

LXRT

Page 22: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

22 / 74

Design-To-Time Scheduling Algorithmus

• Statischer Scheduling-Algorithmus• Effiziente Nutzung der zur Verfügung

stehenden Zeit• Dynamische Auswahl verschiedener

Algorithmen anhand von– Laufzeit– Qualität

• Ausführung als Echtzeittask oder als Taskmit höchster Priorität

Page 23: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

23 / 74

Design-To-Time Scheduling Algorithmus

Pascha

Taskgraph

C++ Code

Design To Time

Scheduling

Algorithmus

DecisionDAG

Dispatcher

Creator

Page 24: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

24 / 74

Echtzeit-Scheduling

Hardware-Ansteuerung

Sensorverarbeitung

KünstlicheIntelligenz

RTAIRealTime OS

Kernel TaskGraph

Dispatcher

Kamera-daten

Sonar/Odometrie-

daten

Kernel Modul

RTAI

Page 25: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

25 / 74

Inhalts-Übersicht

1. Grundlagen

2. Hardware

3. Architektur des Projektes

4. Sensorverarbeitung u. Bildverarbeitung

5. Kommunikationssystem

6. Künstliche Intelligenz

7. Vorführung Bildverarbeitung und KI

8. Live-Vorführung auf dem Spielfeld

Page 26: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

26 / 74

Eigenpositionsfindung

1. Extrahiere Linien aus Bild2. Berechne Lage der Linien im Roboter-Koordinaten-

System

1. Extrahiere Linien aus Bild

Fehler

1. Extrahiere Linien aus Bild2. Berechne Lage der Linien im Roboter-Koordinaten-

System3. Linien-Matching mit gespeichertem Spielfeld-Modell und

Hypothesen-Erzeugung4. Bewertung der Hypothesen mittels Fehlerfunktion und

Auswahl der besten Hypothese

1. Extrahiere Linien aus Bild2. Berechne Lage der Linien im Roboter-Koordinaten-

System3. Linien-Matching mit gespeichertem Spielfeld-Modell und

Hypothesen-Erzeugung

Page 27: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

27 / 74

Eigenpositionsfindung protai6

1. SeedSearch2. Zuordnung von SeedPoints zu drei Gruppen

(Spielfeldbegrenzung, Spielfeldlinie vorne, Spielfeldlinie hinten) anhand einfacher Annahmen

3. Liniensplittung und Verwurf der Verbindungspunkte

Page 28: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

28 / 74

Eigenpositionsfindung

protai6• Sehr schnell• Gute Ergebnisse bei guter Farbkalibrierung• Viele SeedPoints und Farbklassifizierung notwendig

protai7• protai6-Algorithmus mit erweiterter Farbkalibrierung sowie

schnellerer Farbklassifizierung und SeedSearch• Durchschnittliche Laufzeit 18ms

Page 29: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

29 / 74

Farbklassifizierung

• Partitionierung des RGB-Farbraums

• Ziel: Robustheit gegenüber Helligkeitsänderungen tundefiniergelbblaugrünrotschwarzweißf ,,,,,,255: 3

Page 30: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

30 / 74

Der HSV-Farbraum

• Robustheit gegenüber Helligkeitsveränderungen lässt sich durch Wechsel in einen anderen Farbraum realisieren

• Eine Farbe wird durch die Komponenten Hue (Farbton), Saturation (Farbsättigung) und Value (Helligkeit) definiert

Page 31: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

31 / 74

Farbklassifizierung

protai6• Definiere Farbbereichsgrenzen für die Farbklassen im

HSV-Raum vor Programmstart (Farbkalibrierung)• Konvertierung des RGB-Tripels in ein HSV-Tripel zur

Laufzeit• Test für die zuvor definierten Farbbereichsgrenzen

protai7• Definiere Farbbereichsgrenzen vor Programmstart• Konvertierung aller RGB-Tripel in HSV-Tripel, Test für die

zuvor definierten H-S-V-Intervalle und Speicherung der Farbklasse in einer Lookup-Tabelle (16 MB)

Page 32: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

32 / 74

Farbkalibrierung

• Suche nach Bereichsgrenzen der Partitionen {weiß,schwarz,rot, ...} (hier im HSV-Raum)

• Wir haben zwei verschiedene Verfahren implementiert

manuell

semi-automatisch

Page 33: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

33 / 74

Farbkalibrierung – manuell

• Klick in Region berechnet Minima und Maxima der HSV-Werte innerhalb eines Umkreises

• Vorschau aller Farbregionen des Bildes und Berechnung von Überlappungsbereichen

Page 34: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

34 / 74

Farbkalibrierung – semi-automatisch

• Aufnahme einer definierten Szene• Berechnung der Mittelwerte und der Varianzen der HSV-

Tripel jeder Farbpartition• Multiplikation der Varianzen mit einstellbaren Faktoren

liefert Intervallgrenzen• Automatische Auflösung von Überlappungen durch

Gewichtung der Varianzen

Page 35: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

35 / 74

SeedSearch

• Suche nach Farbübergängen entlang von Geraden• Ziel: Robustheit gegenüber Störungen und

Laufzeitoptimierung• Wir haben vier verschiedene Verfahren entwickelt

Page 36: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

36 / 74

SeedSearch mit Fenster

• Robustheit gegenüber Störungen durch individuelle Aktivierungsgrenzen und Filterung in 3x3-Fenster

Übergangsaktivierungen

ws r bgr ge u

Page 37: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

37 / 74

SeedSearch mit Überspringen

• Robustheit gegenüber Störungen durch Aktivierungen• Überspringen von je 3 Pixeln bis Farbübergang erreicht,

dann Backtracking

Übergangsaktivierungen

ws r bgr ge u

Page 38: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

38 / 74

Ballfindung

• Merkmale– Form:

• Kreisscheibe (evtl. teilweise verdeckt)• Nur bestimmter Radius möglich, abhängig von der Höhe im Bild

– Farbe:• Farbpartition rot (aber Reflexionen und Schattenwürfe)

Page 39: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

39 / 74

Ballfindung

• Suche nach roten Farbclustern ausschließlich mit SeedPoints

• Berechne erwartete Ausmaße anhand der Höhe im Bild• Sind die Ausmaße zu gering könnte der Ball teilweise

verdeckt sein; Berechne Ballzentrum mit Dreiecksverfahren

Page 40: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

40 / 74

Gegnererkennung

• Suche nach schwarzen Farbclustern ausschließlich mit SeedPoints

• Berechne erwartete Ausmaße anhand der Höhe im Bild

Page 41: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

41 / 74

Sonar und Odometrie

• Alle 50 ms kann je einer der 8 Sonarsensoren abgerufen werden.

• Sonarinformationen werden für die Eigenpositionsfindung und Hindernis/Gegner-Erkennung verwendet

• Odometrieinformationen werden alle 50 ms abgefragt und für die Eigenpositionsfindung verwendet.

Page 42: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

42 / 74

Tracking

• Abfrage der Auto-Tracking-Funktion der Kamera über die serielle Schnittstelle

• Verwendung für Ballfindung, Gegnererkennung und Eigenpositionsfindung (z.B. über Torerkennung) möglich

Page 43: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

43 / 74

Sensorfusion

• Sensormesswerte sind immer fehlerbehaftet (Varianz)• Sensormesswerte verschiedener Sensoren sowie

verschiedener Zeitpunkte müssen zu einem optimalen Wert fusioniert werden

• Der Kalman Filter ist optimal im Sinne, dass die Varianz minimiert wird

Kalman Filter

SensorZeitstempel

Messwert

Varianz

Letzter WertZeitstempel

Messwert

Varianz

Page 44: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

44 / 74

Sensorfusion der Eigenpositionsfindung

BildverarbeitungZeitstempel

Messwert

Varianz

SonarZeitstempel

Messwert

Varianz

OdometrieZeitstempel

Messwert

Varianz

Letzter WertZeitstempel

Messwert

Varianz

Kalman Filter

Page 45: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

45 / 74

Sensorfusion der Ballfindung

BildverarbeitungZeitstempel

Messwert

Varianz

TrackingZeitstempel

Messwert

Varianz

KommunikationZeitstempel

Messwert

Varianz

Letzter WertZeitstempel

Messwert

Varianz

Kalman Filter

Page 46: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

46 / 74

Inhalts-Übersicht

1. Grundlagen

2. Hardware

3. Architektur des Projektes

4. Sensorverarbeitung u. Bildverarbeitung

5. Kommunikationssystem

6. Künstliche Intelligenz

7. Vorführung Bildverarbeitung und KI

8. Live-Vorführung auf dem Spielfeld

Page 47: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

47 / 74

Gruppenkommunikationsprotokoll (GKP)

• Aufgaben des CommSystems– Ermöglicht Erweiterung der KI auf Teamplay– Bietet zusätzliche Daten für die Sensorfusion– Dient als zusätzlicher Sensor für

Ballfindung und Gegnererkennung

• Client/Server-Architektur– CommServer / Software-Access-Point– CommClient als eigener Prozess

Page 48: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

48 / 74

Gruppenkommunikationsprotokoll (GKP)

• Gruppenkommunikationsprotokoll– Anerkanntes Kommunikationsparadigma– Handling von Paketverlusten– Begrenzung der maximalen Verzögerung

• Probleme des IEEE 802.11 GKP– Keine Bestätigung der Broadcastnachrichten– Keine garantierte begrenzte Verzögerung– Keine Erkennung inaktiver Clients– Nur der Access-Point hat ein aktuelles Bild der

Gruppe

Page 49: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

49 / 74

Gruppenkommunikationsprotokoll (GKP)

• Datenpaket / Header (36 Bit)

Ident ID-Nummer des Clients

Seq Sequenznummer des Pakets

Akk SeqNr des letzten erhaltenen Pakets

Mode Aktueller Modus (0: Broadcast,

1: Peer2Peer, 2: TimeSync)

Page 50: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

50 / 74

Gruppenkommunikationsprotokoll (GKP)

• Datenpaket / Header (36 Bit)

Login Login-Modus (0: No Login, 1: Login, 2: Relogin)

Sync Zeitsynchronisation (0: No Sync, 1: Sync)

Clients Gesamtzahl der eingeloggten Clients

Active Active-Flags aller max. 11 Clients

Page 51: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

51 / 74

Gruppenkommunikationsprotokoll (GKP)

• Datenpaket / Nutzdaten– Zeitstempel– Eigenposition– Ballposition– Gegnerposition– Ballbesitz

• Beliebig erweiterbar um weitere Daten

des Weltmodells und der KI

Page 52: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

52 / 74

Gruppenkommunikationsprotokoll (GKP)

• Funktionsweise / Übersicht

Page 53: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

53 / 74

Zeitsynchronisation

• Notwendig für verteilte (Echtzeit-) Anwendungen

• Notwendig zur Erkennung temporaler Abhängigkeiten in verteilten Systemen (WLAN)

• Zeitdifferenz– um einen gewissen Offset– durch asynchrone Systemuhren

Page 54: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

54 / 74

Zeitsynchronisation

• Initiale Zeitsynchronisation– Ausgleich des Offsets beim Login– Übernahme der Zeit des CommServers

• Problem: Werteanpassung des im IEEE 802.11 Standard definierten Uhren-synchronisationsprotokolls– Doppelte Zeitpunkte– Zeitsprünge

Page 55: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

55 / 74

Zeitsynchronisation

• Werteanpassung vs. Ratenanpassung

Page 56: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

56 / 74

Zeitsynchronisation

• Implementierung einer ans WLAN angepassten Version eines für den CAN-Bus entwickelten Protokolls– Einsatz eines TSC-Timers (TimeStampCounter)– Einsatz einer Softwareuhr mit Ratenanpassung– Erweiterung des CommSystems um einen

TimeSync-Modus

Page 57: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

57 / 74

Gruppenkommunikationsprotokoll (GKP)

• Erweiterungsmöglichkeiten– Übertragung weiterer Informationen aus dem

Weltmodell– Integration aller übertragenen Daten in die

Sensorfusion und KI– Übertragung von KI-Flags für dynamisches

Rollenverhalten

Page 58: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

58 / 74

Inhalts-Übersicht

1. Grundlagen

2. Hardware

3. Architektur des Projektes

4. Sensorverarbeitung u. Bildverarbeitung

5. Kommunikationssystem

6. Künstliche Intelligenz

7. Vorführung Bildverarbeitung und KI

8. Live-Vorführung auf dem Spielfeld

Page 59: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

59 / 74

Künstliche Intelligenz

Kommandofusion

Verhalten Verhalten Verhalten

Kommando

Kommando

KF

V V

K K

ArbitrationstrategyKommando

Arbitrationstrategy Arbitrationstrategy

AS AS

Page 60: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

60 / 74

Teamverhalten

• Kooperatives Verhalten

• Dezentrale Entscheidungen

• Informationsaustausch

• Rollenzuweisung

Page 61: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

61 / 74

Simulator

• Ersetzt die reale Umgebung

• Ersetzt Sensoren und Aktoren

• Einsatz zum Test der KI

• Einsatz zum Test der Sensorverarbeitung

Page 62: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

62 / 74

GrabBall

Page 63: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

63 / 74

GrabBall - Teamverhalten

Page 64: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

64 / 74

ScoreGoal

Page 65: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

65 / 74

ScoreGoal - Teamverhalten

Page 66: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

66 / 74

Pass

Page 67: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

67 / 74

Positionsspiel

Page 68: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

68 / 74

Torwartposition

Page 69: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

69 / 74

Torwart GrabBall

Page 70: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

70 / 74

Beispiel: 2 gegen 1

Page 71: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

71 / 74

Beispiel: 2 gegen 1

Page 72: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

72 / 74

Beispiel: 2 gegen 1

Page 73: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

73 / 74

Beispiel: 2 gegen 1

Page 74: Projektstudium RoboCup 2002/2003 - protai7 Projektstudium Technische Anwendungen der Informatik protai7 RoboCup 2002/2003 Abschlussveranstaltung 07.08.2003

Projektstudium RoboCup 2002/2003 - protai7

74 / 74

Vielen Dank für die Aufmerksamkeit!