Kognitive Robotik

Aus II-Wiki
Zur Navigation springen Zur Suche springen
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

KogRob-Basiskomponenten.jpg

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
    • taktile
      • Bumper
      • Kontaktleisten

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

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:

  • 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

Lokale Navigation

Direkte Sensor-Aktor-Kopplung

Realisierungen:

  1. überwachtes Training eines NN
    • einfach zu realisieren
    • System kann nie besser als Supervisor werden
    • z.B. ALVINN
  2. 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

4 grundlegende Fragestellungen:

  • Wo soll ich hin?
  • Was ist der beste Weg dorthin?
  • Wo war ich schon?
  • Wo bin ich gerade?

Umgebungsmodelle

  • zwei Typen von Umgebungsmodellen

<graphviz> digraph G {

Umgebungsmodell -> "metrische (quantitative) \n Umgebungsmodelle";
Umgebungsmodell -> "topologische (qualitative) \n 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>

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

Semantisches 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)

Aufbau von Umgebungsmodellen

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

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

Odometrie und lokale externe Sensorinformationen

  • 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
    • externe Sensorwerte mit Startwerten vergleichen
    • mit Odometrie ausgleichen
    • Korrespondenzen bestimmen
    • Odometrie korrigieren
  • nur relative Zustandsschätzung möglich
  • nur für kurze Wegstrecken einsetzbar
  • Fehler ist unbeschränkt

Odometrie und lokale sowie globale Sensorinformationen

  • Zustandschätzung anhand interner und externer Sensorinformationen
  • Ziel ist die Schätzung der globalen Pose 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
  • 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

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