RoboCup-AG: Unterschied zwischen den Versionen

Aus Fachschaft_Informatik
Zur Navigation springen Zur Suche springen
Zeile 45: Zeile 45:
Die Webcam als "Augen" des Roboters ist das wichtigste "Organ" des Roboters. Ohne sie geht garnix.
Die Webcam als "Augen" des Roboters ist das wichtigste "Organ" des Roboters. Ohne sie geht garnix.
Die Bildverarbeitung muss extrem gute und schnelle Algorithmen verwenden, da das Problem ein Echtzeitproblem ist, und die Hardware beschränkt ist.
Die Bildverarbeitung muss extrem gute und schnelle Algorithmen verwenden, da das Problem ein Echtzeitproblem ist, und die Hardware beschränkt ist.
===== Klassifikation / Kalibrierung =====
Um überhaupt etwas erkennen zu können müssen zunächst ein mal die Pixel grob klassifiziert werden. Welche Pixel gehören zum Spielfeld? Zu den Linien?
Zu einem Roboter? Zu einem Tor? Was liegt überhaupt auf dem Spielfelt - wo ist der "Horizont" welche Pixel interessieren uns gar nicht?
Da sich die Lichtverhältnisse ständig ändern können muss eine entsprechende Klassifizierung möglichst Robust sein und sich ständig neu kalibrieren.
===== Lokalisation =====
===== Lokalisation =====
Für das Verhalten ist es besonders wichtig dass Der Roboter weiß wo er steht. Hier gibt es verschiedene Ansätze - z.B. die Orientierung an Feldlinien.  
Für das Verhalten ist es besonders wichtig dass Der Roboter weiß wo er steht. Hier gibt es verschiedene Ansätze - z.B. die Orientierung an Feldlinien.  
Zeile 63: Zeile 67:
===== Gegnererkennung =====
===== Gegnererkennung =====
Gegner Anrempeln ist ein Foul und verboten. Daher müssen wir Roboter erkennen. Für ein sinnvolles Passspiel ist es außerdem wichtig zu erfahren welcher Mannschaft ein erkannter Roboter angehört.
Gegner Anrempeln ist ein Foul und verboten. Daher müssen wir Roboter erkennen. Für ein sinnvolles Passspiel ist es außerdem wichtig zu erfahren welcher Mannschaft ein erkannter Roboter angehört.
==== Audio-Input ====
==== Audio-Input ====
Unsere Roboter haben mehrere Mikrofone. Damit wäre es theoretisch möglich Gegner über ihr distinktives Lüftergeräusch zu lokalisieren, oder Spracheingaben zu akzeptieren.
Unsere Roboter haben mehrere Mikrofone. Damit wäre es theoretisch möglich Gegner über ihr distinktives Lüftergeräusch zu lokalisieren, oder Spracheingaben zu akzeptieren.

Version vom 7. April 2013, 16:46 Uhr

Die RoboCup-AG ist eine Studentische AG am Fachbereich die unter dem Teamnamen "Hamburg Bit-Bots" für unsere Fachschaft an nationalen und internationalen Wettbewerben im Roboterfußball teilnimmt. Darüber hinaus nehmen wir an Tagungen teil und versuchen mit unseren DARwIn-OP Robotern tolle Dinge zu erreichen. In Kooperation mit verschiedenen Arbeitsbereichen sind auch Abschlussarbeiten bei uns möglich.

Im Deutschlandweiten Vergleich zeichnen wir uns vor allem durch eine sehr hohe Eigenverantwortlichkeit aus. Die komplette AG ist studentisch organisiert, die Zusammenarbeit mit dem Fachbereich und seinen Arbeitsbereichen funktioniert dennoch sehr gut.

Kontakt

Mitglieder

  • Marc 10bestman
  • Olli 7bestman
  • Timon 7giese
  • Maxim 8holand
  • Sheepy 8kessler
  • Maike 8paetzel
  • Anja 8richter
  • Nils 8rokita
  • Heye 9voeckin
  • ... diverse Helfer die kurzfristig Aufgaben übernehmen und sich (noch) nicht als Vollmitglieder betrachten.

Regelmäßiges Treffen

Die AG steht jedem Mitglied der Fachschaft offen, es gibt ein Wöchentliches Treffen bei dem wir uns über den Stand unserer Arbeit austauschen und unser gemeinsames Vorgehen besprechen.

Das Treffen findet *jeden Montag um 18:00 in R-031* statt und wir freuen uns über Besuch.

