DE112019001796T5 - Verfahren, system und vorrichtung zur lokalisierung mobiler automatisierungsvorrichtungen - Google Patents

Verfahren, system und vorrichtung zur lokalisierung mobiler automatisierungsvorrichtungen Download PDF

Info

Publication number
DE112019001796T5
DE112019001796T5 DE112019001796.9T DE112019001796T DE112019001796T5 DE 112019001796 T5 DE112019001796 T5 DE 112019001796T5 DE 112019001796 T DE112019001796 T DE 112019001796T DE 112019001796 T5 DE112019001796 T5 DE 112019001796T5
Authority
DE
Germany
Prior art keywords
subset
depth
depth measurements
shelf
primary
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
DE112019001796.9T
Other languages
English (en)
Inventor
Feng Cao
Harsoveet Singh
Richard Jeffrey RZESZUTEK
Jingxing Qian
Jonathan Kelly
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.)
Symbol Technologies LLC
Original Assignee
Symbol Technologies LLC
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 Symbol Technologies LLC filed Critical Symbol Technologies LLC
Publication of DE112019001796T5 publication Critical patent/DE112019001796T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/42Simultaneous measurement of distance and other co-ordinates
    • 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/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • G01S17/8943D imaging with simultaneous measurement of time-of-flight at a 2D array of receiver pixels, e.g. time-of-flight cameras or flash lidar
    • 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/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
    • G05D1/0251Control 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 extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • General Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Optics & Photonics (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

Ein Verfahren zur Lokalisierung einer mobilen Automatisierungsvorrichtung in einer Navigationssteuerung umfasst: Steuern eines Tiefensensors, um eine Vielzahl von Tiefenmessungen zu erfassen, die mit einem Bereich korrespondieren, der eine Navigationsstruktur enthält; Auswählen einer primären Teilmenge der Tiefenmessungen; Auswählen einer Eckenkandidaten-Teilmenge der Tiefenmessungen aus der primären Teilmenge; Erzeugen einer Eckenkante, die der Navigationsstruktur entspricht, aus der Eckenkandidaten-Teilmenge; Auswählen einer Gang-Teilmenge der Tiefenmessungen aus der primären Teilmenge entsprechend der Eckenkante; Auswählen einer lokalen Minimumtiefenmessung aus der Gang-Teilmenge für jede einer Vielzahl von Probenebenen, die sich von dem Tiefensensor aus erstrecken; Erzeugen einer Regalebene aus den lokalen Minimumtiefenmessungen; und Aktualisieren einer Lokalisierung der mobilen Automatisierungsvorrichtung basierend auf der Eckenkante und der Regalebene.

Description

  • HINTERGRUND
  • Umgebungen, in denen Objekte verwaltet werden, wie z.B. Einzelhandelseinrichtungen, können komplex und fließend sein. Beispielsweise kann eine Einzelhandelseinrichtung Objekte wie Produkte zum Kauf umfassen, eine Vertriebsumgebung kann Objekte wie Pakete oder Paletten umfassen, eine Produktionsumgebung kann Objekte wie Komponenten oder Baugruppen umfassen, eine Umgebung im Gesundheitswesen kann Objekte wie Medikamente oder medizinische Geräte umfassen.
  • Eine mobile Vorrichtung kann eingesetzt werden, um Aufgaben innerhalb der Umgebung auszuführen, wie z.B. die Erfassung von Daten zur Verwendung bei der Identifizierung von Produkten, die nicht vorrätig sind, falsch platziert wurden und dergleichen. Um sich innerhalb der Umgebung fortzubewegen, wird ein Pfad erzeugt, der sich von einem Start- zu einem Zielort erstreckt, und die Vorrichtung legt den Pfad zum Zielort zurück. Um sich entlang des oben genannten Pfads genau zu bewegen, verfolgt die Vorrichtung in der Regel ihren Standort innerhalb der Umgebung. Eine solche Standortverfolgung (auch als Lokalisierung bezeichnet) ist jedoch verschiedenen Rausch- und Fehlerquellen unterworfen, die sich in so großem Maße akkumulieren können, um die Navigationsgenauigkeit zu beeinträchtigen und die Ausführung von Aufgaben durch die Vorrichtung, wie z.B. Datenerfassungsaufgaben, zu behindern.
  • Figurenliste
  • Die beigefügten Figuren, in denen gleiche Bezugszeichen identische oder funktional ähnliche Elemente in den einzelnen Ansichten bezeichnen, sind zusammen mit der nachfolgenden detaillierten Beschreibung in die Offenbarung inkorporiert und bilden einen Bestandteil der Offenbarung und dienen dazu, hierin beschriebene Ausführungsformen von Konzepten, die die beanspruchte Erfindung umfassen, weiter zu veranschaulichen und verschiedene Prinzipien und Vorteile dieser Ausführungsformen zu erklären.
    • 1 ist ein Schema eines mobilen Automatisierungssystems.
    • 2A zeigt eine mobile Automatisierungsvorrichtung im System von 1.
    • 2B ist ein Blockdiagramm bestimmter interner Hardwarekomponenten der mobilen Automatisierungsvorrichtung im System von 1.
    • 3 ist ein Blockdiagramm bestimmter interner Komponenten der mobilen Automatisierungsvorrichtung von 1.
    • 4 ist ein Flussdiagramm eines Lokalisierungsverfahrens für die mobile Automatisierungsvorrichtung von 1.
    • 5 ist eine Draufsicht auf einen Gang, zu dem sich die mobile Automatisierungsvorrichtung von 1 bewegen soll.
    • 6 ist eine partielle Draufsicht auf den Gang von 5, die Lokalisierungsfehler veranschaulicht, die sich angesammelt haben, wenn die mobile Automatisierungsvorrichtung von 1 den Gang erreicht hat.
    • 7 ist eine perspektivische Ansicht eines Teils des in 6 gezeigten Ganges.
    • 8A und 8B stellen Tiefen- und Bilddaten dar, die mit der mobilen Automatisierungsvorrichtung von 1 während der Durchführung des Verfahrens von 4 erfasst wurden.
    • 9A-9D veranschaulichen eine beispielhafte Durchführung der Blöcke 410, 415 und 420 des Verfahrens von 4.
    • 10A-10C veranschaulichen eine beispielhafte Durchführung der Blöcke 425 und 430 des Verfahrens von 4.
    • 11 veranschaulicht eine aktualisierte Lokalisierung, die sich aus der Durchführung des Verfahrens von 4 ergibt.
    • 12 ist ein Flussdiagramm eines weiteren Lokalisierungsverfahrens für die mobile Automatisierungsvorrichtung von 1.
    • 13 veranschaulicht eine beispielhafte Durchführung des Verfahrens von 12.
    • 14 veranschaulicht eine aktualisierte Lokalisierung, die sich aus der Durchführung des Verfahrens von 12 ergibt.
  • Fachleute werden erkennen, dass Elemente in den Figuren der Einfachheit und Klarheit halber dargestellt sind und nicht notwendigerweise maßstabsgetreu gezeichnet wurden. Zum Beispiel können die Dimensionen einiger der Elemente in den Figuren relativ zu anderen Elementen übertrieben sein, um das Verständnis von Ausführungsformen der vorliegenden Erfindung zu verbessern.
  • Die Vorrichtungs- und Verfahrenskomponenten wurden, wo es angemessen ist, durch herkömmliche Symbole in den Zeichnungen dargestellt, die nur jene spezifischen Details zeigen, die zum Verständnis der Ausführungsformen der vorliegenden Erfindung relevant sind, um somit die Offenbarung nicht mit Einzelheiten zu verdecken, die für die Fachleute auf dem Gebiet, die auf die vorliegende Beschreibung zurückgreifen, ohne weiteres ersichtlich sind.
  • DETAILLIERTE BESCHREIBUNG
  • Die hierin offenbarten Beispiele sind auf ein Verfahren zur Lokalisierung mobiler Automatisierungsvorrichtungen in einer Navigationssteuerung gerichtet, wobei das Verfahren umfasst: Steuern eines Tiefensensors, um eine Vielzahl von Tiefenmessungen zu erfassen, die mit einem Bereich korrespondieren, der eine Navigationsstruktur enthält; Auswählen einer primären Teilmenge der Tiefenmessungen; Auswählen einer Eckenkandidaten-Teilmenge der Tiefenmessungen aus der primären Teilmenge; Erzeugen einer Eckenkante entsprechend der Navigationsstruktur aus der Eckenkandidaten-Teilmenge; Auswählen einer Gang-Teilmenge der Tiefenmessungen aus der primären Teilmenge entsprechend der Eckenkante; Auswählen einer lokalen Minimumtiefenmessung aus der Gang-Teilmenge für jede einer Vielzahl von Probenebenen, die sich von dem Tiefensensor aus erstrecken; Erzeugen einer Regalebene aus den lokalen Minimumtiefenmessungen; und Aktualisieren einer Lokalisierung der mobilen Automatisierungsvorrichtung basierend auf der Eckenkante und der Regalebene.
  • Zusätzliche Beispiele, die hier offenbart werden, sind auf eine Rechenvorrichtung zur Lokalisierung mobiler Automatisierungsvorrichtungen gerichtet, die umfasst: einen Tiefensensor; eine Navigationssteuerung, die konfiguriert ist, um: den Tiefensensor zu steuern, um eine Vielzahl von Tiefenmessungen zu erfassen, die mit einem Bereich korrespondieren, der eine Navigationsstruktur enthält; eine primäre Teilmenge der Tiefenmessungen auszuwählen; aus der primären Teilmenge eine Eckenkandidaten-Teilmenge der Tiefenmessungen auszuwählen; aus der Eckenkandidaten-Teilmenge eine Eckenkante zu erzeugen, die mit der Navigationsstruktur korrespondiert; eine Gang-Teilmenge der Tiefenmessungen aus der primären Teilmenge entsprechend der Eckenkante auszuwählen; aus der Gang-Teilmenge eine lokale Minimumtiefenmessung für jede einer Vielzahl von Probenebenen, die sich vom Tiefensensor aus erstrecken, auszuwählen; eine Regalebene aus den lokalen Minimumtiefenmessungen zu erzeugen; und eine Lokalisierung der mobilen Automatisierungsvorrichtung basierend auf der Eckenkante und der Regalebene zu aktualisieren.
  • 1 stellt ein mobiles Automatisierungssystem 100 gemäß den Lehren dieser Offenbarung dar. Das System 100 umfasst einen Server 101, der mit mindestens einer mobilen Automatisierungsvorrichtung 103 (hier auch einfach als Vorrichtung 103 bezeichnet) und mindestens einer Client-Rechenvorrichtung 105 über Kommunikationsverbindungen 107 kommuniziert, im vorliegenden Beispiel einschließlich drahtloser Verbindungen dargestellt. Im vorliegenden Beispiel werden die Verbindungen 107 durch ein drahtloses lokales Netzwerk (WLAN) bereitgestellt, das in der Einzelhandelsumgebung durch einen oder mehrere Zugangspunkte (nicht abgebildet) bereitgestellt wird. In anderen Beispielen befinden sich der Server 101, die Client-Vorrichtung 105 oder beide außerhalb der Einzelhandelsumgebung, und die Verbindungen 107 umfassen daher Weitbereichsnetzwerke wie das Internet, Mobilfunknetze und dergleichen. Das System 100 umfasst auch ein Dock 108 für die Vorrichtung 103 im vorliegenden Beispiel. Das Dock 108 steht mit dem Server 101 über eine Verbindung 109 in Verbindung, die im vorliegenden Beispiel eine drahtgebundene Verbindung ist. In anderen Beispielen ist die Verbindung 109 jedoch eine drahtlose Verbindung.
  • Das Client-Rechenvorrichtung 105 wird in 1 als mobile Computervorrichtung, wie z.B. Tablet, Smartphone o.ä., dargestellt. In anderen Beispielen ist das Client-Rechenvorrichtung 105 als eine andere Art von Computervorrichtung implementiert, wie z.B. ein Desktop-Computer, ein Laptop-Computer, ein anderer Server, ein Kiosk, ein Monitor und ähnliches. Das System 100 kann eine Vielzahl von Client-Vorrichtungen 105 umfassen, die über entsprechende Verbindungen 107 mit dem Server 101 kommunizieren.
  • Das System 100 wird in dem illustrierten Beispiel in einer Einzelhandelsumgebung mit einer Vielzahl von Regalmodulen 110-1, 110-2, 110-3 usw. eingesetzt (gemeinsam als Regal 110 bezeichnet und allgemein als Regal 110 bezeichnet - diese Nomenklatur wird auch für andere hier besprochene Elemente verwendet). Jedes Regalmodul 110 unterstützt eine Vielzahl von Produkten 112. Jedes Regalmodul 110 umfasst eine Regalrückseite 116-1, 116-2, 116-3 und eine Trägerfläche (z.B. Trägerfläche 117-3 wie in 1 dargestellt), die sich von der Regalrückseite 116 bis zu einer Regalkante 118-1, 118-2, 118-3 erstreckt.
  • Die Regalmodule 110 sind typischerweise in mehreren Gängen angeordnet, von denen jeder eine Vielzahl von Modulen 110 enthält, die aneinandergereiht ausgerichtet sind. Bei solchen Anordnungen zeigen die Regalkanten 118 in die Gänge, durch die sich sowohl die Kunden in der Einzelhandelsumgebung als auch die Vorrichtungen 103 hindurchbewegen können. An jedem Gangende eines Gangs bildet eines der Module 110 eine Gangendkappe, wobei bestimmte Regalkanten 118 dieses Moduls 110 nicht in den Gang, sondern vom Gangende nach außen weisen. In einigen Beispielen (nicht abgebildet) werden Endkappenstrukturen an den Gangenden angebracht. Bei den Endkappenstrukturen kann es sich um zusätzliche Regalmodule 110 handeln, die z.B. im Verhältnis zu den Modulen 110 innerhalb der Gänge geringere Längen haben und senkrecht zu den Modulen 110 innerhalb der Gänge angeordnet sind.
  • Wie aus 1 ersichtlich wird, bezieht sich der hier verwendete Begriff „Regalkante“ 118, der auch als Kante einer Trägerfläche (z.B. der Trägerflächen 117) bezeichnet werden kann, auf eine Fläche, die durch benachbarte Flächen mit unterschiedlichen Neigungswinkeln begrenzt wird. In dem in 1 dargestellten Beispiel steht die Regalkante 118-3 in einem Winkel von etwa neunzig Grad relativ zu jeder der Trägerflächen 117-3 und der Unterseite (nicht dargestellt) der Trägerfläche 117-3. In anderen Beispielen beträgt der Winkel zwischen der Regalkante 118-3 und den angrenzenden Flächen, wie z.B. der Trägerfläche 117-3, mehr oder weniger als neunzig Grad. Wie Fachleute erkennen werden, ist eine Trägerfläche nicht auf eine Regalträgerfläche beschränkt. In einer Ausführungsform kann eine Trägerfläche zum Beispiel eine Tischträgerfläche sein (z.B. eine Tischplatte). In einer solchen Ausführungsform entsprechen eine „Regalkante“ und eine „Regalebene“ jeweils einer Kante einer Trägerfläche, wie z.B. einer Tischträgerfläche, und einer Ebene, die die Kante der Tischträgerfläche enthält.
  • Die Vorrichtung 103 wird in der Einzelhandelsumgebung eingesetzt und kommuniziert mit dem Server 101 (z.B. über die Verbindung 107), um autonom oder teilautonom entlang einer Länge 119 von mindestens einem Teil der Regale 110 zu navigieren. Die Vorrichtung 103 ist so konfiguriert, dass sie zwischen den Regalen 110 navigiert, z.B. gemäß einem in der Einzelhandelsumgebung festgelegten Bezugsrahmen 102. Der Bezugsrahmen 102 kann auch als globaler Bezugsrahmen bezeichnet werden. Die Vorrichtung 103 ist so konfiguriert, dass sie während einer solchen Navigation den Standort der Vorrichtung 103 relativ zum Bezugsrahmen 102 verfolgt. Mit anderen Worten ist die Vorrichtung 103 so konfiguriert, dass sie eine Lokalisierung durchführt. Wie weiter unten ausführlicher beschrieben wird, ist die Vorrichtung 103 auch so konfiguriert, dass sie die oben erwähnte Lokalisierung aktualisiert, indem sie bestimmte strukturelle Merkmale in der Einzelhandelsumgebung erkennt.
  • Die Vorrichtung 103 ist mit einer Vielzahl von Navigations- und Datenerfassungssensoren 104 ausgestattet, wie z.B. Bildsensoren (z.B. eine oder mehrere Digitalkameras) und Tiefensensoren (z.B. ein oder mehrere LIDAR (Light Detection and Ranging)-Sensoren, einem oder mehreren Tiefensensoren, die strukturierte Lichtmuster, wie z.B. Infrarotlicht oder ähnliches, verwenden). Die Vorrichtung 103 kann so konfiguriert werden, dass die Sensoren 104 sowohl für die Navigation zwischen den Regalen 110 als auch für die Erfassung von Regaldaten während einer solchen Navigation eingesetzt werden können.
  • Der Server 101 enthält einen Spezialsteuerung, wie z.B. einen Prozessor 120, der speziell zur Steuerung und/oder Unterstützung der mobilen Automatisierungsvorrichtung 103 zur Navigation in der Umgebung und zur Datenerfassung ausgelegt ist. Zu diesem Zweck ist der Server 101 so konfiguriert, dass er in einem Speicher 122, der mit dem Prozessor 120 verbunden ist, ein Archiv 132 mit Daten zur Verwendung bei der Navigation durch die Vorrichtung 103 verwaltet.
  • Der Prozessor 120 kann weiter konfiguriert werden, um die erfassten Daten über eine Kommunikationsschnittstelle 124 für die nachfolgende Verarbeitung zu erhalten (z.B. um Objekte wie z.B. Regalwaren in den erfassten Daten zu erkennen und Statusinformationen, die den Objekten entsprechen, zu erfassen). Der Server 101 kann auch so konfiguriert werden, dass er Statusbenachrichtigungen (z.B. Benachrichtigungen, die anzeigen, dass Waren nicht vorrätig sind, einen geringen Lagerbestand aufweisen oder falsch platziert sind) an die Client-Vorrichtung 105 übermittelt, als Antwort auf die Bestimmung der Produktstatusdaten. Die Client-Vorrichtung 105 enthält eine oder mehrere Steuerungen (z.B. zentrale Prozessoreinheiten (CPUs) und/oder FPGAs (Field Programmable Gate Arrays) und dergleichen), die so konfiguriert sind, dass sie die vom Server 101 erhaltenen Benachrichtigungen verarbeiten (z.B. anzeigen).
  • Der Prozessor 120 ist mit einem nicht vorübergehenden computerlesbaren Speichermedium wie dem oben erwähnten Speicher 122 verbunden, auf dem computerlesbare Befehle zur Ausführung verschiedener Funktionen gespeichert sind, einschließlich der Steuerung der Vorrichtung 103 zur Navigation der Module 110 und zur Erfassung von Regaldaten sowie der Nachbearbeitung der Regaldaten. Der Speicher 122 umfasst eine Kombination aus flüchtigem (z.B. Random Access Memory oder RAM) und nichtflüchtigem Speicher (z.B. Read Only Memory oder ROM, elektrisch löschbarer programmierbarer Read Only Memory oder EEPROM, Flash-Speicher). Der Prozessor 120 und der Speicher 122 umfassen jeweils eine oder mehrere integrierte Schaltungen. In einigen Ausführungsformen ist der Prozessor 120 als eine oder mehrere zentrale Prozessoreinheiten (CPUs) und/oder Grafikverarbeitungseinheiten (GPUs) implementiert.
  • Der Server 101 enthält auch die oben erwähnte Kommunikationsschnittstelle 124, die mit dem Prozessor 120 verbunden ist. Die Kommunikationsschnittstelle 124 umfasst geeignete Hardware (z.B. Sender, Empfänger, Netzwerkschnittstellen-Steuerungen und dergleichen), die es dem Server 101 ermöglicht, über die Verbindungen 107 und 109 mit anderen Rechenvorrichtungen - insbesondere der Vorrichtung 103, der Client-Vorrichtung 105 und dem Dock 108 - zu kommunizieren. Bei den Verbindungen 107 und 109 kann es sich um direkte Verbindungen oder um Verbindungen handeln, die ein oder mehrere Netzwerke durchqueren, darunter sowohl lokale als auch Weitbereichsnetzwerke. Die spezifischen Komponenten der Kommunikationsschnittstelle 124 werden auf der Grundlage der Art des Netzwerks oder anderer Verbindungen ausgewählt, über die der Server 101 kommunizieren soll. Im vorliegenden Beispiel wird, wie bereits erwähnt, ein drahtloses lokales Netzwerk innerhalb der Einzelhandelsumgebung durch den Einsatz eines oder mehrerer drahtloser Zugangspunkte implementiert. Die Verbindungen 107 umfassen daher eine oder beide drahtlose Verbindungen zwischen der Vorrichtung 103 und der mobilen Vorrichtung 105 und den oben erwähnten Zugangspunkten sowie eine drahtgebundene Verbindung (z.B. eine Ethernet-basierte Verbindung) zwischen dem Server 101 und dem Zugangspunkt.
  • Der Speicher 122 speichert eine Vielzahl von Anwendungen, von denen jede eine Vielzahl von computerlesbaren Befehlen enthält, die vom Prozessor 120 ausgeführt werden können. Die Ausführung der oben genannten Anweisungen durch den Prozessor 120 konfiguriert den Server 101 so, dass er verschiedene hier besprochene Aktionen ausführt. Die im Speicher 122 gespeicherten Anwendungen umfassen eine Steueranwendung 128, die auch als eine Reihe von logisch getrennten Anwendungen implementiert sein kann. Im Allgemeinen ist der Prozessor 120 durch die Ausführung der Anwendung 128 oder von Teilkomponenten davon und in Verbindung mit den anderen Komponenten des Servers 101 so konfiguriert, dass er verschiedene Funktionen implementiert. Der Prozessor 120, wie er durch die Ausführung der Steueranwendung 128 konfiguriert wird, wird hier auch als Steuerung 120 bezeichnet. Wie sich nun zeigen wird, kann ein Teil oder die gesamte Funktionalität, die durch die unten beschriebene Steuerung 120 implementiert wird, auch durch vorkonfigurierte Hardware-Elemente (z.B. ein oder mehrere FPGAs und/oder anwendungsspezifische integrierte Schaltungen (ASICs)) anstatt durch die Ausführung der Steueranwendung 128 durch den Prozessor 120 ausgeführt werden.
  • Um nun zu den 2A und 2B zu kommen, wird die mobile Automatisierungsvorrichtung 103 ausführlicher dargestellt. Die Vorrichtung 103 umfasst ein Fahrgestell 201 mit einem Lokomotivmechanismus 203 (z.B. ein oder mehrere Elektromotoren, die Räder, Schienen oder dergleichen antreiben). Die Vorrichtung 103 enthält ferner einen Sensormast 205, der auf dem Fahrgestell 201 getragen wird und sich im vorliegenden Beispiel vom Fahrgestell 201 aus nach oben (z.B. im Wesentlichen vertikal) erstreckt. Der Mast 205 trägt die bereits erwähnten Sensoren 104. Insbesondere umfassen die Sensoren 104 mindestens einen Bildgebungssensor 207, wie z.B. eine Digitalkamera, sowie mindestens einen Tiefensensor 209, wie z.B. eine 3D-Digitalkamera, die sowohl Tiefendaten als auch Bilddaten erfassen kann. Die Vorrichtung 103 umfasst auch zusätzliche Tiefensensoren, wie z.B. LIDAR-Sensoren 211. In anderen Beispielen umfasst die Vorrichtung 103 zusätzliche Sensoren, wie z.B. ein oder mehrere RFID-Lesegeräte, Temperatursensoren und dergleichen.
  • Im vorliegenden Beispiel trägt der Mast 205 sieben Digitalkameras 207-1 bis 207-7 sowie zwei LIDAR-Sensoren 211-1 und 211-2. Der Mast 205 trägt auch eine Vielzahl von Beleuchtungsbaugruppen 213, die so konfiguriert sind, dass sie die Sichtfelder der jeweiligen Kameras 207 ausleuchten. Das heißt, die Beleuchtungsbaugruppe 213-1 beleuchtet das Sichtfeld der Kamera 207-1 usw. Die Sensoren 207 und 211 sind auf dem Mast 205 so ausgerichtet, dass die Sichtfelder jedes Sensors einem Regal 110 zugewandt sind, entlang dessen Länge 119 sich die Vorrichtung 103 bewegt. Die Vorrichtung 103 ist so konfiguriert, dass sie eine Position der Vorrichtung 103 (z.B. eine Position der Mitte des Fahrgestells 201) in einem gemeinsamen Bezugsrahmen verfolgt, der zuvor in der Verkaufseinrichtung festgelegt wurde, so dass von der mobilen Automatisierungsvorrichtung erfasste Daten in dem gemeinsamen Bezugsrahmen registriert werden können.
  • Das mobile Automatisierungsvorrichtung 103 enthält eine Spezialsteuerung, wie z.B. einen Prozessor 220, wie in 2B dargestellt, der mit einem nichtflüchtigen computerlesbaren Speichermedium, wie z.B. einem Speicher 222, verbunden ist. Der Speicher 222 enthält eine Kombination aus flüchtigem (z.B. Random Access Memory oder RAM) und nichtflüchtigem Speicher (z.B. Read Only Memory oder ROM, elektrisch löschbarer programmierbarer Read Only Memory oder EEPROM, Flash-Speicher). Der Prozessor 220 und der Speicher 222 umfassen jeweils eine oder mehrere integrierte Schaltungen. Der Speicher 222 speichert computerlesbare Befehle zur Ausführung durch den Prozessor 220. Insbesondere speichert der Speicher 222 eine Steueranwendung 228, die, wenn sie vom Prozessor 220 ausgeführt wird, den Prozessor 220 so konfiguriert, dass er verschiedene Funktionen ausführt, die weiter unten ausführlicher besprochen werden und mit der Navigation der Vorrichtung 103 zusammenhängen (z.B. durch Steuerung des Lokomotivmechanismus 203). Die Anwendung 228 kann auch als eine Reihe verschiedener Anwendungen in anderen Beispielen implementiert werden.
  • Der Prozessor 220 kann, wenn er durch die Ausführung der Anwendung 228 so konfiguriert ist, auch als Steuerung 220 bezeichnet werden. Fachleute werden erkennen, dass die vom Prozessor 220 durch die Ausführung der Anwendung 228 implementierte Funktionalität auch durch eine oder mehrere speziell ausgelegte Hardware- und Firmwarekomponenten wie FPGAs, ASICs und dergleichen in anderen Ausführungsformen implementiert werden kann.
  • Der Speicher 222 kann auch ein Archiv 232 speichern, das z.B. eine Karte der Umgebung enthält, in der die Vorrichtung 103 arbeitet, zur Verwendung während der Ausführung der Anwendung 228. Die Vorrichtung 103 kann mit dem Server 101 über eine Kommunikationsschnittstelle 224 über die in 1 dargestellte Verbindung 107 mit dem Server 101 kommunizieren, um z.B. Anweisungen zur Navigation zu bestimmten Orten (z.B. zum Ende eines bestimmten Ganges, der aus einem Satz von Modulen 110 besteht) zu empfangen und Datenerfassungsvorgänge einzuleiten (z.B. zum Durchqueren des oben genannten Ganges während der Erfassung von Bild- und/oder Tiefendaten). Die Kommunikationsschnittstelle 224 ermöglicht es der Vorrichtung 103 auch, über das Dock 108 und die Verbindung 109 mit dem Server 101 zu kommunizieren.
  • Im vorliegenden Beispiel ist der Vorrichtung 103, wie unten besprochen, so konfiguriert (über die Ausführung der Anwendung 228 durch den Prozessor 220), dass sie eine Lokalisierung beibehält, die einen Standort der Vorrichtung 103 innerhalb eines Bezugsrahmens darstellt, wie z.B. (aber nicht notwendigerweise beschränkt auf) den globalen Bezugsrahmen 102. Die Beibehaltung einer aktualisierten Lokalisierung ermöglicht es der Vorrichtung 103, Befehle für den Betrieb des Lokomotivmechanismus 203 zu erzeugen, um sich zu anderen Orten zu bewegen, wie z.B. einem Gang, der in einem vom Server 101 empfangenen Befehl angegeben ist. Wie den Fachleuten ersichtlich sein wird, können bei der Lokalisierung auf der Grundlage von Trägheitserfassung (z.B. über Beschleunigungsmesser und Gyroskope) sowie bei der Lokalisierung auf der Grundlage von Odometrie (z.B. über einen an den Lokomotivmechanismus 203 gekoppelten Radkodierer) Fehler auftreten, die sich mit der Zeit anhäufen. Die Vorrichtung 103 ist daher so konfiguriert, dass sie, wie weiter unten ausführlicher besprochen, die Lokalisierungsdaten durch die Erkennung bestimmter Navigationsstrukturen innerhalb der Einzelhandelsumgebung aktualisiert. Insbesondere Gang-Endkappen und Regalebenen werden von der Vorrichtung 103 zur Aktualisierung der Lokalisierungsdaten verwendet.
  • Wie in der nachfolgenden Diskussion zu sehen sein wird, kann in anderen Beispielen die vom Server 101 durchgeführte Verarbeitung teilweise oder vollständig von der Vorrichtung 103 und die von der Vorrichtung 103 durchgeführte Verarbeitung teilweise oder vollständig vom Server 101 durchgeführt werden.
  • Bevor nun auf 3 eingegangen wird, werden vor der Beschreibung der Aktionen, die die Vorrichtung 103 zur Aktualisierung der Lokalisierungsdaten durchführt, bestimmte Komponenten der Anwendung 228 näher beschrieben. Wie den Fachleuten ersichtlich sein wird, können in anderen Beispielen die Komponenten der Anwendung 228 in verschiedene Anwendungen aufgeteilt oder zu anderen Komponentensätzen kombiniert werden. Einige oder alle der in 3 dargestellten Komponenten können auch als dedizierte Hardwarekomponenten implementiert sein, wie z.B. ein oder mehrere ASICs oder FPGAs.
  • Die Anwendung 228 enthält einen Präprozessor 300, der so konfiguriert ist, dass er eine primäre Teilmenge von Tiefenmessungen zur weiteren Verarbeitung auswählt, um die Vorrichtung 103 zu lokalisieren. Die Anwendung 228 enthält auch einen Eckengenerator 304, der so konfiguriert ist, dass er bestimmte Navigationsstrukturen erkennt, auf denen die Lokalisierungsaktualisierungen basieren. Im vorliegenden Beispiel wird der Generator 304 als Eckengenerator bezeichnet, weil die vom Eckgenerator 304 erkannte Navigationsstruktur eine Ecke (z.B. eine vertikale Kante) eines Regalmoduls 110 ist, die auch als Endkappenecke bezeichnet werden kann. Die Anwendung 228 enthält ferner einen Regalebenengenerator 308, der so konfiguriert ist, dass er auf der Grundlage der erfassten Tiefendaten oder einer Teilmenge davon eine Ebene mit den Regalkanten 118 innerhalb eines Gangs mit einer Vielzahl von Modulen 110 erzeugt. In einigen Beispielen enthält die Anwendung 228 auch einen Bildprozessor 312, der so konfiguriert ist, dass er strukturelle Merkmale wie die Regalkanten 118 aus den erfassten Bilddaten (d.h. unabhängig von den erfassten Tiefendaten) erkennt. Die bildbasierten Regalkantenerkennungen werden vom Regalebenengenerator 308 zur Validierung der erzeugten Regalebene eingesetzt. In anderen Beispielen wird der Bildprozessor 312 weggelassen.
  • Die Anwendung 228 enthält auch einen Lokalisierer 316, der so konfiguriert ist, dass er eine oder beide der erzeugten Eckenkanten vom Eckengenerator 304 und eine Regalebene vom Regalebenengenerator 308 empfängt und die Lokalisierung der Vorrichtung 103 in mindestens einem Bezugsrahmen auf der Grundlage der oben genannten Informationen aktualisiert. Wie weiter unten zu sehen sein wird, kann der Bezugsrahmen sowohl den oben erwähnten globalen Bezugsrahmen 102 als auch einen lokalen Bezugsrahmen enthalten, der spezifisch für einen bestimmten Gang der Module 110 ist. Der Lokalisierer 316 kann auch Teilkomponenten enthalten, die so konfiguriert sind, dass sie Pfade zusammen mit den Bewegungen der Vorrichtung 103 erzeugen und ausführen (über die Steuerung des Lokomotivmechanismus 203), wobei die aktualisierten Lokalisierungsinformationen beibehalten werden.
  • Die Funktionsweise der Anwendung 228 wird nun unter Bezugnahme auf 4 näher beschrieben. 4 veranschaulicht ein Verfahren 400 zur Aktualisierung einer Lokalisierung einer mobilen Automatisierungsvorrichtung, die in Verbindung mit ihrer Durchführung im System 100 und insbesondere durch die Vorrichtung 103 unter Bezugnahme auf die in 3 dargestellten Komponenten beschrieben wird.
  • Im Block 405 ist die Vorrichtung 103 und insbesondere der Präprozessor 300 der Anwendung 228 so konfiguriert, dass sie/er eine Vielzahl von Tiefenmessungen, auch als Tiefendaten bezeichnet, erfasst. Die Tiefenmessungen werden über die Steuerung eines oder mehrerer Tiefensensoren der Vorrichtung 103 erfasst. Im vorliegenden Beispiel werden die Tiefenmessungen über die Steuerung des oben erwähnten Tiefensensors 209 (d.h. der 3D-Digitalkamera) erfasst. Die 3D-Kamera ist so konfiguriert, dass sie sowohl Tiefenmessungen als auch Farbdaten, die hier auch als Bilddaten bezeichnet werden, erfasst. Das bedeutet, dass jedes von der 3D-Kamera erfasste Bild eine Punktwolke ist, die sowohl Farb- als auch Tiefendaten für jeden Punkt enthält, was für den Fachmann ersichtlich ist. Die Punktwolke wird typischerweise in einem Bezugsrahmen definiert, der auf den Sensor 209 selbst zentriert ist. In anderen Beispielen werden die Bilddaten weggelassen, und die Durchführung von Block 405 umfasst nur die Erfassung von Tiefendaten.
  • Die Vorrichtung 103 ist so konfiguriert, dass der Block 405 als Reaktion auf die Ankunft der Vorrichtung 103 an einem bestimmten Ort in der Einzelhandelsumgebung ausgeführt wird. Im vorliegenden Beispiel ist die Vorrichtung 103 so konfiguriert, dass sie vor der Durchführung von Block 405 vom Server 101 eine Anweisung empfängt, sich von einem aktuellen Standort der Vorrichtung 103 zu einem bestimmten Gang zu bewegen. Unter Bezugnahme auf 5 kann der Server 101 beispielsweise so konfiguriert werden, dass er (z.B. über die Verbindung 107) eine Anweisung an die Vorrichtung 103 ausgibt, sich von einem aktuellen Standort im Bezugsrahmen 102 zu einem Gang 500 zu bewegen und bei Ankunft am Gang 500 einen Datenerfassungsvorgang zu beginnen, bei dem die Vorrichtung 103 die Länge einer Vielzahl von Modulen 510-1, 510-2 und 510-3 durchläuft, um Bild- und/oder Tiefendaten zu erfassen, die die Module 510 darstellen.
  • Als Reaktion auf den Empfang der Anweisung wird die Vorrichtung 103 so konfiguriert (z. B. durch Ausführung des Lokalisierers 316), dass sie einen Pfad vom aktuellen Standort der Vorrichtung 103 zu einem Standort 504 einer Endkappenecke des Gangs 500 generiert und ausführt. Die Standorte der Module 510, und damit der Standort 504, sind in der im Archiv 232 gespeicherten Karte enthalten. Der Lokalisierer 316 ist daher so konfiguriert, dass er den Eckenstandort 504 aus dem Archiv 232 abruft, um einen Pfad zu dem Standort 504 zu generieren und auszuführen. In 6 wird die Vorrichtung 103 nach der Ausführung des oben erwähnten Pfades gezeigt. Insbesondere sind der tatsächliche Standort und die tatsächliche Ausrichtung (d.h. die tatsächliche Pose) der Vorrichtung 103 in durchgezogenen Linien dargestellt, während eine Lokalisierung 600 der Vorrichtung 103 (d.h. ein Standort und eine Ausrichtung im Bezugsrahmen 102, wie vom Lokalisierer 316 beibehalten) in gestrichelten Linien dargestellt ist. Wie in 6 zu sehen ist, ist die vom Lokalisierer 316 wahrgenommene Lokalisierung der Vorrichtung 103 ungenau. Lokalisierungsfehler können aus einer Vielzahl von Quellen stammen und sich im Laufe der Zeit akkumulieren. Zu den Fehlerquellen gehören Schlupf des Lokomotivmechanismus 203 auf dem Boden der Verkaufseinrichtung, Signalrauschen von Trägheitssensoren und dergleichen.
  • Akkumulierte Lokalisierungsfehler können in einigen Beispielen etwa 20 Zentimeter erreichen (wie sich zeigen wird, sind auch größere und kleinere Fehler möglich). Das heißt, die Lokalisierung 600 der Vorrichtung 103 im Bezugsrahmen 102 kann sich in einem Abstand von etwa 20 cm von der tatsächlichen, wahren Position der Vorrichtung 103 befinden. Für bestimmte Aufgaben, wie z.B. die oben erwähnte Datenerfassung, können kleinere Lokalisierungsfehler (z.B. unter etwa 5 cm) erforderlich sein. Mit anderen Worten, für Datenerfassungsvorgänge zur Erzeugung erfasster Daten (z.B. Bilddaten, die die Module 510 darstellen) von ausreichender Qualität für die nachfolgende Verarbeitung kann der Lokalisierer 316 erforderlich sein, um eine Lokalisierung aufrechtzuerhalten, die ausreichend genau ist, um sicherzustellen, dass die tatsächliche Position der Vorrichtung 103 relativ zu dem Modul 510, für das Daten erfasst werden, innerhalb von etwa 5 cm von einer Zielposition liegt. Die Zielposition kann z.B. etwa 75 cm vom Modul 510 entfernt sein, so dass der Lokalisierer 316 erforderlich sein kann, um eine Ortung beizubehalten, was sicherstellt, dass der tatsächliche Abstand zwischen dem Modul 510 und der Vorrichtung 103 zwischen etwa 70 cm und etwa 80 cm bleibt.
  • Daher wird die Vorrichtung 103 vor Beginn des Datenerfassungsvorgangs so konfiguriert, dass sie die im Lokalisierer 316 gespeicherte Lokalisierung über die Durchführung der Verfahren 400 aktualisiert, beginnend mit der Erfassung der Tiefen- und Bilddaten im Block 405. Die Durchführung von Block 405 wird nach der Ankunft der Vorrichtung 103 in der Nähe des Standortes 504 eingeleitet, wie in 6 dargestellt.
  • 7 zeigt einen Teil des Moduls 510-3 neben dem Standort 504, nach der Ankunft der Vorrichtung 103 an dem in der Draufsicht von 6 gezeigten Standort. Das Modul 510-3 umfasst ein Paar Trägerflächen 717-1 und 717-2, die sich von einer Regalrückseite 716 bis zu den jeweiligen Regalkanten 718-1 und 718-2 erstrecken. Die Trägerfläche 717-2 trägt die Produkte 712 darauf, während die Trägerfläche 717-1 die Produkte 712 selbst nicht direkt trägt. Stattdessen trägt die Regalrückseite 716 Aufhänger 720, auf denen weitere Produkte 712 getragen werden. Ein Teil einer Grundfläche 724, entlang der sich die Vorrichtung 103 bewegt und die der X-Y-Ebene (d.h. mit einer Höhe von Null auf der Z-Achse des Bezugsrahmens 102) im Bezugsrahmen 102 entspricht, ist ebenfalls abgebildet.
  • 8A und 8B zeigen ein Beispiel für die in Block 405 erfassten Daten. Insbesondere 8A veranschaulicht einen Satz von Tiefenmessungen, die mit dem Modul 510-3 korrespondieren, in Form einer Punktwolke 800, während 8B die Bilddaten 850 veranschaulicht. Im vorliegenden Beispiel ist der Sensor 209 so konfiguriert, dass er Tiefen- und Bilddaten im Wesentlichen gleichzeitig erfasst, und die Tiefen- und Bilddaten werden in einer einzigen Datei gespeichert (z.B. enthält jeder Punkt in der Punktwolke 800 auch Farbdaten, die den Bilddaten 850 entsprechen). Die Tiefendaten 800 und die Bilddaten 850 sind daher zur Veranschaulichung in 8A und 8B separat dargestellt.
  • Um zu 4 zurückzukehren, ist der Präprozessor 300 in Block 410 so konfiguriert, dass er eine primäre Teilmenge der in Block 405 erfassten Tiefendaten auswählt. Die primäre Teilmenge der Tiefenmessungen wird ausgewählt, um das Volumen der Tiefenmessungen zu reduzieren, die durch den Rest des Verfahrens 400 verarbeitet werden sollen, während sie strukturelle Merkmale enthält, auf denen die Vorrichtung 103 konfiguriert ist, um Lokalisierungsaktualisierungen zu basieren. Im vorliegenden Beispiel wird die primäre Teilmenge im Block 410 durch Auswahl von Tiefenmessungen innerhalb eines vordefinierten Schwellenabstands des Sensors 209 ausgewählt (d.h. ohne Tiefenmessungen in einem größeren Abstand vom Sensor als der Schwellenwert).
  • Genauer gesagt ist im vorliegenden Beispiel der Präprozessor 300 so konfiguriert, dass er die primäre Teilmenge auswählt, indem er alle Tiefenmessungen aus der Punktwolke 800 auswählt, die in eine primäre Auswahlregion fallen, z.B. eine zylindrische Region mit vordefinierten Abmessungen und einer vordefinierten Position relativ zum Sensor 209. 9A zeigt ein Beispiel für eine zylindrische Auswahlregion 900, zentriert auf die Position 904 des Sensors 209, die typischerweise der Ursprung des Bezugsrahmens ist, in dem die Punktwolke 800 erfasst wird. Die Region 900 hat einen vordefinierten Durchmesser, der groß genug ist, um die Ecke des Endkappenmoduls 510-3 aufzunehmen, trotz der potenziell ungenauen Lokalisierung 600 der in 6 gezeigten Vorrichtung 103. Die Region 900 hat auch eine Basis, die sich in einer vordefinierten Höhe relativ zum Sensor 209 befindet (z.B. ist die Basis der Region 900 etwa 2 cm über der Grundfläche 724 platziert). Die Region 900 hat auch eine vordefinierte Höhe (d.h. ein Abstand von der Basis bis zur Oberseite des Zylinders), die so gewählt ist, dass sie im Wesentlichen die gesamte Höhe der Module 510 umfasst (z.B. etwa 2 Meter). In einigen Beispielen ist der Präprozessor 300 im Block 410 auch so konfiguriert, dass er eine Grundebenen-Teilmenge von Tiefenmessungen auswählt, z.B. durch Anwendung eines Passfilters, um nur die Punkte innerhalb eines vordefinierten Abstands von der X-Y-Ebene im Bezugsrahmen 102 auszuwählen (z.B. über einer Höhe von -2 cm und unter einer Höhe von 2 cm). Die Grundebenen-Teilmenge kann verwendet werden, um (z.B. durch Anwendung einer geeigneten Ebenenanpassungsoperation) eine Grundebene zur Verwendung bei der Validierung nachfolgender Verarbeitungsausgaben des Verfahrens 400 zu erzeugen, wie weiter unten erörtert wird.
  • Zurück zu 4, ist im Block 415 der Eckengenerator 304 so konfiguriert, dass er aus der primären Teilmenge von Tiefendaten eine Eckkandidaten-Teilmenge von Tiefenmessungen auswählt und eine Eckenkante aus der Eckkandidaten-Teilmenge erzeugt. Die Durchführung von Block 415 dient dazu, den Satz von Tiefenmessungen, innerhalb dessen sich die Endkappenecke des Moduls 510-3 befindet, weiter einzuschränken. Unter Bezugnahme auf 9B ist der Eckengenerator 304 so konfiguriert, dass er im vorliegenden Beispiel die Eckkandidaten-Teilmenge auswählt, indem er die Tiefenmessung innerhalb der primären Teilmenge identifiziert, die der Sensorposition 904 am nächsten liegt. Insbesondere 9B zeigt eine Draufsicht auf die primäre Teilmenge der Tiefenmessungen. Die primäre Teilmenge wird als Keil und nicht als ganzer Zylinder dargestellt, da der Sensor 209 ein Sichtfeld von weniger als 360 Grad hat (z.B. von etwa 130 Grad im abgebildeten Beispiel). Wie in 9B zu sehen ist, wird nur eine Teilmenge der Tiefenmessungen (die oben erwähnte primäre Teilmenge) in der Punktwolke 800 gezeigt. Insbesondere sind keine Tiefenmessungen, die mit der Grundfläche 724 korrespondieren, in der primären Teilmenge vorhanden.
  • Der Eckengenerator 304 ist so konfiguriert, dass er den Punkt 908 in der primären Teilmenge als den Punkt identifiziert, der dem Standort 904 am nächsten liegt (d.h. der Standort des Sensors 209). Es wird angenommen, dass der Punkt 908 mit einem Teil der Endkappenecke des Moduls 510-3 korrespondiert. Der Eckengenerator 304 ist daher so konfiguriert, dass er als Reaktion auf die Identifizierung des Punktes 908 die oben erwähnte Eckenkandidaten-Teilmenge auswählt, indem er eine Eckenkandidaten-Auswahlregion auf der Grundlage des Punktes 908 erzeugt. Im vorliegenden Beispiel ist die Eckkandidaten-Auswahlregion ein weiterer Zylinder mit einem kleineren vordefinierten Durchmesser als der zuvor erwähnte Zylinder 900 und mit einer Längsachse, die den Punkt 908 enthält. Ein Beispiel für die Eckkandidaten-Auswahlregion 912 ist in 9A dargestellt. Die Region 912 kann auf der gleichen Höhe (z.B. 2 cm über der Grundfläche 724) wie die Region 900 positioniert werden und kann die gleiche Höhe wie die Region 900 haben.
  • Nachdem die Eckkandidaten-Auswahlregion 912 ausgewählt wurde, wird der Eckgenerator 304 so konfiguriert, dass er eine Kante (d.h. eine Linie) an die Punkte anpasst, die in der Region 912 enthalten sind. Unter Bezugnahme auf 9C sind die Region 912 und die darin enthaltene Teilmenge der Eckenkandidaten-Tiefenmessungen isoliert dargestellt. Eine Eckenkante 916 ist ebenfalls in 9C dargestellt, nachdem sie an die Punkte der Eckkandidaten-Teilmenge angepasst wurde. Die Eckenkante 916 wird gemäß einer geeigneten Linienanpassungsoperation erzeugt, wie z.B. einer RANSAC-Linienanpassungsoperation (Random Sample Consensus). Randbedingungen können auch auf die Linienanpassungsoperation angewendet werden. Beispielsweise kann der Eckengenerator 304 so konfiguriert werden, dass er eine im Wesentlichen vertikale Linie an die Punkte der Eckkandidaten-Teilmenge anpasst, indem er eine Randbedingung auferlegt, dass die resultierende Eckenkante 916 im Wesentlichen senkrecht zur oben erwähnten Grundebene steht.
  • Mit Bezug zu 4, ist im Block 420, als Reaktion auf die Erzeugung der Eckenkante 916, der Eckengenerator 304 so konfiguriert, dass er eine Gang-Teilmenge von Tiefenmessungen aus der primären Teilmenge (in 9B dargestellt) auswählt, basierend auf der Eckenkante 916. Insbesondere wird unter Bezugnahme auf 9D eine Gang-Teilmenge 924 aus der primären Teilmenge ausgewählt, wobei ein Rest 928 der primären Teilmenge ausgeschlossen wird, indem nur die Tiefenmessungen der primären Teilmenge ausgewählt werden, die auf einer vordefinierten Seite der Eckenkante 916 relativ zur Mittelposition 904 liegen. Beispielsweise ist der Eckengenerator 304 so konfiguriert, dass er die primäre Teilmenge durch eine Ebene 920 teilt, die sich durch die Eckenkante 916 erstreckt und die Mittelposition 904 schneidet. Die Gang-Teilmenge 924 ist die Teilmenge von Punkten auf der Seite der Ebene 920, die dem Innenraum des Gangs 500 entspricht.
  • In anderen Beispielen ist in Block 420 der Eckengenerator 304 ebenfalls so konfiguriert, dass er eine Endkappen-Teilmenge auswählt, die dem Rest 928 der primären Teilmenge entspricht, wie in 9D gezeigt. Wie sich jetzt zeigen wird, wird angenommen, dass die Endkappen-Teilmenge die Kanten 718 enthält, die sich senkrecht zum Gang 500 erstrecken.
  • Im Block 425 ist der Regalebenengenerator 308 so konfiguriert, dass er lokale Minima aus der Gang-Teilmenge zur Verwendung bei der Erzeugung einer Regalebene im Block 430 auswählt. Genauer gesagt, um auf 10A zurückzukommen, ist im vorliegenden Beispiel der Regalebenengenerator 308 so konfiguriert, dass er eine Vielzahl von Probenebenen 1000-1, 1000-2, 100-3 usw. erzeugt, die sich von der Mittelposition 904 in vordefinierten Winkeln durch die Gang-Teilmenge von Tiefenmessungen erstrecken. Für jede Probenebene 1000 werden alle Tiefenmessungen innerhalb eines Schwellenabstands von der Probenebene 1000 auf die Probenebene projiziert. Eine Vielzahl von Tiefenmessungen 1004 sind in 10A als innerhalb des oben erwähnten Schwellenabstandes der Ebenen 1000 dargestellt. Ferner wird, wie in 10B gezeigt, für jede Probenebene eine einzelne der Messungen 1004 ausgewählt, die sich am nächsten an der Stelle 904 befindet. Somit werden in 10B drei lokale Minimumpunkte 1008-1, 1008-2 und 1008-3 als ausgewählt dargestellt, während die übrigen Punkte in der Gang-Teilmenge verworfen wurden.
  • Der Regalebenengenerator 304 wird dann so konfiguriert, dass er eine Regalebene für den Gang 500 im Block 430 erzeugt, indem er eine geeignete Ebenenanpassungsoperation (z.B. eine RANSAC-Operation) auf den im Block 425 ausgewählten lokalen Minima durchführt. 10C veranschaulicht das Ergebnis einer solchen Ebenenanpassungsoperation in Form einer Regal- oder Gangebene 1012 (die oben erwähnten lokalen Minima 1008 sind zur Veranschaulichung ebenfalls dargestellt). Die Erzeugung der Gangebene im Block 430 kann eine oder mehrere Validierungsoperationen umfassen. So können z.B. Randbedingungen für den Vorgang der Ebenenanpassung auferlegt werden, wie z.B. die Anforderung, dass die resultierende Gangebene im Wesentlichen senkrecht zur bereits erwähnten Grundebene sein muss.
  • In einigen Beispielen können aus den Bilddaten 850 (d.h. unabhängig von den Tiefenmessungen 800) Randbedingungen zur Verwendung am Block 430 generiert werden. Insbesondere ist in einigen Beispielen der Präprozessor 300 so konfiguriert, dass er nach der Datenerfassung am Block 405 den Block 435 ausführt. Bei Block 435 ist der Präprozessor 300 so konfiguriert, dass er aus den Bilddaten 850 eine oder mehrere Regalkanten gemäß einer geeigneten Kantenerkennungsoperation erzeugt. Ein Beispiel für die oben erwähnte Kantenerkennungsoperation umfasst die Umwandlung der Bilddaten 850 in Graustufenbilddaten und optional die Abwärtsabtastung (Down-Sampling) der Bilddaten 850. Der Präprozessor 300 kann dann so konfiguriert werden, dass er z.B. einen Sobel-Filter auf die Bilddaten 850 anwendet, um Gradienten (z.B. vertikale Gradienten, die horizontale Kanten bezeichnen) aus den Bilddaten zu extrahieren. Der Präprozessor 300 kann dann so konfiguriert werden, dass er eine Hough-Transformation auf die resultierenden Gradienten anwendet, um Kandidaten-Regalkantenlinien zu erzeugen. Wie den Fachleuten klar sein wird, können in Block 435 auch andere Regalkantenerkennungsoperationen wie z.B. ein Canny-Kantendetektor (Canny-Edge Detector) eingesetzt werden.
  • Nach der Generierung von Regalkanten (z.B. entsprechend den in 7 gezeigten Regalkanten 718-1 und 718-2) kann der Präprozessor 300 so konfiguriert werden, dass er die Positionen (in der Punktwolke 800) der Pixel in den Bilddaten 850, die auf den Regalkanten liegen, abruft. Die oben genannten Positionen werden dann im Block 430 verwendet, um die vom Regalebenengenerator 308 erzeugte Gangebene zu validieren. Der Regalebenengenerator 308 kann beispielsweise so konfiguriert werden, dass er verifiziert, dass die Gangebene 1012 die Punkte enthält, die auf den Regalkanten liegen, oder dass diese Punkte innerhalb eines Schwellenabstands von der Gangebene 1012 liegen. In anderen Beispielen ist der Präprozessor 300 so konfiguriert, dass er eine Validierungsebene an die Regalkantenpunkte anpasst, und der Regalebenengenerator 308 ist so konfiguriert, dass er die Validierungsebene während der Generierung der Gangebene 1012 als Randbedingung anwendet (z.B. als Anforderung, dass die Gangebene 1012 einen Winkel mit der Validierungsebene haben muss, der nicht größer als ein vordefinierter Schwellenwert ist). In weiteren Beispielen kann der Präprozessor 300 so konfiguriert werden, dass er die Gangebene validiert, indem er bestimmt, ob die Winkel zwischen den Regalkanten selbst (z.B. die oben erwähnten Kandidaten-Regallinien) und der Gangebene 1012 einen Schwellenwinkel überschreiten.
  • Um zu 4 zurückzukehren ist im Block 440 der Lokalisierer 316 so konfiguriert, dass er die Lokalisierung der Vorrichtung 103 gemäß der Eckenkante 916 und der Gangebene 1012 aktualisiert. Wie sich nun zeigen wird, kann die Position und Orientierung der Vorrichtung 103 relativ zur Eckenkante 916 und der Gangebene 1012 aus der Punktwolke 800 bestimmt werden, ohne dass sie bestimmten Fehlerquellen (z.B. Trägheitssensor-Verschiebung, Radschlupf und dergleichen) unterliegen, die für einen Teil der Abweichung zwischen der vorherigen Lokalisierung 600 und der wahren Position der Vorrichtung 103 verantwortlich sind.
  • Die Aktualisierung der Lokalisierung der Vorrichtung 103 im Block 440 beinhaltet im vorliegenden Beispiel die Initiierung eines lokalen Bezugsrahmens, dessen Ursprung der Schnittpunkt zwischen der Eckenkante 916, der Gangebene 1012 und der oben erwähnten Grundebene ist. 10C veranschaulicht ein lokales Bezugssystem 1016, in dem die Gangebene 1012 die X-Z-Ebene und die Grundebene die X-Y-Ebene ist. Der Lokalisierer 316 kann daher so konfiguriert werden, dass er eine Position der Vorrichtung 103 im Bezugssystem 1016 bestimmt. In weiteren Beispielen ist der Lokalisierer 316 so konfiguriert, dass er die Lokalisierung der Vorrichtung 103 aktualisiert, indem er (z.B. aus der Karte im Archiv 232) einen vordefinierten wahren Standort der Endkappenecke des Moduls 510-3 im globalen Bezugsrahmen 102 abruft. Die Position und Orientierung der Vorrichtung 103 kann dann im globalen Bezugsrahmen 102 mit dem wahren Standort der Endkappenecke des Moduls 510-3 und der Position und Orientierung der Vorrichtung 103 relativ zur Eckenkante 916 und der Gangebene 1012 bestimmt werden.
  • 11 zeigt die vorherige Lokalisierung 600, die wahre Position der Vorrichtung 103 und eine aktualisierte Lokalisierung 1100, die durch die Durchführung des Verfahrens 400 erhalten wurde. Die aktualisierte Lokalisierung kann auch konfiguriert werden, um einen Kalman-Filter zu initialisieren oder zu aktualisieren, der so konfiguriert ist, dass er Trägheitssensordaten, Rad-Odometrie, Lidar-Odometrie und dergleichen als Eingaben akzeptiert und Stellungsschätzungen für die Vorrichtung 103 erzeugt.
  • Nach Abschluss des Verfahrens 400 wird die Vorrichtung 103 so konfiguriert, dass sie den Gang 500 gemäß der oben erwähnten Datenerfassungsanweisung (vom Server 101 empfangen) durchquert. Wie zu sehen sein wird, können sich während des Durchquerens zusätzliche Fehler in der im Block 440 erhaltenen Lokalisierung ansammeln. Die Vorrichtung 103 ist daher so konfiguriert, dass sie den oben im Zusammenhang mit 4 beschriebenen Aktualisierungsprozess der Lokalisierung wiederholt, mit bestimmten, nachstehend aufgeführten Unterschieden.
  • 12 veranschaulicht ein Verfahren 1200 zur Aktualisierung der Lokalisierung während der Bewegung durch einen Gang (z.B. den Gang 500). Das Verfahren 1200 kann daher im Anschluss an eine Durchführung des Verfahrens 400 an einem Eingang zum Gang 500 eingeleitet werden, wie oben diskutiert. Die Durchführung des Verfahrens 1200 umfasst die Erfassung von Tiefen- und (optional) Bilddaten im Block 1205, die Auswahl einer primären Teilmenge der Tiefenmessungen im Block 1210 und die Auswahl lokaler Minima aus der primären Teilmenge im Block 1225. Die Durchführung der Blöcke 1205, 1210 und 1225 ist wie oben in Verbindung mit den Blöcken 405, 410 bzw. 425 beschrieben. Wie sich nun zeigen wird, wird die Erkennung einer Ecke über die Erzeugung einer Eckenkante in 12 weggelassen. Die in Block 1225 ausgewählten lokalen Minima werden daher aus der Gesamtheit der primären Teilmenge ausgewählt und nicht aus einem Teil der primären Teilmenge, wie in 9D dargestellt.
  • Nach der Auswahl der lokalen Minima im Block 1225 ist die Vorrichtung 103 (und insbesondere der Regalebenengenerator 308) so konfiguriert, dass sie eine Stellungfilterebene erzeugt und eine Gang-Teilmenge von Tiefenmessungen auf der Grundlage der Stellungfilterebene auswählt. Um zu 13 zu kommen, wird eine beispielhafte Durchführung von Block 1227 diskutiert.
  • 13 zeigt die wahre Position der Vorrichtung 103 in durchgezogenen Linien und die aktuelle Lokalisierung 1300 der Vorrichtung 103. Wie man sehen wird, hat sich ein gewisser Fehler in der Lokalisierung 1300 angehäuft. 13 veranschaulicht auch eine Vielzahl von lokalen Minimumpunkten 1304, die durch die Durchführung des Blocks 1225 erhalten wurden. Bestimmte lokale Minima können Sensorrauschen oder Tiefenmessungen darstellen, die den Produkten 712 auf den Regalträgerflächen 717 entsprechen. Daher ist der Regalebenengenerator 308 so konfiguriert, dass er eine Stellungsfilterebene 1308 erzeugt und eine Gang-Teilmenge der Punkte 1304 auswählt, die die Teilmenge der Punkte 1304 enthält, die sich zwischen der Stellungsfilterebene 1308 und einer Stellungsebene 1312 befinden, die der aktuellen (nach der Lokalisierung 1300) Stellung der Vorrichtung 103 entspricht. Die Position der Stellungsfilterebene 1308 wird gemäß einem Abstand 1316 von der Stellungsebene 1312 eingestellt. Der Abstand 1316 kann vordefiniert werden oder als ein Vielfaches (typischerweise größer als eins) eines Abstands 1320 zwischen dem nächstgelegenen Punkt in der primären Teilmenge und der Stellungsebene 1312 bestimmt werden. Der Faktor selbst kann ebenfalls vordefiniert werden oder dynamisch auf der Grundlage des Orientierungswinkels der Vorrichtung 103 relativ zur X-Achse des lokalen Bezugsrahmens 1016 bestimmt werden. Beispielsweise kann der Faktor so konfiguriert werden, dass er sich erhöht, wenn der Orientierungswinkel von einem Winkel von Null Grad abweicht.
  • Nachdem die Stellungsfilterebene 1308 erzeugt und die Gang-Teilmenge von Punkten im Block 1227 ausgewählt wurde, ist der Regalebenengenerator 308 so konfiguriert, dass er eine Regalebene (hier auch als Gangebene bezeichnet, wie bereits erwähnt) im Block 1230 auf der Grundlage der Gang-Teilmenge der Tiefenmessungen erzeugt. Die Durchführung von Block 1230 entspricht der oben in Verbindung mit Block 430 beschriebenen Durchführung und kann die Verwendung von bilderzeugten Regalkanten aus Block 1235 einschließen (die so ist, wie in Verbindung mit Block 435 beschrieben). Unter erneuter Bezugnahme auf 13 werden zwei Kandidaten-Gangebenen 1324 und 1328 dargestellt.
  • Im Block 1232 wird der Regalebenengenerator so konfiguriert, dass er eine der Ebenen 1324 und 1328 auswählt und bestimmt, ob der Winkel der ausgewählten Ebene relativ zur Stellungsfilterebene 1308 (oder der Stellungsebene 1312, da die Ebenen 1308 und 1312 parallel zueinander liegen) einen vorgegebenen Schwellenwert überschreitet. Die Bestimmung im Block 1232 spiegelt die Annahme wider, dass die Lokalisierung 1300 zwar einen gewissen Grad an Fehler enthalten kann, dieser Fehler jedoch nicht unbegrenzt ist und bestimmte Ebenenwinkel daher wahrscheinlich nicht den wahren Regalebenen entsprechen. Genauer gesagt ist die Vorrichtung 103 so konfiguriert, dass sie den Gang 500 durchquert und dabei im Wesentlichen parallel zu den Regalkanten 718 der Module 510 bleibt. Daher ist es unwahrscheinlich, dass eine am Block 1230 erzeugte Ebene, die anzeigt, dass die Vorrichtung 103 über einen Schwellenwert hinaus von der oben genannten parallelen Ausrichtung abgewichen ist, eine korrekt angepasste Ebene ist. Die Winkelschwelle kann z.B. etwa zehn Grad betragen. Im vorliegenden Beispiel ist daher die Bestimmung im Block 1232 für die Ebene 1324 positiv, und die Durchführung des Verfahrens 1200 geht daher zum Block 1233 über, um zu bestimmen, ob noch weitere Ebenen zu beurteilen sind. Wenn die Bestimmung negativ ausfällt, beginnt die Durchführung des Verfahrens 1200 erneut im Block 1205.
  • Wenn noch weitere Ebenen zu beurteilen sind, wird die Durchführung des Blocks 1232 für die nächste Ebene (im vorliegenden Beispiel die Ebene 1328) wiederholt. Wie aus 13 ersichtlich ist, liegt die Ebene 1328 im Wesentlichen parallel zur Stellungsebene 1312, und die Bestimmung im Block 1232 ist daher negativ. Die Ebene 1328 wird daher als Gangebene ausgewählt, und der Lokalisierer 316 ist so konfiguriert, dass er die Lokalisierung der Vorrichtung 103 auf der Grundlage der Gangebene 1328 aktualisiert. Wie sich nun zeigen wird, stellt die Gangebene 1328 die ermittelte Position der X-Z-Ebene des Bezugsrahmens 1016 dar. Daher kann im Block 1240 der Lokalisierer 316 so konfiguriert werden, dass er die wahrgenommene Orientierung der Vorrichtung 103 relativ zur X-Z-Ebene auf der Grundlage der Orientierung der Gangebene 1328 in der im Block 1205 erfassten Punktwolke aktualisiert. 14 zeigt eine aktualisierte Lokalisierung 1400, die im Block 1240 erzeugt wurde und bei der die Orientierung relativ zur Lokalisierung 1300 korrigiert wurde. Wie oben in Verbindung mit Block 440 erwähnt, kann der Lokalisierer 316 auch so konfiguriert werden, dass der Kalman-Filter mit der aktualisierten Lokalisierung 1400 aktualisiert wird.
  • Zurück zu 12, wird im Block 1245 die Vorrichtung 103 so konfiguriert, dass sie auf der Grundlage der aktualisierten Lokalisierung feststellt, ob der Gang 500 vollständig durchquert wurde. Die Bestimmung in Block 1245 kann entweder auf dem lokalen Bezugsrahmen 1016 oder dem globalen Bezugsrahmen 102 basieren, da die Länge des Gangs 500 aus der Karte bekannt ist. Wenn die Bestimmung im Block 1245 negativ ist, wird die Durchführung des Verfahrens 1200 wiederholt, während die Vorrichtung 103 weiterhin den Gang 500 durchquert. Wenn die Bestimmung im Block 1245 positiv ist, wird die Durchführung des Verfahrens 1200 abgebrochen.
  • In der vorstehenden Beschreibung wurden spezifische Ausführungsformen beschrieben. Ein Durchschnittsfachmann erkennt jedoch, dass verschiedene Modifikationen und Änderungen vorgenommen werden können, ohne den Schutzumfang der Erfindung, wie sie in den untenstehenden Ansprüchen definiert ist, abzuweichen. Dementsprechend sind die Beschreibung und die Figuren vielmehr in einem illustrativen als in einem einschränkenden Sinne zu betrachten, und alle derartigen Modifikationen sollen im Umfang der vorliegenden Lehren eingeschlossen sein.
  • Die Nutzen, Vorteile, Lösungen für Probleme und alle Elemente, die zum Auftreten oder einer Verstärkung eines Nutzens, eines Vorteils, oder einer Lösung führen können, sind nicht als kritische, erforderliche oder wesentliche Merkmale oder Elemente in einigen oder sämtlichen Ansprüchen zu verstehen. Die Erfindung ist lediglich durch die angehängten Ansprüche definiert, einschließlich jeglicher Änderungen, die während der Anhängigkeit dieser Anmeldung vorgenommen wurden und aller Äquivalente der erteilten Ansprüche.
  • Darüber hinaus können in diesem Dokument relationale Begriffe wie erster und zweiter, oberer und unterer und dergleichen lediglich verwendet sein, um eine Entität oder Aktion von einer anderen Entität oder Aktion zu unterscheiden, ohne notwendigerweise eine tatsächliche derartige Beziehung oder Reihenfolge zwischen solchen Entitäten oder Aktionen zu erfordern oder zu implizieren. Die Ausdrücke „umfasst“, „umfassend“, „hat“, „haben“, „aufweist“, „aufweisend“, „enthält“, „enthaltend“ oder jede andere Variation davon sollen eine nicht-ausschließliche Einbeziehung abdecken, derart, dass ein Prozess, Verfahren, Produkt oder Vorrichtung, das eine Liste von Elementen umfasst, hat, aufweist, enthält, nicht nur diese Elemente aufweist, sondern auch andere Elemente aufweisen kann, die nicht ausdrücklich aufgelistet sind oder einem solchen Prozess, Verfahren, Produkt oder Vorrichtung inhärent sind. Ein Element, dem „umfasst ... ein“, „hat ... ein“, „aufweist ... ein“ oder „enthält ...ein“ vorausgeht, schließt ohne weitere Einschränkungen die Existenz zusätzlicher identischer Elemente in dem Prozess, dem Verfahren, dem Produkt oder der Vorrichtung, die das Element umfasst, hat, aufweist oder enthält, nicht aus. Die Begriffe „ein“ und „eine“ sind als eine oder mehrere definiert, sofern es hierin nicht ausdrücklich anders angegeben wird. Die Begriffe „im Wesentlichen“, „im Allgemeinen“, „ungefähr“, „etwa“ oder jede andere Version davon sind so definiert, dass sie von einem Fachmann auf diesem Gebiet nahekommend verstanden werden, und in einer nicht-einschränkenden Ausführungsform ist der Ausdruck definiert als innerhalb von 10%, in einer weiteren Ausführungsform als innerhalb von 5%, in einer weiteren Ausführungsform als innerhalb von 1% und in einer weiteren Ausführungsform als innerhalb von 0,5%. Der Ausdruck „gekoppelt“, wie er hierin verwendet wird, ist als verbunden definiert, jedoch nicht notwendigerweise direkt und nicht notwendigerweise mechanisch. Eine Vorrichtung oder eine Struktur, die auf eine bestimmte Art „ausgeführt“ ist, ist zumindest auch so ausgeführt, kann aber auch auf Arten ausgeführt sein, die nicht aufgeführt sind.
  • Es versteht sich, dass einige Ausführungsformen von einem oder mehreren generischen oder spezialisierten Prozessoren (oder „Verarbeitungsgeräten“) wie Mikroprozessoren, digitale Signalprozessoren, kundenspezifische Prozessoren und Field-Programmable-Gate-Arrays (FPGAs) und einmalig gespeicherten Programmanweisungen (einschließlich sowohl Software als auch Firmware) umfasst sein können, die den einen oder die mehreren Prozessoren steuern, um in Verbindung mit bestimmten Nicht-Prozessorschaltungen einige, die meisten oder alle der hierin beschriebenen Funktionen des Verfahrens und/oder der Vorrichtung zu implementieren. Alternativ können einige oder alle Funktionen durch eine Zustandsmaschine implementiert sein, die keine gespeicherten Programmanweisungen aufweist, oder in einer oder mehreren anwendungsspezifischen integrierten Schaltungen (ASICs), in denen jede Funktion oder einige Kombinationen von bestimmten Funktionen als benutzerdefinierte Logik implementiert sind. Natürlich kann eine Kombination der beiden Ansätze verwendet werden.
  • Darüber hinaus kann eine Ausführungsform als ein computerlesbares Speichermedium implementiert sein, auf dem computerlesbarer Code gespeichert ist, um einen Computer (der zum Beispiel einen Prozessor umfasst) zu programmieren, um ein Verfahren auszuführen, wie es hierin beschrieben und beansprucht ist. Beispiele solcher computerlesbaren Speichermedien weisen eine Festplatte, eine CD-ROM, eine optische Speichervorrichtung, eine magnetische Speichervorrichtung, einen ROM (Nur-Lese-Speicher), einen PROM (programmierbarer Nur-Lese-Speicher), einen EPROM (löschbarer programmierbarer Nur-Lese-Speicher), einen EEPROM (elektrisch löschbarer programmierbarer Nur-Lese-Speicher) und einen Flash-Speicher auf, sind aber nicht hierauf beschränkt auf. Ferner wird davon ausgegangen, dass ein Durchschnittsfachmann, ungeachtet möglicher signifikanter Anstrengungen und vieler Designwahlen, die zum Beispiel durch verfügbare Zeit, aktuelle Technologie und wirtschaftliche Überlegungen motiviert sind, ohne Weiteres in der Lage ist, solche Softwareanweisungen und -programme und ICs mit minimalem Experimentieren zu generieren, wenn er durch die hierin offenbarten Konzepte und Prinzipien angeleitet wird.
  • Die Zusammenfassung der Offenbarung wird bereitgestellt, um es dem Leser zu ermöglichen, schnell das Wesen der technischen Offenbarung zu ermitteln. Sie wird mit dem Verständnis bereitgestellt, dass sie nicht zur Auslegung oder Einschränkung des Umfangs oder der Bedeutung der Ansprüche verwendet wird. Ferner kann der vorangehenden detaillierten Beschreibung entnommen werden, dass verschiedene Merkmale in verschiedenen Ausführungsformen zum Zwecke der Verschlankung der Offenbarung zusammengefasst sind. Diese Art der Offenbarung ist nicht so auszulegen, dass sie die Absicht widerspiegelt, dass die beanspruchten Ausführungsformen mehr Merkmale erfordern, als ausdrücklich in jedem Anspruch angegeben sind. Vielmehr ist es so, wie die folgenden Ansprüche zeigen, dass der erfinderische Gegenstand in weniger als allen Merkmalen einer einzigen offenbarten Ausführungsform liegt. Somit werden die folgenden Ansprüche hiermit in die detaillierte Beschreibung inkorporiert, wobei jeder Anspruch für sich als ein separat beanspruchter Gegenstand steht.

Claims (20)

  1. Verfahren zur Lokalisierung einer mobilen Automatisierungsvorrichtung in einer Navigationssteuerung, wobei das Verfahren umfasst: Steuern eines Tiefensensors zur Erfassung einer Vielzahl von Tiefenmessungen, die mit einem Bereich korrespondieren, der eine Navigationsstruktur enthält; Auswählen einer primären Teilmenge der Tiefenmessungen; Auswählen, aus der primären Teilmenge, einer Eckenkandidaten-Teilmenge der Tiefenmessungen; Generieren, aus der Eckenkandidaten-Teilmenge, einer Eckenkante, die mit der Navigationsstruktur korrespondiert; Auswählen einer Gang-Teilmenge der Tiefenmessungen aus der primären Teilmenge entsprechend der Eckenkante; Auswählen, aus der Gang-Teilmenge, einer lokalen Minimumtiefenmessung für jede einer Vielzahl von Probenebenen, die sich vom Tiefensensor aus erstrecken; Erzeugen einer Regalebene aus den lokalen Minimumtiefenmessungen; und Aktualisieren einer Lokalisierung der mobilen Automatisierungsvorrichtung basierend auf der Eckenkante und der Regalebene.
  2. Verfahren nach Anspruch 1, ferner umfassend: vor dem Erfassen der Tiefenmessungen: Empfangen einer Anweisung, einen mit der Navigationsstruktur assoziierten Gang zu durchqueren; Abrufen eines Standortes der Navigationsstruktur in einem globalen Bezugsrahmen; und Steuern eines Lokomotivmechanismus der mobilen Automatisierungsvorrichtung, um sich zum Standort zu bewegen.
  3. Verfahren nach Anspruch 1, wobei das Auswählen der primären Teilmenge das Erzeugen einer primären Auswahlregion, die auf dem Tiefensensor zentriert ist, und das Auswählen der Tiefenmessungen innerhalb der primären Auswahlregion umfasst.
  4. Verfahren nach Anspruch 3, wobei die primäre Auswahlregion ein Zylinder ist.
  5. Verfahren nach Anspruch 1, wobei das Auswählen der Gang-Teilmenge das Aufteilen der primären Teilmenge in zwei Teile entsprechend der Eckenkante und das Auswählen eines der Teile umfasst.
  6. Verfahren nach Anspruch 1, wobei das Aktualisieren der Lokalisierung das Initialisieren eines lokalen Bezugsrahmens mit einem Ursprung basierend auf der Eckenkante und der Regalebene umfasst.
  7. Verfahren nach Anspruch 1, ferner umfassend: Bereitstellen der aktualisierten Lokalisierung für einen Kalman-Filter.
  8. Verfahren von Anspruch 1, ferner umfassend: Erfassen von Bilddaten mit den Tiefenmessungen; Erkennen einer Regalkante in den Bilddaten; und Validieren der Regalebene entsprechend der Regalkante.
  9. Verfahren nach Anspruch 2, ferner umfassend: Initiieren einer Durchquerung des Gangs; Steuern des Tiefensensors zur Erfassung einer weiteren Vielzahl von Tiefenmessungen; Auswählen einer weiteren primären Teilmenge von Tiefenmessungen aus der weiteren Vielzahl von Tiefenmessungen; Auswählen einer weiteren Gang-Teilmenge der Tiefenmessungen aus der weiteren primären Teilmenge; Erzeugen einer weiteren Regalebene basierend auf der weiteren Gang-Teilmenge; und weiteres Aktualisieren der Lokalisierung basierend auf der weiteren Regalebene.
  10. Verfahren nach Anspruch 9, ferner umfassend: Bestimmen eines Winkels der weiteren Regalebene relativ zu einer Stellungsebene der mobilen Automatisierungsvorrichtung; und Verwerfen der weiteren Regalebene, wenn der Winkel einen Schwellenwert überschreitet.
  11. Rechenvorrichtung zur Lokalisierung einer mobilen Automatisierungsvorrichtung, umfassend: einen Tiefensensor; eine Navigationssteuerung, die konfiguriert ist, um: den Tiefensensor so zu steuern, dass er eine Vielzahl von Tiefenmessungen erfasst, die mit einem Bereich korrespondieren, der eine Navigationsstruktur enthält; eine primäre Teilmenge der Tiefenmessungen auszuwählen; aus der primären Teilmenge eine Eckenkandidaten-Teilmenge der Tiefenmessungen auszuwählen; aus der Eckkandidaten-Teilmenge eine Eckenkante zu erzeugen, die mit der Navigationsstruktur korrespondiert; eine Gang-Teilmenge der Tiefenmessungen aus der primären Teilmenge entsprechend der Eckenkante auszuwählen; aus der Gang-Teilmenge eine lokale Minimumtiefenmessung für jede einer Vielzahl von Probenebenen, die sich vom Tiefensensor aus erstrecken, auszuwählen; eine Regalebene aus den lokalen Minimumtiefenmessungen zu erzeugen; und eine Lokalisierung der mobilen Automatisierungsvorrichtung basierend auf der Eckenkante und der Regalebene zu aktualisieren.
  12. Rechenvorrichtung nach Anspruch 11, wobei die Navigationssteuerung ferner konfiguriert ist, vor dem Steuern des Tiefensensors zur Erfassung der Tiefenmessungen: eine Anweisung zu empfangen, einen mit der Navigationsstruktur assoziierten Gang zu durchqueren; einen Standort der Navigationsstruktur in einem globalen Bezugsrahmen abzurufen; und einen Lokomotivmechanismus der mobilen Automatisierungsvorrichtung zu steuern, um sich zu dem Standort zu bewegen.
  13. Rechenvorrichtung nach Anspruch 11, wobei die Navigationssteuerung ferner konfiguriert ist, um die primäre Teilmenge auszuwählen durch: Erzeugen einer primären Auswahlregion, die auf den Tiefensensor zentriert ist, und Auswählen der Tiefenmessungen innerhalb der primären Auswahlregion.
  14. Rechenvorrichtung nach Anspruch 13, wobei die primäre Auswahlregion ein Zylinder ist.
  15. Rechenvorrichtung nach Anspruch 11, wobei die Navigationssteuerung ferner so konfiguriert ist, dass sie die Gang-Teilmenge auswählt, indem sie die primäre Teilmenge in zwei Teile entsprechend der Eckenkante teilt und einen der Teile auswählt.
  16. Rechenvorrichtung nach Anspruch 11, wobei der Navigationssteuerung ferner so konfiguriert ist, dass sie die Lokalisierung durch Initialisieren eines lokalen Bezugsrahmens aktualisiert, der einen Ursprung basierend auf der Eckenkante und der Regalebene hat.
  17. Rechenvorrichtung nach Anspruch 11, wobei die Navigationssteuerung ferner so konfiguriert ist, dass sie die aktualisierte Lokalisierung an einen Kalman-Filter bereitstellt.
  18. Rechenvorrichtung nach Anspruch 11, wobei der Navigationssteuerung ferner konfiguriert ist, um: den Bildsensor zu steuern, um Bilddaten mit den Tiefenmessungen zu erfassen; eine Regalkante in den Bilddaten zu erkennen; und die Regalebene entsprechend der Regalkante zu validieren.
  19. Rechenvorrichtung nach Anspruch 12, wobei die Navigationssteuerung ferner konfiguriert ist, um: eine Durchquerung des Gangs einzuleiten; den Tiefensensor zu steuern, um eine weitere Vielzahl von Tiefenmessungen zu erfassen; eine weitere primäre Teilmenge von Tiefenmessungen aus der weiteren Vielzahl von Tiefenmessungen auszuwählen; eine weitere Gang-Teilmenge der Tiefenmessungen aus der weiteren primären Teilmenge auszuwählen; eine weitere Regalebene basierend auf der weiteren Gang-Teilmenge zu erzeugen; und die Lokalisierung basierend auf der weiteren Regalebene weiter zu aktualisieren.
  20. Rechenvorrichtung nach Anspruch 19, wobei die Navigationssteuerung ferner konfiguriert ist, um: einen Winkel der weiteren Regalebene relativ zu einer Stellungsebene der mobilen Automatisierungsvorrichtung zu bestimmen; und die weitere Regalebene zu verwerfen, wenn der Winkel einen Schwellenwert überschreitet.
DE112019001796.9T 2018-04-05 2019-04-04 Verfahren, system und vorrichtung zur lokalisierung mobiler automatisierungsvorrichtungen Pending DE112019001796T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/946,412 US11327504B2 (en) 2018-04-05 2018-04-05 Method, system and apparatus for mobile automation apparatus localization
US15/946,412 2018-04-05
PCT/US2019/025859 WO2019195595A1 (en) 2018-04-05 2019-04-04 Method, System and Apparatus for Mobile Automation Apparatus Localization

Publications (1)

Publication Number Publication Date
DE112019001796T5 true DE112019001796T5 (de) 2021-02-11

Family

ID=67211443

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112019001796.9T Pending DE112019001796T5 (de) 2018-04-05 2019-04-04 Verfahren, system und vorrichtung zur lokalisierung mobiler automatisierungsvorrichtungen

Country Status (6)

Country Link
US (1) US11327504B2 (de)
BE (1) BE1026161B1 (de)
CA (1) CA3095925C (de)
DE (1) DE112019001796T5 (de)
GB (1) GB2586405B (de)
WO (1) WO2019195595A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10731970B2 (en) * 2018-12-13 2020-08-04 Zebra Technologies Corporation Method, system and apparatus for support structure detection
US11151743B2 (en) * 2019-06-03 2021-10-19 Zebra Technologies Corporation Method, system and apparatus for end of aisle detection

Family Cites Families (377)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5214615A (en) 1990-02-26 1993-05-25 Will Bauer Three-dimensional displacement of a body with computer interface
US5209712A (en) 1991-06-24 1993-05-11 Frederic Ferri Proprioceptive exercise, training and therapy apparatus
US5408322A (en) 1993-04-26 1995-04-18 Materials Research Corporation Self aligning in-situ ellipsometer and method of using for process monitoring
JP3311830B2 (ja) 1993-09-20 2002-08-05 株式会社東芝 3次元動画作成装置
KR100197676B1 (ko) 1993-09-27 1999-06-15 윤종용 로보트 청소기
AU1333895A (en) 1993-11-30 1995-06-19 Raymond R. Burke Computer system for allowing a consumer to purchase packaged goods at home
US5414268A (en) 1994-02-01 1995-05-09 The Coe Manufacturing Company Light scanner with interlaced camera fields and parallel light beams
JPH0996672A (ja) 1995-09-29 1997-04-08 Sukuuea:Kk 3次元位置データ生成システムおよび方法
US20020014533A1 (en) 1995-12-18 2002-02-07 Xiaxun Zhu Automated object dimensioning system employing contour tracing, vertice detection, and forner point detection and reduction methods on 2-d range data maps
US6034379A (en) 1996-03-01 2000-03-07 Intermec Ip Corp. Code reader having replaceable optics assemblies supporting multiple illuminators
US5831719A (en) 1996-04-12 1998-11-03 Holometrics, Inc. Laser scanning system
US5988862A (en) 1996-04-24 1999-11-23 Cyra Technologies, Inc. Integrated system for quickly and accurately imaging and modeling three dimensional objects
US6075905A (en) 1996-07-17 2000-06-13 Sarnoff Corporation Method and apparatus for mosaic image construction
US5953055A (en) 1996-08-08 1999-09-14 Ncr Corporation System and method for detecting and analyzing a queue
JP3371279B2 (ja) 1997-03-10 2003-01-27 ペンタックス プレシジョン株式会社 Tvカメラ用レンズの選択方法および選択装置
US6026376A (en) 1997-04-15 2000-02-15 Kenney; John A. Interactive electronic shopping system and method
GB2330265A (en) 1997-10-10 1999-04-14 Harlequin Group Limited The Image compositing using camera data
IL122079A (en) 1997-10-30 2002-02-10 Netmor Ltd Ultrasound system for positioning and tracking
WO1999023600A1 (en) 1997-11-04 1999-05-14 The Trustees Of Columbia University In The City Of New York Video signal face region detection
US6975764B1 (en) 1997-11-26 2005-12-13 Cognex Technology And Investment Corporation Fast high-accuracy multi-dimensional pattern inspection
US7016539B1 (en) 1998-07-13 2006-03-21 Cognex Corporation Method for fast, robust, multi-dimensional pattern recognition
US6332098B2 (en) 1998-08-07 2001-12-18 Fedex Corporation Methods for shipping freight
US6820895B2 (en) 1998-09-23 2004-11-23 Vehicle Safety Systems, Inc. Vehicle air bag minimum distance enforcement apparatus, method and system
US6442507B1 (en) 1998-12-29 2002-08-27 Wireless Communications, Inc. System for creating a computer model and measurement database of a wireless communication network
US6711293B1 (en) 1999-03-08 2004-03-23 The University Of British Columbia Method and apparatus for identifying scale invariant features in an image and use of same for locating an object in an image
US6388688B1 (en) 1999-04-06 2002-05-14 Vergics Corporation Graph-based visual navigation through spatial environments
US6850946B1 (en) 1999-05-26 2005-02-01 Wireless Valley Communications, Inc. Method and system for a building database manipulator
US6711283B1 (en) 2000-05-03 2004-03-23 Aperio Technologies, Inc. Fully automatic rapid microscope slide scanner
US20020021756A1 (en) 2000-07-11 2002-02-21 Mediaflow, Llc. Video compression using adaptive selection of groups of frames, adaptive bit allocation, and adaptive replenishment
GB0020850D0 (en) 2000-08-23 2000-10-11 Univ London A system and method for intelligent modelling of public spaces
TW512478B (en) 2000-09-14 2002-12-01 Olympus Optical Co Alignment apparatus
US7054509B2 (en) 2000-10-21 2006-05-30 Cardiff Software, Inc. Determining form identification through the spatial relationship of input data
AU2002224245A1 (en) 2000-11-21 2002-06-03 Michael Stuart Gardner Tag marking
US7068852B2 (en) 2001-01-23 2006-06-27 Zoran Corporation Edge detection and sharpening process for an image
JP2002321698A (ja) 2001-04-27 2002-11-05 Mitsubishi Heavy Ind Ltd 航空貨物運搬用ボーディング・ブリッジ
AU2002315499B2 (en) 2001-06-29 2006-08-03 Quantronix, Inc. Overhead dimensioning system and method
US7046273B2 (en) 2001-07-02 2006-05-16 Fuji Photo Film Co., Ltd System and method for collecting image information
US6995762B1 (en) 2001-09-13 2006-02-07 Symbol Technologies, Inc. Measurement of dimensions of solid objects from two-dimensional image(s)
US20030154141A1 (en) 2001-09-18 2003-08-14 Pro Corp Holdings International Ltd. Image recognition inventory management system
US6722568B2 (en) 2001-11-20 2004-04-20 Ncr Corporation Methods and apparatus for detection and processing of supplemental bar code labels
US7233699B2 (en) 2002-03-18 2007-06-19 National Instruments Corporation Pattern matching using multiple techniques
US20060106742A1 (en) 2002-04-29 2006-05-18 Speed Trac Technologies, Inc. System and method for weighing and tracking freight
US7149749B2 (en) 2002-06-03 2006-12-12 International Business Machines Corporation Method of inserting and deleting leaves in tree table structures
US6928194B2 (en) 2002-09-19 2005-08-09 M7 Visual Intelligence, Lp System for mosaicing digital ortho-images
EP1434170A3 (de) 2002-11-07 2006-04-05 Matsushita Electric Industrial Co., Ltd. Verfahren und Vorrichtung zum Hinzufügen von Verzierungen an einem Bild einer Person
JP3862652B2 (ja) 2002-12-10 2006-12-27 キヤノン株式会社 印刷制御方法及び情報処理装置
US7248754B2 (en) 2003-05-05 2007-07-24 International Business Machines Corporation Apparatus and method for determining whether machine readable information on an item matches the item
US8072470B2 (en) * 2003-05-29 2011-12-06 Sony Computer Entertainment Inc. System and method for providing a real-time three-dimensional interactive environment
US7137207B2 (en) 2003-06-23 2006-11-21 Armstrong Timothy D Measuring arrangement to determine location of corners for a building foundation and a wooden base frame, and the use thereof
US7090135B2 (en) 2003-07-07 2006-08-15 Symbol Technologies, Inc. Imaging arrangement and barcode imager for imaging an optical code or target at a plurality of focal planes
US7493336B2 (en) 2003-07-22 2009-02-17 International Business Machines Corporation System and method of updating planogram information using RFID tags and personal shopping device
DE10336638A1 (de) 2003-07-25 2005-02-10 Robert Bosch Gmbh Vorrichtung zur Klassifizierung wengistens eines Objekts in einem Fahrzeugumfeld
TWI266035B (en) 2003-11-11 2006-11-11 Hon Hai Prec Ind Co Ltd A system and method for measuring point-cloud
SE0400556D0 (sv) 2004-03-05 2004-03-05 Pricer Ab Electronic shelf labelling system, electronic label, handheld device and method in an electronic labelling system
US7720554B2 (en) 2004-03-29 2010-05-18 Evolution Robotics, Inc. Methods and apparatus for position estimation using reflected light sources
WO2005098475A1 (en) 2004-03-29 2005-10-20 Evolution Robotics, Inc. Sensing device and method for measuring position and orientation relative to multiple light sources
US7885865B2 (en) 2004-05-11 2011-02-08 The Kroger Co. System and method for mapping of planograms
US7245558B2 (en) 2004-06-18 2007-07-17 Symbol Technologies, Inc. System and method for detection using ultrasonic waves
US7168618B2 (en) 2004-08-12 2007-01-30 International Business Machines Corporation Retail store method and system
US7643665B2 (en) 2004-08-31 2010-01-05 Semiconductor Insights Inc. Method of design analysis of existing integrated circuits
US8207964B1 (en) 2008-02-22 2012-06-26 Meadow William D Methods and apparatus for generating three-dimensional image data models
US7845560B2 (en) 2004-12-14 2010-12-07 Sky-Trax Incorporated Method and apparatus for determining position and rotational orientation of an object
US7783383B2 (en) 2004-12-22 2010-08-24 Intelligent Hospital Systems Ltd. Automated pharmacy admixture system (APAS)
WO2006136958A2 (en) 2005-01-25 2006-12-28 Dspv, Ltd. System and method of improving the legibility and applicability of document pictures using form based image enhancement
US7440903B2 (en) 2005-01-28 2008-10-21 Target Brands, Inc. System and method for evaluating and recommending planograms
DE102005007536A1 (de) 2005-02-17 2007-01-04 Isra Vision Systems Ag Verfahren zur Kalibrierung eines Messsystems
US7751928B1 (en) 2005-03-11 2010-07-06 Amazon Technologies, Inc. Method and system for agent exchange-based materials handling
MX2007012658A (es) 2005-04-13 2007-12-13 Store Eyes Inc Metodo y sistema para medir automaticamente el cumplimiento de la exhibicion en tiendas al menudeo.
US20080175513A1 (en) 2005-04-19 2008-07-24 Ming-Jun Lai Image Edge Detection Systems and Methods
US8294809B2 (en) 2005-05-10 2012-10-23 Advanced Scientific Concepts, Inc. Dimensioning system
US7590053B2 (en) 2005-06-21 2009-09-15 Alcatel Lucent Multiple endpoint protection using SPVCs
RU2416783C2 (ru) 2005-06-28 2011-04-20 Скэнэлайз Пти Лтд Система и способ измерения и составления карты поверхности относительно репера
US7817826B2 (en) 2005-08-12 2010-10-19 Intelitrac Inc. Apparatus and method for partial component facial recognition
US8625854B2 (en) 2005-09-09 2014-01-07 Industrial Research Limited 3D scene scanner and a position and orientation system
WO2007042251A2 (en) 2005-10-10 2007-04-19 Nordic Bioscience A/S A method of segmenting an image
US7605817B2 (en) 2005-11-09 2009-10-20 3M Innovative Properties Company Determining camera motion
US7508794B2 (en) 2005-11-29 2009-03-24 Cisco Technology, Inc. Authorizing an endpoint node for a communication service
US8577538B2 (en) 2006-07-14 2013-11-05 Irobot Corporation Method and system for controlling a remote vehicle
JP4730121B2 (ja) 2006-02-07 2011-07-20 ソニー株式会社 画像処理装置および方法、記録媒体、並びに、プログラム
US20070197895A1 (en) 2006-02-17 2007-08-23 Sdgi Holdings, Inc. Surgical instrument to assess tissue characteristics
US8157205B2 (en) 2006-03-04 2012-04-17 Mcwhirk Bruce Kimberly Multibody aircrane
US20100171826A1 (en) 2006-04-12 2010-07-08 Store Eyes, Inc. Method for measuring retail display and compliance
EP1850270B1 (de) 2006-04-28 2010-06-09 Toyota Motor Europe NV Robuster Detektor und Deskriptor für einen Interessenspunkt
CA2545118C (en) 2006-04-28 2011-07-05 Global Sensor Systems Inc. Device for measuring package size
US20070272732A1 (en) 2006-05-26 2007-11-29 Mettler-Toledo, Inc. Weighing and dimensioning system and method for weighing and dimensioning
WO2008097252A2 (en) 2006-06-22 2008-08-14 Roy Sandberg Method and apparatus for robotic path planning, selection, and visualization
JP4910507B2 (ja) 2006-06-29 2012-04-04 コニカミノルタホールディングス株式会社 顔認証システム及び顔認証方法
US7647752B2 (en) 2006-07-12 2010-01-19 Greg Magnell System and method for making custom boxes for objects of random size or shape
US7940955B2 (en) 2006-07-26 2011-05-10 Delphi Technologies, Inc. Vision-based method of determining cargo status by boundary detection
US7693757B2 (en) 2006-09-21 2010-04-06 International Business Machines Corporation System and method for performing inventory using a mobile inventory robot
CA2668364C (en) 2006-11-02 2016-06-14 Queen's University At Kingston Method and apparatus for assessing proprioceptive function
WO2008057504A2 (en) 2006-11-06 2008-05-15 Aman James A Load tracking system based on self- tracking forklift
US8531457B2 (en) 2006-11-29 2013-09-10 Technion Research And Development Foundation Ltd. Apparatus and method for finding visible points in a cloud point
US7474389B2 (en) 2006-12-19 2009-01-06 Dean Greenberg Cargo dimensional and weight analyzing system
US8189926B2 (en) 2006-12-30 2012-05-29 Videomining Corporation Method and system for automatically analyzing categories in a physical space based on the visual characterization of people
US20080164310A1 (en) 2007-01-09 2008-07-10 Dupuy Charles G Labeling system
US20100141806A1 (en) 2007-03-15 2010-06-10 Kansai University Moving Object Noise Elimination Processing Device and Moving Object Noise Elimination Processing Program
US7940279B2 (en) 2007-03-27 2011-05-10 Utah State University System and method for rendering of texel imagery
US8132728B2 (en) 2007-04-04 2012-03-13 Sick, Inc. Parcel dimensioning measurement system and method
US8094937B2 (en) 2007-04-17 2012-01-10 Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. System and method for labeling feature clusters in frames of image data for optical navigation
JP4561769B2 (ja) 2007-04-27 2010-10-13 アイシン・エィ・ダブリュ株式会社 経路案内システム及び経路案内方法
WO2008134562A2 (en) 2007-04-27 2008-11-06 Nielsen Media Research, Inc. Methods and apparatus to monitor in-store media and consumer traffic related to retail environments
JP2010533282A (ja) 2007-06-08 2010-10-21 テレ アトラス ベスローテン フエンノートシャップ 多視点パノラマを生成する方法及び装置
WO2008154611A2 (en) 2007-06-11 2008-12-18 Honeywell International Inc. Optical reader system for extracting information in a digital image
US7982423B2 (en) 2007-07-04 2011-07-19 Bossa Nova Concepts, Llc Statically stable biped robotic mechanism and method of actuating
JP4661838B2 (ja) 2007-07-18 2011-03-30 トヨタ自動車株式会社 経路計画装置及び方法、コスト評価装置、並びに移動体
KR100922494B1 (ko) 2007-07-19 2009-10-20 삼성전자주식회사 이동 로봇의 자세 측정 방법 및 상기 방법을 이용한 위치측정 방법 및 장치
US7726575B2 (en) 2007-08-10 2010-06-01 Hand Held Products, Inc. Indicia reading terminal having spatial measurement functionality
US8950673B2 (en) 2007-08-30 2015-02-10 Symbol Technologies, Inc. Imaging system for reading target with multiple symbols
US7949568B2 (en) 2007-08-31 2011-05-24 Accenture Global Services Limited Determination of product display parameters based on image processing
US8630924B2 (en) 2007-08-31 2014-01-14 Accenture Global Services Limited Detection of stock out conditions based on image processing
US8189855B2 (en) 2007-08-31 2012-05-29 Accenture Global Services Limited Planogram extraction based on image processing
US8009864B2 (en) 2007-08-31 2011-08-30 Accenture Global Services Limited Determination of inventory conditions based on image processing
US9135491B2 (en) 2007-08-31 2015-09-15 Accenture Global Services Limited Digital point-of-sale analyzer
US8295590B2 (en) 2007-09-14 2012-10-23 Abbyy Software Ltd. Method and system for creating a form template for a form
JP4466705B2 (ja) 2007-09-21 2010-05-26 ヤマハ株式会社 ナビゲーション装置
US8396284B2 (en) 2007-10-23 2013-03-12 Leica Geosystems Ag Smart picking in 3D point clouds
US8091782B2 (en) 2007-11-08 2012-01-10 International Business Machines Corporation Using cameras to monitor actual inventory
US20090125350A1 (en) 2007-11-14 2009-05-14 Pieter Lessing System and method for capturing and storing supply chain and logistics support information in a relational database system
US20090160975A1 (en) 2007-12-19 2009-06-25 Ncr Corporation Methods and Apparatus for Improved Image Processing to Provide Retroactive Image Focusing and Improved Depth of Field in Retail Imaging Systems
US8423431B1 (en) 2007-12-20 2013-04-16 Amazon Technologies, Inc. Light emission guidance
US20090192921A1 (en) 2008-01-24 2009-07-30 Michael Alan Hicks Methods and apparatus to survey a retail environment
US8353457B2 (en) 2008-02-12 2013-01-15 Datalogic ADC, Inc. Systems and methods for forming a composite image of multiple portions of an object from multiple perspectives
US7971664B2 (en) 2008-03-18 2011-07-05 Bossa Nova Robotics Ip, Inc. Efficient actuation and selective engaging and locking clutch mechanisms for reconfiguration and multiple-behavior locomotion of an at least two-appendage robot
US9766074B2 (en) 2008-03-28 2017-09-19 Regents Of The University Of Minnesota Vision-aided inertial navigation
US8064729B2 (en) 2008-04-03 2011-11-22 Seiko Epson Corporation Image skew detection apparatus and methods
US20150170256A1 (en) * 2008-06-05 2015-06-18 Aisle411, Inc. Systems and Methods for Presenting Information Associated With a Three-Dimensional Location on a Two-Dimensional Display
JP4720859B2 (ja) 2008-07-09 2011-07-13 カシオ計算機株式会社 画像処理装置、画像処理方法およびプログラム
US8184196B2 (en) 2008-08-05 2012-05-22 Qualcomm Incorporated System and method to generate depth data using edge detection
US9841314B2 (en) 2008-08-29 2017-12-12 United Parcel Service Of America, Inc. Systems and methods for freight tracking and monitoring
WO2010029553A1 (en) 2008-09-11 2010-03-18 Netanel Hagbi Method and system for compositing an augmented reality scene
US20100070365A1 (en) 2008-09-12 2010-03-18 At&T Intellectual Property I, L.P. Planogram guided shopping
WO2010029558A1 (en) 2008-09-14 2010-03-18 Eliezer Magal Automatic identification system for randomly oriented objects
US20100091094A1 (en) 2008-10-14 2010-04-15 Marek Sekowski Mechanism for Directing a Three-Dimensional Camera System
EP2356483B1 (de) 2008-10-20 2023-05-03 Sunbird Software, Inc. System und verfahren zur automatischen bestimmung des physischen orts von datenzentralengeräten
US8479996B2 (en) 2008-11-07 2013-07-09 Symbol Technologies, Inc. Identification of non-barcoded products
KR101234798B1 (ko) 2008-11-24 2013-02-20 삼성전자주식회사 이동 로봇의 위치 측정 방법 및 장치
US8463079B2 (en) 2008-12-16 2013-06-11 Intermec Ip Corp. Method and apparatus for geometrical measurement using an optical device such as a barcode and/or RFID scanner
US8812226B2 (en) 2009-01-26 2014-08-19 GM Global Technology Operations LLC Multiobject fusion module for collision preparation system
US8265895B2 (en) 2009-03-27 2012-09-11 Symbol Technologies, Inc. Interactive sensor systems and methods for dimensioning
US8284988B2 (en) 2009-05-13 2012-10-09 Applied Vision Corporation System and method for dimensioning objects using stereoscopic imaging
US8743176B2 (en) 2009-05-20 2014-06-03 Advanced Scientific Concepts, Inc. 3-dimensional hybrid camera and production system
US8049621B1 (en) 2009-05-28 2011-11-01 Walgreen Co. Method and apparatus for remote merchandise planogram auditing and reporting
US8542252B2 (en) 2009-05-29 2013-09-24 Microsoft Corporation Target digitization, extraction, and tracking
US8933925B2 (en) 2009-06-15 2015-01-13 Microsoft Corporation Piecewise planar reconstruction of three-dimensional scenes
US7997430B2 (en) 2009-06-30 2011-08-16 Target Brands, Inc. Display apparatus and method
US20120019393A1 (en) 2009-07-31 2012-01-26 Robert Wolinsky System and method for tracking carts in a retail environment
CA2712576C (en) 2009-08-11 2012-04-10 Certusview Technologies, Llc Systems and methods for complex event processing of vehicle-related information
US20110047636A1 (en) 2009-08-21 2011-02-24 Syngenta Participations Ag Crop Automated Relative Maturity System
KR101619076B1 (ko) 2009-08-25 2016-05-10 삼성전자 주식회사 모바일 플랫폼의 동적 물체 검출 및 추적 방법
US9749823B2 (en) * 2009-12-11 2017-08-29 Mentis Services France Providing city services using mobile devices and a sensor network
US8942884B2 (en) 2010-01-14 2015-01-27 Innovative Transport Solutions, Llc Transport system
US20130278631A1 (en) 2010-02-28 2013-10-24 Osterhout Group, Inc. 3d positioning of augmented reality information
US20110216063A1 (en) 2010-03-08 2011-09-08 Celartem, Inc. Lidar triangular network compression
US8456518B2 (en) 2010-03-31 2013-06-04 James Cameron & Vincent Pace Stereoscopic camera with automatic obstruction removal
US8570343B2 (en) 2010-04-20 2013-10-29 Dassault Systemes Automatic generation of 3D models from packaged goods product images
US8619265B2 (en) 2011-03-14 2013-12-31 Faro Technologies, Inc. Automatic measurement of dimensional data with a laser tracker
US9400170B2 (en) 2010-04-21 2016-07-26 Faro Technologies, Inc. Automatic measurement of dimensional data within an acceptance region by a laser tracker
US8199977B2 (en) 2010-05-07 2012-06-12 Honeywell International Inc. System and method for extraction of features from a 3-D point cloud
US8134717B2 (en) 2010-05-21 2012-03-13 LTS Scale Company Dimensional detection system and associated method
US9109877B2 (en) 2010-05-21 2015-08-18 Jonathan S. Thierman Method and apparatus for dimensional measurement
US20110310088A1 (en) 2010-06-17 2011-12-22 Microsoft Corporation Personalized navigation through virtual 3d environments
US20120022913A1 (en) 2010-07-20 2012-01-26 Target Brands, Inc. Planogram Generation for Peg and Shelf Items
JP4914528B1 (ja) 2010-08-31 2012-04-11 新日鉄ソリューションズ株式会社 拡張現実提供システム、情報処理端末、情報処理装置、拡張現実提供方法、情報処理方法、及びプログラム
DK2612297T3 (da) 2010-09-03 2017-11-13 California Inst Of Techn Tredimensionelt billedsystem
US8872851B2 (en) 2010-09-24 2014-10-28 Intel Corporation Augmenting image data based on related 3D point cloud data
EP2439487B1 (de) 2010-10-06 2012-08-22 Sick Ag Volumenmessvorrichtung für bewegte Objekte
US8174931B2 (en) 2010-10-08 2012-05-08 HJ Laboratories, LLC Apparatus and method for providing indoor location, position, or tracking of a mobile computer using building information
US9171442B2 (en) 2010-11-19 2015-10-27 Tyco Fire & Security Gmbh Item identification using video recognition to supplement bar code or RFID information
US20120133639A1 (en) 2010-11-30 2012-05-31 Microsoft Corporation Strip panorama
US20120250984A1 (en) 2010-12-01 2012-10-04 The Trustees Of The University Of Pennsylvania Image segmentation for distributed target tracking and scene analysis
US9317761B2 (en) 2010-12-09 2016-04-19 Nanyang Technological University Method and an apparatus for determining vein patterns from a colour image
US8773946B2 (en) 2010-12-30 2014-07-08 Honeywell International Inc. Portable housings for generation of building maps
US8744644B2 (en) 2011-01-19 2014-06-03 Electronics And Telecommunications Research Institute Apparatus and method for detecting location of vehicle
KR101758058B1 (ko) 2011-01-20 2017-07-17 삼성전자주식회사 깊이 정보를 이용한 카메라 모션 추정 방법 및 장치, 증강 현실 시스템
CN103443802B (zh) 2011-01-24 2016-12-14 数据逻辑Adc公司 用于读取光学代码的系统和方法
US20120190453A1 (en) 2011-01-25 2012-07-26 Bossa Nova Robotics Ip, Inc. System and method for online-offline interactive experience
US20120191880A1 (en) 2011-01-26 2012-07-26 Bossa Nova Robotics IP, Inc System and method for identifying accessories connected to apparatus
CN103459099B (zh) * 2011-01-28 2015-08-26 英塔茨科技公司 与一个可移动的远程机器人相互交流
WO2012100593A1 (zh) 2011-01-30 2012-08-02 浙江省电力公司 智能电能表全自动化检定系统
US8711206B2 (en) 2011-01-31 2014-04-29 Microsoft Corporation Mobile camera localization using depth maps
US8447549B2 (en) 2011-02-11 2013-05-21 Quality Vision International, Inc. Tolerance evaluation with reduced measured points
US8660338B2 (en) 2011-03-22 2014-02-25 Honeywell International Inc. Wide baseline feature matching using collobrative navigation and digital terrain elevation data constraints
JPWO2012132324A1 (ja) 2011-03-31 2014-07-24 日本電気株式会社 店舗システム及びその制御方法及び制御プログラム並びに情報アクセスシステム
US8693725B2 (en) 2011-04-19 2014-04-08 International Business Machines Corporation Reliability in detecting rail crossing events
US9854209B2 (en) 2011-04-19 2017-12-26 Ford Global Technologies, Llc Display system utilizing vehicle and trailer dynamics
US20140351073A1 (en) 2011-05-11 2014-11-27 Proiam, Llc Enrollment apparatus, system, and method featuring three dimensional camera
US20120287249A1 (en) 2011-05-12 2012-11-15 Electronics And Telecommunications Research Institute Method for obtaining depth information and apparatus using the same
US8902353B2 (en) 2011-05-12 2014-12-02 Symbol Technologies, Inc. Imaging reader with independently controlled illumination rate
US9785898B2 (en) 2011-06-20 2017-10-10 Hi-Tech Solutions Ltd. System and method for identifying retail products and determining retail product arrangements
US9064394B1 (en) 2011-06-22 2015-06-23 Alarm.Com Incorporated Virtual sensors
US9070285B1 (en) 2011-07-25 2015-06-30 UtopiaCompression Corporation Passive camera based cloud detection and avoidance for aircraft systems
US8768620B2 (en) 2011-07-27 2014-07-01 Msa Technology, Llc Navigational deployment and initialization systems and methods
KR101907081B1 (ko) 2011-08-22 2018-10-11 삼성전자주식회사 3차원 점군의 물체 분리 방법
US9367770B2 (en) 2011-08-30 2016-06-14 Digimarc Corporation Methods and arrangements for identifying objects
US9129277B2 (en) 2011-08-30 2015-09-08 Digimarc Corporation Methods and arrangements for identifying objects
TWI622540B (zh) 2011-09-09 2018-05-01 辛波提克有限責任公司 自動化儲存及取放系統
US9002099B2 (en) 2011-09-11 2015-04-07 Apple Inc. Learning-based estimation of hand and finger pose
US11074495B2 (en) 2013-02-28 2021-07-27 Z Advanced Computing, Inc. (Zac) System and method for extremely efficient image and pattern recognition and artificial intelligence platform
US9033239B2 (en) 2011-11-11 2015-05-19 James T. Winkel Projected image planogram system
WO2013071190A1 (en) 2011-11-11 2013-05-16 Evolution Robotics, Inc. Scaling vector field slam to large environments
US9159047B2 (en) 2011-11-11 2015-10-13 James T. Winkel Projected image planogram system
US8726200B2 (en) 2011-11-23 2014-05-13 Taiwan Semiconductor Manufacturing Co., Ltd. Recognition of template patterns with mask information
US8706293B2 (en) 2011-11-29 2014-04-22 Cereson Co., Ltd. Vending machine with automated detection of product position
US8793107B2 (en) 2011-12-01 2014-07-29 Harris Corporation Accuracy-based significant point derivation from dense 3D point clouds for terrain modeling
CN103164842A (zh) 2011-12-14 2013-06-19 鸿富锦精密工业(深圳)有限公司 点云提取系统及方法
US20130154802A1 (en) 2011-12-19 2013-06-20 Symbol Technologies, Inc. Method and apparatus for updating a central plan for an area based on a location of a plurality of radio frequency identification readers
US20130162806A1 (en) 2011-12-23 2013-06-27 Mitutoyo Corporation Enhanced edge focus tool
WO2013103833A1 (en) 2012-01-06 2013-07-11 Sunrise R&D Holdings, Llc Display shelf modules with projectors for displaying product information and modular shelving systems comprising the same
EP2615580B1 (de) 2012-01-13 2016-08-17 Softkinetic Software Automatische Szenenkalibrierung
US9530060B2 (en) 2012-01-17 2016-12-27 Avigilon Fortress Corporation System and method for building automation using video content analysis with depth sensing
US9037287B1 (en) 2012-02-17 2015-05-19 National Presort, Inc. System and method for optimizing a mail document sorting machine
US8958911B2 (en) 2012-02-29 2015-02-17 Irobot Corporation Mobile robot
US8668136B2 (en) 2012-03-01 2014-03-11 Trimble Navigation Limited Method and system for RFID-assisted imaging
ES2535122T3 (es) 2012-03-01 2015-05-05 Caljan Rite-Hite Aps Transportador extensible con luz
US9329269B2 (en) 2012-03-15 2016-05-03 GM Global Technology Operations LLC Method for registration of range images from multiple LiDARS
US8989342B2 (en) 2012-04-18 2015-03-24 The Boeing Company Methods and systems for volumetric reconstruction using radiography
US9153061B2 (en) 2012-05-04 2015-10-06 Qualcomm Incorporated Segmentation of 3D point clouds for dense 3D modeling
US9525976B2 (en) 2012-05-10 2016-12-20 Honeywell International Inc. BIM-aware location based application
WO2013170260A1 (en) 2012-05-11 2013-11-14 Proiam, Llc Hand held dimension capture apparatus, system, and method
US8941645B2 (en) 2012-05-11 2015-01-27 Dassault Systemes Comparing virtual and real images in a shopping experience
US9846960B2 (en) 2012-05-31 2017-12-19 Microsoft Technology Licensing, Llc Automated camera array calibration
US9135543B2 (en) 2012-06-20 2015-09-15 Apple Inc. Compression and obfuscation of three-dimensional coding
US9420265B2 (en) 2012-06-29 2016-08-16 Mitsubishi Electric Research Laboratories, Inc. Tracking poses of 3D camera using points and planes
US9418352B2 (en) 2012-06-29 2016-08-16 Intel Corporation Image-augmented inventory management and wayfinding
US20140003655A1 (en) 2012-06-29 2014-01-02 Praveen Gopalakrishnan Method, apparatus and system for providing image data to represent inventory
US8971637B1 (en) 2012-07-16 2015-03-03 Matrox Electronic Systems Ltd. Method and system for identifying an edge in an image
KR101441187B1 (ko) 2012-07-19 2014-09-18 고려대학교 산학협력단 자율 보행 로봇 경로 계획 방법
US9651363B2 (en) 2012-07-24 2017-05-16 Datalogic Usa, Inc. Systems and methods of object measurement in an automated data reader
ES2545374T3 (es) 2012-07-31 2015-09-10 Sick Ag Sistema de detección para el montaje en una cinta transportadora
US8757479B2 (en) 2012-07-31 2014-06-24 Xerox Corporation Method and system for creating personalized packaging
US8923893B2 (en) 2012-08-07 2014-12-30 Symbol Technologies, Inc. Real-time planogram generation and maintenance
US20140047342A1 (en) 2012-08-07 2014-02-13 Advanced Micro Devices, Inc. System and method for allocating a cluster of nodes for a cloud computing system based on hardware characteristics
CN103679164A (zh) 2012-09-21 2014-03-26 阿里巴巴集团控股有限公司 一种基于移动终端的标志识别处理方法和系统
US9939259B2 (en) 2012-10-04 2018-04-10 Hand Held Products, Inc. Measuring object dimensions using mobile computer
US9472022B2 (en) 2012-10-05 2016-10-18 University Of Southern California Three-dimensional point processing and model generation
FR2996512B1 (fr) 2012-10-05 2014-11-21 Renault Sa Procede d'evaluation du risque de collision a une intersection
US20140192050A1 (en) 2012-10-05 2014-07-10 University Of Southern California Three-dimensional point processing and model generation
US20140104413A1 (en) 2012-10-16 2014-04-17 Hand Held Products, Inc. Integrated dimensioning and weighing system
WO2014066422A2 (en) 2012-10-22 2014-05-01 Bossa Nova Robotics Ip, Inc. Self-deploying support member, and methods and apparatus using same
US9020637B2 (en) 2012-11-02 2015-04-28 Irobot Corporation Simultaneous localization and mapping for a mobile robot
US9635606B2 (en) 2012-11-04 2017-04-25 Kt Corporation Access point selection and management
EP2915563B1 (de) 2012-11-05 2018-04-18 Mitsubishi Electric Corporation System zur erfassung dreidimensionaler bilder und partikelstrahltherapievorrichtung
WO2014080330A2 (en) 2012-11-22 2014-05-30 Geosim Systems Ltd. Point-cloud fusion
US8825258B2 (en) 2012-11-30 2014-09-02 Google Inc. Engaging and disengaging for autonomous driving
US9380222B2 (en) 2012-12-04 2016-06-28 Symbol Technologies, Llc Transmission of images for inventory monitoring
US10701149B2 (en) 2012-12-13 2020-06-30 Level 3 Communications, Llc Content delivery framework having origin services
MY172143A (en) 2012-12-13 2019-11-14 Mimos Berhad Method for non-static foreground feature extraction and classification
US20140195373A1 (en) 2013-01-10 2014-07-10 International Business Machines Corporation Systems and methods for managing inventory in a shopping store
US20140214547A1 (en) 2013-01-25 2014-07-31 R4 Technologies, Llc Systems and methods for augmented retail reality
US9154773B2 (en) 2013-03-15 2015-10-06 Seiko Epson Corporation 2D/3D localization and pose estimation of harness cables using a configurable structure representation for robot operations
TWI594933B (zh) 2013-03-15 2017-08-11 辛波提克有限責任公司 自動化貯藏及取放系統
US8965561B2 (en) 2013-03-15 2015-02-24 Cybernet Systems Corporation Automated warehousing using robotic forklifts
US9558559B2 (en) 2013-04-05 2017-01-31 Nokia Technologies Oy Method and apparatus for determining camera location information and/or camera pose information according to a global coordinate system
WO2014181323A1 (en) 2013-05-05 2014-11-13 Trax Technology Solutions Pte Ltd. System and method of retail image analysis
US9037396B2 (en) 2013-05-23 2015-05-19 Irobot Corporation Simultaneous localization and mapping for a mobile robot
WO2014192107A1 (ja) 2013-05-29 2014-12-04 トヨタ自動車 株式会社 駐車支援装置
US9158988B2 (en) 2013-06-12 2015-10-13 Symbol Technclogies, LLC Method for detecting a plurality of instances of an object
US10268983B2 (en) 2013-06-26 2019-04-23 Amazon Technologies, Inc. Detecting item interaction and movement
US9443297B2 (en) 2013-07-10 2016-09-13 Cognex Corporation System and method for selective determination of point clouds
US10290031B2 (en) 2013-07-24 2019-05-14 Gregorio Reid Method and system for automated retail checkout using context recognition
US9785911B2 (en) * 2013-07-25 2017-10-10 I AM Robotics, LLC System and method for piece-picking or put-away with a mobile manipulation robot
US9473747B2 (en) 2013-07-25 2016-10-18 Ncr Corporation Whole store scanner
US10349031B2 (en) 2013-07-28 2019-07-09 Michael J. DeLuca Augmented reality based user interfacing
US20150088618A1 (en) 2013-08-26 2015-03-26 Ims Solutions, Inc. Road tolling
US9886678B2 (en) 2013-09-25 2018-02-06 Sap Se Graphic representations of planograms
US9615012B2 (en) 2013-09-30 2017-04-04 Google Inc. Using a second camera to adjust settings of first camera
US9248611B2 (en) 2013-10-07 2016-02-02 David A. Divine 3-D printed packaging
US20150106403A1 (en) 2013-10-15 2015-04-16 Indooratlas Oy Generating search database based on sensor measurements
US9412040B2 (en) 2013-12-04 2016-08-09 Mitsubishi Electric Research Laboratories, Inc. Method for extracting planes from 3D point cloud sensor data
US9565400B1 (en) 2013-12-20 2017-02-07 Amazon Technologies, Inc. Automatic imaging device selection for video analytics
US9349076B1 (en) 2013-12-20 2016-05-24 Amazon Technologies, Inc. Template-based target object detection in an image
US9775160B2 (en) 2014-02-21 2017-09-26 Telefonaktiebolaget Lm Ericsson (Publ) WLAN throughput prediction
MY177646A (en) 2014-02-28 2020-09-23 Icm Airport Technics Australia Pty Ltd Luggage processing station and system thereof
US10203762B2 (en) 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
US20150262116A1 (en) 2014-03-16 2015-09-17 International Business Machines Corporation Machine vision technology for shelf inventory management
US9953420B2 (en) 2014-03-25 2018-04-24 Ford Global Technologies, Llc Camera calibration
CN103945208B (zh) 2014-04-24 2015-10-28 西安交通大学 一种针对多视点裸眼3d显示的并行同步缩放引擎及方法
CN106573381B (zh) 2014-06-04 2019-12-03 因特利格兰特总部有限责任公司 卡车卸载机可视化
CN104023249B (zh) 2014-06-12 2015-10-21 腾讯科技(深圳)有限公司 电视频道识别方法和装置
US10453046B2 (en) 2014-06-13 2019-10-22 Conduent Business Services, Llc Store shelf imaging system
US9542746B2 (en) 2014-06-13 2017-01-10 Xerox Corporation Method and system for spatial characterization of an imaging system
US9659204B2 (en) 2014-06-13 2017-05-23 Conduent Business Services, Llc Image processing methods and systems for barcode and/or product label recognition
US10176452B2 (en) 2014-06-13 2019-01-08 Conduent Business Services Llc Store shelf imaging system and method
EP3161572B1 (de) 2014-06-27 2019-01-23 Crown Equipment Corporation Wiederfinden eines verlorenen fahrzeuges unter verwendung von assoziierten merkmalspaaren
US11051000B2 (en) 2014-07-14 2021-06-29 Mitsubishi Electric Research Laboratories, Inc. Method for calibrating cameras with non-overlapping views
DE102014011821A1 (de) 2014-08-08 2016-02-11 Cargometer Gmbh Vorrichtung und Verfahren zur Volumenbestimmung eines durch ein Flurförderzeug bewegten Objekts
US20160044862A1 (en) 2014-08-14 2016-02-18 Raven Industries, Inc. Site specific product application device and method
CN104200086B (zh) 2014-08-25 2017-02-22 西北工业大学 宽基线可见光相机位姿估计方法
WO2016033451A1 (en) 2014-08-28 2016-03-03 Lts Metrology, Llc Stationary dimensioning apparatus
US9205562B1 (en) * 2014-08-29 2015-12-08 Google Inc. Integration of depth points into a height map
JP2016057108A (ja) 2014-09-08 2016-04-21 株式会社トプコン 演算装置、演算システム、演算方法およびプログラム
JP2017529631A (ja) 2014-09-30 2017-10-05 エヌイーシー ヨーロッパ リミテッドNec Europe Ltd. 1個以上の障害物を回避して始状態から終状態集合まで移動する物体の経路を決定する方法およびシステム
US10296950B2 (en) 2014-09-30 2019-05-21 Apple Inc. Beacon triggered processes
US9576194B2 (en) 2014-10-13 2017-02-21 Klink Technologies Method and system for identity and age verification
US9706105B2 (en) 2014-10-20 2017-07-11 Symbol Technologies, Llc Apparatus and method for specifying and aiming cameras at shelves
US9796093B2 (en) 2014-10-24 2017-10-24 Fellow, Inc. Customer service robot and related systems and methods
US9600892B2 (en) 2014-11-06 2017-03-21 Symbol Technologies, Llc Non-parametric method of and system for estimating dimensions of objects of arbitrary shape
JP5946073B2 (ja) 2014-11-07 2016-07-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 推定方法、推定システム、コンピュータ・システムおよびプログラム
US10022867B2 (en) 2014-11-11 2018-07-17 X Development Llc Dynamically maintaining a map of a fleet of robotic devices in an environment to facilitate robotic action
US9916002B2 (en) 2014-11-16 2018-03-13 Eonite Perception Inc. Social applications for augmented reality technologies
EP3221851A1 (de) 2014-11-20 2017-09-27 Cappasity Inc. Systeme und verfahren zur 3d-erfassung von objekten mit mehreren bereichskameras und mehreren rgb-kameras
US10248653B2 (en) 2014-11-25 2019-04-02 Lionbridge Technologies, Inc. Information technology platform for language translation and task management
US9396554B2 (en) 2014-12-05 2016-07-19 Symbol Technologies, Llc Apparatus for and method of estimating dimensions of an object associated with a code in automatic response to reading the code
US9536167B2 (en) 2014-12-10 2017-01-03 Ricoh Co., Ltd. Realogram scene analysis of images: multiples for scene analysis
US9928708B2 (en) 2014-12-12 2018-03-27 Hawxeye, Inc. Real-time video analysis for security surveillance
US9628695B2 (en) 2014-12-29 2017-04-18 Intel Corporation Method and system of lens shift correction for a camera array
US20160253735A1 (en) 2014-12-30 2016-09-01 Shelfscreen, Llc Closed-Loop Dynamic Content Display System Utilizing Shopper Proximity and Shopper Context Generated in Response to Wireless Data Triggers
US9367831B1 (en) 2015-03-16 2016-06-14 The Nielsen Company (Us), Llc Methods and apparatus for inventory determinations using portable devices
US9630319B2 (en) 2015-03-18 2017-04-25 Irobot Corporation Localization and mapping using physical features
US9600731B2 (en) 2015-04-08 2017-03-21 Toshiba Tec Kabushiki Kaisha Image processing apparatus, image processing method and computer-readable storage medium
US9868443B2 (en) 2015-04-27 2018-01-16 GM Global Technology Operations LLC Reactive path planning for autonomous driving
KR102490138B1 (ko) 2015-05-26 2023-01-19 크라운 이큅먼트 코포레이션 자재 취급 차량을 위한 이미지 캡처 디바이스 교정을 위한 시스템들 및 방법들
US9646410B2 (en) 2015-06-30 2017-05-09 Microsoft Technology Licensing, Llc Mixed three dimensional scene reconstruction from plural surface models
US20170011308A1 (en) 2015-07-09 2017-01-12 SunView Software, Inc. Methods and Systems for Applying Machine Learning to Automatically Solve Problems
US10410096B2 (en) 2015-07-09 2019-09-10 Qualcomm Incorporated Context-based priors for object detection in images
EP3687156B1 (de) 2015-07-10 2022-03-16 SZ DJI Technology Co., Ltd. Doppellinsensystem mit lichtteiler
EP3325371B1 (de) 2015-07-17 2019-08-21 Société des Produits Nestlé S.A. Mehrfachbehälter-verbundstoffpackung
US9549125B1 (en) 2015-09-01 2017-01-17 Amazon Technologies, Inc. Focus specification and focus stabilization
GB2542115B (en) 2015-09-03 2017-11-15 Rail Vision Europe Ltd Rail track asset survey system
CN108027248A (zh) 2015-09-04 2018-05-11 克朗设备公司 具有基于特征的定位和导航的工业车辆
US9684081B2 (en) 2015-09-16 2017-06-20 Here Global B.V. Method and apparatus for providing a location data error map
US9517767B1 (en) 2015-11-04 2016-12-13 Zoox, Inc. Internal safety systems for robotic vehicles
US9630619B1 (en) 2015-11-04 2017-04-25 Zoox, Inc. Robotic vehicle active safety systems and methods
WO2017083424A1 (en) 2015-11-09 2017-05-18 Simbe Robotics, Inc. Method for tracking stock level within a store
US20170150129A1 (en) 2015-11-23 2017-05-25 Chicago Measurement, L.L.C. Dimensioning Apparatus and Method
US10336543B1 (en) 2016-01-21 2019-07-02 Wing Aviation Llc Selective encoding of packages
US10352689B2 (en) 2016-01-28 2019-07-16 Symbol Technologies, Llc Methods and systems for high precision locationing with depth values
US10145955B2 (en) 2016-02-04 2018-12-04 Symbol Technologies, Llc Methods and systems for processing point-cloud data with a line scanner
KR102373926B1 (ko) 2016-02-05 2022-03-14 삼성전자주식회사 이동체 및 이동체의 위치 인식 방법
US10197400B2 (en) 2016-02-25 2019-02-05 Sharp Laboratories Of America, Inc. Calibration methods and systems for an autonomous navigation vehicle
US10229386B2 (en) 2016-03-03 2019-03-12 Ebay Inc. Product tags, systems, and methods for crowdsourcing and electronic article surveillance in retail inventory management
US9928438B2 (en) 2016-03-10 2018-03-27 Conduent Business Services, Llc High accuracy localization system and method for retail store profiling via product image recognition and its corresponding dimension database
US20170261993A1 (en) 2016-03-10 2017-09-14 Xerox Corporation Systems and methods for robot motion control and improved positional accuracy
US10721451B2 (en) 2016-03-23 2020-07-21 Symbol Technologies, Llc Arrangement for, and method of, loading freight into a shipping container
AU2017245132A1 (en) 2016-03-29 2018-10-11 Bossa Nova Robotics Ip, Inc. System and method for locating, identifying and counting ltems
US9805240B1 (en) 2016-04-18 2017-10-31 Symbol Technologies, Llc Barcode scanning and dimensioning
US9791862B1 (en) 2016-04-25 2017-10-17 Thayermahan, Inc. Systems and method for unmanned undersea sensor position, orientation, and depth keeping
JP7009389B2 (ja) 2016-05-09 2022-01-25 グラバンゴ コーポレイション 環境内のコンピュータビジョン駆動型アプリケーションのためのシステムおよび方法
CN109564651A (zh) 2016-05-19 2019-04-02 思比机器人公司 用于自动生成将产品分配到商店内的货架结构的货架图的方法
US9639935B1 (en) 2016-05-25 2017-05-02 Gopro, Inc. Apparatus and methods for camera alignment model calibration
US10394244B2 (en) 2016-05-26 2019-08-27 Korea University Research And Business Foundation Method for controlling mobile robot based on Bayesian network learning
US10769582B2 (en) 2016-06-30 2020-09-08 Bossa Nova Robotics Ip, Inc. Multiple camera system for inventory tracking
US10785418B2 (en) 2016-07-12 2020-09-22 Bossa Nova Robotics Ip, Inc. Glare reduction method and system
WO2018018007A1 (en) 2016-07-22 2018-01-25 Focal Systems, Inc. Determining in-store location based on images
US9827683B1 (en) 2016-07-28 2017-11-28 X Development Llc Collaborative inventory monitoring
US20180053091A1 (en) 2016-08-17 2018-02-22 Hawxeye, Inc. System and method for model compression of neural networks for use in embedded platforms
US10054447B2 (en) 2016-08-17 2018-08-21 Sharp Laboratories Of America, Inc. Lazier graph-based path planning for autonomous navigation
US10776661B2 (en) 2016-08-19 2020-09-15 Symbol Technologies, Llc Methods, systems and apparatus for segmenting and dimensioning objects
US20180101813A1 (en) 2016-10-12 2018-04-12 Bossa Nova Robotics Ip, Inc. Method and System for Product Data Review
US10210603B2 (en) 2016-10-17 2019-02-19 Conduent Business Services Llc Store shelf imaging system and method
US10289990B2 (en) 2016-10-17 2019-05-14 Conduent Business Services, Llc Store shelf imaging system and method
US10019803B2 (en) 2016-10-17 2018-07-10 Conduent Business Services, Llc Store shelf imaging system and method using a vertical LIDAR
US20180114183A1 (en) 2016-10-25 2018-04-26 Wal-Mart Stores, Inc. Stock Level Determination
US10451405B2 (en) 2016-11-22 2019-10-22 Symbol Technologies, Llc Dimensioning system for, and method of, dimensioning freight in motion along an unconstrained path in a venue
US10354411B2 (en) 2016-12-20 2019-07-16 Symbol Technologies, Llc Methods, systems and apparatus for segmenting objects
US9778388B1 (en) 2016-12-22 2017-10-03 Thayermahan, Inc. Systems and methods for autonomous towing of an underwater sensor array
US10121072B1 (en) 2016-12-30 2018-11-06 Intuit Inc. Unsupervised removal of text from form images
US10293485B2 (en) 2017-03-30 2019-05-21 Brain Corporation Systems and methods for robotic path planning
US10229322B2 (en) 2017-04-06 2019-03-12 Ants Technology (Hk) Limited Apparatus, methods and computer products for video analytics
US10949798B2 (en) 2017-05-01 2021-03-16 Symbol Technologies, Llc Multimodal localization and mapping for a mobile automation apparatus
US10591918B2 (en) 2017-05-01 2020-03-17 Symbol Technologies, Llc Fixed segmented lattice planning for a mobile automation apparatus
US10726273B2 (en) 2017-05-01 2020-07-28 Symbol Technologies, Llc Method and apparatus for shelf feature and object placement detection from shelf images
US11367092B2 (en) 2017-05-01 2022-06-21 Symbol Technologies, Llc Method and apparatus for extracting and processing price text from an image set
US20180314908A1 (en) 2017-05-01 2018-11-01 Symbol Technologies, Llc Method and apparatus for label detection
US10663590B2 (en) 2017-05-01 2020-05-26 Symbol Technologies, Llc Device and method for merging lidar data
US10505057B2 (en) 2017-05-01 2019-12-10 Symbol Technologies, Llc Device and method for operating cameras and light sources wherein parasitic reflections from a paired light source are not reflected into the paired camera
CN107067382A (zh) 2017-05-11 2017-08-18 南宁市正祥科技有限公司 一种改进的图像边缘检测方法
US20190034864A1 (en) 2017-07-25 2019-01-31 Bossa Nova Robotics Ip, Inc. Data Reduction in a Bar Code Reading Robot Shelf Monitoring System
US10127438B1 (en) 2017-08-07 2018-11-13 Standard Cognition, Corp Predicting inventory events using semantic diffing
US10861302B2 (en) 2017-08-17 2020-12-08 Bossa Nova Robotics Ip, Inc. Robust motion filtering for real-time video surveillance
WO2019040659A1 (en) 2017-08-23 2019-02-28 Bossa Nova Robotics Ip, Inc. METHOD OF DETECTING NEW PACKET
US20190149725A1 (en) * 2017-09-06 2019-05-16 Trax Technologies Solutions Pte Ltd. Using augmented reality for image capturing a retail unit
US10572763B2 (en) 2017-09-07 2020-02-25 Symbol Technologies, Llc Method and apparatus for support surface edge detection
US20190180150A1 (en) 2017-12-13 2019-06-13 Bossa Nova Robotics Ip, Inc. Color Haar Classifier for Retail Shelf Label Detection
JP7081140B2 (ja) 2017-12-25 2022-06-07 富士通株式会社 物体認識装置、物体認識方法及び物体認識プログラム
US10726264B2 (en) 2018-06-25 2020-07-28 Microsoft Technology Licensing, Llc Object-based localization

Also Published As

Publication number Publication date
GB202015594D0 (en) 2020-11-18
BE1026161A1 (nl) 2019-10-22
BE1026161A9 (nl) 2019-10-29
GB2586405A (en) 2021-02-17
US11327504B2 (en) 2022-05-10
BE1026161B1 (nl) 2020-07-10
WO2019195595A1 (en) 2019-10-10
US20190310652A1 (en) 2019-10-10
CA3095925A1 (en) 2019-10-10
GB2586405B (en) 2022-11-02
CA3095925C (en) 2023-01-17

Similar Documents

Publication Publication Date Title
DE112017005774T5 (de) Verfahren und vorrichtung zur navigationssteuerung in einem mobilenautomatisierungssystem
EP2439487B1 (de) Volumenmessvorrichtung für bewegte Objekte
Bengochea-Guevara et al. Merge fuzzy visual servoing and GPS-based planning to obtain a proper navigation behavior for a small crop-inspection robot
EP2526378B1 (de) Verfahren und system zum erfassen der position eines fahrzeuges
DE112019001788T5 (de) Verfahren, system und vorrichtung zum korrigieren von transluzenzartefakten in daten, die eine trägerstruktur darstellen
CN102103663B (zh) 病房巡视服务机器人系统及其目标搜寻方法
DE112018002314T5 (de) Verfahren und vorrichtung zur erkennung eines objektstatus
EP3323770A1 (de) Verfahren zur bereitstellung der positionen von lagerplätzen in einem lager und flurförderzeug
DE102015209963A1 (de) Bildbearbeitungsverfahren und Systeme zur Barcode- und/oder Produktkennzeichen-Erkennung
DE112014004163T5 (de) Vorrichtung zur Erkennung eines dreidimensionalen Objekts, Verfahren zur Erkennung eines dreidimensionalen Objekts und Fahrzeug
Cabo et al. An algorithm for automatic road asphalt edge delineation from mobile laser scanner data using the line clouds concept
DE112019001796T5 (de) Verfahren, system und vorrichtung zur lokalisierung mobiler automatisierungsvorrichtungen
DE102016109891A1 (de) Datenbrowsevorrichtung, Datenbrowseverfahren, Programm und Speichermedium
DE112019006132T5 (de) Verfahren, system und vorrichtung zur hilfsetikett-erkennung und -zuordnung
DE102018123393A1 (de) Erkennung von Parkflächen
DE112021002050T5 (de) Verfahren, system und vorrichtung zur datenerfassungsbeleuchtungssteuerung
DE102019125987A1 (de) Verfahren, system und vorrichtung zur navigationsunterstützung
DE112020004829T5 (de) Verfahren, system und vorrichtung zur mobilen vermessung
DE112019006186T5 (de) Verfahren und vorrichtung zur steuerung von lichtemittern einer mobilen automatisierungsvorrichtung
AT509118B1 (de) Verfahren und vorrichtung zum erfassen der position eines fahrzeuges in einem definierten bereich
DE112021005543T5 (de) Parallaxentolerante panoramabilderzeugung
DE112020002578T5 (de) Verfahren, System und Vorrichtung zur dynamischen Aufgabensequenzierung
DE112019004975T5 (de) Verfahren, system und vorrichtung zur bestimmung einer trägerstrukturtiefe
DE102012214579A1 (de) Containeranlage und deren Betrieb
DE112019004976T5 (de) Verfahren, system und vorrichtung zur objekterkennung in punktwolken

Legal Events

Date Code Title Description
R012 Request for examination validly filed