Wer sind wir, die RZWEI-KICKERS ?

Wir sind ein gemischtes Team von Berufsschülern, Studierenden, Professoren, Industriepartnern – gegründet 2020 – und wir freuen uns jederzeit über Neuzugänge!

Mitglieder des R2K-Kickers Teams:

  • Adrian Müller (Prof. Informatik): Hybride KI, Projektleitung
  • Andreas Hobelsberger (AI, 5. Sem): Simulator Developer, Card Development
  • Christopher Woll (DE, 3. Sem)
  • Connor Lismore (AI, 5. Sem.): Bilderkennung
  • Felix Mayer(AI, 6.Sem.): Teach-In, Optimierung Steuerung
  • Thomas Jäger (MI, 6. Sem): “the Trainer”, Code, Kicks, Taktik!
  • und als unser Berater: Philipp (abat+): für den Transfer der Inhalte auf Industrie 4.0 und KI Projekte

Ehemalige Mitglieder des R2K-Kickers Teams:

  • David Kostka (AI, 6. Sem.): Bilderkennung
  • Jannis Schottler (AI., 2. Sem): RobCup Junior League Weltmeister
  • Jonas Lambing(BBS KL): Cards, Deployment
  • Markus Dauth (Master Informatik 1.Sem): Agiles Testen, Optimierung
  • Mike Hindi (AI, 6. Sem): Bilderkennung

Unsere “weekly standups” sind Mittwoch um 14.oo Uhr im Discord. Änderungen der Uhrzeit werden hier angekündigt.

Über den Link oben könnt ihr unserem Chat auf Discord besuchen. Wenn ihr daran interessiert sind, mehr über uns und unsere Arbeit zu erfahren, dann besuche uns bei einem unserer wöchentlichen Treffen.


Warum wir uns “R-ZWEI KICKERS” nennen?

Darum 🙌

Was findet ihr auf dieser Webseite? So ziemlich alles: worum es geht, wie wir arbeiten, welche Arbeitsmaterialien wir für neue Team Mitglieder vorbereitet haben – und ganz unten auf der Seite eine Liste der aktuellen Projekte und offenen Arbeiten. Viel Spaß beim Lesen😉

Worum geht es? Der RoboCup soll die Robotik und KI Forschung fördern und das vor einem öffentlichen Publikum. Ein Fußball spielender Roboter mag  wie eine eher wissenschaftliche Herausforderung aussehen, aber man muss dabei eine Fülle von Standard Problemen – wie man sie aus der heutigen Industrie kennt – lösen, und ist damit ein guter Einstieg in die Welt der KI.

Unser Kooperationspartner abat+ unterstützt uns deshalb bei Projekt- und Bachelor-Arbeiten in den Feldern robuste Bildverarbeitung, innovative Roboter Programmierung und Prozessoptimierung in der diskreten Fertigung, um neue Geschäftsfelder für die Industrie 4.0 zu erschließen.

Unsere Naos 😃

Macht sie nicht kaputt!

“kick their asses!”

Achtung, die neuen Corona Regeln beachten.

Unsere drei Roboter Regeln😎

Was ist die RoboCup Standard Platform League?

RoboCup 2014, Joao Pessoa, Brasilien. Quelle: Uni Bonn

Der Robot Soccer World Cup ist die Fußball WM für Roboter. Der erste Wettkampf wurde 1997 bestritten und heute werden neben Fußball auch viele andere Wettkampf Arten ausgefochten, wie z. Bsp. auch die RoboCup Rescue League, bei dem die Roboter auf eine Rettungsmission entsandt werden.

Beim RoboCup lassen verschiedene Teams aus aller Welt ihr 5 Roboter in 2 Mannschaften gegeneinander wetteifern und dabei um den Fußball kämpfen, den Gegner austricksen und Tore schießen.  Die “Standard Platform League” (SPL) verwendet ausschließlich den gleichen Roboter, den NAO v6.

Die kleinen Roboter müssen sich vollständig autonom über das Spielfeld bewegen und dürfen nur wenig miteinander kommunizieren, um dennoch eine Team Strategie zu entwickeln, die zum Sieg führt. Dabei sollen sie trotz allem unabhängig voneinander agieren können.

