DE102020103252A1 - Selbstlokalisierungsvorrichtung, selbstlokalisierungsverfahren und programm - Google Patents

Selbstlokalisierungsvorrichtung, selbstlokalisierungsverfahren und programm Download PDF

Info

Publication number
DE102020103252A1
DE102020103252A1 DE102020103252.8A DE102020103252A DE102020103252A1 DE 102020103252 A1 DE102020103252 A1 DE 102020103252A1 DE 102020103252 A DE102020103252 A DE 102020103252A DE 102020103252 A1 DE102020103252 A1 DE 102020103252A1
Authority
DE
Germany
Prior art keywords
self
key frame
mobile object
visual image
locating device
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
Application number
DE102020103252.8A
Other languages
English (en)
Inventor
Katsumasa Kitajima
Yusuke Kinouchi
Takumi Fujita
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Heavy Industries Ltd
Original Assignee
Mitsubishi Heavy Industries Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Heavy Industries Ltd filed Critical Mitsubishi Heavy Industries Ltd
Publication of DE102020103252A1 publication Critical patent/DE102020103252A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • G01C21/32Structuring or formatting of map data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B66HOISTING; LIFTING; HAULING
    • B66FHOISTING, LIFTING, HAULING OR PUSHING, NOT OTHERWISE PROVIDED FOR, e.g. DEVICES WHICH APPLY A LIFTING OR PUSHING FORCE DIRECTLY TO THE SURFACE OF A LOAD
    • B66F9/00Devices for lifting or lowering bulky or heavy goods for loading or unloading purposes
    • B66F9/06Devices for lifting or lowering bulky or heavy goods for loading or unloading purposes movable, with their loads, on wheels or the like, e.g. fork-lift trucks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B66HOISTING; LIFTING; HAULING
    • B66FHOISTING, LIFTING, HAULING OR PUSHING, NOT OTHERWISE PROVIDED FOR, e.g. DEVICES WHICH APPLY A LIFTING OR PUSHING FORCE DIRECTLY TO THE SURFACE OF A LOAD
    • B66F9/00Devices for lifting or lowering bulky or heavy goods for loading or unloading purposes
    • B66F9/06Devices for lifting or lowering bulky or heavy goods for loading or unloading purposes movable, with their loads, on wheels or the like, e.g. fork-lift trucks
    • B66F9/075Constructional features or details
    • B66F9/0755Position control; Position detectors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/3415Dynamic re-routing, e.g. recalculating the route when the user deviates from calculated route or after detecting real-time traffic data or accidents
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/343Calculating itineraries, i.e. routes leading from a starting point to a series of categorical destinations using a global route restraint, round trips, touristic trips
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/14Transformations for image registration, e.g. adjusting or mapping for alignment of images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Structural Engineering (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Civil Engineering (AREA)
  • Mechanical Engineering (AREA)
  • Geology (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Electromagnetism (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Image Analysis (AREA)

Abstract

Die Selbstlokalisierungsvorrichtung umfasst: eine Erfassungseinheit, die konfiguriert ist, um ein Sichtbild von einer Kamera zu erfassen, die in einem mobilen Objekt montiert ist; eine Schätzeinheit, die konfiguriert ist, um einen Selbstlokalisierungsprozess zum Schätzen einer Position und einer Haltung des mobilen Objekts in einem Weltkoordinatensystem auf der Basis von Positionen von Merkmalspunkten in dem Sichtbild und einer Karte, auf der Positionen einer Vielzahl von Merkmalspunkten in dem Weltkoordinatensystem aufgezeichnet sind, durchzuführen; und eine Registrierungseinheit, die konfiguriert ist, um das Sichtbild als einen Schlüsselrahmen zum Hinzufügen eines in dem Sichtbild enthaltenen neuen Merkmalspunktes zu der Karte zu registrieren. Die Registrierungseinheit ist konfiguriert, um das Sichtbild als den Schlüsselrahmen zu registrieren, wenn eine Bewegung des mobilen Objekts eine Bedingung erfüllt, die für die Position und/oder die Haltung des mobilen Objekts vorgeschrieben ist.

Description

  • [Technisches Gebiet der Erfindung]
  • Die vorliegende Offenbarung bezieht sich auf eine Selbstlokalisierungsvorrichtung, ein Selbstlokalisierungsverfahren und ein Programm. Die Priorität wird für die japanische Patentanmeldung Nr. 2019 - 041991 beansprucht, die am 7. März 2019 eingereicht wurde, und deren Inhalt hier durch Verweis aufgenommen wird.
  • [Hintergrund der Erfindung]
  • Es ist eine Technik bekannt, bei der eine Position und eine Haltung eines mobilen Objekts mit hoher Genauigkeit erfasst und eine Lenksteuerung des mobilen Objekts unter Verwendung eines Ergebnisses der Positions- und Haltungserfassung durchgeführt wird.
  • In Patentliteratur 1 wird eine Technik zum Schätzen einer Selbstposition auf der Basis von Eingaben verschiedener Sensoren offenbart.
  • „Laser Detection and Ranging“ (LiDAR) ist bekannt als eine Technik zum Erfassen einer Position und einer Haltung eines beweglichen Objekts mit hoher Genauigkeit, und diese Technik erfordert die Montage eines teuren Sensors (eines Laserscanners). Andererseits wurde eine Selbstlokalisierungstechnik unter Verwendung einer Kamera entwickelt, die ein relativ preiswerter Sensor ist.
  • In der Nichtpatentliteratur 1 wird eine Technik zum Durchführen einer Selbstlokalisierung mit hoher Genauigkeit offenbart, bei der LiDAR nur zum Abbilden einer Karte und nur die Kamera für einen tatsächlichen Betrieb verwendet wird, und zwar auf der Basis einer ORB-simultanen Lokalisierung und Abbildung (ORB-SLAM), die eine Selbstlokalisierungstechnik mit einer Kamera ist.
  • [Zitierliste]
  • [Patentliteratur]
  • [Patentdokument 1] Ungeprüfte japanische Patentanmeldung, Erstveröffentlichung Nr. 2012-248032
  • [Nichtpatentliteratur]
  • [Nichtpatentliteratur 1] „Adi Sujiwo, Eijiro Takeuchi, Luis Yoichi Morales, Naoki Akai, Yoshiki Ninomiya and Masato Edahiro, „Localization Based on Multiple Visual-Metric Maps" in Proc of IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems, 2017."
  • [Zusammenfassung der Erfindung]
  • [Technisches Problem]
  • Bei einem Kartenerstellungsprozess auf der Basis von ORB-SLAM wird eine Karte erstellt, in der Positionen einer Vielzahl von Merkmalspunkten in dem Weltkoordinatensystem und eine Vielzahl von Schlüsselrahmen, die durch Beobachtung der Merkmalspunkte erhaltene Sichtbilder (Rahmen bzw. Frames) sind, aufgezeichnet werden. Die Positionen und Haltungen einer Kamera zu dem Zeitpunkt eines Erfassens der Schlüsselrahmen, die durch einen Selbstlokalisierungsprozess auf der Basis von ORB-SLAM geschätzt werden, werden ebenfalls in der Karte aufgezeichnet.
  • Bei dem Selbstlokalisierungsprozess auf der Basis von ORB-SLAM werden durch Abgleich der in einem von der Kamera erfassten Sichtbild (einem Rahmen bzw. Frame) beobachtete Merkmalspunkte mit den auf der Karte aufgezeichneten Merkmalspunkten die Position und die Haltung der Kamera in dem Weltkoordinatensystem zu dem Zeitpunkt eines Erfassens des Sichtbildes geschätzt. Zu diesem Zeitpunkt ist es möglich, durch Identifizieren eines Schlüsselrahmens mit einer Positionsbeziehung der Merkmalspunkte, die denjenigen in dem von der Kamera erfassten Sichtbild am Nächsten liegen (ein aktueller Schlüsselrahmen), und unter Verwendung des aktuellen Schlüsselrahmens als Stützpunkt, eine Erhöhung der Geschwindigkeit der Selbstlokalisierung zu erzielen.
  • Wenn die Anzahl an Merkmalspunkten, die zwischen den Merkmalspunkten, die in dem von der Kamera erfassten Sichtbild beobachtet werden, und den auf der Karte aufgezeichneten Merkmalspunkten abgeglichen sind, gering ist (d.h., die auf der Karte aufgezeichneten Merkmalspunkte erscheinen kaum in dem erfassten Sichtbild), o.ä., ist bekannt, dass der Selbstlokalisierungsprozess fehlschlägt und die Selbstposition und die Selbsthaltung verloren gehen. In ORB-SLAM besteht der Bedarf, einen Selbstlokalisierungsprozess stabil durchzuführen, ohne die Selbstposition und die Selbsthaltung zu verlieren.
  • Eine Aufgabe von mindestens einem Aspekt der vorliegenden Offenbarung ist es, eine Selbstlokalisierungsvorrichtung, ein Selbstlokalisierungsverfahren und ein Programm bereitzustellen, die eine Stabilisierung eines Selbstlokalisierungsprozesses unter Verwendung einer Kamera erzielen können.
  • [Lösung des Problems]
  • Gemäß einem Aspekt der vorliegenden Offenbarung wird eine Selbstlokalisierungsvorrichtung bereitgestellt, umfassend: eine Erfassungseinheit, die konfiguriert ist, um ein Sichtbild von einer Kamera zu erfassen, die in einem mobilen Objekt montiert ist; eine Schätzeinheit, die konfiguriert ist, um einen Selbstlokalisierungsprozess zum Schätzen einer Position und einer Haltung des mobilen Objekts in einem Weltkoordinatensystem auf der Basis von Positionen von Merkmalspunkten in dem Sichtbild und einer Karte durchzuführen, auf der Positionen einer Vielzahl von Merkmalspunkten in dem Weltkoordinatensystem aufgezeichnet sind; und eine Registrierungseinheit, die konfiguriert ist, um das Sichtbild als einen Schlüsselrahmen zum Hinzufügen eines in dem Sichtbild enthaltenen neuen Merkmalspunktes zu der Karte zu registrieren. Die Registrierungseinheit ist konfiguriert, um das Sichtbild als den Schlüsselrahmen zu registrieren, wenn eine Bewegung des mobilen Objekts eine Bedingung erfüllt, die für die Position und/oder die Haltung des mobilen Objekts vorgeschrieben ist.
  • [Vorteilhafte Effekte der Erfindung]
  • Gemäß den vorstehend erwähnten Aspekten der vorliegenden Offenbarung ist es möglich, eine Stabilisierung eines Selbstlokalisierungsprozesses unter Verwendung einer Kamera zu erzielen.
  • Figurenliste
    • 1 ist ein Diagramm, das die gesamte Konfiguration eines Gabelstaplers gemäß einem ersten Ausführungsbeispiel darstellt.
    • 2 ist ein Diagramm, das eine funktionelle Konfiguration einer Selbstlokalisierungsvorrichtung gemäß dem ersten Ausführungsbeispiel darstellt.
    • 3 ist ein Diagramm, das ein Beispiel für eine Schlüsselrahmentabelle gemäß dem ersten Ausführungsbeispiel darstellt.
    • 4 ist ein Diagramm, das ein Beispiel für eine Karte gemäß dem ersten Ausführungsbeispiel darstellt.
    • 5 ist ein Diagramm, das eine Umwandlungsmatrix gemäß dem ersten Ausführungsbeispiel darstellt.
    • 6 ist ein Flussdiagramm, das einen Prozessablauf darstellt, der zu dem Zeitpunkt einer Erstellung einer Karte durch die Selbstlokalisierungsvorrichtung gemäß dem ersten Ausführungsbeispiel durchgeführt wird.
    • 7 ist ein Diagramm, das einen Prozessablauf darstellt, der zu dem Zeitpunkt eines tatsächlichen Betriebs durch die Selbstlokalisierungsvorrichtung gemäß dem ersten Ausführungsbeispiel durchgeführt wird.
    • 8 ist ein Flussdiagramm, das einen Prozessablauf darstellt, der zu dem Zeitpunkt einer Erstellung einer Karte durch die Selbstlokalisierungsvorrichtung gemäß einem modifizierten Beispiel des ersten Ausführungsbeispiels durchgeführt wird.
    • 9 ist ein Diagramm, das einen Prozess darstellt, der von einer Kartenleseeinheit gemäß einem zweiten Ausführungsbeispiel durchgeführt wird.
    • 10 ist ein Diagramm, das einen Prozess darstellt, der von einer Kartenleseeinheit gemäß einem modifizierten Beispiel des zweiten Ausführungsbeispiels durchgeführt wird.
    • 11 ist ein Flussdiagramm, das einen Prozessablauf darstellt, der von einer Relokalisierungsverarbeitungseinheit gemäß einem dritten Ausführungsbeispiel durchgeführt wird.
    • 12 ist ein Diagramm, das einen Prozess darstellt, der von der Relokalisierungsverarbeitungseinheit gemäß dem dritten Ausführungsbeispiel durchgeführt wird.
    • 13 ist ein Diagramm, das eine Funktion einer Selbstlokalisierungsverarbeitungseinheit gemäß einem vierten Ausführungsbeispiel darstellt.
  • [Beschreibung von Ausführungsbeispielen]
  • Erstes Ausführungsbeispiel
  • Nachstehend werden eine Selbstlokalisierungsvorrichtung gemäß einem ersten Ausführungsbeispiel und ein mobiles Objekt einschließlich der Selbstlokalisierungsvorrichtung mit Bezug auf 1 bis 7 beschrieben.
  • Gesamte Konfiguration eines Gabelstaplers
  • 1 ist ein Diagramm, das die gesamte Konfiguration eines Gabelstaplers gemäß einem ersten Ausführungsbeispiel darstellt.
  • Der in 1 dargestellte Gabelstapler 1 ist ein Beispiel für ein mobiles Objekt, und er ist ein unbemannter Gabelstapler, der sich auf einer vorgegebenen Route autonom zu einem Zielpunkt bewegt.
  • Der Gabelstapler 1 umfasst eine Selbstlokalisierungsvorrichtung 10, eine Kamera 11, einen Reifendrehwinkelsensor 12, einen Lenkwinkelsensor 13 und einen Gyrosensor 14.
  • Die Selbstlokalisierungsvorrichtung 10 führt einen Selbstlokalisierungsprozess auf der Basis von ORB-SLAM durch. Insbesondere werden eine Position und eine Haltung des Gabelstaplers 1 auf der Basis eines von der Kamera 11 erfassten Bildes (nachstehend auch als Sichtbild bezeichnet) geschätzt. Die detaillierte Konfiguration und Funktion der Selbstlokalisierungsvorrichtung 10 wird später beschrieben.
  • Die Kamera 11 ist eine Abbildungsvorrichtung, die ein bewegtes Bild aufnehmen kann, d.h., sie kann nacheinander Sichtbilder erfassen. Ein Sichtbild korrespondiert zu einem „Rahmen“ (bzw. „Frame“), der ein bewegtes Bild darstellt. Die Kamera 11 ist in diesem Ausführungsbeispiel „monokular“, kann aber in einem anderen Ausführungsbeispiel von einem „Verbindungsaugentyp“ (bzw. „compound-eye type“) sein.
  • Der Reifendrehwinkelsensor 12 ist ein Sensor, der einen Reifendrehwinkel des Gabelstaplers 1 erfassen kann.
  • Der Lenkwinkelsensor 13 ist ein Sensor, der einen Lenkwinkel eines Reifens erfassen kann. Durch die Kombination des Ergebnisses einer Erfassung eines Lenkwinkels von dem Lenkwinkelsensor 13 mit dem Ergebnis einer Erfassung eines Reifendrehwinkels von dem Reifendrehwinkelsensor 12 kann eine relative Position des Gabelstaplers 1 nach der Bewegung von einer bestimmten Position identifiziert werden.
  • Der Gyrosensor 14 ist ein Sensor, der eine Drehwinkelgeschwindigkeit des Gabelstaplers 1 erfassen kann.
  • In dem Gabelstapler 1 gemäß diesem Ausführungsbeispiel ist ein Laserscanner (der in 1 nicht dargestellt ist) zu dem Zeitpunkt einer Erstellung einer Karte montiert, die vor einem eigentlichen Betrieb des Gabelstaplers 1 durchgeführt wird. Der Laserscanner wird davon zu dem Zeitpunkt eines tatsächlichen Betriebs des Gabelstaplers 1 getrennt (wenn der Gabelstapler 1 während der Durchführung eines Selbstlokalisierungsprozesses auf der Basis von ORB-SLAM unter Verwendung der erstellten Karte fährt).
  • Der Laserscanner ist ein Sensor, der für LiDAR verwendet wird, und er ist ein Sensor, der Abstände von Strukturen, die um den Laserscanner herum angeordnet sind, auf der Basis einer Reflexion eines Laserstrahls, der einen großen Bereich abtastet, messen kann. Durch LiDAR-SLAM, das SLAM ist, ist es möglich, unter Verwendung der von dem Laserscanner in einem breiten Bereich erfassten Abstandsmessung eine Position und eine Haltung des Gabelstaplers 1 mit höherer Genauigkeit zu schätzen als bei dem auf ORB-SLAM basierenden Selbstlokalisierungsprozess.
  • Der Gabelstapler 1 gemäß diesem Ausführungsbeispiel umfasst eine Lenksteuervorrichtung (die in 1 nicht dargestellt ist), die eine Lenksteuerung auf der Basis der Ergebnisse des Selbstlokalisierungsprozesses auf der Basis von ORB-SLAM durchführt, die von der Selbstlokalisierungsvorrichtung 10 ausgegeben werden. Die Lenksteuervorrichtung führt eine Lenksteuerung beispielsweise durch Rückkopplungssteuerung auf der Basis der Position und der Haltung des Gabelstaplers 1 durch, die von der Selbstlokalisierungsvorrichtung 10 geschätzt werden.
  • Funktionelle Konfiguration eines Gabelstaplers
    2 ist ein Diagramm, das die funktionelle Konfiguration der Selbstlokalisierungsvorrichtung gemäß dem ersten Ausführungsbeispiel darstellt.
  • Wie in 2 dargestellt, umfasst die Selbstlokalisierungsvorrichtung 10 eine CPU 100, einen Datenspeicher („memory“) 101, einen Speicher („storage“) 102 und eine Kommunikationsschnittstelle 103.
  • Die CPU 100 ist ein Prozessor, der den gesamten Betrieb der Selbstlokalisierungsvorrichtung 10 übernimmt und verschiedene Funktionen durchführt, indem er gemäß einem vorbestimmten Programm betrieben wird.
  • Der Datenspeicher 101 ist eine sogenannte Hauptspeichervorrichtung, wie etwa ein DRAM, und er ist ein Speicherbereich, der für die CPU 100 erforderlich ist, um mit hoher Geschwindigkeit gemäß einem Programm betrieben zu werden.
  • Der Speicher 102 ist eine sogenannte Hilfsspeichervorrichtung, wie etwa ein HDD oder ein SSD, und für eine Verarbeitung der Selbstlokalisierungsvorrichtung 10 erforderliche Informationen werden darin vorab aufgezeichnet.
  • Die Kommunikationsschnittstelle 103 ist eine Verbindungsschnittstelle, die mit der Kamera 11, dem Reifendrehwinkelsensor 12, dem Lenkwinkelsensor 13, dem Gyrosensor 14 und dergleichen kommuniziert.
  • Die Funktionen der CPU 100 werden nachstehend ausführlich beschrieben.
  • Die CPU 100 führt die Funktionen einer Sichtbilderfassungseinheit 1000 (eine Erfassungseinheit), einer Selbstlokalisierungsverarbeitungseinheit 1001 (eine Schätzeinheit), einer Schlüsselrahmenregistrierungseinheit 1002 (eine Registrierungseinheit), einer Kartenleseeinheit 1003 (eine Leseeinheit) und einer Relokalisierungsverarbeitungseinheit 1004 (eine Verarbeitungseinheit) durch, indem sie gemäß einem vorbestimmten Programm betrieben wird.
  • Die Sichtbilderfassungseinheit 1000 erfasst sequentiell Sichtbilder, die Rahmen eines bewegten Bildes von der Kamera 11 sind, die in dem Gabelstapler 1 montiert ist.
  • Die Selbstlokalisierungsverarbeitungseinheit 1001 führt einen Selbstlokalisierungsprozess auf der Basis von ORB-SLAM durch. Insbesondere schätzt die Selbstlokalisierungsverarbeitungseinheit 1001 eine Position und eine Haltung des Gabelstaplers 1 (der Kamera 11) in dem Weltkoordinatensystem auf der Basis von Positionen von Merkmalspunkten in einem von der Kamera 11 erfassten Sichtbild und einer Karte M, auf der Positionen einer Vielzahl von Merkmalspunkten in dem Weltkoordinatensystem aufgezeichnet sind.
  • Die Schlüsselrahmenregistrierungseinheit 1002 registriert aus den von der Kamera 11 erfassten Sichtbildern ein Sichtbild, das eine bestimmte Bedingung erfüllt, als einen Schlüsselrahmen zu dem Zeitpunkt einer Erstellung einer Karte. Ein Schlüsselrahmen wird als ein Rahmen ausgewählt, um einen in dem Sichtbild (dem Rahmen) beobachteten Merkmalspunkt zu der Karte M hinzuzufügen.
  • Die Kartenleseeinheit 1003 liest die Karte M in den Datenspeicher 101.
  • Die Relokalisierungsverarbeitungseinheit 1004 führt eine Relokalisierung durch, wenn der auf ORB-SLAM basierende Selbstlokalisierungsprozess durch die Selbstlokalisierungsverarbeitungseinheit 1001 fehlschlägt. Die Relokalisierung ist ein Prozess zum Suchen eines Schlüsselrahmens, das einem zu dem gegenwärtigen Zeitpunkt erfassten Sichtbild ähnlich ist, und bei dem eine Rückkehr erzielt wird.
  • Beispiel einer Schlüsselrahmentabelle
    3 ist ein Diagramm, das ein Beispiel für eine Schlüsselrahmentabelle gemäß dem ersten Ausführungsbeispiel darstellt.
  • Die Schlüsselrahmenregistrierungseinheit 1002 registriert ein Sichtbild, das zu dem Zeitpunkt einer Erstellung einer Karte eine vorbestimmte Bedingung erfüllt, als einen Schlüsselrahmen in der Schlüsselrahmentabelle.
  • Wie in 3 dargestellt, umfasst die Schlüsselrahmentabelle eine „Schlüsselrahmennummer“, ein „Sichtbild“, eine „Position eines Merkmalspunktes in einem Bild“, einen „korrespondierenden Merkmalspunkt auf einer Karte“, eine „Position und Haltung eines mobilen Objekts“ und eine „Umwandlungsmatrix“, die in Korrelation zueinander aufgezeichnet werden.
  • Die „Schlüsselrahmennummer“ ist eine Identifikationsnummer, die zum Identifizieren eines Schlüsselrahmens vergeben wird.
  • Das „Sichtbild“ sind Bilddaten des Sichtbildes selbst. In einem anderen Ausführungsbeispiel beschränken sich Bilddaten eines Sichtbildes nicht auf ein bloßes Aufzeichnen, sondern können in einem anderen Format aufgezeichnet werden, das eine geringere Kapazität als die Bilddaten hat und sich zum Messen eines Ähnlichkeitsgrades zwischen Bildern eignet. Beispielsweise können die Bilddaten statistische Informationen eines Merkmalsvektors sein, der „Bag of Words“ (BoW) genannt wird.
  • Die „Position eines Merkmalspunktes in einem Bild“ ist eine Position in einem Bild eines Merkmalspunktes, der in dem Sichtbild beobachtet wird (eine Position, die durch Pixelkoordinaten (px, py) identifiziert wird). In der in 3 dargestellten Schlüsselrahmentabelle werden beispielsweise Merkmalspunkte q1_n, q2_n, q3_n, ... in einem Schlüsselrahmen (einem Sichtbild) mit einer Schlüsselrahmennummer „n“ beobachtet und an Positionen (px, py) in dem Sichtbild identifiziert.
  • Der „korrespondierende Merkmalspunkt auf einer Karte“ stellt einen Merkmalspunkt auf der Karte M dar, der zu dem in dem Schlüsselrahmen beobachteten Merkmalspunkt korrespondiert. In der in 3 dargestellten Schlüsselrahmentabelle korrespondieren beispielsweise die in einem Schlüsselrahmen (einem Sichtbild) mit einer Schlüsselrahmennummer „n“ beobachteten Merkmalspunkte q1_n, q2_n, q3_n, ... jeweils zu den Merkmalspunkten Q2, Q4, Q5, ..., die in dem Weltkoordinatensystem der Karte M geplottet sind. Die Merkmalspunkte Q2, Q4, Q5, ... auf der Karte M sind durch Weltkoordinatenwerte (X, Y, Z) definiert.
  • Die „Position und Haltung eines mobilen Objekts“ stellt eine Position und eine Haltung auf der Karte M des Gabelstaplers 1 (der Kamera 11) dar, wenn jeder Schlüsselrahmen erfasst wird. In der in 3 dargestellten Schlüsselrahmentabelle werden beispielsweise die Position Pn(X, Y, Z) und die Haltung An(θx, θy, θz) des Gabelstaplers 1 aufgezeichnet, wenn der Schlüsselrahmen mit einer Schlüsselrahmennummer „n“ erfasst wird. Wie nachstehend beschrieben wird, sind die Position Pn(X, Y, Z) und die Haltung An(θx, θy, θz) des Gabelstaplers 1, die hier aufgezeichnet werden, keine Position und Haltung, die in dem Selbstlokalisierungsprozess auf der Basis von ORB-SLAM geschätzt werden, sondern eine Position und eine Haltung, die in dem Selbstlokalisierungsprozess auf der Basis von LiDAR-SLAM geschätzt werden. Dementsprechend wird ein Ergebnis mit höherer Genauigkeit als das Ergebnis des Selbstlokalisierungsprozesses auf der Basis von ORB-SLAM erhalten. In der folgenden Beschreibung werden die in diesem Feld aufgezeichnete Position und die Haltung als wahre Werte der Position und der Haltung des Gabelstaplers 1 betrachtet.
  • Die „Umwandlungsmatrix“ ist eine Umwandlungsmatrix zum Umwandeln des Ergebnisses des Selbstlokalisierungsprozesses auf der Basis von ORB-SLAM in wahre Werte. Eine Umwandlungsmatrix wird in Korrelation mit jedem Schlüsselrahmen aufgezeichnet. In der in 3 dargestellten Schlüsselrahmentabelle wird beispielsweise eine Umwandlungsmatrix Tn, die mit dem Schlüsselrahmen mit einer Schlüsselrahmennummer „n“ korreliert ist, aufgezeichnet. Die Umwandlungsmatrix Tn ist eine Umwandlungsmatrix, die berechnet wird, um eine Abweichung (eine Differenz) des Ergebnisses des Selbstlokalisierungsprozesses auf der Basis von ORB-SLAM des Gabelstaplers 1 von den wahren Werten zu korrigieren, wenn der Schlüsselrahmen mit einer Schlüsselrahmennummer „n“ erfasst wird.
  • Beispiel einer Karte
  • 4 ist ein Diagramm, das ein Beispiel einer Karte gemäß dem ersten Ausführungsbeispiel darstellt.
  • Die Karte M wird auf der Basis der Schlüsselrahmentabelle (3) erstellt, und sie wird mit Bezug auf das Weltkoordinatensystem als verschiedene Informationsgruppen aufgezeichnet, wie in 4 dargestellt.
  • Zu dem Zeitpunkt einer Erstellung einer Karte registriert die Selbstlokalisierungsvorrichtung 10 aus den von der Kamera 11 während einer Fahrt auf einer Fahrtroute R erfassten Sichtbildern ein Sichtbild, das eine vorbestimmte Bedingung erfüllt, als einen Schlüsselrahmen KF in der Schlüsselrahmentabelle (3). Dabei ist die Fahrtroute R beispielsweise eine Fahrtroute, auf der der Gabelstapler 1 zu dem Zeitpunkt eines tatsächlichen Betriebs des Gabelstaplers 1 fahren soll.
  • Wie in 4 dargestellt, werden die Position P(X, Y, Z) und die Haltung An(θx, θy, θz), die wahre Werte der Position und der Haltung des Gabelstaplers 1 zu dem Zeitpunkt eines Erfassens jedes Schlüsselrahmens KF sind, und Positionen (X, Y und Z) von in dem Schlüsselrahmen KF beobachteten Merkmalspunkten Q in dem Weltkoordinatensystem auf der Karte M aufgezeichnet. Wie vorstehend mit Bezug auf 3 beschrieben, wird jeder Merkmalspunkt Q, der in dem Weltkoordinatensystem geplottet ist, mit dem Schlüsselrahmen KF, in dem der Merkmalspunkt Q beobachtet wird, korreliert. In 4 dargestellte Strukturen G sind Strukturen, die in dem Schlüsselrahmen KF erscheinen. Die Merkmalspunkte Q werden auf der Basis der Strukturen G o.ä. beobachtet, die in dem Schlüsselrahmen KF erscheinen.
  • Umwandlungsmatrix
  • 5 ist ein Diagramm, das eine Umwandlungsmatrix gemäß dem ersten Ausführungsbeispiel darstellt.
  • „Umwandlungsmatrizen“ (Tn-1, Tn, Tn+1, ...) in der in 3 dargestellten Schlüsselrahmentabelle können wie folgt berechnet werden.
  • In 5 wird ein Prozess beschrieben, der durchgeführt wird, wenn ein zu einem bestimmten Zeitpunkt erfasstes Sichtbild als ein Schlüsselrahmen KFn-1 in der Schlüsselrahmentabelle (3) registriert wird. In diesem Fall schätzt die Selbstlokalisierungsvorrichtung 10 eine Position und eine Haltung des Gabelstaplers 1 zu dem Zeitpunkt einer Erfassung des Sichtbildes unter Verwendung von ORB-SLAM auf der Basis der in Erstellung befindlichen Karte M. In 5 wird angenommen, dass das Schätzungsergebnis eine Position Pn-1' und eine Haltung An-1' umfasst. Andererseits kann die Selbstlokalisierungsvorrichtung 10 unter Verwendung des Laserscanners, der zu dem Zeitpunkt einer Erstellung einer Karte montiert ist, wahre Werte der Position und der Haltung des Gabelstaplers 1 zu dem Zeitpunkt einer Erfassung des Schlüsselrahmens KFn-1 erfassen. In 5 werden die wahren Werte der Position und der Haltung des Gabelstaplers 1 als eine Position Pn-1 und eine Haltung An-1 angenommen. Zu dem Zeitpunkt einer Registrierung des Schlüsselrahmens KFn-1 berechnet die Selbstlokalisierungsvorrichtung 10 eine Umwandlungsmatrix Tn-1 zum Abbilden der Position Pn-1' und der Haltung An-1' auf die Position Pn-1 und die Haltung An-1, die wahre Werte sind, und zeichnet die berechnete Umwandlungsmatrix in der Schlüsselrahmentabelle in Korrelation mit dem Schlüsselrahmen KFn-1 auf.
  • Zu dem Zeitpunkt einer Registrierung von neuen Schlüsselrahmen KFn, KFn+1, ... berechnet die Selbstlokalisierungsvorrichtung 10 Umwandlungsmatrizen Tn, Tn+1, ... korrespondierend zu den Schlüsselrahmen KFn, KFn+1, ... und zeichnet die berechneten Umwandlungsmatrizen in der Schlüsselrahmentabelle auf.
  • Prozessablauf zu dem Zeitpunkt einer Erstellung einer Karte
    6 ist ein Flussdiagramm, das einen Prozessablauf darstellt, der zu dem Zeitpunkt einer Erstellung einer Karte durch die Selbstlokalisierungsvorrichtung gemäß dem ersten Ausführungsbeispiel durchgeführt wird.
  • Der in 6 dargestellte Prozessablauf wird wiederholt durchgeführt, wenn der Gabelstapler 1 zu dem Zeitpunkt einer Erstellung einer Karte fährt. Zu diesem Zeitpunkt wird angenommen, dass eine in Erstellung befindliche Karte M bereits in den Datenspeicher 101 eingelesen wird.
  • Die Sichtbilderfassungseinheit 1000 der Selbstlokalisierungsvorrichtung 10 erfasst ein Sichtbild von der Kamera 11 (Schritt S00).
  • Die Selbstlokalisierungsverarbeitungseinheit 1001 der Selbstlokalisierungsvorrichtung 10 führt einen auf ORB-SLAM basierenden Selbstlokalisierungsprozess auf der Basis des in Schritt S00 erfassten Sichtbildes und der in Erstellung befindlichen Karte M durch. Dabei schätzt die Selbstlokalisierungsverarbeitungseinheit 1001 eine Position und eine Haltung der Kamera in dem Weltkoordinatensystem zu dem Zeitpunkt einer Erfassung des Sichtbildes, indem Merkmalspunkte, die in dem in Schritt S00 erfassten Sichtbild beobachtet werden, mit den auf der Karte M aufgezeichneten Merkmalspunkten abgeglichen werden. Zu diesem Zeitpunkt identifiziert die Selbstlokalisierungsverarbeitungseinheit 1001 einen Schlüsselrahmen mit einer Positionsbeziehung zwischen Merkmalspunkten (ein aktueller Schlüsselrahmen), der dem in Schritt S00 erfassten Sichtbild am Nächsten ist. Dann sucht die Selbstlokalisierungsverarbeitungseinheit 1001 Merkmalspunkte, die mit den in dem Sichtbild beobachteten Merkmalspunkten abgeglichen sind, mit Bezug auf die Merkmalspunkte auf der Karte, die mit dem aktuellen Schlüsselrahmen und anderen Schlüsselrahmen korreliert sind, die in einer Zeitreihe nacheinander vor oder nach dem aktuellen Schlüsselrahmen liegen. Demgemäß ist es möglich, eine Erhöhung der Verarbeitungsgeschwindigkeit des Selbstlokalisierungsprozesses auf der Basis von ORB-SLAM zu erzielen.
  • Die Selbstlokalisierungsverarbeitungseinheit 1001 bestimmt, ob der Selbstlokalisierungsprozess auf der Basis von ORB-SLAM erfolgreich war (Schritt S02).
  • Wenn der Selbstlokalisierungsprozess auf der Basis von ORB-SLAM erfolgreich war (JA in Schritt S02), wird ein Prozess zum Bestimmen, ob das in Schritt S00 erfasste Sichtbild als ein Schlüsselrahmen zu registrieren ist (Schritte S05 bis S07), durchgeführt. Einzelheiten des Prozesses werden nachstehend beschrieben.
  • Wenn der Selbstlokalisierungsprozess auf der Basis von ORB-SLAM fehlgeschlagen ist (NEIN in Schritt S02), führt die Relokalisierungsverarbeitungseinheit 1004 der Selbstlokalisierungsvorrichtung 10 eine Relokalisierung durch (Schritt S03). Die Relokalisierungsverarbeitungseinheit 1004 gemäß diesem Ausführungsbeispiel durchsucht alle in der Schlüsselrahmentabelle registrierten Schlüsselrahmen.
  • Die Relokalisierungsverarbeitungseinheit 1004 bestimmt, ob eine Relokalisierung von Schritt S03 erfolgreich war (Schritt S04). Wenn die Relokalisierung fehlgeschlagen ist (NEIN in Schritt S04), fährt die Relokalisierungsverarbeitungseinheit 1004 mit der Relokalisierung in Schritt S04 fort. Wenn die Position und die Haltung durch die Relokalisierung geschätzt wurden (wenn die Relokalisierung erfolgreich war) (JA in Schritt S04), führt die Selbstlokalisierungsvorrichtung 10 den Bestimmungsprozess durch (Schritte S05 bis S07).
  • Die Schlüsselrahmenregistrierungseinheit 1002 der Selbstlokalisierungsvorrichtung 10 bestimmt, ob das in Schritt S00 erfasste Sichtbild durch den nachstehend beschriebenen Bestimmungsprozess der Schritte S05 bis S07 als ein Schlüsselrahmen zu registrieren ist.
  • Insbesondere sucht die Schlüsselrahmenregistrierungseinheit 1002 zunächst nach Merkmalspunkten auf der Karte M, die mit den Merkmalspunkten abgeglichen sind, die in dem in Schritt S00 erfassten Sichtbild beobachtet werden. Dann bestimmt die Schlüsselrahmenregistrierungseinheit 1002, ob eine vorbestimmte Anzahl oder mehr neue Merkmalspunkte (Merkmalspunkte, die nicht auf der Karte M aufgezeichnet sind) aus den Merkmalspunkten, die in dem in Schritt S00 erfassten Sichtbild beobachtet werden, beobachtet wurden (Schritt S05).
  • Wenn eine vorbestimmte Anzahl oder mehr neue Merkmalspunkte in dem in Schritt S00 erfassten Sichtbild beobachtet wurden (JA in Schritt S05), registriert die Schlüsselrahmenregistrierungseinheit 1002 das in Schritt S00 erfasste Sichtbild als einen Schlüsselrahmen (Schritt S08).
  • Wenn eine vorbestimmte Anzahl oder mehr neue Merkmalspunkte in dem in Schritt S00 erfassten Sichtbild nicht beobachtet wurden (NEIN in Schritt S05), bestimmt die Schlüsselrahmenregistrierungseinheit 1002 dann, ob eine in dem Selbstlokalisierungsprozess auf der Basis von ORB-SLAM von Schritt S01 (oder des Ergebnisses der Relokalisierung von Schritt S03) geschätzte Position einen vorbestimmten Abstandsschwellenwert oder mehr von der Position des aktuellen Schlüsselrahmens entfernt ist (Schritt S06).
  • Wenn die in dem Selbstlokalisierungsprozess auf der Basis von ORB-SLAM geschätzte Position um den vorbestimmten Abstandsschwellenwert oder mehr von der Position des aktuellen Schlüsselrahmens entfernt ist (JA in Schritt S06), registriert die Schlüsselrahmenregistrierungseinheit 1002 das in Schritt S00 erfasste Sichtbild als einen Schlüsselrahmen (Schritt S08).
  • Wenn die in dem Selbstlokalisierungsprozess auf der Basis von ORB-SLAM geschätzte Position nicht um den vorbestimmten Abstandsschwellenwert oder mehr von der Position des aktuellen Schlüsselrahmens entfernt ist (NEIN in Schritt S06), bestimmt die Schlüsselrahmenregistrierungseinheit 1002 dann, ob eine Winkelgeschwindigkeit des Gabelstaplers 1 zu dem Zeitpunkt eines Erfassens des Sichtbildes gleich oder größer als ein vorbestimmter Winkelgeschwindigkeitsschwellenwert mit Bezug auf ein Ergebnis einer Erfassung einer Winkelgeschwindigkeit von dem Gyrosensor 14 ist (Schritt S07).
  • Wenn die Winkelgeschwindigkeit des Gabelstaplers 1 zu dem Zeitpunkt eines Erfassens des Sichtbildes gleich oder größer als der vorbestimmte Winkelgeschwindigkeitsschwellenwert ist (JA in Schritt S07), registriert die Schlüsselrahmenregistrierungseinheit 1002 das in Schritt S00 erfasste Sichtbild als einen Schlüsselrahmen (Schritt S08).
  • Wenn die Winkelgeschwindigkeit des Gabelstaplers 1 zu dem Zeitpunkt eines Erfassens des Sichtbildes nicht gleich oder größer als der vorbestimmte Winkelgeschwindigkeitsschwellenwert ist (NEIN in Schritt S07), registriert die Schlüsselrahmenregistrierungseinheit 1002 das in Schritt S00 erfasste Sichtbild nicht als einen Schlüsselrahmen und führt einen nächsten Schritt des Prozessablaufs durch.
  • In Schritt S08 zeichnet die Schlüsselrahmenregistrierungseinheit 1002 ein Ergebnis einer Selbstlokalisierung (einen wahren Wert) auf der Basis von LiDAR-SLAM anstelle eines Ergebnisses einer Selbstlokalisierung auf der Basis von ORB-SLAM von Schritt S01 in der Schlüsselrahmentabelle auf. Die Schlüsselrahmenregistrierungseinheit 1002 berechnet ferner eine Umwandlungsmatrix unter Verwendung des Ergebnisses einer Selbstlokalisierung auf der Basis von LiDAR-SLAM und des Ergebnisses einer Selbstlokalisierung auf der Basis von ORB-SLAM von Schritt S01 und zeichnet die Umwandlungsmatrix in der Schlüsselrahmentabelle auf.
  • Die Schlüsselrahmenregistrierungseinheit 1002 führt ferner einen Post-Prozess wie etwa einen Bündelungsprozess durch, nachdem das Sichtbild als ein Schlüsselrahmen registriert worden ist.
  • Prozessablauf zu dem Zeitpunkt eines tatsächlichen Betriebs
    7 ist ein Diagramm, das einen Prozessablauf darstellt, der zu dem Zeitpunkt eines tatsächlichen Betriebs der Selbstlokalisierungsvorrichtung gemäß dem ersten Ausführungsbeispiel durchgeführt wird.
  • Zu dem Zeitpunkt eines tatsächlichen Betriebs nach Fertigstellung der Karte führt die Selbstlokalisierungsvorrichtung 10 den Selbstlokalisierungsprozess auf der Basis von ORB-SLAM durch die Schritte Sa0 bis Sa3 durch, die nachstehend beschrieben werden.
  • Zunächst erfasst die Sichtbilderfassungseinheit 1000 ein Sichtbild Fa von der Kamera 11 (Schritt Sa0).
  • Dann führt die Selbstlokalisierungsverarbeitungseinheit 1001 den auf ORB-SLAM basierenden Selbstlokalisierungsprozess auf der Basis der in dem Sichtbild Fa und der erstellten Karte M beobachteten Merkmalspunkte durch (Schritt Sa1). Die Position und die Haltung des Gabelstaplers 1, die in diesem Prozess geschätzt werden, werden als eine Position Pa' und eine Haltung Aa' eingestellt.
  • Dann identifiziert die Selbstlokalisierungsverarbeitungseinheit 1001 einen aktuellen Schlüsselrahmen, der einen Schlüsselrahmen mit einer Positionsbeziehung von Merkmalspunkten ist, die denjenigen in dem Sichtbild Fa am Nächsten liegen, die in Schritt Sa0 aus den in der Schlüsselrahmentabelle (Schritt Sa2) registrierten Schlüsselrahmen erfasst werden. Es wird angenommen, dass der hier identifizierte aktuelle Schlüsselrahmen ein Schlüsselrahmen mit einer Schlüsselrahmennummer „n“ ist (ein Schlüsselrahmen KFn).
  • Dann berechnet die Selbstlokalisierungsvorrichtung 10 eine Endposition Pa und eine Endhaltung As durch Multiplizieren der unter Verwendung von ORB-SLAM geschätzten Position Pa' und Haltung Aa' mit der Umwandlungsmatrix Tn, die mit dem aktuellen Schlüsselrahmen (dem Schlüsselrahmen KFn) korreliert ist.
  • Funktionsweise und Vorteile
  • Wie vorstehend beschrieben, registriert die Selbstlokalisierungsvorrichtung 10 gemäß dem ersten Ausführungsbeispiel das Sichtbild als einen Schlüsselrahmen, wenn eine Bewegung des Gabelstaplers 1 eine Bedingung erfüllt, die für die Position und/oder die Haltung des Gabelstaplers 1 vorgeschrieben ist, beispielsweise wie bei den Prozessen der Schritte S06 und S07 in 6.
  • Probleme, die auftreten, wenn der in 6 dargestellte Bestimmungsprozess der Schritte S06 und S07 nicht durchgeführt wird und nur der Bestimmungsprozess von Schritt S05 durchgeführt wird, werden nachstehend beschrieben.
  • D.h., der Bestimmungsprozess von Schritt S05 umfasst ein Bestimmen, ob das Sichtbild als ein Schlüsselrahmen zu registrieren ist, auf der Basis, ob eine vorbestimmte Anzahl oder mehr neue Merkmalspunkte, die nicht auf der Karte M registriert sind, in dem Sichtbild beobachtet werden. In diesem Fall ist es beispielsweise, wenn der Gabelstapler geradeaus in die Richtung fährt, in die die Kamera 11 blickt, schwieriger, einen neuen Merkmalspunkt zu beobachten als in dem vorherigen Schlüsselrahmen, und somit sind die Schlüsselrahmen wahrscheinlich spärlich. Wenn die Schlüsselrahmen spärlich sind, verringert sich die Anzahl an Merkmalspunkten, die auf der Karte M aufgezeichnet werden, und somit gehen die Position und die Haltung des Gabelstaplers 1 wahrscheinlich verloren.
  • Es ist bekannt, dass sich die Sicht beim Wenden des Gabelstaplers 1 in kurzer Zeit stark ändert und der Gabelstapler 1 somit wahrscheinlich verloren geht. Um eine stabile Selbstlokalisierung zu realisieren, müssen demgemäß die Schlüsselrahmen in ausreichend dichten Intervallen registriert werden, insbesondere in der Nähe einer Position, an der der Gabelstapler 1 wendet.
  • Wenn die Schlüsselrahmen spärlich sind, erhöht sich der Abstand von dem aktuellen Schlüsselrahmen, und somit verringert sich auch eine Korrekturgenauigkeit des Selbstlokalisierungsprozesses unter Verwendung einer mit jedem Schlüsselrahmen korrelierten Umwandlungsmatrix. Demgemäß ist es unter dem Gesichtspunkt einer Erhöhung der Korrekturgenauigkeit unter Verwendung einer Umwandlungsmatrix vorzuziehen, dass die Schlüsselrahmen mit einer geeigneten Dichte registriert werden.
  • In der Selbstlokalisierungsvorrichtung 10 gemäß dem ersten Ausführungsbeispiel wird das Sichtbild als ein Schlüsselrahmen registriert, wenn eine Bewegung des Gabelstaplers 1 eine Bedingung erfüllt, die für die Position und/oder die Haltung des Gabelstaplers 1 vorgeschrieben ist.
  • Wenn bei dieser Konfiguration beispielsweise bestimmte, von Bedingungen abhängige Bewegungsmodi auftreten, wie etwa eine Zeit einer geraden Bewegung des Gabelstaplers 1, bei der die Schlüsselrahmen wahrscheinlich spärlich sind, und eine Wendezeit des Gabelstaplers, bei der die Schlüsselrahmen dichter sein sollen, werden die Schlüsselrahmen mit größerer Wahrscheinlichkeit registriert als bei dem Stand der Technik. Demgemäß können Schlüsselrahmen in geeigneten Intervallen korrespondierend zu einer Bewegung des Gabelstaplers 1 eingefügt und die Selbstlokalisierung unter Verwendung einer Kamera stabilisiert werden.
  • In der Selbstlokalisierungsvorrichtung 10 gemäß dem ersten Ausführungsbeispiel, als Beispiel für die Bedingung, die für die Position des Gabelstaplers 1 vorgeschrieben ist, wird das Sichtbild als ein Schlüsselrahmen registriert, wenn ein Abstand zwischen der Position des Gabelstaplers 1 und einem Schlüsselrahmen (einem aktuellen Schlüsselrahmen), der mit der Position korreliert ist, gleich oder größer als ein vorbestimmter Abstandsschwellenwert ist (Schritt S06 in 6). Mit dieser Konfiguration können selbst in einer Situation, in der ein neuer Merkmalspunkt wahrscheinlich nicht beobachtet wird, wie etwa eine gerade Bewegung, Schlüsselrahmen in Intervallen registriert werden, die gleich oder kleiner als der Abstandsschwellenwert sind, und somit kann verhindert werden, dass die Schlüsselrahmen spärlich sind.
  • In der Selbstlokalisierungsvorrichtung 10 gemäß dem ersten Ausführungsbeispiel, als ein Beispiel für die Bedingung, die für die Haltung des Gabelstaplers 1 vorgeschrieben ist, wird das Sichtbild als ein Schlüsselrahmen registriert, wenn eine Winkelgeschwindigkeit des Gabelstaplers 1 während einer Bewegung gleich oder größer als ein vorbestimmter Winkelgeschwindigkeitsschwellenwert ist (Schritt S07 in 6).
  • Mit dieser Konfiguration werden die Schlüsselrahmen als entsprechend dicht registriert, wenn die Drehwinkelgeschwindigkeit gleich oder größer als der vorbestimmte Winkelgeschwindigkeitsschwellenwert ist, so dass ein Verlust des Gabelstaplers beim Wenden verhindert werden kann.
  • Die Reihenfolge des Bestimmungsprozesses der Schritte S05 bis S07 kann in geeigneter Weise geändert werden, und die vorliegende Offenbarung ist nicht auf die in 6 dargestellte Reihenfolge in anderen Ausführungsbeispielen beschränkt. In einem anderen Ausführungsbeispiel müssen nicht alle Schritte S05 bis S07 durchgeführt werden, und die vorstehend erwähnten Vorteile können durch die Durchführung von mindestens einem der Schritte S06 und S07 erzielt werden.
  • Modifiziertes Beispiel von erstem Ausführungsbeispiel
  • Zu dem Zeitpunkt einer Erstellung einer Karte unter Verwendung von ORB-SLAM, wenn ein Merkmalspunkt, der in einem bestimmten Schlüsselrahmen enthalten ist, in ausreichend vielen anderen Schlüsselrahmen beobachtet wird, kann ein Ausdünnungsprozess zum Löschen des Schlüsselrahmens unter dem Gesichtspunkt einer Verringerung einer Datenmenge durchgeführt werden. Um eine durch den Ausdünnungsprozess bedingte Dichte von Schlüsselrahmen zu verhindern, kann eine Selbstlokalisierungsvorrichtung 10 gemäß einem modifizierten Beispiel des ersten Ausführungsbeispiels den in 8 dargestellten Prozessablauf zum Zeitpunkt einer Erstellung einer Karte durchführen.
  • Prozessablauf zu dem Zeitpunkt einer Erstellung einer Karte
    8 ist ein Flussdiagramm, das einen Prozessablauf darstellt, der zu dem Zeitpunkt einer Erstellung einer Karte durch die Selbstlokalisierungsvorrichtung gemäß dem modifizierten Beispiel des ersten Ausführungsbeispiels durchgeführt wird.
  • Zu dem Zeitpunkt einer Erstellung einer Karte registriert die Schlüsselrahmenregistrierungseinheit 1002 einen n-ten Schlüsselrahmen (Schritt S10). Zu diesem Zeitpunkt weist die Schlüsselrahmenregistrierungseinheit 1002 dem n-ten Schlüsselrahmen „latest“ als Zeiger zu und fügt dem n-ten Schlüsselrahmen ein Löschverhinderungs-Flag hinzu. Zu diesem Zeitpunkt wird angenommen, dass „prev1“ einem (n-1)-ten Schlüsselrahmen als Zeiger auf den Schlüsselrahmen und „prev2“ einem (n-2)-ten Schlüsselrahmen als Zeiger auf den Schlüsselrahmen zugewiesen wird. Es wird auch angenommen, dass dem (n-1)-ten Schlüssel und dem (n-2)-ten Schlüsselrahmen auch ein Löschverhinderungs-Flag hinzugefügt wird.
  • Dann bestimmt die Schlüsselrahmenregistrierungseinheit 1002, ob ein Abstand zwischen der Position des durch „prev2“ gezeigten Schlüsselrahmens und der Position des durch „latest“ gezeigten Schlüsselrahmens gleich oder größer als ein vorbestimmter Abstand ist (Schritt S11).
  • Wenn der Abstand zwischen der Position des durch „prev2“ gezeigten Schlüsselrahmens und der Position des durch „latest“ gezeigten Schlüsselrahmens kleiner als der vorbestimmte Abstand ist (NEIN in Schritt S11), bestimmt die Schlüsselrahmenregistrierungseinheit 1002 dann, ob ein Winkel zwischen der Haltung des durch „prev2“ gezeigten Schlüsselrahmens und der Haltung des durch „latest“ gezeigten Schlüsselrahmens gleich oder größer als ein vorbestimmter Winkel ist (Schritt S12).
  • Wenn der Winkel zwischen der Haltung des durch „prev2“ gezeigten Schlüsselrahmens und der Haltung des durch „latest“ gezeigten Schlüsselrahmens kleiner als der vorbestimmte Winkel ist (NEIN in Schritt S12), bestimmt die Schlüsselrahmenregistrierungseinheit 1002 dann, ob der aktuelle Schlüsselrahmen der durch „prev1“ gezeigte Schlüsselrahmen ist (Schritt S13).
  • Wenn der aktuelle Schlüsselrahmen der durch „prev1“ gezeigte Schlüsselrahmen ist (JA in Schritt S13), sind Unterschiede in Abstand und Winkel zwischen „prev2“ und „latest“ gering, und der aktuelle Schlüsselrahmen mit einer Beziehung nahe dem Schlüsselrahmen von „latest“ ist „prev1“, und somit ist eine Wahrscheinlichkeit eines großen Einflusses der Ausdünnung (der Gabelstapler geht verloren, o.ä.) gering, selbst wenn der durch „prev1“ gezeigte Schlüsselrahmen ausgedünnt ist.
  • Demgemäß entfernt die Selbstlokalisierungsvorrichtung 10, wenn drei vorstehend beschriebene Bedingungen alle erfüllt sind (NEIN in Schritt S11, NEIN in Schritt S12 und JA in Schritt S13), das Löschverhinderungs-Flag, das dem Schlüsselrahmen von „prev1“ hinzugefügt wird, und sie ersetzt den Zeiger des durch „latest“ gezeigten Schlüsselrahmens durch „prev1“ (Schritt S14). Danach registriert die Schlüsselrahmenregistrierungseinheit 1002 einen nächsten Schlüsselrahmen und weist dem Schlüsselrahmen einen Zeiger von „latest“ zu (Schritt S15).
  • Andererseits, wenn eine der drei Bedingungen nicht erfüllt ist (JA in Schritt S11, JA in Schritt S12 oder NEIN in Schritt S13) und der durch „prev1“ gezeigte Schlüsselrahmen ausgedünnt wird, nimmt das Abstands- (oder das Winkel-) Intervall zwischen dem Schlüsselrahmen „prev2“ und dem Schlüsselrahmen von „latest“ stark zu, und es ist denkbar, dass ein großer Einfluss wahrscheinlich ist (der Gabelstapler 1 geht verloren, o.ä.). Deshalb entfernt die Schlüsselrahmenregistrierungseinheit 1002 in diesem Fall nicht das Löschverhinderungs-Flag von „prev1“, sondern ersetzt den Zeiger des durch „latest“ gezeigten Schlüsselrahmens durch „prev1“, und sie ersetzt den Zeiger des durch „prev1“ gezeigten Schlüsselrahmens durch „prev2“ (Schritt S16).
  • Danach registriert die Schlüsselrahmenregistrierungseinheit 1002 einen nächsten Schlüsselrahmen und weist dem Schlüsselrahmen einen Zeiger von „latest“ zu (Schritt S17).
  • Die Schlüsselrahmenregistrierungseinheit 1002 führt die Prozesse der Schritte S11 bis S17 wiederholt durch, bis der Prozess zum Erstellen einer Karte endet (Schritt S18).
  • Wie vorstehend beschrieben, führt die Schlüsselrahmenregistrierungseinheit 1002 gemäß dem modifizierten Beispiel des ersten Ausführungsbeispiels einen Prozess zum Ausdünnen einer Vielzahl von registrierten Schlüsselrahmen auf der Basis der Tatsache durch, ob ein Löschverhinderungs-Flag vorliegt. Dann bestimmt die Schlüsselrahmenregistrierungseinheit 1002 mit Bezug auf einen Zielschlüsselrahmen (prev1), zu dem bestimmt wird, ob ein Löschverhinderungs-Flag hinzuzufügen ist, ob ein Löschverhinderungs-Flag zu dem Zielschlüsselrahmen hinzuzufügen ist, auf der Basis einer Beziehung bzgl. einer Position und Haltung zwischen dem Schlüsselrahmen (prev2), der vor dem Zielschlüsselrahmen registriert wird, und dem Schlüsselrahmen (latest), der nach dem Zielschlüsselrahmen registriert wird.
  • Da mit dieser Konfiguration in einem Schlüsselrahmen ein Löschverhinderungs-Flag gesetzt wird, das wahrscheinlich einen großen Einfluss auf eine Dichte von Schlüsselrahmen haben wird, ist es möglich, eine geeignete Dichte von Schlüsselrahmen in Abhängigkeit von der Position und der Haltung des Gabelstaplers 1 selbst nach dem Ausdünnungsprozess sicherzustellen.
  • Die Reihenfolge des Bestimmungsprozesses der Schritte S11 bis S13 kann in geeigneter Weise geändert werden, und die vorliegende Offenbarung beschränkt sich nicht auf die in 8 in einem anderen Ausführungsbeispiel dargestellte Reihenfolge. In einem anderen Ausführungsbeispiel müssen nicht alle Schritte S11 bis S13 durchgeführt werden, und die vorstehend erwähnten Vorteile können durch Durchführen von mindestens einem der Schritte S11 und S13 erzielt werden.
  • Zweites Ausführungsbeispiel
  • Nachstehend werden eine Selbstlokalisierungsvorrichtung gemäß einem zweiten Ausführungsbeispiel und ein mobiles Objekt einschließlich der Selbstlokalisierungsvorrichtung mit Bezug auf die 9 und 10 beschrieben.
  • Prozess einer Kartenleseeinheit
  • 9 ist ein Diagramm, das einen Prozess darstellt, der von einer Kartenleseeinheit gemäß dem zweiten Ausführungsbeispiel durchgeführt wird.
  • Das zweite Ausführungsbeispiel unterscheidet sich von dem ersten Ausführungsbeispiel dadurch, dass die Kartenleseeinheit 1003 gemäß dem ersten Ausführungsbeispiel zu dem Zeitpunkt eines tatsächlichen Betriebs den gesamten Bereich der Karte M in den Datenspeicher 101 lädt (liest), die Kartenleseeinheit 1003 gemäß dem zweiten Ausführungsbeispiel jedoch einen Teilbereich der Karte M in den Datenspeicher liest.
  • Zu dem Zeitpunkt eines tatsächlichen Betriebs lädt die Kartenleseeinheit 1003 gemäß dem zweiten Ausführungsbeispiel nur Schlüsselrahmen, die zu einem vorbestimmten Bereich (einem Lesebereich MR) gehören auf der Basis der Position des Gabelstaplers 1, die in dem Selbstlokalisierungsprozess auf der Basis von ORB-SLAM in dem Datenspeicher 101 geschätzt wird. In 9 definiert die Kartenleseeinheit 1003, wenn sich die Position des Gabelstaplers 1 bewegt, einen neuen Lesebereich MR auf der Basis der Position zu diesem Zeitpunkt (eine Position, die auf der Basis eines erfassten Bildes Fc geschätzt wird) und lädt Schlüsselrahmen KFa, die zu dem Lesebereich MR gehören, in den Datenspeicher 101. Dann entlädt die Kartenleseeinheit 1003 Schlüsselrahmen KFb, die nicht zu dem Lesebereich MR gehören, aus dem Datenspeicher 101.
  • Da mit dieser Konfiguration nur für den Selbstlokalisierungsprozess auf der Basis der aktuellen Position des Gabelstaplers 1 erforderliche minimale Schlüsselrahmen in den Datenspeicher 101 geladen werden, ist es möglich, einen Nutzungsbereich des Datenspeichers 101 zu speichern, während eine Genauigkeit des Selbstlokalisierungsprozesses beibehalten wird.
  • Wie in 9 dargestellt, hat der Lesebereich MR gemäß dem zweiten Ausführungsbeispiel eine Form, die in der Vorwärts-Rückwärts-Richtung des Gabelstaplers 1 (eine X-Achsen-Richtung in dem in 9 dargestellten Beispiel) breiter ist als in der Breitenrichtung des Gabelstaplers 1 (eine Y-Achsen-Richtung in dem in 9 dargestellten Beispiel) (eine Form, bei der eine fächerartige Form mit einer Kreisform kombiniert ist, die auf die aktuelle Position des Gabelstaplers 1 in der Vorwärts-Rückwärts-Richtung des Gabelstaplers 1 zentriert ist, wie in 9 dargestellt). Obwohl sich der Gabelstapler 1 für eine kurze Zeit in der Vorwärts-Rückwärts-Richtung bewegen kann, werden viele Merkmalspunkte in der Vorwärts-Rückwärts-Richtung unter Verwendung der vorstehend erwähnten Form geladen. Wenn sich der Gabelstapler 1 in der Vorwärts-Rückwärts-Richtung bewegt, ist es demgemäß möglich, eine Verknappung der Merkmalspunkte zu verhindern, die auf der Karte M abzugleichen sind.
  • In einem anderen Ausführungsbeispiel ist der Lesebereich MR nicht auf die vorstehend erwähnte Form beschränkt und kann basierend (zentriert) auf der Position des Gabelstaplers 1 in kreisförmiger oder rechteckiger Form definiert werden.
  • Modifiziertes Beispiel eines zweiten Ausführungsbeispiels
  • 10 ist ein Diagramm, das einen Prozess darstellt, der von der Kartenleseeinheit gemäß dem zweiten Ausführungsbeispiel durchgeführt wird.
  • Zu dem Zeitpunkt eines tatsächlichen Betriebs lädt die Kartenleseeinheit 1003 gemäß dem modifizierten Beispiel des zweiten Ausführungsbeispiels nur Schlüsselrahmen, die zu einem Lesebereich MR gehören, der zu einer bestimmten Fahrtroute korrespondiert, in den Datenspeicher 101. In 10 ist der Lesebereich MR definiert, um zu einer Fahrtroute R zu korrespondieren. Wenn sich eine Fahrtroute (z.B. die Fahrtroute R), auf der der Gabelstapler 1 fahren soll, ändert, ändert die Kartenleseeinheit 1003 den Lesebereich MR zu einem Lesebereich, der zu der geänderten Fahrtroute korrespondiert (z.B. eine Fahrtroute R'). Ähnlich wie bei dem zweiten Ausführungsbeispiel lädt die Kartenleseeinheit 1003 Schlüsselrahmen KFa, die zu dem Lesebereich MR gehören, in den Datenspeicher 101 und entlädt Schlüsselrahmen KFb, die nicht zu dem Lesebereich MR gehören, aus dem Datenspeicher 101.
  • Da mit dieser Konfiguration nur für den Selbstlokalisierungsprozess auf der Basis der aktuellen Position des Gabelstaplers 1 erforderliche minimale Schlüsselrahmen in den Datenspeicher 101 geladen werden, ist es möglich, einen Nutzungsbereich des Datenspeichers 101 zu speichern, während eine Genauigkeit des Selbstlokalisierungsprozesses beibehalten wird.
  • Eine bestimmte Fahrtroute kann in Abhängigkeit von einem Ziel oder einer Art einer Aufgabe des Gabelstaplers 1 bestimmt werden. Beispielsweise werden in der Nähe einer Produktionslinie, in der Kisten mit darin untergebrachten Produkten auf Paletten angeordnet werden, (1) eine Aufgabe zum Transportieren einer leeren Palette zu der Produktionslinie und (2) eine Aufgabe zum Transportieren einer Palette mit Produkten von der Produktionslinie zu einem Produktlager und der vorübergehenden Anordnung durchgeführt. Zu dem Zeitpunkt eines Beginns der Aufgabe (1) lädt die Kartenleseeinheit 1003 nur Schlüsselrahmen, die zu einer Fahrtroute korrespondieren, von einem Ort, an dem Paletten gestapelt sind, zu der Produktionslinie. Wenn dann die Aufgabe (2) durchgeführt wird, entlädt die Kartenleseeinheit 1003 die in der Aufgabe (1) geladenen Schlüsselrahmen und lädt erneut Schlüsselrahmen, die zu einer Fahrtroute korrespondieren, von der Produktionslinie zu dem Lager.
  • Drittes Ausführungsbeispiel
  • Nachstehend werden eine Selbstlokalisierungsvorrichtung gemäß einem dritten Ausführungsbeispiel und ein mobiles Objekt einschließlich der Selbstlokalisierungsvorrichtung mit Bezug auf 11 und 12 beschrieben.
  • Prozess einer Relokalisierungsverarbeitungseinheit
    11 ist ein Diagramm, das einen Prozessablauf darstellt, der von einer Relokalisierungsverarbeitungseinheit gemäß dem dritten Ausführungsbeispiel durchgeführt wird.
  • 12 ist ein Diagramm, das einen Prozess darstellt, der von der Relokalisierungsverarbeitungseinheit gemäß dem dritten Ausführungsbeispiel durchgeführt wird.
  • Die Relokalisierungsverarbeitungseinheit 1004 gemäß dem dritten Ausführungsbeispiel identifiziert einen Bereich, in dem Schlüsselrahmen gesucht werden (nachstehend einfach als Suchbereich bezeichnet) auf der Basis von Hardwarebeschränkungen des Gabelstaplers 1 und sucht nach Schlüsselrahmen, die zu dem Suchbereich gehören. Der in 11 dargestellte Prozessablauf stellt einen Prozessablauf eines Relokalisierungsprozesses dar, der von der Relokalisierungsverarbeitungseinheit 1004 gemäß dem dritten Ausführungsbeispiel durchgeführt wird, wenn der Selbstlokalisierungsprozess zu dem Zeitpunkt einer Erstellung einer Karte oder zu dem Zeitpunkt eines tatsächlichen Betriebs fehlgeschlagen ist (der Gabelstapler geht verloren).
  • Wie in 11 dargestellt, löscht zunächst die Relokalisierungsverarbeitungseinheit 1004 der Selbstlokalisierungsvorrichtung 10 den Suchbereich von Schlüsselrahmen (Schritt S30).
  • Dann wählt die Relokalisierungsverarbeitungseinheit 1004 einen von allen in der Schlüsselrahmentabelle (3) registrierten Schlüsselrahmen aus (Schritt S31).
  • Dann bestimmt die Relokalisierungsverarbeitungseinheit 1004, ob der in Schritt S31 ausgewählte Schlüsselrahmen in einem Bereich vorliegt, der eine Beschränkung einer maximalen Geschwindigkeit des Gabelstaplers 1 mit Bezug auf die Position des Gabelstaplers erfüllt, die unmittelbar vor dem Verlust des Gabelstaplers 1 geschätzt wurde (Schritt S32).
  • Wenn der ausgewählte Schlüsselrahmen in einem Bereich vorliegt, der die Beschränkung auf eine maximale Geschwindigkeit des Gabelstaplers 1 erfüllt (JA in Schritt S32), bestimmt die Relokalisierungsverarbeitungseinheit 1004 dann, ob der ausgewählte Schlüsselrahmen in einem Bereich vorliegt, der eine Beschränkung auf eine maximale Winkelgeschwindigkeit des Gabelstaplers 1 mit Bezug auf die Haltung des Gabelstaplers erfüllt, die unmittelbar vor dem Verlust des Gabelstaplers 1 geschätzt wurde (Schritt S33).
  • Wenn der ausgewählte Schlüsselrahmen in dem Bereich vorliegt, der die Beschränkung auf die maximale Winkelgeschwindigkeit des Gabelstaplers 1 erfüllt (JA in Schritt S33), bestimmt die Relokalisierungsverarbeitungseinheit 1004 dann, ob eine Position des ausgewählten Schlüsselrahmens ausreichend nahe an einer geschätzten Position auf der Basis der Odometrie liegt (Schritt S34). Dabei ist die geschätzte Position auf der Basis der Odometrie eine Position des Gabelstaplers 1, die unter Verwendung der Erfassungsergebnisse des Reifendrehwinkelsensors 12 (1) und des Lenkwinkelsensors 13 (1), die in dem Gabelstapler 1 montiert sind, geschätzt wird. Die Relokalisierungsverarbeitungseinheit 1004 schätzt eine Selbstposition auf der Basis der Erfassungsergebnisse des Reifendrehwinkelsensors 12 (1) und des Lenkwinkelsensors 13 (1) auf der Basis der Position des Gabelstaplers, die auf der Basis von ORB-SLAM unmittelbar vor dem Verlust des Gabelstaplers geschätzt wurde.
  • Wenn die Position des ausgewählten Schlüsselrahmens ausreichend nahe an der geschätzten Position auf der Basis der Odometrie liegt (JA in Schritt S34), bestimmt die Relokalisierungsverarbeitungseinheit 1004 dann, ob eine Haltung des ausgewählten Schlüsselrahmens ausreichend nahe an einer von dem Gyrosensor 14 (1) geschätzten Haltung liegt (Schritt S35). Die durch den Gyrosensor 14 geschätzte Haltung ist eine geschätzte Haltung des Gabelstaplers 1, die beispielsweise durch Integrieren einer von dem Gyrosensor 14 erfassten Winkelgeschwindigkeit erhalten wird.
  • Wenn die Position des ausgewählten Schlüsselrahmens ausreichend nahe an einer von dem Gyrosensor 14 geschätzten Position liegt (JA in Schritt S34), fügt die Relokalisierungsverarbeitungseinheit 1004 den ausgewählten Schlüsselrahmen dem Suchbereich hinzu (Schritt S36).
  • Wenn andererseits eines der Bestimmungsergebnisse der Schritte S32 bis S35 NEIN ist, fügt die Relokalisierungsverarbeitungseinheit 1004 den ausgewählten Schlüsselrahmen nicht dem Suchbereich hinzu und führt einen nächsten Schritt durch.
  • Die Relokalisierungsverarbeitungseinheit 1004 bestimmt, ob alle in der Schlüsselrahmentabelle registrierten Schlüsselrahmen ausgewählt und die Prozesse der Schritte S32 bis S36 darauf durchgeführt wurden (Schritt S37).
  • Wenn nicht alle Schlüsselrahmen ausgewählt wurden (NEIN in Schritt S37), wählt die Relokalisierungsverarbeitungseinheit 1004 einen nächsten Schlüsselrahmen aus (Schritt S38) und führt die Prozesse der Schritte S32 bis S36 auf dem Schlüsselrahmen durch.
  • Wenn alle Schlüsselrahmen ausgewählt wurden (JA in Schritt S37), führt die Relokalisierungsverarbeitungseinheit 1004 eine Relokalisierung nur für die Schlüsselrahmen durch, die dem Suchbereich hinzugefügt wurden (Schritt S39).
  • Der in 12 dargestellte Suchbereich TR ist ein Bereich, in dem die Bestimmungsprozesse der Schritte S32 bis S38 erfüllt sind. D.h., durch Durchführen der Bestimmungsprozesse der Schritte S32 bis S38 setzt die Relokalisierungsverarbeitungseinheit 1004 Schlüsselrahmen KFd, die zu dem Suchbereich TR gehören, der durch Hardwarebeschränkungen als Suchobjekte in der Relokalisierung definiert ist, und setzt Schlüsselrahmen KFe, die nicht zu dem Suchbereich TR gehören, nicht als Suchobjekte auf der Basis der Position Pc und der Haltung Ac, die unter Verwendung von ORB-LSAM unmittelbar vor dem Verlust des Gabelstaplers geschätzt werden.
  • Wie vorstehend beschrieben, identifiziert die Relokalisierungsverarbeitungseinheit 1004 gemäß dem dritten Ausführungsbeispiel einen Bereich, der als eine aktuelle Position des Gabelstaplers 1 als ein Suchbereich für Schlüsselrahmen angenommen werden kann, unter Verwendung einer Position, die zuletzt in dem Selbstlokalisierungsprozess geschätzt wird, und einer maximalen Geschwindigkeit, die eine Hardwarebeschränkung des Gabelstaplers 1 darstellt.
  • Die Relokalisierungsverarbeitungseinheit 1004 gemäß dem dritten Ausführungsbeispiel identifiziert einen Bereich, der als eine aktuelle Haltung des Gabelstaplers 1 als ein Suchbereich für Schlüsselrahmen angenommen werden kann, unter Verwendung einer Haltung, die zuletzt in dem Selbstlokalisierungsprozess geschätzt wird, und einer maximalen Winkelgeschwindigkeit, die eine Hardwarebeschränkung des Gabelstaplers 1 darstellt.
  • Die Relokalisierungsverarbeitungseinheit 1004 gemäß dem dritten Ausführungsbeispiel identifiziert auf der Basis der Odometrie (dem Reifendrehwinkelsensor 12 und dem Lenkwinkelsensor 13) einen Bereich, der der geschätzten Position ausreichend nahe kommt (d.h., einen Bereich, der als ein Fehler der geschätzten Position auf der Basis der Odometrie betrachtet werden kann), als einen Suchbereich für Schlüsselrahmen.
  • Die Relokalisierungsverarbeitungseinheit 1004 gemäß dem dritten Ausführungsbeispiel identifiziert einen Bereich, der der von dem Gyrosensor 14 geschätzten Haltung ausreichend nahe kommt (d.h., einen Bereich, der als ein Fehler der von dem Gyrosensor 14 geschätzten Haltung betrachtet werden kann), als einen Suchbereich für Schlüsselrahmen.
  • Da mit dieser Konfiguration ein Schlüsselrahmen mit einer Position und einer Haltung, die scheinbar außerhalb der Hardwarebeschränkungen des Gabelstaplers 1 liegen, von den Suchobjekten für eine Relokalisierung ausgeschlossen werden kann, ist es möglich, eine Effizienzzunahme und eine Geschwindigkeitszunahme des Relokalisierungsprozesses zu erzielen.
  • Die Reihenfolge des Bestimmungsprozesses der Schritte S32 bis S35 kann in geeigneter Weise geändert werden, und die vorliegende Offenbarung beschränkt sich nicht auf die in 11 in einem anderen Ausführungsbeispiel dargestellte Reihenfolge. In einem anderen Ausführungsbeispiel müssen nicht alle Schritte S32 bis S35 durchgeführt werden, und die vorstehend erwähnten Vorteile können durch Durchführen von mindestens einem der Schritte S32 und S35 erzielt werden.
  • Viertes Ausführungsbeispiel
  • Nachstehend werden eine Selbstlokalisierungsvorrichtung gemäß einem vierten Ausführungsbeispiel und ein mobiles Objekt einschließlich der Selbstlokalisierungsvorrichtung mit Bezug auf 13 beschrieben.
  • Prozess einer Selbstlokalisierungsverarbeitungseinheit 13 ist ein Diagramm, das eine Funktion einer Selbstlokalisierungsverarbeitungseinheit gemäß dem vierten Ausführungsbeispiel darstellt.
  • Die Selbstlokalisierungsverarbeitungseinheit 1001 gemäß dem vierten Ausführungsbeispiel korrigiert eine Position und eine Haltung, die durch den Selbstlokalisierungsprozess geschätzt werden, so dass Trajektorien der Position und der Haltung des Gabelstaplers 1 geglättet werden.
  • Mit Bezug auf 7 wurde vorstehend beschrieben, dass die Selbstlokalisierungsverarbeitungseinheit 1001 die Position Pa und die Haltung Aa mit höherer Genauigkeit berechnet, indem das Ergebnis des Selbstlokalisierungsprozesses auf der Basis von ORB-SLAM (die Position Pa' und die Haltung Aa') mit der Umwandlungsmatrix Tn, die mit dem aktuellen Schlüsselrahmen (dem Schlüsselrahme KFn) korreliert ist, multipliziert wird.
  • In diesem Fall können die folgenden Probleme auftreten. D.h., eine mit einem Schlüsselrahmen KFn korrelierte Umwandlungsmatrix Tn und eine mit einem Schlüsselrahmen KFn+1 korrelierte Umwandlungsmatrix Tn+1 sind unterschiedliche Umwandlungsmatrizen. Während einer Bewegung des Gabelstaplers 1 wird der aktuelle Schlüsselrahmen, der für den Selbstlokalisierungsprozess verwendet wird, an einer bestimmten Position beispielsweise von dem Schlüsselrahmen KFn auf den Schlüsselrahmen KFn+1 umgeschaltet. Dann wird mit dem Umschalten des aktuellen Schlüsselrahmens die Umwandlungsmatrix, die zum Korrigieren einer Abweichung von einem wahren Wert verwendet wird, von der Umwandlungsmatrix Tn auf die Umwandlungsmatrix Tn+1 umgeschaltet. In diesem Fall kann beispielsweise, wie in 13 dargestellt, ein Sprung zwischen der durch die Umwandlungsmatrix Tn korrigierten Position und Haltung und der durch die Umwandlungsmatrix Tn+1 korrigierten Position und Haltung auftreten, und eine diskontinuierliche Trajektorie kann erhalten werden.
  • Deshalb führt die
  • Selbstlokalisierungsverarbeitungseinheit 1001 gemäß diesem Ausführungsbeispiel einen vorbestimmten Glättungsprozess an der Position und der Haltung durch, die durch den Selbstlokalisierungsprozess geschätzt werden. Die Selbstlokalisierungsverarbeitungseinheit 1001 gibt die durch den Glättungsprozess erhaltene Position und Haltung als die Position und die Haltung des Gabelstaplers 1 aus. Dieser Glättungsprozess kann beispielsweise unter Verwendung eines Filters für eine gleitende Mittelung bereitgestellt werden.
  • Mit dieser Konfiguration zeichnet die geschätzte Selbstposition eine kontinuierliche Trajektorie. Demgemäß kann eine plötzliche Änderung eines Lenkwinkels bei dem Gabelstapler 1 verhindert werden, der eine automatische Lenkung auf der Basis des Schätzergebnisses der Position und der Haltung durchführt.
  • Modifiziertes Beispiel von Ausführungsbeispielen
  • Während die Selbstlokalisierungsvorrichtungen 10 gemäß dem ersten bis vierten Ausführungsbeispiel und die mobilen Objekte (die Gabelstapler 1) einschließlich der Selbstlokalisierungsvorrichtung 10 vorstehend detailliert beschrieben wurden, sind die spezifischen Aspekte der Selbstlokalisierungsvorrichtungen 10 und der mobilen Objekte nicht auf die vorstehende Beschreibung beschränkt, und es können verschiedene Änderungen in der Konstruktion o.ä. daran vorgenommen werden, ohne von dem Wesentlichen abzuweichen.
  • Ein mobiles Objekt, auf das die Selbstlokalisierungsvorrichtung 10 angewendet werden kann, ist beispielsweise nicht auf einen Gabelstapler beschränkt und kann auf ein unbemanntes Flugzeug (eine Drohne) o.ä. angewendet werden. In diesem Fall kann die Selbstlokalisierungsvorrichtung 10 eine Eingabe eines Erfassungswertes von einem Beschleunigungssensor oder einem Gyrosensor, der in einer Drohne montiert ist, empfangen, und ein aktuelles Sichtbild als einen Schlüsselrahmen registrieren, wenn der Erfassungswert eine vorgeschriebene Bedingung erfüllt.
  • In den vorstehend beschriebenen Ausführungsbeispielen werden verschiedene Prozesse der Selbstlokalisierungsvorrichtung 10 in Form eines Programms auf einem computerlesbaren Aufzeichnungsmedium gespeichert, und die verschiedenen Prozesse werden durchgeführt, indem bewirkt wird, dass ein Computer das Programm liest und ausführt. Beispiele für das computerlesbare Aufzeichnungsmedium umfassen eine Magnetplatte, eine magnetooptische Platte, eine CD-ROM, eine DVD-ROM und einen Halbleiterspeicher. Das Computerprogramm kann über eine Kommunikationsleitung an einen Computer übertragen werden, und der Computer, der das Computerprogramm empfangen hat, kann das Computerprogramm ausführen.
  • Das Programm kann zum Realisieren einiger der vorstehend erwähnten Funktionen dienen. Das Programm kann ein Programm sein, das die Funktionen in Kombination mit einem Programm realisieren kann, das vorab in einem Computersystem aufgezeichnet wird, d.h., eine sogenannte Differentialdatei (ein Differentialprogramm).
  • Gemäß einem zweiten Aspekt der vorliegenden Offenbarung kann die Registrierungseinheit konfiguriert sein, um das Sichtbild als einen Schlüsselrahmen zu registrieren, wenn ein Abstand zwischen der Position des mobilen Objekts und einem der Position zugeordneten Schlüsselrahmen gleich oder größer als ein vorbestimmter Abstandsschwellenwert ist.
  • Gemäß einem dritten Aspekt der vorliegenden Offenbarung kann die Registrierungseinheit konfiguriert sein, um das Sichtbild als einen Schlüsselrahmen zu registrieren, wenn eine Winkelgeschwindigkeit des mobilen Objekts während einer Bewegung gleich oder größer als ein vorbestimmter Winkelgeschwindigkeitsschwellenwert ist.
  • Gemäß einem vierten Aspekt der vorliegenden Offenbarung kann die Registrierungseinheit konfiguriert sein, um einen Ausdünnungsprozess bezüglich der Vielzahl von registrierten Schlüsselrahmen auf der Basis der Tatsache durchzuführen, ob ein Löschverhinderungs-Flag vorliegt. Die Registrierungseinheit kann konfiguriert sein, um zu bestimmen, ob das Löschverhinderungs-Flag einem Zielschlüsselrahmen, der einer der mehreren Schlüsselrahmen ist, auf der Basis einer Beziehung von einer Position und/oder einer Haltung zwischen einem Schlüsselrahmen, der vor dem Zielschlüsselrahmen registriert wird, und einem Schlüsselrahmen, der nach dem Zielschlüsselrahmen registriert wird, hinzuzufügen ist.
  • Gemäß einem fünften Aspekt der vorliegenden Offenbarung kann die Selbstlokalisierungsvorrichtung ferner eine Leseeinheit umfassen, die konfiguriert ist, um einen Teilbereich der Karte in einen Speicher zu lesen.
  • Gemäß einem sechsten Aspekt der vorliegenden Offenbarung kann die Leseeinheit konfiguriert sein, um den Teilbereich auf der Basis der Position des mobilen Objekts auf der Karte in den Speicher zu lesen.
  • Gemäß einem siebten Aspekt der vorliegenden Offenbarung kann die Leseeinheit konfiguriert sein, um den Teilbereich, der in einer Vorwärts-Rückwärts-Richtung des mobilen Objekts breiter ist als in einer Breitenrichtung des mobilen Objekts auf der Karte, in den Speicher zu lesen.
  • Gemäß einem achten Aspekt der vorliegenden Offenbarung kann die Leseeinheit konfiguriert sein, um den Teilbereich, der zu einer bestimmten Fahrtroute auf der Karte korrespondiert, in den Speicher zu lesen.
  • Gemäß einem neunten Aspekt der vorliegenden Offenbarung kann die Selbstlokalisierungsvorrichtung ferner eine Verarbeitungseinheit umfassen, die konfiguriert ist, um eine Relokalisierung einer Suche nach dem Schlüsselrahmen durchzuführen, wenn der Selbstlokalisierungsprozess fehlschlägt. Die Verarbeitungseinheit kann konfiguriert sein, um einen Suchbereich auf der Basis von Beschränkungen einer Hardware des mobilen Objekts zu identifizieren und nach in dem Suchbereich enthaltenen Schlüsselrahmen zu suchen.
  • Gemäß einem zehnten Aspekt der vorliegenden Offenbarung kann die Verarbeitungseinheit konfiguriert sein, um einen Bereich, der als eine aktuelle Position des mobilen Objekts als der Suchbereich zu nehmen ist, auf der Basis der in dem Selbstlokalisierungsprozess geschätzten Position und einer maximalen Geschwindigkeit des mobilen Objekts zu identifizieren.
  • Gemäß einem elften Aspekt der vorliegenden Offenbarung kann die Verarbeitungseinheit konfiguriert sein, um einen Bereich, der als eine aktuelle Position des mobilen Objekts als der Suchbereich zu nehmen ist, auf der Basis der in dem Selbstlokalisierungsprozess geschätzten Haltung und einer maximalen Winkelgeschwindigkeit des mobilen Objekts zu identifizieren.
  • Gemäß einem zwölften Aspekt der vorliegenden Offenbarung kann die Verarbeitungseinheit konfiguriert sein, um einen Bereich zu identifizieren, der als ein Fehler einer geschätzten Position auf der Basis der Odometrie mit Bezug auf die in dem Selbstlokalisierungsprozess geschätzte Position als der Suchbereich zu betrachten ist.
  • Gemäß einem dreizehnten Aspekt der vorliegenden Offenbarung kann die Verarbeitungseinheit konfiguriert sein, um einen Bereich zu identifizieren, der als ein Fehler einer geschätzten Haltung auf der Basis eines Gyrosensors mit Bezug auf die in dem Selbstlokalisierungsprozess geschätzte Haltung als der Suchbereich zu betrachten ist.
  • Gemäß einem vierzehnten Aspekt der vorliegenden Offenbarung kann die Schätzeinheit konfiguriert sein, um die Position und die Haltung, die in dem Selbstlokalisierungsprozess geschätzt werden, so zu korrigieren, dass Trajektorien der Position und der Haltung des mobilen Objekts in dem Weltkoordinatensystem geglättet werden.
  • Gemäß einem fünfzehnten Aspekt der vorliegenden Offenbarung kann die Schätzeinheit konfiguriert sein, um die Position und die Haltung, die in dem Selbstlokalisierungsprozess geschätzt werden, unter Verwendung eines Filters für eine gleitende Mittelung zu korrigieren.
  • Gemäß einem sechzehnten Aspekt der vorliegenden Offenbarung wird ein Selbstlokalisierungsverfahren bereitgestellt, das Folgendes umfasst: einen Schritt zum Erfassen eines Sichtbildes von einer Kamera, die in einem mobilen Objekt montiert ist; einen Schritt zum Durchführen eines Selbstlokalisierungsprozesses zum Schätzen einer Position und einer Haltung des mobilen Objekts in einem Weltkoordinatensystem auf der Basis von Positionen von Merkmalspunkten in dem Sichtbild und einer Karte, auf der Positionen einer Vielzahl von Merkmalspunkten in dem Weltkoordinatensystem aufgezeichnet werden; und einen Schritt zum Registrieren des Sichtbildes als einen Schlüsselrahmen zum Hinzufügen eines neuen Merkmalspunktes, der in dem Sichtbild enthalten ist, zu der Karte. Der Schritt zum Registrieren des Sichtbildes als der Schlüsselrahmen umfasst ein Registrieren des Sichtbildes als den Schlüsselrahmen, wenn eine Bewegung des mobilen Objekts eine Bedingung erfüllt, die für die Position und/oder die Haltung des mobilen Objekts vorgeschrieben ist.
  • Gemäß einem siebzehnten Aspekt der vorliegenden Offenbarung wird ein Programm bereitgestellt, das bewirkt, dass ein Computer einer Selbstlokalisierungsvorrichtung Folgendes durchführt: einen Schritt zum Erfassen eines Sichtbildes von einer Kamera, die in einem mobilen Objekt montiert ist; einen Schritt zum Durchführen eines Selbstlokalisierungsprozesses zum Schätzen einer Position und einer Haltung des mobilen Objekts in einem Weltkoordinatensystem auf der Basis von Positionen von Merkmalspunkten in dem Sichtbild und einer Karte, auf der Positionen einer Vielzahl von Merkmalspunkten in dem Weltkoordinatensystem aufgezeichnet sind; und einen Schritt zum Registrieren des Sichtbildes als einen Schlüsselrahmen zum Hinzufügen eines neuen Merkmalspunktes, der in dem Sichtbild enthalten ist, zu der Karte. Der Schritt zum Registrieren des Sichtbildes als den Schlüsselrahmen umfasst ein Registrieren des Sichtbildes als den Schlüsselrahmen, wenn eine Bewegung des mobilen Objekts eine Bedingung erfüllt, die für die Position und/oder die Haltung des mobilen Objekts vorgeschrieben ist.
  • Während einige Ausführungsbeispiele der vorliegenden Offenbarung vorstehend beschrieben und dargestellt wurden, ist zu verstehen, dass diese beispielhaft für die vorliegende Offenbarung sind und nicht als Einschränkung des Umfangs der vorliegenden Offenbarung zu betrachten sind. Diese Ausführungsbeispiele können in verschiedenen Formen modifiziert werden, und es können Auslassungen, Ersetzungen und andere Modifikationen vorgenommen werden, ohne von dem Kern der vorliegenden Offenbarung abzuweichen. Demgemäß gehören die Ausführungsbeispiele und Modifikationen zu dem Umfang der vorliegenden Offenbarung, der in den beigefügten Patentansprüchen beschrieben wird, und zu einem äquivalenten Bereich davon in derselben Weise wie zu dem Umfang oder Kern der vorliegenden Offenbarung.
  • [Bezugszeichenliste]
  • 1
    Gabelstapler (mobiles Objekt)
    10
    Selbstlokalisierungsvorrichtung
    100
    CPU
    1000
    Sichtbilderfassungseinheit (Erfassungseinheit)
    1001
    Selbstlokalisierungsverarbeitungseinheit (Schätzeinheit)
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2019 [0001]
    • JP 041991 [0001]
    • JP 2012248032 [0006]
  • Zitierte Nicht-Patentliteratur
    • „Adi Sujiwo, Eijiro Takeuchi, Luis Yoichi Morales, Naoki Akai, Yoshiki Ninomiya and Masato Edahiro, „Localization Based on Multiple Visual-Metric Maps“ in Proc of IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems, 2017.“ [0007]

Claims (17)

  1. Eine Selbstlokalisierungsvorrichtung, aufweisend: eine Erfassungseinheit, die konfiguriert ist, um ein Sichtbild von einer Kamera zu erfassen, die in einem mobilen Objekt montiert ist; eine Schätzeinheit, die konfiguriert ist, um einen Selbstlokalisierungsprozess zum Schätzen einer Position und einer Haltung des mobilen Objekts in einem Weltkoordinatensystem auf der Basis von Positionen von Merkmalspunkten in dem Sichtbild und einer Karte, auf der Positionen einer Vielzahl von Merkmalspunkten in dem Weltkoordinatensystem aufgezeichnet sind, durchzuführen; und eine Registrierungseinheit, die konfiguriert ist, um das Sichtbild als einen Schlüsselrahmen zum Hinzufügen eines in dem Sichtbild enthaltenen neuen Merkmalspunktes zu der Karte zu registrieren, wobei die Registrierungseinheit konfiguriert ist, um das Sichtbild als den Schlüsselrahmen zu registrieren, wenn eine Bewegung des mobilen Objekts eine Bedingung erfüllt, die für die Position und/oder die Haltung des mobilen Objekts vorgeschrieben ist.
  2. Die Selbstlokalisierungsvorrichtung nach Anspruch 1, wobei die Registrierungseinheit konfiguriert ist, um das Sichtbild als einen Schlüsselrahmen zu registrieren, wenn ein Abstand zwischen der Position des mobilen Objekts und einem der Position zugeordneten Schlüsselrahmen gleich oder größer als ein vorbestimmter Abstandsschwellenwert ist.
  3. Die Selbstlokalisierungsvorrichtung nach Anspruch 1 oder 2, wobei die Registrierungseinheit konfiguriert ist, um das Sichtbild als einen Schlüsselrahmen zu registrieren, wenn eine Winkelgeschwindigkeit des mobilen Objekts während einer Bewegung gleich oder größer als ein vorbestimmter Winkelgeschwindigkeitsschwellenwert ist.
  4. Die Selbstlokalisierungsvorrichtung nach einem der Ansprüche 1 bis 3, wobei die Registrierungseinheit konfiguriert ist, um einen Ausdünnungsprozess bezüglich der Vielzahl von registrierten Schlüsselrahmen auf der Basis der Tatsache durchzuführen, ob ein Löschverhinderungs-Flag vorliegt, und wobei die Registrierungseinheit konfiguriert ist, um zu bestimmen, ob das Löschverhinderungs-Flag zu einem Zielschlüsselrahmen, der einer der Vielzahl von Schlüsselrahmen ist, auf der Basis einer Beziehung einer Position und/oder einer Haltung zwischen einem Schlüsselrahmen, der vor dem Zielschlüsselrahmen registriert wird, und einem Schlüsselrahmen, der nach dem Zielschlüsselrahmen registriert wird, hinzuzufügen ist.
  5. Die Selbstlokalisierungsvorrichtung nach einem der Ansprüche 1 bis 4, ferner mit einer Leseeinheit, die konfiguriert ist, um einen Teilbereich der Karte in einen Speicher zu lesen.
  6. Die Selbstlokalisierungsvorrichtung nach Anspruch 5, wobei die Leseeinheit konfiguriert ist, um den Teilbereich auf der Basis der Position des mobilen Objekts auf der Karte in den Speicher zu lesen.
  7. Die Selbstlokalisierungsvorrichtung nach Anspruch 6, wobei die Leseeinheit konfiguriert ist, um den Teilbereich, der in einer Vorwärts-Rückwärts-Richtung des mobilen Objekts breiter ist als in einer Breitenrichtung des mobilen Objekts auf der Karte in den Speicher zu lesen.
  8. Die Selbstlokalisierungsvorrichtung nach einem der Ansprüche 5 bis 7, wobei die Leseeinheit konfiguriert ist, um den Teilbereich, der zu einer bestimmten Fahrtroute auf der Karte korrespondiert, in den Speicher zu lesen.
  9. Die Selbstlokalisierungsvorrichtung nach einem der Ansprüche 1 bis 8, ferner mit einer Verarbeitungseinheit, die konfiguriert ist, um eine Relokalisierung zum Suchen nach dem Schlüsselrahmen durchzuführen, wenn der Selbstlokalisierungsprozess fehlschlägt, wobei die Verarbeitungseinheit konfiguriert ist, um einen Suchbereich auf der Basis von Beschränkungen einer Hardware des mobilen Objekts zu identifizieren und nach Schlüsselrahmen zu suchen, die in dem Suchbereich enthalten sind.
  10. Die Selbstlokalisierungsvorrichtung nach Anspruch 8, wobei die Verarbeitungseinheit konfiguriert ist, um einen Bereich zu identifizieren, der als eine aktuelle Position des mobilen Objekts als der Suchbereich auf der Basis der in dem Selbstlokalisierungsprozess geschätzten Position und einer maximalen Geschwindigkeit des mobilen Objekts zu nehmen ist.
  11. Die Selbstlokalisierungsvorrichtung nach Anspruch 8 oder 9, wobei die Verarbeitungseinheit konfiguriert ist, um einen Bereich zu identifizieren, der als eine aktuelle Position des mobilen Objekts als der Suchbereich auf der Basis der in dem Selbstlokalisierungsprozess geschätzten Haltung und einer maximalen Winkelgeschwindigkeit des mobilen Objekts zu nehmen ist.
  12. Die Selbstlokalisierungsvorrichtung nach einem der Ansprüche 8 bis 10, wobei die Verarbeitungseinheit konfiguriert ist, um einen Bereich zu identifizieren, der als ein Fehler einer geschätzten Position auf der Basis der Odometrie mit Bezug auf die in dem Selbstlokalisierungsprozess geschätzte Position als der Suchbereich zu betrachten ist.
  13. Die Selbstlokalisierungsvorrichtung nach einem der Ansprüche 8 bis 11, wobei die Verarbeitungseinheit konfiguriert ist, um einen Bereich zu identifizieren, der als ein Fehler einer geschätzten Haltung auf der Basis eines Gyrosensors mit Bezug auf die in dem Selbstlokalisierungsprozess geschätzte Haltung als der Suchbereich zu betrachten ist.
  14. Die Selbstlokalisierungsvorrichtung nach einem der Ansprüche 1 bis 13, wobei die Schätzeinheit konfiguriert ist, um die in dem Selbstlokalisierungsprozess geschätzte Position und Haltung so zu korrigieren, dass Trajektorien der Position und der Haltung des mobilen Objekts in dem Weltkoordinatensystem geglättet werden.
  15. Die Selbstlokalisierungsvorrichtung nach Anspruch 14, wobei die Schätzeinheit konfiguriert ist, um die Position und die Haltung, die in dem Selbstlokalisierungsprozess geschätzt werden, unter Verwendung eines Filters für eine gleitende Mittelung zu korrigieren.
  16. Ein Selbstlokalisierungsverfahren, aufweisend: einen Schritt zum Erfassen eines Sichtbildes von einer Kamera, die in einem mobilen Objekt montiert ist; einen Schritt zum Durchführen eines Selbstlokalisierungsprozesses zum Schätzen einer Position und einer Haltung des mobilen Objekts in einem Weltkoordinatensystem auf der Basis von Positionen von Merkmalspunkten in dem Sichtbild und einer Karte, auf der Positionen einer Vielzahl von Merkmalspunkten in dem Weltkoordinatensystem aufgezeichnet sind; und einen Schritt zum Registrieren des Sichtbildes als einen Schlüsselrahmen zum Hinzufügen eines in dem Sichtbild enthaltenen neuen Merkmalspunktes zu der Karte, wobei der Schritt zum Registrieren des Sichtbildes als den Schlüsselrahmen ein Registrieren des Sichtbildes als den Schlüsselrahmen umfasst, wenn eine Bewegung des mobilen Objekts eine Bedingung erfüllt, die für die Position und/oder die Haltung des mobilen Objekts vorgeschrieben ist.
  17. Ein Programm, das bewirkt, dass ein Computer einer Selbstlokalisierungsvorrichtung Folgendes durchführt: einen Schritt zum Erfassen eines Sichtbildes von einer Kamera, die in einem mobilen Objekt montiert ist; einen Schritt zum Durchführen eines Selbstlokalisierungsprozesses zum Schätzen einer Position und einer Haltung des mobilen Objekts in einem Weltkoordinatensystem auf der Basis von Positionen von Merkmalspunkten in dem Sichtbild und einer Karte, auf der Positionen einer Vielzahl von Merkmalspunkten in dem Weltkoordinatensystem aufgezeichnet sind; und einen Schritt zum Registrieren des Sichtbildes als einen Schlüsselrahmen zum Hinzufügen eines in dem Sichtbild enthaltenen neuen Merkmalspunktes zu der Karte, wobei der Schritt zum Registrieren des Sichtbildes als den Schlüsselrahmen ein Registrieren des Sichtbildes als den Schlüsselrahmen umfasst, wenn eine Bewegung des mobilen Objekts eine Bedingung erfüllt, die für die Position und/oder die Haltung des mobilen Objekts vorgeschrieben ist.
DE102020103252.8A 2019-03-07 2020-02-10 Selbstlokalisierungsvorrichtung, selbstlokalisierungsverfahren und programm Pending DE102020103252A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-041991 2019-03-07
JP2019041991A JP7220591B2 (ja) 2019-03-07 2019-03-07 自己位置推定装置、自己位置推定方法及びプログラム

Publications (1)

Publication Number Publication Date
DE102020103252A1 true DE102020103252A1 (de) 2020-09-10

Family

ID=72146736

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020103252.8A Pending DE102020103252A1 (de) 2019-03-07 2020-02-10 Selbstlokalisierungsvorrichtung, selbstlokalisierungsverfahren und programm

Country Status (4)

Country Link
US (1) US11216973B2 (de)
JP (1) JP7220591B2 (de)
CN (1) CN111664857B (de)
DE (1) DE102020103252A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020126401A1 (de) 2020-10-08 2022-04-14 Jungheinrich Aktiengesellschaft Verfahren zur Bestimmung von Abstandswerten zu einem Flurförderzeug sowie ein solches

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102484772B1 (ko) * 2020-11-03 2023-01-05 네이버랩스 주식회사 맵 생성 방법 및 이를 이용한 이미지 기반 측위 시스템
KR102525281B1 (ko) * 2020-11-12 2023-04-25 네이버랩스 주식회사 이미지 기반 측위 방법 및 시스템
CN113052882B (zh) * 2021-03-26 2023-11-24 上海商汤智能科技有限公司 图像配准方法及相关装置、电子设备、存储介质
JP2023114238A (ja) * 2022-02-04 2023-08-17 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および情報処理方法

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0461577B1 (de) * 1990-06-11 1998-12-02 Hitachi, Ltd. Vorrichtung zur Erzeugung eines Objektbewegungsweges
JPH07230315A (ja) * 1994-02-16 1995-08-29 Fuji Heavy Ind Ltd 自律走行車の走行制御装置
JPH07264471A (ja) * 1994-03-19 1995-10-13 Sony Corp 特殊効果装置
JP2009210269A (ja) * 2008-02-29 2009-09-17 Sanyo Electric Co Ltd ナビゲーション装置及び該装置における地点登録方法
JP5732921B2 (ja) 2011-03-04 2015-06-10 トヨタ自動車株式会社 移動体マップ装置、その処理方法及びプログラム
JP5776332B2 (ja) 2011-05-27 2015-09-09 富士通株式会社 地図処理方法及びプログラム、並びにロボットシステム
JP5800613B2 (ja) * 2011-07-08 2015-10-28 株式会社日立産機システム 移動体の位置・姿勢推定システム
US9183631B2 (en) * 2012-06-29 2015-11-10 Mitsubishi Electric Research Laboratories, Inc. Method for registering points and planes of 3D data in multiple coordinate systems
WO2014091877A1 (ja) * 2012-12-12 2014-06-19 日産自動車株式会社 移動物***置姿勢角推定装置及び移動物***置姿勢角推定方法
KR101463145B1 (ko) * 2013-01-10 2014-11-20 주식회사 한터기술 운행열차의 위치안내 중 음영구간을 해소하는 방법과 이를 적용한 열차위치 안내시스템
WO2017038012A1 (ja) 2015-08-28 2017-03-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 地図生成方法、自己位置推定方法、ロボットシステム、およびロボット
JP6849330B2 (ja) 2015-08-28 2021-03-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 地図生成方法、自己位置推定方法、ロボットシステム、およびロボット
CN105744164B (zh) * 2016-02-24 2019-01-29 惠州Tcl移动通信有限公司 一种移动终端拍照方法及***
US9964955B2 (en) * 2016-08-04 2018-05-08 Canvas Technology, Inc. System and methods of determining a geometric pose of a camera based on spatial and visual mapping
CN106446815B (zh) * 2016-09-14 2019-08-09 浙江大学 一种同时定位与地图构建方法
CN106373141B (zh) * 2016-09-14 2019-05-28 上海航天控制技术研究所 空间慢旋碎片相对运动角度和角速度的跟踪***和跟踪方法
US20200158517A1 (en) * 2017-01-19 2020-05-21 Mindmaze Holding Sa System, methods, device and apparatuses for preforming simultaneous localization and mapping
JP6760114B2 (ja) * 2017-01-31 2020-09-23 富士通株式会社 情報処理装置、データ管理装置、データ管理システム、方法、及びプログラム
JP6842039B2 (ja) * 2017-03-02 2021-03-17 富士通株式会社 カメラ位置姿勢推定装置、方法およびプログラム
JP2018156538A (ja) 2017-03-21 2018-10-04 カシオ計算機株式会社 自律移動装置、画像処理方法及びプログラム
JP6922348B2 (ja) 2017-03-31 2021-08-18 富士通株式会社 情報処理装置、方法、及びプログラム
CN107063264A (zh) * 2017-04-13 2017-08-18 杭州申昊科技股份有限公司 一种适用于大规模变电站环境的机器人地图创建方法
JP6762913B2 (ja) * 2017-07-11 2020-09-30 キヤノン株式会社 情報処理装置、情報処理方法
JP7257737B2 (ja) * 2017-09-05 2023-04-14 ソニーグループ株式会社 情報処理装置、自己位置推定方法、及び、プログラム
WO2019082670A1 (ja) 2017-10-25 2019-05-02 ソニー株式会社 情報処理装置、情報処理方法、プログラム、及び、移動体
CN108090958B (zh) * 2017-12-06 2021-08-27 上海阅面网络科技有限公司 一种机器人同步定位和地图构建方法和***
JP2019149621A (ja) * 2018-02-26 2019-09-05 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
CN108520559B (zh) * 2018-04-04 2022-04-05 西安因诺航空科技有限公司 一种基于双目视觉的无人机定位导航的方法
CN109556596A (zh) * 2018-10-19 2019-04-02 北京极智嘉科技有限公司 基于地面纹理图像的导航方法、装置、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020126401A1 (de) 2020-10-08 2022-04-14 Jungheinrich Aktiengesellschaft Verfahren zur Bestimmung von Abstandswerten zu einem Flurförderzeug sowie ein solches

Also Published As

Publication number Publication date
JP2020144710A (ja) 2020-09-10
JP7220591B2 (ja) 2023-02-10
US20200286257A1 (en) 2020-09-10
US11216973B2 (en) 2022-01-04
CN111664857B (zh) 2023-09-19
CN111664857A (zh) 2020-09-15

Similar Documents

Publication Publication Date Title
DE102020103252A1 (de) Selbstlokalisierungsvorrichtung, selbstlokalisierungsverfahren und programm
US20200378767A1 (en) Methods, apparatus, and systems for localization and mapping
DE102018116111B4 (de) Ein einheitliches tiefes faltendes neuronales Netzwerk für die Abschätzung von Freiraum, die Abschätzung der Objekterkennung und die der Objektstellung
DE69712906T2 (de) Von der umgebung unabhängiges positionsbestimmungssystem
EP0541567B1 (de) Verfahren zur analyse zeitlicher folgen digitaler bilder
DE102020102915A1 (de) Hybride metrisch-topologische kamerabasierte positionsbestimmung
CN112907678A (zh) 车载相机外参姿态动态估计方法、装置、计算机设备
CN113156407B (zh) 车载激光雷达外参数联合标定方法、***、介质及设备
DE102021200657A1 (de) Positionsschätzvorrichtung, Steuervorrichtung, Nutzfahrzeug, Logistikunterstützungssystem, Positionsschätzverfahren und Programm
CN114821117A (zh) 车辆定位方法、装置、设备和存储介质
DE102018222169A1 (de) Bordeigenes visuelles Ermitteln kinematischer Messgrößen eines Schienenfahrzeugs
DE102020105334A1 (de) Verfahren für ein Steuern eines fahrerlosen Transportfahrzeugs und Steuerungssystem, das angepasst ist, um das Verfahren auszuführen
WO2020182391A1 (de) Verfahren, vorrichtung und system zur navigation autonomer fahrzeuge
CN113841101A (zh) 为了在移动式机器人的自主导航情况下使用而创建环境地图的方法
DE102019111262A1 (de) Verfahren und system zum bestimmen einer objektposition unter verwendung von karteninformationen
DE112021003271T5 (de) Informationsverarbeitungseinrichtung, informationsverarbeitungsverfahren und informationsverarbeitungsprogramm
DE102021214763A1 (de) Verfahren und Steuervorrichtung zum Steuern eines automatisierten Fahrzeugs
DE112020001559T5 (de) Informationsverarbeitungseinrichtung, programm und informationsverarbeitungsverfahren
DE102016222156A1 (de) Verfahren und Steuereinheit zur Steuerung eines autonomen Transportfahrzeugs
WO2020260134A1 (de) Verfahren zur lokalisierung eines fahrzeugs
DE102017220634B4 (de) Anordnung und Verfahren
Gruen et al. Sequential estimation in robot vision
Hößler et al. Automated traffic analysis in aerial images
DE112022002250T5 (de) Bordeigene verarbeitungsvorrichtung, fahrzeugsteuervorrichtung und verfahren zur schätzung der eigenen position
DE102020213131A1 (de) Verfahren zur Bestimmung einer relativen Position eines ersten Teils einer mobilen Plattform zu einem zweiten Teil der mobilen Plattform

Legal Events

Date Code Title Description
R012 Request for examination validly filed