Ardupilot Mega Rover mit Smartphone fernsteuern (II)

Überblick

Wie im vorherigen Blog zum Thema „Ardupilot Mega Rover mit dem Smartphone fernsteuern“ bereits angedeutet, steht nun nach einiger weiterer Beschäftigung mit dem Thema eine neue Android(TM) App „udpRC4UGV“ mit Rover-spezifischen Funktionen zur Verfügung. Als wesentliche Erweiterung kann bei dieser App der „Flight Mode“ eingestellt werden und Kanal 7 ein- und ausgeschaltet werden, so dass diverse Sonderfunktion des APM verfügbar werden.

Beschreibung

Die Realisierung folgt der bereits im vorherigen Beitrag beschriebenen Vorgehensweise: ein PiKoder/SSC wRX Empfänger ersetzt den traditionellen Empfängerbaustein. Die Fernsteuerung erfolgt dann über WLAN, indem sich das Smartphone an den vom Empfänger angebotenen Access Punkt (AP) anmeldet.

Die Fernsteuer-App bietet verschiedene Bedieneroberflächen an: von einer einfachen Tastensteuerung über einen virtuellen Joystick bis hin zu einer Accelerometer-basierten Option.

Jede Bedienoberfläche bietet neben den allgemeinen Bedienelementen zur Fernsteuerung noch die Möglichkeit, den Flugmodus zu wählen. Zusätzlich kann Kanal 7 über die „CH7“-Taste ausgelöst werden (damit wird z.B. im LEARNING-Modus die aktuelle Position als Wegpunkt abgespeichert).

Die App ist im Google Play Store kostenfrei erhältlich. Das User Manual kann auf der PiKoder Webseite heruntergeladen werden; es beschreibt nicht nur die Programmbedienung im Detail, sondern auch den Hardwareaufbau.

Arduino Pic Programmer

Übersicht

Es gibt diverse Bauanleitungen zu Pic Programmern im Internet. Diese benötigen jedoch oftmals entweder eine der inzwischen ausgestorbenen seriellen oder parallelen Schnittstellen oder einen bereits programmierten Controller – und setzen damit wiederum einen Programmer voraus.

Einen interessanten dritten Weg bietet die Verwendung eines Arduino als Controller (s. ArdPicProg). Mit dem Arduino Sketch „ProgramPic“, einem PC-Programm und mit einer sehr überschaubaren Anzahl von Bauteilen wird der Arduino mit wenig Aufwand zum Pic Programmer, der neben einem Programmiersockel auch eine ICSP- und eine ICD-2 (RJ-11) Schnittstelle bietet. Alle erforderlichen Lösungskomponenten einschließlich der Hardware Dokumentation sind als Open Source sowie als Bausatz verfügbar.

Einen weitergehenden Eindruck zum Aufbau und dem Einsatz des ArdPicProg sowie einen Überblick der unterstützten Controller bietet der User’s Guide (in Englisch).

Host-Software für ArdPicProg

Zur Programmierung eines Pic Controllers wird ein Host Program benötigt. Hierzu stehen zwei Programme zur Verfügung: das zeilenorientierte Programm „Ardpicprog“ oder das Programm „Arduino Pic Programmer (ArdPicProgHost)“ mit einer grafischen Bedieneroberfläche. Beide Programme sind als Open Source auf Github verfügbar.

Arduino Pic Programmer (ArdPicProgHost)

Das Programm bietet die Möglichkeit zur zeitgemäßen und intuitiven Bedienung des Arduino Pic Programmers über eine Windows-Bedieneroberfläche.

Pic-Controller, die der Arduino Programmer unterstützt, können ausgelesen, gelöscht und programmiert werden. Die Programmbedienung ist ebenfalls im User’s Guide erläutert.

ArdPicProgHost ist Open Source und wurde mit Microsoft VB2010 Express realisiert. Der Source Code wird unter den Bedingungen der GNU General Public License Version 3 über ein entsprechendes Github Repository zur Verfügung gestellt. Die aktuelle ablauffähige Version dieses Programms (Release 0.2.7) für Windows 7 ArdPicProgHost.exe kann hier heruntergeladen werden:

 

Eine Softwareinstallation ist nicht erforderlich: nach dem Download und dem Auspacken des Programms kann dieses direkt ausgeführt werden.

PicProgHost (Terminalprogramm)

Das Programm PicProgHost basiert auf dem Open Source Projekt Ardpigprog, ist auf den ArdPicProg-Projektseiten dokumentiert und dort auch als Open Source verfügbar.

Der Sourcecode wurde inzwischen in Qt 5 migriert und die aktuelle Version 1.0 unterstützt nun auch die COM ports > 9. Die ablauffähige und aktuelle Programmversion für Windows 7 kann hier heruntergeladen werden:

 

Der Sourcecode ist im PicProgHost github Repository verfügbar. Die Programmparameter sind rückwärtskompatibel zu Ardpicprog und daher ebenfalls den ArdPicProg-Projektseiten zu entnehmen.

Eine Programminstallation ist nicht erforderlich. Die Programmbedienung wird ebenfalls im User’s Guide erläutert.

Arduino Sketch „ProgramPic“

Der Sketch „ProgramPic“ ist im ProgramPic github Repository verfügbar.

ArdPicProg Leiterplatte

Im Store können Sie die unbestückte Leiterplatte erwerben und die Bauanleitung herunterladen.