Buchempfehlung:
Roboter-Autos mit dem Raspberry Pi

Roboter Autos mit dem Raspberry Pi - 2019

In diesem Beitrag beschreibe ich wie ein Donkey Car mit der aktuellen 3.1.1 Version des gleichnamigen Donkey Car Frameworks auf Basis des NVIDIA Jetson Nano aufgebaut wird. Der Unterschied vom Vorgehen zu einem Donkey Car auf Basis eines Raspberry Pi ist sehr gering. Ab der Version 3.x des Frameworks entscheidet man sich bei der Installations des Frameworks für welche Basis also Raspberry Pi oder Jetson Nano die Software installiert werden soll. Den großen Unterschied macht aber der Jetson Nano mit seiner viel leistungsstärkeren Hardware und der CUDA Unterstützung um entsprechend schnell ein Neuronales Netz dirket auf dem Jetson Nano trainieren zu können. So wird für das Training des neuronalen Netztes kein zusätzlicher Computer mit einer leistungsstarken GPU mehr benötigt. Damit fällt der Preissunterschied von ca. 65,-€ die der Jetson Nano teurer ist als ein Raspberry Pi nicht mehr in das Gewicht.

Vorbereitung des Jetson Nano:

Als erstes muss das offizielle und neueste Image von NVIDIA für das Jetson Nano Board auf eine SD-Karte geschrieben werden. Für diese Anleitung wurde von mir das Image mit der Version „jetson-nano-sd-r32.2.1.zip“ verwendet.

Die neueste Image Datei findet man immer auf der NVIDA Webseite unter der folgenden URL: https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#write

Sie sollten die Image Datei auf eine schnelle Mirco-SD Karte schreiben, die mindestens 32GB groß ist wenn Sie nicht vorhaben eine SSD Festplatte zu verwenden. Wenn Sie eine SSD Festplatte verwenden dann reicht auch eine 16 GB SD-Karte mit normaler Geschwindigkeit aus. Anschließend stecken Sie die SD-Karte auf die Sie das Image aufgespielt haben in das Jetson Nano Board, schließen das Board an einem Monitor, Maus, Tastatur an und schalten es sein (Stromversorgung des Jetson Nano via micro-USB Stecker herstellen).

NVIDIA Jetson Nano Donkey Car

NVIDIA Jetson Nano Donkey Car

Die ersten Schritte der Ubuntu Installation auf dem Jetson Nano sind ganz einfach. Es muss einmal die Sprache festgelegt werden und das Tastaturlayout. Anschließend wird eine Verbindung via WIFI USB Adapter zum eigenen Netzwerk aufgebaut. Eine Alternative ist natürlich auch das LAN-Kabel. Aber dieses macht an einem Donkey Car nicht wirklich Sinn.

Der folgende USB WIFI Adapter hat bei mir einwandfrei am Jetson Nano funktioniert.

Loading ...

Aber sehr zu empfehlen ist das Steckmodul von Intel das unter die Platine des Jetson Nano eingebaut wird. Mit den beiden Antennen ist der Empfang deutlich besser und das Intel Modul wird von den Treibern besser unterstützt und machte bei mir überhaupt keine Probleme.

Loading ...

Hinweis – Netzwerk automatisch starten:

Damit eine Netzwerkverbindung über den WIFI USB Adapter bzw. das Intel Modul immer automatisch zum eigenen Accesspoint aufgebaut wird ohne das Sie immer User/Passwort über einen Monitor / Tastatur eingeben müssen empfehle ich die nachfolgende Konfiguration. Dazu müssen Sie unter den Benutzereinstellungen Ihr Profil so einrichten das sich Ihr User automatisch unter Ubuntu anmeldet und so auch die WIFI Verbindung aufbaut.

Um den User Account anzupassen bitte links oben auf das Symbol für die Suche klicken und nach “user” suchen (1). Jetzt auf das Symbol für User Accounts klicken (2). Das Fenster mit den vorhandenen User Accounts öffnet sich.

Jetson Nano User Account

Jetson Nano User Account

Jetzt den entsprechenden User auswählen der sich automatisch anmelden soll. Dazu rechts oben (1) mit dem Admin Passwort das Profil entsperren (lock). Anschließend den Schalter für “Automatic Login” auf ON umschalten (2).

Jetson Nano User Account Settings

Jetson Nano User Account Settings

Nach dem alles soweit konfiguriert wurde wechseln Sie in das Terminal Fenster um mit der Software Installation fortzufahren.

Hilfreiche Tools installieren:

