Robocup 2002 2003
Download
1 / 74

RoboCup 2002/2003 - PowerPoint PPT Presentation


  • 59 Views
  • Uploaded on

RoboCup 2002/2003. Projektstudium Technische Anwendungen der Informatik protai 7. Abschlussveranstaltung 07.08.2003 Lehrstuhl für Rechnerstrukturen, Prof. Dr. Grass Lehrstuhl für Numerische Mathematik und Analysis, Prof. Dr. Donner. Was ist RoboCup?.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'RoboCup 2002/2003' - lorie


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Robocup 2002 2003

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


Was ist robocup
Was ist RoboCup?

  • Internationale Forschungs- und Bildungsinitiative

  • Schwerpunkt: Künstliche Intelligenz und Intelligente Robotik

  • Populäres Spiel: Fußball


Die middle size league
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


Was ist das projektstudium
Was ist das Projektstudium?

  • Praktische Erfahrungen

  • Anspruchsvolle wissenschaftliche Themengebiete

  • Teamarbeit


Aufgaben und ziele
Aufgaben und Ziele

  • Übernahme des bestehenden Projektes

  • Implementierung von Teamfähigkeit

  • Einführung von Echtzeit-Scheduling

  • Grundlage für nachfolgende Gruppen


Herausforderungen
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


Inhalts bersicht
Inhalts-Übersicht

  • Grundlagen

  • Hardware

  • Architektur des Projektes

  • Sensorverarbeitung und Bildverarbeitung

  • Kommunikationssystem

  • Künstliche Intelligenz

  • Vorführung Bildverarbeitung und KI

  • Live-Vorführung auf dem Spielfeld


Welche hardware steht zur verf gung
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


Betriebs umgebung
Betriebs-Umgebung

  • Standard-Hardware

  • Linux (Debian 3.0)

  • Echtzeit-Kernel

  • Problem: Festplatte im fahrenden Roboter

  • Lösung: Disc on Chip


Die kamera
Die Kamera

  • Sony EVI-D31

  • Schwenkbar

  • Auto-Tracking

  • Kommunikation per VISCATM Protokoll (Video System Control Architecture)


Neuerung auslesen von kameradaten
Neuerung: Auslesen von Kameradaten

  • Serielles Kabel von der Kamera zum Mainboard

  • Kommunikation über das VISCATM Protokoll


Interessante kameradaten
Interessante Kameradaten

  • Belichtungseinstellungen

  • Neigungs- und Drehwinkel

    • Kamera kann im Spiel bewegt werden

  • Auto-Tracking Informationen

    • Bis zu vier Ziele

    • Aktives und passives Tracking



Inhalts bersicht1
Inhalts-Übersicht

  • Grundlagen

  • Hardware

  • Architektur des Projektes

  • Sensorverarbeitung und Bildverarbeitung

  • Kommunikationssystem

  • Künstliche Intelligenz

  • Vorführung Bildverarbeitung und KI

  • Live-Vorführung auf dem Spielfeld


Architektur
Architektur

Hardware-

Ansteuerung

Sensorverarbeitung

Künstliche

Intelligenz


Architektur1
Architektur

Hardware-

Ansteuerung

Frame

Grabber

Kamera

(Tracking)

Sonar

Odometrie

Aktoren

Netzwerk

Sensorverarbeitung

Künstliche

Intelligenz


Architektur2
Architektur

Sensorverarbeitung

Bildverarbeitung

Odometrie

Ballfindung

Eigenposition

Eigenposition

Sonar

Tracking

Eigenposition

Ballfindung

Hardware-

Ansteuerung

Sensorfusion

Ballfindung

Eigenposition

Künstliche

Intelligenz


Architektur3
Architektur

Hardware-

Ansteuerung

Sensorverarbeitung

Künstliche

Intelligenz

Weltmodell

Verhalten


Echtzeitanforderungen bei robocup
Echtzeitanforderungen bei Robocup

Performance

Deadline

Antwortzeit

  • Weiche Echtzeitanforderungen


Echtzeit unter linux zwei ans tze
Echtzeit unter Linux – zwei Ansätze:

Preemptive Patch für Kernel

-MontaVista Scheduler

-KU-RT Linux

-TimeSys

Integration eines Mikrokernels

-RT-Linux

-RTAI


Echtzeit unter linux rtai
Echtzeit unter Linux - RTAI

User-Space

Realtime-

Applikation

Linux-

Programme

Fifo, Mailbox, SHMEM

Kernel-Space

LXRT

Linux

Kernel

Kernel-

Module

RTAI-

Modul

RTAI-

Modul

RTAI-

Modul

Real-Time Hardware Abstraction Layer (RTHAL)

Hardware


Design to time scheduling algorithmus
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


Design to time scheduling algorithmus1

DecisionDAG

Design-To-Time Scheduling Algorithmus

Design To Time

Scheduling

Algorithmus

Pascha

Taskgraph

Dispatcher

Creator

C++ Code


Echtzeit scheduling

Hardware-

Ansteuerung

Sensorverarbeitung

Kamera-

daten

Sonar/

Odometrie-

daten

Künstliche

Intelligenz

Kernel Modul

RTAI

RealTime OS

Kernel

Dispatcher

RTAI

TaskGraph

Echtzeit-Scheduling


Inhalts bersicht2
Inhalts-Übersicht

  • Grundlagen

  • Hardware

  • Architektur des Projektes

  • Sensorverarbeitung u. Bildverarbeitung

  • Kommunikationssystem

  • Künstliche Intelligenz

  • Vorführung Bildverarbeitung und KI

  • Live-Vorführung auf dem Spielfeld


Eigenpositionsfindung

