EP4713752A1 - Verfahren zur fehlerbehandlung bei der navigation eines mobilen geräts - Google Patents
Verfahren zur fehlerbehandlung bei der navigation eines mobilen gerätsInfo
- Publication number
- EP4713752A1 EP4713752A1 EP24724981.6A EP24724981A EP4713752A1 EP 4713752 A1 EP4713752 A1 EP 4713752A1 EP 24724981 A EP24724981 A EP 24724981A EP 4713752 A1 EP4713752 A1 EP 4713752A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- data set
- mobile device
- data
- determined
- environment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
- G05D1/246—Arrangements for determining position or orientation using environment maps, e.g. simultaneous localisation and mapping [SLAM]
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/005—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
- G01C21/1656—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with passive imaging devices, e.g. cameras
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3859—Differential updating map data
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
- G05D1/242—Means based on the reflection of waves generated by the vehicle
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/80—Arrangements for reacting to or preventing system or operator failure
- G05D1/85—Fail-safe operations, e.g. limp home mode
- G05D1/857—Fail-safe operations, e.g. limp home mode in response to sensor failures
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/80—Arrangements for reacting to or preventing system or operator failure
- G05D1/86—Monitoring the performance of the system, e.g. alarm or diagnosis modules
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2105/00—Specific applications of the controlled vehicles
- G05D2105/10—Specific applications of the controlled vehicles for cleaning, vacuuming or polishing
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2107/00—Specific environments of the controlled vehicles
- G05D2107/40—Indoor domestic environment
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2109/00—Types of controlled vehicles
- G05D2109/10—Land vehicles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2111/00—Details of signals used for control of position, course, altitude or attitude of land, water, air or space vehicles
- G05D2111/10—Optical signals
- G05D2111/17—Coherent light, e.g. laser signals
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2111/00—Details of signals used for control of position, course, altitude or attitude of land, water, air or space vehicles
- G05D2111/50—Internal signals, i.e. from sensors located in the vehicle, e.g. from compasses or angular sensors
- G05D2111/52—Internal signals, i.e. from sensors located in the vehicle, e.g. from compasses or angular sensors generated by inertial navigation means, e.g. gyroscopes or accelerometers
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D2111/00—Details of signals used for control of position, course, altitude or attitude of land, water, air or space vehicles
- G05D2111/50—Internal signals, i.e. from sensors located in the vehicle, e.g. from compasses or angular sensors
- G05D2111/54—Internal signals, i.e. from sensors located in the vehicle, e.g. from compasses or angular sensors for measuring the travel distances, e.g. by counting the revolutions of wheels
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
Die Erfindung betrifft ein Verfahren zur Fehlerbehandlung bei einer Navigation eines mobilen Geräts (100), wobei sich das mobile Gerät in einer Umgebung, unter Verwendung einer auf SLAM basierenden Lokalisierung bewegt oder bewegen soll, umfassend: - wiederholtes Durchführen von Lokalisierungsvorgängen (501, 502, 503), wobei ein Lokalisierungsvorgang jeweils umfasst: Bereitstellen (200) von Geräte- und Umgebungsinformationen, die zumindest teilweise mittels Sensoren des mobilen Geräts von dem Gerät und/oder der Umgebung erfasst worden sind, Erzeugen eines Datensatzes (201'), basierend auf den Geräte- und Umgebungsinformationen, und Bereitstellen (230) des Datensatzes (201') zur Verwendung für die Lokalisierung und/oder Navigation des mobilen Geräts (100); - Prüfen (510), während der Lokalisierungsvorgänge, ob ein Fehler (F) vorliegt, und Bestimmen (512) eines Datensatzes, bei dessen Lokalisierungsvorgang (502) ein Fehler vorlag, als potentiell fehlerbehafteten Datensatz (513), und Bestimmen eines Datensatzes, bei dessen Lokalisierungsvorgang (501, 503) kein Fehler vorlag, als ordnungsgemäßen Datensatz (514) und - wenn nach einem potentiell fehlerbehafteten Datensatz ein ordnungsgemäßer Datensatz erhalten wird: Prüfen (520) des potentiell fehlerbehafteten Datensatzes, ob dieser weiterverwendet wird oder nicht.
Description
Beschreibung
Titel
VERFAHREN ZUR FEHLERBEHANDLUNG BEI DER NAVIGATION EINES MOBILEN GERÄTS
Die vorliegende Erfindung betrifft ein Verfahren zur Fehlerbehandlung bei einer Navigation eines mobilen Geräts, insbesondere eines sich zumindest teilweise automatisiert bewegenden Fahrzeugs oder Roboters, ein System zur Datenverarbeitung und ein Computerprogramm zu dessen Durchführung sowie ein mobiles Gerät.
Hintergrund der Erfindung
Mobile Geräte wie z.B. sich zumindest teilautomatisiert bewegende Fahrzeuge oder Roboter bewegen sich typischerweise in einer Umgebung, insbesondere einer zu bearbeitenden Umgebung oder einem Arbeitsbereich, wie z.B. einer Wohnung, in einem Garten, in einer Fabrikhalle oder auf der Straße, in der Luft oder im Wasser. Eines der grundlegenden Probleme eines solchen oder auch anderen mobilen Geräts besteht darin, sich zu orientieren, also zu wissen, wie die Umgebung aussieht, also insbesondere wo Hindernisse oder andere Objekte sind, und wo es sich (absolut) befindet. Dafür kann das mobile Gerät z.B. mit verschiedenen Sensoren ausgerüstet sein, wie z.B. Kameras, Lidar-Sensoren, Radar-Sensoren oder auch Intertialsensoren, mit deren Hilfe die Umgebung und die Bewegung des mobilen Gerätes z.B. zwei- oder dreidimensional erfasst wird.
Dies ermöglicht es dem mobilen Gerät, sich lokal zu bewegen, Hindernisse rechtzeitig zu erkennen und zu umfahren.
Offenbarung der Erfindung
Erfindungsgemäß werden ein Verfahren zur Fehlerbehandlung bei einer Navigation eines mobilen Geräts, ein System zur Datenverarbeitung und ein Computerprogramm zu dessen Durchführung sowie ein mobiles Gerät mit den Merkmalen
der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
Die Erfindung beschäftigt sich allgemein mit mobilen Geräten, die sich in einer Umgebung oder dort z.B. in einem Arbeitsbereich bewegen oder zumindest bewegen können. Beispiele für solche mobilen Geräte (oder auch mobile Arbeitsgeräte) sind z.B. Roboter und/oder Drohnen und/oder auch sich teilautomatisiert oder (vollständig) automatisiert (zu Land, Wasser oder in der Luft) bewegende Fahrzeuge. Als Roboter kommen z.B. Haushaltsroboter wie Reinigungsroboter (z.B. in Form von Saug- und/oder Wischroboter), Boden- oder Straßenreinigungsgeräte, Bauroboter oder Rasenmähroboter in Betracht, ebenso aber auch andere sog. Service-Roboter, als sich zumindest teilweise automatisiert bewegende Fahrzeuge z.B. Personenbeförderungsfahrzeuge oder Güterbeförderungsfahrzeuge (auch sog. Flurförderfahrzeuge, z.B. in Lagerhäusern), aber auch Luftfahrzeuge wie sog. Drohnen oder Wasserfahrzeuge.
Ein solches mobiles Gerät weist insbesondere eine Steuer- oder Regeleinheit und eine Antriebseinheit zum Bewegen des mobilen Geräts auf, sodass das mobile Gerät in der Umgebung, z.B. entlang eines Bewegungspfads, bewegt werden kann. Hierzu können Navigationsinformationen bestimmt werden, also z.B. bestimmte Anweisungen, in welche Richtung das mobile Gerät fahren soll, um dem Bewegungspfad zu folgen. Diese können dann über die Steuer- oder Regeleinheit sowie die Antriebseinheit umgesetzt werden. Allgemein kann hierbei von der Navigation des mobilen Geräts gesprochen werden.
Außerdem kann ein mobiles Gerät einen oder mehrere Sensoren aufweisen, mittels welcher die Umgebung bzw. Informationen in der Umgebung erfasst werden können. Dies können, wie erwähnt, z.B. Kameras, Lidar-Sensoren, Radar-Sensoren oder auch Inertialmesseinheiten (oder Inertialsensoren) sowie eine Radodo- metrie sein, mit deren Hilfe die Umgebung und die Bewegung des mobilen Gerätes z.B. zwei- oder dreidimensional erfasst wird. Je nach Art des mobilen Geräts können aber auch andere oder weitere Sensoren vorgesehen sein.
Bei den Sensoren kann dabei insbesondere nach verschiedenen Arten von Sensoren unterschieden werden, nämlich sog. Geräte-Sensoren und sog. Umgebungs-Sensoren. Mittels der Geräte-Sensoren, z.B. Inertialmesseinheiten und Radodometrie, lassen sich Geräte-Informationen, insbesondere Geräte-Sensor- daten, erfassen und bereitstellen, die Informationen über eine Position und/oder Bewegung des mobilen Geräts umfassen, also z.B. eine Geschwindigkeit, eine Beschleunigung oder eine Gierrate des mobilen Geräts. Mittels der Umgebungs- Sensoren, z.B. Kameras, Lidar-Sensoren oder Radar-Sensoren, lassen sich Umgebungs-Informationen, insbesondere Umgebungs-Sensordaten, erfassen und bereitstellen, die Informationen über die Umgebung des mobilen Geräts umfassen, also z.B. auch Abstände des mobilen Geräts (bzw. des betreffenden Sensors) zu Objekten in der Umgebung.
Eine Möglichkeit zum Bestimmen einer Position und Orientierung, und damit auch zur Navigation, eines solchen mobilen Geräts ist die Verwendung einer Lokalisierung des mobilen Geräts, die auf SLAM beruht. Als SLAM ("Simultaneous Localization and Mapping", in etwa: Simultane Positionsbestimmung und Kartierung) wird ein Verfahren in der Robotik bezeichnet, bei dem ein mobiles Gerät wie ein Roboter gleichzeitig eine Karte seiner Umgebung erstellen und seine räumliche Lage innerhalb dieser Karte schätzen kann oder muss. Es dient damit dem Erkennen von Hindernissen und unterstützt somit die autonome Navigation.
Bei SLAM gibt es verschiedene Ansätze, Karten und Positionen darzustellen. Herkömmliche Verfahren für SLAM stützen sich in der Regel auf geometrische Informationen wie Knoten und Kanten. Knoten und Kanten sind typischerweise Bestandteile des SLAM-Graphen. Die Knoten und Kanten im SLAM-Graph können verschieden ausgestaltet sein; traditionell entsprechen die Knoten z.B. der Pose (Position und Orientierung) des mobilen Geräts oder bestimmter Umgebungsmerkmale zu bestimmten Zeitpunkten, während die Kanten relative Messungen zwischen mobilem Gerät und Umgebungsmerkmal repräsentieren. SLAM-Graphen werden z.B. in „Giorgio Grisetti, Rainer Kümmerle, Cyrill Stach- niss, Wolfram Burgard, A Tutorial on Graph-Based SLAM, IEEE Intelligent Transportation Systems Magazine, Vol. 2(4), pp 31-42, 2010“ näher beschrieben.
Basierend auf einem solchen SLAM-Graphen kann eine Karte der Umgebung (Umgebungskarte), in der sich das mobile Gerät bewegt, bestimmt sein oder bestimmt werden. Mit jedem neuen Datensatz mit Informationen zur Umgebung und/oder zum mobilen Gerät, welche Informationen von einem oder mehreren Sensoren des mobilen Geräts erhalten werden bzw. darauf basierten, kann die Karte (bzw. der SLAM-Graph) erweitert oder aktualsiert werden.
Bei der Lokalisierung mittels SLAM können dabei Lokalisierungsvorgänge verwendet werden. Ein Lokalisierungsvorgang umfasst ganz allgemein das Bereitstellen von Geräte- und Umgebungsinformationen, die zumindest teilweise mittels Sensoren des mobilen Geräts von dem Gerät und/oder der Umgebung erfasst worden sind, also z.B. der erwähnten Geräte- und/oder Umgebungs-Informationen. Basierend auf den Geräte- und Umgebungsinformationen wird ein Datensatz erzeugt, der dann zur Verwendung für die Lokalisierung und/oder Navigation des mobilen Geräts bereitgestellt wird. Beispielsweise können die Umgebungsinformationen bzw. Umgebungs-Sensordaten eine sog. Punktwolke umfassen, wie sie von typischen Lidar-Sensoren bereitgestellt wird. Die Geräte-Infor- mationen können dann ergänzend verwendet werden, um eine Position und Orientierung (wird zusammen auch als sog. Pose bezeichnet) des mobilen Geräts für diese Punktwolke zu bestimmen.
Ein solcher, bei einem Lokalisierungsvorgang erhaltener Datensatz kann dann, im Rahmen der Lokalisierung, mit einem zuvor, d.h. bei einem vorangehenden Lokalisierungsvorgang erhaltenen Datensatz abgeglichen werden. Hierbei wird versucht, die beiden Datensätze in Übereinstimmung zu bringen, zumindest innerhalb gewisser Toleranzen, um so die Bewegung bzw. Trajektorie des mobilen Geräts zu bestimmen. Hierbei kann auch von einem sog. Match oder Scan- Match (letzteres bezieht sich insbesondere auf den Fall eines Lidar-Sensors, der die Daten im Rahmen eines Scans erfasst) gesprochen werden. Der Abgleich eines Datensatzes mit einem (typischerweise dem unmittelbar) vorangegangen Datensatz wird auch als inkrementelle Lokalisierung bezeichnet.
Häufig wird jedoch nicht jeder neue Datensatz zu der erwähnten Umgebungskarte hinzugefügt; vielmehr kann z.B. nur in gewissen zeitlichen und/oder
räumlichen Abständen ein neuer Datensatz auch zur Umgebungskarte hinzugefügt werden. Damit wird die Datenmenge geringer gehalten.
Während die Lokalisierung mittels SLAM unter guten Bedingungen in der Regel sehr gut funktioniert, können in der Praxis, wie sich gezeigt hat, z.B. bei der in- krementellen Lokalisierung eine Reihe von Problemen auftreten. Solche Probleme können z.B. der Verlust von Sensordaten, Radschlupf, sog. Kidnapping (hierunter ist zu verstehen, dass das mobile Gerät, meist ein Haushaltsroboter, aufgenommen und an anderer Stelle wieder abgesetzt wird) und Verdeckungen von Sensoren (dies betrifft dann insbesondere die Umgebungssensoren) sein.
Wenn die Ergebnisse eines Lokalisierungsvorgangs, insbesondere eines inkre- mentellen Lokalisierungsvorgangs, bei dem ein Fehler aufgetreten ist, einfach weiterverwendet werden, kann dies zu einer verminderten Genauigkeit (bei der Lokalisierung) oder zum vollständigen Versagen des SLAM-Algorithmus führen. Vor diesem Hintergrund werden Möglichkeiten vorgeschlagen, mit potentiellen Fehlern bei der Navigation eines mobilen Geräts umzugehen.
Eine Ausführungsform betrifft ein Verfahren zum Bestimmen einer Position und Orientierung, und damit insbesondere auch zur Navigation, eines mobilen Geräts, wobei sich das mobile Gerät, unter Verwendung einer auf SLAM basierenden Lokalisierung, in einer Umgebung bewegt oder bewegen soll.
Hierbei werden Daten, die Informationen über eine Position und/oder Bewegung des mobilen Geräts umfassen, bereitgestellt. Dabei kann es sich um die bereits erwähnten Geräte-Informationen handeln. Die Daten sind dabei von Quellen verschiedener Art erhalten worden. Als Quellen kommen dabei Sensoren wie z.B. Inertialmesseinheiten und Radodometrie in Betracht, ebenso aber andere Quellen wie z.B. Modelle oder Annahmen für eine aktuelle Geschwindigkeit. Unter Quellen verschiedener Art soll dabei insbesondere verstanden werden, dass es mehrere Quellen gibt, also z.B. einen Sensor und ein Modell oder zwei verschiedene, insbesondere auch verschiedenartige, Sensoren.
Hierbei ist vorgesehen, dass einem oder mehreren Teilaspekten der Position und Orientierung (Pose) jeweils ein Satz von Quellen, aus den Quellen verschiedener Art, zugeordnet ist. In einem jeweiligen Satz wiederum ist den Quellen eine vorgegebene Hierarchie an Prioritäten zugeordnet. Während Position und Orientierung z.B. sechs Freiheitsgrade haben kann, drei translatorische Freiheitsgrade (Position) und drei rotatorische Freiheitsgrade (Orientierung), ist unter einem Teilaspekt ein Teil dieser gesamten Freiheitsgrade zu verstehen. Hierzu sei jedoch erwähnt, dass auch bei Position und Orientierung nicht notwendigerweise alle sechs Freiheitsgrade berücksichtigt sein müssen, so kann bei einem mobilen Gerät, das sich z.B. nur auf einer Ebene bewegt, eine vertikale Richtung unberücksichtigt bleiben. Unter der vorgegebenen Hierarchie an Prioritäten ist dann zu verstehen, dass es eine Reihenfolge der Quellen des Satzes gibt, nach welcher die Quellen geordnet sind.
Ein einfaches Beispiel ist, dass dem Gierwinkel (ein rotatorischer Freiheitsgrad) als Teilaspekt der Position und Orientierung ein Satz von Quellen umfassend eine Inertialmesseinheit, die Radodometrie sowie ein Modell für eine Geschwindigkeit zugeordnet ist. Die vorgegebenen Hierarchie an Prioritäten kann z.B. der Reihenfolge, in der die drei Quellen hier genannt sind, entsprechen.
Es wird dann eine Verfügbarkeit zumindest eines Teils der Quellen verschiedener Art für den jeweiligen Satz (und damit auch für den jeweiligen Teilaspekt) geprüft. Zudem wird bestimmt, ob die geprüften Quellen verfügbar sind oder nicht. Unter einer Verfügbarkeit einer Quelle kann insbesondere verstanden werden, ob die Quelle ihre Informationen überhaupt bereitstellt oder nicht, oder ob eine Quelle z.B. ungenaue Informationen liefert, die daher z.B. nicht verwendet werden sollten.
Basierend auf den Daten werden die eine Position und Orientierung (also insbesondere eine sog. Pose) des mobilen Geräts für die Lokalisierung des mobilen Geräts bestimmt.
Der eine oder zumindest einer der mehreren Teilaspekte wird dabei basierend auf den Daten einer ausgewählten Quelle des jeweils zugeordneten Satzes an Quellen bestimmt. In dem genannten Beispiel wird die Gierrate also z.B. entweder basierend auf Daten der Inertialmesseinheit, oder basierend auf Daten der Radodometrie oder basierend auf Daten des Modells für die Geschwindigkeit bestimmt.
Als die ausgewählte Quelle wird nun jeweils diejenige Quelle aus dem jeweiligen Satz an Quellen verwendet, welche Quelle von den als verfügbar bestimmten Quellen die gemäß der jeweiligen Hierarchie höchste Priorität zugeordnet ist. Wenn in dem genannten Beispiel also alle drei Quellen verfügbar sind, werden die Daten der Inertialmesseinheit verwendet, um basierend darauf die Gierrate zu bestimmen. Dies gilt auch, wenn zumindest die Inertialmesseinheit verfügbar ist, aber z.B. die Radodometrie nicht verfügbar ist. Wenn hingegen die Inertialmesseinheit nicht verfügbar ist, die Radodometrie aber schon, dann wird basierend auf der Radodometrie die Gierrate bestimmt.
Durch diese Hierarchie kann immer die bestmögliche der verfügbaren Quellen verwendet werden, sodass auch bei etwaigen Fehlern, die zur Nicht-Verfügbarkeit einer Quelle führen, eine ausreichende Genauigkeit erreicht wird. Würden hingegen mehreren Quellen miteinander gewichtet, könnten zwar ggf. kleinere Ungenauigkeiten ausgeglichen werden, größere Abweichungen einer fehlerhaften Quelle würden das Ergebnis allerdings stark verfälschen. Die Hierarchie bzw. Reihenfolge der Quellen in einem solchen Satz kann z.B. je nach Bedarf und Situation oder je nach Art der Quellen festgelegt sein oder werden.
Dabei sei erwähnt, dass dies insbesondere immer nur für einen jeweiligen Teilaspekt gilt, d.h. je nach Teilaspekt können anderen Quellen und/oder eine andere Hierarchie vorgesehen sein. Zwei bestimmte Sensoren können z.B. für zwei verschiedene Teilaspekte vorgesehen sein, jedoch mit anderer Hierarchie, z.B. weil der eine Sensor für den einen Teilaspekt genauere Werte liefert als der andere Sensor, und umgekehrt für den anderen Teilaspekt.
Ebenso gilt das Bestimmen, ob eine Quelle verfügbar ist oder nicht, insbesondere ebenfalls individuell für jeden Teilaspekt bzw. den jeweiligen Satz an Quellen. Ein bestimmter Sensor kann z.B. zwei verschiedenen Teilaspekten zugeordnet sein, aber nur bei einem als nicht verfügbar gelten. Dies kann z.B. dann der Fall sein, wenn dieser Sensor eine erkannte Ungenauigkeit liefert, und bei einem Teilaspekt noch ein Sensor mit genaueren Daten zugeordnet ist, beim anderen Teilaspekt aber nicht. Wenn hingegen der Sensor gar keine Daten mehr liefert, wird man ihn bei keinem der Teilaspekte mehr als verfügbar ansehen können.
In einer Ausführungsform umfassen die Quellen verschiedener Art wenigstens zwei der folgenden Quellen: einen oder mehrere Sensoren, eines oder mehrere Positions- und/oder Bewegungsmodelle, und eine oder mehrere Positions- und/oder Bewegungsvorgaben. Insbesondere umfassen die Quellen verschiedener Art dabei eine Inertialmesseinheit, eine Radodometrie, eine Soll-Geschwindigkeit, ein Modell konstanter Geschwindigkeit, eine kontante Geschwindigkeit, ein Modell konstanter Position, und eine konstante Position.
Während die Sensoren, also z.B. Inertialmesseinheit und Radodometrie, aktuelle Messwerte liefern, können als Rückfalllösung die Modelle verwendet werden.
Wenn z.B. kein Sensor mehr verfügbar ist, kann angenommen werden, dass sich das mobile Gerät mit der zuletzt gemessenen oder bestimmten Geschwindigkeit weiterbewegt oder sich an der zuletzt bestimmten Position befindet. Falls vorhanden, können aber auch z.B. Vorgaben, also z.B. eine Soll-Geschwindigkeit herangezogen werden, die nicht notwendigerweise konstant sein muss. Dies gilt nicht nur für Positionen und translatorische Geschwindigkeiten, sondern auch für Orientierungen und rotatorische Geschwindigkeiten.
In einer Ausführungsform umfasst der eine oder einer der mehreren Teilaspekte der Position und Orientierung eine Position in horizontaler Bewegungsrichtung, also z.B. in x- und/oder y-Richtung (für den Fall eines kartesischen Koordinatensystems). Diesem Teilaspekt ist dann der Satz an Quellen mit folgender, vorgegebenen Hierarchie zugeordnet: die Radodometrie, die Soll-Geschwindigkeit, das Modell konstanter Geschwindigkeit, und das Modell konstanter Position.
In einer Ausführungsform umfasst der eine oder einer der mehreren Teilaspekte der Position und Orientierung einen Gierwinkel. Diesem Teilaspekt ist der Satz an Quellen mit folgender, vorgegebenen Hierarchie zugeordnet: die Inertialmess- einheit, die Radodometrie, die Soll-Geschwindigkeit, das Modell konstanter Geschwindigkeit, und das Modell konstanter Position.
In einer Ausführungsform umfasst der eine oder einer der mehreren Teilaspekte der Position und Orientierung einen Nick- und/oder einen Rollwinkel. Diesem Teilaspekt ist der Satz an Quellen mit folgender, vorgegebenen Hierarchie zugeordnet: die Inertialmesseinheit, die konstante Geschwindigkeit, und die konstante Position.
Die drei genannten Teilaspekte ermöglichen eine möglichst genaue Bestimmung von Position und Orientierung des mobilen Geräts, und damit dessen Navigation, und zwar auch bei etwaigen Fehlern oder sonstigen Gründen, weshalb eine Quelle bzw. ein Sensor nicht verfügbar ist. Es sei erwähnt, dass auch dann, wenn das vorgeschlagene Vorgehen nur bei einem der Teilaspekte angewendet wird, bereits eine Verbesserung erreicht wird.
In einer Ausführungsform wird, wenn zwei jeweils einen Sensor umfassende Quellen verschiedener Art demselben Teilaspekt der Position und Orientierung, insbesondere dem Gierwinkel, zugeordnet sind, bestimmt, dass eine der zwei Quellen nicht verfügbar ist, wenn die von den zwei Quellen erhaltenen, einander entsprechenden Daten um mehr als einen vorgegebenen Wert voneinander abweichen. Die eine der zwei Quellen kann hierbei die Inertialmesseinheit umfassen, und die andere der zwei Quellen die Radodometrie. Generell kann dies aber auch bei zwei verschiedenen Sensoren der Fall sein, mittels denen ein bestimmter Teilaspekt bestimmt werden kann. Dabei können die beiden Sensoren eine unterschiedliche Art von Daten liefern, mit denen aber derselbe Teilaspekt bestimmt werden kann. Es sind dann einander entsprechende Daten zu vergleichen. Während mit der Inertialmesseinheit wie einem Gyroskop z.B. eine Drehrate ermittelt wird, basierend worauf dann die Gierrate bestimmt werden kann (oder die als solche verwendet werden kann), liefert die Radodometrie z.B.
Längen zurückgelegter Wege von zwei Rädern, die verglichen werden können, um basierend darauf die Gierrate zu bestimmen.
Ebenso muss es sich bei den zwei Sensoren nicht um verschiedenartige Sensoren handeln, es kann sich auch um zwei gleichartige Sensoren, z.B. zwei Inertial- messeinheiten, handeln, die z.B. eine unterschiedliche Güte aufweisen, oder an verschiedenen Positionen am mobilen Gerät angeordnet sind.
Besonders bevorzugt ist, wenn die von der die Inertialmesseinheit umfassenden Quelle und der die Radodometrie umfassenden Quelle einander entsprechenden Daten um mehr als den vorgegebenen Wert voneinander abweichen, dass bestimmt wird, dass die die Radodometrie umfassende Quelle nicht verfügbar ist. Mit anderen Worten wird also, wenn die einander entsprechenden Werte, die Inertialmesseinheit und Radodometrie für z.B. die Gierrate liefern, stark voneinander abweichen, der Inertialmesseinheit der Vorzug gegeben wird. ES hat sich nämlich herausgestellt, dass, zumindest über eine kurze Zeitdauer, die Inertialmesseinheit genauere Messwerte liefert als die Radodometrie. Wenn eines von beiden fehlerhaft ist, ist es also mit höherer Wahrscheinlichkeit die Radodometrie.
Wie bereits erwähnt, muss dies jedoch nicht bedeuten, dass die Radodometrie für einen anderen Teilaspekt nicht mehr verwendet wird. Für die horizontale Position kann nämlich die Information aus der Radodometrie immer noch genauer sein als aus einem Modell oder der Soll-Geschwindigkeit. Je nach Grad der Abweichung zwischen den Werten von Inertialmesseinheit und Radodometrie kann aber auch z.B. für die horizontale Position die Radodometrie als nicht verfügbar bestimmt werden.
In einer Ausführungsform wird bestimmt, dass eine Quelle, insbesondere ein Sensor, nicht verfügbar ist, wenn für zumindest eine vorgegebene Zeitdauer keine Daten von der Quelle erhalten werden oder worden sind, und/oder wenn ein Fehler erkannt wird, für den vorgegeben ist, dass die Quelle nicht verfügbar sein soll. Auf diese Weise können weitere Fehler berücksichtigt werden. Wenn für einen Quelle bzw. einen Sensor zumindest eine vorgegebene Zeitdauer keine
Daten erhalten werden, kann diese Quelle, wie erwähnt, insbesondere für mehrere Teilaspekte (wenn diese Quelle mehreren Teilaspekten zugeordnet ist), als nicht verfügbar bestimmt werden. Hier kann dann z.B. von einem Defekt des Sensors oder einer Kommunikationsverbindung ausgegangen werden.
Als Fehler für den vorgegeben ist, dass die Quelle nicht verfügbar sein soll, kommen verschiedene Möglichkeiten in Betracht. So kann z.B. ein sog. Lift-Up-Sen- sor am mobilen Gerät vorgesehen sein, der bei Anheben des mobilen Geräts, insbesondere im Fall eines Haushaltsroboters, auslöst. Dies kann z.B. ein Kontaktsensor sein, der in einer Radaufhängung des mobilen Geräts eingebaut ist. Wenn nun ein Anheben erkannt wird kann, insbesondere solange das mobile Gerät angehoben ist, die Radodometrie als nicht verfügbar bestimmt werden - ohne Kontakt zum Untergrund wird die Radodometrie nämlich keine vernünftigen Werte liefern. Ein solches Anheben, sowie ein späteres Absetzen, kann z.B. aber auch durch die Inertialmesseinheit erkannt werden. Ein anderer Fehler ist z.B. ein Sprung in der Radodometrie bzw. deren Daten. Ebenso aber z.B. ein Schlupf in der Gierrate, der z.B. durch Vergleich der Daten bzw. Werte von Inertialmesseinheit und Radodometrie erkannt werden kann (dies kann z.B. auftreten, wenn das mobile Gerät durch eine externe Kraft seitlich bewegt wird). All diese Fehler zeigen z.B. darauf hin, dass die Radodometrie nicht verwendet werden sollte, d.h. als nicht verfügbar bestimmt werden sollte.
Ein weiterer Fehler ist z.B. ein Stillstand des Roboters, der basierend auf der Inertialmesseinheit und/oder der Radodometrie erkannt werden kann. Der Stillstand kann z.B. verwendet werden, um die Rechenlast durch Vermeidung unnötiger Berechnungen zu reduzieren und die Ansammlung kleiner Fehler zu eliminieren, während sich das mobile Gerät nicht bewegt (z.B. aufgrund einer allmählichen Drift der Inertialmesseinheit).
In einer Ausführungsform werden weiterhin Navigationsinformation für das mobile Gerät bestimmt, und zwar, basierend auf der Position und Orientierung des mobilen Geräts. Dies kann dann insbesondere die Berücksichtigung weiterer Sensordaten wie z.B. des Lidar-Sensors umfassen wie schon erwähnt und wie nachfolgend noch näher erläutert werden soll.
Eine Ausführungsform betrifft ein Verfahren zur Lokalisierung, und damit insbesondere auch zur Navigation, eines mobilen Geräts, wobei sich das mobile Gerät, unter Verwendung einer auf SLAM basierenden Lokalisierung, in einer Umgebung bewegt oder bewegen soll.
Hierbei werden, in einem Lokalisierungsvorgang, Geräte-Informationen bereitgestellt, insbesondere Geräte-Sensordaten, die mittels Sensoren des mobilen Geräts erfasst worden sind. Die Geräte-Informationen umfassen Informationen über eine Position und/oder Bewegung des mobilen Geräts. Zudem werden Umgebungs-Sensordaten, die mittels Sensoren des mobilen Geräts erfasst worden sind, bereitgestellt. Die Umgebungs-Sensordaten umfassen Informationen über die Umgebung des mobilen Geräts, um einen aktuellen Datensatz zu erhalten. Bei den Geräte-Informationen und den Umgebungs-Sensordaten kann es sich um die vorstehend bereits näher erläuterten Informationen bzw. Daten handeln, also z.B. von einer Inertialmesseinheit und Radodometrie, sowie z.B. von einem Lidar-Sensor, einem Radar-Sensor oder einer Kamera erhaltene Informationen.
Bei den Umgebungs-Sensordaten kann es sein, dass diese nicht alle zum selben Zeitpunkt erfasst worden sind. Dies ist z.B. beim Lidar-Sensor der Fall, der in der Regel durch eine Dreh- oder Schwenkbewegung die Umgebung abtastet, was eine gewisse Zeitdauer benötigt. Währenddessen bewegt sich das mobile Gerät jedoch weiter. In diesem Fall kann, je nach gewünschter Genauigkeit, eine Korrektur bzgl. der Position und ggf. Orientierung des mobilen Geräts vorgenommen, oder eine andere Vorverarbeitung. Dies soll später noch näher erläutert werden.
Während für einen Lokalisierungsvorgang typischerweise ein Datensatz an Umgebungs-Sensordaten vorhanden ist, also z.B. eine Punktwolke eines Lidar-Sen- sors von einem Scan des Lidar-Sensors, sind häufig mehrere Datensätze an Geräte-Informationen oder Geräte-Sensordaten vorhanden, da eine Abtastfrequenz einer Inertialmesseinheit oder Radodometrie meist höher ist als diejenige eines Lidar-Sensors.
Basierend auf den Geräte-Informationen werden dann eine vorläufige Position und Orientierung (also eine vorläufige Pose, auch als initiale Pose bezeichnet) des mobilen Geräts bestimmt. Hierzu kann z.B. anhand der Geräte-Informationen bestimmt werden, welche Position und Orientierung das mobile Gerät relativ zum vorangegangen Lokalisierungsvorgang hat. Bei mehreren Datensätzen an Geräte-Informationen für einen Lokalisierungsvorgang kann z.B. auf den zuletzt erhaltenen oder eine Mittelung davon abgestellt werden.
Es folgt dann ein erstes Prüfen (oder ein erster Prüfvorgang). Dies umfasst einen ersten Abgleich, ob der aktuelle Datensatz mit der vorläufigen Position und Orientierung gemäß wenigstens einem ersten Übereinstimmungskriterium mit einem oder mehreren vorher erzeugten Datensätzen oder einer vorhandenen Umgebungskarte, vorzugsweise einem im vorangegangenen (also insbesondere im unmittelbar vorangegangenen) Lokalisierungsvorgang bereitgestellten Datensatz, in Übereinstimmung bringbar ist. Im ersten Prüfvorgang wird dann ein Prüfergebnis zu erhalten; dieses kann, wenn die Datensätze in Übereinstimmung bringbar sind, positiv sein, andernfalls z.B. negativ.
Bei einem solchen Abgleich wird z.B. ein Algorithmus verwendet, der unter Berücksichtigung einer Kostenfunktion arbeiten, die die zwei abzugleichenden Datensätze (Messungen) in Abhängigkeit von der relativen Position zwischen den Messungen vergleicht. Es kann ein Optimierungsalgorithmus eingesetzt werden, um die Pose z bestimmen, die die Kostenfunktion minimiert. Bei der Kostenfunktion kann es sich z.B. um eine negative Log-Likelihood-Funktion handeln, wenn ein probabilistisches Modell verwendet wird oder eine andere Funktion, die ein Maß für die Qualität der Ausrichtung zwischen zwei Datensätzen darstellt. Dabei können gewissen Toleranzen berücksichtigt werden, wie genau die zwei Datensätze übereinstimmen müssen, um den Abgleich als positiv zu bestimmen. Dies kann beim ersten Prüfen mit dem erwähnten wenigstens einem ersten Übereinstimmungskriterium berücksichtigt werden.
Bei dem ersten Abgleich wird somit insbesondere, ausgehend von der vorläufigen bzw. initialen Pose ein Optimum für die Pose gefunden, also eine
angepasste Pose (oder allgemein Position und Orientierung), insbesondere dann, wenn der erste Abgleich bzw. das erste Prüfen positiv sind.
Es folgt dann ein zweites Prüfen (oder ein zweiter Prüfvorgang). Dies umfasst einen zweiten Abgleich, ob der aktuelle Datensatz gemäß wenigstens einem zweiten Übereinstimmungskriterium mit einem oder mehreren vorher erzeugten Datensätzen oder der vorhandenen Umgebungskarte, vorzugsweise dem im vorangegangenen Lokalisierungsvorgang bereitgestellten Datensatz, in Übereinstimmung bringbar ist. Sowohl beim ersten als auch beim zweiten Abgleich kann es sich um einen schon erwähnten Match oder Scan-Match handeln.
Bei dem zweiten Abgleich werden einer oder mehrere Teile der Geräte-Informa- tion (und zwar insbesondere aus dem aktuellen Lokalisierungsvorgang, ggf. aber auch von einem vorhergehenden Lokalisierungsvorgang) jeweils mit einer von dem Prüfergebnis abhängigen Gewichtung berücksichtigt wird. Dies kann z.B. als Term (z.B. ein Strafterm) in der Kostenfunktion (bei der erwähnte Optimierung im Rahmen des Abgleichs) erfolgen, der je nach Prüfergebnis gewählt werden kann. Alternativ oder zusätzlich kann bei dem zweiten Abgleich, in Abhängigkeit von dem Prüfergebnis, der aktuelle Datensatz mit der vorläufigen Position und Orientierung oder mit einer beim ersten Abgleich erhaltenen Position und Orientierung verwendet werden. Insbesondere dann, wenn der erste Abgleich positiv ist, kann die beim ersten Abgleich erhaltenen Position und Orientierung verwendet werden, da diese dann besonders genau ist. Wenn der erste Abgleich hingegen negativ war, ist es zweckdienlich die vorläufige Position und Orientierung zu verwenden, da z.B. im ersten Abgleich keine bessere Pose gefunden worden ist.
Der erste Abgleich und der zweite Abgleich können an sich gleichartig durchgeführt werden, jedoch ggf. mit geänderter Gewichtung, z.B. als Term der Kostenfunktion, oder über die Pose, ausgehend von welcher der Abgleich durchgeführt wird. Auf diese Weise kann immer möglichst genau und gut auf die aktuelle Zuverlässigkeit der Geräte-Informationen eingegangen werden, in diese z.B. mehr oder weniger berücksichtigt werden. Beim ersten Abgleich kann z.B. eine Standard-Gewichtung für die Geräte-Informationen verwendet werden, von der die Gewichtung im zweiten Abgleich dann ggf. abweicht.
Wenn der zweite Abgleich positiv ist, wird der Datensatz mit im Rahmen des zweiten Abgleichs erhaltener Position und Orientierung zur Verwendung für die Lokalisierung und/oder Navigation des mobilen Geräts bereitgestellt. Aufgrund der Gewichtung im zweiten Abgleich kann die Position und Orientierung, die z.B. bei der Optimierung im Rahmen des zweiten Abgleichs erhalten wird, anders sein als diejenige beim ersten Abgleich.
Durch die zwei Abgleiche ist es nunmehr also möglich, im ersten Abgleich nur die Parameter für den zweiten Abgleich zu bestimmen, bei dem es sich dann um den eigentlichen Abgleich (oder Scan-Match) handelt, der dann wie bisher weiterverwendet werden kann. Dies erlaubt eine effizientere und genauere Lokalisierung.
In einer Ausführungsform umfasst das Prüfergebnis ein erstes Prüfergebnis, wenn der erste Abgleich negativ ist. Dabei wird bei dem ersten Prüfergebnis als Gewichtung eine erste Gewichtung verwendet, wonach insbesondere zumindest ein Teil der Geräte-Informationen höher gewichtet wird als bei dem ersten Abgleich. Damit kann eine Abweichung von der Position und Orientierung, die aus den Geräte-Informationen stammt, möglichst geringgehalten werden, ein Abweichen wird also stärker „bestraft“. Dies ist z.B. dann von Vorteil, wenn die Umgebungs-Sensordaten weniger genau sind; dies zeigt sich durch einen negativen ersten Abgleich. Den Geräte-Informationen kann dann mehr vertraut werden.
In einer Ausführungsform umfasst das Prüfergebnis ein zweites Prüfergebnis, wenn der erste Abgleich positiv ist und wenn der erste Abgleich zudem unterbestimmt ist. Unter einem unterbestimmten Abgleich ist insbesondere zu verstehen, dass die Umgebung (aus der die Umgebungs-Sensordaten, also der Datensatz, stammen) merkmallose ist oder wenige Merkmale aufweist. So kann es sich z.B. um einen langen Korridor handeln. In einem solchen Fall kann es sein, dass nicht alle Freiheitsgrade zuverlässig geschätzt werden können. Im Falle eines Li- dar-Sensors und eines Korridors ist es zum Beispiel einfach, den Abstand zu den Wänden des Korridors und die Orientierung zu bestimmen, aber es kann sehr schwierig oder unmöglich sein, die Bewegung entlang der Richtung des Korridors zu schätzen. Um solche Fälle zu erkennen, können z.B. die Eigenwerte der
Untermatrix betrachtet werden, die sich auf die Position der Hesse-Matrix des Optimierungsergebnisses aus dem ersten Abgleich beziehen. Es kann bestimmt werden, ob die Unsicherheit in einer Richtung viel größer ist als in der anderen, indem das Verhältnis der beiden Eigenwerte mit einem Schwellenwert verglichen wird. Mit dieser Methode lassen sich Fälle von Unterbestimmtheit im Allgemeinen und nicht nur für den speziellen Korridor-Fall bestimmen. So kann mit diesem Ansatz z.B. auch einen Fall erkannt werden, in dem das mobile Gerät auf der einen Seite nahe an einer Wand ist, und es einen großen leeren Raum auf der anderen Seite gibt. Alternativ dazu kann aber auch ein Detektor oder Algorithmus verwendet werden, der explizit die Form des Korridors in den Sensordaten erkennt.
Dabei wird bei dem zweiten Prüfergebnis als Gewichtung eine zweite Gewichtung verwendet, wonach insbesondere zumindest ein Teil der Geräte- Informationen höher gewichtet wir als beim ersten Abgleich. Aufgrund der unzureichenden Genauigkeit der Umgebungssensordaten kann hier den Geräte-Informationen mehr vertraut werden. Die Gewichtung können beim ersten und zweiten Prüfergebnis z.B. auch gleich sein.
In einer Ausführungsform umfasst das Prüfergebnis ein drittes Prüfergebnis, wenn der erste Abgleich positiv ist, wenn der erste Abgleich nicht unterbestimmt ist, und wenn die Geräte-Sensordaten als unzuverlässig bestimmt worden sind. Darunter, dass die Geräte-Sensordaten (oder ggf. allgemein die Geräte-Informationen) als unzuverlässig bestimmt sind, ist insbesondere zu verstehen, dass die betreffenden Sensoren z.B. fehlerhafte Werte liefern oder aus anderen Gründen nicht verwendet werden sollten. So kann z.B. aufgrund von Radschlupf, der vom betreffenden Sensor (z.B. Radodometrie) gelieferte Wert als unzuverlässig angesehen werden, und es kann ein Rückfall auf konstante Geschwindigkeit oder Position oder ein anderes Modell wie vorstehend schon betrieben verwendet werden. Hierzu können die aus den Geräte-Sensordaten bestimmte Pose (vorläufige Pose bzw. Position und Orientierung) mit der im Rahmen des ersten Abgleichs bestimmten Pose verglichen werden; dabei kann dann geprüft werden, ob die beiden Posen um mehr als einen vordefinierten Schwellenwert abweichen bzw. innerhalb vorgegebener Toleranzen übereinstimmen. Wenn zuvor ein Korridor entdeckt worden ist, kann z.B. davon ausgegangen werden, dass dies auf das
Problem des unzureichenden Abgleichs zurückzuführen ist und es kann zudem davon ausgegangen werden, dass die Geräte-Informationen mit größerer Wahrscheinlichkeit richtig sind.
Dabei wird bei dem dritten Prüfergebnis als Gewichtung eine dritte Gewichtung verwendet, wonach insbesondere zumindest ein Teil der Geräte-Informationen geringer gewichtet wird als bei dem ersten Abgleich.
Andernfalls kann davon ausgegangen werden, dass ein guter Abgleich stattgefunden hat eine gute Übereinstimmung stattgefunden hat und somit die Proprio- zeption wahrscheinlicher die Ursache des Problems ist.
In einer Ausführungsform umfasst das Prüfergebnis ein viertes Prüfergebnis, wenn der erste Abgleich positiv ist, wenn der erste Abgleich nicht unterbestimmt ist, und wenn die Geräte-Sensordaten nicht als unzuverlässig bestimmt worden sind. Bei dem vierten Prüfergebnis wird als Gewichtung dann eine im ersten Abgleich verwendete Gewichtung, also z.B. eine Standard-Gewichtung verwendet. Als Standard-Gewichtung bzw. für den ersten Abgleich kann z.B. vorgesehen sein, dass die Position und Orientierung wenig berücksichtigt werden und z.B. auch, dass die vorläufige Position und Orientierung (dann auch im zweiten Abgleich) verwendet wird.
In einer Ausführungsform ist zudem vorgesehen, dass der im vorangegangenen Lokalisierungsvorgang bereitgestellte Datensatz (mit der betreffenden Position und Orientierung) zu der vorhandenen Umgebungskarte hinzugefügt wird, wenn wenigstens ein Aktualisierungskriterium vorliegt, das insbesondere einen erkannten Fehler im (aktuellen) Lokalisierungsvorgang umfasst. Anders als nach den schon erwähnten üblichen Kriterien, wonach ein Datensatz zur Umgebungskarte hinzugefügt wird, wird im Falle eines Fehlers der davon erhaltene Datensatz, der in Ordnung ist, hinzugefügt, um so noch eine letzte Aktualisierung zu erreichen.
Das wenigstens eine Aktualisierungskriterium umfasst dabei bevorzugt wenigstens eines der folgenden Aktualisierungskriterien. Wenn der zweite Abgleich negativ ist, insbesondere wenn zudem der zweite Abgleich im vorangegangenen
Lokalisierungsvorgang positiv war. Wenn die Geräte-Sensordaten als unzuverlässig bestimmt worden sind, insbesondere wenn zudem die Geräte-Sensordaten im vorangegangenen Lokalisierungsvorgang nicht als unzuverlässig bestimmt worden waren. Wenn der erste Abgleich unterbestimmt ist, insbesondere wenn der erste Abgleich im vorangegangenen Lokalisierungsvorgang nicht unterbestimmt war. Hierbei handelt es sich also um Fälle, in denen wie vorstehend erläutert verschiedene Gewichtungen verwendet werden können. Ebenso kann umfasst sein, wenn das mobile Gerät während des vorangegangenen Lokalisierungsvorgang auf einen Untergrund abgestellt worden ist (und noch früher dann angehoben worden) war. Dies kann z.B. über den erwähnten Lift-Up-Sensor erkannt werden. Hier ist dann davon auszugehen, dass die Gerätesensordaten nicht stimmen werden. Ebenso kann umfasst sein, dass die Umgebungs-Sensordaten zumindest zeitweise während des Lokalisierungsvorgangs nicht erhalten oder bereitgestellt worden waren. Auch hier ist von unzuverlässigen Daten auszugehen. Im Übrigen können auch die schon erwähnten Aktualisierungskriterien wie Ablauf einer bestimmten Zeitdauer, eine bestimmte zurückgelegte Entfernung oder eine Anzahl an durchgeführten Scans (erhaltenen Datensätzen) verwendet werden.
In einer Ausführungsform umfasst das Hinzufügen des im vorangegangenen Lokalisierungsvorgang bereitgestellten Datensatzes zu der vorhandenen Umgebungskarte, dass geprüft wird, ob ein Unterschied zwischen einer basierend auf den Geräte-Informationen bestimmten Position und Orientierung des mobilen Geräts bei dem hinzufügenden Datensatz und der Position und Orientierung des mobilen Geräts bei einem zuletzt zur Umgebungskarte hinzugefügten Datensatz innerhalb einer vorgegebenen Toleranz liegt. Hierbei kann auch von einem sog. Refinement-Match gesprochen werden. Auf diese Weise kann geprüft werden, ob es bei der Position und Orientierung aus den Geräte-Sensordaten einen Drift gibt, und der bei den inkrementellen Lokalisierungen zu gering ist, um als Fehler angesehen zu werden. Wenn dieser Unterschied innerhalb der Toleranz liegt, kann der Datensatz hinzugefügt werden, andernfalls z.B. nicht.
In einer Ausführungsform werden weiterhin Navigationsinformation für das mobile Gerät bestimmt, und zwar, basierend auf dem bereitgestellten Datensatz mit der betreffenden der Position und Orientierung des mobilen Geräts.
Eine Ausführungsform der Erfindung betrifft ein Verfahren zur Fehlerbehandlung bei der Navigation eines mobilen Geräts, wobei sich das mobile Gerät, unter Verwendung einer auf SLAM basierenden Lokalisierung, in einer Umgebung bewegt oder bewegen soll. Hierbei erfolgt ein wiederholtes Durchführen von Lokalisierungsvorgängen.
In einem Lokalisierungsvorgang werden dabei jeweils Geräte- und Umgebungsinformationen bereitgestellt, die zumindest teilweise mittels Sensoren des mobilen Geräts von dem Gerät und/oder der Umgebung erfasst worden sind. Dies können die schon erwähnten Gerätesensordaten und Umgebungssensordaten sein, ggf. aber auch basierend auf Modellen erhalte Daten. Es wird dann ein Datensatz erzeugt, und zwar basierend auf den Geräte- und Umgebungsinformationen. Der Datensatz wird zur Verwendung für die Lokalisierung und/oder Navigation des mobilen Geräts bereitgestellt. Hierbei können insbesondere alle weiteren Bearbeitungsvorgänge in einem Lokalisierungsvorgang umfasst sein, wie vorstehend z.B. erläutert.
Während der Lokalisierungsvorgänge wird jedoch geprüft, ob ein Fehler (oder ein Problem) vorliegt. Es wird dann ein Datensatz, bei dessen Lokalisierungsvorgangs ein Fehler vorlag, als potentiell fehlerbehafteter Datensatz bestimmt (oder z.B. markiert), und ein Datensatz, bei dessen Lokalisierungsvorgangs kein Fehler vorlag, wird als ordnungsgemäßen Datensatz bestimmt.
Wenn dann nach einem potentiell fehlerbehafteten Datensatz ein ordnungsgemäßer Datensatz erhalten wird, wird der potentiell fehlerbehaftete Datensatz geprüft, ob dieser weiterverwendet wird oder nicht. Auf diese Weise wird die Entscheidung, wie mit dem Fehler umgegangen wird, ist also ganz an den Schluss verlagert, wenn die eigentliche Verarbeitung des Datensatzes im individuellen (inkrementellen) Lokalisierungsvorgang schon abgeschlossen ist. Sofern dann
nämlich z.B. festgestellt wird, dass der Fehler nicht gravierend war, können die Daten trotzdem verwendet werden.
In einer Ausführungsform umfasst das Prüfen des potentiell fehlerbehafteten Datensatzes ein Prüfen, ob der ordnungsgemäße Datensatz gemäß wenigstens einem ersten Übereinstimmungskriterium mit einem oder mehreren vor dem potentiell fehlerbehafteten Datensatz erhaltenen ordnungsgemäßen Datenätzen oder einer vorhandenen Umgebungskarte in Übereinstimmung bringbar ist (d.h. übereinstimmt), um ein erstes Prüfergebnis zu erhalten. Dies kann z.B. im Rahmen eines Abgleichs bzw. Scan-Matches erfolgen, wie vorstehend schon erläutert - mit dem Unterschied, dass bei den hier abzugleichenden Datensätzen einer als potentiell fehlerhaft betrachtet wird.
In einer Ausführungsform wird, wenn das erste Prüfergebnis negativ ist, d.h. wenn die Datensätze nicht in Übereinstimmung bringbar ist, der potentiell fehlerbehaftete Datensatzes als fehlerbehafteter Datensatz bestimmt. In diesem Fall wird der Datensatz dann nicht mehr weiterverwendet.
In einer Ausführungsform wird, wenn das erste Prüfergebnis positiv ist, und wenn der potentiell fehlerhafte Datensatz gemäß wenigstens einem zweiten Übereinstimmungskriterium mit dem unmittelbar vor dem potentiell fehlerbehafteten Datensatz erhaltenen Datensatz übereinstimmt, der potentiell fehlerbehafteten Datensatzes als ordnungsgemäßer Datensatz bestimmt. Dies bedeutet, dass der im Rahmen der inkrementellen Lokalisierung vorgenommene Abgleich positiv war, also der Fehler allenfalls gering war oder kaum bis keinen Einfluss hatte. Der Datensatz kann also weiterverwendet werden, es müssen keine weiteren Maßnahmen getroffen werden.
Vorzugsweise wird weiterhin, wenn der potentiell fehlerhafte Datensatz nicht gemäß dem wenigstens einen zweiten Übereinstimmungskriterium mit dem unmittelbar vor dem potentiell fehlerbehafteten Datensatz erhaltenen Datensatz übereinstimmt, der potentiell fehlerbehaftete Datensatz als fehlerhafter Datensatz bestimmt. Dann war der Fehler so groß, dass der Abgleich ei der inkrementellen Lokalisierung nicht erfolgreich war, auch wenn der Abgleich zwischen
ordnungsgemäßen Datensätzen erfolgreich war, sodass die Daten dann trotzdem nicht mehr verwendet werden sollten.
In einer Ausführungsform ist weiterhin vorgesehen, eine neue Umgebungskarte zu erzeugen, basierend auf dem ordnungsgemäßen Datensatz, der nach dem als fehlerbehaftet bestimmten Datensatz erhalten worden ist. Insbesondere wird der fehlerbehaftete Datensatz hierbei aber nicht verwendet. Diese neue Umgebungskarte kann dann z.B. mit der vorhandenen Umgebungskarte vereint werden. Für den Fall, dass das erste Prüfergebnis positiv war, der Datensatz aber trotzdem letztlich fehlerhaft, können diese Umgebungskarten auch sofort vereint werden, da ein hinreichend genauer Abgleich vorhanden war.
In einer Ausführungsform ist weiterhin vorgesehen, dass ordnungsgemäße Datensätze zu der vorhandenen Umgebungskarte hinzugefügt werden, wenn wenigstens ein Aktualisierungskriterium vorliegt. Dies kann eines der folgenden sein: Der nach dem ordnungsgemäßen Datensatz erhaltene Datensatz wurde als fehlerhaft bestimmt. Seit dem letzten Hinzufügen eines ordnungsgemäßen Datensatz zu der vorhandenen Umgebungskarte hat das mobile Gerät hat eine vergebene Strecke zurückgelegt: Seit dem letzten Hinzufügen eines ordnungsgemäßen Datensatz zu der vorhandenen Umgebungskarte ist eine vorgegebenen Zeitdauer vergangen. Seit dem letzten Hinzufügen eines ordnungsgemäßen Datensatz zu der vorhandenen Umgebungskarte wurde eine vorbestimmte Anzahl an ordnungsgemäßen Datensätzen erhalten. Damit wird also, insbesondere mit dem erst genannten Kriterium, erreicht, dass ein noch ordnungsgemäßer Datensatz zum Aktualisieren der Karte verwendet wird, bevor ggf. eine neue Karte erzeugt wird.
In einer Ausführungsform wird bestimmt, dass während eines Lokalisierungsvorgangs ein Fehler vorliegt, wenn zumindest eines der folgenden Fehlerkriterien erfüllt ist: Sensordaten eines Sensors des mobilen Gerätes werden als fehlerhaft bestimmt, z.B. weil der Sensor von anderen Sensoren abweichende Daten liefert oder gar keine Daten mehr. Ein Fehler kann auch angenommen werden, wenn basierend auf den Sensordaten bestimmt wird, dass das mobile Gerät angehoben worden ist. Dies kann z.B. basierend auf dem erwähnten Lift-Up-Sensor
erfolgen, oder auch unter Verwendung der Inertialmesseinheit. Ein Fehler kann auch angenommen werden, wenn basierend auf den Sensordaten bestimmt wird, dass das mobile Gerät durch eine externe Kraft, insbesondere horizontal, bewegt worden ist. Dies kann z.B. unter Verwendung der Inertialmesseinheit bestimmt werden, ggf. auch mit der Radodometrie. Ebenso kann ein Fehler erkannt werden, wenn der Unterschied zwischen der basierend auf den Geräte-Sensordaten bestimmten Position und/oder Orientierung des mobilen Geräts bei dem hinzufügenden ordnungsgemäßen Datensatz und einem zuletzt zur Umgebungskarte hinzugefügten ordnungsgemäßen Datensatz, nicht innerhalb einer vorgegebenen Toleranz liegt. Dies bedeutet, dass der erwähnte sog. Refinement-Match nicht erfolgreich war.
In einer Ausführungsform werden weiterhin Navigationsinformation für das mobile Gerät bestimmt, und zwar, basierend auf den bereitgestellten Datensätzen.
Ein erfindungsgemäßes System zur Datenverarbeitung oder eine Recheneinheit, z.B. ein Steuergerät oder eine Steuereinheit eines mobilen Geräts, oder ein Server oder anderer Computer, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren, z.B. in einer der beschriebenen Ausführungsformen, durchzuführen.
Die Erfindung betrifft auch ein mobiles Gerät, das ein solches System zur Datenverarbeitung aufweist, oder das eingerichtet ist, Navigationsinformationen, die wie vorstehend beschrieben bestimmt worden sind, zu erhalten. Das mobile Gerät weist bevorzugt auch ein Antriebssystem und eine Steuer- oder Regeleinheit zum Bewegen des mobilen Geräts gemäß den Navigationsinformationen auf.
Das mobile Gerät ist vorzugsweise auch eingerichtet, eine Bearbeitung durchzuführen, insbesondere kann es sich bei dem mobilen Gerät um eines wie vorstehend beschrieben handeln, also z.B. einen Reinigungsroboter oder einen Rasenmähroboter.
Auch die Implementierung eines erfindungsgemäßen Verfahrens in Form eines Computerprogramms oder Computerprogrammprodukts mit Programmcode zur Durchführung aller Verfahrensschritte ist vorteilhaft, da dies besonders geringe
Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Schließlich ist ein maschinenlesbares Speichermedium vorgesehen mit einem darauf gespeicherten Computerprogramm wie oben beschrieben. Geeignete Speichermedien bzw. Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash- Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich. Ein solcher Download kann dabei drahtgebunden bzw. kabelgebunden oder drahtlos (z.B. über ein WLAN- Netz, eine 3G-, 4G-, 5G- oder 6G-Verbindung, etc.) erfolgen.
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
Die Erfindung ist anhand eines Ausführungsbeispiels in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.
Kurze Beschreibung der Zeichnungen
Figur 1 zeigt schematisch ein mobiles Gerät in einer in einer Umgebung zur Erläuterung der Erfindung.
Figur 2 zeigt schematisch einen Ablauf eines Verfahrens zur Erläuterung der Erfindung.
Figur 3 zeigt schematisch einen weiteren Ablauf eines Verfahrens zur Erläuterung der Erfindung.
Figur 4 zeigt schematisch einen weiteren Ablauf eines Verfahrens zur Erläuterung der Erfindung.
Figur 5 zeigt schematisch einen weiteren Ablauf eines Verfahrens zur Erläuterung der Erfindung.
Ausführungsform(en) der Erfindung
In Figur 1 ist schematisch und beispielhaft ein mobiles Gerät 100 in einer Umgebung 120, insbesondere einem Arbeitsbereich, zur Erläuterung der Erfindung dargestellt. Bei dem mobilen Gerät 100 handelt es sich beispielhaft um einen Staubsaugerroboter mit einer Steuer- oder Regeleinheit 102 und einer Antriebseinheit 104 (mit Rädern) zum Bewegen des Staubsaugerroboters 100, z.B. entlang eines Bewegungspfads 130. Weiterhin weist der Staubsaugerroboter 100 beispielhaft einen als Lidar-Sensor ausgebildeten Sensor 106 mit einem Erfassungsbereich auf. Zur besseren Veranschaulichung ist der Erfassungsbereich hier relativ klein gewählt; in der Praxis kann der Erfassungsbereich aber auch bis zu 360° betragen (z.B. aber zumindest mindestens 180° oder mindestens 270°). Mittels des Sensors 106 kann die Umgebung 120 erfasst werden, d.h. es können damit Umgebungs-Sensordaten oder allgemein Umgebungsinformationen erzeugt werden.
Weiterhin weist der Staubsaugerroboter 100 beispielhaft einen als Inertialmess- einheit ausgebildeten Sensor 107 und einen als Radodometrie ausgebildeten Sensor 108 auf. Die Radodometrie kann insbesondere auf die zwei Räder der Antriebseinheit 104 aufgeteilt sein, was hier der Einfachheit halber jedoch nicht gezeigt ist. Mittels der Sensoren 107 und 108 können Informationen über eine Position und/oder Bewegung des Staubsaugerroboters 100 erfasst werden, d.h. es können damit Geräte-Sensordaten oder allgemein Geräte-Informationen erzeugt werden.
Weiterhin weist der Staubsaugerroboter 100 eine Recheneinheit 103, z.B. ein Steuergerät, auf, mittels dessen z.B. über eine angedeutete Funkverbindung Daten mit einem übergeordneten System 110 ausgetauscht werden können. In dem System 110 können z.B. Bewegungspfade (oder allgemein Navigationsinformationen) bestimmt werden, die dann auf das System 103 im Staubsaugerroboter 100 übermittelt werden, denen dieser dann folgen soll. Ebenso kann aber
vorgesehen sein, dass ein Bewegungspfad (oder allgemein Navigationsinformationen) im System 103 selbst bestimmt wird oder anderweitig dort erhalt wird. Anstelle eines Bewegungspfads oder der Navigationsinformationen kann das System 103 aber z.B. auch Steuerinformationen erhalten, die anhand eines Bewegungspfads oder der Navigationsinformationen bestimmt worden sind, und gemäß welcher die Steuer- oder Regeleinheit 102 über die Antriebseinheit 104 den Staubsaugerroboter 100 bewegen kann, um einem Bewegungspfad zu folgen. Der Bewegungspfad 130 ist hier nur beispielhaft angedeutet.
Der Staubsaugerroboter 100 soll sich z.B. selbständig in der Umgebung 120 bewegen bzw. dort navigieren und dabei z.B. einen Boden reinigen. Weiterhin sind in der Umgebung beispielhaft mehrere verschiedene Objekte oder Hindernisse dargestellt, nämlich eine Wand 140 und ein Schrank 142.
Wenngleich hier und in folgenden die Erfindung insbesondere am Beispiel des Staubsaugerroboters erläutert wird, gilt dies ebenso für andere mobile Geräte wie z.B. Rasenmähroboter oder andere selbstfahrende Fahrzeuge. Auch können anstelle des Lidar-Sensors z.B. eine Kamera oder ein Radar-Sensor vorgesehen sein. Weiterhin können der Staubsaugerroboter bzw. allgemein das mobile Gerät auch weitere Sensoren wie z.B. den schon erwähnten Lift-Up-Sensor aufweisen.
In Figur 2 ist schematisch ein Ablauf eines Verfahrens zur Erläuterung verschiedener Ausführungsformen zur Erläuterung dargestellt. Das Verfahren dient allgemein zur Navigation eines mobilen Geräts wie z.B. des Staubsaugerroboters gemäß Figur 1 , was auch eine Bestimmung von Position und Orientierung des mobilen Geräts sowie dessen Lokalisierung umfassen kann. Ebenso kann hierbei eine Fehlerbehandlung vorgenommen werden. Von dem nachfolgend beschriebenen Verfahren sind dabei verschiedene individuelle Aspekte bzw. Ausführungsformen umfasst, die auch individuell verwendet werden können.
In einem Schritt 200 werden zunächst Geräte- und Umgebungsinformationen bereitgestellt. Diese können insbesondere Umgebungssensordaten 201 von z.B. dem Lidar-Sensor umfassen, sowie Gerätesensordaten 202 von der Inertialmes- seinheit und Gerätesensordaten 203 von der Radodometrie. Diese können
weiterhin Geräteinformationen 204 wie z.B. eine Soll-Geschwindigkeit des Staubsaugerroboters umfassen. Ebenso können Daten oder Informationen 205 von z.B. dem Lift-Up-Sensor bereitgestellt werden (ggf. auch als Teil der Geräteinformationen). Allgemeine können im Schritt 200 alle relevanten Informationen und Sensordaten bereitgestellt werden.
Hieran ist zu erkennen, dass Geräteinformationen von Quellen verschiedener Art stammen, im gezeigten Beispiel nämlich von der Inertialmesseinheit, von der Ra- dodometrie sowie eine Soll-Geschwindigkeit.
Beim Bereitstellen dieser Informationen, ggf. auch dem hierbei nötigen Sammeln von Sensordaten und/oder sonstigen Informationen, kann auch geprüft werden, ob ggf. ein Fehler F vorliegt, also z.B. ein Sensor keine Daten liefert.
Basierend auf diesen Geräteinformationen bzw. den entsprechenden Daten werden, in einem Schritt 212, die Position und Orientierung des mobilen Geräts für die Lokalisierung des mobilen Geräts bestimmt. Die Position und Orientierung 213 (nachfolgend auch als Pose bezeichnet) lassen sich z.B. relativ zu einer zuletzt bestimmten Pose bestimmen.
Dabei sind z.B. mehreren Teilaspekten der Pose jeweils ein Satz von Quellen, aus den Quellen verschiedener Art, zugeordnet. Ein Teilaspekt 213.1 umfasst z.B. eine Position in horizontaler Bewegungsrichtung, dem der Satz 214.1 an Quellen mit folgender, vorgegebenen Hierarchie zugeordnet ist: die Radodomet- rie, die Soll-Geschwindigkeit, ein Modell konstanter Geschwindigkeit, und ein Modell konstanter Position.
Ein Teilaspekt 213.2 umfasst z.B. einen Gierwinkel, dem der Satz 214.2 an Quellen mit folgender, vorgegebenen Hierarchie zugeordnet ist: die Inertialmesseinheit, die Radodometrie, die Soll-Geschwindigkeit, das Modell konstanter Geschwindigkeit, und das Modell konstanter Position.
Ein Teilaspekt 213.3 umfasst z.B. einen Nick- und/oder einen Rollwinkel, dem der Satz 214.3 an Quellen mit folgender, vorgegebenen Hierarchie zugeordnet
ist: die Inertialmesseinheit, eine konstante Geschwindigkeit, und eine konstante Position.
Vor dem Schritt 212 wird jedoch, in einem Schritt 210, geprüft, ob die Quellen verschiedener Art für den jeweiligen Satz von Quellen verfügbar sind. Eine Quelle ist z.B. dann nicht verfügbar, wenn für zumindest eine vorgegebene Zeitdauer keine Daten von der Quelle erhalten werden oder worden sind, und/oder wenn ein Fehler erkannt wird, für den vorgegeben ist, dass die Quelle nicht verfügbar sein soll; letzteres kann z.B. umfassen, dass der Lift-Up-Sensor anzeigt, dass das mobile Gerät angehoben ist, womit die Radodometrie als nicht verfügbar gelten kann.
Ebenso kann z.B. der Fall auftreten, dass die von der Inertialmesseinheit von der Radodometrie erhaltenen, einander entsprechenden Daten um mehr als einen vorgegebenen Wert voneinander abweichen. Dann kann bestimmt werden, dass die Radodometrie bzw. die die Radodometrie umfassende Quelle nicht verfügbar ist. Generell kann, in einem Schritt 211 , für jede Quelle bestimmt werden, ob die Quelle verfügbar ist oder nicht.
Auch bei den Schritten 210, 211 , 212 kann geprüft werden, ob ggf. ein Fehler F vorliegt, also z.B. ein Sensor keine Daten liefert. Auch der Fall, dass ein Sensor oder eine andere Quelle als nicht verfügbar bestimmt wird, kann als Fehler angesehen werden.
In dem Schritt 212 werden die Teilaspekte individuell bestimmt, und zwar jeweils basierend auf derjenigen Quelle, die im jeweiligen Satz die höchste Priorität hat, womit insgesamt dann eine Position und Orientierung (Pose) erhalten werden. Es sei erwähnt, dass hier nicht notwendigerweise sechs verschiedene Freiheitsgrade bestimmt werden müssen, so kann, je nach Situation, z.B. eine vertikale Position nicht nötig sein. Basierend auf der Position und Orientierung des mobilen Geräts können dann im weiteren Verlauf Navigationsinformation für das mobile Gerät bestimmt werden.
Es sei erwähnt, dass z.B. nicht nur Position und Orientierung getrennt behandelt werden können, sondern es kann auch zwischen dem Gierwinkel (der mit Hilfe von Radodometrie und Sollgeschwindigkeit bestimmt werden kann, aber meist nur relativ zur Startposition gemessen werden kann) und den Roll-/Neigungswin- keln (die z.B. nur mit der Inertialmesseinheit gemessen werden können, aber in einem absoluten Koordinatensystem in Bezug auf den Schwerkraftvektor gemessen werden) unterschieden werden.
Als Ausweichlösung kann, wie erwähnt, z.B. das Modell der konstanten Geschwindigkeit oder das Modell der konstanten Position verwendet werden, bei dem davon ausgegangen wird, dass sich das mobile Gerät mit konstanter Geschwindigkeit bewegt und mit einer konstanten Winkelrate dreht bzw. sich nicht bewegt und überhaupt nicht dreht. Die konstante Geschwindigkeit kann beim ersten Zeitschrift z.B. nicht verfügbar sein, da noch keine Geschwindigkeit geschätzt werden kann. Außerdem sollte die Ausgabe des Modells der konstanten Geschwindigkeit mit der vom jeweiligen mobilen Gerät erreichbaren Höchstgeschwindigkeit verglichen und verworfen werden, wenn diese Geschwindigkeit deutlich überschritten wird, da dies auf eine falsche Geschwindigkeitsschätzung schließen lässt. Das Modell der konstanten Position steht hingegen immer als letzter Ausweg zur Verfügung.
Zur Berechnung der Pose bzw. der Trajektorie (Pose relativ zur letzten Pose) können der Start- und Endzeitpunkt Zeitstempel des interessierenden Zeitintervalls sowie alle Zeitstempel innerhalb des Intervalls, die mit einer Sensormessung verbunden ist, berücksichtigt werden. Dabei muss nicht davon ausgegangen werden, dass alle Sensoren die gleiche Abtastrate haben oder dass ihre Messungen synchron durchgeführt werden. Daher können die Daten aller Sensoren für alle Zeitstempel basierend auf benachbarten Messungen, z.B. durch lineare oder Spline-basierte Interpolation, interpoliert werden. Auf diese Weise kann eine Trajektorie mit hoher zeitlicher Auflösung erhalten werden.
Falls ein Lidar-Sensor zum Erfassen der Umgebungssensordaten verwendet wird, können diese Umgebungssensordaten (bzw. der Lidar-Scan) zunächst vorverarbeitet werden. Eines der Probleme mit rotierenden Lidar-Sensoren kann
sein, dass die Punkte eines Lidar-Scans nicht alle zur gleichen Zeit aufgenommen werden, was zu einer Verzerrung des Scans führt. Daher kann die Trajekto- rie aus dem vorgehenden Schritt verwendet werden, um die Position aller Scanpunkte so zu berechnen, als wären sie zum gleichen Zeitpunkt aufgenommen worden, z.B. am Anfang oder am Ende des Scanintervalls (entzerrt).
Wenn die gelieferte Trajektorie nicht für die entzerrte Berechnung verwendet werden kann (z.B. weil ein Fallback zu einer konstanten Position erfolgte), kann stattdessen z.B. ein modifizierter Scan Matcher verwendet werden, der während des Scan-Matchings eine Entzerrung durchführt.
Zusätzlich zum Schritt der entzerrten Darstellung können auch bereits dynamische Objekte in der Messung bzw. Verarbeitung der Umgebungssensordaten in dieser Stufe erkannt werden. Wenn ein Lidar-Sensor verwendet wird, kann ein Algorithmus zur Erkennung von Veränderungen eingesetzt werden. Zur Unterscheidung zwischen statischen und dynamischen Objekte, kann die aktuelle Messung mit früheren Messung(en) oder einer lokalen Karte (der Umgebungskarte) verglichen werden. Durch das Entfernen dynamischer Objekte wie Tiere, Menschen, sich bewegende Türen usw. können ihre Auswirkungen auf den Tracking-Algorithmus eliminiert oder zumindest reduziert werden. Wenn die Pose aus dem vorangegangen Schritt hierfür aufgrund der zuvor erkannten Probleme nicht ausreichend genau ist, kann Erkennung dynamischer Objekte weggelassen werden, um zu vermeiden, dass statische Teile der Messung fälschlicherweise entfernt werden.
Wenn ein zweidimensionaler Umgebungs-Sensor wie ein 2D-Lidar verwendet wird, kann es auch von Vorteil sein, eine Nivellierung durchzuführen. Bei der Nivellierung können der Roll-/Neigungswinkel des mobilen Geräts verwendet werden, um die Messung (z.B. die Punktwolke) so zu drehen, dass sie parallel zu einem globalen, an der Schwerkraft ausgerichteten Koordinatensystem ist. Dies ermöglicht die Verwendung von 2D-Matching-Algorithmen, auch wenn das mobile Gerät geneigt ist, z.B. aufgrund von Bodenunebenheiten. Außerdem kann es auch von Vorteil sein, die beobachteten Punkte nach ihrer Höhe zu filtern. In 2D- SLAM-Systemen kann die Beobachtung des Bodens oder der Decke
problematisch sein, da dies zu instabilen Messungen führt, die sich je nach Winkel des Sensors bewegen und daher nicht im Matching-Algorithmus verwendet werden sollen. Um solche Probleme zu vermeiden, können Punkte gefiltert werden, die auf oder unterhalb des Bodens liegen, anhand ihrer Höhe nach der Nivellierung. Es ist es möglich, noch restriktiver vorzugehen und nur Punkte zuzulassen, die in einem vertikalen Bereich von einigen Zentimetern um die Montagehöhe des Sensors liegen. Dies vermeidet, versehentlich Strukturen zu erfassen, die sich auf einer anderen Höhe befinden und die normalerweise für den Sensor nicht sichtbar sind.
Nachfolgend soll, basierend auf der bestimmten Position und Orientierung 213 sowie den Umgebungssensordaten 201 , ein Datensatz bestimmt werden, der für die weitere Lokalisierung und/oder Navigation des mobilen Geräts, insbesondere ggf. auch zur Erweiterung einer Umgebungskarte, verwendet wird. Hierzu sollen, in einem Schritt 220, die Position und Orientierung 213 als eine vorläufige Position und Orientierung 213‘, und die Umgebungssensordaten 201 als ein aktueller Datensatz 20T bereitgestellt werden.
In einem Schritt 221 erfolgt ein erstes Prüfen, umfassend einen ersten Abgleich, ob der aktuelle Datensatz 201 ‘ mit der vorläufigen Position und Orientierung 213‘ (d.h., wenn die Umgebungssensordaten mit der vorläufigen Pose verknüpft sind) gemäß wenigstens einem ersten Übereinstimmungskriterium mit einem oder mehreren vorher erzeugten Datensätzen oder einer vorhandenen Umgebungskarte, z.B. einem im vorangegangenen Lokalisierungsvorgang bereitgestellten Datensatz, in Übereinstimmung bringbar ist. Unter einem Lokalisierungsvorgang ist dabei ein Vorgang zu verstehen, in dem ein Datensatz mit Pose bestimmt wird, der dann für die weitere Verarbeitung verwendet wird, z.B. auch zu einer Umgebungskarte hinzugefügt wird. Es wird dabei ein Prüfergebnis 225 erhalten.
Bei dem ersten Prüfen bzw. ersten Abgleich handelt es sich z.B. um ein Optimierungsverfahren, bei dem, ausgehend von dem aktuellen Datensatz mit der vorläufigen Pose versucht wird, den aktuellen Datensatz mit dem erwähnten vorhergehenden Datensatz in Übereinstimmung zu bringen. Hierbei kann z.B. eine
angepasste Pose 213“ erhalten werden. Hierbei handelt es sich z.B. um einen sog. Scan-Match.
Nachfolgend erfolgt, in einem Schritt 222, ein zweites Prüfen, und zwar unter Berücksichtigung des Prüfergebnisses 225. Dabei wird ein zweiter Abgleich, ob der aktuelle Datensatz 201 ‘ gemäß wenigstens einem zweiten Übereinstimmungskriterium mit einem oder mehreren vorher erzeugten Datensätzen oder der vorhandenen Umgebungskarte, vorzugsweise dem im vorangegangenen Lokalisierungsvorgang bereitgestellten Datensatz, in Übereinstimmung bringbar ist.
Bei dem zweiten Abgleich werden nunmehr jedoch einer oder mehrere Teile der Geräte-Information jeweils mit einer von dem Prüfergebnis 225 abhängigen Gewichtung 226 berücksichtigt. Alternativ oder zusätzlich wird, in Abhängigkeit von dem Prüfergebnis 225, der aktuelle Datensatz 20T mit der vorläufigen Position und Orientierung (Pose) 213‘ oder mit der beim ersten Abgleich erhaltenen Position und Orientierung 213“ verwendet. Beispielhaft sollen im Rahmen des Beispiels vier mögliche Prüfergebnisse 225.1 , 225.2, 225.3, 225.4 betrachtet werden, die nachfolgend noch näher erläutert werden sollen.
Bei dem zweiten Prüfen bzw. zweiten Abgleich handelt es sich z.B. ebenfalls um ein Optimierungsverfahren, bei dem, ausgehend von dem aktuellen Datensatz mit der vorläufigen oder im ersten Abgleich erhaltenen Pose versucht wird, den aktuellen Datensatz mit dem erwähnten vorhergehenden Datensatz in Übereinstimmung zu bringen. Hierbei kann dann z.B. eine nochmals angepasste Pose 213‘“ erhalten werden. Hierbei handelt es sich z.B. ebenfalls um einen sog. Scan-Match, insbesondere also um einen zweiten Scan-Match
Wenn der zweite Abgleich positiv ist, wird in einem Schritt 230 der aktuelle Datensatz 20T mit der Pose 213‘“ (die im zweiten Abgleich erhalten worden ist) zur Verwendung für die Lokalisierung und/oder Navigation des mobilen Geräts bereitgestellt.
Auch im Rahmen dieser zwei Prüf- bzw. Abgleichvorgänge kann ebenfalls ein Fehler F auftreten (hier beispielhaft am Schritt 200 gekennzeichnet).
In einem Schritt 340 können dann z.B. Navigationsinformation für das mobile Gerät bestimmt werden, um das mobile Gerät navigieren bzw. bewegen zu können.
Um die Bewegung des mobilen Geräts zu verfolgen, können die erwähnten Scan-Matches verwendet werden. Hierbei kann ein Matching-Algorithmus, z.B. ein Scan-Matching-Algorithmus wie Iterative Closest Point (ICP), Normal Distributions Transform (NDT), Correlative Scan-Matching oder ein visueller Feature- Matching-Algorithmus verwendet werden. Diese Matching-Algorithmen arbeiten unter Berücksichtigung einer Kostenfunktion, die die beiden abzugleichenden Messungen (Datensätze) in Abhängigkeit von der relativen Position zwischen den Messungen vergleicht. Je nach Anwendung können diese Messungen Punktwolken (bei einem Lidar-Sensor), Kamerabilder, Radarmessungen usw. sein.
Ein Optimierungsalgorithmus wird z.B. eingesetzt, um die Position zu bestimmen, die die Kostenfunktion minimiert. Bei der Kostenfunktion kann es sich um eine negative Log-Likelihood-Funktion handeln, wenn ein probabilistisches Modell verwendet wird, oder um eine beliebige andere Funktion, die ein Maß für die Qualität der Ausrichtung zwischen zwei Messungen darstellt. In der Regel beginnen diese Optimierungsalgorithmen mit einer ersten Schätzung, die dann im Laufe der Zeit verfeinert wird, z.B. mit Hilfe einer Newton-Iteration. Da die Kostenfunktion nicht konvex sein kann, hängt die resultierende Pose nach der Konvergenz von einer guten Wahl der Ausgangspose ab. Zu diesem Zweck könnte grundsätzlich die Pose verwendet werden, die basierend auf den Geräte-Sensordaten bestimmt wird (vorläufige Pose), um die Wahrscheinlichkeit zu erhöhen, dass der Algorithmus zum globalen Optimum konvergiert und nicht zu einem lokalen Optimum, das weit vom wahren Wert entfernt ist.
Um Vorwissen über die relative Transformation (also zwischen zwei Posen) einzuführen, ist es möglich, die Kostenfunktion zu erweitern, indem ein Term hinzugefügt wird, der die Abweichung von der vorherigen Pose beschreibt. Durch die Einführung eines zusätzlichen Terms ändert sich die Form der Kostenfunktion und ihr Minimum wird in Richtung der vorherigen Position verschoben, da
Abweichungen von der vorherigen Position mit höheren Kosten bestraft werden, selbst wenn die Übereinstimmung selbst besser ist. Auf diese Weise können also Gewichte beim einem Scan-Match berücksichtigt werden, um z.B. Geräte-Sens- ordaten mehr oder weniger stark einfließen zu lassen.
Das Hauptproblem bei einem solchen Ansatz ist die Wahl der Gewichtung des Terms für die Geräte-Sensordaten bzw. die damit bestimmte Pose. Ist die Gewichtung zu groß, hängt das Ergebnis nur von der Pose ab und lässt Informationen aus den Messungen (Umgebungssensordaten, z.B. vom Lidar-Sensor) außer Acht, ist die Gewichtung zu klein, wird die Pose ignoriert. Es hat sich nun gezeigt, dass eine gute Gewichtung der Pose von den jeweiligen Umständen abhängt und entsprechend angepasst werden kann. Wenn die Pose von sehr zuverlässigen Sensoren stammt, die derzeit nicht von Problemen betroffen sind, sollte ihre Gewichtung groß gewählt werden. Wenn die Pose hingegen von ungenauen Sensoren stammt oder diese Sensoren derzeit von Problemen betroffen sind, sollte die Gewichtung deutlich niedriger gewählt werden.
Um eine gute Wahl der Parameter für den Matching-Algorithmus zu ermitteln, wird also vorgeschlagen, zwei Scan-Matches durchzuführen. Der erste Abgleich dient dazu, einen Einblick in die aktuelle Situation zu gewinnen, und seine Ergebnisse werden zur Anpassung der Parameter des zweiten Abgleichs verwendet. Anschließend wird der zweite Abgleich mit den angepassten Parametern durchgeführt, um das tatsächliche Ergebnis zu erhalten. Ein besonders relevanter Fall, der auf der Grundlage des ersten Abgleichs erkannt werden kann, ist der Fall einer Umgebung ohne Merkmale, wie z.B. ein Korridor, in dem der unterbestimmt ist, d.h. nicht alle Freiheitsgrade können zuverlässig geschätzt werden. Im Falle eines Lidar-Sensors und eines Korridors ist es zum Beispiel einfach, den Abstand zu den Wänden des Korridors und die Orientierung zu schätzen, aber es ist sehr schwierig oder unmöglich, die Bewegung entlang der Richtung des Korridors zu schätzen.
Um solche Fälle zu erkennen, können z.B. die Eigenwerte der Untermatrix betrachtet werden, die sich auf die Position der Hesse-Matrix des Optimierungsergebnisses aus dem ersten Abgleich bezieht. Es wird bestimmt, ob die
Unsicherheit in einer Richtung viel größer ist als in der anderen, indem das Verhältnis der beiden Eigenwerte mit einem Schwellenwert verglichen wird. Mit dieser Methode werden nicht nur spezifische Korridorfälle erkannt, sondern auch Fälle, in denen eine andere Unterbestimmung besteht. Dieser Ansatz erkennt zum Beispiel auch den Fall, dass das mobile Gerät auf der einen Seite nahe an einer Wand steht und auf der anderen Seite ein großer leerer Raum ist. Alternativ könnte auch ein Detektor in Betracht gezogen werden, der explizit die Form des Korridors in den Sensordaten erkennt.
Ein weiteres Problem, das anhand des ersten Abgleichs erkannt werden kann, ist, dass die Bestimmung der Pose, also die Geräte-Sensordaten, unzuverlässig sind, z.B. aufgrund von Radschlupf, der vom Radschlupf-Gier-Detektor (z.B. über Radodometrie) nicht erkannt wurde, eines Rückfalls auf konstante Geschwindig- keit/Position oder aus anderen Gründen. Zu diesem Zweck wird die basierend auf den Geräte-Sensordaten bestimmte Pose mit dem Ergebnis des ersten Abgleichs verglichen und geprüft, ob die beiden Posen um mehr als einen vordefinierten Schwellenwert voneinander abweichen. Wenn zuvor ein Korridor erkannt wurde, kann davon ausgegangen werden, dass dies auf das Problem des unzureichenden Abgleichs zurückzuführen ist, und es kann angenommen werden, dass die Pose mit größerer Wahrscheinlichkeit korrekt ist. Andernfalls kann davon ausgegangen werden, dass ein guter Abgleich stattgefunden hat und somit die Geräte-Sensordaten eher die Ursache für das Problem sind. Im letzteren Fall können die Geräten-Sensordaten als unzuverlässig angesehen werden.
Dies soll nachfolgend anhand von Figur 3 nochmals näher erläutert werden, d.h. wann welches Prüfergebnis verwendet werden kann. Hierzu ist zunächst der Schritt 220 aus Figur 2 wiederholt, bei dem der aktuelle Datensatz 201 ‘ mit der vorläufigen Pose 213‘ bereitgestellt.
Es folgt dann das erste Prüfen 221 bzw. der erste Abgleich. Hierbei kann z.B. ein Standard-Gewicht verwendet werden. In Schritt 301 wird geprüft, ob der erste Abgleich positiv ist. Das Prüfergebnis soll z.B. das erste Prüfergebnis 225.1 umfassen, wenn der erste Abgleich negativ (N) ist. Dann wird als Gewichtung die
erste Gewichtung verwendet, wonach z.B. zumindest ein Teil der Geräte-Infor- mationen höher gewichtet wird als bei dem ersten Abgleich.
Wenn der erste Abgleich positiv (Y), kann z.B. in Schritt 302 geprüft werden, ob der erste Abgleich unterbestimmt, also ob z.B. ein Korridor erkannt wurde. Wenn dem so ist (Y), soll das Prüfergebnis z.B. das zweite Prüfergebnis 225.2 umfassen. Dann wird als Gewichtung die zweite Gewichtung verwendet, wonach z.B. zumindest ein Teil der Geräte-Informationen gewichtet wird als bei dem ersten Abgleich. Beispielsweise können die erste und die zweite Gewichtung auch identisch sein.
Wenn in Schritt 302 bestimmt wird, dass erste Abgleich nicht unterbestimmt ist (N), kann in Schritt 303 geprüft werden, ob die Geräte-Sensordaten als unzuverlässig bestimmt worden sind. Wenn dem so ist (Y), kann das Prüfergebnis z.B. das dritte Prüfergebnis 225.3 umfassen. Dann wird als Gewichtung die dritte Gewichtung verwendet, wonach z.B. zumindest ein Teil der Geräte-Informationen geringer gewichtet wird als im ersten Abgleich. Die Geräte-Sensordaten werden z.B. dann als unzuverlässig bestimmt, wenn die vorläufigen Position und Orientierung mit einer im Rahmen des ersten Abgleichs erhaltenen Position und Orientierung nicht innerhalb vorgegebener Toleranzen übereinstimmen.
Wenn dem gemäß Schritt 303 nicht so ist (N), soll das Prüfergebnis z.B. das vierte Prüfergebnis 225.4 umfassen. Dabei kann als Gewichtung z.B. die im ersten Abgleich verwendete Gewichtung verwendet werden, also die Standard-Gewichtung.
Es folgt dann das zweite Prüfen, Schritt 222, mit dem zweiten Abgleich, wobei je nach Situation das erste, zweite, dritte oder vierte Gewichtung verwendet wird.
Der im Schritt 230 bereitgestellte Datensatz 201 mit der Pose 213‘“ kann dann zu einer vorhandenen Umgebungskarte 235 hinzugefügt werden, Schritt 232); in diesem Fall kann der Datensatz 201 mit der Pose 213‘“ auch als sog. Keyframe bezeichnet werden. Dies kann z.B. nur dann erfolgen, wenn ein Aktualisierungskriterium 231 vorliegt. Das Aktualisierungskriterium kann z.B. umfassen, dass
eine gewisse Zeitdauer kein Datensatz mehr zur Umgebungskarte hinzugefügt worden ist, oder dass sich das mobile Gerät seit dem letzten Hinzufügen eine bestimmte Strecke bewegt hat.
Für den Fall, dass im vorbeschriebenen Ablauf ein Fehler F aufgetreten ist, kann es sein, dass der dabei erhaltene Datensatz fehlerbehaftet ist. In diesem Fall kann dies als Aktualisierungskriterium 231 verwendet werden, um den im vorangegangenen Ablauf (Lokalisierungsvorgang) erhaltenen Datensatz, bei dem dann insbesondere kein Fehler aufgetreten ist, zur Umgebungskarte 235 hinzuzufügen.
Andere Aktualisierungskriterien, bei denen der im vorangegangenen Ablauf (Lokalisierungsvorgang) erhaltenen Datensatz zur Umgebungskarte 235 hinzugefügt wird, können auch sein, dass der zweite Abgleich negativ ist, insbesondere wenn zudem der zweite Abgleich im vorangegangenen Lokalisierungsvorgang positiv war; dass die Geräte-Sensordaten als unzuverlässig bestimmt worden sind, insbesondere wenn zudem die Geräte-Sensordaten im vorangegangenen Lokalisierungsvorgang nicht als unzuverlässig bestimmt worden waren; wenn der erste Abgleich unterbestimmt ist, insbesondere wenn der erste Abgleich im vorangegangenen Lokalisierungsvorgang nicht unterbestimmt war; dass das mobile Gerät während des vorangegangenen Lokalisierungsvorgang auf einen Untergrund abgestellt worden ist; oder dass die Umgebungs-Sensordaten zumindest zeitweise während des Lokalisierungsvorgangs nicht erhalten oder bereitgestellt worden sind.
Das Hinzufügen des im vorangegangenen Lokalisierungsvorgang bereitgestellten Datensatzes zu der vorhandenen Umgebungskarte - oder allgemein eines Datensatzes zur Umgebungskarte - kann insbesondere eine spezielle Prüfung umfassen. Dabei wird geprüft, ob ein Unterschied zwischen einer basierend auf den Geräte-Informationen bestimmten Position und Orientierung (Pose) des mobilen Geräts bei dem hinzufügenden Datensatz und der Position und Orientierung (Pose) des mobilen Geräts bei einem zuletzt zur Umgebungskarte hinzugefügten Datensatz innerhalb einer vorgegebenen Toleranz liegt.
Dies ist in Figur 4 veranschaulicht. Hierzu sind beispielhaft mehrere Lokalisierungsvorgänge n bis n+4 gezeigt, die jeweils auf Umgebungssensordaten und dabei erhaltenen Datensätzen beruhen. Zudem kann anhand der zugehörigen Geräte-Informationen bzw. Geräte-Sensordaten, wie vorstehend erläutert, jeweils eine Pose bestimmt werden. Dies erfolgt typischerweise immer in Bezug auf die zuletzt ermittelte Pose. So kann im Lokalisierungsvorgang n z.B. gemäß dem vorstehend erwähnten Ablauf mit zwei Scan-Matches eine Pose bestimmt worden sein. Für den Lokalisierungsvorgang n+1 wird dann basierend auf den aktuellen Geräte-Informationen eine Pose relativ zur Pose des Lokalisierungsvorgangs n bestimmt. Dies ist mit den Pfeilen 401 (gestrichelt) angedeutet. Mit der so ermittelten Pose kann der Lokalisierungsvorgang n+1 mit z.B. den zwei Scan- Matches durchgeführt werden. Der Scan-Match selbst wird jedoch, wie vorstehend erwähnt, mit dem aktuellen Datensatz in Bezug auf den zuletzt zur Umgebungskarte hinzugefügten Datensatz durchgeführt. Dies ist mit den Pfeilen 402 (durchgezogene Linie) angedeutet.
Wenn der Datensatz des Lokalisierungsvorgangs n z.B. der zuletzt hinzugefügte Datensatz ist, wird der Scan-Match auch für die Lokalisierungsvorgänge n+1 , n+2, n+3 relativ zum Datensatz des Lokalisierungsvorgangs n durchgeführt, die Pose wird aber immer relativ zum vorangegangen Lokalisierungsvorgang bestimmt, also z.B. beim Lokalisierungsvorgang n+3 relativ zum Lokalisierungsvorgang n+2.
Auf diese Weise können sich kleine Abweichungen in der Pose aufsummieren. Hierzu wird nun also vorgeschlagen, dass dann, wenn ein Datensatz zur Umgebungskarte hinzugefügt werden soll, die Pose auch relativ zur Pose des zuletzt hinzugefügten Datensatzes zu bestimmen. Wenn also z.B. der Datensatz des Lokalisierungsvorgangs n+4 hinzugefügt werden soll, wird auch die Pose basierend auf den Geräte-Informationen für den Lokalisierungsvorgang n+4 relativ zum Lokalisierungsvorgang n bestimmt. Wenn es hier eine zu große Abweichung gibt, kann dies als Fehler angesehen werden, sodass der aktuelle Datensatz des Lokalisierungsvorgangs n+4 z.B. nicht verwendet wird.
Wie bereits erwähnt, ist in Figur 2 beispielhaft ein Lokalisierungsvorgang beschrieben, der insbesondere das Bereitstellen der nötigen Daten in Schritt 200 bis hin zum Bereitstellen eines Datensatzes 20T in Schritt 230 umfasst, der ggf. der Umgebungskarte hinzugefügt. Wie ebenfalls beschrieben, kann in verschiedenen Schritten während des Lokalisierungsvorgangs geprüft werden, ob ggf. ein Fehler F vorliegt. Dies kann nicht nur für einen einzelnen Lokalisierungsvorgang erfolgen, sondern bei jedem Lokalisierungsvorgang.
Dies ist in Figur 5 für einen Lokalisierungsvorgang 506 stark vereinfacht erneut dargestellt. Dabei ist schematisch dargestellt, dass es mehrere der Lokalisierungsvorgänge gibt, die beispielhaft mit 501 , 502, 503 bezeichnet sind.
Dabei wird in Schritt 510 geprüft, ob ein Fehler F auftritt. Wenn nun ein Fehler F auftritt, wird, in Schritt 512, der Datensatz, bei dessen Lokalisierungsvorgang ein Fehler vorlag, als potentiell fehlerbehafteter Datensatz 513 bestimmt. Beispielsweise kann dies für den Datensatz beim Lokalisierungsvorgang 502 der Fall sein. Ein Datensatz, bei dessen Lokalisierungsvorgangs kein Fehler vorlag, wird, in Schritt 514, als ordnungsgemäße Datensatz 514. Beispielsweise kann dies für den Datensatz beim Lokalisierungsvorgang 501 sowie 503 der Fall sein.
Dabei können verschiedene Fehlerkriterien vorgesehen sein, bei deren Vorliegen angenommen oder bestimmt wird, dass bei einem Lokalisierungsvorgang ein Fehler vorliegt. So können z.B. Sensordaten eines Sensors des mobilen Gerätes als fehlerhaft bestimmt werden. Es kann, basierend auf den Sensordaten bestimmt werden, dass das mobile Gerät angehoben worden ist (vgl. hierzu den schon erwähnten Lift-Up-Sensor). Es kann basierend auf den Sensordaten bestimmt werden, dass das mobile Gerät durch eine externe Kraft, insbesondere horizontal, bewegt worden ist. Es kann der Unterschied zwischen der basierend auf den Geräte-Sensordaten bestimmten Position und/oder Orientierung des mobilen Geräts bei dem hinzufügenden ordnungsgemäßen Datensatz und einem zuletzt zur Umgebungskarte hinzugefügten ordnungsgemäßen Datensatz, nicht innerhalb einer vorgegebenen Toleranz liegen (wie in Bezug auf Figur 4 näher erläutert).
Wenn nach einem potentiell fehlerbehafteten Datensatz ein ordnungsgemäßer Datensatz erhalten wird, für den erwähnten Fall also beim Lokalisierungsvorgang 503 bzw. an dessen Ende, wird, Schritt 520, der potentiell fehlerbehaftete Datensatz geprüft, ob dieser weiterverwendet wird oder nicht. Auf diese Weise wird also zwar vermerkt, das ein Fehler auftritt oder aufgetreten ist, jedoch wird die weitere Behandlung des Fehlers an das Ende verschoben.
Das Prüfen des potentiell fehlerbehafteten Datensatzes in Schritt 520 umfasst z.B. ein Prüfen, ob der ordnungsgemäße Datensatz 515 (also derjenigen aus dem aktuellen Lokalisierungsvorgang 503) gemäß wenigstens einem ersten Übereinstimmungskriterium mit einem oder mehreren vor dem potentiell fehlerbehafteten Datensatz erhaltenen ordnungsgemäßen Datenätzen oder einer vorhandenen Umgebungskarte in Übereinstimmung bringbar ist, um ein erstes Prüfergebnis zu erhalten. Vorzugsweise wird hierbei gegen den Datensatz aus dem Lokalisierungsvorgang 501 geprüft, der dem Lokalisierungsvorgang 502 mit dem potentielle fehlerbehafteten Datensatz vorangegangen ist. Hier kann also z.B. ein Scan-Match durchgeführt werden.
Hierbei wird ein erstes Prüfergebnis 521 erhalten, das angibt, ob die beiden Datensätze in Übereinstimmung bringbar sind. Wenn das erste Prüfergebnis 521 negativ (N) ist, kann der potentiell fehlerbehaftete Datensatz 513 als (endgültig) fehlerbehafteter Datensatz bestimmt werden, Schritt 522.
Wenn das erste Prüfergebnis 521 positiv (Y) ist, kann geprüft werden, ob der potentiell fehlerhafte Datensatz gemäß wenigstens einem zweiten Übereinstimmungskriterium mit dem unmittelbar vor dem potentiell fehlerbehafteten Datensatz erhaltenen Datensatz übereinstimmt. Wenn dem so ist (Y), kann der potentiell fehlerbehafteten Datensatzes als ordnungsgemäßer Datensatz bestimmt werden, Schritt 524. Wenn dem hingegen nicht so ist (N), kann der potentiell fehlerbehaftete Datensätze als fehlerhafter Datensatz bestimmt werden, Schritt 525.
Für den Fall gemäß Schritt 524 kann der Datensatz also wie üblich weiterverwendet werden und z.B. wie vorstehend schon beschrieben (vgl. Figur 2, Schritt 232) zu der bestehenden Umgebungskarte hinzugefügt werden, hier mit Schritt 530
bezeichnet. Mit anderen Worten war hier also der Abgleich erfolgreich, und es gab allenfalls einen kleinen Fehler bei der Posenschätzung. Dies bedeutet, dass letztlich kein (nennenswerter) Fehler aufgetreten ist und die Fehlervermeidung während der inkrementellen Lokalisierung erfolgreich war. Es kann davon ausgegangen werden, dass die Posen-Schätzungen und die Daten, die potentiell fehlerhaften Datensatz zugeordnet sind, gültig sind
Für die Fälle gemäß Schritt 522 oder 525 hingegen kann vorgesehen sein, dass der dann fehlerhafte Datensatz nicht weiterverwendet wird, vielmehr kann eine neue Umgebungskarte erzeugt werden. Diese neue Umgebungskarte kann dann z.B. mit der vorhandenen Umgebungskarte vereint werden. Für den Fall gemäß Schritt 525, also dass das erste Prüfergebnis positiv war, kann davon ausgegangen werden, dass der Fehler relativ gering war, sodass diese Umgebungskarten auch sofort vereint werden können, da ein hinreichend genauer Abgleich vorhanden war. Der Abgleich war hier also auch erfolgreich, jedoch mit einem größeren Fehler bei der Posenschätzung: Während der inkrementellen Lokalisierung ist ein Fehler aufgetreten, aber der Abgleich zur Fehlererkennung war in der Lage, den letzten Datensatz mit der Umgebungskarte abzugleichen. Dies bedeutet, dass der Fehler bei der inkrementellen Lokalisierung höchstwahrscheinlich einen relativ kleinen Fehler verursacht hat.
Für den Fall gemäß Schritt 522, also dass das erste Prüfergebnis negativ war, kann diese Umgebungskarten später vereint werden, wenn z.B. mehr Informationen vorhanden sind, um zu prüfen, ob oder wie die diese Umgebungskarten auch vereint werden können. Hier ist also der Abgleich fehlgeschlagen. Während der inkrementellen Lokalisierung ist ein Fehler aufgetreten, und der Fehlererkennungsabgleich konnte die neuesten Daten nicht mit der Umgebungskarte abgleichen. Dies geschieht z.B., wenn der Fehler schwerwiegend ist oder wenn das mobile Gerät einen neuen Teil der Umgebung erkundet hat. Letzteres bedeutet, dass die Karte an der Stelle, an der sich das mobile Gerät befindet, keine ordnungsgemäßen Daten enthält.
Es kann dann ein Wiederherstellungsverfahren vorgesehen werden, das sicherstellt, dass der SLAM-Zustand nach einem Fehler wieder in einen gültigen
Zustand übergeht. Dazu können die folgenden Schritte durchgeführt werden. Problematische Datensätze aus dem vorherigen Lokalisierungsvorgang werden gelöscht, der letzte (ordnungsgemäße) Datensatz wird in eine neue Karte verschoben. Es ergeben sich zwei disjunkte Karten, die beide konsistent sind. Das SLAM-System meldet die Position des mobilen Systems in Bezug auf diese neue Karte. Dies bedeutet, dass andere Kartendaten (vorübergehend) nicht mehr verfügbar sind, wodurch sichergestellt wird, dass andere Module des Systems sich entsprechend verhalten. Optional kann vorgesehen sein, dass falls der Abgleich der Fehlererkennung erfolgreich war, die beiden Karten sofort zusammengeführt werden (vgl. Schritt 525) wobei die Posenschätzung aus dem Abgleich der Fehlererkennung verwendet wird. Der Vorteil einer expliziten Zusammenführung ist, dass sie rückgängig gemacht werden kann, wenn sie sich später als falsch erweist. Es wird eine neue Umgebungskarte erstellt, da nicht sicher ist, wie die genaue Trajektorie vom letzten ordnungsgemäßen Datensatz bis zum aktuellen Datensatz aussieht. Nach dem Wiederherstellungsverfahren können die beiden Karten erneut zusammengeführt werden.
Wie bereits vorstehend schon erwähnt, muss ein ordnungsgemäßer Datensatz nicht immer zu der vorhandenen Umgebungskarte hinzugefügt werden; vielmehr kann dies insbesondere auch nur dann erfolgen, wenn wenigstens ein Aktualisierungskriterium vorliegt. Dies kann z.B. umfassen, dass der nach dem ordnungsgemäßen Datensatz erhaltene Datensatz als fehlerhaft bestimmt wurde. Dann der zuletzt als ordnungsgemäß erhaltene Datensatz hinzugefügt werden. Dies kann auch umfassen, dass seit dem letzten Hinzufügen eines ordnungsgemäßen Datensatz zu der vorhandenen Umgebungskarte das mobile Gerät hat eine vergebene Strecke zurückgelegt hat, oder eine vorgegebene Zeitdauer vergangen ist, der eine vorbestimmte Anzahl an ordnungsgemäßen Datensätzen erhalten wurden.
Das vorgeschlagene Vorgehen ermöglicht damit verschiedene Neuerungen. Es ist z.B. ein ganzheitlicher Ansatz möglich, d.h. es können viele verschiedene Arten von Problemen bzw. Fehlern behandelt werden, die in verschiedenen Stadien des Gesamtalgorithmus auftauchen können und unterschiedliche
Sensoreinstellungen beinhalten (im Gegensatz zu spezialisierten Ansätzen, die nur ein einziges Problem behandeln können).
Die Probleme bzw. Fehler können weitergeleitet werden, in spätere Verarbeitungsstufen und dann dort berücksichtigt werden. Damit können verfrühte und suboptimale Entscheidungen vermieden werden, insbesondere in Fällen, in denen die richtige Reaktion auf ein Problem erst später klarer wird (im Gegensatz zu herkömmlichen Ansätzen, bei denen eine Verarbeitungsstufe nur entweder stillschweigend ein potenziell falsches Ergebnis ausgeben oder den Ablauf mit einem fatalen Fehler stoppen kann). Trotzdem kann auch z.B. vorgesehen sein, dass versucht wird, den regulären Lokalisierungsvorgang oder die Navigation trotz Problemen bzw. Fehlern fortzuführen
Zudem können globale Kartendaten genutzt werden. Die endgültige Entscheidung, ob die inkrementelle Lokalisierung (Lokalisierungsvorgang) fehlgeschlagen ist, basiert auf globalen Kartendaten (Umgebungskarte). Sie wird aufgeschoben, bis wieder unproblematische Daten (ordnungsgemäße Datensätze) für die inkrementelle Lokalisierung zur Verfügung stehen, und fehlerhafte Daten werden aus der Karte entfernt bzw. gar nicht erst eingebunden. Dieser Mechanismus ermöglicht die Fortführung von SLAM in Extremsituationen und ermöglicht risikoreichere Fehlervermeidungsschemata, bei denen übliche Ansätze mit einem schwerwiegenden Fehler abbrechen oder riskieren, die Umgebungskarte zu beschädigen.
Claims
1 . Verfahren zur Fehlerbehandlung bei einer Navigation eines mobilen Geräts (100), insbesondere eines sich zumindest teilweise automatisiert bewegenden Fahrzeugs oder Roboters, insbesondere eines Reinigungsroboters oder eines Rasenmähroboters, wobei sich das mobile Gerät in einer Umgebung, unter Verwendung einer auf SLAM basierenden Lokalisierung bewegt oder bewegen soll, umfassend: wiederholtes Durchführen von Lokalisierungsvorgängen (501 , 502, 503), wobei ein Lokalisierungsvorgang jeweils umfasst:
- Bereitstellen (200) von Geräte- und Umgebungsinformationen, die zumindest teilweise mittels Sensoren des mobilen Geräts von dem Gerät und/oder der Umgebung erfasst worden sind,
- Erzeugen eines Datensatzes (20T), basierend auf den Geräte- und Umgebungsinformationen, und
- Bereitstellen (230) des Datensatzes (201 ‘) zur Verwendung für die Lokalisierung und/oder Navigation des mobilen Geräts (100);
Prüfen (510), während der Lokalisierungsvorgänge, ob ein Fehler (F) vorliegt, und Bestimmen (512) eines Datensatzes, bei dessen Lokalisierungsvorgang (502) ein Fehler vorlag, als potentiell fehlerbehafteten Datensatz (513), und Bestimmen eines Datensatzes, bei dessen Lokalisierungsvorgang (501 , 503) kein Fehler vorlag, als ordnungsgemäßen Datensatz (514); und wenn nach einem potentiell fehlerbehafteten Datensatz ein ordnungsgemäßer Datensatz erhalten wird: Prüfen (520) des potentiell fehlerbehafteten Datensatzes, ob dieser weiterverwendet wird oder nicht.
2. Verfahren nach Anspruch 1 , wobei das Prüfen (520) des potentiell fehlerbehafteten Datensatzes umfasst: Prüfen, ob der ordnungsgemäße Datensatz gemäß wenigstens einem ersten Übereinstimmungskriterium mit einem oder
mehreren vor dem potentiell fehlerbehafteten Datensatz erhaltenen ordnungsgemäßen Datenätzen oder einer vorhandenen Umgebungskarte in Übereinstimmung bringbar ist, um ein erstes Prüfergebnis zu erhalten.
3. Verfahren nach Anspruch 2, wobei, wenn das erste Prüfergebnis (521) negativ ist: Bestimmen des potentiell fehlerbehafteten Datensatzes als fehlerbehafteten Datensatz.
4. Verfahren nach einem der Ansprüche 2 bis 5, wobei die Geräte- und Umgebungsinformationen Geräte-Informationen, insbesondere Geräte-Sensorda- ten, die mittels Sensoren des mobilen Geräts erfasst worden sind, umfassen, wobei die Geräte-Informationen Informationen über eine Position und/oder Bewegung des mobilen Geräts umfassen, wobei die Geräte- und Umgebungsinformationen Umgebungs-Sensordaten umfassen, die mittels Sensoren des mobilen Geräts von der Umgebung erfasst worden sind, weiterhin umfassend, wenn das erste Prüfergebnis (521) positiv ist: wenn der potentiell fehlerhafte Datensatz gemäß wenigstens einem zweiten Übereinstimmungskriterium mit dem unmittelbar vor dem potentiell fehlerbehafteten Datensatz erhaltenen Datensatz übereinstimmt: Bestimmen (524) des potentiell fehlerbehafteten Datensatzes als ordnungsgemäßen Datensatz.
5. Verfahren nach Anspruch 6, weiterhin umfassend, wenn der potentiell fehlerhafte Datensatz nicht gemäß dem wenigstens einen zweiten Übereinstimmungskriterium mit dem unmittelbar vor dem potentiell fehlerbehafteten Datensatz erhaltenen Datensatz übereinstimmt:
Bestimmen (525) des potentiell fehlerbehafteten Datensatzes als fehlerhaften Datensatz.
6. Verfahren nach Anspruch 3 oder 5, weiterhin umfassend:
Erzeugen (522, 525) einer neuen Umgebungskarte, basierend auf dem ordnungsgemäßen Datensatz, der nach dem als fehlerbehaftet bestimmten Datensatz erhalten worden ist.
7. Verfahren nach Anspruch 6, weiterhin umfassend:
Vereinigen der neuen Umgebungskarte mit der vorhandenen Umgebungskarte, wobei insbesondere der fehlerbehaftete Datensatz nicht verwendet wird.
8. Verfahren nach einem der vorstehenden Ansprüche, weiterhin umfassend:
Hinzufügen ordnungsgemäßer Datensätze zu der vorhandenen Umgebungskarte, wenn wenigstens ein Aktualisierungskriterium vorliegt, wobei das wenigstens eine Aktualisierungskriterium wenigstens eines der folgenden Aktualisierungskriterien umfasst: der nach dem ordnungsgemäßen Datensatz erhaltene Datensatz wurde als fehlerhaft bestimmt, seit dem letzten Hinzufügen eines ordnungsgemäßen Datensatz zu der vorhandenen Umgebungskarte hat das mobile Gerät hat eine vergebene Strecke zurückgelegt, seit dem letzten Hinzufügen eines ordnungsgemäßen Datensatz zu der vorhandenen Umgebungskarte ist eine vorgegebenen Zeitdauer vergangen, seit dem letzten Hinzufügen eines ordnungsgemäßen Datensatz zu der vorhandenen Umgebungskarte wurde eine vorbestimmte Anzahl an ordnungsgemäßen Datensätzen erhalten.
9. Verfahren nach einem der vorstehenden Ansprüche, wobei bestimmt wird, dass während eines Lokalisierungsvorgangs ein Fehler (F) vorliegt, wenn zumindest eines der folgenden Fehlerkriterien erfüllt ist:
Sensordaten eines Sensors des mobilen Gerätes werden als fehlerhaft bestimmt, basierend auf den Sensordaten wird bestimmt, dass das mobile Gerät angehoben worden ist, basierend auf den Sensordaten wird bestimmt, dass das mobile Gerät durch eine externe Kraft, insbesondere horizontal, bewegt worden ist, und in Rückbezug auf Anspruch 4, wenn der Unterschied zwischen der basierend auf den Geräte-Sensordaten bestimmten Position und/oder Orientierung des mobilen Geräts bei dem hinzufügenden ordnungsgemäßen
Datensatz und einem zuletzt zur Umgebungskarte hinzugefügten ordnungsgemäßen Datensatz, nicht innerhalb einer vorgegebenen Toleranz liegt.
10. Verfahren nach einem der vorstehenden Ansprüche, weiterhin umfassend:
Bestimmen (240) von Navigationsinformation für das mobile Gerät, basierend auf den bereitgestellten Datensätzen, insbesondere den ordnungsgemäßen Datensätzen.
11 . System zur Datenverarbeitung, umfassend Mittel zur Ausführung des Verfahrens nach einem der vorstehenden Ansprüche.
12. Mobiles Gerät, das ein System nach Anspruch 11 aufweist, und/oder das eingerichtet ist, Navigationsinformationen, die gemäß einem Verfahren nach Anspruch 10 bestimmt worden sind, zu erhalten, und das eingerichtet ist, basierend auf den Navigationsinformationen zu navigieren, bevorzugt mit einer Steuer- oder Regeleinheit und einer Antriebseinheit zum Bewegen des mobilen Geräts gemäß den Navigationsinformationen.
13. Mobiles Gerät nach Anspruch 12, das als sich zumindest teilweise automatisiert bewegendes Fahrzeug, insbesondere als Personenbeförderungsfahrzeug oder als Güterbeförderungsfahrzeug, und/oder als Roboter, insbesondere als Haushaltsroboter, z.B. Reinigungsroboter, Boden- oder Straßenreinigungsgerät oder Rasenmähroboter, und/oder als Drohne ausgebildet ist.
14. Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, die Verfahrensschritte eines Verfahrens nach einem der Ansprüche 1 bis 10 durchzuführen, wenn es auf dem Computer ausgeführt wird.
15. Computerlesbares Speichermedium, auf dem das Computerprogramm nach Anspruch 14 gespeichert ist.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102023204537.0A DE102023204537A1 (de) | 2023-05-15 | 2023-05-15 | Verfahren zur Fehlerbehandlung bei einer Navigation eines mobilen Geräts |
| PCT/EP2024/062676 WO2024235774A1 (de) | 2023-05-15 | 2024-05-08 | Verfahren zur fehlerbehandlung bei der navigation eines mobilen geräts |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4713752A1 true EP4713752A1 (de) | 2026-03-25 |
Family
ID=91067199
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP24724981.6A Pending EP4713752A1 (de) | 2023-05-15 | 2024-05-08 | Verfahren zur fehlerbehandlung bei der navigation eines mobilen geräts |
Country Status (4)
| Country | Link |
|---|---|
| EP (1) | EP4713752A1 (de) |
| CN (1) | CN121127810A (de) |
| DE (1) | DE102023204537A1 (de) |
| WO (1) | WO2024235774A1 (de) |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20120299702A1 (en) | 2011-05-26 | 2012-11-29 | Caterpillar Inc. | Hybrid positioning system |
| DE102020115743A1 (de) | 2020-06-15 | 2021-12-16 | Man Truck & Bus Se | Verfahren zum Bewerten einer digitalen Karte, sowie Bewertungssystem |
| WO2021254975A1 (en) | 2020-06-19 | 2021-12-23 | Metralabs Gmbh Neue Technologien Und Systeme | Method of operating a mobile device |
| DE102022207370A1 (de) | 2022-07-19 | 2024-01-25 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Erkennen einer fehlerhaften Karte einer Umgebung |
-
2023
- 2023-05-15 DE DE102023204537.0A patent/DE102023204537A1/de active Pending
-
2024
- 2024-05-08 CN CN202480032342.3A patent/CN121127810A/zh active Pending
- 2024-05-08 WO PCT/EP2024/062676 patent/WO2024235774A1/de not_active Ceased
- 2024-05-08 EP EP24724981.6A patent/EP4713752A1/de active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| WO2024235774A1 (de) | 2024-11-21 |
| DE102023204537A1 (de) | 2024-11-21 |
| CN121127810A (zh) | 2025-12-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE102015205088B4 (de) | Verfahren zum Ermitteln eines Kalibrierungsparameters eines Fahrzeuges sowie Fahrzeug hierzu | |
| DE102019207448A1 (de) | Simultane Lokalisierung und Kartenerstellung in 2D unter Verwendung eines 3D-Scanners | |
| DE102022206041A1 (de) | Verfahren zum Bestimmen von Objekten in einer Umgebung für SLAM | |
| DE102022207829A1 (de) | Verfahren zum Hinzufügen eines oder mehrerer Ankerpunkte zu einer Karte einer Umgebung | |
| WO2020193273A1 (de) | Verfahren und vorrichtung zum betrieb eines roboters mit verbesserter objektdetektion | |
| WO2024235774A1 (de) | Verfahren zur fehlerbehandlung bei der navigation eines mobilen geräts | |
| DE102023204536A1 (de) | Verfahren zur Lokalisierung eines mobilen Geräts | |
| DE102023204535A1 (de) | Verfahren zum Bestimmen einer Position und Orientierung eines mobilen Geräts | |
| WO2018172240A1 (de) | Verfahren und auswertevorrichtung zum erfassen einer umgebung eines fahrzeugs und fahrzeug | |
| EP4145238B1 (de) | Verfahren zum steuern eines unbemannten fluggeräts für einen inspektionsflug zum inspizieren eines objekts und unbemanntes inspektionsfluggerät | |
| DE102022207370A1 (de) | Verfahren zum Erkennen einer fehlerhaften Karte einer Umgebung | |
| EP2741161B1 (de) | Selbstfahrendes bodenbearbeitungsgerät und verfahren zur positionsbestimmung bei einem selbstfahrenden bodenbearbeitungsgerät | |
| DE102024208731A1 (de) | Verfahren zur Registrierung von zwei Punktemengen | |
| WO2025195776A1 (de) | Verfahren zum erkennen einer änderung in einer umgebung | |
| DE102024202540A1 (de) | Verfahren zum Erkennen einer Änderung in einer Umgebung | |
| DE102023203943A1 (de) | Verfahren zum Interpolieren von Positions- und Orientierungsinformationen eines mobilen Geräts | |
| DE102024208733A1 (de) | Verfahren zum Bestimmen eines Bewegungspfads für ein mobiles Gerät | |
| EP3926300B1 (de) | Bestimmung einer eigenposition und navigationsvorrichtung | |
| DE102023208369A1 (de) | Verfahren zum Kalibrieren einer oder mehrerer Kameras eines mobilen Geräts | |
| DE102024203015A1 (de) | Verfahren zum Bestimmen eines Bewegungspfads für ein mobiles Gerät | |
| DE102024203971A1 (de) | Verfahren zum Bestimmen einer Pose eines mobilen Geräts | |
| EP4428008A1 (de) | Automatische kalibrierung eines sensorsystems für ein schienenfahrzeug | |
| DE102024203972A1 (de) | Verfahren zum Korrigieren einer Pose eines mobilen Geräts | |
| DE102024202538A1 (de) | Verfahren zum Erzeugen einer semantisch segmentierten Bodenkarte | |
| DE102023208956A1 (de) | Verfahren zur Objekterkennung in einer Umgebung |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20251215 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |