Exposé: Implementierung einer Lokalisierung für Roboter auf einem topologischen Graphen mittels der Markov-Lokalisierung Ausgangssituation: Das geplante Projekt reiht sich in die aktuelle Erweiterung des Kurs-Portfolios des Schülerlabors „Roboscope“ ein. Künftig sollen hier neben den reinen „Linienverfolger“-Kursen auf Basis von NXT-G und Java Kurse angeboten werden, die einen stärkeren Fokus auf Verfahren und Algorithmen der Robotik legen. Als Plattform für das Projekt wird der Mindstorm-NXT der Firma Lego dienen. Um komplexere Algorithmen bei auf dem Mindstorm-NXT einzusetzen wird dieser mittels USB mit einem Rechner verbunden um die Rechenkapazität zu erhöhen. Im Laufe des Projektes wird diese kabelgebundene Variante durch ein WLAN-Modul erweitert, damit sich der Roboter ohne Behinderung bewegen kann. Der Algorithmus der Kommunikation wird über ROS (robot operating system) umgesetzt. Zurzeit gibt es auf Roboterseite die Linienverfolgung und Kreuzung Erkennung. Des Weiteren werden auf Rechnerseite die Daten entgegengenommen und auf einer Graphischen Oberfläche dargestellt, so dass das Labyrinth sich auf dem Rechner als topologischer Graph gespeichert wird. Das Szenario ist ein Labyrinth mit Gängen und Kreuzungen. Die Gänge und Kreuzungen werden mit Kanten und Knoten abstrahiert dargestellt. Das abstrahierte Labyrinth (152x274) Vorgehen: 1. Literaturrecherche: Der erste Schritt ist eine Recherche zur Markov-Lokalisierung auf topologischen Graphen. 2. Entwurf: Einen Entwurf zur Struktur und zum Verhalten des Algorithmus entwerfen. 3. Implementierung 4. Testphase 5. Evaluation anhand des Mindstorm 6. Dokumentation Ziel: Das Ziel der Arbeit ist die Implementierung eines Lokalisierungsalgorithmus für Roboter auf einem topologischen Graphen mittels der Markov-Lokalisierung. Markov-Lokalisierung: 1. Sense 3. 2. Act Think Markov-Lokalisierung Ansatz Beispiel: Vor Beginn des Algorithmus ist die Wahrscheinlichkeit überall gleich, dass er sich auf einer beliebigen Position befindet. Der Roboter befindet sich auf dem ersten Knoten. Er erkennt, dass 4 Kanten von diesem Knoten wegführen (Sense). Daraus ergibt sich eine gleiche Wahrscheinlichkeit, dafür dass er sich an einem der vier Knoten befindet die 4 Kanten haben (Think). Somit ergibt sich die Wahrscheinlichkeit für jeden der vier Knoten zu 0,25. Der Roboter bewegt sich zum nächsten Knoten. (Act). Er befindet sich nun auf dem 2. Knoten und erkennt dieser hat auch wieder 4 Kanten (Sense). Damit steigt die Wahrscheinlichkeit, da weniger Knoten in Frage kommen die vier Kanten haben unter der Voraussetzung, dass er vorher an einem Knoten war der auch vier Kanten hat (Think). In diesem Beispiel könnte er sich auf dem 2. oder auf dem 5. Knoten befinden. Somit ist die Wahrscheinlichkeit, dass er sich auf Knoten 2 bzw. auf Knoten 5 befindet 0,5. Die Wahrscheinlichkeit, dass er sich an einem anderen Knoten als Knoten 2 oder 5 befindet ist 0. Er fährt weiter zum nächsten zufälligen Knoten(Act). Nun befindet er sich am 3. Knoten und erkennt dieser hat nur zwei Kanten (Sense). Daraus folgt dass er sich nur an Knoten 3 befinden kann, da es nur einem Knoten mit zwei Kanten gibt, unter der Bedingung, dass er vorher zwei Knoten mit jeweils vier Kanten angefahren ist.