Fehler

  • Extrahiere Linien aus Bild

  • Berechne Lage der Linien im Roboter-Koordinaten-System

  • Extrahiere Linien aus Bild

  • Extrahiere Linien aus Bild

  • Berechne Lage der Linien im Roboter-Koordinaten-System

  • Linien-Matching mit gespeichertem Spielfeld-Modell und Hypothesen-Erzeugung

  • Bewertung der Hypothesen mittels Fehlerfunktion und Auswahl der besten Hypothese

  • Extrahiere Linien aus Bild

  • Berechne Lage der Linien im Roboter-Koordinaten-System

  • Linien-Matching mit gespeichertem Spielfeld-Modell und Hypothesen-Erzeugung

Eigenpositionsfindung


Eigenpositionsfindung protai 6
Eigenpositionsfindung protai6

  • SeedSearch

  • Zuordnung von SeedPoints zu drei Gruppen (Spielfeldbegrenzung, Spielfeldlinie vorne, Spielfeldlinie hinten) anhand einfacher Annahmen

  • Liniensplittung und Verwurf der Verbindungspunkte


Eigenpositionsfindung1
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


Farbklassifizierung
Farbklassifizierung

  • Partitionierung des RGB-Farbraums

  • Ziel: Robustheit gegenüber Helligkeitsänderungen


Der hsv farbraum
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


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


Farbkalibrierung
Farbkalibrierung

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

  • Wir haben zwei verschiedene Verfahren implementiert

manuell

semi-automatisch


Farbkalibrierung manuell
Farbkalibrierung – manuell

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

  • Vorschau aller Farbregionen des Bildes und Berechnung von Überlappungsbereichen


Farbkalibrierung semi automatisch
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


Seedsearch
SeedSearch

  • Suche nach Farbübergängen entlang von Geraden

  • Ziel: Robustheit gegenüber Störungen und Laufzeitoptimierung

  • Wir haben vier verschiedene Verfahren entwickelt


Seedsearch mit fenster
SeedSearch mit Fenster

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

Übergangsaktivierungen

s

w

r

gr

b

ge

u


Seedsearch mit berspringen
SeedSearch mit Überspringen

  • Robustheit gegenüber Störungen durch Aktivierungen

  • Überspringen von je 3 Pixeln bis Farbübergang erreicht, dann Backtracking

Übergangsaktivierungen

s

w

r

gr

b

ge

u


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


Ballfindung1
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


Gegnererkennung
Gegnererkennung

  • Suche nach schwarzen Farbclustern ausschließlich mit SeedPoints

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


Sonar und odometrie
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.


Tracking
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


Sensorfusion
Sensorfusion

Sensor

Letzter Wert

Zeitstempel

Zeitstempel

  • 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

Messwert

Messwert

Varianz

Varianz

Kalman Filter


Sensorfusion der eigenpositionsfindung
Sensorfusion der Eigenpositionsfindung

Bildverarbeitung

Sonar

Odometrie

Letzter Wert

Zeitstempel

Zeitstempel

Zeitstempel

Zeitstempel

Messwert

Messwert

Messwert

Messwert

Varianz

Varianz

Varianz

Varianz

Kalman Filter


Sensorfusion der ballfindung
Sensorfusion der Ballfindung

Bildverarbeitung

Tracking

Kommunikation

Letzter Wert

Zeitstempel

Zeitstempel

Zeitstempel

Zeitstempel

Messwert

Messwert

Messwert

Messwert

Varianz

Varianz

Varianz

Varianz

Kalman Filter


Inhalts bersicht3
Inhalts-Übersicht

  • Grundlagen

  • Hardware

  • Architektur des Projektes

  • Sensorverarbeitung u. Bildverarbeitung

  • Kommunikationssystem

  • Künstliche Intelligenz

  • Vorführung Bildverarbeitung und KI

  • Live-Vorführung auf dem Spielfeld


Gruppenkommunikationsprotokoll gkp
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


Gruppenkommunikationsprotokoll gkp1
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


Gruppenkommunikationsprotokoll gkp2
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)


Gruppenkommunikationsprotokoll gkp3
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


Gruppenkommunikationsprotokoll gkp4
Gruppenkommunikationsprotokoll (GKP)

  • Datenpaket / Nutzdaten

    • Zeitstempel

    • Eigenposition

    • Ballposition

    • Gegnerposition

    • Ballbesitz

  • Beliebig erweiterbar um weitere Daten

    des Weltmodells und der KI


Gruppenkommunikationsprotokoll gkp5
Gruppenkommunikationsprotokoll (GKP)

  • Funktionsweise / Übersicht


Zeitsynchronisation
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


Zeitsynchronisation1
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


Zeitsynchronisation2
Zeitsynchronisation

  • Werteanpassung vs. Ratenanpassung


Zeitsynchronisation3
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


Gruppenkommunikationsprotokoll gkp6
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


Inhalts bersicht4
Inhalts-Übersicht

  • Grundlagen

  • Hardware

  • Architektur des Projektes

  • Sensorverarbeitung u. Bildverarbeitung

  • Kommunikationssystem

  • Künstliche Intelligenz

  • Vorführung Bildverarbeitung und KI

  • Live-Vorführung auf dem Spielfeld


K nstliche intelligenz
Künstliche Intelligenz

Kommando

Kommandofusion

Verhalten

Verhalten

Verhalten

KF

Kommando

Arbitrationstrategy

Kommando

Arbitrationstrategy

Arbitrationstrategy

V

V

K

AS

K

AS


Teamverhalten
Teamverhalten

  • Kooperatives Verhalten

  • Dezentrale Entscheidungen

  • Informationsaustausch

  • Rollenzuweisung


Simulator
Simulator

  • Ersetzt die reale Umgebung

  • Ersetzt Sensoren und Aktoren

  • Einsatz zum Test der KI

  • Einsatz zum Test der Sensorverarbeitung