-
HINTERGRUND
-
In einer Inventarisierungsumgebung, wie z.B. einem Einzelhandelsgeschäft, einem Lagerhaus, einer Versandeinrichtung usw., ist es nützlich, die Abmessungen eines Objekts, wie z.B. eines Kastens, zu kennen.
-
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 weiter zu veranschaulichen und verschiedene Prinzipien und Vorteile dieser Ausführungsformen zu erklären.
- 1 ist ein Blockdiagramm einer beispielhaften HUD-Baugruppe, die gemäß Lehren dieser Offenlegung konstruiert ist.
- 2A und 2B zeigen eine beispielhafte HUD-Baugruppe, welche die beispielhafte HUD-Baugruppe von 1 implementieren kann.
- 3 zeigt die beispielhafte HUD-Baugruppe der 2A und 2B, die an einem Kopf eines Benutzers montiert ist.
- 4 zeigt beispielhafte Kameras, die an einer beispielhaften HUD-Baugruppe montiert sind.
- 5A zeigt einen Benutzer, der eine beispielhafte HUD-Baugruppe mit daran befestigten Kameras trägt, wobei einen Benutzer auf ein zu dimensionierendes beispielhaftes Kastenobjekt schaut.
- 5B zeigt mehrere Benutzer, die beispielhafte HUD-Baugruppen mit daran befestigten Kameras tragen, wobei jeder Benutzer auf ein zu dimensionierendes beispielhaftes Kastenobjekt schaut.
- 5C zeigt ein beispielhaftes zu dimensionierendes Kastenobjekt im Sichtfeld einer beispielhaften montierten Kamera und einen Benutzer, der eine beispielhafte HUD-Baugruppe mit daran montierten Kameras trägt, wobei der Benutzer auf das zu dimensionierende beispielhafte Kastenobjekt schaut.
- 6 ist ein Blockdiagramm, das für eine beispielhafte Logikschaltung repräsentativ ist, die gemäß Lehren dieser Offenlegung konfiguriert ist.
- 7 ist ein Flussdiagramm eines hierin offenbarten beispielhaften Verfahrens zum Einsetzen von nahe befindlichen Bilderfassungsvorrichtungen zum Erfassen von Bilddaten, die für ein Objekt aus mehreren Perspektiven repräsentativ sind.
-
DETAILLIERTE BESCHREIBUNG
-
Es werden Systeme und Verfahren zum Dimensionieren eines Objekts bereitgestellt, indem Nahbereichs-Bilderfassungsvorrichtungen eingesetzt werden, um Bilddaten zu erhalten, die für das Objekt aus mehreren Perspektiven repräsentativ sind. Während Bilddaten von einer einzigen Bilderfassungsvorrichtung aus einer einzigen Perspektive ausreichen können, um eine oder mehrere Dimensionen eines Objekts zu bestimmen, werden Dimensionierungsoperationen (z.B. Berechnungen) durch die Verfügbarkeit zusätzlicher Bilddaten aus z.B. verschiedenen Perspektiven verbessert. Das heißt, dass Informationen, die für verschiedene Seiten des Objekts indikativ sind, nützlich sind, um z.B. die Dimensionen eines in den Bilddaten erscheinenden Objekts zu bestimmen. Die hierin aufgeführten Beispiele zeigen, dass sich ein oder mehrere sekundäre Bilderfassungsvorrichtungen in der Nähe (z.B. innerhalb eines Grenzabstands) einer primären Bilderfassungsvorrichtung befinden. Als Reaktion auf eine solche Erkennung(en) erfordern die hier offenbarten Beispiele, dass die Nahbereichs-Bilderfassungsvorrichtungen zeitgestempelte Bilddaten des Objekts erhalten, so dass die entsprechenden zusätzlichen Informationen beispielsweise zur Erzeugung einer zusammengesetzten Darstellung des Objekts verwendet werden können, die granularer ist als die Darstellung aus einer einzigen Perspektive. Die in der Darstellung enthaltenen zusätzlichen Informationen verbessern die Genauigkeit und Geschwindigkeit der Dimensionierungsoperationen.
-
1 ist ein Blockdiagramm einer beispielhaften HUD (Heads-Up-Display)-Baugruppe 100, die gemäß Lehren dieser Offenbarung konstruiert ist. Alternative Implementierungen der HUD-Baugruppe 100 aus 1 enthalten ein oder mehrere zusätzliche oder alternative Elemente, Prozesse und/oder Vorrichtungen. In einigen Beispielen können ein oder mehrere der Elemente, Prozesse und/oder Vorrichtungen der HUD-Baugruppe 100 aus 1 kombiniert, geteilt, neu angeordnet oder weggelassen werden. Während die hier angegebenen Beispiele in Verbindung mit einer HUD-Baugruppe als primäre Bilderfassungsvorrichtung beschrieben werden, können die hier angegebenen Beispiele in zusätzlichen oder alternativen Vorrichtungen verwendet werden, wie z.B. mobilen handgehaltenen Computern, die mit einem Display und Kameras (z.B. Stereokameras und/oder Tiefensensoren) ausgestattet sind, die in der Lage sind, Bilddaten zu erhalten und ein Objekt zu dimensionieren. Wie hierin verwendet, beziehen sich Bilddaten auf jede geeignete Art von Daten, die zur Dimensionierung des Objekts verwendet werden können. In einigen Beispielen sind die erfassten Bilddaten beispielsweise ein zweidimensionales Bild, wie ein Bild und/oder ein Paar von Bildern, die von stereoskopischen Kameras erfasst werden. In einigen Beispielen handelt es sich bei den erfassten Bilddaten um einen Tiefenwert bei einer Koordinate. In einigen Beispielen sind die erfassten Bilddaten eine Kombination aus einem RGB-Wert bei einer Koordinate und einem Tiefenwert bei der Koordinate, was manchmal auch als Voxel bezeichnet wird.
-
Die beispielhafte HUD-Baugruppe 100 von 1 enthält einen Präsentationsgenerator 102 und eine Kopfhalterung 104. Die Kopfhalterung 104 ist konstruiert, um den Präsentationsgenerator 102 an einem Kopf einer Person zu befestigen, so dass eine vom Präsentationsgenerator 102 erzeugte Präsentation von der Person konsumiert werden kann. Die Präsentation enthält visuelle Medienkomponenten (z.B. Bilder) und/oder Audio-Medienkomponenten. Um Bilder wie statischen oder animierten Text und/oder Grafiken zu erzeugen, enthält der beispielhafte Präsentationsgenerator 102 aus 1 einen Bildgenerator 106. Der beispielhafte Bildgenerator 106 aus 1 steht in Kommunikation mit einer oder mehreren Bilddatenquellen. Die vom Bildgenerator 106 empfangenen Bilddaten sind z.B. repräsentativ für Text, Grafiken und/oder Augmented-Reality-Elemente (z.B. Informationen, die sich auf Objekten innerhalb des Sichtfeldes überlagern).
-
In dem illustrierten Beispiel ist der Präsentationsgenerator 106 konfiguriert, um eine oder mehrere Nachrichten oder Indikatoren anzuzeigen, die beispielsweise mit Anfragen an Nahbereichs-Bilderfassungsvorrichtungen assoziiert sind, die von der HUD-Baugruppe 100 gesendet werden, wobei die Anfragen an die Nahbereichs-Bilderfassungsvorrichtungen gerichtet sind, um zeitgestempelte Bilddaten zu erhalten, die für ein Objekt repräsentativ sind, das von einem Benutzer der HUD-Baugruppe 100 gehalten wird. Zusätzlich oder alternativ kann der Präsentationsgenerator 106 konfiguriert werden, um eine oder mehrere Nachrichten oder Indikatoren anzuzeigen, dass eine oder mehrere Nahbereichs-Bilderfassungsvorrichtungen die Anfrage akzeptieren und/oder die angragten Bilddaten erfasst haben.
-
Der beispielhafte Bildgenerator 106 von 1 verwendet eine Lichtquelle 108 und ein Display/eine Optik 110, um visuelle Komponenten der Präsentation zu präsentieren. In einigen Beispielen enthält der beispielhafte Bildgenerator 106 Lichtmaschinen, die die Lichtquelle 108 (z.B. Leuchtdioden (LEDs)) verwenden, um auf der Grundlage der empfangenen Daten Licht zu erzeugen. In einigen Beispielen empfangen die Lichtmaschinen verarbeitete Daten in einem Zustand, in dem sie sofort in Licht umgewandelt werden können. In anderen Beispielen verarbeiten die Lichtmaschinen Rohbilddaten, bevor sie die Bilddaten in Licht umwandeln. Um eine solche Verarbeitung durchzuführen, enthalten die Lichtmaschinen beispielsweise eine oder mehrere Logikschaltungen, die für die Verarbeitung der Bilddaten konfiguriert sind, und/oder stehen mit diesen in Verbindung.
-
Die Lichtmaschinen wandeln die empfangenen Bilddaten in Muster und Lichtimpulse um und übermitteln das erzeugte Licht an das Display/die Optik 110, so dass die mit den empfangenen Daten korrespondierenden Bilder dem Benutzer über das Display/die Optik 110 angezeigt werden. In einigen Beispielen enthalten die Lichtmaschinen Optiken, die das erzeugte Licht vor der Bereitstellung des Lichts an das Display/die Optik 110 konditionieren oder manipulieren (z.B. polarisieren und/oder kollimieren).
-
In einigen Beispielen enthält die Anzeige/die Optik 110 einen Wellenleiter, der das von den Lichtmaschinen empfangene Licht in eine Richtung und ein Muster überführt, die/das mit den Bilddaten korrespondiert. In einigen Beispielen enthält der Wellenleiter eine Vielzahl von Innenflächen, die einen Lichtleiter bilden, um das Licht intern zu reflektieren, während das Licht von einem Eingang zu einem Ausgang wandert. So enthält der Wellenleiter beispielsweise Gitter am Ausgang, um das Licht in Richtung eines Auges des Benutzers zu beugen und dadurch das Bild dem Benutzer anzuzeigen. Darüber hinaus enthält der Wellenleiter in einigen Beispielen erste und zweite Linsen, die so angeordnet sind, dass sie jeweils über dem ersten und zweiten Auge des Benutzers platziert werden können. Für einen solchen Wellenleiter ist jedoch jede geeignete Form oder Größe möglich. In einigen Beispielen ist der Wellenleiter transparent, so dass der Benutzer die Umgebung gleichzeitig mit dem angezeigten Bild betrachten kann, oder die Umgebung nur dann, wenn kein Bild auf dem Wellenleiter angezeigt wird.
-
Während der beispielhafte Bildgenerator 106 die Lichtquelle 108 und das Display/die Optik 110 zur Darstellung visueller Komponenten der Präsentation verwendet, kann die beispielhafte HUD-Baugruppe 100 von 1 jede geeignete Bilderzeugungstechnologie wie z.B. Kathodenstrahlröhren (Cathode Ray Tube - CRT)-Vorrichtungen oder Scan-Laser verwenden.
-
Der beispielhafte Präsentationsgenerator 102 von 1 enthält einen Audiogenerator 112, der Audiodaten empfängt und die Audiodaten über eine Kopfhörerbuchse 114 und/oder einen Lautsprecher 116 in Schall umwandelt. Zum Beispiel kann der Audiogenerator 112 einen Schall erzeugen, um anzuzeigen, dass eine nahe befindliche Bildaufnahmevorrichtung eine Anfrage zur Gewinnung von Bilddaten eines Objekts akzeptiert hat und/oder dass die nahe befindliche Bildaufnahmevorrichtung die angefragten Bilddaten erhalten hat. In einigen Beispielen arbeiten der Audiogenerator 112 und der Bildgenerator 106 zusammen, um eine audiovisuelle Präsentation zu erzeugen.
-
Im Beispiel von 1 umfasst (z.B. umhaust) der beispielhafte Präsentationsgenerator 102 eine Vielzahl von Sensoren 118. Im Beispiel von 1 umfasst die Mehrzahl der Sensoren 118 einen Lichtsensor 120, einen Bewegungssensor 122 (z.B. einen Beschleunigungsmesser), ein Gyroskop 124, ein Mikrofon 126 und einen Näherungssensor 127. In einigen Beispielen wird die Darstellung, die durch den beispielhaften Bildgenerator 106 und/oder den Audiogenerator 112 erzeugt wird, durch eine oder mehrere Messungen und/oder Erfassungen beeinflusst, die durch einen oder mehrere der Sensoren 118 erzeugt werden. Zum Beispiel kann eine Charakteristik (z.B. der Grad der Opazität) der vom Bildgenerator 106 erzeugten Anzeige von einer Intensität des vom Lichtsensor 120 erfassten Umgebungslichts abhängen. Zusätzlich oder alternativ werden ein oder mehrere Modi, Betriebsparameter oder Einstellungen durch Messungen und/oder Erfassungen bestimmt, die von einem oder mehreren der Sensoren 118 erzeugt werden. Zum Beispiel kann der Präsentationsgenerator 102 in einen Standby-Modus übergehen, wenn der Bewegungssensor 122 innerhalb einer bestimmten Grenzzeitspanne keine Bewegung erkannt hat.
-
In dem abgebildeten Beispiel ist der Näherungssensor 127 konfiguriert, um Standort- und/oder Bewegungsinformationen bereitzustellen, die mit der HUD-Baugruppe 100 verbunden sind, z.B. an einen Server und/oder andere Bilderfassungsvorrichtungen, die sich innerhalb eines Bereichs der HUD-Baugruppe 100 befinden. In einigen Beispielen wird der Näherungssensor 127 mit anderen Näherungssensoren koordiniert, die von den anderen Bilderfassungsvorrichtungen getragen werden, um zu bestimmen, ob eine oder mehrere der Bilderfassungsvorrichtungen innerhalb eines Grenzabstands voneinander liegen (d.h. nahe beieinander liegen). So kann der Näherungssensor 127 beispielsweise versuchen, sich (z.B. über ein Bluetooth®-Kommunikationsgerät) mit umliegenden Geräten zu paaren, die ebenfalls mit ähnlichen (z.B. nach demselben Kommunikationsprotokoll arbeitenden) Sensoren ausgestattet sind. In einigen Beispielen sind die HUD-Baugruppe 100 und andere Bilderfassungsvorrichtungen unter Verwendung eines RFID-basierten Ortungssystems über den Näherungssensor 127 und andere ähnliche Sensoren, die von den anderen Bilderfassungsvorrichtungen getragen werden, lokalisierbar. Der Näherungssensor 127 kann beispielsweise konfiguriert werden, um Funkfrequenz (RF)-blinken zu übertragen, die von fixierten RFID-Lesegeräten gelesen werden, die in der Lage sind, die HUD-Baugruppe 100 anhand der Blinksignale zu lokalisieren (z.B. durch Triangulationstechniken). In einigen Beispielen ist der Näherungssensor 127 ein satellitengestützter Sensor, der in der Lage ist, Ortungsinformationen zu liefern, die z.B. auf einem GPS-System basieren, das auch die Standorte der anderen Bilderfassungsvorrichtungen kennt. In solchen Fällen können die Standorte der verschiedenen Bilderfassungsvorrichtungen verglichen werden, um festzustellen, ob einige der Bilderfassungsvorrichtungen nahe beieinander liegt. In einigen Beispielen liefert der Näherungssensor 127 Bewegungs- und/oder Positionsinformationen, die mit der HUD-Baugruppe 100 verbunden sind, wie z.B. Informationen über Nickbewegung, Drehbewegung, Gierbewegung, Höhe und Kurs. In einigen Beispielen definiert der Näherungssensor 127 eine lokale Geometrie oder ein Koordinatensystem und die entsprechende Position im Koordinatensystem, die mit der HUD-Baugruppe 100 verbunden ist. Wenn beispielsweise die HUD-Baugruppe 100 initialisiert (z.B. eingeschaltet) wird, kann der Näherungssensor 127 die Startposition der HUD-Baugruppe als 0, 0, 0 im Koordinatensystem protokollieren. In solchen Fällen aktualisiert der Näherungssensor 127 die Position der HUD-Baugruppe 100, wenn sich der Benutzer bewegt. Außerdem haben in solchen Fällen andere Bilderfassungsvorrichtungen Positionen im Koordinatensystem (z.B. feste Positionen für statische Bilderfassungsvorrichtungen und aktualisierte Positionen für mobile Bilderfassungsvorrichtungen wie andere HUD-Baugruppen oder mobile handgehaltene Computervorrichtungen). Als solche werden die Bilderfassungsvorrichtungen innerhalb eines Grenzabstands gemäß dem Koordinatensystem als nahe befindliche Vorrichtungen betrachtet. In einigen Beispielen verwendet der Näherungssensor 127 Signalstärkesysteme (z.B. von WiFi-Signalen), um die HUD-Baugruppe 100 und/oder andere Bilderfassungsvorrichtungen relativ zueinander und/oder zu einem Koordinatensystem zu lokalisieren.
-
Wie hierin im Detail beschrieben, werden die vom Näherungssensor 127 gelieferten Daten verwendet, um eine Nahbereichs-Bilderfassungsvorrichtung zur Gewinnung zusätzlicher Bilddaten heranzuziehen, die für ein Objekt repräsentativ sind, das von der HUD-Baugruppe 100 (d.h. der primären Bilderfassungsvorrichtung) dimensioniert wird.
-
Der beispielhafte Präsentationsgenerator 102 von 1 enthält ein Kamera-Subsystem 128. In einigen Beispielen ist das Kamera-Subsystem 128 am gleichen Gehäuse wie der Präsentationsgenerator 102 montiert oder wird von diesem getragen. In einigen Beispielen wird das Kamera-Subsystem 128 an der Kopfhalterung 104 montiert oder von dieser getragen. Das beispielhafte Kamera-Subsystem 128 umfasst zwei Kameras 130 und ein Mikrofon 132 zur Erfassung von Bild- bzw. Audiodaten, die repräsentativ für die Umgebung der HUD-Baugruppe 100 sind. In einigen Beispielen enthält das Kamera-Subsystem 128 einen oder mehrere Tiefensensoren zur Erkennung von Abständen zwischen Objekten in einem Sichtfeld und der HUD-Baugruppe 100. In einigen Beispielen werden Bild- und/oder Audiodaten, die von den Kameras 130 und/oder dem Mikrofon 132 erfasst werden, in die vom Bildgenerator 106 und/oder dem Audiogenerator 112 erzeugte Präsentation integriert. Zum Beispiel übermittelt das Kamera-Subsystem 128 von 1 Daten an den Bildgenerator 102, der die Bilddaten verarbeiten kann, um ein oder mehrere entsprechende Bilder auf dem Display/der Optik 110 zu erzeugen. In einigen Beispielen werden die von den Kameras 130 und/oder dem Mikrofon 132 erfassten Bild- und/oder Audiodaten im Speicher 135 der beispielhaften HUD-Baugruppe 100 gespeichert. In einigen Beispielen werden die von den Kameras 130 und/oder dem Mikrofon 132 erfassten Bild- und/oder Audiodaten z.B. über eine USB-Schnittstelle 134 des Kamera-Subsystems 128 an eine Vorrichtung (z.B. einen Server oder einen externen Speicher) außerhalb der HUD-Baugruppe 100 übertragen.
-
Der beispielhafte Präsentationsgenerator 102 von 1 enthält eine Vielzahl von Schnittstellen 136, die konfiguriert sind, um die HUD-Baugruppe 100 zu befähigen, mit einem oder mehreren externen Vorrichtungen 136 und einem oder mehreren Netzwerken 138 zu kommunizieren. Im Beispiel von 1 umfassen die Schnittstellen 136 Konverter 140 (z.B. einen HDMI-zu-LVDS-RGB-Konverter) zur Konvertierung von Daten von einem Format in ein anderes, eine USB-Schnittstelle 144 und einen Bluetooth®-Audiosender 146. In einigen Beispielen arbeitet der Bluetooth®-Audiosender 146 mit einem oder beiden der Mikrofone 126, 132 der HUD-Baugruppe 100 zusammen, um eine Spracheingabe des Benutzers zu empfangen und die Spracheingabe an eine oder mehrere der externen Vorrichtungen 136 weiterzuleiten. Beispielsweise kann die Spracheingabe über die HUD-Baugruppe 100 mit Hilfe des Bluetooth®-Audiosenders 146 an eine mobile Computervorrichtung, die der Benutzer trägt, übermittelt werden. Beispiele für externe Vorrichtungen 136 sind Tastaturen, Bluetooth®-Klicktasten, Smartwatches und mobile Computervorrichtungen.
-
Der beispielhafte Bildgenerator 106, die beispielhafte Lichtquelle 108, der beispielhafte Audiogenerator 112, das beispielhafte Kamera-Subsystem 128, die beispielhaften Konverter 140, die beispielhaften USB-Schnittstellen 134, 144 und/oder allgemeiner der beispielhafte Präsentationsgenerator 102 aus 1 werden durch Hardware, Software, Firmware und/oder eine beliebige Kombination aus Hardware, Software und/oder Firmware implementiert. In einigen Beispielen ist mindestens einer der beispielhaften Bildgeneratoren 106, der beispielhaften Lichtquelle 108, des beispielhaften Audiogenerators 112, des beispielhaften Kamera-Subsystems 128, der beispielhaften Konverter 140, der beispielhaften USB-Schnittstellen 134, 144 und/oder allgemeiner des beispielhaften Präsentationsgenerators 102 aus 1 durch eine Logikschaltung implementiert. Der Begriff „Logikschaltung“ wird hier ausdrücklich definiert als eine physikalische Vorrichtung mit mindestens einer Hardware-Komponente, die (z.B. durch Betrieb gemäß einer vorgegebenen Konfiguration und/oder durch Ausführung gespeicherter maschinenlesbarer Befehle) konfiguriert ist, um eine oder mehrere Maschinen zu steuern und/oder Operationen einer oder mehrerer Maschinen auszuführen. Beispiele für eine Logikschaltung umfassen einen oder mehrere Prozessoren, einen oder mehrere Koprozessoren, einen oder mehrere Mikroprozessoren, eine oder mehrere Steuerungen, einen oder mehrere digitale Signalprozessoren (DSPs), eine oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs), einen oder mehrere Field Programmable Gate Arrays (FPGAs), eine oder mehrere Mikrocontroller-Einheiten (MCUs), einen oder mehrere Hardware-Beschleuniger, einen oder mehrere Spezial-Computerchips und eine oder mehrere System-on-a-Chip (SoC)-Vorrichtungen. Einige beispielhafte Logikschaltungen, wie ASICs oder FPGAs, sind speziell für die Durchführung von Operationen konfigurierte Hardware. Einige beispielhafte Logikschaltungen sind Hardware, die maschinenlesbare Befehle zur Durchführung von Operationen ausführt. Einige beispielhafte Logikschaltungen umfassen eine Kombination aus speziell konfigurierter Hardware und Hardware, die maschinenlesbare Anweisungen ausführt.
-
Die hier verwendeten Begriffe „zugreifbares maschinenlesbares Medium“, „nicht flüchtiges maschinenlesbares Medium“ und „maschinenlesbares Speichergerät“ werden ausdrücklich als Speichermedium (z.B. eine Platte eines Festplattenlaufwerks, eine Digital Versatile Disc, eine Compact Disc, ein Flash-Speicher, ein Nur-Lese-Speicher (ROM), ein Speicher mit wahlfreiem Zugriff (RAM) usw.) definiert, auf dem maschinenlesbare Befehle (z.B. Programmcode in Form von z.B. Software und/oder Firmware) gespeichert werden können. Ferner ist, wie hierin verwendet, jeder der Begriffe „zugreifbares maschinenlesbares Medium“, „nicht flüchtiges maschinenlesbares Medium“ und „maschinenlesbares Speichergerät“ ausdrücklich definiert, um die Verbreitung von Signalen auszuschließen. Das heißt, dass, wie in jedem Anspruch dieses Patents verwendet, ein „zugreifbares maschinenlesbares Medium“ nicht so gelesen werden kann, als dass es durch ein sich ausbreitendes Signal implementiert wird. Ferner kann ein „nicht flüchtiges maschinenlesbares Medium“, wie es in jedem Anspruch dieses Patents verwendet wird, nicht so gelesen werden, als dass es durch ein sich ausbreitendes Signal implementiert wird. Ferner kann ein „maschinenlesbares Speichergerät“, wie es in jedem Anspruch dieses Patents verwendet wird, nicht so gelesen werden, als dass es durch ein sich ausbreitendes Signal implementiert wird.
-
Die hier verwendeten Begriffe „zugreifbares maschinenlesbares Medium“, „nicht flüchtiges maschinenlesbares Medium“ und „maschinenlesbares Speichergerät“ sind ausdrücklich definiert als ein Speichermedium, auf dem maschinenlesbare Befehle für eine beliebige geeignete Zeitdauer gespeichert werden (z.B. dauerhaft, für einen längeren Zeitraum (z.B. während der Ausführung eines mit den maschinenlesbaren Befehlen verbundenen Programms) und/oder für eine kurze Zeitdauer (z.B. während der Zwischenspeicherung der maschinenlesbaren Befehle und/oder während eines Pufferprozesses)).
-
2A und 2B zeigen eine beispielhafte HUD-Baugruppe 200, die die HUD-Baugruppe 100 aus 1 implementieren kann. Die beispielhafte HUD-Baugruppe 200 aus 2B enthält einen Präsentationsgenerator 202 und eine beispielhafte Kopfhalterung 204. Der beispielhafte Präsentationsgenerator 202 aus 2B umfasst oder trägt Komponenten, die konfiguriert sind, um z.B. eine audiovisuelle Präsentation für den Konsum durch einen Benutzer zu erzeugen, der die beispielhafte HUD-Baugruppe 200 aus 2B trägt. Der Präsentationsgenerator 202 von 2B umfasst oder trägt die Komponenten des beispielhaften Präsentationsgenerators 102 von 1.
-
3 zeigt die beispielhafte HUD-Baugruppe 200 der 2A und 2B, die an einem Kopf 300 eines Benutzers montiert ist.
-
4 zeigt beispielhafte Kameras 402, die z.B. die Kameras 130 von 1 implementieren. Wie oben beschrieben, können die Kameras 402 konfiguriert werden, um Bilddaten zu erfassen, die für ein Kastenobjekt und die Hände eines Benutzers repräsentativ sind, wenn ein Benutzer, der die HUD-Baugruppe 200 trägt, ein Kastenobjekt betrachtet. Während die beispielhaften Kameras 402 von 4 über jedem Okular positioniert sind, können die Kameras an jeder geeigneten Stelle, z.B. am Rand der Rahmen (Frames), positioniert werden. 5A zeigt beispielsweise einen Benutzer, der die HUD-Baugruppe 200 trägt und auf ein Kastenobjekt schaut, wobei die beispielhaften Kameras 502 an den Seiten der Kopfhalterung montiert sind und Bilddaten einschließlich des Kastenobjekts und der Hände des Benutzers erfassen.
-
5B zeigt, dass mehrere Benutzer beispielhafte HUD-Baugruppen mit daran befestigten Kameras tragen, wobei jeder Benutzer auf ein zu dimensionierendes beispielhaftes Kastenobjekt schaut. Wie in 5B dargestellt, hält ein erster Benutzer, der die beispielhafte HUD-Baugruppe 200 trägt, das Kastenobjekt, während ein zweiter Benutzer, der die beispielhafte HUD-Baugruppe 510 trägt, auf dasselbe Kastenobjekt schaut. Wenn die Benutzer auf dasselbe Kastenobjekt blicken, werden die Kameras (nicht gezeigt), die an ihren jeweiligen HUD-Baugruppen 200 und 510 montiert sind, jeweils so positioniert, dass sie Bilddaten des Kastenobjekts aus mehreren Perspektiven erfassen.
-
5C zeigt ein Beispiel für ein zu dimensionierendes Kastenobjekt im Sichtfeld einer beispielhaft montierten Kamera und einen Benutzer, der eine beispielhafte HUD-Baugruppe mit daran montierten Kameras trägt, wobei der Benutzer auf das zu dimensionierende beispielhafte Kastenobjekt schaut. Wie in 5C dargestellt, hält ein Benutzer, der eine HUD-Baugruppe 200 trägt, das Kastenobjekt, während eine Kamera 520 (z.B. eine montierte Überkopfkamera) auf dasselbe Kastenobjekt gerichtet ist. Dementsprechend sind die Kameras (nicht gezeigt) der HUD-Baugruppe 200 und die montierte Kamera 520 jeweils so positioniert, dass sie Bilddaten des Kastenobjekts aus mehreren Perspektiven erfassen.
-
6 ist ein Blockdiagramm, das eine beispielhafte Logikschaltung darstellt, die z.B. zur Implementierung des beispielhaften Bildgenerators 106, der beispielhaften Lichtquelle 108, einer oder mehrerer der beispielhaften Schnittstellen 136 und/oder des beispielhaften Audiogenerators 112 aus 1 verwendet werden kann. Die beispielhafte Logikschaltung von 6 ist eine Verarbeitungsplattform 600, die in der Lage ist, maschinenlesbare Befehle auszuführen, um z.B. Operationen zu implementieren, die mit der HUD-Baugruppe 100 von 1 verbunden sind.
-
Die beispielhafte Verarbeitungsplattform 600 von 6 enthält einen Prozessor 602, wie z.B. einen oder mehrere Mikroprozessoren, Steuerungen und/oder jeden geeigneten Prozessortyp. Die beispielhafte Verarbeitungsplattform 600 von 600 enthält Speicher (z.B. flüchtiger Speicher, nicht flüchtiger Speicher), auf den der Prozessor 602 (z.B. über eine Speichersteuerung) zugreifen kann. Der beispielhafte Prozessor 602 interagiert mit dem Speicher 604, um z.B. maschinenlesbare Befehle zu erhalten, die im Speicher 604 gespeichert sind. Zusätzlich oder alternativ dazu können maschinenlesbare Befehle auf einem oder mehreren Wechselmedien (z.B. einer Compact Disc, einer Digital Versatile Disc, einem austauschbaren Flash-Speicher usw.) gespeichert werden, die mit der Verarbeitungsplattform 600 gekoppelt werden können, um den Zugriff auf die darauf gespeicherten maschinenlesbaren Befehle zu ermöglichen. Insbesondere können die auf dem Speicher 604 gespeicherten maschinenlesbaren Befehle Befehle zur Ausführung einer der unten in 7 näher beschriebenen Verfahren enthalten.
-
Die beispielhafte Verarbeitungsplattform 600 von 6 enthält außerdem eine Netzwerkschnittstelle 606, um die Kommunikation mit anderen Maschinen z.B. über ein oder mehrere Netzwerke zu ermöglichen. Die beispielhafte Netzwerkschnittstelle 606 enthält jede geeignete Art von Kommunikationsschnittstelle(n) (z.B. drahtgebundene und/oder drahtlose Schnittstellen), die konfiguriert ist (sind), um gemäß einem beliebigen geeigneten Protokoll (Protokollen) zu arbeiten. Die beispielhafte Verarbeitungsplattform 600 von 6 enthält Ein-/Ausgabe (I/O)-Schnittstellen 608, um den Empfang von Benutzereingaben und die Kommunikation von Ausgabedaten an den Benutzer zu ermöglichen.
-
Die beispielhafte Verarbeitungsplattform
600 von
6 kann konfiguriert werden, um Dimensionierungsoperationen unter Verwendung der Bilddaten durchzuführen, die anhand der hierin offenbarten Beispiele erfasst werden. Jede geeignete Technik zur Messung der Dimensionen des Objekts ist auf die hierin offenbarten Beispiele anwendbar. Beispielsweise sind Verfahren und Vorrichtungen zum Dimensionieren eines Kastenobjekts unter Verwendung von Bilddaten, die beispielsweise mit der HUD-Baugruppe
100 und/oder zusätzlichen Bilderfassungsvorrichtungen erfasst wurden, im
US-Patent Nr. 9,741,134 , eingereicht am 16. Dezember 2013, offenbart, das hiermit durch Verweis hierin aufgenommen wird. Zusätzliche oder alternative Verfahren und Vorrichtungen, die in Verbindung mit den hierin offenbarten Beispielen zum Dimensionieren eines Objekts verwendet werden können, umfassen Punktwolkengeneratoren und Analysen von Punktwolkendaten zur Messung von Objekten.
-
7 ist ein Flussdiagramm, das ein beispielhaftes Verfahren gemäß Lehren dieser Offenbarung darstellt. Während das Beispiel von 7 im Zusammenhang mit der beispielhaften HUD-Baugruppe 100 von 1 beschrieben wird, kann das Beispiel von 7 in Verbindung mit zusätzlichen oder alternativen Arten von Bilderfassungsvorrichtungen, wie z.B. mobilen handgehaltenen Computervorrichtungen mit Bilderfassungsequipment, umgesetzt werden.
-
Bei Block 700 wird die HUD-Baugruppe 100 und/oder andere Komponenten eines Dimensionierungssystems (z.B. andere mobile Bilderfassungsvorrichtungen, wie zusätzliche HUD-Baugruppen, und/oder ortsfeste Bilderfassungsvorrichtungen, wie z.B. in einer Dimensionierungszone montierte Kameras) initiiert (z.B. eingeschaltet). Bei Block 702 umfasst die Initiierung ein Definieren einer lokalen Geometrie zur Verwendung in den hierin beschriebenen Näherungsbestimmungen. Beispielsweise kann ein Koordinatensystem an einem Startpunkt (0,0,0) initialisiert und festgelegt werden.
-
Bei Block
704 wird die Position der HUD-Baugruppe
100 ermittelt (z.B. über den Näherungssensor
127) und bei der Bewegung der HUD-Baugruppe
100 kontinuierlich aktualisiert. In dem abgebildeten Beispiel werden eine Vielzahl von Positions- und Bewegungsinformationen gesammelt, die mit der HUD-Baugruppe
100 verbunden sind, wie z.B. Informationen über Nickbewegung, Drehbewegung, Gierbewegung, Höhe und Kurs. In einigen Beispielen umfasst die Bestimmung der Position der HUD-Baugruppe
100 das Kalibrieren der HUD-Baugruppe, z.B. wie in
U.S. Pat. Nr. 9,952,432 beschrieben wird.
-
Wenn eine Dimensionierungsanfrage empfangen wird (Block 706) (z.B. ausgelöst durch eine Eingabe eines Benutzers oder durch die Erfassung durch einen Positionierungssensor, dass sich ein Objekt derzeit an einem Zielort oder innerhalb eines Zielbereichs für die Dimensionierung befindet), erfasst das Bilderfassungsequipment der HUD-Baugruppe 100 Bilddaten (z.B. zweidimensionale und/oder dreidimensionale Daten), die für das Sichtfeld der HUD-Baugruppe, die ein zu dimensionierendes Objekt (z.B. einen Kasten) enthält, repräsentativ sind. Im Beispiel von 7 werden die erfassten Bilddaten mit einem Zeitstempel versehen, wobei eine Referenzuhr verwendet wird, die für andere Bilderfassungsvorrichtungen in der Umgebung zugänglich ist.
-
Bei Block 710 werden Bilderfassungsvorrichtungen in der Nähe der HUD-Baugruppe identifiziert, die durch den Näherungssensor 127 und/oder Verarbeitungskomponenten in Kommunikation mit dem Näherungssensor 127 und ähnlichen Näherungssensoren anderer Bilderfassungsvorrichtungen bestimmt werden.
-
In einem Beispiel empfängt ein Prozessor, z.B. als Teil eines Echtzeit-Lokalisierungssystems (RTLS), Daten, die die aktuelle Position der HUD-Baugruppe 100 anzeigen, sowie Daten, die die aktuelle Position von mindestens einer sekundären Bilderfassungsvorrichtung anzeigen. Zu den sekundären Bilderfassungsvorrichtungen können beispielsweise andere mobile Bilderfassungsvorrichtungen, wie zusätzliche HUD-Baugruppen, und/oder ortsfeste Bilderfassungsvorrichtungen, wie z.B. in einer Dimensionierungszone montierte Kameras, gehören. In einigen Beispielen empfängt der Prozessor Daten, die die aktuellen Positionen vieler sekundärer Bilderfassungsvorrichtungen anzeigen. Auf der Grundlage der Positionsdaten von der HUD-Baugruppe 100 und den verschiedenen sekundären Bilderfassungsvorrichtungen berechnet der Prozessor den Abstand zwischen der HUD-Baugruppe 100 und jeder der sekundären Bilderfassungsvorrichtungen, um zu bestimmen, ob sich einige der sekundären Bilderfassungsvorrichtungen innerhalb eines Nahbereichsgrenzabstands (z.B. fünf Fuß, zehn Fuß, 100 Fuß usw.) der HUD-Baugruppe 100 befinden.
-
Als zusätzliches oder alternatives Beispiel übertragen die verschiedenen sekundären Bilderfassungsvorrichtungen drahtlose Signale mit kurzer Reichweite (z.B. Bluetooth-Signale), die von Sensoren der HUD-Baugruppe (z.B. Näherungssensoren) erkannt werden können. Auf der Grundlage einer bekannten Reichweite eines solchen Signals wird eine sekundäre Bilderfassungsvorrichtung als innerhalb eines Nahbereichsgrenzabstands der HUD-Baugruppe befindlich bestimmt, wenn die HUD-Baugruppe das Signal empfängt. Umgekehrt wird festgestellt, dass eine sekundäre Bilderfassungsvorrichtung außerhalb eines Nahbereichsgrenzabstands der HUD-Baugruppe liegt, wenn die HUD-Baugruppe das Signal nicht empfängt.
-
Darüber hinaus sendet die HUD-Baugruppe 100 und/oder eine Verarbeitungskomponente, die mit der HUD-Baugruppe 100 kommuniziert (z. B. ein Server), eine Anfrage an jede der sekundären Bilderfassungsvorrichtungen, die als in der Nähe der HUD-Baugruppe 100 befindlich identifiziert werden. Die Anfrage zeigt an, dass die HUD-Baugruppe 100 ein Objekt am Standort der HUD-Baugruppe 100 dimensioniert und dass zusätzliche Bilddaten für das Objekt an diesem Standort angefragt werden. In einigen Beispielen sind die sekundären Bilderfassungsvorrichtungen feste Bilderfassungsvorrichtungen, die auf einen bestimmten Punkt ausgerichtet sind. In solchen Fällen können die Bilderfassungsvorrichtungen das Objekt abbilden, wenn sich das Objekt im Sichtfeld befindet. Alternativ, wenn es sich bei den anderen Bilderfassungsvorrichtungen um mobile Vorrichtungen mit einem dynamischen Sichtfeld handelt, können die Bilderfassungsvorrichtungen (z. B. auf der Grundlage von Kurs, Position, Nickbewegung, Drehbewegung und Gierbewegung) bestimmen, wann sich das Objekt im Sichtfeld befindet, und können das Objekt abbilden, wenn es sich im dynamischen Sichtfeld befindet.
-
Bei Block 712 werden mit der/den sekundären Nahbereichs-Bilderfassungsvorrichtung(en) Bilddaten erfasst, die für das Objekt aus einer anderen Perspektive(n) als der Perspektive der HUD-Baugruppe 100 repräsentativ sind. Wie in 5B dargestellt, ist beispielsweise eine erste HUD-Baugruppe dem Objekt in einem ersten Winkel zugewandt und erfasst Bilddaten aus einer Perspektive, während eine sekundäre HUD-Baugruppe in der Nähe der ersten HUD-Baugruppe (d.h. innerhalb eines Grenzabstands) dem Objekt in einem zweiten Winkel zugewandt ist und Bilddaten aus einer anderen Perspektive erfasst. In ähnlicher Weise, wie in 5C dargestellt, ist eine HUD-Baugruppe dem Objekt in einem ersten Winkel zugewandt und erfasst Bilddaten aus einer Perspektive, während eine montierte Kamera in der Nähe der ersten HUD-Baugruppe dem Objekt in einem zweiten Winkel zugewandt ist und Bilddaten aus einer anderen Perspektive erfasst. Die erfassten Bilddaten werden unter Verwendung derselben Referenz wie die primäre Bilderfassungsvorrichtung mit einem Zeitstempel versehen und einer Datenbank zur Verfügung gestellt.
-
Bei Block 714 empfängt ein Dimensionierungsprozessor (z. B. ein Server in Kommunikation mit der HUD-Baugruppe 100 oder ein Prozessor der HUD-Baugruppe 100) die von der HUD-Baugruppe 100 und den Nahbereichs-Bilderfassungsvorrichtungen erfassten Bilddaten. Der Dimensionierungsprozessor ordnet die Bilddaten aus den verschiedenen Quellen gemäß gemeinsamen Zeitstempeln (z.B. innerhalb eines Zeitgrenzwertes) zu.
-
Bei Block 716 kombiniert der Dimensionierungsprozessor die verschiedenen Instanzen von Bilddaten aus den verschiedenen Quellen zu einer zusammengesetzten Darstellung des Objekts. In dem abgebildeten Beispiel erzeugt der Dimensionierungsprozessor eine kombinierte Punktwolke, die die verschiedenen Bilddateninstanzen enthält. Wenn es sich in alternativen Beispielen bei den Bilddaten jedoch nicht um Punktwolkendaten handelt, kombiniert der Dimensionierungsprozessor die Bilddaten auf alternative Weisen, um eine zusammengesetzte Darstellung des Objekts zu bilden.
-
Bei Block 718 segmentiert der Dimensionierungsprozessor die Punktwolke aus anderen Daten (z.B. Hintergrunddaten) und berechnet eine oder mehrere Dimensionen des Objekts auf der Grundlage der segmentierten Punktwolke. In einigen Beispielen weist der Dimensionierungsprozessor der einen oder den mehreren Dimensionen einen Vertrauenswert zu. In einigen Beispielen kommuniziert der Dimensionierungsprozessor die eine oder die mehreren Dimensionen an die HUD-Baugruppe 100, und die Ergebnisse werden darauf angezeigt.
-
Bei Block 720 werden die eine oder die mehreren Dimensionen gemeldet und/oder gespeichert. Wenn der Dimensionierungsprozess für das Objekt abgeschlossen ist (Block 722), geht die Steuerung zu Block 724 über. Andernfalls wird der Dimensionierungsprozess für das Objekt fortgesetzt.
-
Bei Block 724 wird der Prozess, wenn das System ausgeschaltetet wird, beendet (Block 726). Andernfalls kann die Steuerung von Block 724 zu Block 706 zurückkehren, um zu bestimmen, ob eine weitere Dimensionierungsanfrage ausgegeben wurde.
-
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.
-
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 „Verarbeitungsvorrichtungen“) 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. 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.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 9741134 [0028]
- US 9952432 [0031]