Parrot AR 2.0 Drone – Quadrocopter fliegen mit Linux und Joystick

Ich habe mir vor ein paar Tagen einen kleinen Quadrocopter von Parrot gekauft, den recht populären Parrot AR 2.0. Dies ist eine kleine Drohne mit vier Motoren und einer 720p-Kamera an der Front. Das besondere daran ist, dass man das Gerät über Tablet/Handy steurern kann, die dafür benötigte Software gibt es für Android und iOS kostenlos dazu. Gesteurt wird mit den Neigungssensoren des Handys: kippt man das Handy nach vorne, beschleunigt die Drohne, neigt man es nach links, schwebt sie nach links. Mit einem zweiten kleinen „Joystick“ auf dem Touchscreen werden Drehung und Höhe gesteuert. Der Clou dabei ist, dass das Smartphone via WLAN mit der Drohne verbunden ist und das Videosignal direkt auf das Handy streamt.

5

Wo wir auch schon bei einem sehr großen Sicherheitsrisiko sind – WLAN. Heutzutage sind in Deutschland ab Werk so gut wie alle Router mit WPA2 verschlüsselt, was Parrot nicht davon abhält, das von der Drohne ausgestrahlte WLAN komplett unverschlüsselt auszustrahlen! Jeder, der mit einem Smartphone/Tablet und der dazu nötigen (kostenlosen) Steuerungssoftware in der Nähe ist, könnte mit wenig Aufwand die Drohne übernehmen und wegfliegen.. kolossales Fail! Doch damit nicht genug, nach einem kleinen Portscan offenbarte sich der zweite Faux Pas: Da auf der Drohne ein Linux in Form von BusyBox läuft, gibt es auch einen telnet-Zugriff – ohne Authentifikation, als hätte ich es geahnt. Somit könnte ein Angreifer das Gerät nicht nur sperren, sondern auch gleich vor Zugriff des eigentlichen Nutzers absichern. Hier werde ich in Zukunft mal etwas basteln, um das WLAN abzusichern.

Doch nun zum eigentlichen Thema. Es ist zwar schön und gut, die Drohne mit dem Smartphone zu steuern. Doch als PC-Hobbypilot komme ich mit einem Joystick viel besser klar, als mit einem doch etwas ungenauen Smartphone. Außerdem möchte ich meinen externen USB-Stick mit starker Antenne nutzen, um die doch recht bescheidene Reichweite von 50-60 Metern mit dem Handy etwas zu erweitern. Für Windows gibt es eine Anwendung FreeFlight, welche sich in der Alpha 0.1 befindet.. mit einem sehr übersichtlichen Funktionsumfang. Dann doch lieber das direkt vom Hersteller angebotene AR.Drone SDK für Linux! Mit ein bisschen Handarbeit ist die Installation im handumdrehen geschafft und dem Flugvergnügen via Joystick steht nichts mehr im Wege!

Installation

Ich installiere das SDK auf Ubuntu 12.10. Als erstes laden wir uns das SDK von der Herstellerseite runter: https://projects.ardrone.org/projects/show/ardrone-api Dazu muss man sich zwar registrieren, aber ihr braucht keine gültige mail eingeben, da der login sofort aktiv ist.

Entpackt das Archiv und wechseln in den Ordner zum Kompilieren:

tar xvzf ARDrone_SDK_2_0_1.tar.gz

cd ARDrone_SDK_2_0_1/ARDRoneLib/Soft/Buid

Hier müssen wir einige Dateien noch anpassen. Zuerst editieren wir mit

nano custom.makefile

Die Konfigurationsdatei und ändern

USE_LINUX = YES

Falls es an dieser Stelle Probleme geben sollte, diese Lösung stammt aus dem Thread https://projects.ardrone.org/boards/1/topics/show/3946
Die Datei checkdepencies.sh wird während des kompilierens ausgeführt und beinhaltet einen weiteren Fehler. Öffnet die Datei ebenfalls und ersetzt „libcwiid1-dev“ durch den richtigen Paketnamen „libcwiid-dev“.

Als nächstes geht es an die Installation der zusätzlich benötigten Pakete Laut Anleitung müssen folgende Pakete auf jeden Fall installiert werden:

sudo apt-get install libsdl-dev libgtk2.0-dev libiw-dev

Da ich trotzdem noch Probleme mit der Installation hatte, habe ich nach einem Workaround noch folgende Pakete nachinstalliert

sudo apt-get install libncurses5-dev libncursesw5-dev

Jetzt sollte alles benötigte vorhanden sein und wir wechseln in den Ordner ARDrone_SDK_2_0_1/ARDRoneLib/Soft/Buid, um dort den Befehl „make“ auszuführen, um das Programm zu kompilieren. Wenn keine Fehlernachricht am Ende erscheint, sind wir schon fast am Ende!

Joystick installieren:

Einen Joystick unter Linux zu nutzen ist keine große Hürde. Mein einfacher Saitek-Knüppel funktionierte ohne Probleme. Benötigt wird dazu folgendes Paket:

sudo apt-get install joystick

Zum Testen der Funktionalität schließen wir das Gerät an und führen den folgenden Befehl aus:

jstest /dev/input/js0

Hier haben wir nun eine Übersicht über alle Steuerregler und Knöpfe. Probiert alle Achsen/Tasten durch, bei jeder Eingabe sollte sich etwas auf dem Bildschirm verändern.

Im letzten Schritt machen wir uns an das Kompilieren der eigentlichen Steuerungssoftware. Mit dem SDK kann man viele tolle Sachen machen und die Drohnen programmieren, wir wollen sie jedoch einfach nur direkt steuern. Dazu gibt es im Examples-Ordner das Programm Navigation unter ARDrone_SDK_2_0_1/Examples/Linux/Navigation/Build. Wechselt in diesen Ordner und führt hier ebenfalls den Befehl „make“ zum kompilieren aus.
Wenn alles erfolgreich war, sollte sich nun im Ordner ARDrone_SDK_2_0_1/Examples/Linux/Build/Release die Datei „ardrone_navigation“ befinden. Startet diese mit

./ardrone_navigation

Es öffnet sich ein Fenster, in dem ihr die Drohne steuern könnt. Im oberen Bereich gibt es einen Button, um die Videoübertragung aufzurufen. Unten links versteckt sich unter dem Reiter „bla“ die Konfiguration des Joysticks. Achtet hier besonders darauf, den emergency-Button auf eine intuitive Taste zu legen, um die Drohne im Notfall schnell vom Himmel holen zu können. Wichtig wäre noch zu erwähnen, dass ihr für den ersten Start viel Platz habt, da der Joystick evtl falsch kalibriert sein könnte und die Drohne in irgendeine Richtung davonfliegen könnte.

Viel Spass an alle, die noch eine Parrot AR 2.0 ihr eigen nennen! 😉

Stay Tuned – Stoertebeker

Veröffentlicht unter Allgemein, Installationen, Linux

Schreibe einen Kommentar