Hallo,
dann stelle ich mein Projekt auch mal online (die 20 Beiträge kriege ich bis zum Bewerbungsschluss schon noch hin) :
Ich schreibe derzeit eine Software (RoboBridge), mit der der RP6 komplett vom PC aus ferngesteuert werden kann. Dies kann nützlich sein, um die Programmlogik auf den leistungsstärkeren PC auszulagern und z.B. bei Kartografierungsprojekten größere Datenmengen direkt auf dem PC zu speichern.
Der Unterschied zum bekannten Remotrol liegt also darin, dass der Fokus dieser Anwendung nicht auf der manuellen Fernsteuerung liegt sondern die Fernsteuerung per Programm ermöglicht.
Nach erfolgreicher Beendigung wird das Projekt natürlich als Open Source unter http://code.google.com/p/robobridge/ veröffentlicht.
Mein RP6 hat derzeit folgende Hardwarekonfiguration:
- RP6V2 Base (Slave-Modus)
- RNControl 1.4 mit modifizierter RP6Lib
- LCD03
- SRF08
- CMPS03
- BTM222 zur drahtlosen Kommunikation
- Sharp GP2D12
- 1 Servo
Das Ganze soll komplett in Java geschrieben werden, momentan ist eine Kommunikation über ein BTM222-Modul implementiert, was die Verwendung nativer Bibliotheken erzwingt, wodurch die Plattformunabhhängigkeit verloren geht.
Ein WLAN-Modul würde dieses Problem sehr elegant umgehen: Hier müsste eine Art (Web-)Server auf dem Wifi-Modul implementiert werden, durch welchen der RP6
seine Befehle empfängt. Im Gegensatz zur seriellen Schnittstelle oder Bluetooth (hier existieren zwar Interfaces nach JSR82 bzw. Libraries wie RXTX) wird eine Netzwerkkommunikation von Java direkt unterstützt, daher wäre das Programm wieder wirklich plattformunabhängig.
Das Ziel ist daher:
- Einfache Unterstützung verschiedener Kommunikationsmethoden wir Bluetooth oder LAN
- Realisierung einer Client-Server-Architektur zwischen RP6 und PC.
- Entwurf eines Webservers auf dem RP6, sodass der Roboter-Status auch von anderen Endgeräten angezeigt werden kann - bei Bedarf natürlich auch aus dem Internet
- Optional: Android-App zur Fernsteuerung z.B. über die telefoninternen Beschleunigungssensoren: Kommt erst, wenn der Rest läuft!
- Entwurf eines Kommando-Protokolls, das verschiedene auf dem RP6 ausführbare Kommandos abstrahiert und dem Anwender in seinem Programm zur Verfügung stellt.
Vorerst soll nur die oben aufgeführte Hardware unterstützt werden, allerdings können weitere Sensoren/Aktuatoren sehr einfach implementiert werden.
- Falls möglich: Der PC soll das Remotrol-Protokoll unterstützen. Priorität hat allerdings das eigene Protokoll.
- Umsetzung einer Java-Library zur Steuerung des RP6 vom PC aus: Befehle werden hier schon korrekt per Bluetooth gesendet und empfangen. Eine GUI zur erweiterten Kontrolle sowie Fernsteuerung ist in Arbeit.
- Flashen des Controllers, falls der neuste RobotLoader verwendet wird (über dessen Kommandozeilen-Interface)
Grüße,
Max Web
Lesezeichen