Arbeiten mit dem NAO



Arbeitsumgebung

Der kleine humanoide Roboter NAO ist unser Spieler auf dem Spielfeld und wir sind sein Trainer.
Bei uns wird er sowohl mit C++ als auch mit Python programmiert. Dabei wird Python bei der Bilderkennung, wie zur Erkennung des Balls und des Tors, verwendet und C++ für den ganzen Rest. Darunter fällt zum Beispiel seine Bewegung über den Fußball Rasen.

Voraussetzung hierfür ist die im Projekt bereits mitgelieferte IDE CodeLite und Visual Studio code. Als Betriebssysteme benutzten wir derzeit Ubuntu 18.04 LTS und Windows 10 zum Einsatz.

Außerdem gibt es auch einen Simulator. Dann muss man nicht immer vor Ort sein um seinen Code zu testen. Der Simulator ‘SimRobot’ ist sogar von einem mehrfachen Siegerteam des RoboCup (B-Human – Uni Bremen und DFKI) entworfen. 


Beispiel Code

Wie gut müsst ihr programmieren können? Beantwortet es euch selbst.

Unten seht ihr ein Code Beispiel. Wenn ihr in der Lage seid, nachzuvollziehen was dort passiert, dann seid ihr bestens vorbereitet.

Sollte der NAO umfallen muss er laut Regelwerk selbst in der Lage sein wieder auf zu stehen. Der folgende Code erreicht das.

void FallEngine::safeFall(FallEngineOutput& output) const
{
  // set stiffness of each joint
  for(int i = 0; i < Joints::numOfJoints; i++)
    output.stiffnessData.stiffnesses[i] = 10;

  // falling backwards ? sit up.
  if(output.fallingBackwards)
  {
    MotionUtilities::sit(output);
  }

  // falling forward ? stand up.
  else if(output.fallingForward)
  {
    MotionUtilities::stand(output);
  }
}

Zuerst wird die Festigkeit alle Gelenke des Roboters festgelegt und anschließend das Bewegungsmuster zum Aufstehen zu starten. Dabei wird unterschieden, ob er nach vorne oder hinten umgefallen war. Als humanoider Roboter muss der NAO ebenso wie wir Menschen unterschiedliche Bewegungen ausführen um aufzustehen, je nachdem in welche Richtung er gefallen ist.

Der Nao wird im Simulator und “in Echt” mit dem gleichen Code gesteuert. Für die Programmierung verwenden wir C++, Python, TensorFlow (Keras), und “wenn->dann” Karten für die Steuerung des Verhaltens. Diese Karten sind sehr übersichtlich zu programmieren und steuern das Umschalten von bspw. Verteidigung auf Angriff, Passspiel und Torschuss.

Dieses Bild hat ein leeres Alt-Attribut. Der Dateiname ist map_of_cards.jpg

Wir nennen es unsere “Map of Cards” (wurde erstellt und wird weiterhin aktualisiert in Mural).

Teilnahme der AK Smart Machines

Der Arbeitskreis Smart Machines der HS-KL plante eine Teilnahme zur Qualifikationsphase der German Open in Magdeburg, April 2021. Das Event wurde- Corona-bedingt – in ein “remote Turnier” umgewandelt. Die Planung ist – Stand 11/2021 – noch nicht abgeschlossen.

Durch die Teilnahme wollen wir allen Studenten für die KI begeistern und sie im selben Moment fördern. Das bietet ihnen die einzigartige Möglichkeit den kleinen NAO als Freund und Helfer kennen zu lernen und mit ihm zu arbeiten. Vielleicht ergibt sich sogar Kontakt zu einer KI orientierten Firma, da der RoboCup auch außerhalb Deutschlands sehr populär ist.

Also was brauchten wir für eine erfolgreiche Teilnahme am RoboCup German Open 2021?

5x NAO V6
Ein Fußballfeld als Testumgebung
Eine Arbeitsumgebung
Einen Simulator
Einen Monster PC mit 3 GPUs und 64 GB RAM
Insider Wissen von ehemaligen Weltmeistern
Einen Gitlab Server

