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
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?. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
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
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
Projektstudium RoboCup 2002/2003 - protai7
4 / 74
Was ist das Projektstudium?
• Praktische Erfahrungen
• Anspruchsvolle wissenschaftliche Themengebiete
• Teamarbeit
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
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
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
Projektstudium RoboCup 2002/2003 - protai7
8 / 74
Welche Hardware steht zur Verfügung?
• Roboter– ActivMedia Pioneer 2– Embedded Board mit
3. Liniensplittung und Verwurf der Verbindungspunkte
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
Projektstudium RoboCup 2002/2003 - protai7
29 / 74
Farbklassifizierung
• Partitionierung des RGB-Farbraums
• Ziel: Robustheit gegenüber Helligkeitsänderungen tundefiniergelbblaugrünrotschwarzweißf ,,,,,,255: 3
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
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)
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
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
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
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
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
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
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)
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
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
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.
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
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
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
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
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
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
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
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)
Projektstudium RoboCup 2002/2003 - protai7
50 / 74
Gruppenkommunikationsprotokoll (GKP)
• Datenpaket / Header (36 Bit)
Login Login-Modus (0: No Login, 1: Login, 2: Relogin)
• Notwendig zur Erkennung temporaler Abhängigkeiten in verteilten Systemen (WLAN)
• Zeitdifferenz– um einen gewissen Offset– durch asynchrone Systemuhren
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
Projektstudium RoboCup 2002/2003 - protai7
55 / 74
Zeitsynchronisation
• Werteanpassung vs. Ratenanpassung
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
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