Feedback Motion Planning Navigation Autonomer Mobiler Systeme 2007/2008 Sebahattin Kücük und Tim...

Preview:

Citation preview

Feedback Motion PlanningNavigation Autonomer Mobiler Systeme 2007/2008

Sebahattin Kücük und Tim Nulpa

Veranstalter: Prof. Dr. Bernd Krieg-Brückner Dr. Bernd Gersdorf

MotivationUnsicherheit ist angeboren in der

physischen WeltDie 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 modellierenExplizit

◦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 modellierenImplizit

◦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äumeFormulierung 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äumeEine Rückkopplung heißt erst

gelöst, wenn das Ziel von jedem Zustand, von wo aus das Ziel erreichbar ist, erreicht wird

RückkopplungsplanAusfü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ösungist optimal bezüglich derAnzahl der Schritte zum Ziel◦ Aber existieren auch einige alternative Rückkopplungs-Pläne, die optimale Lösung liefern

Rückkopplungsplan als NavigationsfunktionMethoden 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 ZustandsraumBetrachte 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 ZustandsraumDefinition

◦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

optimalenNavigationsfunktion 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 BahnplanungOptimale Bahnplanung bringt

Roboter näher zu HindernissenEine 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.

Wa

vefr

ont

Pro

pag

atio

n

Wavefront Propagation ( Wellen-Ausbreitung)

1

1

2

2

2

3

3

3

4

4

4

5

56

7

7

8

8

8

9

9

9

9

1011

10

11 10

10

10

11

11

12

1213

Maximum Clearance AlgorithmusMarkiere 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 SBerechne eine NF indem

man S als Zielregion betrachtetFü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

SichtbarkeitsgraphVektorfelderPotentialfelderMusterbasierte AnsätzePolar Bug Algorithmus

Sichtbarkeitsgraph

Auf der Basis von Sichtlinien im 2D-Raum

Nicht gerichteter GraphDie 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◦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 GrundproblemsReaktive BahnplanungBewegeliche Dinge im WegKinematische Einschränkungen

◦Bewegunsradius des RobotersGeometrische 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 getestetSpeziell für die Navigation in sich

ständig ändernden UmgebungenAngewendet 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 AlgorithmusBeispiel

FazitEs gibt viele Algorithmen, die die

Roboter Bewegungen berechnenViele 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 !!!

Recommended