Exposé: Implementierung einer Lokalisierung für Roboter auf einem

Werbung
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.
Herunterladen