Parrot AR.Drone über Windows steuern

Nachdem ich diese Anleitung auf einem Deutschen AR.Dronen Forum (Link am ende des Beitrags) gefunden und das ganze selbstverständlich auch selbst getestet habe, möchte ich meine Erfahrungen natürlich auch mit euch teilen 😉

Benötigt wird

ARDrone SDK 1.5 (ganz unten in der Liste), Anmeldung erforderlich,https://projects.ardrone.org/wiki/ardrone-api/Changelog

Microsoft Visual C++ Express, Web-Installer: http://go.microsoft.com/?linkid=9709953

Microsoft Windows SDK, http://www.microsoft.com/downloads/e…displaylang=en

Microsoft DirectX SDK, http://www.microsoft.com/downloads/e…2-438a3ba730ba
SDL Library, http://www.libsdl.org/release/SDL-devel-1.2.14-VC8.zip

Schritt 1: SDK Entpacken

Wir entpacken das SDK. Ich habe als Ziel „C:\drone“ genommen, in dass dann der Inhalt von dem gepackgten Verzeichnis kommt.

Vorsicht: In dem gz-File ist nochmal ein „gepacktes“ tar-File. In manchen Pack-Programmen muss man das nochmal extra entpacken.
Schritt 2: Visual Studio installieren

Einfach die runtergeladene „vc_web.exe“ ausführen. Silverlight und SQL-Server brauchen wir nicht.

Schritt 3: SDKs installieren

Hier die winsdk_web und DXSDK_Jun10 installieren, beides wieder komplett

Schritt 4: Lib entpacken

Den Inhalt von SDL-devel-1.2.14-VC8 entpacken wir auch nach C:\drone

Schritt 5: Einstellungen in Visual Studio

Zuerst starten wir mal das Visual Studio über das Startmenü. Da wird beim Start noch das Eine oder Andere eingerichtet…

Schritt 5.1: Konvertieren des Projektes

Über Datei -> Öffnen -> Projektmappe wird die Mappe
C:\drone\Examples\Win32\VCProjects\ARDrone\ARDrone .sln
geöffnet.
Dabei erscheint ein Assistent zum Konvertieren. Einfach immer auf „Weiter“ und dann „Fertig stellen“

Schritt 5.2: Pfade anpassen

Nun müssen in den beiden Projekten „ArDroneAPI“ und „Win32Client“ noch die Pfade zu den SDK festgelegt werden. Einfach ein Rechtsklick -> Eigenschaften -> VC++-Verzeichnisse

Dort eintragen in

Bibliotheksverzeichnisse:
$(VCInstallDir)lib;$(VCInstallDir)atlmfc\lib;$(Win dowsSdkDir)lib;$(FrameworkSDKDir)\lib;C:\drone\SDL-1.2.14\lib;C:\Program Files %28×86%29\Microsoft DirectX SDK %28June 2010%29\Lib\x86;C:\Program Files %28×86%29\Microsoft SDKs\Windows\v7.0A\Lib;$(LibraryPath)

Includeverzeichnisse:
$(VCInstallDir)include;$(VCInstallDir)atlmfc\inclu de;$(WindowsSdkDir)include;$(FrameworkSDKDir)\incl ude;C:\drone\SDL-1.2.14\include;C:\Program Files %28×86%29\Microsoft DirectX SDK %28June 2010%29\Include;C:\Program Files %28×86%29\Microsoft SDKs\Windows\v7.0A\Include\gl;$(IncludePath)

Schritt 5.3: Pfade für Makros anpassen

Hierfür muss unter Extras -> Einstellungen -> Erweitere Einstellungen
die Ansicht geändert weren. Daraufhin erscheinen unter dem Projektmappen-Explorer ein paar Reiter. Hier den Reiter ganz Rechts „Eigenschaften-Manager“
Hier im Projekt „ArDroneAPI“ den Eintrag „Debug | Win32″ und da „ArDrone_properties“ rechts anklicken und „Eigenschaften“ auswählen.

Dort im Eintrag „Benutzermakros“ den Pfad für