Räume

  • Unser Labor ist in F-015, dort arbeiten wir in Kleingruppen zu individuellen Zeiten, oft auch am Wochenende. Wir teilen uns den Raum nur mit dem offiziellen RoboCup-Projekt
  • Im Seminarraum R-031 finden unsere regelmäßigen Treffen statt da wir dort einen Beamer und einen Konferenztisch haben
  • Im Seminarraum F-132 bauen wir unser großes Feld auf, wenn wir eines benötigen. Meist im Vorfeld von Wettbewerben.

RoboCup Wettberwerb

Der RoboCup ist eine internationale Veranstaltung mit dem Ziel die Forschung im Bereich Robotik voran zu treiben. Unter anderem wird dort Roboterfußball gespielt. Wir treten mit unseren Robotern in der Humanoid Kid-Sized League an. Die nationale entsprechung zum RoboCup sind die "German Open", dort treten auch viele ausländische Teams an, da sie zu den international bedeutenden Wettbewerben in diesem Bereich zählen (Kaum ein Land stellt so viele Mannschaften im Roboterfußball wie Deutschland). Bei den German Open 2012 haben wir zusammen mit den WF Wolves den dritten Platz erreicht. [1]

Aufgaben in der AG

Mafiasi die Interesse haben uns zu helfen können sich unter anderem auf folgende Aufgabengebiete freuen:

Programmieren/Forschen

Eigentlich unser Hauptanliegen, auch wenn die anderen Aufgaben sehr viel Raum einnehmen. Auf die eigentliche Entwicklungsarbeit entfällt so nur etwa 1/3 unserer Gesamtarbeitszeit

Bildverarbeitung

Die Webcam als "Augen" des Roboters ist das wichtigste "Organ" des Roboters. Ohne sie geht garnix. Die Bildverarbeitung muss extrem gute und schnelle Algorithmen verwenden, da das Problem ein Echtzeitproblem ist, und die Hardware beschränkt ist.

Klassifikation / Kalibrierung

Um überhaupt etwas erkennen zu können müssen zunächst ein mal die Pixel grob klassifiziert werden. Welche Pixel gehören zum Spielfeld? Zu den Linien? Zu einem Roboter? Zu einem Tor? Was liegt überhaupt auf dem Spielfelt - wo ist der "Horizont" welche Pixel interessieren uns gar nicht? Da sich die Lichtverhältnisse ständig ändern können muss eine entsprechende Klassifizierung möglichst Robust sein und sich ständig neu kalibrieren.

Lokalisation

Für das Verhalten ist es besonders wichtig dass Der Roboter weiß wo er steht. Hier gibt es verschiedene Ansätze - z.B. die Orientierung an Feldlinien. In der Liga werden derzeit auch exotische verfahren erprobt - wie z.B. das orientieren an den kleidungsfarben der Zuschauer (die potentiell ihren standort ändern können)

Ballerkennung

Der Ball ist rund. Im Moment ist er auch noch orange, das wird sich in Zukunft aber ändern. Für die Challenges müssen bereits beliebige Ballfarben erkannt werden können. Man möchte aber auch nicht blos wissen dass dort "irgendwo" ein Ball ist, sondern auch wo genau und in welche richtung er sich mit welcher Geschwindigkeit bewegt.

Torerkennung

Seit neuestem sind die Tore beide Gelb eingefärbt. Die Torerkennung funktioniert weitestgehend, könnte aber evtl. noch verbessert werden. Hauptproblem ist neuerdings die Unterscheidung zwischen Freund und Feindtor, was eng mit der Lokalisierung zusammen läuft.

Kommunikation

Die Roboter dürfen aktuell über ein WLAN miteinander Informationen austauschen. Da dieses aber häufig während eines Spiels zusammen bricht forschen wir an der Verlagerung auf natürlichsprachliche Kommunikation zu der die Roboter dank Mikrophon und Lautsprecher theoretisch fähig sind. Auch die Mensch-Roboter Kommunikation für Vorführungen und Coaching ist ein Thema dass wir im Hinterkopf haben.

Gegnererkennung

Gegner Anrempeln ist ein Foul und verboten. Daher müssen wir Roboter erkennen. Für ein sinnvolles Passspiel ist es außerdem wichtig zu erfahren welcher Mannschaft ein erkannter Roboter angehört.

Audio-Input

