Beschreibung
Automatische Herstellung eines digitalen Zwillings
Die Erfindung betrifft ein Verfahren zum automatischen Herstellen eines digitalen Zwillings zumindest eines Abschnitts eines Gebäude-Innenraums unter Verwendung eines Roboters, einen Roboter, und eine Datenverarbeitungseinrichtung zum automatischen Herstellen eines digitalen Zwillings zumindest eines Abschnitts eines Gebäude-Innenraums unter Verwendung eines Roboters.
In der Intralogistik, beispielsweise in dem innerbetrieblichen Materialfluss oder beispielsweise in einem Warenlager, werden immer häufiger automatisierte Roboter und teilweise automatisierte Flurförderzeuge, beispielsweise Gabelstapler und dergleichen eingesetzt. Für automatisierte bzw. teil-automatisierte Aufgaben müssen jedoch 3D-Karten des Roboterumfelds angefertigt werden. Bei herkömmlichen Verfahren zur Kartographierung eines Roboterumfelds können jedoch manuelle Bearbeitungsschritte und für ein Kartenupdate erneute Datenaufnahmen notwendig sein, wodurch ein automatisches Update und damit eine Aktualität der 3D-Karte nicht gegeben ist. Zudem muss das zu kartographierende Roboterumfeld bei der Kartenerstellung gesperrt werden, beispielsweise dynamische Objekte wie weitere Roboter oder Personen werden bei herkömmlichen Verfahren als störend bei der Kartenerstellung betrachtet und dürfen sich während der Kartenerstellung nicht in dem zu kartographierenden Roboterumfeld aufhalten. Ferner ist oft zur Kartographierung spezielle Sensorikhardware notwendig, wodurch sich bestehende Sensoren nicht verwenden lassen. Dies kann zum einen an fehlenden Möglichkeiten zur Fusion von verschiedenen Datenquellen oder an fehlender Lokalisierung der einzelnen Sensoren, und zum anderen an fehlender Verteilbarkeit der Herstellungsprozesse der Karte liegen, beispielsweise wegen großer Datenmengen und limitierten Datenübertragungsmöglichkeiten. Auch ist bei herkömmlichen Verfahren die Verwendung der 3D-Karten limitiert, da keine semantischen Informationen und deren Lokalisation in den 3D-Karten enthalten sein können.
Der vorliegenden Erfindung liegt die Aufgabe zu Grunde, eine effiziente Erzeugung eines digitalen Zwillings von einem Roboterumfeld eines Roboters bereitzustellen.
Diese Aufgabe wird durch die Merkmale der unabhängigen Ansprüche gelöst.
Vorteilhafte Ausführungsformen der Erfindung sind Gegenstand der abhängigen Ansprüche, der Beschreibung sowie der beiliegenden Figuren.
Gemäß einem ersten Aspekt wird die erfindungsgemäße Aufgabe gelöst durch ein Verfahren zum automatischen Herstellen eines digitalen Zwillings zumindest eines Abschnitts eines Gebäude-Innenraums unter Verwendung mindestens eines Roboters, welcher in dem Gebäude-Innenraum angeordnet ist, wobei der mindestens eine Roboter mindestens einen Sensor zur Erfassung eines Roboterumfelds in dem Gebäude-Innenraum aufweist, wobei in dem Roboterumfeld zumindest ein Objekt angeordnet ist, wobei dem Objekt mindestens eine Objektart aus einer Menge von vorbestimmten Objektarten zugeordnet ist, wobei das Verfahren die folgenden Merkmale aufweist: Erfassen des Roboterumfelds durch den mindestens einen Sensor des Roboters, um erfasste Umfelddaten zu erhalten; Zuordnen der mindestens einer Objektart zu dem Objekt in dem Roboterumfeld mittels eines neuronalen Netzes auf der Basis der Umfelddaten, wobei das neuronale Netz zur Erkennung von Objektarten eingerichtet ist, wobei das neuronale Netz durch einen Prozessor ausgeführt wird; und Verknüpfen der zugeordneten Objektart mit einer Positionsinformation, welche eine Position des Objektes angibt, um den digitalen Zwilling zu herzustellen.
Der Gebäude-Innenraum kann insbesondere eine Lagerhalle, eine Montage-Halle, eine Industriefläche innerhalb eines Gebäudes oder eine Verkaufsfläche oder ein industriell genutzter Raum sein. Unter einem industriell genutzten Raum kann insbesondere ein Raum mit einer Innenfläche verstanden werden, der insbesondere Eigenschaften einer Lagerhalle, einer Montage-Halle und/oder einer Industriefläche innerhalb eines Gebäudes oder einer Verkaufsfläche aufweisen kann.
Vorzugsweise kann unter mindestens ein Roboter ein einziger Roboter, zwei Roboter oder mehrere Roboter verstanden werden.
Insbesondere kann unter mindestens ein Sensor ein einziger Sensor, zwei Sensoren oder mehrere Sensoren oder ein Sensor-Array verstanden werden.
Insbesondere kann unter mindestens eine Objektart eine einzige Objektart, zwei Objektarten oder mehrere Objektarten verstanden werden.
Die vorstehenden und nachstehenden Ausführungen gelten analog für abgegrenzte Außenbereiche, wie Lageraußenflächen, Montage-Außenflächen oder Fabrik-Anlagen.
Der Roboter kann ein Industrieroboter sein, welcher ausgebildet ist, zusätzlich Aufgaben eines Industrieroboters zu übernehmen, wie beispielsweise autonomer Waren- oder Teiletransport, Lasthandhabung und/oder Gabelstaplerfunktionen. Der Roboter kann jedoch ein stationärer Roboter sein, sodass der Sensor dasselbe Umfeld erfasst, um etwaige Änderungen zu erfassen.
In einer Ausführungsform ist der Roboter translatorisch und/oder rotatorisch beweglich.
In einer Ausführungsform ist der Roboter eine Vorrichtung zur Erzeugung bzw. Generierung von Daten, beispielsweise ein autonomes Fahrzeug, insbesondere Flurförderzeug, oder ein Teil eines Fahrzeugs, insbesondere Flurförderzeug, oder eine Sensoranordnung, welche beispielsweise an Fahrzeugen, Förderbändern oder Gestellen angebracht, oder durch Personen getragen werden kann.
In einer Ausführungsform ist der Prozessor in dem Roboter implementiert, wobei die mindestens eine zugeordnete Objektart an eine Datenverarbeitungseinrichtung über ein Kommunikationsnetzwerk ausgesendet wird, und wobei die Datenverarbeitungseinrichtung die mindestens eine zugeordnete Objektart mit der Positionsinformation verknüpft.
In einer Ausführungsform sendet der Roboter die erfassten Umfelddaten über ein Kommunikationsnetzwerk an eine Datenverarbeitungseinrichtung aus, wobei der Prozessor in der Datenverarbeitungseinrichtung implementiert ist, und wobei die Datenverarbeitungseinrichtung die mindestens eine zugeordnete Objektart mit der Positionsinformation verknüpft.
In einer Ausführungsform ist die Datenverarbeitungsvorrichtung ein Server, beispielsweise ein Cloud-Server.
In einer Ausführungsform ist eine Ausgabe des neuronalen Netzes ein digitaler Merkmalssatz, der die zugeordnete Objektart darstellt.
In einer Ausführungsform ist die Positionsinformation eine aus einem global- lokalisierenden System gewonnene Information über eine Position des Roboters oder ist die Positionsinformation eine Position des Objektes oder leitet der Prozessor die Positionsinformation aus den erfassten Umgebungsdaten ab.
Unter einer Positionsinformation kann insbesondere eine Information hinsichtlich der x- Achse, der y-Achse und der z-Achse oder einer Raumachse oder mehreren Raumachsen eines Koordinatensystems verstanden werden. Insbesondere bevorzugt kann hierunter eine Poseninformation verstanden werden, die vorzugsweise zusätzlich zu der Information hinsichtlich der x-Achse, der y-Achse und der z-Achse eine Information zu einer räumlichen Winkellage, insbesondere eine Information zu einer Drehung um die x-Achse, die y-Achse und/oder die z-Achse, umfasst.
Beispielsweise kann die Positionsinformation eine GPS-Position eines Roboters sein.
In einer Ausführungsform weist das Objekt ein Attribut auf, das durch den Sensor in den Umfelddaten erfasst ist, oder weist der Roboter einen weiteren Sensor zur Attributerfassung, insbesondere einen Laser-Scanner, auf, welcher Attributdaten ausgibt, wobei der Prozessor ausgebildet ist, das Attribut in den Umfelddaten oder den Attributdaten zu detektieren.
In einer Ausführungsform ist das Attribut eine geometrische Charakteristik des Objektes, insbesondere eine geometrische Form oder eine geometrische Ausdehnung, oder eine Objektbeschriftung, oder eine Objektausrichtung.
In einer Ausführungsform ist der Prozessor ausgebildet, das Attribut auf der Basis einer Muster-Erkennung oder auf der Basis des neuronalen Netzes oder auf der Basis eines weiteren neuronalen Netzes, das zur Erkennung von Attributen eingerichtet ist, zu erkennen.
In einer Ausführungsform wird das Attribut mit der zugeordneten Objektart mit einer Positionsinformation verknüpft.
In einer Ausführungsform wird das Verknüpfen der zugeordneten Objektart mit der Positionsinformation durch eine Zuordnung der Positionsinformation zu der Objektart oder durch eine Eintragung der Positionsinformation in einer digitalen Karte durchgeführt.
In einer Ausführungsform ist in dem Roboterumfeld mindestens ein weiteres Objekt angeordnet, wobei mindestens eine weitere Objektart des mindestens einen weiteren Objektes durch Ausführung des neuronalen Netzes auf dem Prozessor erfasst wird, und wobei die Lokalisationsinformation oder eine weitere Lokalisationsinformation mit der mindestens einen weiteren Objektart verknüpft wird.
Vorzugsweise kann die Objektart insbesondere eine im Anwendungsfall übliche Objektart, vorzugsweise eine Palette, ein Roboter, eine Wand, ein Gang, ein Regal, eine Tür, oder ein Informationsschild, sein.
In einer Ausführungsform ist die Objektart eine Palette, ein Roboter, eine Wand, ein Gang, ein Regal, eine Tür, oder ein Informationsschild.
Gemäß einem zweiten Aspekt wird die erfindungsgemäße Aufgabe gelöst durch einen Roboter, welcher in einem Gebäude-Innenraum angeordnet ist, mit: zumindest einem Sensor zur Erfassung eines Roboterumfelds in dem Gebäude-Innenraum, wobei in dem Roboterumfeld zumindest ein Objekt angeordnet ist, wobei dem Objekt mindestens eine Objektart aus einer Menge von vorbestimmten Objektarten zugeordnet ist; einem Prozessor, welcher ausgebildet ist, mindestens eine Objektart zu dem Objekt in dem Roboterumfeld mittels eines neuronalen Netzes auf der Basis der Umfelddaten zuzuordnen, wobei das neuronale Netz zur Erkennung von Objektarten eingerichtet ist; und wobei der Prozessor ferner ausgebildet ist, die mindestens eine zugeordnete Objektart mit einer Positionsinformation zu verknüpfen, welche eine Position des Objektes angibt, um den digitalen Zwilling herzustellen.
In einer Ausführungsform weist das Objekt ein Attribut auf, das durch den Sensor in den Umfelddaten erfasst ist, oder weist der Roboter einen weiteren Sensor zur Attributerfassung, insbesondere einen Laser-Scanner, auf, welcher Attributsdaten
ausgibt, wobei der Prozessor ausgebildet ist, das Attribut in den Umfelddaten oder den Attributsdaten zu detektieren.
Gemäß einem dritten Aspekt wird die erfindungsgemäße Aufgabe gelöst durch eine Datenverarbeitungseinrichtung zum automatischen Herstellen eines digitalen Zwillings zumindest eines Abschnitts eines Gebäude-Innenraums unter Verwendung mindestens eines Roboters, welcher in dem Gebäude-Innenraum angeordnet ist, wobei der Roboter mindestens einen Sensor zur Erfassung eines Roboterumfelds in dem Gebäude-Innenraum aufweist, wobei in dem Roboterumfeld zumindest ein Objekt angeordnet ist, wobei dem Objekt mindestens eine Objektart aus einer Menge von vorbestimmten Objektarten zugeordnet ist, wobei die Datenverarbeitungseinrichtung die folgenden Merkmale aufweist: eine Kommunikationsschnittstelle zum Empfangen von Umfelddaten von dem mindestens Roboter über ein Kommunikationsnetzwerk, wobei die erfassten Umfelddaten das erfasste Roboterumfeld repräsentieren; einem Prozessor, welcher ausgebildet ist, mindestens eine Objektart zu dem Objekt in dem Roboterumfeld durch Ausführung eines neuronalen Netzes auf der Basis der Umfelddaten zuzuordnen, wobei das neuronale Netz zur Erkennung von Objektarten eingerichtet ist, und wobei der Prozessor ferner ausgebildet ist, die mindestens eine zugeordnete Objektart mit einer Positionsinformation, welche eine Position des Objektes angibt, zu verknüpfen, um den digitalen Zwilling zu herzustellen.
Gemäß einem vierten Aspekt wird die erfindungsgemäße Aufgabe gelöst durch ein Computerprogramm zum Ausführen des Verfahrens gemäß dem ersten Aspekt, wenn das Computerprogramm mittels eines Prozessors ausgeführt wird.
Die für den Gegenstand des ersten Aspekts genannten Ausführungsformen sind ebenfalls Ausführungsformen für den Gegenstand des zweiten Aspekts, den Gegenstand des dritten Aspekts und den Gegenstand des vierten Aspekts.
Die für den Gegenstand des zweiten Aspekts genannten Ausführungsformen sind ebenfalls Ausführungsformen für den Gegenstand des ersten Aspekts, den Gegenstand des dritten Aspekts und den Gegenstand des vierten Aspekts.
Im Folgenden wird die Erfindung anhand von Ausführungsbeispielen und den Figuren näher beschrieben. In den Figuren zeigen:
Fig. 1a ein Flussdiagramm, welches Schritte eines Verfahrens zum automatischen Herstellen eines digitalen Zwillings zumindest eines Abschnitts eines Gebäude- Innenraums unter Verwendung eines Roboters gemäß einer Ausführungsform illustriert;
Fig. 1b eine schematische Ansicht eines Roboters gemäß einer Ausführungsform und einer Datenverarbeitungseinrichtung gemäß einer Ausführungsform in einem Kommunikationsnetzwerk;
Fig. 1c-e schematische Ansichten von Robotern gemäß Ausführungsformen;
Fig. 2 eine schematische Ansicht von Implementierungsschritten durch Roboter gemäß einer Ausführungsform und durch eine Datenverarbeitungseinrichtung gemäß einer Ausführungsform; und
Fig. 3 eine schematische Ansicht einer Systemarchitektur von Robotern gemäß einer Ausführungsform, einer Datenverarbeitungseinrichtung gemäß einer Ausführungsform und einer weiteren Datenverarbeitungseinrichtung gemäß einer Ausführungsform.
In der folgenden Beschreibung wird auf die beiliegenden Figuren Bezug genommen, die einen Teil hiervon bilden und in denen als Veranschaulichung spezifische Ausführungsformen gezeigt sind, in denen die Erfindung ausgeführt werden kann. Es versteht sich, dass auch andere Ausführungsformen genutzt und strukturelle oder logische Änderungen vorgenommen werden können, ohne von dem Konzept der vorliegenden Erfindung abzuweichen. Die folgende ausführliche Beschreibung ist deshalb nicht in einem beschränkenden Sinne zu verstehen. Ferner versteht es sich, dass die Merkmale der verschiedenen hierin beschriebenen Ausführungsbeispiele miteinander kombiniert werden können, sofern nicht spezifisch etwas anderes angegeben ist.
Die Aspekte und Ausführungsformen der vorliegenden Erfindung werden unter Bezugnahme auf die Figuren beschrieben, wobei gleiche Bezugszeichen sich im Allgemeinen auf gleiche Elemente beziehen. In der folgenden Beschreibung werden zu Erläuterungszwecken zahlreiche spezifische Details dargelegt, um ein eingehendes
Verständnis von einem oder mehreren Aspekten der vorliegenden Erfindung zu vermitteln.
Figur 1a zeigt ein Flussdiagramm, welches Schritte eines Verfahrens 10 zum automatischen Herstellen eines digitalen Zwillings zumindest eines Abschnitts eines Gebäude-Innenraums unter Verwendung eines Roboters gemäß einer Ausführungsform illustriert. Der Roboter 101 , 101', welcher in dem Gebäude- Innenraum angeordnet ist, weist einen Sensor 105, 105‘ zur Erfassung eines Roboterumfelds in dem Gebäude-Innenraum auf. In dem Roboterumfeld ist zumindest ein Objekt angeordnet, wobei dem Objekt eine Objektart aus einer Menge von vorbestimmten Objektarten, zugeordnet ist. Das Verfahren 10 weist die folgenden Merkmale auf: Erfassen 11 des Roboterumfelds durch den Sensor des Roboters 101 , 101', um erfasste Umfelddaten zu erhalten; Zuordnen 12 einer Objektart zu dem Objekt in dem Roboterumfeld mittels eines neuronalen Netzes auf der Basis der Umfelddaten, wobei das neuronale Netz zur Erkennung von Objektarten eingerichtet ist, wobei das neuronale Netz durch einen Prozessor 103, 103‘, 113 ausgeführt wird; und Verknüpfen 15 der zugeordneten Objektart mit einer Positionsinformation, welche eine Position des Objektes angibt, um den digitalen Zwilling herzustellen.
Figur 1b zeigt eine schematische Ansicht eines Roboters 101 , 101 ‘ gemäß einer Ausführungsform und einer Datenverarbeitungseinrichtung 111 gemäß einer Ausführungsform in einem Kommunikationsnetzwerk 100.
Wie im Folgenden genauer beschrieben, können mehrere Roboter 101 , 101 ‘ ausgebildet sein, über ein Kommunikationsnetzwerk 100 mit einer Datenverarbeitungsvorrichtung 111 zu kommunizieren, um den digitalen Zwilling (nachfolgend auch als Karte bezeichnet) herzustellen.
Die Roboter 101 , 101 ‘ können jeweils entsprechende erste Kommunikationsschnittstellen 109, 109‘ umfassen und die Datenverarbeitungsvorrichtung 111 kann eine zweite Kommunikationsschnittstelle 117 umfassen, um Sensordaten der Sensoren 105, 105‘ des Roboters 101 , 101 ‘ über das Kommunikationsnetzwerk 100 zu senden, beispielsweise drahtlos oder drahtgebunden. Wie nachfolgend noch genauer beschrieben, können die Sensordaten durch entsprechende erste Prozessoren 103, 103' der Roboter 101 , 1011 vorverarbeitet
werden. Zur Speicherung der Sensordaten, der vorverarbeiteten Daten und des digitalen Zwillings können die Roboter 101, 101 ‘ entsprechende erste nichtflüchtige Speicher 107, 107‘ und kann die Datenverarbeitungsvorrichtung 111 einen zweiten nichtflüchtigen Speicher 115 aufweisen. Die Datenverarbeitungsvorrichtung 111 kann zur weiteren Verarbeitung der vorverarbeiteten Daten und/oder der Sensordaten 105, 105‘ einen zweiten Prozessor 113 umfassen. Die nichtflüchtigen Speicher 107, 107‘, 115 können ausgebildet sein, Daten und jeweils ausführbaren Programmcode zu speichern, der, wenn dieser von den entsprechenden Prozessor 103, 103‘, 113 ausgeführt wird, zumindest einen der Prozessoren 103, 103‘, 113 veranlasst, die im Folgenden beschriebenen Funktionen, Operationen und Verfahren durchzuführen.
Die Roboter 101, 101 ‘ können mehr als einen Sensor 105, 105‘ umfassen. Der Sensor 105, 105‘ kann ein 3D Sensor, beispielsweise ein 3D-Lidar Sensor, eine 3D-ToF- Kamera, ein Radarsensor, ein Ultraschallsensor oder eine Stereo-Kamera sein, und Distanzinformationen, insbesondere winkelbezogene Distanzinformation, der Objekte generieren. Ferner können die Sensoren 105, 105‘ einen Sensor zur Attributerfassung umfassen, beispielsweise einen Laser-Scanner, welcher ausgebildet ist, Attributdaten auszugeben. Ferner können die Roboter 101, 101 ‘ eine Internal Measurement Unit (IMU) oder eine Odometriesensorik zur Erfassung einer Bewegung und/oder Lage der Sensoren 105, 105‘ umfassen.
Wie nachfolgend noch genauer beschrieben, können die Implementierungsschritte zur Herstellung des digitalen Zwillings bzw. der Karte auf die ersten Prozessoren 103, 103‘ der Roboter 101, 101 ‘ und auf einen zweiten Prozessor 113 der Datenverarbeitungseinheit 111 verteilt sein.
Figuren 1c-e zeigen schematische Ansichten von Robotern gemäß Ausführungsformen.
Wie in den Figur 1c und 1d gezeigt, kann der Roboter 101 , 101 ‘ ein autonomes Fahrzeug (AMR) sein und kann der Roboter 101 , 101 ‘ eine Vielzahl von Sensoren 105a-c umfassen, welche durch Überlappung der Blickfelder der einzelnen Sensoren 105, 105‘ ein gemeinsames Blickfeld aufspannen können. Wie in der Figur 1c gezeigt, kann der Roboter 101, 101 ‘ 2D-Farbkameras 105a als Sensoren 105, 105‘ umfassen und kann der Roboter 101, 1011 einen 3D Lidar Sensor 105b als weiteren Sensor 105,
105‘ umfassen. Wie in der Figur 1d gezeigt, können die Sensoren 105, 105‘ zur Erzeugung von Tiefenbildern, vorzugsweise TOF-Kameras und/oder Stereo-Kameras, 105c sein, welche jeweils an einer Seite des Roboters 101 , 10T angeordnet sind. In alternativen Ausführungsvarianten (hier nicht gezeigt) kann mindestens ein Sensor, vorzugsweise die Sensoren 105a-c, auch an einem Lasthandhabungsmittel, vorzugsweise einem Mast und/oder einem Gabelträger und/oder einer Gabelzinke, angeordnet sein. Mindestens ein Sensor, vorzugsweise die Sensoren 105a-c, können beispielsweise derart angeordnet sein, dass diese eine Blickrichtung zum Hallenboden aufweisen. Wie in der Figur 1e gezeigt, kann der Roboter 101 , 10T eine Sensoranordnung mit einem 3D Lidar Sensor 105b als Sensor 105, 105‘ und 2D- Farbkameras 105a als weitere Sensoren 105, 105' sein. Die Kommunikationsschnittstelle 109, 109' kann wie in den Figuren 1c-e illustriert, als Funkschnittstelle ausgebildet sein.
In dem Kommunikationsnetzwerk 100 kann zur Herstellung des digitalen Zwillings eine Vielzahl von bestehender Sensorik durch die automatisierten Roboter 101 , 10T genutzt werden, wie beispielsweise feste Sensorik, oder Fahrzeug-Sensorik von mehreren Fahrzeugen, sowie von mehreren Orten.
Anhand der Figuren 2 und 3 wird nachfolgend die Funktionsweise der Roboter 101 , 101 ' und der Datenverarbeitungsvorrichtung 111 näher beschrieben. Figur 2 zeigt eine schematische Ansicht von Implementierungsschritten durch Roboter 101 , 10T gemäß einer Ausführungsform und durch eine Datenverarbeitungseinrichtung 111 gemäß einer Ausführungsform und Figur 3 zeigt eine schematische Ansicht einer Systemarchitektur von Robotern 101 , 10T gemäß einer Ausführungsform, einer Datenverarbeitungseinrichtung 111 gemäß einer Ausführungsform und einer weiteren Datenverarbeitungseinrichtung 310 gemäß einer Ausführungsform. Wie in der Figur 3 dargestellt, können in einer Ausführungsform die durch den zweiten Prozessor 113 implementierten Schritte auf die Datenverarbeitungseinrichtung 111 und die weitere Datenverarbeitungseinrichtung 310 verteilt sein.
In der Figur 2 sind beispielhaft die Verarbeitungsschritte der ersten Prozessoren 103, 103' von zwei in der Figur 1b dargestellten Robotern 101 , 10T dargestellt. Zur automatischen Herstellung des digitalen Zwillings sind allerdings auch mehr als zwei Roboter 101 , 101 ' oder lediglich ein Roboter 101 , 10T möglich. Die Roboter 101 , 10T
können hinsichtlich der Anzahl und/oder Art der Sensoren 105, 105' unterschiedlich ausgestaltet sein.
Die jeweiligen ersten Prozessoren 103, 103' können ausgebildet sein, Informationen über nachfolgend genauer beschriebene Aktualisierungsraten 203 auszulesen. Die Aktualisierungsraten können in den entsprechenden in der Figur 1b dargestellten ersten Speichern 107, 107' vordefiniert gespeichert sein. Ferner können die Aktualisierungsraten 203 von den ersten Prozessoren 103, 103' basierend auf einem Bereich der Karte 211, in welchem sich die jeweiligen Roboter 101, 101’ befinden, und/oder abhängig von Bewegungsdaten, beispielsweise abhängig von Geschwindigkeitsdaten der Bewegungssensoren 213, 213‘, ermittelt und/oder modifiziert werden.
Basierend auf den ausgelesenen Aktualisierungsraten 203 können die ersten Prozessoren 103, 103' ausgebildet sein, sofern der entsprechende Roboter 101, 101' mehr als einen Sensor 105, 105' umfasst, in einem Verarbeitungsschritt eine Datenfusion 201 , 201' der jeweiligen Sensordaten durchzuführen, beispielsweise wie in Figur 3 dargestellt, zu einer Punktewolke (im Englischen auch als „point cloud“ bekannt) durch einen Point Cloud Generator 305. Hierbei können die Sensoren so konfiguriert und basierend auf Informationen zur Sensorkalibrierung 205, 205' so kalibriert sein, dass ein gemeinsames oder zumindest partiell gemeinsames Blickfeld durch die entsprechenden Sensoren 105, 105' des jeweiligen Roboters 101, 101' aufgespannt wird. Sollte einer der Sensoren 105, 105' ein Farbsensor sein, beispielsweise eine 2D-Farbkamera, kann eine eingefärbte Punktewolke durch die entsprechenden ersten Prozessoren 103, 103' generiert werden.
Ferner können die jeweiligen ersten Prozessoren 103, 103' ausgebildet sein, einen Verarbeitungsschritt 207, 207' zur Klassifizierung und Segmentierung der Sensordaten zu implementieren. Hierbei können die Sensordaten hinsichtlich einer Dynamik klassifiziert werden. Hierbei kann zwischen dynamischen Daten, welche sich in einem ersten Zeitintervall ändern können, zwischen semidynamischen Daten, welche sich in einem zweiten Zeitintervall ändern können, und zwischen statischen Daten, welche sich weder in dem ersten noch in dem zweiten Zeitintervall ändern können, unterschieden werden. Dynamischen Daten können beispielsweise Fahrzeuge oder Personen zugeordnet sein, semidynamische Daten können beispielsweise Waren
zugeordnet sein und statischen Daten können beispielsweise Regalen oder Wänden zugeordnet sein. Das zweite Zeitintervall kann dabei größer als das erste Zeitintervall sein.
Durch das Modul 207 können ferner, beispielsweise durch Mustererkennung, Attribute bzw. semantische Informationen in den Sensordaten erkannt werden. Unter Attributen bzw. semantischen Informationen werden hierbei Informationen verstanden, welche Arten eines Objekts, wie Palette, Fahrzeug, Mensch, oder Regal, beispielsweise basierend auf einer geometrischen Form oder Ausdehnung des Objekts, und/oder eine Nummerierung und/oder Beschriftung des Objekts anzeigen können. Ferner können die semantischen Informationen bzw. die Attribute eine Objektausrichtung umfassen. Der jeweilige erste Prozessor 103, 103‘ kann ausgebildet sein, die entsprechenden Aktualisierungsraten 203 der Sensoren basierend auf den Attributen bzw. semantischen Informationen festzulegen und/oder zu modifizieren.
Zur oben beschriebenen Klassifizierung und Segmentierung und/oder zur Erkennung der semantischen Informationen kann der jeweilige erste Prozessor 103, 103‘ ausgebildet sein, ein entsprechendes erstes neuronales Netz 307, 307' zu implementieren, welches zum maschinellen Lernen und/oder zur Computer Vision ausgebildet ist. Wie in der Figur 3 dargestellt, kann das jeweilige neuronale Netz 307, 307‘ Subnetze 301, 301 ‘ umfassen, welche spezifisch einzelnen Sensoren 105, 105‘ des entsprechenden Roboters 101, 101' zugeordnet sein können. Das jeweilige erste neuronale Netz 307, 307‘ und die Subnetze 301, 301 ‘ können mittels Objekte trainiert sein, welche in Warenlagern typisch vorkommenden, beispielsweise sensorspezifisch trainiert sein, und somit ausgebildet sein, Objekte in einem Warenlager zu erkennen. Das Modul 207 kann ausgebildet sein, Sensordaten zu verwerfen, die nicht einer spezifischen Klassifizierung nach Dynamik entsprechen, welche beispielswiese mit den Aktualisierungsraten 203 klassenspezifisch vorgegeben ist. Somit können die Sensordaten durch das Modul 207 reduziert werden.
Wie in der Figur 3 dargestellt, können die Subnetze 301 , 301 ‘ ferner vor der Datenfusion 201 zur Lokalisierung 303 ausgebildet sein, Lokalisierungsinformationen basierend auf den Bewegungsdaten der Bewegungssensoren 213, 213 des jeweiligen Roboters 101 , 1011 zu generieren. Somit kann durch eine Lokalisierung 303 des entsprechenden Roboters 101 , 1011 den entsprechenden Sensordaten 105, 105' eine
Position auf der Karte zugeordnet werden. In einer Ausführungsform kann die Lokalisierung 303 alternativ und/oder zusätzlich auf den Attributen bzw. semantischen Informationen basieren.
Der entsprechende erste Prozessor 103, 103‘ kann ferner ausgebildet sein, einen Verarbeitungsschritt 209 zu implementieren, in welchem der entsprechende erste Prozessor 103, 103‘ ausgebildet ist, eine Abweichung der Sensordaten zu der Karte 211 der Umgebung zu ermitteln, und lediglich diejenigen Bereiche der Karte 211 weiterzuverarbeiten, welche sich gegenüber der Karte 211 verändert haben.
Der entsprechende erste Prozessor 103, 103‘ kann ferner ausgebildet sein, einen weiteren Verarbeitungsschritt 215 zu implementieren. Durch den weiteren Verarbeitungsschritt 215 können jeweils die Informationen zur Klasse und die Attribute bzw. semantischen Informationen aus dem Verarbeitungsschritt 207 sowie Daten von Bewegungssensoren 213, 213‘ zu den Sensordaten hinzugefügt werden. Über die jeweiligen ersten Kommunikationsschnittstellen 109, 109' der entsprechenden Roboter 101 , 101' kann der entsprechende erste Prozessor 103, 103' mittels eines vordefinierten Übertragungsprotokolls, wie beispielsweise MQTT, ausgebildet sein, die derart ergänzten Sensordaten an die Datenverarbeitungseinrichtung 111 zu senden.
Der zweite Prozessor 113 der Datenverarbeitungseinrichtung 111 kann in einem Verarbeitungsschritt 217 zur Sammlung der Einzeldaten ausgebildet sein, über die zweite Kommunikationsschnittstelle 117 mittels des vordefinierten Übertragungsprotokolls der Datenverarbeitungseinrichtung 111 die durch die jeweiligen ersten Prozessoren 103, 103' vorverarbeiteten Sensordaten zu empfangen. In dem zweiten Speicher 115 der Datenverarbeitungseinrichtung 111 können die Daten der Roboter 101, 101‘, welche in Zeitabständen gemäß der aktuellen Aktualisierungsraten 203 durch die zweite Kommunikationsschnittstelle 117 empfangen werden und je nach Art der entsprechenden Sensoren 105, 105' vorzugsweise Bilder und/oder Punktewolken und/oder semantische Informationen und/oder Attribute, insbesondere aus Verarbeitungsschritt 215, sind, einzeln abgespeichert werden. In dem zweiten Speicher 115 der Datenverarbeitungseinrichtung 111 können die Daten in einer Datenablage, beispielsweise in einer Datenbank 309, mit Zeitstempel gesammelt und abgelegt werden. Die gesammelten Daten können regelmäßig anhand einer Metrik, beispielsweise über die Menge an Daten, die bewegte Strecke der Roboter 101, 101'
nach einem durch den zweiten Prozessor 113 ermittelten Zeitintervall abhängig von den Aktualisierungsdaten 203, der Umgebung, einer basierend auf den gesammelten Daten ermittelten Änderungsbewertung der Umgebung und/oder der Kartenbereiche der Karte 211 zur Auswertung an die im Folgenden beschriebenen Module weitergeleitet werden. In einer Ausführungsform kann die gesammelte Weiterleitung auf maximal einmal pro Bewegungsmeter der Roboter 101, 101 ‘ und/oder auf einen Bereich des Zeitintervalls von 30 Sekunden bis 5 Minuten beschränkt sein. Diese Werte können von der Umgebung bzw. Bereichen der Karte 211 abhängen. In Umgebungen bzw. Bereichen der Karte 211 mit relativ vielen Änderung kann entsprechend häufiger ausgewertet werden, als in Umgebungen die sich kaum bis gar nicht ändern.
Der Prozessor 113 der Datenverarbeitungseinrichtung 211 kann ausgebildet sein, ein Online-Kalibrierungsmodul 315 zur Selbstüberwachung der jeweiligen Roboter 101 , 101 ‘ zu implementieren. Durch das Online-Kalibrierungsmodul 315 kann in einem Verarbeitungsschritt 219 eine Online-Kalibrierung der entsprechenden Sensoren 105, 105‘ der jeweiligen Roboter 101 , 101 ‘ erreicht werden. Die Einzeldaten der Sensoren können miteinander anhand der gefahrenen Route in Zusammenhang gebracht werden. Das Online-Kalibrierungsmodul 315 kann hierzu ein geeignetes Verfahren, beispielsweise ein Simultaneous Localization and Mapping (SLAM) Verfahren, für jeden Sensor 105, 105‘ implementieren. Aus den Trajektorien der Sensoren 105, 105‘ und der Information, dass die entsprechenden Sensoren der jeweiligen Roboter 101, 1011 fest aneinandergekoppelt sind, muss deren Bewegung auch identisch sein. Es kann so mittels Kalibrierung, beispielsweise extrinsischer Kalibrierung, rückgeschlossen werden, wie die Sensoren 105, 105‘ zueinander ausgerichtet sind. Hierzu kann der zweite Prozessor 113 entsprechende Differenzberechnungen aus den Einzeldaten der betreffenden Sensoren 105, 105‘ durchführen. Je genauer der Zeitstempel der einzelnen Sensoriken bekannt ist, umso genauer kann auch die Kalibrierung ausfallen. Die Kalibrierung kann über die ersten und zweiten Kommunikationsschnittstellen 109, 109', 117 an den jeweiligen Roboter 101 , 101' als entsprechende weitere Sensorkalibrierung 205, 205' übertragen werden. Die weitere Sensorkalibrierung 205, 205' kann dann mit der vorherigen, beispielsweise initialen, Sensorkalibrierung 205, 205' durch die jeweiligen ersten Prozessoren 103, 103' vergleichen werden. Ist die Abweichung deutlich zu groß, kann der entsprechende Roboter 101, 101' sich auf die weitere Sensorkalibrierung 205, 205' kalibrieren oder
aber ein Vorliegen eines möglichen Fehlerfalls feststellen und durch eine geeignete Systemreaktion beantworten, beispielsweise den Dienst einstellen.
Der zweite Prozessor 113 kann ferner in einem Verarbeitungsschritt 221 ausgebildet sein, Datenreduktionen durchzuführen. Hierbei kann der zweite Prozessor 113 ein Point Cloud Mapping Modul 313 implementieren. Die von dem Point Cloud Mapping Modul 313 weitergeleiteten Einzeldaten von einem der Roboter 101 , 101' können dabei zu einer gesamten Punktewolke-Karte zusammengefasst werden. Hierbei kann somit eine eindeutige Datenmenge entstehen. Die Einzeldaten können dabei Ausschnitte aus dieser gesamten Punktewolke-Karte repräsentieren. Der zweite Prozessor 113 kann ausgebildet sein, eine Änderungsbewertung der gesamten Punktewolke-Karte im Vergleich zur derzeit aktuellen Karte 211 durchzuführen und basierend auf der Änderungsbewertung zu entscheiden, ob die gesamte Punktewolke weiterverarbeitet wird. Zudem können dynamische Objekte, wie beispielsweise Fahrzeuge und Personen aus der Karte ausgetragen werden oder in eine separate Karte übertragen werden. Die fertige Punktewolke-Karte kann zurück in die Datenbank 309 geschrieben und die bis zur Erstellung der Punktewolke-Karte angesammelten Einzeldaten können gelöscht werden. Neue Einzeldaten können dann in folgenden Durchgängen, basierend auf der zeitintervallgesteuerten Weiterleitung der gesammelten Daten, zusammen mit der Punktewolke-Karte zu einer neuen Punktewolke-Karte zusammengefügt werden.
Der zweite Prozessor 113 kann ferner ein Multi-Point-Cloud Matcher Modul 317 implementieren, welches ähnlich wie das Point Cloud Mapping Modul 313 arbeitet. Hier werden fertige Punktewolken aus verschiedenen Robotern 101, 101 ‘ zusammengebracht, wohingegen das Point Cloud Mapping Modul 313 die Daten eines Roboters 101, 101‘ nutzt. In einer Ausführungsform können die Daten mehrerer Robotern 101, 101 ‘ direkt im Point Cloud Mapping Modul 313 zusammengebracht werden.
Zur weiteren Datenreduktion kann der zweite Prozessor 113 ein Point Cloud Reducer Modul 311 implementieren. Die Aufgabe des Point Cloud Reducer Moduls 311 ist es, die Datenmenge einer Punktewolke möglichst optimal zu reduzieren. Hierzu kann eine weitere Überprüfung hinsichtlich der Dynamik der Objekte durchgeführt werden, um beispielsweise dynamische Objekte oder statische Objekte herauszufiltern. Werden
beispielsweise dynamische Objekte, wie Fahrzeuge und/oder Personen entfernt, so kann eine weitere Reduktion der Datenmenge erreicht werden. Eine weitere Möglichkeit der Reduktion bietet die Nutzung von AI Algorithmen unter Nutzung eines Encoder-Decoder Prinzips. Die AI Algorithmen können so trainiert sein, dass Objekte in Gänze detektiert werden. Dabei können im Encoder die Datenmengen essenziell auf Features reduziert werden, die von folgenden neuronalen Netzen, beispielsweise Tiefen Neuronale Netzen (im Englischen auch als „Deep Neural Networks“ bekannt), wirklich benötigt werden, um Objekte wie Fahrzeuge, Paletten usw. zu finden und zu erkennen. Diese Features wären ausreichend zur Erstellung der Karte. Aufgrund eines möglichen Informationsverlustes durch die Features von einer „dense“ (dicht besetzten) zu einer „sparse“ (spärlich besetzten) Karte kann die Feature-Reduzierung auch in umgekehrter Verarbeitungsrichtung angewandt werden und aus den Features können wieder beispielsweise mittels des neuronalen Netzes und eines Decoders die Punktewolke extrahiert werden.
Wie in der Figur 3 dargestellt, kann die Datenverarbeitungseinrichtung 111 mit der weiteren Datenverarbeitungseinrichtung 310 über die zweite Kommunikationsschnittstelle 117 zur Synchronisierung 323 verbunden sein. Hierbei können die datenreduzierten Punktewolken in einer Datenbank 325 der Datenverarbeitungseinrichtung 111 abgelegt werden. Ferner können die von der Datenverarbeitungseinrichtung 111 generierte Karte 211 in einem Kartenspeicher 321 der Datenverarbeitungseinrichtung 111 abgelegt werden und mit einem Kartenspeicher 319 der weiteren Datenverarbeitungseinrichtung 310 synchronisiert werden. Über den Kartenspeicher 319 der weiteren Datenverarbeitungseinrichtung 310 können dabei die Karten wieder dem Point Cloud Reducer Modul 311 zugeführt werden, um wie oben beschrieben, eine Zusammenführung zu einer neuen Punktewolke zu ermöglichen.
In einer Ausführungsform können die Funktionalitäten und Komponenten der weiteren Datenverarbeitungseinrichtung 310 auch in der Datenverarbeitungseinrichtung 111 umfasst sein, wie dies in der Figur 2 illustriert ist. Durch die Aufteilung zwischen Datenverarbeitungseinrichtung 111 und weiterer Datenverarbeitungseinrichtung 310 können die Einzeldaten der Sensoren 105, 105‘ auf der weiteren Datenverarbeitungseinrichtung 310 verbleiben, womit eine Reduktion des Datenverkehrs zwischen der Datenverarbeitungseinrichtung 111 und der weiteren
Datenverarbeitungseinrichtung 310, beispielsweise gerade auch bei einer Vielzahl von weiteren Datenverarbeitungseinrichtungen 310, erreicht werden kann.
Der zweite Prozessor bzw. die Datenverarbeitungseinrichtung 111 kann ferner in einem Verarbeitungsschritt 223 ausgebildet sein, eine Zusammenführung der Attribute bzw. semantischen Informationen zu bewirken. Hierbei können Instanzbezeichnungen, welche aus den Einzeldaten übernommen wurden, bereinigt werden. Beispielsweise kann eine Nummerierung 1 bis 5 von Paletten erster Einzeldaten und eine Nummerierung 1 bis 5 von Paletten zweiter Einzeldaten zu einer Nummerierung 1 bis 10 in den zusammengeführten Daten bereinigt werden. Ferner können Segmentierungsinstanzen zusammengeführt werden. Beispielsweise kann eine linke Regalhälfte in ersten Einzeldaten und eine rechte Regalhälfte in zweiten Einzeldaten in den zusammengeführten Daten als ein gesamtes Regal bezeichnet werden. Ferner können basierend auf einem Differenzmodell zwischen Karte der Karte 211 und der zusammengeführten Punktewolke bereits segmentierte und erkannte Objekte aus der Punktewolke herausgerechnet, und nur die unbekannten Objekte an eine Segmentation Engine 327 weitergegeben werden und somit eine Trennung der Datenmenge in eine segmentierte Datenmenge und eine nicht-segmentierte Datenmenge erreicht werden.
Die Segmentation Engine 327 kann ausgebildet sein, die Punktewolken-Karten zur Segmentierung zu laden. Dabei findet eine Segmentierung nicht nur nach Objekten statt, sondern es können auch die einzelnen Objekte voneinander unterschieden werden. Beispielsweise können bei zehn nebeneinander stehenden Paletten zur Segmentierung allen Objekten zusammengefasst das Label „Palette“ gegeben werden. Hierbei können die einzelnen Paletten jedoch weiterhin unterschieden werden, beispielsweise kann jede Palette das Label „Palette“, aber auch eine Sequenznummer von 1 bis 10 bekommen. Diese Informationen dienen der weiteren Verarbeitung. Die Segmentation Engine 327 kann zur Segmentierung einen Ansatz des maschinellen Lernens nutzen, und ein weiteres neuronales Netz implementieren.
Die Segmentation Engine 327 kann somit in einem Verarbeitungsschritt 225 die nichtsegmentierte Datenmenge, in welcher die Klasse bzw. der Objekttyp noch nicht bekannt ist, nachsegmentieren. Somit kann ein unabhängigen Objekttyp zugewiesen werden, beispielsweise kann der Fußboden überall oder bereichsabhängig in der
Umgebung den gleichen Objekttyp haben oder Ware kann zu einer Punktmenge segmentiert werden. Mittels einer Verbindung zu einer Datenbank 231 können basierend auf der aktuellen Nachsegementierung und/oder einer Nachsegmentierung eines früheren Durchlaufs die Objekte spezifisch gefabelt werden, beispielsweise manuell. Dabei können für die Daten der Nachsegmentierung ein Objekttyp vergeben und ein CAD Modell hinterlegt werden. Ferner kann die Segmentation Engine 327 Tags auf Waren detektieren und basierend darauf Informationen aus einem Warenmanagementsystem (WMS) 227 nachführen oder auch andere Datenquellen, wie beispielsweise das Internet 229 verwenden. Über das Internet 229 kann basierend auf RGB Bilddaten, beispielsweise basierend auf der eingefärbten Punktewolke, eine Suche auf Suchmaschinen, wie beispielsweise Google, und ein entsprechender Abgleich der Informationen durchgeführt werden. Ferner kann die Segmentation Engine 327 ausgebildet sein, über das WMS 227 Positionen von Waren abzufragen, um zu identifizieren, um welche Ware es sich handelt und über die Datenbank 231 vorhandene Karteninformationen, wie beispielsweise einen Gebäudeplan mit dediziertem Koordinatensystem abfragen, um eine Optimierung der Karte 211 auf bestehende Koordinatensysteme zu erreichen. In einer Ausführungsform ist der dem weiteren neuronalen Netz der Segmentation Engine 327 zugeteilte zweite Prozessor 113 leistungsfähiger als die jeweiligen ersten Prozessoren 103, 103‘, womit sich eine feinere Segmentierung und damit eine höhere Klassenanzahl erreichen lässt.
Zum Trainieren des weiteren neuronalen Netzes kann zum einen auf frühere Daten zurückgegriffen werden, die bereits gelabelt sind. Ferner kann die Segmentation Engine 327 einen Data-Labeler umfassen, welcher ausgebildet, ist spezielle Ladungsträger oder Waren, die segmentiert werden sollen, zu labeln, um das weitere neuronale Netz speziell auf diese Daten anzutrainieren. Ferner kann die Segmentation Engine 327 zur Objekterkennung an ein CAD System des Kunden gekoppelt sein, so dass direkt die Daten für Objekte in die Karte übernommen werden können. Ferner können über das WMS 227 weitere Informationen über Waren abgefragt werden, beispielsweise Systeminformationen über die Beschaffenheit. Somit kann beispielsweise der Produkttyp direkt im Internet 229 gesucht werden, um so weitere Trainingsdaten zu erhalten und auf deren Basis auch das weitere neuronale Netz schnell auf neue Objekte anzutrainieren.
Die Segmentation Engine 327 kann ferner in einem Verarbeitungsschritt 233 zur Segmentierung mittels temporaler Informationen ausgebildet sein. Die Position von allen Objekten bzw. Punkten, die keinem Objekt zugeordnet werden konnten, können dabei über den zeitlichen Verlauf getrackt werden. Punkte/Objekte, die sich über einen definierten Zeitraum nicht bewegen, können dann als statisch klassifiziert werden. Somit können auch Punkte entfernt werden, die durch Datenartefakte entstehen. Daten, die durch die Segmentation Engine 327 nicht zusammengefasst werden können, beispielsweise weil Rauschen der Sensoren 105, 105‘ dazu geführt hat, dass vereinzelte Punkte noch vorhanden sind, können dann in einem Verarbeitungsschritt 235 entfernt werden.
Der zweite Prozessor 113 kann ferner ausgebildet sein, einen Verfahrensschritt 237 zum Ersetzen bekannter Segmente durch 3D-Modelle zu implementieren. Wie in der Figur 3 dargestellt, kann die Datenverarbeitungseinrichtung 111 dazu ein Object Replacement Modul 331 umfassen. Hierbei können Objekte eines Warenlagers, beispielsweise Paletten, Regale oder Gitterboxen durch eine 3D Repräsentation ersetzt werden, beispielsweise eine CAD Datei. Damit kann aus der Punktewolke auf die 3D Karte 211 gemappt werden. Die Karte 211 kann im Kartenspeicher 321 der Datenverarbeitungseinrichtung 111 abgelegt und wie beschrieben auch zur weiteren Datenverarbeitungseinrichtung 310 zurückgespiegelt werden. Zudem sind Position und Inhalt von Waren aus dem WMS 227 bekannt, wodurch diese Informationen zu Modellen, beispielsweise CAD Modellen, vereinfacht werden können und ebenfalls in die Karte 211 mit einfließen können.
Der zweite Prozessor 113 kann ferner ausgebildet sein, einen Verarbeitungsschritt 239 zum Ersetzen unbekannter Segmente durch Geometriemodelle zu implementieren. Wie in der Figur 3 dargestellt, kann die Datenverarbeitungseinrichtung 111 dazu ein Pointcloud Meshing Modul 329 umfassen. Hierbei können große Bereiche der Punktwolke als ein Polygonnetz (im Englischen auch als „Mesh“ bezeichnet) zusammengefasst werden, beispielsweise um den Boden durch dieses Polygonnetz zu ersetzen. Dadurch kann eine Reduktion der Punktemenge erzielt werden, da ansonsten sehr viele Punkte benötigen würden, um den ganzen Boden zu beschreiben und darzustellen. Das Polygonnetz selbst kann nur aus wenigen Vertices gebildet sein, beispielsweise wie aus Gaming-Engines bekannt ist. Ferner können so andere große Flächen, beispielsweise Wände, Decken, aber auch Paletten, Regale, Ware, sofern
noch nicht durch das Object Replacement Modul 331 ersetzt, auf der Karte 211 dargestellt werden.
Über eine Map API 333 kann die Karte 211 wieder auf den Roboter 101, 101' verteilt werden, und/oder kann die Karte 211 in einer Simulation über einen Kartenleser 335 genutzt werden. Ferner kann über eine entsprechende Schnittstelle die Karte 211 an anderen Programmen zur Verfügung gestellt werden, wie beispielsweise CAD Programmen oder Warenmanagementsystemen 227. In einer Ausführungsform kann die Map API 333 ebenfalls in der weiteren Datenverarbeitungseinrichtung 310 integriert sein, um die Roboter 101, 101 ‘ mit dem Kartenupdate der Karte 211 zu versorgen. Die Map API 333 kann über Schnittstellen und/oder standardisierte Protokolle, wie VDA5050, zur Verteilung der Karte 211 verfügen. Die Roboter 101, 101' können ausgebildet sein, sich mittels der Karte 211 zu lokalisieren, beispielsweise via SLAM.
Visualisierungs-Schnittstellen 337, 341 der Datenverarbeitungseinrichtung 111 , 310 können dazu dienen, die generierte Karte 211, also den 3D Zwilling des Warenhauses, über eine definierte Schnittstelle 339 zur Ansicht zu bringen und dem Nutzer es so ermöglichen, sich in seinem Warenlager virtuell bewegen zu können. Die Anbindung des Nutzers an die definierte Schnittstelle 339 kann durch eine Internetverbindung und nutzerspezifische Zugangsdaten erfolgen. Die Ansicht kann auf einem Device, beispielsweise über Tablet, Handy, PC, oder mittels virtueller Realität (VR) und erweiterte Realität (im Englischen auch als Augmented Reality, AR, bezeichnet), beispielsweise in Form eines AR/VR Device, erfolgen. Der Vorteil bei einem AR Device ist, dass dieses direkt im Warenlager getragen werden kann und somit die Karte 211 und die reale Umgebung übereinandergelegt werden können. Ferner kann durch die Karte 211 eine Live-Inventur des Warenlagers oder eine manuelle Inventur erfolgen, vorzugsweise über AR-Devices unterstützt werden.
Zur Darstellung von dynamischen Objekten auf der Karte 211 können die oben zu den Figuren 2 und 3 beschriebenen Verfahrensschritte auf einer Filterung von statischen und semi-dynamischen Objekten basieren. Die dynamischen Objekte können dann in die updatefähige Karte 211 ein bzw. ausgeblendet werden
Somit wird keine spezielle Hardware mehr benötigt, die den Produktivbetrieb unterbricht, um ein digitales Abbild der Umgebung zu generieren. Der gesamte
Arbeitsprozess kann automatisiert werden und es bedarf keines Eingriffes oder keiner Bearbeitung der Daten von Menschen. Das System kann somit in sich gekapselt sein und es können mehrere Funktionen gleichzeitig umgesetzt werden, wie die Live- Kartierung der Umgebung und damit verbundener digitaler Dienste, beispielsweise der Live-Inventur, Lokalisierung und Simulation der realen Umgebung. So können Kosten gesenkt und gleichzeitig Bearbeitungszeiten reduziert werden und zudem Daten gesammelt werden, die für eine voranschreitende Digitalisierung mittels künstlicher Intelligenz zwingend notwendig sind.