1 / 74

RoboCup 2002/2003

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?.

lorie
Download Presentation

RoboCup 2002/2003

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 • Grundlagen • Hardware • Architektur des Projektes • Sensorverarbeitung und Bildverarbeitung • Kommunikationssystem • Künstliche Intelligenz • Vorführung Bildverarbeitung und KI • 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 • Grundlagen • Hardware • Architektur des Projektes • Sensorverarbeitung und Bildverarbeitung • Kommunikationssystem • Künstliche Intelligenz • Vorführung Bildverarbeitung und KI • 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 Ballfindung Eigenposition 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

  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 LXRT Linux Kernel 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. DecisionDAG Design-To-Time Scheduling Algorithmus Design To Time Scheduling Algorithmus Pascha Taskgraph Dispatcher Creator C++ Code

  24. Hardware- Ansteuerung Sensorverarbeitung Kamera- daten Sonar/ Odometrie- daten Künstliche Intelligenz Kernel Modul RTAI RealTime OS Kernel Dispatcher RTAI TaskGraph Echtzeit-Scheduling

  25. 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

  26. 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

  27. Eigenpositionsfindung protai6 • SeedSearch • Zuordnung von SeedPoints zu drei Gruppen (Spielfeldbegrenzung, Spielfeldlinie vorne, Spielfeldlinie hinten) anhand einfacher Annahmen • 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 • Robustheit gegenüber Störungen durch individuelle Aktivierungsgrenzen und Filterung in 3x3-Fenster Übergangsaktivierungen s w r gr b ge u

  37. 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

  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-Erkennung 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 • 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

  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 • Grundlagen • Hardware • Architektur des Projektes • Sensorverarbeitung u. Bildverarbeitung • Kommunikationssystem • Künstliche Intelligenz • Vorführung Bildverarbeitung und KI • 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

More Related