Buchempfehlung:
Roboter-Autos mit dem Raspberry Pi

Roboter Autos mit dem Raspberry Pi

Das Neuronale Netz kann nicht auf dem Raspberry Pi trainiert werden. Der Raspberry Pi ist von seiner Hardware für das Training des Neuronalen Netzes einfach zu schwach. Daher sollte ein extra Rechner für das Training des Piloten verwendet werden der deutlich Leistungstärker als der Raspberry Pi ist. Ich empfehle hier eine Ubuntu Installation als Betriebssystem und die Installation des Donkey Car Frameworks auf diesen Rechner. Wichtig ist das der Rechner über viel Arbeitsspeicher verfügt von ca. 12 GB bis 16 GB und das er eine Leistungsstarke CPU bzw. GPU eingebaut hat.

In meinem Fall habe ich die CPU für das Training des Piloten genutzt. Es ist eine i5 CPU mobile mit 2,2 GHZ und dieser stehen 12 GB Ram zur Seite. Einen Piloten zu trainieren hat dann zwischen 8 Stunden bis 12 Stunden gedauert mit ca. 23.000 Datenpaaren.

Software Installation Trainingsrechner

Ich setze für den folgenden Abschnitt voraus, dass eine aktuelle Ubuntu Versoin installiert ist und der Rechner mit dem Internet verbunden ist. Weiter wird keine GPU für das Training verwendet. Wie auch auf dem Raspberry Pi wird alles in einen virtuellen Bereich installiert. Dazu bitte die folgenden Befehle ausführen (Quelle: http://docs.donkeycar.com/guide/install_software/#install-donkeycar-on-linux)

Installation der notwendigen Software auf dem Ubuntu Rechner.

Befehl: sudo apt-get install virtualenv build-essential python3-dev gfortran libhdf5-dev

Einrichten der virtuellen Umgebung mit dem Namen “env”.

Befehl: virtualenv env -p python3

Aktivieren der virtuellen Umgebung “env”.

Befehl: source env/bin/activate

Installation der Tensorflow Version 1.8.0

Befehl: pip install tensorflow==1.8.0

Jetzt ist alles soweit auf dem Ubuntu Rechner installiert und das Donkey Car Framework kann installiert werden. Dazu bitte die nachfolgenden Befehle ausführen die Ihnen bekannt vorkommen sollten von der Installation auf dem Raspberry Pi.

Herunterladen und installieren des Donkey Car Frameworks. Wichtig ist hier genau die Version zu installieren die auch auf dem Donkey Car installiert ist.

Befehl: pip install donkeycar==2.5.1

Erzeugen der Instanz des Donkey Car Frameworks.

Befehl: donkey createcar ~/mycar

Ab jetzt ist Ihr Rechner in der Lage das Neuronale Netz zu trainieren. Dazu müssen Sie die vielen Bilder und JSON Dateien die im Ordner “/home/pi/mycar/data/” von ihrem Raspberry Pi auf den Ubuntu Rechner kopieren. Sie sollten die Bilder und JSON Dateien auch wieder in das Installationsverzeichnis des Donkey Car Frameworks kopieren. Es wird wohl auch wie unter dem Raspberry Pi der gleiche Ordner sein “/home/<user-name>/mycar/data/”.

Hinweis:

Wichtig ist, dass Sie sich in der virtuellen Umgebung Ihrer Donkey Car Installation befinden. Wenn nicht dann müssen Sie die virtuelle Umgebun mit dem Befehl “source env/bin/activate” noch starten bevor Sie das Training des neuronalen Netzes starten können.

Mit dem folgenden Befehl starten Sie die Berechnung des Piloten bzw. Neuronalen Netzes auf Ihrem Ubuntu Rechner.

Befehl: python ~/mycar/manage.py train –tub <tub Ordner Namen getrennt durch ein Komma> –model ./models/mypilot

Der Name des Piloten bzw. trainierten Neuronalen Netzes ist “mypilot“. Dieser sollte nach erfolgreicher Berechnung im Ordner “/home/<user-name>/mycar/models/” liegen.

Die Datei “mypilot” kopieren Sie jetzt auf den Raspberry Pi in den Ordner “/home/pi/mycar/models/” und ab jetzt ist Ihr Donkey Car in der Lage autonom zu fahren. Dazu müssen Sie jetzt den folgenden Befehl aufrufen damit das Donkey Car Framework den mypilot lädt und das Donkey Car autonom steuert.

Befehl: python manage.py drive –model ~/mycar/models/mypilot

Wichtig:

Wenn Du einen PS4 Kontroller verwendest dann musst Du jetzt diesen in der config.py wieder deaktivieren. Anschließend lädst Du die Web-Oberfläche deines Donkey Cars und stellst auf den Autopiloten Modus in der Web-Oberfläche um. Links gibt es ein Drop-Down Menü mit der Überschrift “Model & Pilot”. Dort muss der Eintrag “Local Pilot” ausgewählt werden. Jetzt sollte das Donkey Car losfahren und von dem trainierten Piloten gesteuert werden (siehe zweites Youtube Video im nachfolgenden Abschnitt). Um die Web-Oberfläche zu starten öffne die folgende URL.

URL: <IP-Adresse des Donkey Cars>:8887

Ergebnisse – Testläufe

Nach dem ich anhand von vier Tub Ordnern verschiedene Modelle trainiert habe, habe ich die Piloten auf das Donkeycar übertragen und wieder im Keller einen Kurs aufgebaut. Ich war schon sehr gespannt wie gut das Roboter Auto auf Basis eines Raspberry Pi Computers autonom den Kurs abfährt. Ich habe zwei Modelle getestet die ich berechnet habe.

Das erste Modell basiert auf Trainingsdaten bei denen ich nur mit mittlerer Geschwindigkeit gefahren bin. Das Ergebnis ist im folgenden Video zu sehen. Das zweite Modell wurde mit Daten trainiert bei denen ich mit maximaler Geschwindigkeit den Kurs abgefahren habe. Das Ergebnis sieht so aus, dass das Auto mit diesem Modell deutlich schneller den Kurs abfährt. Zu sehen ist dies im folgenden zwei Videos.


Das zweite Modell wurde mit Daten traniert bei denen ich mit maximaler Geschwindigkeit den Kurs abgefahren habe. Das Ergebnis sieht so aus, dass das Auto mit diesem Modell deutlich schneller den Kurs abfährt. Zu sehen ist dies im folgenden Video.

Zusammenfassung

Das Training des Models mit Tensorflow und KERAS funktionierte nach der Software installation sehr gut. Auf meinen Laptop mit i5 Prozessor habe ich für die Berechnung mehrere Modelle einen Tag gebraucht. Als Ergebnis habe ich Modelle erhalten die tatsächlich mein Donkey Car um den Kurs haben fahren lassen.


Artikel Übersicht Donkeycar Roboter Auto:

Autonom fahrendes Raspberry Pi KI Roboter-Auto – Einleitung
Autonom fahrendes Raspberry Pi KI Roboter-Auto – Chassis
Autonom fahrendes Raspberry Pi KI Roboter-Auto – Elektronik
Autonom fahrendes Raspberry Pi KI Roboter-Auto – Software Installation
Autonom fahrendes Raspberry Pi KI Roboter-Auto – Kalibrierung
Autonom fahrendes Raspberry Pi KI Roboter-Auto – Trainings Vorbereitungen
Autonom fahrendes Raspberry Pi KI Roboter-Auto – Trainingsdaten aufzeichnen
Autonom fahrendes Raspberry Pi KI Roboter-Auto – das Neuronale Netz trainieren
Autonom fahrendes Raspberry Pi KI Roboter-Auto – Donkeycar training in einem Docker Container (optional)
Autonom fahrendes Raspberry Pi KI Roboter-Auto – Donkey Car UNIMOG Upgrade
Autonom fahrendes Raspberry Pi KI Roboter-Auto – Manuelle Short Keys
Autonom fahrendes Raspberry Pi KI Roboter-Auto – IMU Sensor 9-DOF absolute Orientation
Autonom fahrendes AI Roboter-Auto – NVIDIA Jetson Nano SBC
(Visited 1.141 times, 1 visits today)