EP4487303A1 - Automatische herstellung eines digitalen zwillings - Google Patents

Automatische herstellung eines digitalen zwillings

Info

Publication number
EP4487303A1
EP4487303A1 EP23704760.0A EP23704760A EP4487303A1 EP 4487303 A1 EP4487303 A1 EP 4487303A1 EP 23704760 A EP23704760 A EP 23704760A EP 4487303 A1 EP4487303 A1 EP 4487303A1
Authority
EP
European Patent Office
Prior art keywords
robot
data
environment
processor
object type
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
EP23704760.0A
Other languages
English (en)
French (fr)
Inventor
Patrick Erbts
Ralf König
Bengt Abel
Yan RUDALL
Dennis SCHÜTHE
Mohamed Bakr
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.)
STILL GmbH
Original Assignee
STILL GmbH
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 STILL GmbH filed Critical STILL GmbH
Publication of EP4487303A1 publication Critical patent/EP4487303A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/35Categorising the entire scene, e.g. birthday party or wedding scene
    • G06V20/36Indoor scenes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Definitions

  • the invention relates to a method for automatically producing a digital twin of at least one section of a building interior using a robot, a robot, and a data processing device for automatically producing a digital twin of at least one section of a building interior using a robot.
  • mapping which means that existing sensors cannot be used.
  • this can be due to a lack of options for merging different data sources or a lack of localization of the individual sensors, and on the other hand to a lack of distribution of the manufacturing processes of the map, for example due to large amounts of data and limited data transmission options.
  • the use of 3D maps is also limited with conventional methods, since no semantic information and its localization can be contained in the 3D maps.
  • the object of the present invention is to provide efficient generation of a digital twin of a robot environment of a robot. This object is solved by the features of the independent claims.
  • the object of the invention is achieved by a method for automatically producing a digital twin of at least a section of a building interior using at least one robot, which is arranged in the building interior, the at least one robot having at least one sensor for detection a robot environment in the interior of the building, wherein at least one object is arranged in the robot environment, with at least one object type from a set of predetermined object types being assigned to the object, the method having the following features: detecting the robot environment by the at least one sensor of the robot to obtain captured environmental data; Assigning the at least one object type to the object in the robot environment using a neural network on the basis of the environment data, the neural network being set up to recognize object types, the neural network being executed by a processor; and associating the associated object type with position information indicating a position of the object to create the digital twin.
  • the interior of the building can in particular be a warehouse, an assembly hall, an industrial area within a building or a sales area or a room used for industrial purposes.
  • a room used for industrial purposes can be understood in particular as a room with an inner surface which can in particular have the properties of a warehouse, an assembly hall and/or an industrial area within a building or a sales area.
  • At least one robot can preferably be understood to mean a single robot, two robots or a plurality of robots.
  • At least one sensor can be understood to mean a single sensor, two sensors or a plurality of sensors or a sensor array.
  • at least one object type can be understood to mean a single object type, two object types or a plurality of object types.
  • the robot can be an industrial robot which is designed to take on additional tasks of an industrial robot, such as autonomous goods or parts transport, load handling and/or forklift truck functions.
  • the robot can be a stationary robot, so the sensor captures the same environment to detect any changes.
  • the robot is movable in translation and/or rotation.
  • the robot is a device for generating or generating data, for example an autonomous vehicle, in particular an industrial truck, or a part of a vehicle, in particular an industrial truck, or a sensor arrangement which is attached, for example, to vehicles, conveyor belts or frames, or by people can be worn.
  • an autonomous vehicle in particular an industrial truck
  • a part of a vehicle in particular an industrial truck
  • a sensor arrangement which is attached, for example, to vehicles, conveyor belts or frames, or by people can be worn.
  • the processor is implemented in the robot, with the at least one associated object type being sent to a data processing device via a communication network, and with the data processing device linking the at least one associated object type with the position information.
  • the robot sends the recorded environment data to a data processing device via a communication network, the processor being implemented in the data processing device, and the data processing device linking the at least one assigned object type to the position information.
  • the data processing device is a server, for example a cloud server.
  • an output of the neural network is a digital feature set that represents the associated object type.
  • the position information is information about a position of the robot obtained from a global localizing system, or the position information is a position of the object, or the processor derives the position information from the recorded environmental data.
  • Position information can be understood in particular as information with regard to the x-axis, the y-axis and the z-axis or a spatial axis or a plurality of spatial axes of a coordinate system. Particularly preferably, this can be understood as pose information which, in addition to the information regarding the x-axis, the y-axis and the z-axis, preferably includes information about a spatial angular position, in particular information about a rotation about the x-axis y-axis and/or the z-axis.
  • the position information can be a GPS position of a robot.
  • the object has an attribute that is detected by the sensor in the environment data, or the robot has another sensor for attribute detection, in particular a laser scanner, which outputs attribute data, the processor being designed to process the attribute to be detected in the environment data or the attribute data.
  • the attribute is a geometric characteristic of the object, in particular a geometric shape or a geometric extent, or an object label, or an object orientation.
  • the processor is designed to recognize the attribute on the basis of pattern recognition or on the basis of the neural network or on the basis of another neural network that is set up to recognize attributes.
  • the attribute is linked to the associated object type with position information.
  • the associated object type is linked to the position information by associating the position information with the object type or by entering the position information in a digital map.
  • At least one additional object is arranged in the robot environment, with at least one additional object type of the at least one additional object being detected by executing the neural network on the processor, and with the localization information or additional localization information being linked to the at least one additional object type .
  • the object type can preferably be an object type that is customary in the application, preferably a pallet, a robot, a wall, an aisle, a shelf, a door, or an information sign.
  • the object type is a pallet, robot, wall, aisle, shelf, door, or information sign.
  • the object of the invention is achieved by a robot, which is arranged in a building interior, with: at least one sensor for detecting a robot environment in the building interior, with at least one object being arranged in the robot environment, the object at least one object type from a set of predetermined object types is assigned; a processor which is designed to assign at least one object type to the object in the robot environment using a neural network on the basis of the environment data, the neural network being set up to recognize object types; and wherein the processor is further configured to link the at least one associated object type to position information indicating a position of the object in order to produce the digital twin.
  • the object has an attribute that is detected by the sensor in the environment data, or the robot has a further sensor for attribute detection, in particular a laser scanner, which attribute data outputs, the processor being designed to detect the attribute in the environmental data or the attribute data.
  • the object of the invention is achieved by a data processing device for automatically producing a digital twin of at least one section of a building interior using at least one robot, which is arranged in the building interior, the robot having at least one sensor for detecting a robot environment in the interior of the building, at least one object being arranged in the robot environment, at least one object type from a set of predetermined object types being assigned to the object, the data processing device having the following features: a communication interface for receiving environment data from the at least one robot via a communication network, wherein the captured environment data represents the captured robot environment; a processor which is designed to assign at least one object type to the object in the robot environment by executing a neural network on the basis of the environment data, wherein the neural network is set up to recognize object types, and the processor is also designed to associated object type with position information indicating a position of the object to link to produce the digital twin.
  • the object according to the invention is achieved by a computer program for executing the method according to the first aspect when the computer program is executed using a processor.
  • 1a is a flow chart illustrating steps of a method for automatically creating a digital twin of at least a portion of a building interior using a robot according to an embodiment
  • FIG. 1b shows a schematic view of a robot according to an embodiment and a data processing device according to an embodiment in a communication network;
  • FIG. 2 shows a schematic view of implementation steps by robots according to an embodiment and by a data processing device according to an embodiment
  • FIG. 3 shows a schematic view of a system architecture of robots according to an embodiment, a data processing device according to an embodiment and a further data processing device according to an embodiment.
  • FIG. 1a shows a flowchart which illustrates steps of a method 10 for automatically producing a digital twin of at least a section of a building interior using a robot according to one embodiment.
  • the robot 101, 101' which is arranged in the interior of the building, has a sensor 105, 105' for detecting a robot environment in the interior of the building.
  • At least one object is arranged in the robot environment, with an object type from a set of predetermined object types being assigned to the object.
  • the method 10 has the following features: detection 11 of the robot's surroundings by the sensor of the robot 101, 101' in order to obtain detected surroundings data; Assigning 12 an object type to the object in the robot environment by means of a neural network on the basis of the environment data, the neural network being set up to recognize object types, the neural network being executed by a processor 103, 103', 113; and linking 15 the associated object type with position information which indicates a position of the object in order to produce the digital twin.
  • Figure 1b shows a schematic view of a robot 101, 101' according to an embodiment and a data processing device 111 according to an embodiment in a communication network 100.
  • a plurality of robots 101, 101' can be designed to communicate with a data processing device 111 via a communication network 100 in order to produce the digital twin (also referred to below as a map).
  • the robots 101, 101' can each comprise corresponding first communication interfaces 109, 109' and the data processing device 111 can comprise a second communication interface 117 in order to send sensor data from the sensors 105, 105' of the robot 101, 101' via the communication network 100, for example wirelessly or wired.
  • the sensor data can be preprocessed by corresponding first processors 103, 103' of the robots 101, 101 ' become.
  • the robots 101, 101' can have corresponding first non-volatile memories 107, 107' and the data processing device 111 can have a second non-volatile memory 115.
  • the data processing device 111 can include a second processor 113 for further processing of the pre-processed data and/or the sensor data 105, 105'.
  • the non-volatile memories 107, 107', 115 can be designed to store data and respectively executable program code which, when executed by the corresponding processor 103, 103', 113, causes at least one of the processors 103, 103', 113 to perform the functions, operations, and procedures described below.
  • the robots 101, 101' can include more than one sensor 105, 105'.
  • the sensor 105, 105' can be a 3D sensor, for example a 3D lidar sensor, a 3D ToF camera, a radar sensor, an ultrasonic sensor or a stereo camera, and generate distance information, in particular angle-related distance information, of the objects.
  • the sensors 105, 105' can include a sensor for attribute detection, for example a laser scanner, which is designed to output attribute data.
  • the robots 101, 101' can include an internal measurement unit (IMU) or an odometry sensor system for detecting a movement and/or position of the sensors 105, 105'.
  • IMU internal measurement unit
  • odometry sensor system for detecting a movement and/or position of the sensors 105, 105'.
  • the implementation steps for producing the digital twin or the map can be distributed to the first processors 103, 103' of the robots 101, 101' and to a second processor 113 of the data processing unit 111.
  • Figures 1c-e show schematic views of robots according to embodiments.
  • the robot 101, 101' can be an autonomous vehicle (AMR) and the robot 101, 101' can comprise a large number of sensors 105a-c, which can be detected by overlapping the fields of view of the individual sensors 105, 105' can open up a common field of vision.
  • the robot 101, 101' can include 2D color cameras 105a as sensors 105, 105' and the robot 101, 101 ' can have a 3D lidar sensor 105b as an additional sensor 105, 105'.
  • AMR autonomous vehicle
  • the sensors 105, 105' for generating depth images can be 105c, which are each arranged on one side of the robot 101, 10T.
  • at least one sensor preferably the sensors 105a-c, can also be arranged on a load-handling means, preferably a mast and/or a fork carrier and/or a fork tine.
  • At least one sensor, preferably sensors 105a-c, can be arranged, for example, in such a way that they have a line of sight towards the hall floor. As shown in FIG.
  • the robot 101, 10T can be a sensor arrangement with a 3D lidar sensor 105b as sensor 105, 105' and 2D color cameras 105a as additional sensors 105, 105'.
  • the communication interface 109, 109' can be designed as a radio interface, as illustrated in FIGS. 1c-e.
  • a large number of existing sensors can be used by the automated robots 101, 10T to produce the digital twin, such as fixed sensors or vehicle sensors from a number of vehicles and from a number of locations.
  • FIGS. Figure 2 shows a schematic view of implementation steps by robots 101, 10T according to an embodiment and by a data processing device 111 according to an embodiment
  • Figure 3 shows a schematic view of a system architecture of robots 101, 10T according to an embodiment, a data processing device 111 according to an embodiment and a further data processing device 310 according to an embodiment.
  • the steps implemented by the second processor 113 can be distributed to the data processing device 111 and the further data processing device 310 in one embodiment.
  • FIG. 2 shows the processing steps of the first processors 103, 103′ of two robots 101, 10T shown in FIG. 1b.
  • more than two robots 101, 101' or only one robot 101, 10T are also possible for the automatic production of the digital twin.
  • the robots 101, 10T can be designed differently with regard to the number and/or type of sensors 105, 105'.
  • the respective first processors 103, 103' can be designed to read out information about update rates 203, which are described in more detail below.
  • the update rates can be stored in a predefined manner in the corresponding first memories 107, 107' shown in FIG. 1b.
  • the update rates 203 can be determined by the first processors 103, 103' based on an area of the map 211 in which the respective robots 101, 101' are located and/or depending on movement data, for example depending on speed data from the movement sensors 213, 213'. , determined and/or modified.
  • the first processors 103, 103' can be designed, if the corresponding robot 101, 101' comprises more than one sensor 105, 105', to carry out a data fusion 201, 201' of the respective sensor data in one processing step, for example as shown in Figure 3, to a point cloud (also known as "point cloud" in English) by a point cloud generator 305.
  • the sensors can be configured and based on information on sensor calibration 205, 205 'calibrated so that a common or at least a partial common field of vision is spanned by the corresponding sensors 105, 105' of the respective robot 101, 101'. If one of the sensors 105, 105' is a color sensor, for example a 2D color camera, a colored point cloud can be generated by the corresponding first processors 103, 103'.
  • the respective first processors 103, 103' can be designed to implement a processing step 207, 207' for classifying and segmenting the sensor data.
  • the sensor data can be classified with regard to a dynamic.
  • Dynamic data can be assigned to vehicles or people, for example, and goods, for example, can be assigned to semi-dynamic data associated and static data may be associated with shelves or walls, for example.
  • the second time interval can be longer than the first time interval.
  • the module 207 can also be used, for example by pattern recognition, to recognize attributes or semantic information in the sensor data. Attributes or semantic information is understood here to mean information which types of an object, such as a pallet, vehicle, person or shelf, for example based on a geometric shape or extent of the object, and/or a numbering and/or labeling of the object can display . Furthermore, the semantic information or the attributes can include an object orientation.
  • the respective first processor 103, 103' can be designed to define and/or modify the corresponding update rates 203 of the sensors based on the attributes or semantic information.
  • the respective first processor 103, 103' can be designed to implement a corresponding first neural network 307, 307', which is designed for machine learning and/or computer vision .
  • the respective neural network 307, 307' can include subnets 301, 301', which can be assigned specifically to individual sensors 105, 105' of the corresponding robot 101, 101'.
  • the respective first neural network 307, 307' and the sub-networks 301, 301' can be trained using objects that typically occur in warehouses, for example sensor-specifically, and thus be designed to recognize objects in a warehouse.
  • the module 207 can be designed to discard sensor data that does not correspond to a specific classification according to dynamics, which is predetermined class-specifically with the update rates 203, for example. The sensor data can thus be reduced by the module 207 .
  • the subnets 301, 301' can also be designed prior to the data fusion 201 for the localization 303 to generate localization information based on the movement data of the movement sensors 213, 213 of the respective robot 101, 1011 .
  • the localization 303 can alternatively and/or additionally be based on the attributes or semantic information.
  • the corresponding first processor 103, 103' can also be designed to implement a processing step 209, in which the corresponding first processor 103, 103' is designed to determine a deviation of the sensor data from the map 211 of the environment, and only those areas of the Card 211 further processing, which have changed compared to the card 211.
  • the corresponding first processor 103, 103' can also be designed to implement a further processing step 215.
  • the information on the class and the attributes or semantic information from processing step 207 and data from motion sensors 213, 213' can be added to the sensor data.
  • the corresponding first processor 103, 103' can be configured to send the sensor data supplemented in this way to the data processing device 111 using a predefined transmission protocol such as MQTT.
  • the second processor 113 of the data processing device 111 can be designed to receive the sensor data preprocessed by the respective first processors 103, 103′ via the second communication interface 117 using the predefined transmission protocol of the data processing device 111.
  • the data of the robots 101, 101' which are received at time intervals according to the current update rates 203 through the second communication interface 117, and depending on the type of the corresponding sensors 105, 105', preferably images and/or point clouds and/or semantic information and/or attributes, in particular from processing step 215, are stored individually.
  • the data can be collected and stored in a data store, for example in a database 309, with a time stamp.
  • the data collected can be regularly analyzed using a metric, for example on the amount of data, the distance moved by the robots 101, 101' after a time interval determined by the second processor 113 depending on the update data 203, the environment, a change assessment of the environment determined based on the collected data and/or the map areas of the map 211 for evaluation to the modules described below.
  • the collected forwarding can be limited to a maximum of once per meter of movement of the robots 101, 101' and/or to a range of the time interval from 30 seconds to 5 minutes. These values can depend on the environment or areas of the map 211 . In surroundings or areas of the map 211 with a relatively large number of changes, evaluation can be carried out more frequently than in surroundings that hardly change or do not change at all.
  • the processor 113 of the data processing device 211 can be designed to implement an online calibration module 315 for self-monitoring of the respective robots 101, 101'.
  • Online calibration of the corresponding sensors 105, 105′ of the respective robots 101, 101′ can be achieved in a processing step 219 by the online calibration module 315 .
  • the individual data from the sensors can be linked to one another based on the route taken.
  • the online calibration module 315 can implement a suitable method, for example a simultaneous localization and mapping (SLAM) method, for each sensor 105, 105′. From the trajectories of the sensors 105, 105' and the information that the corresponding sensors of the respective robots 101, 101 ' are firmly coupled to one another, their movement must also be identical.
  • SLAM simultaneous localization and mapping
  • the second processor 113 can carry out corresponding difference calculations from the individual data of the relevant sensors 105, 105'.
  • the calibration can be transmitted via the first and second communication interfaces 109, 109', 117 to the respective robot 101, 101' as a corresponding further sensor calibration 205, 205'.
  • the further sensor calibration 205, 205' can then be compared with the previous, for example initial, sensor calibration 205, 205' by the respective first processors 103, 103'. If the deviation is clearly too large, the corresponding robot 101, 101' can be calibrated to the further sensor calibration 205, 205' or but determine the existence of a possible error and respond with a suitable system reaction, for example stop the service.
  • the second processor 113 can also be designed in a processing step 221 to carry out data reductions.
  • the second processor 113 can implement a point cloud mapping module 313 .
  • the individual data from one of the robots 101, 101′ forwarded by the point cloud mapping module 313 can be combined to form an entire point cloud map. This can result in a unique amount of data.
  • the individual data can represent excerpts from this entire point cloud map.
  • the second processor 113 can be designed to carry out a change assessment of the entire point cloud map in comparison to the currently current map 211 and to decide based on the change assessment whether the entire point cloud is processed further.
  • dynamic objects such as vehicles and people can be removed from the map or transferred to a separate map.
  • the completed point cloud map can be written back to the database 309 and the items of data accumulated up to the creation of the point cloud map can be deleted. New individual data can then be merged together with the point cloud map into a new point cloud map in subsequent passes, based on the time-interval-controlled forwarding of the collected data.
  • the second processor 113 can also implement a multi-point cloud matcher module 317 that operates similarly to the point cloud mapping module 313 .
  • finished point clouds from different robots 101, 101' are brought together, whereas the point cloud mapping module 313 uses the data from one robot 101, 101'.
  • the data from multiple robots 101, 101' can be brought together directly in the point cloud mapping module 313.
  • the second processor 113 can implement a point cloud reducer module 311 for further data reduction.
  • the task of the point cloud reducer module 311 is to reduce the amount of data in a point cloud as optimally as possible.
  • a further check with regard to the dynamics of the objects can be carried out in order to filter out dynamic objects or static objects, for example.
  • Another possibility for reduction is the use of AI algorithms using an encoder-decoder principle. The AI algorithms can be trained in such a way that objects are detected in their entirety.
  • the amount of data in the encoder can be essentially reduced to features that are really needed by the following neural networks, for example deep neural networks (also known as “deep neural networks”), in order to find objects such as vehicles, pallets, etc. and to recognize. These features would be sufficient to create the map. Due to a possible loss of information due to the features from a "dense” (densely populated) to a “sparse” (sparsely populated) map, the feature reduction can also be applied in the reverse processing direction and the features can again be derived, for example, using the neural network and a Decoders the point cloud are extracted.
  • deep neural networks also known as "deep neural networks”
  • the feature reduction can also be applied in the reverse processing direction and the features can again be derived, for example, using the neural network and a Decoders the point cloud are extracted.
  • the data processing device 111 can be connected to the further data processing device 310 via the second communication interface 117 for synchronization 323 .
  • the data-reduced point clouds can be stored in a database 325 of the data processing device 111 .
  • the map 211 generated by the data processing device 111 can be stored in a map memory 321 of the data processing device 111 and synchronized with a map memory 319 of the further data processing device 310 .
  • the maps can be fed back to the point cloud reducer module 311 via the map memory 319 of the further data processing device 310 in order to enable a combination to form a new point cloud, as described above.
  • the functionalities and components of the additional data processing device 310 can also be included in the data processing device 111, as illustrated in FIG. Due to the division between the data processing device 111 and the further data processing device 310, the individual data from the sensors 105, 105' can remain on the further data processing device 310, thus reducing the data traffic between the data processing device 111 and the further Data processing device 310, for example, especially in the case of a large number of other data processing devices 310, can be achieved.
  • the second processor or the data processing device 111 can also be designed in a processing step 223 to bring about a merging of the attributes or semantic information. Instance designations, which were taken over from the individual data, can be cleaned up here. For example, a numbering 1 to 5 of palettes of first individual data and a numbering 1 to 5 of palettes of second individual data can be adjusted to a numbering 1 to 10 in the merged data. Furthermore, segmentation instances can be merged. For example, a left half of a shelf in first items and a right half of a shelf in second items may be referred to as an entire shelf in the merged data.
  • a segmentation engine 327 based on a difference model between the map of the map 211 and the merged point cloud, objects that have already been segmented and recognized can be calculated from the point cloud and only the unknown objects can be passed on to a segmentation engine 327, thus separating the data volume into a segmented data volume and a non-segmented data volume -segmented amount of data can be achieved.
  • the segmentation engine 327 can be configured to load the point cloud maps for segmentation.
  • a segmentation not only takes place according to objects, but the individual objects can also be distinguished from one another. For example, if there are ten pallets next to each other, all objects can be given the label "Palette” for segmentation. However, the individual palettes can still be differentiated here, for example each palette can be given the label "Palette” but also a sequence number from 1 to 10. This information is used for further processing.
  • the segmentation engine 327 can use a machine learning approach for segmentation and implement another neural network.
  • the segmentation engine 327 can therefore post-segment the non-segmented data volume in which the class or the object type is not yet known.
  • an independent object type can be assigned, for example, the floor can be anywhere or area-dependent in the Surroundings have the same object type or goods can be segmented into a set of points.
  • the objects can be specifically created, for example manually, based on the current post-segmentation and/or a post-segmentation of an earlier run.
  • An object type can be assigned for the post-segmentation data and a CAD model can be stored.
  • the segmentation engine 327 can detect tags on goods and, based on this, track information from a goods management system (WMS) 227 or also use other data sources, such as the Internet 229 .
  • WMS goods management system
  • the segmentation engine 327 can be designed to query positions of goods via the WMS 227 in order to identify which goods are involved and to query existing map information, such as a building plan with a dedicated coordinate system, via the database 231 in order to optimize the map 211 to reach existing coordinate systems.
  • the second processor 113 assigned to the further neural network of the segmentation engine 327 is more powerful than the respective first processors 103, 103', which means that finer segmentation and thus a higher number of classes can be achieved.
  • the segmentation engine 327 can include a data labeler, which is designed to label special load carriers or goods that are to be segmented, in order to train the further neural network specifically for this data. Furthermore, the segmentation engine 327 can be linked to a CAD system of the customer for object recognition, so that the data for objects can be transferred directly to the map. Further information about goods can also be queried via the WMS 227, for example system information about the condition. Thus, for example, the product type can be searched for directly on the Internet 229 in order to obtain further training data and, on the basis of this, to quickly train the further neural network for new objects.
  • the segmentation engine 327 can also be designed in a processing step 233 for segmentation using temporal information.
  • the position of all objects or points that could not be assigned to any object can be tracked over time. Points/objects that do not move over a defined period of time can then be classified as static. This means that points caused by data artifacts can also be removed.
  • Data that cannot be summarized by the segmentation engine 327, for example because noise from the sensors 105, 105' has resulted in isolated points still being present, can then be removed in a processing step 235.
  • the second processor 113 can also be configured to implement a method step 237 for replacing known segments with 3D models.
  • the data processing device 111 can include an object replacement module 331 for this purpose.
  • Objects in a warehouse such as pallets, shelves or lattice boxes, can be replaced with a 3D representation, such as a CAD file.
  • This allows mapping to the 3D map 211 from the point cloud.
  • the map 211 can be stored in the map memory 321 of the data processing device 111 and, as described, can also be mirrored back to the further data processing device 310.
  • the position and content of goods are known from the WMS 227, which means that this information can be simplified into models, for example CAD models, and can also be included in the card 211.
  • the second processor 113 may further be configured to implement a processing step 239 for replacing unknown segments with geometry models.
  • the data processing device 111 can include a point cloud meshing module 329 for this purpose.
  • large areas of the point cloud can be combined as a polygon mesh (also referred to as "mesh"), for example to replace the ground with this polygon mesh.
  • the polygon mesh itself can only be formed from a few vertices, for example as is known from gaming engines.
  • other large areas, such as walls, ceilings, but also pallets, shelves, goods, provided that not yet replaced by the object replacement module 331, are shown on the map 211.
  • the map 211 can be distributed again to the robot 101, 101' via a map API 333, and/or the map 211 can be used in a simulation via a card reader 335. Furthermore, the map 211 can be made available to other programs via a corresponding interface, such as CAD programs or goods management systems 227. In one embodiment, the map API 333 can also be integrated in the further data processing device 310 in order to use the robots 101, 101 'with to supply the map update of the map 211. Map API 333 may have interfaces and/or standardized protocols such as VDA5050 for map 211 distribution. The robots 101, 101' can be designed to locate themselves using the map 211, for example via SLAM.
  • Visualization interfaces 337, 341 of the data processing device 111, 310 can be used to view the generated map 211, i.e. the 3D twin of the department store, via a defined interface 339 and thus enable the user to move virtually in his warehouse can.
  • the user can be connected to the defined interface 339 via an Internet connection and user-specific access data.
  • the view can take place on a device, for example via a tablet, mobile phone, PC, or by means of virtual reality (VR) and augmented reality (AR), for example in the form of an AR/VR device.
  • VR virtual reality
  • AR augmented reality
  • the advantage of an AR device is that it can be worn directly in the warehouse and the map 211 and the real environment can thus be superimposed.
  • the card 211 can be used to carry out a live inventory of the warehouse or a manual inventory, preferably supported by AR devices.
  • the method steps described above for FIGS. 2 and 3 can be based on filtering static and semi-dynamic objects.
  • the dynamic objects can then be shown or hidden in the updateable map 211
  • the whole Work process can be automated and does not require human intervention or processing of data.
  • the system can thus be encapsulated and several functions can be implemented simultaneously, such as live mapping of the environment and associated digital services, such as live inventory, localization and simulation of the real environment. In this way, costs can be reduced and processing times can be reduced at the same time, and data can also be collected that are absolutely necessary for advancing digitization using artificial intelligence.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