Ein Team (je mehr Mitglieder, desto besser)

Trickos für NAO-Roboter

Ein Link zum Gitlab Server findet ihr hier. Der Zugang ist nur für das Team – wenn Du neugierig bist, laden wir dich gerne als Gast ein.

Wenn Du ganz neugierig bist, findest Du hier unser Wiki, indem unser derzeitiger Fortschritt und unsere Arbeitsweise beschrieben wird.

Wenn Du unser NAO in Aktion sehen möchtest, dann gehe auf diesem Link, um auf unsere Youtube Page zu kommen, wo wir unsere Aufnahmen aus der Schwankhalle sowie alle Veranstaltungen, an denen wir teilgenommen haben, hochladen.

Da wir selbst über die nötigen NAOs verfügen, ist man keineswegs auf den Simulator angewiesen. Es kann ebenso mit den realen NAOs gearbeitet werden. Diese sind im Labor des AK Smart Machines im O-Gebäude, und können jederzeit ausgeliehen werden.

Die Vorarbeit ist also bereits getan; das einzige was fehlt bist du!

Hast du Interesse? Dann melde dich einfach und mach mit. Es gibt keinen Zwang, keine Verpflichtungen, keine Bürokratie. Also wenn du mitmachen möchtest, dann meld’ dich einfach bei uns. Im nächsten Abschnitt findest du die aktuelle Liste aller Projekte; Deine Vorschläge für weitere Themen sind willkommen.

Projekte, Bachelorarbeiten

Hier findest Du eine Übersicht über aktive und offene Arbeiten (Stand: 11/2021)

StatusFormTitelBeschreibung
abgeschlossene und aktive Arbeiten zur BilderkennungPraxisphase + Bachelor (Kooperation mit abat+)Robuste Bildererkennung in Echtzeit, Deep Learning (TensorFlow) in Simulation und Realität am Beispiel Roboter-Fußball, Data AugmentationSysteme zur Bilderkennung wie TensorFlow und Torch büßen drastisch an Performanz ein unter wechselnden Bedingungen wie geänderten Lichtverhältnisse, verwackelten und verschmutzten Kamerasystemen, unbekannten Objekten.
abgeschlossenPraxisphase + Bachelor (Kooperation mit abat+)Vereinfachtes Teach-In von Robotern durch Muster-Analyse des Einlernens mittels Data Mining ModellenModellierung einer Robotersteuerung auf drei Ebenen (Maschinenbewegungen, Muster von Bewegungen, Arbeitsabläufe) Erfassung von Rohdaten im Simulator von B-Human, Teach-In von Bewegungsmustern Erfassung und automatische Analyse von komplexen Abläufen
aktivStudienprojekt Simulator für RoboCup, auf Basis VulcanLäuft in Docker Container, unterstützt automatisiertes Testen
aktivStudienprojekt, Bachelorarbeit Praxisprojekt (Kooperation mit abat+)Sequenzanalyse – Visuelle Objektverfolgung im RaumDie Kameras der Roboter erfassen z.Z. Objekte individuell und erstellen ein geschätztes Weltmodell; basierend auf dem Stand einer Bachelorarbeit zur Sequenzanalyse bewegter Objekte soll dieses Modell bessere Werte enthalten.
abgeschlossenBachelorarbeitEine integrative Teststrategie für eine komplexe Roboter-programmierung am Beispiel RoboCup SPL – ein systematischer Übergang vom Simulator zur RealitätGlobale Optimierung der Systemleistung, bei Beachtung der Nutzen (Verschleiß, Energie)
Stärke: 2 Personen
    

Historie: Erste Schritte, aus dem Juli 2020

Auf den folgenden Videos sieht man unsere Naos im Keller des O028 auf einem 1/4 Wettbewerbsfeld:

Und hier haben wir Bilder von unserer brandneuen Schwankhalle. Hier lassen wir unsere NAO-Roboter gegeneinander spielen, um sie für zukünftige Veranstaltungen vorzubereiten.

Schwankhalle


Teile diese Seite