Kognitive Robotik: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Sonne (Diskussion | Beiträge) (→Sensorik: kleine Ergänzungen) |
Sonne (Diskussion | Beiträge) (→Navigation: LokaleNavigation eingefügt) |
||
Zeile 219: | Zeile 219: | ||
= Navigation = | = Navigation = | ||
− | + | '''Problemstellung:''' | |
− | + | * Wo befindet sich der Roboter | |
− | + | * Wo befinden sich andere Objekte oder Orte in Relation zum Roboter | |
− | + | * Wie kommt der Roboter von der aktuellen Position zu anderen Orten | |
− | + | * Vermeidung von Kollisionen mit Hindernissen | |
− | |||
'''Lokale Navigation:''' | '''Lokale Navigation:''' | ||
* mit und ohne Umgebungsmodell möglich | * mit und ohne Umgebungsmodell möglich | ||
Zeile 231: | Zeile 230: | ||
* auf Basis entfernungsmessender Sensoren | * auf Basis entfernungsmessender Sensoren | ||
* Art und Anordnung der Sensoren bestimmt Leistungsfähigkeit | * Art und Anordnung der Sensoren bestimmt Leistungsfähigkeit | ||
+ | * betrachten nur aktuellen sensorischen Kontext | ||
* reaktive Verfahren | * reaktive Verfahren | ||
Zeile 236: | Zeile 236: | ||
* basierend auf Umgebungsmodell | * basierend auf Umgebungsmodell | ||
* Selbstlokalisation | * Selbstlokalisation | ||
− | * | + | * Erreichen eines Ziels |
* Pfadplanung | * Pfadplanung | ||
* Art des Umgangs mit Unsicherheiten bestimmt Leistungsfähigkeit | * Art des Umgangs mit Unsicherheiten bestimmt Leistungsfähigkeit | ||
* planende Verfahren | * planende Verfahren | ||
− | == Umgebungsmodelle == | + | == Lokale Navigation == |
+ | |||
+ | === Direkte Sensor-Aktor-Kopplung === | ||
+ | |||
+ | '''Realisierungen:''' | ||
+ | # überwachtes Training eines NN | ||
+ | #* einfach zu realisieren | ||
+ | #* System kann nie besser als Supervisor werden | ||
+ | #* z.B. ALVINN | ||
+ | # Training eines NN mit RL | ||
+ | #* zeitaufwändig | ||
+ | #* Roboter muss Erfolg/Misserfolg erfahren | ||
+ | #* für viele Realweltanwendungen nicht einsetzbar | ||
+ | |||
+ | === Klassifikation Freiraum-Hindernis (explizite Repräsentation der lokalen Umgebung) === | ||
+ | |||
+ | '''Am Beispiel Belegtheitskarte:''' | ||
+ | * akurate Positionsbestimmung | ||
+ | * keine Annahmen bzgl. Umgebungsgeometrie | ||
+ | * Sensordaten ermöglichen Modellierung der Umgebung | ||
+ | * Daten für Traning des NN in Simulator gewonnen | ||
+ | ** je besser Trainigsdaten & Sensormodell desto besser Ergebnis | ||
+ | ** Gewinnung der Trainigsdaten in Realwelt zu aufwendig | ||
+ | |||
+ | === Visuelle Hinderniswahrnehmung === | ||
+ | |||
+ | ==== invers-perspektivische Kartierung ==== | ||
+ | * erzeugt Draufsicht auf betrachteten Sichtbereich | ||
+ | ** bewegt sich Roboter, wird invers-perspektivisch-transformiertes Bild um Betrag der Bewegung verschoben und mit vorherigem Bild verglichen | ||
+ | ** sind keine Differenzen erkennbar -> kein Hindernis vorhanden | ||
+ | ** Differenzen über pixelweise Differenzbildung, Verschiebungsvektoren oder Farbinformationen berechenbar | ||
+ | * für Transformation nur folgende Parameter benötigt: | ||
+ | ** Kameraneigungswinkel | ||
+ | ** Entfernung Bildebene-Bezugsebene | ||
+ | ** tonnenförmige Bildverzerrung | ||
+ | * um Flussschätzung effizient zu machen -> vorher Interest Operator anwenden | ||
+ | ** verstärkt Ecken, die zur Flussschätzung besonders geeignet sind | ||
+ | ** zusätzlich noch Strukturanalyse | ||
+ | ** daraus können dann noch Farbmerkmale gelernt werden, welche ebenfalls Freiraum darstellen | ||
+ | * Vorteile: | ||
+ | ** Erfassung des gesamten zu befahrenden Bereiches | ||
+ | ** keine Annahmen über Geometrie der Hindernisse | ||
+ | * Probleme: | ||
+ | ** Mindesthöhe der Hindernisse nötig | ||
+ | ** Reflexionen und Schatten als Hindernisse detektiert | ||
+ | ** hoher Berechnungsaufwand | ||
+ | ** exakte Synchronisation zwischen Bewegungs- und Bildinformationen erforderlich | ||
+ | |||
+ | ==== Gradientensuche ==== | ||
+ | * Gradientensuche (Farb- oder Grauwert) entlang der Bildspalten | ||
+ | * hoher Gradient lässt auf Hindernis schließen | ||
+ | * Vorteil: einfach umsetzbar | ||
+ | * Nachteile: | ||
+ | ** homogen gefärbter Untergrund nötig | ||
+ | ** Hindernis muss immer bis zum Boden reichen | ||
+ | |||
+ | ==== Symmetrierung des optischen Flusses ==== | ||
+ | * Ausbalancierung der Flussfelder der rechten udn linken Bildhälfte | ||
+ | * ergibt mittige Fahrt zwischen Hindernissen | ||
+ | * strukturierte Umgebung nötig | ||
+ | |||
+ | ==== Zustandsschätzung für markante Szenenpunkte ==== | ||
+ | * Zustand eines Szenenpunktes sei durch seine 3D-Koordinaten charakterisiert | ||
+ | * eingesetzt wird Kombination aus | ||
+ | ** Interest-Operator zum Auffinden von Features im Bild | ||
+ | ** Feature-Tracker | ||
+ | ** Kalman-Filter zur Schätzung der 3D-Koordinaten | ||
+ | * Farben kodieren Höhe der Objekte | ||
+ | |||
+ | ==== Segemntierung mittels Untergrunddeskriptoren ==== | ||
+ | * Bereich vor Roboter als freier Untergrund angenommen | ||
+ | * für diesen Bereich Beschreibung (z.B. Farbhistogramm) erstellt | ||
+ | * Rest der Szene nach Ähnlichkeit zu dieser Beschreibung segmentiert | ||
+ | |||
+ | == Globale Navigation == | ||
+ | |||
+ | === Umgebungsmodelle === | ||
* zwei Typen von Umgebungsmodellen | * zwei Typen von Umgebungsmodellen | ||
<graphviz> | <graphviz> | ||
Zeile 266: | Zeile 342: | ||
*** SLAM (Self localisation and mapping) | *** SLAM (Self localisation and mapping) | ||
− | === Gitterbasierte metrische Umgebungsmodelle === | + | ==== Gitterbasierte metrische Umgebungsmodelle ==== |
* kontinuierliche Belegtheitswerte für Gitterzellen | * kontinuierliche Belegtheitswerte für Gitterzellen | ||
* maßstabsgetreues Umgebungsabbild | * maßstabsgetreues Umgebungsabbild | ||
Zeile 273: | Zeile 349: | ||
* geringer Abstraktionsgrad | * geringer Abstraktionsgrad | ||
− | === Umgebungsmodell mit geometrischen Primitiven === | + | ==== Umgebungsmodell mit geometrischen Primitiven ==== |
* besser an tatsächliche Umgebungsstruktur angepasst | * besser an tatsächliche Umgebungsstruktur angepasst | ||
* Umwelt muss weitgehend gradlinige Strukturen aufweisen | * Umwelt muss weitgehend gradlinige Strukturen aufweisen | ||
Zeile 279: | Zeile 355: | ||
* Extraktion der geometrischen Primitiven direkt aus den Sensordaten ist sehr aufwendig | * Extraktion der geometrischen Primitiven direkt aus den Sensordaten ist sehr aufwendig | ||
− | === Topologisches Umgebungsmodell === | + | ==== Topologisches Umgebungsmodell ==== |
* quantitatives Modell | * quantitatives Modell | ||
* Darstellung meist in Form eines Graphen (Knoten sind markante Plätze und Kanten kodieren die Erreichbarkeit) | * Darstellung meist in Form eines Graphen (Knoten sind markante Plätze und Kanten kodieren die Erreichbarkeit) | ||
Zeile 286: | Zeile 362: | ||
* gut geeignet für effiziente Pfadplanung | * gut geeignet für effiziente Pfadplanung | ||
− | === Sematisches Umgebungsmodell === | + | ==== Sematisches Umgebungsmodell ==== |
* höchste Abstraktionsstufe | * höchste Abstraktionsstufe | ||
* erleichtert die Formulierung von Aufträgen an den Roboter ("Fahre in Küche" und nicht "Fahre zur Position 123,456") | * erleichtert die Formulierung von Aufträgen an den Roboter ("Fahre in Küche" und nicht "Fahre zur Position 123,456") |
Version vom 24. Juli 2009, 09:48 Uhr
<hiddenlogin linktext="Passwort für Vorlesungsunterlagen">User: nistudss08 Pwd: n!-SS08</hiddenlogin>
Einführung
Paradigmen:
- In der Robotik gibt es zur Zeit drei wesentliche Paradigmen
- hierarchisches Paradigma (Sens → Plan → Act)
- reaktives Paradigma (Sens → Act )
- hybrid deliberativ/reaktiv
Plan ↑ ↓ Sens ←----→ Act
Serviceroboter:
- Ein Serviceroboter ist ein System,
- das sich mobil in seiner Einsatzumgebung bewegen kann
- das über eine gewisse Autonomie verfügt
- dessen Serviceleistung mit menschlicher Interaktion verbunden ist
- werden z.B. eingesetzt im Bergbau, Büro, Entertainment, Feuerbekämpfung, Landwirtschaft, Medizin, Minenräumung, Reinigung, Raumfahrt, Tanken, Sortierung, Überwachung, Unterwasser
Basiskomponenten:
Aktuatorik
Notwendig um:
- sich in der Arbeitsumgebung zu bewegen
- autonomen Robotern Mobilität zu ermöglichen
- Gegenstände zu manipulieren
Roboteraktuatoren:
- Antrieb
- Laufmaschinen
- Radantriebe
- Differential Dirve
- Synchron Drive
- Tricycle Drive
- Manipulatoren
- Greifer
- Mehrgelenkarme
- Artikulation
- Display
- Gesicht & Sprache
- Körpersprache
Radbasierte Antriebe:
- am weitesten verbreitet
- konstruktiv einfach zu realisieren
- preiswert
- einfache Ansteuerung
- einfache Handhabung der Odometrie
- aber:
- Voraussetzung: ebener Untergrund
- nur geringe Unebenheiten können überwunden werden
Differential Drive
o O o | | o O o ← Castorräder ↑ Antriebsränder
- einfache mechanische Konstruktion
- keine Trennung zwischen Antrieb und Lenkung
- Odometrie einfach zu berechnen aber recht ungenau
- empfindlich gegenüber Unebenheiten im Boden
- Drehung auf der Stelle möglich
Tricycle Drive
O ← angetriebenes lenkbares Rad | O ----- O ← Passivräder
- einfache mechanische Konstruktion
- im einfachsten Fall wird nur ein Rad angetrieben und gelenkt
- keine Drehung auf der Stelle möglich (Schleppkurve muss berücksichtigt werden)
- immer stabiler Bodenkontakt
Synchro Drive
O ---- O ← drehbare Antriebsränder | | | | O ---- O
- mechanische Konstruktion aufwändiger
- mindestens drei synchron angetriebene/gelenkte Räder notwendig
- Drehung auf der Stelle sowie Bewegung in beliebige Richtung ohne Drehung der Antriebsplatform möglich
- stabiler Bodenkontakt weitestgehend gegeben
- gute odometrische Eigenschaften, da alle Räder stets die gleiche Rotationsrichtung aufweisen (minimiert Schlupf)
Artikulation
- führen von Dialogen mit Personen
- übermitteln von Statusinformationen
- kritische oder mehrdeutige Situtationen auflösen
- Siehe MMK
Sensorik
Notwendig um:
- sich selbst wahrzunehmen
- Informationen über Umgebung zu erfassen
- auf Umwelt reagieren zu können
Interne & Externe Sensoren
interne Sensoren:
- Erfassung interner Zustände des Roboters
- Erfassung der Eigenbewegung
- ohne Bezug zur Umgebung
- besonders relevant: Odometriesensoren
- Beispiele:
- Kreisel
- Inkrementalgeber
- Gyroskop
- Kompass
externe Sensoren:
- Erfassung der Umwelt
- Aufbau von Umgebungsmodellen
- Interaktion mit Umgebung
- besonders relevant: entfernungsmessende Sensoren, passive visuelle/akustische/taktile Sensoren
- Klassifizierung:
- berührungslose
- akustische
- Ultraschall
- Mikrofone
- optische
- Laserscanner
- Kameras
- sonstige
- GPS
- Radar
- akustische
- taktile
- Bumper
- Kontaktleisten
- berührungslose
Sensorelemente
- emittierendes Element
- Umwandlung eines elektrischen Signals in ein zur Erfassung der Messgröße geeignetes nicht-elektrisches Signal
- sensitives Element
- Umwandlung von einem nicht-elektrischen Messsignal in ein elektrisches Signal
- Duplexelement
- Ein Element welches abwechselnd als emittierendes oder sensitives Element arbeitet
Aktive & Passive Sensoren
- aktiv
- besteht aus mindestens einem sensitiven und einem emittierenden Element oder einem Duplexelement sowie einer Einrichtung zur Signalanpassung
- passiv
- besteht aus mindesten einem sensitiven Element und einer Signalanpassungeinrichtung
Ultraschallsensoren
- aktiver Sensor
- messen der Laufzeit von Schallwellen zur Bestimmung von Entfernungen (TOF - Sensor (Time of Flight Sensor))
- sehr preiswert
- messbare Entfernung 100mm - 5 m
- Auflösung 3 cm
Grundprinzip:
Empfänger \ ___ /| \ \ / \ | | ) | | | | Hindernis \| / | \ ___ / Sender / | / | |←--------------------→| gemessene Entfernung
- d...Entfernung
- c...Schallgeschwindigkeit
- t...Laufzeit
Eigenschaften:
- Schalldruck nimmt mit dem Quadrat der Entfernung ab
- Ausbreitung an Übertragungsmedium gebunden
- Messwert abhängig von Matrialeigenschaften , Entfernung, Oberflächenbeschaffenheit, geometrischen Eigenschaften
- keine Absorption → Totalreflexion (metallische Oberflächen)
- totale Absorption → keine Reflexion (Stoffe, Dämmwolle)
- Oberflächenkrümmung bestimmt Richtung der Reflexion → Scheinobjekte durch Spiegelung
Lasersensoren
- misst Laufzeit von Lichtwellen => TOF- Sensor
- Parameter des Übertragungsmediums unbedeutend
- verhältnismäßig teuer
- Messbare Entfernung 100mm - 100 m
- Auflösung: 1 cm
- 2D als auch 3D (noch teuerer als 2D und noch nicht sehr verbreitet) Erfassung der Umwelt möglich
- nur Spiegel und Glasscheiben sind problematische Materialien
Kamerasysteme
- passiver Sensor -> abhängig von Beleuchtung
- typische Konfigurationen:
- monokulare System
- Stereokammerasysteme
- monokulare omnidirektionale Systeme
- liefern mit Abstand reichhaltigste Informationen
- erfordern sehr hohen Berechnungsaufwand
- Stereokameras vor allem für Extraktion von Entfernungsinformationen eingesetzt
- geht auch monokular bei Bewegung des Roboters
- Omnidirektionale Systeme zur Erfassung der gesamten Umgebung
- Momentan noch recht geringe Auflösung
- Siehe Robotvision
Problemstellung:
- Wo befindet sich der Roboter
- Wo befinden sich andere Objekte oder Orte in Relation zum Roboter
- Wie kommt der Roboter von der aktuellen Position zu anderen Orten
- Vermeidung von Kollisionen mit Hindernissen
Lokale Navigation:
- mit und ohne Umgebungsmodell möglich
- Hinderniswahrnehmung und -vermeidung
- auf Basis entfernungsmessender Sensoren
- Art und Anordnung der Sensoren bestimmt Leistungsfähigkeit
- betrachten nur aktuellen sensorischen Kontext
- reaktive Verfahren
Globale Navigation:
- basierend auf Umgebungsmodell
- Selbstlokalisation
- Erreichen eines Ziels
- Pfadplanung
- Art des Umgangs mit Unsicherheiten bestimmt Leistungsfähigkeit
- planende Verfahren
Direkte Sensor-Aktor-Kopplung
Realisierungen:
- überwachtes Training eines NN
- einfach zu realisieren
- System kann nie besser als Supervisor werden
- z.B. ALVINN
- Training eines NN mit RL
- zeitaufwändig
- Roboter muss Erfolg/Misserfolg erfahren
- für viele Realweltanwendungen nicht einsetzbar
Klassifikation Freiraum-Hindernis (explizite Repräsentation der lokalen Umgebung)
Am Beispiel Belegtheitskarte:
- akurate Positionsbestimmung
- keine Annahmen bzgl. Umgebungsgeometrie
- Sensordaten ermöglichen Modellierung der Umgebung
- Daten für Traning des NN in Simulator gewonnen
- je besser Trainigsdaten & Sensormodell desto besser Ergebnis
- Gewinnung der Trainigsdaten in Realwelt zu aufwendig
Visuelle Hinderniswahrnehmung
invers-perspektivische Kartierung
- erzeugt Draufsicht auf betrachteten Sichtbereich
- bewegt sich Roboter, wird invers-perspektivisch-transformiertes Bild um Betrag der Bewegung verschoben und mit vorherigem Bild verglichen
- sind keine Differenzen erkennbar -> kein Hindernis vorhanden
- Differenzen über pixelweise Differenzbildung, Verschiebungsvektoren oder Farbinformationen berechenbar
- für Transformation nur folgende Parameter benötigt:
- Kameraneigungswinkel
- Entfernung Bildebene-Bezugsebene
- tonnenförmige Bildverzerrung
- um Flussschätzung effizient zu machen -> vorher Interest Operator anwenden
- verstärkt Ecken, die zur Flussschätzung besonders geeignet sind
- zusätzlich noch Strukturanalyse
- daraus können dann noch Farbmerkmale gelernt werden, welche ebenfalls Freiraum darstellen
- Vorteile:
- Erfassung des gesamten zu befahrenden Bereiches
- keine Annahmen über Geometrie der Hindernisse
- Probleme:
- Mindesthöhe der Hindernisse nötig
- Reflexionen und Schatten als Hindernisse detektiert
- hoher Berechnungsaufwand
- exakte Synchronisation zwischen Bewegungs- und Bildinformationen erforderlich
Gradientensuche
- Gradientensuche (Farb- oder Grauwert) entlang der Bildspalten
- hoher Gradient lässt auf Hindernis schließen
- Vorteil: einfach umsetzbar
- Nachteile:
- homogen gefärbter Untergrund nötig
- Hindernis muss immer bis zum Boden reichen
Symmetrierung des optischen Flusses
- Ausbalancierung der Flussfelder der rechten udn linken Bildhälfte
- ergibt mittige Fahrt zwischen Hindernissen
- strukturierte Umgebung nötig
Zustandsschätzung für markante Szenenpunkte
- Zustand eines Szenenpunktes sei durch seine 3D-Koordinaten charakterisiert
- eingesetzt wird Kombination aus
- Interest-Operator zum Auffinden von Features im Bild
- Feature-Tracker
- Kalman-Filter zur Schätzung der 3D-Koordinaten
- Farben kodieren Höhe der Objekte
Segemntierung mittels Untergrunddeskriptoren
- Bereich vor Roboter als freier Untergrund angenommen
- für diesen Bereich Beschreibung (z.B. Farbhistogramm) erstellt
- Rest der Szene nach Ähnlichkeit zu dieser Beschreibung segmentiert
Umgebungsmodelle
- zwei Typen von Umgebungsmodellen
<graphviz> digraph G {
Umgebungsmodell -> "metrische Umgebungsmodelle"; Umgebungsmodell -> "topologische Umgebungsmodelle";
}</graphviz>
- Kategorisierung nach Abstraktionsgrad
<graphviz> digraph G {
Umgebungsmodell -> "gitterbasierte, \n metrische Umgebungsmodelle"; Umgebungsmodell -> "Umgebungsmodelle mit \n geometrischen Primitiven"; Umgebungsmodell -> "topologische \n Umgebungsmodelle"; Umgebungsmodell -> "semantische \n Umgebungsmodelle";
}</graphviz>
- Die Erstellung der Umgebungsmodelle kann auf drei Arten passieren
- Vorheriges Vermessen der Umgebung und Programmieren der Karte
- Aufwendig und Sensoreindrücke/ Ungenauigkeiten nicht berücksichtigt
- Nicht für Dynamische Umgebungen
- Umgebung mit Hilfe der Robotersensoren erfassen und bei bekannter Roboterpose Kartieren
- Güte des Modells von Positionsbestimmung abhängig
- zeitgleiches Kartieren und Lokalisieren
- SLAM (Self localisation and mapping)
- Vorheriges Vermessen der Umgebung und Programmieren der Karte
Gitterbasierte metrische Umgebungsmodelle
- kontinuierliche Belegtheitswerte für Gitterzellen
- maßstabsgetreues Umgebungsabbild
- einfache Handhabung
- hoher Speicherverbrauch
- geringer Abstraktionsgrad
Umgebungsmodell mit geometrischen Primitiven
- besser an tatsächliche Umgebungsstruktur angepasst
- Umwelt muss weitgehend gradlinige Strukturen aufweisen
- Genauere Abbildung der Umgebung als mit Gitterstruktur möglich
- Extraktion der geometrischen Primitiven direkt aus den Sensordaten ist sehr aufwendig
Topologisches Umgebungsmodell
- quantitatives Modell
- Darstellung meist in Form eines Graphen (Knoten sind markante Plätze und Kanten kodieren die Erreichbarkeit)
- Erstellung meist interaktiv mit einem Supervisor, automatischer Aufbau schwer möglich
- geringer Speicherverbrauch
- gut geeignet für effiziente Pfadplanung
Sematisches Umgebungsmodell
- höchste Abstraktionsstufe
- erleichtert die Formulierung von Aufträgen an den Roboter ("Fahre in Küche" und nicht "Fahre zur Position 123,456")
- Erstellung mit Hilfe eines Supervisors
- geringer Speicherverbrauch und effiziente Pfadplanung möglich
- Dynamik der Umwelt kann mit berücksichtigt werden (Türen, Fahrstühle)
Selbstlokalisation
- Grundlegende Fragestellung
- globale (absolute) Selbstlokalisation
- Roboter wird an beliebigen Ort gestellt
- Nimmt seine Umwelt nur mit seinen eigenen Sensoren wahr und kann sich in der Umgebung bewegen
- Muss anhand seiner Eindrücke seine aktuelle Pose schätzen
- großer Suchraum ==> viel Rechenaufwand
- relative Selbstlokalisation (pose tracking)
- initiale Pose ungefähr bekannt
- Pose soll kontinuierliche korrigiert werden
- deutliche geringerer Suchraum ==> geringerer Rechenaufwand
- globale (absolute) Selbstlokalisation
- beide Fälle werden durch die selben Algorithmen abgedeckt
Rein odometriebasierte Verfahren
- nur interne Sensorinformationen
- Güte der Schätzung ist abhängig von
- Güte der Sensoren
- Antriebsart
- Bodenbeschaffenheit
- nur relative Zustandsschätzung
- nur für kurze Wegstrecken einsetzbar
- Fehler ist nicht beschränkt
Odomentrie und lokale externe Sensoren
- Für die Zustandschätzung stehen externe und interne Sensoren zur Verfügung
- zentrales Ziel ist die Verringerung des Odometriefehlers
- Korrektur der internen Odometrie mit Hilfe von externen Sensoreindrücken
- Ein Stück fahren
- Sensorwerte mit Startwerten vergleichen
- mit Odometrie vergleichen
- Odometrie korrigieren
- nur relative Zustandsschätzung möglich
- Fehler ist unbeschränkt
Odometrie und lokale sowie globale Sensorinformationen
- Zustandschätzung anhand interner und externer Sensorinformationen
- Ziel ist die Schätzung der globalen Position des Roboters
- globale Informationsquellen (Landmarken, Umgebungskarten)
- Landmarken oft im Zusammenhang mit SLAM-Verfahren
- Problem ist die robuste Detektion der Landmarke
Probabilistische Lokalisation
- Roboterlokalisation wird als Bays'sches Zustandsproblem formuliert
- Belief (Bel) bezeichnet den Roboterzustand
- Schätzen des Bel anhand von verrauschten Messwerten
- Dazu notwendig eine iterative vorschrift wie der Bel berechnet werden kann so das neue Messwerte schnell eingerechnet werden können
-
- X .... Menge aller Zustände
- D .... Menge aller Messwerte
- Berechnung der Wahrscheinlichkeit das sich der Roboter in einem bestimmten Zustand k befindet wenn vorher die Beobachtungen 0..k gemacht wurden
- Der Roboter befindet sich in dem Zustand mit dem höchsten Bel
- zwei Arten von Messwerten
- relative Messwerte (Odometrie) ==> Fehler ist Abhängig von den vorangegangenen Zeitschritten
- absolute Messwerte (GPS, Landmarken) ==> Fehler ist unabhängig von den vorangegangenen Zeitschritten
- a priori Belief
- Aktionen und Beobachtungen bis zum vorangegangenen Zeitschritt (k-1)
- a posteriori Belief
- Zusätzlich zum a priori Belief werden noch die aktuellen absoluten Informationen mit berücksichtigt
- iterative Berechnungsvorschrift für den Belief
- ... Sensormodell
- ... Bewegungsmodell
- ... Belief des vorhergehenden Zustandes
- Verschiedene Umsetzungen
- Kalman-Filter
- Particle Filter
Probabilistisches Aktionsmodell
- auch als Bewegungsmodell bezeichnet
- gibt an, mit welcher Wahrscheinlichkeit der Roboter einen Zustand erreicht wenn der vorher im Zustand war
- kann meist nur experimentell ermittelt werden
Probabilistisches Wahrnehmungsmodell
- wird auch als Beobachtungs- bzw. Sensormodell bezeichnet
- gibt an, mit welcher Wahrscheinlichkeit ein Roboter im Zustand die Beobachtung macht
- Berücksichtigung der Eingenschaften des Sensors (Ungenauigkeiten !!)
- benötigt ein Umgebungsmodell wie eine Karte oder Landmarkenanordnung
Kalman-Filter
- rekursiver Datenverarbeitungsalgorithmus zur Zustandschätzung eines linearen Systems
- für alle Verteilungen wird angenommen das sie sich durch Gaußfunktionen approximieren lassen
- Arbeitet in zwei Phasen
- Prädiktionsschritt
- Bestimmen des möglichen neuen Zustandes unter Berücksichtung der Rauschprozesse (Bewegungsmodell)
Für die Unsicheheit gilt:
- Bestimmen des möglichen neuen Zustandes unter Berücksichtung der Rauschprozesse (Bewegungsmodell)
- Korrekturschritt
- Die korrekturvorschrift Berücksichtigt jetzt das Sensormodell und die Beobachtungen. Dadurch wird die Unsicherheit eingeschränkt
- Usicherheit nach KPrädiktion und Korrektur
- mit
- Prädiktionsschritt
Particle Filter
- Satz gewichteter Samples repräsentiert den aktuellen Belief
- Jedes Sample ist eine mögliche Pose des Roboters
- Summe der gewichte aller Samples ist eins
- Konvergiert auch in nicht linearen und und Gaußähnlich verhaltenden systemen
- Alle Samples gruppieren sich im laufe der Anwendung des Filters um die Zustände mit dem höchsten Belief
- gestattet sehr genaue Zustandsschätzung
- Grundlage für alle MCL (Monte-Carlo-Lokalisations-)verfahren
Monte Carlo Localisation
- partikelbasiertes, probabilistisches Verfahren
- für Sonar Sensoren entwickelt
- Verwendet unterschiedliche Informationen
- ausgeführte Kommandos + Bewegungsmodell
- senorische Wahrnehmung + Sensormodell
- Die Partikel sind an kein Raster gebunden
- ermöglicht das Verfolgen mehrere Positionshypothesen
- Partikel können dort platziert werden wo sie nötig sind
- Initialzustand
- alle Partikel sind gleichmäßig verteilt
- alle besitzen das gleiche Gewicht
- Umweltbeobachtung
- für jedes Partikel wird die zu erwartende Beobachtung bestimmt und mit der realen Beobachtung verglichen
- Sensormodel wird hier mit Berücksichtigt
- Bei Übereinstimmung bekommt das Paritkel ein neues hohes Gewicht sonst ein kleineres
- Resampling
- Die Verteilungsdichte der Partikel wird entsprechend der Gewichte neu angeordnet
- Samples mit kleinen Gewichten werden umgeordnet
- Bewegungsprädiktion
- Roboter bewegt sich
- Unter Berücksichtigung des Bewegungsmodels werden die Partikel bewegt
- Erneute Umweltbeobachtung
Potentialfeld-Verfahren
- Jedes Hindernis wirkt mit einer Abstoßenden Kraft auf den Roboter
- Wird das Hindernis mit mehreren Sensoren erfast so ist die Kraft größer als von einem Hindernis welches nur von einem Sensor erfast wird.
- Durchfahren von Türen sehr schwer, weil alle Kräfte zu einer resultierenden Kraft aufsummiert werden, dadurch geht aber die Information über die Lage des Hindernis verloren
------------------------------------------------ __ __ __ \_ _ / \ _ _ / \ _ _ resultierender Kurs eines Roboters \__ / \ __ / \ __ / der einen Gang entlang fährt ------------------------------------------------
- Aufgrund der unsicheren Sensorik führt das Potentialfeld Verfahren zu pendelnden Fahrbewegungen in Korridoren
Vektorfeldhistogramm
- Soll Probleme des Potentialfeldverfahrens lösen
- dreistufige Repräsentation
- Gittermodell
- Polarhistogramm
- Roboterumgebung wird in Kreissegmente eingeteilt
- Jede belegte Zelle wirkt als Kraft auf den Roboter unter Berücksichtigung des Abstandes und dem Quadrat des Belegtheitswertes
- Die Kräfte werden pro Kreissegment in einem Histogramm zusammengefasst
- Ableitung der Steuerparameter
- In dem Polarhistogramm werden, mit Hilfe einer Schwelle, mögliche Kandidaten für Freiraum gesucht
- Der globale Plan des Roboters bestimmt dann welcher Freiraum gewählt wird und damit in welche grobe Richtung gefahren wird
- Die genaue Richtung wird bestimmt in dem man den Mittelwert aus dem nächsten freien Sektor und dem am weitesten entfernten freien Sektor von der Zielrichtung auswählt
- Nachteile
- Größe des Roboters wird vernachlässigt
- Trägheit des Roboters wird nicht berücksichtigt
- Schmale Täler im Histogramm verursachen eine häufige Richtungsänderung des Roboters
Vektorfeldhistogramm+
- Grundfunktion wie VHF
- Größe des Roboters wird berücksichtigt in dem die Hindernisszellen angepasst werden
- Bewegungsänderungen werden durch Kreisbahnen approximiert um die Trägheit des Roboters zu berücksichtigen
- Hysterese erzeugt sanftere Bewegungen
- Kostenfunktionen bei der Auswahl der Kandidaten ermöglichen Realisierung von unterschiedlichem Verhalten