Category Archives: Hardware

GPS Montage auf AR.Drone 2.0

Heute war Basteltag: Das Royaltek RGM-2000 GPS Modul wurde auf der AR.Drone 2.0 montiert. Ziel dabei war unter anderem auch die beiden AR.Drone Hüllen verwenden zu können; Das GPS-Modul sollte also auf beide Hüllen aufsteckbar sein und es sollte möglichst wenig Zusatzgewicht dafür anfallen, da die AR.Drone – laut Community – maximal 200 Gramm Zusatzlast tragen kann. An das GPS-Modul wurde also eine Steckverbindung angelötet, um es komfortabler auf die verschiedenen Hüllen aufstecken zu können.

Eine mit einer angelöteten Kabelsteckverbindung und dem passenden Stiftsockel für die AR.Drone 2.0 zurechtgebastelte RGM-2000 GPS-Maus zum Anschluss an die TTL-Schnittstelle.

Eine mit einer angelöteten Kabelsteckverbindung und dem passenden Stiftsockel für die AR.Drone 2.0 zurechtgebastelte RGM-2000 GPS-Maus zum Anschluss an die TTL-Schnittstelle.

GPS Montage

Zur Montage wurde das Metallblatt eines günstig zu erwerbenden, handelsüblichen Heftstreifens verwendet. Das GPS-Modul wurde um seine (schweren) Magnete erleichtert, die zugleich vier Löcher im GPS-Gehäuseboden hinterlassen, die wiederum hervorragend zur Befestigung des GPS-Moduls auf der AR.Drone Hülle verwendet werden können. Alle Schritte zur Montage des GPS-Moduls auf der Hülle:

Für die Kabel-Steckverbindung wurde ein Loch von oben durch die Hülle gebohrt. Das Kabel wird dann – wie die Batterie – im Batteriegehäuse angesteckt und verstaut. Um den Stecker von der Drohnen-Platine in das Batteriegehäuse zu verlegen, muss ebenfalls ein Loch in den Schaumstoff zwischen Batteriegehäuse und Board geschnitten werden.

Flugverhalten

Das Flugverhalten mit dem zusätzlichen Gewicht des GPS-Moduls unterschied sich – wie zu erwarten war – sehr deutlich zu dem ohne GPS-Modul. Die AR.Drone reagiert deutlich träger und muss bei Verringerung der Flughöhe, schnellen Richtungsänderungen und auf der Stelle stehend sehr heftig korrigieren. Wir haben sie noch nicht zum Absturz gebracht – es allerdings auch nicht darauf angelegt und sind mit sehr defensiven Flugeinstellungen (Maximale Neigungswinkel, Maximalgeschwindigkeit) geflogen.

TTL GPS-Maus auf der AR.Drone 2.0 auslesen

Die RGM-2000 TTL GPS-Maus, an der wir vor Beschaffung der Drohne bereits rumgespielt haben, konnten wir nun erfolgreich direkt auf der AR.Drone 2.0 auslesen. Einige Bastelei später sah die GPS-Maus so aus:

Nach Anschluss der GPS-Maus an die Serielle Schnittstelle der AR.Drone (siehe Pinbelegung und Spezifika zum Anschluss einer RGM-2000 an die AR.Drone) und dem Aufbau der telnet-Verbindung mit der AR.Drone

muss die Baudrate für das entsprechende tty device (im Falle unserer AR.Drone 2.0 war das /dev/ttySO3) richtig eingestellt (4800 Baud)

werden. Hierbei kam es beim jeweils ersten Versuch nach dem Start der Drohne zu einem Fehler – der zweite Versuch funktioniert dann allerdings. Jetzt kann man den Output des GPS-Moduls mittels

auslesen und sich über die telnet-Verbindung ausgeben lassen. Die Kaltstartzeit der GPS-Maus war sehr hoch und lag etwa bei ca. 30 Minuten, also nicht wundern, wenn zunächst erst einmal keine verwertbaren Koordinaten ausgegeben werden. Diese Kaltstartzeit ist allerdings ungewöhnlich hoch (siehe GPS-Basics). Als nächstes werden wir ein C-Programm implementieren, welches die GPS-Daten ausliest und neben den Navigationsdaten, die bereits von der AR.Drone bereitgestellt werden, zum Abruf verfügbar macht bzw. aktiv an eine Bodenstation sendet und hoffentlich einen Weg finden, die lange Kaltstartzeit zu verkürzen.

TTL-GPS-Daten via Telnet von AR.Drone

TTL-GPS-Daten via Telnet von AR.Drone

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.