- Institute of Operating Systems and Computer Networks
- News
- About us
- Connected and Mobile Systems
- Distributed Systems
- Algorithms
- Microprocessor Lab
- Education
- Services
- Spin-Offs
- Research Cooperations
SEP 09: RoombaSpy
Semester | |||||
IBR Group | ALG (Prof. Fekete) | ||||
Type | Lab | ||||
Lecturer | |||||
Assistants | Dr. Alexander Kröller Ehemaliger Juniorprofessor Dr. Tobias Baumgartner Ehemaliger Wissenschaftlicher Mitarbeiter Ingo Brinkmeier Ehemaliger Wissenschaftlicher Mitarbeiter | ||||
Credits | 6 | ||||
Hours | 0+4 | ||||
Start | Kick-Off-Treffen am 30.03.2009, 17:00, im IZ 262A. | ||||
MotivationSensornetzwerke bestehen aus einzelnen, batteriebetriebenen Sensorknoten, die jeweils über einen Prozessor, Speicher und Sensoren verfügen, sowie mit Hilfe eines Funkinterfaces drahtlos miteinander kommunizieren können. Als Gesamtverbund ist das Netzwerk in der Lage, komplexe Problemstellungen zu lösen, wobei ein einzelner Knoten nur einfache Aufgaben, wie etwa das Lesen und Versenden seiner Sensordaten durchführt. Die Sensorknoten sind dabei in der Regel statisch in der Umgebung verteilt, also ohne die Möglichkeit ihre Position zu verändern. Manche dieser Knoten können aber auch in der Lage sein, sich gezielt in ihrer Umgebung zu bewegen (z.B., in dem sie auf mobilen Robotern installiert werden). Normalerweise benötigen Knoten fuer eine solche Bewegung im Raum ein Lokationsbewusstsein, etwa um sich von einem Punkt A zu einem Punkt B zu bewegen. Der Knoten kennt dabei sowohl seine aktuelle Postion in Koordinaten als auch die Zielkoordinaten. Im Bereich von Sensornetzwerken kann man allerdings nicht voraussetzen, dass ein Knoten seine aktuelle Postion kennt. Systeme wie GPS benötigen i.d.R. zu viele Energieressourcen, oder sind innerhalb von Gebäuden sogar gar nicht einsetzbar. Ziel dieser Arbeit soll es sein, einen (oder mehrere) mobile Roboter, die keinerlei Lokationsbewusstsein besitzen, durch ein statisches Sensornetzwerk zu navigieren (wobei auch das statische Netzwerk über keine Lokationsinformationen verfügt). Die Navigation des mobilen Roboters soll dabei einzig auf Basis der Signalstärke empfangener Nachrichten aus dem statischen Netz erfolgen. Ein zu berücksichtigendes Problem hierbei ist, dass Entfernungsschätzungen aufgrund der Signalstärke meist sehr ungenau sind. Daher kann, wenn ein solcher mobiler Roboter die Entfernungen zu den statischen Knoten geschätzt hat, nur sehr grob ein Bereich bestimmt werden, in dem sich der Roboter befinden kann. ![]() AufgabeZiel des Softwareentwicklungspraktikums soll es sein, in der Programmiersprache Java ein Plugin für das bestehende Visualisierungstool Spyglass zu schreiben, das zum Einen das aktuelle Netzwerk (statische und mobile Knoten) visualisieren und zum Anderen einen mobilen Knoten fernsteuern kann. So ergeben sich folgende Zielsetzungen:
Die Komponenten im DetailDer Roomba![]() ![]() Der Roomba ist ein Staubsaugerroboter der Firma irobot, der über eine serielle Schnittstelle gezielt gesteuert werden kann (Auslesen von Sensoren, Steuern der Radmotoren, ...). Wir nutzen diese Schnittstelle, um den Roomba mit einem Sensorknoten zu steuern. Der Sensorknoten kann dabei die Sensoren des Staubsaugerroboters auslesen und ihn in eine gegebene Richtung steuern. ![]() iSense SensorknotenUnser statisches Sensornetzwerk besteht aus iSense-Knoten, die beliebig in einem Raum verteilt werden können. Die Knoten sind bereits in der Lage, mit den Roombas zu kommunizieren, so dass sie nur noch verteilt und eingeschaltet werden müssen. ![]() ![]() ![]() ![]() Spyglass in der iShellFür die Kommunikation mit den iSense-Knoten kann man die iShell benutzen, um sich z.B. Debug-Informationen anzuschauen oder ein neues Image auf einen iSense-Knoten zu flashen. Für die iShell gibt es weiterhin das Plugin Spyglass, das für eine Visualisierung des aktuellen Netzwerkzustands genutzt werden kann. Spyglass ist in Java geschrieben und kann wiederum durch Plugins erweitert werden.![]() BereichsschätzungIn das Visualisierungsplugin Spyglass soll u.a. eine Abschätzung eingearbeitet werden, die anzeigt, in welchem Bereich sich der Roomba gerade befinden kann. Dabei sendet der Roomba (bzw. der iSense-Knoten, der auf dem Roomba installiert) Daten, die sein Verständnis seiner Umgebung beschreiben. Diese Daten sollen wiederum entsprechend visualisiert werden.![]() Statisches NetzwerkEine weitere Aufgabe ist, das statische Netzwerk zu visualisieren. Die Herausforderung dabei wird sein, dass i.d.R. keine Lokationsinformationen verfügbar sind, d.h. das Netzwerk nur aufgrund der Nachbarschaftsbeziehungen visualisiert werden muss. Dabei werden, wie im untenstehenden Bild zu sehen ist, allerdings Triangulierungsinformationen vom Netzwerk bereitgestellt.![]() OrganisatorischesSEP Dokumente
Materialien
|