Buchempfehlung:
Roboter-Autos mit dem Raspberry Pi

Roboter Autos mit dem Raspberry Pi - 2019

In diesem Beitrag geht es darum Trainingsdaten aufzuzeichnen um ein eigenes neuronales Netz trainieren zu können. Einmal ist es super interessant sein eigenes neuronales Netz zu trainieren aus technischer Sicht aber viel spannender ist es doch ob das Roboter Auto anschließend besser in der eigenen Umgebung zurecht kommt aus der die Trainingsdaten stammen. Das muss nicht immer der Fall sein und hängt ganz stark davon ab ob die Trainingsdaten gut sind oder eben nicht. Nur was gute Trainingsdaten sind und was nicht läst sich gar nicht so leicht sagen. Mehr dazu dann aber in diesem Beitrag der Dich Schritt für Schritt anleitet wie Du ein neuronales Netz für den OpenBot trainierst.

Hinweis: Du wirst etwas Ausdauer und Forschergeist brauchen wenn Du noch nie etwas mit Deep Learning etc. gemach hast. Es kann schon bei der Auswahl der Hardware und Software für den Trainingsrechner etwas herausfordernd werden. Aber ich kann versprechen die Ausdauert lohnt sich und das Thema künstliche Intelligenz ist super spannend.

Trainingsdaten aufzeichnen

In meinem Bericht bei dem es generell um die Anwendung der Android App ging hatte ich schon den Punkt angeschnitten welche Trainingsdaten alle aufgezeichnet werden können. Für die weiteren Schritte werde ich die default Einstellung der App verwenden und alle Sensordaten sowie die für das neuronale Netz verkleinerten Bild-Dateien aufzeichnen. Das sollte wie von den OpenBot Entwicklern vorgeschlagen vollkommen ausreichen um ein Neuronales Netz zu trainieren. Das deckt sich auch mit meinen Erfahrungen so habe ich die Donkey Cars mit Bildern mit einer Auflösung von ca. 160 x 120 Pixel erfolgreich trainiert.

Hier noch einmal die Optionen die ausgewählt werden können für die Trainingsdaten Aufzeichnung.

OpenBot App Screenshot collect trainings data

OpenBot App Screenshot collect trainings data

Jetzt ist es noch wichtig sich die Funktionen der Android App die über den PS4 Controller gesteuert werden vor Augen zu halten. Nur so kann man das Roboter Auto bzw. die Trainingsdaten Aufzeichnung erfolgreich steuern ohne gleich das Frustlevel zu erhöhen.

Daher habe ich versucht in dem folgenden Bild die verschiedenen Funktionen am PS4 Controller kenntlich zu machen. Wichtig ist es zu sehen mit welchem Button genau welche Funktion gesteuert werden kann.

OpoenBot PS4 Controller functions

OpoenBot PS4 Controller functions

So, jetzt geht es los mit dem Aufzeichnen der Trainingsdaten. Ich schlage vor, dass ihr ein paar Übungsrunden fahrt um das Fahren an sich zu üben damit später die Trainingsdaten auch eine hohe Qualität haben. Wenn das Fahren flüssig klappt dann beginnt die Datenaufzeichnung der Trainingsdaten die später auch wirklich für das Training des neuronalen Netzes genommen werden.

Hinweis: Es helfen nicht immer viele Daten sondern die Qualität der Daten muss stimmen.

Es folgen jetzt ein paar Beispiele für Fehler beim Erzeugen von Trainingsdaten aus verschiedenen Schulungen mit Donkey Cars die ich bereits an vielen Standorten durchgeführt habe. Das Bild zeigt ein paar Donkey Cars die ich für diese Schulungen eingesetzt habe.

Jetson Nano Donkey Cars

