Projektstudium%20Technische%20Anwendungen%20der%20Informatik - PowerPoint PPT Presentation

About This Presentation
Title:

Projektstudium%20Technische%20Anwendungen%20der%20Informatik

Description:

Projektstudium Technische Anwendungen der Informatik – PowerPoint PPT presentation

Number of Views:62
Avg rating:3.0/5.0
Slides: 75
Provided by: RaphaelH6
Category:

less

Transcript and Presenter's Notes

Title: Projektstudium%20Technische%20Anwendungen%20der%20Informatik


1
RoboCup 2002/2003
  • ProjektstudiumTechnische Anwendungen der
    Informatik
  • protai7

Abschlussveranstaltung 07.08.2003 Lehrstuhl für
Rechnerstrukturen, Prof. Dr. Grass Lehrstuhl für
Numerische Mathematik und Analysis, Prof. Dr.
Donner
2
Was ist RoboCup?
  • Internationale Forschungs- und Bildungsinitiative
  • Schwerpunkt Künstliche Intelligenz und
    Intelligente Robotik
  • Populäres Spiel Fußball

3
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

4
Was ist das Projektstudium?
  • Praktische Erfahrungen
  • Anspruchsvolle wissenschaftliche Themengebiete
  • Teamarbeit

5
Aufgaben und Ziele
  • Ãœbernahme des bestehenden Projektes
  • Implementierung von Teamfähigkeit
  • Einführung von Echtzeit-Scheduling
  • Grundlage für nachfolgende Gruppen

6
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

7
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

8
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

9
Betriebs-Umgebung
  • Standard-Hardware
  • Linux (Debian 3.0)
  • Echtzeit-Kernel
  • Problem Festplatte im fahrenden Roboter
  • Lösung Disc on Chip

10
Die Kamera
  • Sony EVI-D31
  • Schwenkbar
  • Auto-Tracking
  • Kommunikation per VISCATM Protokoll (Video System
    Control Architecture)

11
Neuerung Auslesen von Kameradaten
  • Serielles Kabel von der Kamera zum Mainboard
  • Kommunikation über das VISCATM Protokoll

12
Interessante Kameradaten
  • Belichtungseinstellungen
  • Neigungs- und Drehwinkel
  • Kamera kann im Spiel bewegt werden
  • Auto-Tracking Informationen
  • Bis zu vier Ziele
  • Aktives und passives Tracking

13
Auto-Tracking
14
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

15
Architektur
Hardware- Ansteuerung
Sensorverarbeitung
Künstliche Intelligenz
16
Architektur
Hardware- Ansteuerung
Frame Grabber
Kamera (Tracking)
Sonar
Odometrie
Aktoren
Netzwerk
Sensorverarbeitung
Künstliche Intelligenz
17
Architektur
Sensorverarbeitung
Bildverarbeitung
Odometrie
Eigenposition
Ballfindung
Eigenposition
Sonar
Tracking
Eigenposition
Ballfindung
Hardware- Ansteuerung
Sensorfusion
Ballfindung
Eigenposition
Künstliche Intelligenz
18
Architektur
Hardware- Ansteuerung
Sensorverarbeitung
Künstliche Intelligenz
Weltmodell
Verhalten
19
Echtzeitanforderungen bei Robocup
Performance
Deadline
Antwortzeit
  • Weiche Echtzeitanforderungen

Linux Kernel Realtime Linux Kernel
durchschnittliche Latenzzeit 10ms 5µs
maximale Latenzzeit gt10s 50µs
20
Echtzeit unter Linux zwei Ansätze
  • Preemptive Patch für Kernel
  • -MontaVista Scheduler
  • -KU-RT Linux
  • -TimeSys
  • Integration eines Mikrokernels
  • -RT-Linux
  • -RTAI

21
Echtzeit unter Linux - RTAI
User-Space
Realtime- Applikation
Linux- Programme
Fifo, Mailbox, SHMEM
Kernel-Space
Linux Kernel
LXRT
Kernel- Module
RTAI- Modul
RTAI- Modul
RTAI- Modul
Real-Time Hardware Abstraction Layer (RTHAL)
Hardware
22
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 Task
  • mit höchster Priorität

23
Design-To-Time Scheduling Algorithmus
Design To Time Scheduling Algorithmus
Pascha Taskgraph
Dispatcher Creator
C Code
24
Echtzeit-Scheduling
25
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

26
Eigenpositionsfindung
27
Eigenpositionsfindung protai6
  1. SeedSearch
  2. Zuordnung von SeedPoints zu drei Gruppen
    (Spielfeldbegrenzung, Spielfeldlinie vorne,
    Spielfeldlinie hinten) anhand einfacher Annahmen
  3. Liniensplittung und Verwurf der Verbindungspunkte

28
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

29
Farbklassifizierung
  • Partitionierung des RGB-Farbraums
  • Ziel Robustheit gegenüber Helligkeitsänderungen