ARDroneLibDir auf C:\drone\ARDroneLib und Win32ClientDir auf C:\drone\Examples\Win32\sdk_demo\Sources setzen.

Schritt 6: Quellcode aufräumen

Leider ist der Quellcode etwas unsauber, dass muss geändert werden.

Beim Öffnen einzelner Dateien kommt eine Fehlermeldung mit CR und umwandeln. Einfach bestätigen…

ArDroneAPI -> Fichiers d’en-tête -> vp_stages_o_sdl.h
Zeile 33 aus <SDL/SDL.h> ein <SDL.h> machen

Win32Client -> Fichiers sources -> ardrone_tool_win32.c
Hier Zeile 49 „unsigned long bswap….“ in ein Notepad / Editor kopieren
Und Zeilen 55 „int clz“ bis 63 „}“ ebenfalls in Notepad kopieren

ArDroneAPI -> Fichiers sources -> video_mem32.c
In Zeile 7 (unterhalb des includes) den vorher gesicherten Abschnitt mit bswap. Nur die eine Zeile. Vor und nach die Zeile kommt eine Leerzeile. Nun wird aus „unsigned long bswap“ ein „unsigned long bswap2″
Auch in Zeile 41 machen wir aus dem „bswap“ ein „bswap2″.
video_mem32.c oben zumachen mit dem x, das Speichern bestätigen

ArDroneAPI -> Fichiers sources -> uvlc_codec.c
Huch! Die gibts ja zwei mal. Na, das stört… Also die zweite Datei über einen Rechtsklick und „Aus Projekt ausschleißen“ entfernen. Die andere Datei öffnen
Hier wird in Zeile 12, nach den ganzen includes, der andere gesicherte Teil, das mit dem clz, eingefügt. Aus „clz“ wird „clz2″ und vor und nach den ganzen eigefügten Block kommt eine Leerzeile.
In Zeile 279 machen wir ebenfalls aus „clz“ ein „clz2″
File uvlc_codec.c schließen und dabei Speichern.

ArDroneAPI -> Fichiers sources -> uvlc.c
Ín den Zeilen
29, 53, 977, 118
aus „clz“ jeweils „clz2″
Schließen und speichern.

Schritt 7: Fertig stellen

Jetzt in dem Projektmappen-Explorer auf das oberste Teil in dem Baum „Projektmappe…….“ rechts klicken und Projektmappe Erstellen.
Es geht ein Fenster auf mit der Ausgabe.

In der Ausgabe sollte nun folgendes stehen

========== Erstellen: 2 erfolgreich, Fehler bei 0, 0 aktuell, 0 übersprungen ==========

Ihr findet jetzt unter C:\drone\Examples\Win32\VCProjects\ARDrone\Debug das Programm Win32Client.exe

Das Ausführen. Es sollte in dem schwarzen Fenster eine Meldung kommen, dass eine Drohne erkannt wurde. Diese Meldung ist mit Enter zu bestätigen.
Kommt die Meldung nicht, so steht die Verbindung zur Drohne nicht. Mal Unpair und neu Verbinden…

Nach Enter gehen 2 Fenster auf: Ein schwarzes mit verschiedenen Informationen und ein Videofenster.

Mit einem passenden Gamepad (Orginal Logitech oder PS3) solltet ihr nun losfliegen können.

Ich habe das ganze mit einem alten PS2 Controller (und einem USB Adapter) und einem Logitech Joystick getestet, alles ohne Probleme.

Achtung, die automatische Stabilisierung funktioniert nicht mehr so genau, passt darauf auf, dass ihr keine zu schnellen und unkontrollierten Bewegungen macht!

Passt beim ersten Test auf, dass die Drone nicht weg fliegt oder irgendwo an die Wand klatscht!

m0nster.eu übernimmt keine Verantwortung für allfällige Schäden 😉

Nachfolgend noch ein Video, wo ich die Drone mit einem Logitech Joystick getestet habe.

 

VIEL SPASS!

Quelle: air-drone.de

Verwandte Posts:

  1. Reperatur des Bootvorganges in Windows

Einen Kommentar schreiben