Die vorliegende Erfindung betrifft ein Verfahren (10) 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, zugeordnet ist, wobei das Verfahren (10) die folgenden Merkmale aufweist: Erfassen (11) des Roboterumfelds durch den mindestens einen Sensor des Roboters, um erfasste Umfelddaten zu erhalten; Zuordnen (13) 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 (15) der mindestens einen zugeordneten Objektart mit einer Positionsinformation, welche eine Position des Objektes angibt, um den digitalen Zwilling zu herzustellen.

Description

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.

Claims

Patentansprüche Verfahren (10) zum automatischen Herstellen eines digitalen Zwillings zumindest eines Abschnitts eines Gebäude-Innenraums unter Verwendung mindestens eines Roboters (101, 101'), welcher in dem Gebäude-Innenraum angeordnet ist, wobei der mindestens eine Roboter (101, 101’) mindestens einen Sensor (105, 105’) 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 (10) die folgenden Merkmale aufweist:
Erfassen (11) des Roboterumfelds durch den mindestens einen Sensor (105, 105’) des mindestens einen Roboters (101, 101'), um erfasste Umfelddaten zu erhalten;
Zuordnen (13) 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 (103, 103‘, 113) ausgeführt wird; und
Verknüpfen (15) der mindestens einen zugeordneten Objektart mit einer Positionsinformation, welche eine Position des Objektes angibt, um den digitalen Zwilling zu herzustellen. Verfahren (10) nach Anspruch 1, wobei der Prozessor (103, 103‘) in dem Roboter (101, 101’) implementiert ist und wobei die mindestens eine zugeordnete Objektart an eine Datenverarbeitungseinrichtung (111) über ein Kommunikationsnetzwerk (100) ausgesendet wird, und wobei die Datenverarbeitungseinrichtung (111) die mindestens eine zugeordnete Objektart mit der Positionsinformation verknüpft. Verfahren (10) nach Anspruch 1, wobei der Roboter (101 , 101’) die erfassten Umfelddaten über ein Kommunikationsnetzwerk (100) an eine Datenverarbeitungseinrichtung (111) aussendet, wobei der Prozessor (113) in der Datenverarbeitungseinrichtung (111 ) implementiert ist, und wobei die Datenverarbeitungseinrichtung (111 ) die mindestens eine zugeordnete Objektart mit der Positionsinformation verknüpft. Verfahren (10) nach einem der vorstehenden Ansprüche, wobei eine Ausgabe des neuronalen Netzes ein digitaler Merkmalssatz ist, das die mindestens eine zugeordnete Objektart darstellt. Verfahren (10) nach einem der vorstehenden Ansprüche, wobei die Positionsinformation eine aus einem global-lokalisierenden System gewonnene Information über eine Position des Roboters (101 , 101') ist oder wobei die Positionsinformation eine Position des Objektes ist oder wobei der Prozessor (103, 103‘, 113) die Positionsinformation aus den erfassten Umgebungsdaten ableitet. Verfahren (10) nach einem der vorstehenden Ansprüche, wobei das Objekt ein Attribut aufweist, das durch den Sensor (105, 105’) in den Umfelddaten erfasst ist, oder wobei der Roboter (101 , 101 ’) einen weiteren Sensor (105, 105’) zur Attributerfassung, insbesondere einen Laser-Scanner, aufweist, welcher Attributdaten ausgibt, wobei der Prozessor (103, 103‘, 113) ausgebildet ist, das Attribut in den Umfelddaten oder den Attributdaten zu detektieren. Verfahren (10) nach Anspruch 6, wobei das Attribut eine geometrische Charakteristik des Objektes, insbesondere eine geometrische Form oder eine geometrische Ausdehnung, oder eine Objektbeschriftung, oder eine Objektausrichtung ist. Verfahren (10) nach Anspruch 6 oder 7, wobei der Prozessor (103, 103‘, 113) ausgebildet ist, das Attribut auf der Basis einer Muster-Erkennung oder auf der Basis des neuronalen Netzes (307, 307‘) oder auf der Basis eines weiteren neuronalen Netzes, das zur Erkennung von Attributen eingerichtet ist, zu erkennen. Verfahren (10) nach Anspruch 6, 7 oder 8, wobei das Attribut mit der zugeordneten Objektart mit einer Positionsinformation verknüpft wird. Verfahren (10) nach Anspruch 9, wobei 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 (211) durchgeführt wird. Verfahren (10) nach einem der vorstehenden Ansprüche, wobei in dem Roboterumfeld mindestens ein weiteres Objekt angeordnet ist, wobei mindestens eine weitere Objektart des mindestens einen weiteren Objektes durch Ausführung des neuronalen Netzes auf dem Prozessor (103, 103‘, 113) erfasst wird, und wobei die Lokalisationsinformation oder eine weitere Lokalisationsinformation mit der mindestens einen weiteren Objektart verknüpft wird. Verfahren (10) nach einem der vorstehenden Ansprüche, wobei die Objektart eine Palette, ein Roboter (101, 101’), eine Wand, ein Gang, ein Regal, eine Tür, oder ein Informationsschild ist. Roboter (101, 10T), welcher in einem Gebäude-Innenraum angeordnet ist, mit: zumindest einem Sensor (105, 105’) 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 (103, 103‘), 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 (103, 103*) 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. Roboter (101, 10T) nach Anspruch 13, wobei das Objekt ein Attribut aufweist, das durch den Sensor (105, 105’) in den Umfelddaten erfasst ist, oder wobei der Roboter (101, 10T) einen weiteren Sensor (105, 105’) zur Attributerfassung, insbesondere einen Laser-Scanner, aufweist, welcher Attributsdaten ausgibt, wobei der Prozessor (103, 103‘) ausgebildet ist, das Attribut in den Umfelddaten oder den Attributsdaten zu detektieren.
15. Datenverarbeitungseinrichtung (111 ) zum automatischen Herstellen eines digitalen Zwillings zumindest eines Abschnitts eines Gebäude-Innenraums unter Verwendung mindestens eines Roboters (101, 101'), welcher in dem Gebäude- Innenraum angeordnet ist, wobei der Roboter (101, 101’) einen mindestens einen Sensor (105, 105’) 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 (111) die folgenden Merkmale aufweist: eine Kommunikationsschnittstelle (117) zum Empfangen von Umfelddaten von dem mindestens einen Roboter (101, 101’) über ein Kommunikationsnetzwerk (100), wobei die erfassten Umfelddaten das erfasste Roboterumfeld repräsentieren; einem Prozessor (113), 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 (113) 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. 6. Computerprogramm zum Ausführen des Verfahrens (10) nach einem der Ansprüche 1 bis 12, wenn das Computerprogramm mittels eines Prozessors ausgeführt wird.
EP23704760.0A 2022-03-03 2023-02-09 Automatische herstellung eines digitalen zwillings Pending EP4487303A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102022105079.3A DE102022105079A1 (de) 2022-03-03 2022-03-03 Automatische Herstellung eines digitalen Zwillings
PCT/EP2023/053206 WO2023165799A1 (de) 2022-03-03 2023-02-09 Automatische herstellung eines digitalen zwillings

Publications (1)

Publication Number Publication Date
EP4487303A1 true EP4487303A1 (de) 2025-01-08

Family

ID=85225125

Family Applications (1)

Application Number Title Priority Date Filing Date
EP23704760.0A Pending EP4487303A1 (de) 2022-03-03 2023-02-09 Automatische herstellung eines digitalen zwillings

Country Status (4)

Country Link
US (1) US20250174016A1 (de)
EP (1) EP4487303A1 (de)
DE (1) DE102022105079A1 (de)
WO (1) WO2023165799A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102023125462A1 (de) 2023-09-20 2025-03-20 Still Gesellschaft Mit Beschränkter Haftung Vorrichtung und Verfahren zum automatisierten Erkennen von Gefahrensituationen in einem Warenlager
US20250130572A1 (en) * 2023-10-23 2025-04-24 BrightAI Corporation Systems and associated methods for multimodal feature detection of an environment
DE102024116308A1 (de) 2024-06-11 2025-12-11 Still Gesellschaft Mit Beschränkter Haftung Vorrichtung, Verfahren und System zum Betreiben eines Flurförderzeugs in einem Warenlager
DE102024131005A1 (de) 2024-10-24 2026-04-30 Still Gesellschaft Mit Beschränkter Haftung Ticketing-System für ein intralogistisches Umfeld mit Flurförderzeugen

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3680813B1 (de) * 2019-01-14 2025-12-24 Siemens Schweiz AG Verfahren und system zum erfassen von in einem gebäude installierten objekten

Also Published As

Publication number Publication date
DE102022105079A1 (de) 2023-09-07
US20250174016A1 (en) 2025-05-29
WO2023165799A1 (de) 2023-09-07

Similar Documents

Publication Publication Date Title
WO2023165799A1 (de) Automatische herstellung eines digitalen zwillings
DE102018006765B4 (de) Verfahren und system(e) für das management von frachtfahrzeugen
DE102018006764B4 (de) Verfahren und system(e) für das management von frachtfahrzeugen
EP4010766B1 (de) Verfahren zur erstellung eines digitalen zwillings einer anlage oder vorrichtung
EP2767925B1 (de) Verfahren zur Erkennung von Objekten in einem Lager und/oder zur räumlichen Orientierung in einem Lager
EP2854106B1 (de) 3D-Kamera nach dem Stereoskopieprinzip und Verfahren zum Erfassen von Tiefenkarten
DE102010018634B4 (de) Verfahren zur Eingabe eines räumlichen Aufbaus von Fertigungseinrichtungen in ein rechnergestütztes Planungsprogramm und dessen Optimierung
DE102018128531A1 (de) System und Verfahren zum Analysieren einer durch eine Punktwolke dargestellten dreidimensionalen Umgebung durch tiefes Lernen
DE112019006132T5 (de) Verfahren, system und vorrichtung zur hilfsetikett-erkennung und -zuordnung
EP4064106A1 (de) Verfahren zum erzeugen von trainingsdaten für ein ml-modell
DE102017213601A1 (de) Verfahren zum Erstellen einer Objektkarte für eine Fabrikumgebung
DE102019127283A1 (de) System und Verfahren zum Erfassen eines Objekts in einer dreidimensionalen Umgebung eines Trägerfahrzeugs
DE102019207870A1 (de) Verfahren zur Erstellung einer Umgebungskarte für die Verwendung bei der autonomen Navigation eines mobilen Roboters
EP4239428B1 (de) Verfahren und system zur navigation eines flurförderzeugs
WO2022199994A1 (de) Verfahren zum ermitteln von steuerungsdaten für eine greifeinrichtung zum greifen eines gegenstands
DE102022201311A1 (de) Überwachungsvorrichtung für einen Lagerbereich, Intralogistikanordnung mit der Überwachungsvorrichtung sowie Überwachungsverfahren
EP3543901B1 (de) Vorrichtung und verfahren zur robusten ermittlung der position, ausrichtung, identität und ausgewählter zustandsinformationen von objekten
DE102008008499B4 (de) Verfahren zur rechnergestützten Berechnung der Bewegung eines Objekts aus Sensordaten
DE10013137B4 (de) Verfahren zur bildgesteuerten Prüfung und Bearbeitung von Produkten
DE69325194T2 (de) Verfahren zur Erzeugung des Kennzeichens eines auf einem numerischen Bild dargestellten Objektes mit Bestimmung mindestens einer charakteristischen Grösse dieses Objektes und zugehöriges Verfahren zur Prüfung des Objektkennzeichens
DE102011082838A1 (de) Identifikation wiederverwendbarer mechatronischer Komponenten in der Fabrikautomation
DE102019201633A1 (de) Kalibrierung eines Sensors für ein Fahrzeug basierend auf objektseitigen und bildseitigen Identifikationsindizes eines Referenzobjektes
EP2864965B1 (de) Verfahren zur modellbasierten erstellung von testdatensätzen zur prüfung von bildverarbeitungsalgorithmen
DE102024113100A1 (de) Verfahren zur Bestimmung einer Vielzahl von Strukturpunkten
EP4063080A1 (de) Verfahren zum ermitteln von steuerungsdaten für eine grei-feinrichtung zum greifen eines gegenstands

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20240812

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS