Kognitive Robotik: Unterschied zwischen den Versionen

Aus II-Wiki
Zur Navigation springen Zur Suche springen
Zeile 331: Zeile 331:
 
*#* Die Kräfte werden pro Kreissegment in einem Histogramm zusammengefasst
 
*#* Die Kräfte werden pro Kreissegment in einem Histogramm zusammengefasst
 
*# Ableitung der Steuerparameter
 
*# Ableitung der Steuerparameter
*#* In dem Polarhistogramm werd mit Hilfe einer Schwelle mögliche Kandidaten für Freiraum gesucht
+
*#* 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
 
*#* 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
 
*#* 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

Version vom 19. Februar 2009, 16:24 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 ← Catorrä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
    • taktile
      • Bumper
      • Kontaktleisten
  • 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
  • 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

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

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

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)

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
    1. 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
    2. relative Selbstlokalisation (pose tracking)
      • initiale Pose ungefähr bekannt
      • Pose soll kontinuierliche korrigiert werden
      • deutliche geringerer Suchraum ==> geringerer Rechenaufwand
  • 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 Senoren 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:
    • Korrekturschritt
      • Die korrekturvorschrift Berücksichtigt jetzt das Sensormodell und die Beobachtungen. Dadurch wird die Unsicherheit eingeschränkt
      • Usicherheit nach KPrädiktion und Korrektur
      • mit

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
  • 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

lokale Navigation

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
    1. Gittermodell
    2. 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
    3. 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