Unsere Roboter haben mehrere Mikrofone. Damit wäre es theoretisch möglich Gegner über ihr distinktives Lüftergeräusch zu lokalisieren, oder Spracheingaben zu akzeptieren.

Audio-Output

Einen Lautsprecher haben die Darwins auch - damit können wir Diagnoseinformationen ansagen. Die Roboter sollen auch alle eine Individuelle Stimme haben damit sie eine persönlichkeit bekommen. Theoretisch dürfen sich die Darwins auch auf dem Feld (natürlichsprachliche) Anweisungen zurufen. Ein plötzlich ausgefallenes Wlan hat bereits Teams die Weltmeisterschaft gekostet. Außerdem ist davon auszugehen dass die Kommunikation über WLan eines Tages verboten wird (Eingeschränkt ist sie jetzt schon).

Kinematik

Die Bewegungsabläufe des Roboters müssen ständig verbessert werden. Im moment ist die Bewegung unserer Roboter noch eher ein wenig ungelenkig.

Animationen aufnehmen

Bestimmte Bewegungsabläufe des Roboters müssen vorab "aufgenommen" werden damit man sie in der richtigen Situation abspielen kann. Z.B. das aufheben und werfen eines Balles, ein guter Tritt mit dem Fuß, ein tritt der den Ball besonders hoch in die Luft befördert - oder einfach nur der Torjubel nach einem erfolgreichen Treffer.

Dynamische Bewegungsabläufe

Momentan ist das meiste der Bewegung am Roboter noch statisch. Da aber die Gegebenheiten (weichheit des Teppichs, bodenwellen, Rempler von anderen Robotern etc) sich ändern könen möchte man dass der Roboter seine Haltung zumindest stückweise an die Situation anpassen kann.

Verhalten

Das ganze Spielverhalten, die Kommunikation mit anderen Spielern. Entscheiden wann welche Aktion durchgeführt wird. Dieser Tätikgeitsbereich ist wie kein Anderer von der Arbeit anderer abhängig. Oftmals geht es vor allem darum trotz eingeschränktem Wissen und Möglichkeiten der Bildverarbeitung/ Bewegung ein einigermaßen erfolgreiches Verhalten zu schreiben.

Analyse/Debugging

Damit mit den Robotern sinnvoll gearbeitet werden kann müssen wir Daten über den Betrieb sammeln und grafisch anzeigen. Im Moment nutzen wir ein eigenes client-server basiertes debug-framework mit einer gtk2-gui. Die Oberflächengestaltung wurde 2012/13 von einer MCI Projektgruppe optimiert. Aufbereitung von Debugdaten wird aber weiter ein wichtiges Thema bleiben, da sich die gegebenheiten ständig ändern.

Organisieren

Die Organisation der ganzen AG hat einen Overhead von ca. 2/3 unserer Aufgewendeten Zeit.

Finanzierung

Roboter sind ein sehr teueres Vergnügen - und Reisen mit ihnen ebenfalls. Wenn wir nicht einen großen Teil unserer Zeit dem beschaffen von Geldmitteln widmen, können wir die AG nicht langfristig betreiben.

Spender und Sponsoren finden

Am liebsten sind uns natürlich Spender - aber auch Sponsoring gegenüber stehen wir sehr offen da. Mögliche Sponsoren müssen kontaktiert werden, oft möchten die auch dass man sich persönlich vorstellt. Dann muss natürlich verhandelt werden um ein Ergebnis zu finden das für uns und den Sponsor zufriedenstellend ist.

Am Fachbereich Unterstützung finden

Einige Dinge kann unser Fachbereich finanzieren, wenn man an den richtigen Stellen fragt und i.d.r. einen Antrag schreibt. Einige Arbeitsbereiche können uns manchmal eigenes Material oder Räume zur Verfügung stellen.

Um Fördermittel bewerben

Hier haben wir bislang noch so gut wie keine Erfahrungen gesammelt. Prinzipell wäre es aber im Sinne der Öffentlichkeit Projekte wie unesres zu fördern - daher gibt es da wahrscheinlich auch irgendwo Gelder für.

Kassenbuch führen

Unser Kassenbuch führen wir derzeit als Sonderkategorie unserer Inventardatenbank.

Public Relations

Wir möchten dass man uns auch kennt, denn nur wenn man uns kennt werden wir die Unterstützung bekommen die wir brauchen. Neben dem offensichtlichen Eigennutzen ist es natürlich auch toll wenn man den Menschen etwas zeigen kann und sie vielleicht für diese Art der Wissenschaft begeistert.

