… oder wie finde ich den Weg Lokale Navigation … oder wie finde ich den Weg
inhalt Elastic Band VFH+ VFH* Obstacle-Restriction Method (ORM) Potentialfeld-Methode Beam Curvature Methode (BCM) inhalt
Elastic Band
Voraussetzung: Pfad vom Pfadplaner Position in der Systemhierarchie:
Es werden 2 Kräfte auf den Pfad angewendet (dynamisch): Anziehende Kraft (glättet die Ecken und "kürzt" den Pfad) Abstoßende Kraft (sorgt für den Abstand zu Hindernissen) Sollte das Band "reißen" d.h. unüberbrückbare Hindernisse auftauchen, benötigt es eine Anpassung des Pfades durch den (globalen) Pfadplaner Beispiel: schließen einer vorher offenen Tür
Umsetzung mit Bubbles (Blasen) Bubbles (Kreise bzw. Kugeln) werden iterativ mit dem Mittelpunkt auf dem Pfad platziert Größe der Bubbles zeigt jeweils an, in welchem Raum sich der Roboter kollisionsfrei bewegen kann Abstand zum vorherigen Bubble = Radius des neuen Bubbles - Konstante Überlappung der Bubbles
Automatische Veränderung der Größe der Bubbles bei Änderung des Pfades durch die Kräfte Damit der Pfad nicht unterbrochen wird, werden in Freiräumen neue Bubbles eingefügt Entfernung von Bubbles, deren rechter und linker Nachbar sich bereits überschneiden (Performance)
VFH+
Der Algorithmus Erweiterung des herkömmlichen VFH Algorithmus Bezieht die Breite des Roboters in die Wegplanung mit ein Reduktion des Kartenrasters auf eindimensionale polare Histogramm, die um die momentane Position des Roboters herum aufgebaut werden Wegberechnung durch Aufwandsrechnung
erste Stufe - primary polar histogram
zweite Stufe - binary polar histogram
dritte Stufe - masked polar histogram
Vierte Stufe – Wahl der Fahrtrichtung Kostenfunktion: 1. Term: Differenz zwischen möglicher Richtung und Zielrichtung 2. Term Differenz zwischen möglicher Richtung und Orientierung des Roboters 3. Term: Differenz zwischen möglicher Richtung und vorher gewählter Fahrtrichtung
Lokale Hindernisvermeidung mit Vorausuntersuchung VFH*
Einleitung sucht nach Tälern in einem lokal entwickelten Polaren Histogramm VFH* verwendet den A* Suchalgorithmus, Kostenfunktionen und heuristische Funktionen
VFH* Algorithmus analysiert Konsequenzen für jede mögliche Richtung Berechnung von Position und Ausrichtung nach geplanten Schritt für jede mögliche Richtung Berechnung der Kosten g(c) und heuristischen Funktion h(c) f(c) = h(c) + g(c) Heuristische Funktion = geschätzte Kosten des günstigsten Pfades von Knoten ni zum Ziel Pfad mit geringsten f(c) wird neuer Bewegungspfad ng = 3 ng = 2 ng = 1 Aktuelle Position A* Suchbaum der Tiefe 3
Ablauf: mögliche Pfade (hellgrau) bestimmen und Kosten berechnen günstigsten Pfad finden (schwarz) Roboter entlang des günstigsten Pfades bewegen Zieltiefe ng = 2
Vorteil von VFH* hängt von der Zieltiefe des Baumes ab je Höher die Zieltiefe, umso besser ist der Algorithmus, aber auch umso langsamer
Obstacle-Restriction Method (ORM) Hindernisvermeidung in schwierigen Umgebungen mit Hilfe von Hinderniseinschränkungen Obstacle-Restriction Method (ORM)
Allgemeine Beschreibung Gibt es keinen direkten Weg, man nehme einfach Zwischenziele Zwei Grundlegende Schritte zum Erfolg: Auswertung der Objektpunkte und Herausfinden der Zwischenziele (Subgoals) Schauen, welche Zwischenziele genutzt werden können
Man nehme Zwischenziele! Einfache Darstellung next step: Obstacle-Punkte werden zu C-Obstacles
Warum geht‘s nicht direkt?
„Umschauen“ heißt‘s!
Problem? Nicht hier!
Potentialfeld-Methode
Analogie Roboter ist positiv geladenes Teilchen Zielpunkt besitzt anziehendes Potential Hindernisse besitzen abstoßendes Potential Aufbau eines Potential-Feldes
"Ziel" des Roboters: Abstand zu Hindernissen maximieren Abstand zum Ziel minimieren
Vor- und Nachteile Vorteil bei wenigen Hindernissen sehr schnell Lösung muss nicht immer gefunden werden Berechnung kann ev. nicht aufhören, falls es keine Lösung gibt (Lokale Minima) Oszillation in engen Passagen Randbedingungen nicht erweiterbar
Beam Curvature Methode (BCM) basierend auf Strahlen-Verfahren Beam Curvature Methode (BCM)
Beam Curvature Methode Unterteilung in 3 Schritte: Erstellen der Beams "Final Set" erzeugen Besten Weg auswählen (vereinfachte) Umsetzung: siehe Tafel
Danke für eure Aufmerksamkeit < Ende