Lokalisierung von Matthias Heine, Norbert Müller, Silvia Schreier, Oliver Zöllner
Was ist Lokalisierung? Fähigkeit eines autonomen Roboters seine Position in Bezug auf ein festes (Koordinaten-)System zu bestimmen z. B. durch kartesische Koordinaten (x,y) und der Orientierung φ bezüglich der Koordinatenachsen Ziel: wahrscheinlichste Position des Roboters bestimmen, wobei folgende Informationen gegeben sind: Modell der Umgebung Sensordaten durchgeführte Navigationsoperationen SLAM = Self Localization and Mapping
Sensoren Observationen: Sensoren, die Messwerte zur aktuellen Situation liefern, wie z.b. Laser-Scanner oder Kameras Aktionen: Sensoren, die Rückschlüsse auf bereits vergangene Situationen ermöglichen, wie z.b Odometrie Probleme: Fehler bei Sensordaten => Verwendung unterschiedlicher Sensoren
Lokale und Globale Lokalisierung Lokale Lokalisierung (auch Positionstracking genannt) Startposition ist bekannt Position nach durchgeführten Aktionen bestimmen Bezugspunkt ist immer der Startpunkt relative Selbstlokalisierung Globale Lokalisierung Startposition völlig unbekannt absolute Selbstlokalisierung Kidnapped-Robot Problem, Wake-up-Robot Problem
Odometrie (1) grundlegendes Navigationsverfahren für bodengebundene Fahrzeuge Bestimmung der Position durch Berechnung des zurückgelegten Weges, an Hand von Daten über sich selbst nur Aktionen messbar zahlreiche Fehlerquellen Fehler addieren sich => nur für kurze Strecken geeignet Fehlerreduktion, z. B. durch: geringe Geschwindigkeit und Beschleunigung
Odometrie (2)
Koppelnavigation (dead reckoning) laufende Ortsbestimmung durch Odometrie Annahme: der Roboter bewegt sich geradlinig (bei kleinen Zeitintervallen, wird der verursachte Fehler klein) Messen des zurückgelegte Weg δ und die Änderung der Orientierung α Berechnen der neuen Position in Abhängigkeit von der alten Position (x, y, θ): x' = x + δ cos(θ) y' = y + δ sin(θ) θ' = θ + α falsches α führt zu immer stärkeren Abweichungen
Künstliche Landmarken Passive: Barcodestreifen, Reflexstreifen Aktive: GPS, Peilsender, Leuchttürme, Ampeln, Lichtquellen Probleme: GPS nur auf wenige Meter genau, in Gebäuden nicht möglich, Wände und Decken stören den Funkkontakt Fehlerkennung von Landmarken Videokamera gut geeignet, markante Objekte, durch Form und Farbe leicht identifizierbar => Landmarkenkandidaten
Natürliche Landmarken Kanten: Türöffnungen, Wandecken, feste Möbel Zur Festlegung der Orientierung: Deckenstrukturen, Übergang zwischen Wand und Fussboden häufige Verdeckung von Landmarken oder falsche Messungen: dadurch mehrere mögliche Positionen, aber meist Häufungspunkte oder Ausschluss von manchen Positionen durch das Wissen über die alte Position nach dem "Aufwachen" solche Plausibilitätserörterungen aber nicht möglich
Wände als Landmarken Hinkel und Knieriemen, 1991 Wände im Normalfall eine Invariante des Raumes Messen des Abstands bei unterschiedlichen Ausrichtungen des Roboters => Berechnung mehrer Punkte Eintragen des errechneten Steigungswinkels der Gerade durch 2 Messpunkte in ein Histogramm Häufungen kennzeichnen gerade Strukturen (im Abstand von 90 besonders häufig Wände)
Histogramme & Korrelation 2 Laserscans einer ähnlichen Szene, einer aus bekannter Position, einer aus unbekannter Erstellen der Winkelhistogramme Korrelation der beiden Histogramme Verdrehung der Scans, so dass Winkelgleichheit herrscht Korrelation der verdrehten Scans Verschiebung um x und y
Merkmalsvergleich jede Szene gekennzeichnet durch vollständigen Graphen mit n Objekte (Knoten) und n (n-1) Entfernungen (gewichtete Kanten) Vergleich von Subgraphen teilweise Kanten oder Knoten verdeckt => im allgemeinen nur partielle Übereinstimmung Um Übereinstimmungen zu finden, z. B. geschickte Suche in einer Datenbank nötig wenn bestimme Anzahl an Übereinstimmungen in den Graphen gefunden wurde so gilt die Szene als erkannt
Scanmatching (1) Verarbeitung von Scans: Linien- und Eckenextraktion Anwenden von verschiedenen Filtern, um Rauschen und Messfehler zu verringern Kalman-Filter man geht von einer Normalverteilung der Fehler bei den Messwerten aus wenn mehrere Verteilungen vorliegen, kann man die Messungen durch einen Kalman-Filter verknüpfen das Ergebnis ist normalerweise genauer und gewichtet dabei Messungen mit kleiner Varianz stärker
Scanmatching (2) aktuellen Scan mit Referenzscan in Deckung zu bringen grobe vorherige Bestimmung der Position durch Odometrie, erleichtert die Suche 2 mögliche Algorithmen: Cox: geringerer Aufwand ordnet Punkten Geraden zu & minimiert den Abstand nur für polygonale Umgebungen geeignet IDC: größerer Aufwand ordnet Punkten Punkte zu & minimiert die Abstände auch für nicht-polygonale Umgebungen geeignet
Probalistische Methoden auch bei weniger präzisen Umgebungsmodellen einsetzbar Ziel: Berechnung der wahrscheinlichsten Position Positions tracking sehr einfach zu lösen, da eine Anfangsposition bekannt ist Globale Lokalisierung schon schwieriger Diskretisierung der Umgebung => Gitter (grid), das alle möglichen Aufenthaltsorte des Roboters enthält
Markov-Lokalisierung (1) Annahme: nachfolgende Zustand hängt nur von aktuellem Zustand ab und nicht von der Historie Wahrscheinlichkeitsverteilung für die Position des Roboters: Position vollkommen unbekannt => Gleichverteilung durch Odometrie o. ä. eingeschränkt => WSK auf eingegrenzten Bereich verteilt Position bekannt => WSK für diese Position = 1 Problem: grosses Gitter, bei dem alle Werte nach jeder Bewegung neu berechnet werden müssen: => grosser Aufwand => nicht für Echtzeitbetrieb geeignet
Markov-Lokalisierung (2)
Monte-Carlo-Lokalisierung Spezialform von Markov bei der Berechnung werden nur die wahrscheinlichsten Positionen betrachtet, die Menge der betrachteten Positionen ist variabel: je unsicherer die Position, desto größer die Menge der betrachteten Positionen => Verringerung des Rechenaufwands MCL zählt zu den Partikelfiltern, da kein Gitter zur Berechnung verwendet wird, sondern nur Partikel (auch Sample genannt), die die interessanten Zustände des Roboters repräsentieren
Quellen Gregor Mitsch: Proseminar Robotik, Museums-Roboter Minerva - Lokalisierung Alexander König: Diplomarbeit - Automatischer Kartenaufbau für die visuelle Monte-Carlo-Selbstlokalisation mobiler Serviceroboter in Baumarktumgebungen Prof. Dr. Ewald von Puttkamer: Vorlesungsskript Autonome Mobile Roboter (Wintersemester 1999/2000) Elias Delipetkos: Particle Filter - Ein probabilistischer Ansatz zur Lokalisierung mobiler Roboter Friedrich Hirt: Thema2: Selbslokalisierung aus dem Proseminar Mobile Roboter (SS 2001) A. Knoll, W. Burgard und T. Christaller: Robotik in: G. Görz (Hg.) Handbuch der Künstlichen Intelligenz, 4. Auflage, Oldenbourg-Verlag, 2003