Pflege der Homepage

Wir haben eine einigermaßen hübsche Homepage, es ist jedoch ein ständiger Kampf sie aktuell zu halten und den Leuten die drauf gehen auch etwas zu bieten. Die Homepage läuft mit Wordpress, und es ist auch Laien möglich Artikel dafür zu schreiben und Administrative aufgaben daran durchzuführen. Im Hintergrund will natürlich auch der Webserver gepflegt werden.

Schneiden von Videos

Videos sind toll, nichts begeistert die Leute so sehr wie gutes Bildmaterial - idealerweise noch mit (freier) Musik im Hintergrund. Eine Wall of Text alleine gefällt niemandem, daher machen wir gerne Videos um etwas über uns zu zeigen. Videos müssen aber auch erst einmal gedreht, bearbeitet, gerendert und hochgeladen werden.

"Sozialer" Netzwerkkrams

Ob wir wollen oder nicht - Soziale Seiten haben heutzutage einen hohen Stellenwert. Einige Leute freuen sich unsere Statusupdates via Twitter und Co. zu verfolgen. Da muss natürlich auch jemand sitzen und die Dinge schreiben. Klugerweise verknüpft man verschiedene Dienste miteinander um den Aufwand für das aktualisieren zu minimieren. Möglicherweise gibt es da bestehende Software oder auch das Interesse da eine Neuentwicklung zu betreiben.

Schulvorführungen

Das Interesse von Schülern an Dingen wie wir sie machen ist sehr hoch - und wir freuen uns wenn wir da ein wenig von unserem Wissen und unserer Begeisterung weiter vermitteln können. Da haben wir zwar einen eher geringen Eigennutzen von - aber einen recht hohen Gesellschaftlichen. Damit das ganze auch interessant und didaktisch relevant wird müssen wir uns da Gedanken drüber machen.

Aktionen am Fachbereich

Bei Dingen wie Expo und Sommerfest, aber auch bei Aktionen einiger Arbeitsbereiche sind wir natürlich auch gerne dabei.

Messen und ähnliches

Wir nehmen gerne im Rahmen unserer Möglichkeit an anderen Veranstaltungen teil wo wir zeigen können was wir machen und natürlich potentiell Leute kennen lernen die uns weiter helfen können.

Sonstiges

Die Kleinigkeiten zählen. Z.B. ein eigenes Brieflayout, Bedruckte Briefumschläge, eigene Stempel, Plakate an den Türen etc. Gute Ideen sind immer gefragt.

Hardware

Wir sind "eigentlich" noch gut dran mit unseren Robotern - viele Teams bauen die selber. Technische Geräte wollen aber Liebe und Zuwendung erfahren, und so macht die Hardware mindestens ein drittel unserer Arbeit aus.

Inventardatenbank pflegen

Um Übersicht über unserer Hardware und ihren Zustand zu haben, benutzen wir eine selbst zusammengeschusterte SQL Datenbank mit Django-Frontend. Die Datenbank muss aktuell gehalten werden. Außerdem kann die Benutzeroberfläche mit der Zeit noch pratkischer gestaltet werden und neue Funktionen dazu kommen.

Wartungsarbeiten
  • Motoren müssen regelmäßig durch getauscht werden
  • Schrauben müssen festgezogen und mit Schraubenfixierer behandelt werden
  • Elektronik muss Staubfrei bleiben
  • Akkus müssen geladen, sicher gelagert, und in Schuss gehalten werden
  • Wartungskonzept muss entwickelt und laufend verbessert werden
  • Arbeiten und zustand der Hardware müssen sauber dokumentiert werden
Reparaturen

Dinge gehen kaputt und müssen ersetzt, oder besser kostengünstig repariert werden. Dafür müssen dann Technische Zeichnungen, Schaltpläne, Spezifikationen das richtige Werkzeug und Ersatzteile beschafft werden. Einige Aufgaben können nur von Experten durchgeführt werden. Bei vielen Sachen hilft uns die Fachbereichs-eigene Werkstatt.

Verbesserungen

In unserer Liga und mit unseren Robotern ist es möglich Verbesserungen an der Hardware vorzunehmen um den Gegnerischen Teams einen Schritt voraus zu sein. Beispiele:

  • Anpassen der Fußform
  • Einbau besserer Webcams
  • Entfernen gefährlicher Metallteile vom Mainboard
  • Bessere Befestigung der Akkus

Referenzen