Damit die Konfiguration des Donkey Cars etwas leichter klappt verwende ich immer den Text-Editor Nano sowie den Midnight Commander. Beide Tools werden über die nachfolgenden Befehle auf dem Jetson Nano installiert.

Als erstes bringen Sie die Repository-informationen auf den neuesten Stand. Dazu führen Sie den folgenden Befehl aus.

Befehl: sudo apt-get update

Nano ist der von mir persönlich vervorzugte einfache Text-Editor. Daher empfehle ich an dieser Stelle die Installation.

Befehl: sudo apt-get install nano

Mit dem Midnight Commander können im Linux Terminal ganz einfach Dateien editiert oder kopiert werden ohne das man die dazu notwendigen Linuxbefehle kennen muss.

Befehl: sudo apt-get install mc

Nach dem das Update durchgelaufen ist, die beiden Tools “Nano” und “MC” installiert sind beginnt die eigentliche Softwareinstallation für das Donkey Car Framework auf dem Jetson Nano.

SSD Festplatte – empfohlen (aber optional)

Da die Anforderungen des Donkey Cars an die Hardware nicht zu unterschätzen sind, wenn mit dem Jetson Nano auch das Neuronale Netz treniert werden soll, empfehle ich eine kleine SSD Festplatte von der das Betriebssystem gebooted wird. Denn die 4 GB Ram sind nicht gerade viel die der Jetson Nano mitbringt und eine SWAP Datei im Zusammenspiel mit einer SSD Festplatte bringt noch mal richtig viel an Geschwindigkeit und vorallem an Stabilität.

Eine sehr gute Anleitung findet sich hier wie man die Installation von der SD-Karte auf die SSD Festplatte umzieht und dann von dieser SSD Festplatte auch das Betriebssystem hochfährt. Ich habe mir auch die wie in dieser Anleitung empfohlen die Samsung T5 SSD Festplatte gekauft und bin mit dieser Festplatte sehr zufrieden. Nachfolgend wieder ein Link auf den Amazon online Shop.

Loading ...

SWAP Datei anlegen – dringend empfohlen

Ich habe festgestellt, dass wenn ich auf meinem Jetson Nano den Piloten für das Donkey Car trainiere ganz schnell die 4 GB Arbeitsspeicher belegt sind. Daher habe ich mir ein 10GB SWAP File eingerichtet. Trainiere ich jetzt meinen Piloten sind meistens ca. 8GB der SWAP Datei belegt. Daher empfehle ich unabhängig davon ob eine SSD Festplatte zum Einsatz kommt oder nicht ein SWAP File anzulegen.

Mit dem folgenden Befehl wird eine SWAP Datei mit einer größe von 12GB angelegt.

Befehl: sudo fallocate -l 12G /var/swapfile

Jetzt müssen noch die richtigen Rechte gesetzt werden damit auf die SWAP Datei zugegriffen werden kann.

Befehl: sudo chmod 600 /var/swapfile

Jetzt wird das SWAP file erzeugt in der zuvor angegeben gesamten Größe.

Befehl: sudo mkswap /var/swapfile

Mit dem folgeden Befehl wird die SWAP Datei aktiviert.

Befehl: sudo swapon /var/swapfile

Damit nach jedem Neustart die SWAP Datei auch verfügbar ist muss der folgende Befehl noch ausgeführt werden.

Befehl: sudo bash -c ‘echo “/var/swapfile swap swap defaults 0 0” >> /etc/fstab’

Jetzt ist alles soweit eingerichtet und der Jetson Nano sollte neugestartet werden.

Befehl: sudo reboot

Zusammenfassung

Startet der Jetson Nano und meldet sich automatisch am Netzwerk an ist der erste Schritt der Vorbereitung erfolgreich erledigt. Ich möchte noch einmal darauf hinweisen, dass der Einsatz einer SSD Festplatte für dieses Projekt wirklich Sinn macht. Einmal reduziert sich so die Warscheinlichkeit das die micro SD-Karte irgendwann ausfällt und der Zugewinn an Geschwindigkeit ist signifikant zu merken vorallem später beim Training des neuronalen Netzes des Donkey Cars.


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 Nvidia Jetson Nano AI Roboter-Auto – Vorbereitung
Autonom fahrendes Nvidia Jetson Nano AI Roboter-Auto – Software Installation
Autonom fahrendes Nvidia Jetson Nano AI Roboter-Auto – Konfiguration des Donkey Car Frameworks
(Visited 39 times, 1 visits today)