480 likes | 620 Views
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
E N D
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 Kostenfunktionisotrop 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
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 • 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 • Der freie Raum wird exakt dargestellt • Hoher Aufwand • Approximierte Zellzerlegung • Näherungsweise Darstellung des Raumes • Geringerer Rechenaufwand
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
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
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