Jetson Nano Donkey Cars

  • Beispiel 1:
    • Beim einem Training mit 40 Teilnehmern und vier Donkey Cars ist eine der vier Gruppe immer im Uhrzeigersinn die Strecke abgefahren. Deren Donkey Car konnte anschließend mit dem Trainierten Modell nicht die Strecke gegen den Uhrzeigersinn abfahren. Genau das ist ein Beispiel für einen menschlichen BIAS welchem dem neuronalen Netz über die Trainingsdaten mitgegeben wurde.
  • Beispiel 2:
    • Bei einem anderen Training war ein Teilnehmer dabei der sehr gut mit dem PS4 Controller das Donkey Car steuern konnte. Diese gruppe hat viele 10.000 Trainingsdatensätze aufgenommen bei denen das Donkey Cars Vollgas im und gegen den Uhrzeigersinn die Teststrecke abgefahren ist. Da die Trainingsdaten aber nur eine Stellung des Gashebels kannten also Vollgas hatte das neuronale Netz nicht gelernt anzufahren. Als es dann darum ging autonom zu fahren fuhr das Donkey Car nicht los. Schob man es kurz an fuhr es Vollgas die Strecke ab aber nicht lange da es mit der Lenkung nach ein paar Runden nicht mehr klar kam.
  • Beispiel 3:
    • Ein Training abgehalten mit Managern ergab es sich das die Teilnehmer auf Stühlen um die Strecke herum saßen als die Trainingsdaten aufgenommen wurden. Als dann das neuronale Netz trainiert war und das Auto autonom fahren sollte saß niemand mehr entlang der Strecke. Das Ergebnis war, dass das Donkey Car nicht mehr lenken konnte. Als sich die Teilnehmer wieder hingesetzt hatten fuhr das Donkey Car bzw. das neuronale Netz ohne Probleme die Strecke ab.

Das waren jetzt ein paar Beispiele die zeigen wie schwierig es ist schon “gute” Trainingsdaten aufzuzeichnen. Ob spielt dann auch die Tageszeit mit entsprechender Sonneneinstrahlung eine Rolle wenn der Raum nicht komplett künstlich also konstant beleuchtet ist in dem die Trainingsdaten aufgezeichnet werden und später das Roboter Auto autonom fahren soll.

Jetzt dann mal los, das Fahren üben und Trainingsdaten aufzeichnen die der gestellten Anforderung entsprechen also “gut” sind…

Zusammenfassung

Mit diesem Beitrag habe ich versucht zu beschreiben wie Trainingsdaten aufgezeichnet werden können. Wichtig ist, dass man sich klar macht was möchte man dem OpenBot bzw. dem neuronalen Netz beibringen. Eine wirklich spannende Herausforderung ist das abbigen in z. B. einen anderen Raum wenn das Roboter Auto einen Gang entlang fährt. Dazu können die Blinker verwendet werden um genau diesen Intend bereits beim aufzeichnen der Trainingsdaten zu speichern. Entsprechend sollte das neuronale Netz anschließend das Roboter Auto abbigen lassen können.


Artikel Übersicht OpenBot Roboter Auto:

OpenBot – Dein Smartphone wird zu einem autonomen Roboter Auto – Einleitung
OpenBot – Dein Smartphone steuert ein Roboter Auto – benötigte Bauteile Teil 1-2
OpenBot – Dein Smartphone steuert ein Roboter Auto – benötigte Bauteile Teil 2-2
OpenBot – Dein Smartphone steuert ein Roboter Auto – Chassis bauen
OpenBot – Dein Smartphone steuert ein Roboter Auto – Verkabelung
OpenBot – Dein Smartphone steuert ein Roboter Auto – Arduino Firmware aufspielen
OpenBot – Dein Smartphone steuert ein Roboter Auto – Android App und erster Probelauf
OpenBot – Dein Smartphone steuert ein Roboter Auto – Trainingsdaten aufzeichnen
OpenBot – Dein Smartphone steuert ein Roboter Auto – Trainingsumgebung einrichten
OpenBot – Dein Smartphone steuert ein Roboter Auto – das neuronale Netz trainieren
OpenBot – Dein Smartphone steuert ein Roboter Auto – Android Studio und Smartphone einrichten
OpenBot – Dein Smartphone steuert ein Roboter Auto – die eigene OpenBot Android App erstellen

Geplante Artikel in dieser Serie:

OpenBot – Dein Smartphone steuert ein Roboter Auto – OpenBot End-2-End Durchlauf
(Visited 19 times, 1 visits today)