Feedback Motion Planning Navigation Autonomer Mobiler Systeme 2007/2008 Veranstalter: Prof. Dr. Bernd Krieg-Brückner Dr. Bernd Gersdorf Sebahattin Kücük und Tim Nulpa
Motivation Unsicherheit ist angeboren in der physischen Welt Die Schritte eines Plans sind abhängig von der Information, die während der Ausführung erfasst wird Das Konzept Rückkopplung (Feedback) kommt ins Spiel um Korrekturmaßnahmen während der Ausführung einzuführen Zuverlässiger: Rücksicht auf Modellierung von Unsicherheiten
Unsicherheit zu modellieren Explizit Bahnplanung zählt deutlich zu der Abweichung, welches durch Unsicherheit verursacht wird Rückkopplungsbasierte Algorithmen berücksichtigen diese Unsicherheiten Unsicherheitsmodellierung ist eine anspruchsvolle Aufgabe, Aber schwieriges Algorithmusdesign Anfällig Fehlern auszugeben
Unsicherheit zu modellieren Implizit Eine Bahn wird ohne Berücksichtigung von Unsicherheiten berechnet Ein Rückkopplungsplan nimmt während der Ausführung Korrekturmaßnahmen vor, um Abweichungen, die durch Unsicherheit verursacht werden, aufzuheben
Diskreter Zustandsräume Definierung eines Rückkopplungsplans Betrachte eine diskrete Bahnplanungsproblem, wo der Anfangszustand nicht gegeben ist Definiere den Zustandsverlauf als Definiere Aktionsverlauf als
Diskreter Zustandsräume Formulierung einer optimalen diskreten Rückkopplungsplan Sei X ein endlicher nicht leerer Zustandsraum Für jeden definiere den Aktionsraum U (x) ist eine Zustandsübergangsfunktion
Diskreter Zustandsräume Die geordnete Menge S = {1,2,,,,,,,,,,,∞} Kennzeichnet die Menge der Stufen Ein Element k Є S wird Stufe genannt ist die Zielmenge Definiere Kostenfunktion: wobei F = K + 1
Diskreter Zustandsräume Vorgehensweise bei Lösungen Angesichts der Anfangskonditionen kann ein Ablauf spezifiziert werden Ohne Anfangskondition könnte ein Ablauf für jeden Zustand spezifiziert werden Überhöhte Speicheranforderung z.B. A* Algorithmus Eine Ablaufführung für jeden Zustand ist überflüssig Es genügt nur den ersten Ablauf bei jedem Zustand zu führen
Diskreter Zustandsräume Feedback Plan Definiere Feedback Plan als eine Funktion π: X U dass jeden Zustand zu einem Ablauf abbildet Wenn das Ziel erreicht wird, wendet die Rückkopplung den Endablauf (termination action) an:
Diskreter Zustandsräume Eine Rückkopplung heißt erst gelöst, wenn das Ziel von jedem Zustand, von wo aus das Ziel erreichbar ist, erreicht wird
Rückkopplungsplan Ausführbarkeit und Optimalität Sei die Menge der Zustände, von wo aus das Ziel erreichbar ist Eine Rückkopplung π wird Ausführbare Rückkopplung genannt, wenn Eine Rückkopplungsplan ist optimal, wenn das totale Kosten L(π, x) von irgendeiner Anfangskondition am geringsten unter allen möglichen Plänen erreichbar ist
Rückkopplungsplan auf einem 2D Gitter Beispiel: Betrachte das 2D Gitter Problem Mögliche Bewegungen sind: hoch (↑), runter (↓), links (←), rechts (→) und beenden
Rückkopplungsplan auf einem 2D Gitter Lösung: Es gibt viele Lösungen Die dargestellte Lösung ist optimal bezüglich der Anzahl der Schritte zum Ziel Aber existieren auch einige alternative Rückkopplungs- Pläne, die optimale Lösung liefern
Rückkopplungsplan als Navigationsfunktion Methoden wie Dijkstra Algorithmus und Iteration (value Iteration) erzeugen Informationen, die benutzt werden können um Rückkopplung zu repräsentieren Um das zu erreichen wird ein Rückkopplung (Feedback plan) als Potentialfunktion über einen Zustandsraum ausgedrückt Potentialfunktion kann optimale Lösung für Rückkopplung liefern
Navigationsfunktionen in diskreten Zustandsraum Betrachte die diskrete Potentialfunktion Eine Rückkopplung kann durch das benutzen des lokalen Operators die Potentialfunktion definieren
Navigationsfunktionen in diskreten Zustandsraum Im Falle der optimalen Planung ist der lokale Operator definiert dann als: Wenn das Planungsproblem isotrop ist, dann: Für alle Isotrop: unabhängigkeit einer Eigenschaft von der Richtung
Navigationsfunktionen in diskreten Zustandsraum Wir brauchen eine Potentialfunktion, das erfolgreich den Ziel erreicht Nehmen wir an, dass Kostenfunktion isotrop ist Sei der erreichte Zustand nach der Anwendung von (ausgegeben von lokalen Operator)
Navigationsfunktionen in diskreten Zustandsraum Definition Eine Potentialfunktion , die die folgende drei Eigenschaften besitzt, nennt man auch Navigationsfunktion 1. für alle 2. wenn kein von x aus erreichbar ist 3. und der Zustand nach der Anwendung des lokalen Operators
Navigationsfunktionen in diskreten Zustandsraum Definition eine optimale Navigationsfunktion ist eine Navigationsfunktion, das den Grundsatz der Optimalität erfüllt:
Navigationsfunktionen in diskreten Zustandsraum so würde eine Korrektur von einer optimalen Navigationsfunktion aussehen wir können den Grundsatz der Optimalität mit der isotropen Kosten nachprüfen
Navigationsfunktionen in diskreten Zustandsraum Beispiel Betrachte das vorherige Beispiel mit einem isotropischen Kostenmodell Es wird eine Aktion (Ablauf) ausgewählt, dass den Potentialwert reduziert und uns zum Ziel (Feedback Plan) bringt
Gitterbasierte Navigationsfunktion für Bahnplanung Optimale Bahnplanung bringt Roboter näher zu Hindernissen Eine Gitterbasierte Version, der Maximum Clearance Karte benutzt, kann konstruiert werden um Abstand von Hindernissen zu haben Eine Navigationsfunktion, welches den Roboter auf der Karte führt, kann definiert werden
Maximum Clearance Algorithmus Vorausgesetzt, dass es nur ein Zielzustand gibt Initialisiere für jeden bestimme und füge alle nicht besuchten Nachbarn von x in Wenn dann beenden. Andernfalls lass i: = i + 1 und gehe zu Schritt 3. Wavefront Propagation
Wavefront Propagation ( Wellen-Ausbreitung) 4 11 10 9 8 7 5 4 10 9 8 7 6 5 3 8 3 2 11 10 9 4 3 2 1 11 10 9 12 1 13 12 11 10 2
Maximum Clearance Algorithmus Markiere jeden Zustand, wo sich zwei gegenüberliegende wavefronts als Gitterzustand (Skeleton) treffen S kennzeichnet die menge aller Gitterzustände (Skeleton) Verbinde mit dem Gitter (Skeleton) mit einem Suchalgorithmus und füge den resultierenden Pfad in S
Maximum Clearance Algorithmus Berechne eine NF über S Berechne eine NF indem man S als Zielregion betrachtet Für jeden setze für die restlichen Zustände setze wo der nächste Punkt zu x ist
Maximum clearance Algorithmus
Weitere Algorithmen für die implizite Bahnplanung Schaffen eines jeweils gültigen Konfigurationsraumes Ändern der jeweiligen Route nur bei erkannten Hindernissen
Algorithmen Es gibt viele Algorithmen die sich zur Bahnplanung eignen Unterschied ist hauptsächlich der Aufwand Aufwand minimieren durch: Vereinfachte Darstellung der Welt Vereinfachen von Objekten ...
Algorithmen Sichtbarkeitsgraph Vektorfelder Potentialfelder Musterbasierte Ansätze Polar Bug Algorithmus
Sichtbarkeitsgraph Auf der Basis von Sichtlinien im 2D-Raum Nicht gerichteter Graph Die Kanten sind alle Verbindungen die nicht das innere eines Hindernisses schneiden
Sichtbarkeitslinien Beispiel
Sichtbarkeitslinien Suche auf dem Graphen mit klassischen Algorithmen Nearest Neighbour Dijkstra Bei vielen Hindernissen wird der Graph sehr Groß Hoher Aufwand Hoher Speicherbedarf
Vektorfelder über Zellkomplexen Ein Raum wird per Zelldekomposition unterteilt Über jede Zelle wird ein Vektorfeld gelegt
Zelldekomposition Exakte Zellzerlegung Approximierte Zellzerlegung Der freie Raum wird exakt dargestellt Hoher Aufwand Approximierte Zellzerlegung Näherungsweise Darstellung des Raumes Geringerer Rechenaufwand
Zelldekomposition Beispiel
Vektorfelder Ordnen jedem Punkt im Raum einen Vektor zu
Vektorfelder über Zellkomplexen Das Vekotfeld zeigt zu einer Ausgangskante Über die Ausgangskante kommt man zu einem neuen Feld im Zellenkomplex
Vektorfelder über Zellkomplexen Beispiel
Musterbasierte Methoden Über die freien Bereiche eines Raumes werden simple Muster gelegt Zum Beispiel Kreise
Musterbasierte Methoden Auf jedem Muster ist ein Vektor definiert der zu einem nächsten führt
Erweitern des Grundproblems Reaktive Bahnplanung Bewegeliche Dinge im Weg Kinematische Einschränkungen Bewegunsradius des Roboters Geometrische Einschränkungen Ausmaße des Roboters
Aufwand minimieren Viele Möglichkeiten z.B. vereinfachte Darstellung des sich bewegenden Objektes
Polar Bug Algorithmus Funktioniert auf der Basis von Laserscannerdaten Wird bereits erfolgreich getestet Speziell für die Navigation in sich ständig ändernden Umgebungen Angewendet bei Projekten wie Care-O- Bot
Kollisionsvermeidung Unterste Sicherheitsebende sollte immer ein Modul zur Kollisionserkennung sein Stoppt das aktive Fahrzeug im Notfall Wichtig bei kurzfristig auftretenden Hindernissen Zum Beispiel wenn eine Person davor springt
Polar Bug Algorithmus Beispiel
Fazit Es gibt viele Algorithmen, die die Roboter Bewegungen berechnen Viele Algorithmen gehen davon aus, dass der berechnete Weg ohne jede Abweichung befahren werden kann Aber meistens zeigt der Roboter kleine Abweichungen von den eigentlichen Weg und dies führt auf einen Hindernisfreien Raum zu Kollisionen Durch Feedback Motion Planning wird dieses Problem beheben
Danke für die Aufmerksamkeit !!!