30
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

31
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)

32
Farbkalibrierung
  • Suche nach Bereichsgrenzen der Partitionen
    weiß,schwarz,rot, ... (hier im HSV-Raum)
  • Wir haben zwei verschiedene Verfahren
    implementiert

manuell
semi-automatisch
33
Farbkalibrierung manuell
  • Klick in Region berechnet Minima und Maxima der
    HSV-Werte innerhalb eines Umkreises
  • Vorschau aller Farbregionen des Bildes und
    Berechnung von Ãœberlappungsbereichen

34
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

35
SeedSearch
  • Suche nach Farbübergängen entlang von Geraden
  • Ziel Robustheit gegenüber Störungen und
    Laufzeitoptimierung
  • Wir haben vier verschiedene Verfahren entwickelt

36
SeedSearch mit Fenster
Ãœbergangsaktivierungen
w
s
r
b
gr
ge
u
  • Robustheit gegenüber Störungen durch individuelle
    Aktivierungsgrenzen und Filterung in 3x3-Fenster

37
SeedSearch mit Ãœberspringen
Ãœbergangsaktivierungen
w
s
r
b
gr
ge
u
  • Robustheit gegenüber Störungen durch
    Aktivierungen
  • Ãœberspringen von je 3 Pixeln bis Farbübergang
    erreicht, dann Backtracking

38
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)

39
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

40
Gegnererkennung
  • Suche nach schwarzen Farbclustern ausschließlich
    mit SeedPoints
  • Berechne erwartete Ausmaße anhand der Höhe im
    Bild

41
Sonar und Odometrie
  • Alle 50 ms kann je einer der 8 Sonarsensoren
    abgerufen werden.
  • Sonarinformationen werden für die
    Eigenpositionsfindung und Hindernis/Gegner-Erkennu
    ng verwendet
  • Odometrieinformationen werden alle 50 ms
    abgefragt und für die Eigenpositionsfindung
    verwendet.

42
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

43
Sensorfusion
Sensor
Letzter Wert
Zeitstempel
Zeitstempel
Messwert
Messwert
Varianz
Varianz
Kalman Filter
  • 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

44
Sensorfusion der Eigenpositionsfindung
Bildverarbeitung
Sonar
Odometrie
Letzter Wert
Zeitstempel
Zeitstempel
Zeitstempel
Zeitstempel
Messwert
Messwert
Messwert
Messwert
Varianz
Varianz
Varianz
Varianz
Kalman Filter
45
Sensorfusion der Ballfindung
Bildverarbeitung
Tracking
Kommunikation
Letzter Wert
Zeitstempel
Zeitstempel
Zeitstempel
Zeitstempel
Messwert
Messwert
Messwert
Messwert
Varianz
Varianz
Varianz
Varianz
Kalman Filter
46
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

47
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

48
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

49
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)

50
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

51
Gruppenkommunikationsprotokoll (GKP)
  • Datenpaket / Nutzdaten
  • Zeitstempel
  • Eigenposition
  • Ballposition
  • Gegnerposition
  • Ballbesitz
  • Beliebig erweiterbar um weitere Daten
  • des Weltmodells und der KI

52
Gruppenkommunikationsprotokoll (GKP)
  • Funktionsweise / Ãœbersicht

53
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

54
Zeitsynchronisation
  • Initiale Zeitsynchronisation
  • Ausgleich des Offsets beim Login
  • Ãœbernahme der Zeit des CommServers
  • Problem Werteanpassung des im IEEE 802.11
    Standard definierten Uhren-synchronisationsprotoko
    lls
  • Doppelte Zeitpunkte
  • Zeitsprünge

55
Zeitsynchronisation
  • Werteanpassung vs. Ratenanpassung

56
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

57
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

58
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

59
Künstliche Intelligenz
Kommando
Kommandofusion
Verhalten
Verhalten
Verhalten
KF
Kommando
Arbitrationstrategy
Kommando
Arbitrationstrategy
Arbitrationstrategy
V
V
K
K
AS
AS
60
Teamverhalten
  • Kooperatives Verhalten
  • Dezentrale Entscheidungen
  • Informationsaustausch
  • Rollenzuweisung

61
Simulator
  • Ersetzt die reale Umgebung
  • Ersetzt Sensoren und Aktoren
  • Einsatz zum Test der KI
  • Einsatz zum Test der Sensorverarbeitung

62
GrabBall
63
GrabBall - Teamverhalten
64
ScoreGoal
65
ScoreGoal - Teamverhalten
66
Pass
67
Positionsspiel
68
Torwartposition
69
Torwart GrabBall
70
Beispiel 2 gegen 1
71
Beispiel 2 gegen 1
72
Beispiel 2 gegen 1
73
Beispiel 2 gegen 1
74
Vielen Dank für die Aufmerksamkeit!
Write a Comment
User Comments (0)
About PowerShow.com