Projekt Luna  1.0.1
Der humanoide Roboter
Einrichtung des Raspberry Pis

Inhaltsverzeichnis

Autor: Joshua Brauns
Letzte Änderung: 19.01.2016 18:35:17

NOOBS

Tastatur-Layout

Bevor wir mit der eigentlichen Arbeit beginnen können, sollte man (sofern man keine englische Tastatur besitzt) das Keyboard-Layout auf deutsch ändern:

NOOBS

Menu -> Preferences -> Mouse and Keyboard Settings -> Keyboard -> Change Layout...

WLAN-Stick

Schritt 1

WLAN Stick mit RPI verbinden

Schritt 2

Im Terminal dmesg eingeben und nach folgendem Eintrag suchen:

Schritt 3

Folgenden Befehl in das Terminal Eintragen: sudo nano /etc/modprobe.d/8192cu.conf

Legt eine Konfigurationsdatei an. Diese wird benötigt um den WLAN-Stick so zu konfigurieren, dass dieser die Verbindung bei inaktivität nicht unterbricht.

In den sich öffnenden nano-Editor folgenden Zeile schreiben: options 8192cu rtw_power_mgnt=0 rtw_enusbss=0

Schritt 4

Verbindung zum Router aufbauen. Dafür muss in der entsprechenden Datei die SSID des Routers hinzugefügt werden.

sudo nano /etc/network/interfaces

Schritt 5

Damit Änderungen übernommen werden, muss der Netzwerkdienst neugestartet werden:

sudo /etc/init.d/networking restart

Ubuntu MATE

Ubuntu Mate ist ein Betriebssystem, dass im Kern auf Ubuntu aber bei der Oberfläche auf den MATE (Der Begriff Mate leitet sich von der Mate-Pflanze ab, welche unter anderem im Mate-Tee eingesetzt wird; Sollte für Informatiker ein Begriff sein) Desktop setzt. Es läuft stabil, ist einfach zu verwenden und beansprucht die unterliegende Hardware optimal. Daher kommt es uns nur gerade recht, wenn von Ubuntu MATE ein spezielles Image für den Raspberry PI 2 angeboten wird.

Und hier beginnt auch schon direkt der erste Schritt zum gewünschten Endzustand des PIs, beim Download des neusten Images unter: Ubuntu MATE Image. Dieses hat in etwa die Größe von 1 GB und wird im XZ-Format geliefert. Von daher werden zum weiteren Fortfahren unter Windows die folgenden Programme benötigt:

  1. 7-Zip
  2. Win32 Disk Imager

Nachdem nun alles runtergeladen und die beiden zusätzlichen Programme installiert wurden (falls notwendig), müssen wir die SD-Karte für den Raspberry PI 2 mit dem Image beschreiben. Dafür wird zunächst das XZ-Archiv geöffnet und das darin befindliche Image entpackt. Anschließend wird der Win32 Disk Imager gestartet (Sollten hier Fehlermeldungen auftreten, bitte einmal mit Administratorrechten).

Im Win32 Disk Imager wählt ihr dann einmal das entsprechende Image aus und (hierbei bitte sorgfältig vorgehen!) stellt das zu beschreibende Laufwerk ein. Dies ist im Idealfall die SD-Karte und im schlimmsten Fall ein weiteres angeschlossenes Speichermedium mit wichtigen Daten. Diese wären nach dem Vorgang auf einmal spurlos verschwunden. Bitte noch einmal alles überprüfen und auf Write klicken.

setup_rpi_image_to_disk.png
Win32 Disk Imager

Nachdem dieser Vorgang erfolgreich beendet wurde, könnt ihr den Win32 Disk Imager wieder schließen und die SD-Karte aus dem Lese-/Schreibegerät entfernen und in den Raspberry PI 2 stecken. Wenn der Stecker vom Netzteil mit dem PI verbunden ist, dieses bitte einmal trennen und wieder anschließen, ansonsten nur anschließen (dies sorgt dafür das der PI startet).

Einrichtung des Nutzerkontos

Nun folgt wie bei den meisten Betriebssystemen das obligatorische Einrichten eines Nutzers sowie das treffen grundlegender Einstellungen. Hier sollte stets das deutsche Datum, deutsche Sprache und Tastaturbelegung, usw. ausgewählt werden. Bei den Nutzerdaten bitte folgende verwenden:

Name: sol
Name des Rechners: sol-rpi
Passwort: sol12345

