Kognitive Robotik: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
K (→Differential Drive: typo) |
K (→Selbstlokalisation: Typo) |
||
Zeile 214: | Zeile 214: | ||
*# globale (absolute) Selbstlokalisation | *# globale (absolute) Selbstlokalisation | ||
*#* Roboter wird an beliebigen Ort gestellt | *#* Roboter wird an beliebigen Ort gestellt | ||
− | *#* Nimmt seine | + | *#* 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 | *#* Muss anhand seiner Eindrücke seine aktuelle Pose schätzen | ||
*#* großer Suchraum ==> viel Rechenaufwand | *#* großer Suchraum ==> viel Rechenaufwand | ||
Zeile 234: | Zeile 234: | ||
==== Odomentrie und lokale externe Sensoren ==== | ==== Odomentrie und lokale externe Sensoren ==== | ||
− | * Für die Zustandschätzung stehen externe und interne | + | * Für die Zustandschätzung stehen externe und interne Sensoren zur Verfügung |
* zentrales Ziel ist die Verringerung des Odometriefehlers | * zentrales Ziel ist die Verringerung des Odometriefehlers | ||
* Korrektur der internen Odometrie mit Hilfe von externen Sensoreindrücken | * Korrektur der internen Odometrie mit Hilfe von externen Sensoreindrücken |
Version vom 22. Februar 2009, 16:22 Uhr
<hiddenlogin linktext="Passwort für Vorlesungsunterlagen">User: nistudss08 Pwd: n!-SS08</hiddenlogin>
Zusammenfassung
- 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
Aktuatorik
- Antrieb
- Differential Dirve
- Synchron Drive
- Tricycle Drive
- Manipulatoren
- Greifer
- Mehrgelenkarme
- Artikulation
- Display
- Gesicht &Sprache
Differential Drive
- 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
o O o | | o O o ← Castorräder ↑ Antriebsränder
Tricycle Drive
- einfache mechanische Konstruktion
- im einfachen Fall wird nur ein Rad angetrieben und gelenkt
- keine Drehung auf der Stelle möglich (Schleppkurve muss berücksichtigt werden)
- immer stabiler Bodenkontakt
O ← angetriebenes lenkbares Rad | O ----- O ← Passivräder
Synchro Drive
- mechanische Konstruktion aufwändiger
- 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)
O ---- O ← drehbare Antriebsränder | | | | O ---- O
Artikulation
- führen von Dialogen mit Personen
- übermitteln von Statusinformationen
- kritische oder mehrdeutige Situtationen auflösen
- Siehe MMK
Sensorik
- interne
- Kreisel
- Inkrementalgeber
- Gyroskop
- externe
- berührungslose
- akustische
- Ultraschall
- Mikrofone
- optische
- Laserscanner
- Kammeras
- sonstige
- GRPS
- Radar
- akustische
- taktile
- Bumper
- Kontaktleisten
- berührungslose
- Sensorelemente
- emittierendes Element
- Umwandlung eines Elektrischen Signals in ein zur Erfassung der Messgröße benötigtes nicht elektrisches Signal
- sensitives Element
- Umwandlung von einem nicht elektrischen Messsignal in ein elektrisches Signal
- Duplexelement
- Ein Element welches als emittierendes oder sensitives Element arbeitet
- emittierendes Element
- Sensor
- 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
- aktiv
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
- Schalldruck nimmt mit dem Quadrat der Entfernung ab
- abhängig von Matrialeigenschaften
- keine Absorption → Totalreflexion (metallische Oberflächen)
- totale Absorption → keine Reflexion (Stoffe, Dämmwolle)
- Oberflächenkrümmung bestimmt Richtung der Reflexion → Scheinobjekte durch Spiegelung
Lasersensor
- Misst Laufzeit von Lichtwellen => TOF- Sensor
- Lasersensoren 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 Spiegle und Glasscheiben sind Problematische Materialien
Kammerasysteme
- monokulare System
- Stereokammerasysteme
- monokulare omnidirektionale Systeme
- liefern mit Abstand reichhaltigste informationen
- erfordern sehr hohen Berechnungsaufwand
- Stereokameras vor allem für Entfernungsinformationen
- 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
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