AR.Drone 2.0 SDK Build mit crunchbang 11

Der Build des AR.Drone 2.0 SDK (v2.0.1) funktionierte nicht auf Anhieb reibungslos, weshalb ich das Vorgehen für Nachahmer und zur eigenen Dokumentation hier noch einmal aufführe.

Wir arbeiten mit der 32-bit Version von crunchbang linux 11 (eine Debian-Distribution), die jeweils in einer VirtualBox-VM abläuft. Achtung, laut Developer-Guide des AR.Drone SDK sind die enthaltenen Beispiele explizit nur auf 32-Bit-Systemen lauffähig. Es sei am Rande vermerkt, dass die Installation der VBox-Additions (zum Nutzen von Shared-Folders des Host-Systems) unter crunchbang nicht ohne weiteres funktionierte – Abhilfe schafft hier dieser Post im crunchbang-Forum.

Nach der Installation von crunchbang 11 und dem upgrade der Pakete müssen zunächst die folgenden SDK-Abhängigkeiten installiert werden:

Nun das AR.Drone SDK 2.0.1 von der Projekt-Webseite beziehen und entpacken

und den Build starten:

Nun den Host-Computer mit dem W-LAN der AR.Drone 2.0 verbinden und sicherstellen, dass das crunchbang Gastsystem via NAT auf die AR.Drone zugreifen kann (Standard IP ist die 192.168.1.1). Ist die Drohne anpingbar, so können die mitgelieferten Linux-Beispielanwendungen gestartet werden:

Nun kann der Spaß beginnen ;-)

Linux-Beispielanwendungen des AR.Drone 2.0 SDKs

Linux-Beispielanwendungen des AR.Drone 2.0 SDKs

RGM-2000 GPS Daten per TTY auslesen

Die Drone und weitere benötigte Hardware wird uns aller Voraussicht nach nächste bzw. übernächste Woche endlich zur Verfügung stehen. Trotzdem haben wir heute bereits das vorhandene RGM-2000 GPS-Modul an einen Linux-Rechner angeschlossen um uns mit dem Datenformat vertraut zu machen und eventuell auch schon einige Software vorbereiten zu können. Hierzu musste der 3,3V TTL-Pegel des GPS-Moduls in den +-12V Pegel der RS232-Schnittstelle umgewandelt werden, wozu ein MAX323-Transceiver verwendet wurde. Mittels Seyon konnten wir der RGM-2000 dann die ersten Daten entlocken und durch Setzen der richtigen Baudrate von 4800 auch menschenlesbar interpretieren. Die anhängenden Bilder zeigen den Aufbau noch einmal.

UI mittels NASA World Wind und weitere ARDrone-Hacking-Recherchen

Nach der Evaluierung möglicher UI-Umsetzungen per JXMapViewer, gmap-viewer, simpler Google-Maps-API-Nutzung mit JavaScript und per NASA World Wind-Projektes, wurde das NASA World Wind-Projekt als das vielversprechendste identifiziert. Allein schon die Demos zeigen, welch großes Potential in der NASA Wold Wind-Nutzung für unser Projekt steckt. Deshalb war heute eines der zentralen Punkte die Einrichtung der Arbeits- und Entwicklungsumgebung. Konkret: NetBeans + World Wind Java SDK zum Laufen zu bringen.  Anschließend wurde erfolgreich eine erste Beispielanwendung aufgesetzt.

Um World Wind unter einem 64-Bit-System nutzen zu können, müssen anstatt der mitgelieferten Bibliotheken gluegen-rt.jar und jogl.jar sowie deren nativen Implementierungen (*.dll bzw. *.so Dateien) die entsprechenden Äquivalente für das Host-System eingebunden werden. Diese finden sich unter diesem Link. Wichtig ist, die hier verlinkte Version 1.1.1 zu benutzen, mit den neueren scheint World Wind nicht zu funktionieren.

Auf meinem Ubuntu-Laptop erschien beim Start der Anwendung zunächst die Fehlermeldung

Dank des Users garyvdm auf ubuntuforums.org war die Lösung des Problems schnell gefunden:

Nebenher wurden die Recherchen bzgl. des Hackens der AR.Drone fortgesetzt, um den späteren Eingriff in das OS der AR.Drone zu beschleunigen.

Weiterhin haben wir heute eine Bestätigung für den QSL-Antrag erhalten.

nächste Schritte:

  • UI fertigstellen
  • Schnittstellendefinition zwischen AR.Drone und Basis/UI
  • Drohne bestellen bzw. auf diese warten =) oder eher =(

AR.Drone und RGM-2000 GPS

Da wir die Beschaffung der für dieses Projekt benötigte AR.Drone 2.0 durch die QSL-Kommission zunächst abwarten müssen, befinden wir uns bezüglich Beschaffung von Hardware aktuell im “Blindflug”. Da wir auf jeden Fall eine GPS-Empfänger benötigen und diesen an der AR.Drone anbringen müssen, haben wir heute die verwaiste GPS-Maus eines betagten PocketPCs um ihr Gehäuse erleichtert um diese auf deren Eignung für unser Projekt zu untersuchen. Die GPS-Maus stammt von dem Hersteller RoyalTek und trägt die Typenbezeichnung RGM-2000. Die GPS-Maus ist weit verbreitet, da sie in großen Mengen von einem deutschen Discounter verkauft wurde und im Netz finden sich viele Artikel und Dokumentation zu diesem Modell. Dank einer ausführlichen Untersuchung der GPS-Maus durch einen Forennutzer der Seite mikrocontroller.net sowie einer Dokumentation der AR.Drone-Schnittstelle durch Max Ogden konnten wir zusammen mit unserem Betreuer Prof. Dr. Kaiser die im TTL-Pegel kodierten Signale der GPS-Maus nachvollziehen.

Schnittstelle des AR.Drone 2 Boards – von Max Ogden

Wir gehen nun also davon aus, dass wir nach dem Anschliessen der GPS-Maus an Position 3 (gelbes Kabel) und 5 (weißes Kabel) des AR.Drone-Boards die Signale an einem tty des auf der AR.Drone installierten Linux-Betriebssystems abgreifen und nutzen können. Um dies zu ermöglichen, müssen wir uns nach Erhalt der AR.Drone (vermutlich Ende Mai) zunächst Zugang zu diesem Betriebssystem verschaffen.

GPS Navigation mit der Parrot AR.Drone 2.0