Wenn ihr alles eingegeben und eingestellt habt, solltet ihr nach einer kurzen Einrichtungsphase auf dem Desktop landen. Herzlichen Glückwunsch, der einfachste Teil ist geschafft.

Dateisystem vergrößern

Falls ihr nun freudig und mit elan loslegt und alle benötigten Dateien runterladet, wird schon bald die Fehlermeldung auftreten, dass kaum noch Speicherplatz vorhanden ist. Dies liegt daran, dass zwei Partitionen angelegt werden mit jeweils etwa 4 GB. Eine davon wird als Systempartition verwendet, die andere soll wohl für Backups verwendet werden. Diesen Speicherplatz brauchen wir aber. Wir müssen also beide Partitionen miteinander verbinden und geben dafür zuerst folgenden Befehl in das Terminal ein:

1 sudo fdisk /dev/mmcblk0

Anschließend d eingeben und mit Enter bestätigen, dann 2 eingeben und mit Enter bestätigen. Dies löscht die zweite Partition. Danach wird die Partition wieder hergestellt indem n eingegeben und mit Enter bestätigt, p eingegeben und mit Enter bestätigt und danach zweimal nur mit Enter bestätigt wird. Schlussendlich müssen unsere Änderungen mit w (mit Enter bestätigen nicht vergessen) gespeichert und das System mittels folgendem Befehl neu gestartet werden:

1 reboot

Nach dem Neustart muss der Terminal erneut geöffnet und der Befehl zum Zusammenführen beider Partitionen eingegeben werden:

1 sudo resize2fs /dev/mmcblk0p2

Grafische Oberfläche/Terminal

Ubuntu MATE bietet die Möglichkeit mit Hilfe von nur einem Befehl, die grafische Oberfläche ein-/auszuschalten. Die grafische Oberfläche ist bei der Einrichtung und Installation zwar enorm hilfreich verbraucht jedoch im eigentlichen Betriebszustand enorm viel Leistung und Energie. Dies wird durch den Terminal-Modus verringert.

Der Befehl zum ausschalten der grafischen Oberfläche lautet:

1 graphical disable

Nach Eingabe des Befehls und Bestätigung mittels der Enter Taste ist ein Neustart erforderlich. Um die grafische Oberfläche wieder einuschalten müsst ihr den folgender Befehl eingeben, bestätigen und der PI neustarten:

1 graphical enable

Einrichtung des C++ SDKs - Linux

Das C++ SDK auf Linux ermöglicht euch neben der Erstellung von remote Anwendungen das Erstellen von Anwendungen die auf dem Roboter ausgeführt werden. Da nun aber die wenigsten von euch Linux auf dem Laptop installiert, geschweige denn es mal benutz haben, musste eine Lösung geschaffen werden. Für Anwendungen besonders im Bildverarbeitungsbereich ist eine lokale Ausführung von Anwendungen aber erforderlich, da eine Übertragung von Bildmaterial über das Netzwerk nur eingeschränkt funktioniert.

Die Lösung für dieses Problem heißt: Raspberry PI 2. Ein kostengünstiger aber dafür leistungsstarker kleinstrechner auf dem Linux-Distributionen installiert und ausgeführt werden können. Der PI dient als Bindeglied zwischen euren Rechnern und dem Roboter. Ihr erstellt die Programme auf euren Rechnern, könnt diese auch als remote Anwendungen kompilieren sowie verifizieren und diese anschließend auf den PI laden. Dort werden die Programme dann ebenfalls kompiliert, jedoch anschließend nicht remote Ausgeführt sondern auf die Luna geladen.

Voraussetzungen

Um das C++ SDK installierund und nutzen zu können, müssen einige Abhängigkeiten geklärt werden. Grundlegende Programme die auf der PI Distribution vorhanden sein sollten sind folgenden:

  1. Python (am besten Version 2.7)
  2. CMAKE (ab Version 2.8.3)
  3. GCC (ab Version 4.4)
  4. QtCreator

