TU BRAUNSCHWEIG
| Carl-Friedrich-Gauß-Fakultät | Informatik
Informatikzentrum

SEP 09: RoombaSpy

SemesterSommersemester 2009 [ Andere Semester: Sommer 17 · Sommer 16 · Sommer 15 · Sommer 14 · Sommer 13 · Sommer 12 · Sommer 11 ]
IBR Gruppe(n)ALG (Prof. Fekete)
ArtPraktikum
Dozent
PhotoProf. Dr. Sándor P. Fekete
Abteilungsleiter
s.fekete[[at]]tu-bs.de
+49 531 3913111
Raum 335
Assistenten
PhotoDr. Alexander Kröller
Ehemaliger Juniorprofessor
PhotoDr. Tobias Baumgartner
Ehemaliger Wissenschaftlicher Mitarbeiter
PhotoIngo Brinkmeier
Ehemaliger Wissenschaftlicher Mitarbeiter
LP6
SWS0+4
BeginnKick-Off-Treffen am 30.03.2009, 17:00, im IZ 262A.

Motivation

Sensornetzwerke 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.

Aufgabe

Ziel 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:

  • Entwicklung eines Visualisierungsplugins für Spyglass
  • Darstellung des Bereichs, in dem sich der Roomba derzeit befinden kann (entsprechende Informationen werden bereitgestellt).
  • Darstellung des statischen Netzwerks, wobei keine Lokationsinformationen der Knoten verfügbar sind.
  • Darstellung verschiedener Netzwerkinformationen im Plugin
  • Fernsteuerung des Roombas (fahren, drehen, stoppen, ...)

Die Komponenten im Detail

Der 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 Sensorknoten

Unser 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 iShell

Fü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ätzung

In 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 Netzwerk

Eine 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.

Organisatorisches

SEP Dokumente

Materialien

DatumTitel
--.--.----...

aktualisiert am 09.02.2011, 13:23 von Dr. Tobias Baumgartner
printemailtop