Ihr könnt mit Hilfe des Terminals ganz einfach überprüfen, ob diese Programme installiert sind und wenn ja, wie die Versionsnummer lautet. Die Befehle dafür und die Befehle für den fall, dass die Programme nicht vorhanden sein sollten findet ihr der folgenden Liste:

  1. Python: python --verion (Wenn nicht installiert: sudo apt-get install python)
  2. CMAKE: cmake --version (Wenn nicht installiert: sudo apt-get install cmake
  3. GCC: gcc --version (wenn nicht installiert: sudo apt-get install gcc)
  4. QtCreator: qtcreator --version (wenn nicht installiert: sudo apt-get install qtcreator)

Installation qibuild

qiBuild ist ein Satz an Kommandozeilen-Wekzeugen die in Python geschrieben sind. Diese sind obligatorisch für das SDK und werden mit folgendem Befehl installiert:

1 pip install qibuild --user

Anschließend muss der Pfad zum qibuild-Skript dem $PATH hinzugefügt werden, um qibuild im Terminal nutzen zu können. Dazu müsst ihr den folgenden Befehl eingeben und bestätigen:

1 PATH=$PATH:/home/sol/.local/bin

Nach einer erfolgreichen Installation muss qibuild noch konfiguriert werden. Dabei wwerden drei Einstellungen getroffen: Der Pfad von CMAKE wird ausfindig gemacht, der CMAKE Generator sowie die IDE werden festgelegt. Das macht ihr mit folgendem Befehl:

1 qibuild config --wizard

Dabei sollte der Pfad von CMake automatisch erkannt werden und ihr müsst dort nichts angeben. Die Wahl des CMake Generators steht dann als nächstes an. Von Aldebaran wird dabei Unix Makefiles empfohlen (und wird von qibuild als default markiert). Ihr gebt also eine 1 in das Terminal und bestätigt mit Enter. Anschließend muss noch die IDE Ausgewählt werden, wobei wir hier den QtCreator verwenden. Also 2 eingeben und bestätigen. Die darauf folgende Frage mit y beantowrten.

Installation SKD

Befehl:

1 sudo env "PATH=$PATH" qibuild init

Beispielprogramm kompilieren und ausführen

1.

1 cd /usr/bin/nao/sdk/naoqi-sdk/doc/dev/cpp/examples

2.

1 sudo env "PATH=$PATH" qitoolchain create mytoolchain /path/to/SDKfolder/naoqi-sdk/toolchain.xml

3.

1 sudo env "PATH=$PATH" qibuild add-config mytoolchain -t mytoolchain --default

4.

1 cd core/sayhelloworld
2 sudo env "PATH=$PATH" qibuild configure
3 sudo env "PATH=$PATH" qibuild make

qibuild - Erweitert !!! Bitte verschieben

1 <qibuild version="1">
2  <defaults>
3  <env />
4  <cmake generator="Unix Makefiles" />
5  </defaults>
6  <ide name="QtCreator" path="/usr/bin/qtcreator" />
7 </qibuild>

Zip Archiv entpacken

Befehl:

1 sudo unzip /<ursprungs_ort/archiv.zip> -d /<ziel_ort>

Vollständiger Befehl falls Datei im Download Ordner liegt:

1 sudo unzip /home/sol/Downloads/ctc-linux32-atom-2.1.4.13.zip -d /usr/bin/nao/ctc

Tarball entpacken

Befehl:

1 tar -xzf /<ursprungs_ort/archiv.tar.gz> -C /<ziel_ort>

Ordnerstruktur anlegen

Befehl neuen Ordner anlegen:

1 sudo mkdir <Ordnername>

Befehl Ordner löschen:

1 sudo rm -rf <Ordnername>

Ordnerstruktur soll so aussehen:

1 /usr
2 -> /bin
3  -> /nao
4  -> /ctc (Cross-Tool Chain)
5  -> /sdk (Software Development Kit)

Cross-Tool Chain

Wird benötigt um lokal ausführbare Programme zu erstellen.

Unterstütze Betriebssysteme

Für das C++ SDK werden neben Windows und einigen Linux Betriebssystemen auch bestimmte Versionen von Mac OS X unterstützt. Die folgenden Tabelle listet dabei alle auf, die von Aldebaran angegeben wurden. Falls das eigene nun nicht in dieser Liste zu finden ist, lohnt es sich trotzdem die Installation einmal auszuprobieren. Sollte dies ein erfolgreiches Ergebnis liefern, bitte die folgende Tabelle ergänzen.

Unterstützte Betriebssysteme

OS Version
Linux Ubuntu 12.04 LTS (Precise) and later
Windows Microsoft Windos XP Service Pack 3, Microsoft Windows 7 und 8
Mac Mac OS X 10.7.1 Lion, Mac OS X 10.8.3 Mountain Lion

Volle ausnutzung der 8GB. Die Größe des Dateisystems ändern.