EP4627419A1 - Selbstlernendes verfahren für einen fertigungs- und/oder montageprozess - Google Patents
Selbstlernendes verfahren für einen fertigungs- und/oder montageprozessInfo
- Publication number
- EP4627419A1 EP4627419A1 EP23817348.8A EP23817348A EP4627419A1 EP 4627419 A1 EP4627419 A1 EP 4627419A1 EP 23817348 A EP23817348 A EP 23817348A EP 4627419 A1 EP4627419 A1 EP 4627419A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- manufacturing
- digital
- workpiece
- data
- assembly process
- 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
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Program-control systems
- G05B19/02—Program-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form
- G05B19/4097—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form characterised by using design data to control NC machines, e.g. CAD/CAM
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Program-controlled manipulators
- B25J9/16—Program controls
- B25J9/1694—Program controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Program-control systems
- G05B19/02—Program-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4183—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by data acquisition, e.g. workpiece identification
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Program-control systems
- G05B19/02—Program-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/4184—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by fault tolerance, reliability of production system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Program-control systems
- G05B19/02—Program-control systems electric
- G05B19/42—Recording and playback systems, i.e. in which the program is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Program-controlled manipulators
- B25J9/16—Program controls
- B25J9/1656—Program controls characterised by programming, planning systems for manipulators
- B25J9/1661—Program controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Program-control systems
- G05B19/02—Program-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41805—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by assembly
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Program-control systems
- G05B19/02—Program-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41865—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31027—Computer assisted manual assembly CAA, display operation, tool, result
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31053—Planning, generate assembly plans
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35134—3-D cad-cam
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35204—Planning, generic process planning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36418—Modify trajectory by operator gesture, gesture force sensed by end effector
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40034—Disassembly, for recycling
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40116—Learn by operator observation, symbiosis, show, watch
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40532—Ann for vision processing
Definitions
- the invention relates to a computer-implemented method for generating reference data for use in a manufacturing and/or assembly process.
- the method can comprise, as a method step, obtaining a digital model of a workpiece.
- the digital model can in particular be a 3D model.
- the digital model can in particular also be a CAD model.
- the workpiece can in particular be an assembled workpiece.
- the method can comprise obtaining video data of the manufacturing and/or assembly process of the workpiece.
- the method can comprise generating a digital flow chart of the manufacturing and/or assembly process based at least in part on the digital model and/or the video data.
- the process can be used for the independent learning of a system or machine.
- the process can also be used to create self-learning production and/or assembly lines.
- Reference data can include the digital flow chart or parts of the digital flow chart. Reference data can be used in a variety of ways. Reference data can, for example, be translated into system control protocols. It is also possible for system control protocols to include at least parts of the reference data. Reference data can be used for independent learning in the manufacturing and/or assembly process.
- a manufacturing and/or assembly process can be understood as any type of production or assembly of a workpiece. It can be, for example, a shaping process. It can also be the assembly, creation or testing of a workpiece. The manufacturing and/or assembly process can also be assembling, packaging, screwing, gluing, riveting, clicking, drilling, sawing, cutting and/or welding. It can be It can also be a combination of the aforementioned processes. The process can therefore have a large number of process steps.
- a manufacturing and/or assembly process can be an overall process or a sub-process of a more complex process.
- a person skilled in the art generally understands a digital model to be a computer-aided data model of a building, product or other object, whereby the computer-aided data model describes the shape of a real existing or planned object.
- a digital model can include all the necessary data associated with the object.
- the digital model can be stored on a storage medium.
- the object represented by the digital model is a workpiece.
- the workpiece or object can be a composite workpiece or object.
- the digital model can therefore also include a (virtual) compilation of several (matching) individual components.
- the digital model can combine several different workpieces or objects, for example four (wooden) beams and a (wooden) plate, which together form a table.
- CAD Computer-Aided Design
- CAD Computer-Aided Design
- the expert therefore usually understands a CAD model to be a model that was created through a computer-aided activity.
- a workpiece can generally be understood as a single, delimited part of largely solid material that is processed in some way.
- the workpiece can be made at least partially of metal, wood and/or plastic.
- the workpiece can comprise several components.
- An assembled workpiece can be understood to mean a workpiece which comprises a plurality of components, wherein the components are connected to one another by plugging, clamping, screwing or a similar manner.
- the video data can be captured or obtained with at least one camera.
- the camera can be a depth camera, for example.
- the camera can be intrinsically or extrinsically calibrated.
- the video data can also be obtained in real time.
- the method can also use several cameras from different perspectives are used. By using several cameras, shadowing can be advantageously avoided.
- the video data can include recordings of human activities during a manufacturing and/or assembly process.
- the human activities can, for example, be all processes that are necessary for manual manufacturing and/or assembly of a workpiece.
- the activities can, for example, be drilling or sawing.
- the video data can also include the tools necessary for the activity, i.e. a drill or saw, for example. It is of course also possible for the video data to include recordings of machine activities.
- the digital flow chart can be machine-independent and/or platform-independent. Furthermore, the digital flow chart can be at least partially in the form of the Ontology Based Knowledge Representation, for example as a (dynamic) scene graph. It is also possible for the digital flow chart to be at least partially in the form of the Unified Modeling Language (UML).
- UML Unified Modeling Language
- the digital flow chart can include all the information necessary to complete the workpiece. A higher-level computer system can evaluate whether a specific system or machine has sufficient degrees of freedom to execute the digital flow chart. For example, requirements from the digital flow chart and the description of the system or machine can be compared.
- the information on kinematics can, for example, be in the Unified Robot Description Format (URDF).
- URDF Unified Robot Description Format
- a further step of the methods described herein is for a user to adapt the digital schedule.
- the adjustment can, for example, include a correction by the user.
- the user can pause the displayed information processing or the video data.
- a manual correction of a detected object can also be carried out.
- the correction can be carried out by overlaying the information from the recorded video.
- a dropdown list filled with components and tools with a similar probability in automated detection is also conceivable.
- the dropdown list can also be filled with other available components or stored CAD models.
- the user can add missing entries in the template, especially in XML files.
- the screw size or type can be specified by the user if it was not automatically recognized.
- the required torque for screwing can be specified by the user if no torque wrench with interface is used.
- the revision or correction of the data can be carried out using a specially designed user interface that enables intuitive operation and/or graphically facilitates the steps and/or interaction with the software (GUI).
- GUI software
- a user can be understood as a person who is involved in the manufacturing and/or assembly process.
- the user can be a machine operator or a worker who processes the workpiece.
- a further step of the methods described herein includes generating an animation based on the digital schedule.
- an animation can include video data, video sequences, drawings, and/or audio documents.
- an animation includes video data based on 3D models that do not correspond to the actual image, i.e. synthetically generated video data.
- Animations can be created based on CAD models using standard software such as Blender or Unreal Engine. Animations can be shown from different perspectives, i.e. when an animation is played, the camera can be placed in the desired perspective and/or zoom level, focal length or magnification level. Animations can also be created using motion trajectories, with the same or increased speed during execution or with incomplete information, e.g. on the torque of the screw connection.
- the animations can be used as instructions or to train users and/or machine operators.
- the animation can include instructions for people on how to create, test or correct a component.
- the animation can be provided as augmented information (using AR glasses, laser trackers and/or video projectors), mixed reality, sound (acoustic description using voice or warning tones) and/or haptic information.
- a further step can provide for generating one or more control signals for controlling a manufacturing and/or assembly system and/or for controlling a robot system. Furthermore, a further step can provide for controlling a manufacturing and/or assembly system and/or controlling a robot system for manufacturing and/or assembling a workpiece using the digital flow chart and/or the one or more control signals.
- a generation of one or more control signals for controlling a production and/or assembly plant and/or for controlling a robot system can be provided.
- a control of a production and/or assembly plant and/or for controlling a robot system can be provided for Manufacturing and/or assembling a workpiece using the digital flow chart and/or the one or more control signals.
- a computer program which comprises instructions which, when executed by a computer, cause the computer to carry out one of the methods described herein.
- a device or a system for data processing comprising means for carrying out the methods described herein.
- the means can in particular comprise: a camera, a sensor, an evaluation device, a control device and/or any combination thereof, and/or furthermore any devices which are mentioned further below in the exemplary embodiments in the context of the monitoring system explained there.
- the methods described above can be used in a variety of application fields.
- the application fields include, for example, industrial assembly, production processes, plant engineering and medical or biological laboratories.
- the methods described above can also be used to monitor work processes, in particular a production and/or assembly process.
- HMI Human Machine Interfaces
- HMI can also be used in the processes.
- HMI can usually include monitors, computer mice, AR / VR glasses, haptic gloves and / or head, eye, body trackers.
- the reference data can be generated using a machine learning model.
- the digital schedule can also be generated using a machine learning model.
- Machine learning can refer to algorithms and statistical models that computer systems can use to perform a specific task without using explicit instructions, instead of relying on models and inference.
- machine learning can use a transformation of data that results from an analysis of historical and/or training data.
- the content of images can be analyzed using a machine learning model or using a machine learning algorithm.
- the machine learning model can be trained using training images as input and training content information as output.
- the machine learning model By training the machine learning model with a large number of training images and/or training sequences (e.g., words or sentences) and associated training content information (e.g., labels or annotations), the machine learning model “learns” to recognize the content of the images, so that the content of images not included in the training data can be recognized using the machine learning model.
- the same principle can be used for other types of sensor data as well: by training a machine learning model using training sensor data and a desired output, the machine learning model “learns” a conversion between the sensor data and the output, which can be used to provide an output based on non-training sensor data provided to the machine learning model.
- the provided data e.g. sensor data, metadata and/or image data
- Machine learning models can be trained using training input data.
- the examples above use a training method called “supervised learning”.
- supervised learning the machine learning model is trained using a plurality of training samples, where each sample may include a plurality of input data values and a plurality of desired output values, i.e., each training sample is associated with a desired output value.
- the machine learning model “learns” which output value to provide based on an input sample that is similar to the samples provided during training.
- semi-supervised learning can also be used. In semi-supervised learning, some of the training samples lack a desired output value.
- Supervised learning can be based on a supervised learning algorithm (e.g., a classification algorithm, a regression algorithm, or a similarity learning algorithm).
- Classification algorithms can be used when the outputs are restricted to a limited set of values (categorical variables), i.e. the input is classified as one of the limited set of values.
- Regression algorithms can be used when the outputs are any numerical value (within a range)
- Similarity learning algorithms can be similar to both classification and regression algorithms, but are based on learning from examples using a similarity function that measures how similar or related two objects are.
- unsupervised learning can be used to train the machine learning model.
- unsupervised learning (only) input data may be provided and an unsupervised learning algorithm can be used to find structure in the input data (e.g. by grouping or clustering the input data, finding commonalities in the data).
- Clustering is the assignment of input data comprising a plurality of input values into subsets (clusters) such that input values within the same cluster are similar according to one or more (predefined) similarity criteria, while they are dissimilar to input values comprised in other clusters.
- Reinforcement learning is a third group of machine learning algorithms.
- reinforcement learning can be used to train the machine learning model.
- one or more software actors (called “software agents") are trained to perform actions in an environment. Based on the actions performed, a reward is calculated.
- Reinforcement learning is based on training the one or more software agents to select the actions in such a way that the cumulative reward is increased, resulting in software agents that become better at the task given to them (as evidenced by increasing rewards).
- Feature learning may be used.
- the machine learning model may be trained at least in part using feature learning, and/or the machine learning algorithm may include a feature learning component.
- Feature learning algorithms called representation learning algorithms, may preserve the information in their input but transform it in such a way that it becomes useful, often as a pre-processing stage before performing classification or prediction.
- Feature learning may, for example, be based on principal component analysis or cluster analysis.
- the machine learning algorithm may use a decision tree as a prediction model.
- the machine learning model may be based on a decision tree.
- the observations about an object e.g., a set of input values
- an output value corresponding to the object may be represented by the leaves of the decision tree.
- Decision trees may support both discrete values and continuous values as output values. When discrete values are used, the decision tree may be called a classification tree; when continuous values are used, the decision tree may be called a regression tree.
- Machine learning algorithms are typically based on a machine learning model.
- the term “machine learning algorithm” may refer to a set of instructions that can be used to create, train, or use a machine learning model.
- the term “machine learning model” may refer to a data structure and/or a set of rules that represents the learned knowledge (e.g., based on the training performed by the machine learning algorithm).
- the use of a machine learning algorithm may imply the use of an underlying machine learning model (or a plurality of underlying machine learning models).
- the use of a machine learning model may imply that the machine learning model and/or the data structure/set of rules that is/are the machine learning model is trained by a machine learning algorithm.
- the machine learning model can be an artificial neural network (ANN).
- ANNs are systems that are based on biological neural networks inspired by the network structures found in a retina or a brain.
- ANNs comprise a plurality of interconnected nodes and a plurality of connections, called edges, between the nodes.
- Each node can represent an artificial neuron.
- Each edge can send information, from one node to another.
- the output of a node can be defined as a (non-linear) function of the inputs (e.g. the sum of its inputs).
- the inputs of a node can be used in the function based on a "weight" of the edge or the node providing the input.
- the weight of nodes and/or edges can be adjusted in the learning process.
- training an artificial neural network can comprise adjusting the weights of the nodes and/or edges of the artificial neural network, i.e. to achieve a desired output for a given input.
- the machine learning model may be a support vector machine, a random forest model, or a gradient boosting model.
- Support vector machines i.e., support vector networks
- Support vector machines are supervised learning models with associated learning algorithms that can be used to analyze data (e.g., in a classification or regression analysis).
- Support vector machines can be trained by providing an input with a plurality of training input values belonging to one of two categories. The support vector machine can be trained to assign a new input value to one of the two categories.
- the machine learning model may be a Bayesian network, which is a probabilistic directed acyclic graph model. A Bayesian network can represent a set of random variables and their conditional dependencies using a directed acyclic graph.
- the machine learning model may be based on a genetic algorithm, which is a search algorithm and heuristic technique that mimics the process of natural selection.
- Fig. 2 Method for controlling and/or regulating and/or inspecting 200 a
- Fig. 4 Monitoring system 400 in production according to embodiments of the
- Fig. 7 Method for monitoring 700 using reference data according to
- Fig. 8 An embodiment 800 for generating reference data according to
- Fig. 10A,B An embodiment 1000 for using reference data for assembly inspection according to embodiments of the invention in an implementation view.
- Fig. 1 shows a schematic representation of the method for generating 100 reference data according to embodiments of the invention.
- a digital model of a workpiece is obtained 101.
- the method provides for the obtaining 102 of video data of the manufacturing and/or assembly process of the workpiece.
- a digital flow chart of the manufacturing and/or assembly process is generated 103 based on the digital model and the video data.
- the workpiece comprises several components.
- the manufacturing and/or assembly process provides for the components to be arranged on top of one another and connected to one another using a plug connection provided on the components.
- the digital model is a CAD model that includes the geometric data of the components and their position relative to one another.
- the components are also captured using a camera.
- the video data captured using the camera is saved on a storage medium.
- a digital flow chart of the manufacturing and/or assembly process is generated based on the digital model and the video data.
- the digital flow chart and/or the reference data can be generated in-line, i.e. while the video data is being captured, and/or offline, i.e. after the video data has been captured and saved. Offline processing is particularly useful for large amounts of data.
- the geometric data of the building blocks After the geometric data of the building blocks have been recorded by the CAD model, they can advantageously be used when obtaining 102 the video data.
- the position of the building blocks is recorded in particular.
- the digital schedule is generated 103 using a machine learning model.
- the digital flow chart is made available to a large number of different robot systems. Some of the robot systems are equipped with one robot arm, while other robot systems have two or more robot arms. Each robot system can translate the digital flow chart into reference data and a route description. The reference data and the route description are machine-specific.
- the digital flow chart is a universal and machine-independent plan for the production and/or assembly process. The process can ensure that each robot system reaches the assembly goal in the way that is appropriate for the respective robot system.
- Fig. 2 shows a method for controlling and/or regulating and/or inspecting 200 a manufacturing and/or assembly process according to embodiments of the invention.
- the first step is to generate 100 reference data.
- a work instruction is provided 202 for an agent.
- the agent comprises a robot system that can execute the work instruction. It is checked in advance whether the robot system has the necessary degrees of freedom to be able to execute the work instruction.
- a recording 203 of the actual state of the manufacturing and/or assembly process is carried out.
- the recording 203 of the actual state is based on video data of the manufacturing and/or assembly process.
- a deviation of the actual state from a target state is detected 204.
- the target state has reference data for the production and/or assembly process.
- the reference data includes a digital flow chart.
- an inspection result and/or a work instruction for the agent is generated 205.
- the generated work instruction can then be used to provide 202 the work instruction for the agent according to the second step.
- the method thus forms a control loop.
- Fig. 3 shows a method for generating 300 reference data with adjustments by a user according to embodiments of the invention.
- an identification 301 of process steps or phases is carried out as partial sequences in the video.
- a first identified process step can be, for example, a drilling process, while a second identified process step is a screwing process.
- Video data and a digital model are available for identification 301.
- the semantic segmentation 302 of workpiece components, tools, operators and/or background takes place.
- the tools can be, for example, a drill and a wrench.
- the (respective) digital model is also used in this step.
- objects and instances are detected and identified 303.
- Objects and instances include the workpiece and the Tool components. Instances are several identical or similar objects, here for example several screws that are screwed together (one after the other).
- the digital model is also used in this step.
- adjustments 304 are provided by a user.
- the user is a machine operator with specialist knowledge of the manufacturing process.
- the user can, for example, correct the results of the first steps. He can, for example, correct the tool to be used or specify it in more detail.
- the user can also provide the method with further information, in particular information that cannot be captured by the video data.
- the data is compiled into a consistent data set.
- the data set includes the list of phases, tools, components and instructions.
- reference data is generated from the consistent data set.
- Fig. 4 shows a monitoring system 400 in production according to embodiments of the invention.
- the monitoring system 400 is used between a first production process 450 and a second production process 460.
- the workpiece 440 is then passed on to the second production process 460.
- the assembled workpiece comprises several building blocks arranged on top of one another.
- the building blocks have different colors.
- the anomaly detection 410 determines that a yellow building block is incorrectly arranged and the building blocks are not screwed together correctly.
- the manufacturing and/or assembly process calls for a blue building block instead of the yellow building block.
- the measures are then determined and passed on to the worker 441 and the robot 443.
- the worker 441 provides the robot 443 with a blue building block.
- the robot 443 exchanges the yellow building block for the blue building block.
- 620 are dynamic processes and/or evaluations (at least image sequences and/or videos must be used for comparison, e.g. to monitor process times; e.g. curing time in adhesive processes); 630 is a subset of 620.
- Fig. 6 only includes exemplary methods, processes and steps and the list is not exhaustive.
- Levels 600 include manufacturing methods 610, production and/or assembly processes 620, and production and/or assembly steps 630.
- Manufacturing methods 610 in the example shown include, without claiming to be complete, forming techniques 611, cutting and separating 612 and coating 613.
- Manufacturing and/or assembly processes 620 in the example shown include, without claiming to be complete, handling 621, tool provision 622 and timing 623.
- Assembly steps 630 in the example shown include, without claiming to be complete, detection or inspection of the correct number and/or presence of the components 631, detection or inspection of the correct position of the parts relative to one another 632, detection or inspection of the correctness of the components, in particular when similar components are swapped 633 and documentation 634.
- the illustrated procedures 610-613, manufacturing and/or assembly processes 620-623 and manufacturing and/or assembly steps 630-634 are merely examples and in other embodiments, any other elements can be provided in any number.
- the methods described here can be used in different ways. It is possible to extend the inspection of assembly steps by observing the process, the tools and the type of execution. During handling 621, collision-free part movement can be observed. During tool provision 622, the use of the correct tools and parameters can be ensured. Optionally, for example, the connection of a torque sensor for screwing is possible. During timing 623, the monitoring of the Curing time etc. can be improved. The detection of components or adhesives that are later invisible can also be part of the observation.
- a stationary or mobile camera can be used to check and/or validate assembly steps 630.
- Intelligent data handling can take place through automatic recognition of product, assembly stage and camera perspective.
- Reference data can be used, whereby the reference data is generated based on CAD models of the assemblies and components, assembly plans, information on surface texture and/or common databases of similar parts with machine learning (ML)-trained error detection (e.g. surface).
- ML machine learning
- Fig. 7 shows a method for monitoring 700 using reference data according to embodiments of the invention.
- a first step A reference data is prepared.
- an agent is given a task or work instruction.
- a third step C the current state or actual state is reconstructed using sensors and data fusion.
- the fourth step D the actual state is compared and evaluated in comparison to the reference data.
- system feedback is provided to the agent about the process carried out.
- system feedback is carried out during process execution (e.g. step-by-step or permanent inline control).
- Main step Part X is aligned with part Y, inserted and/or clicked in 2.
- Reference data is then visualized, checked for completeness and supplemented.
- the reference data is used as work instructions (“content creation for augmented reality”).
- the reference data is used to control robots. There are two implementation options available.
- the first implementation option provides for adaptive planning of the movement using the current or actual starting position.
- the first implementation option includes detection of the current poses of the objects, robot trajectory planning using these inputs, whereby the robot trajectory planning is robot model dependent, and gripping planning, if necessary with extracted gripping points (Z-strategy) from reference data.
- the second implementation option provides for imitation learning through further preprocessing of the reference data.
- Dynamic movement primitives are used for each individual step of the assembly or phase. Adaptive planning as in the first implementation option does not take place. Instead, a learned movement is carried out or imitated to a (relative) target. The movement can be learned in such a way that the target state and a possible path to it (relative trajectory of two parts to be connected) are always carried out in a similar way. The execution is therefore independent of the starting point, i.e. independent of where the parts are initially grasped. This type of Movement is important and advantageous when two parts are to be aligned with each other in a specific direction, for example when one part has to be inserted into the other with a certain movement, clicked together or joined together coming from the right direction, similar to clamping blocks.
- Both implementation examples can be preceded by a feasibility test to check whether the task can be implemented given the current circumstances. This can include checking whether all required components are available and accessible (within reach of the robot). Furthermore, it can be checked whether the payload and mobility (dexterity) of the robot are sufficient to find a solution.
- a detection of the state is carried out at the end of each individual step or phase. In this process, all individual components and their spatial relationship to one another are recognized.
- Deviations are then detected using the reference data, in particular the resulting geometric shape.
- a request is sent to the worker to keep the camera's line of sight clear.
- An assessment can also be carried out from another available perspective. It is also possible to send a request to the worker to make the construction status (in critical areas) accessible to the observation camera by repositioning it.
- a deviation is detected or verified, feedback is sent to the worker in the case of manual assembly. Markings of the deviation are displayed, e.g. on a virtual model on a screen and/or using AR technology. It may also be that a marking of the deviation is displayed on the real component by a projection unit at the assembly station. Furthermore, a A hint for the solution will be displayed. A hint for the solution can refer to a missing component, a mixed up component and/or a shifted or twisted component position.
- the fixation can be removed or released in order to be able to correct the position of the component using grippers (robot trajectory planning, i.e. via adaptive planning or imitation learning). If a component is missing, the corresponding assembly step can be repeated or supplemented. Sorting out is also possible if the adapted robot control is not possible or not successful.
- Fig. 8 shows a process for generating reference data based on an embodiment 800.
- the process 800 From the input data 802 and 804, the process 800 generates reference data 806 as output, which is shown in the lower part of Fig. 8.
- the generated reference data 806 includes information about the identification of six consecutive assembly steps, each with an indication of which terminal block was installed in which step.
- Fig. 9 shows an embodiment 900 for using reference data for assembly inspection according to embodiments of the invention in an overview view.
- the module 902 is an assembly step classifier that can classify the steps and/or phases of the manufacturing and/or assembly process.
- the classifier outputs a probability with which the process is in a certain step or phase. This makes it known in which step or phase the process is.
- Module 904 concerns the object pose. Here, the composite object is observed from one or more specific perspectives. This means that the pose or position of the composite object is known.
- Module 906 concerns a completeness check. Here, the expected components are compared with the components actually observed. This makes it known whether all components that should be visible from the current perspective are actually visible or not. This can be helpful for finding missing parts (so-called "sanity check").
- Module 908 is optional and concerns an alignment check.
- the position and orientation of the edges and/or corners in three-dimensional space (or a 2D projection) is compared with the target. This tells us whether the alignment of the components is within a permissible range. This can be helpful for finding misaligned or mixed up components.
- FIG. 10A and 10B show an embodiment 1000 for using reference data for assembly inspection according to embodiments of the invention in an implementation view.
- the sub-process in Fig. 10A is typically performed offline, i.e. in preparation for the actual runtime process in Fig. 10B.
- step 1002 training data is generated, preferably automatically. This can be done, for example, using suitable software tools such as Blender or Unreal Engine, as already described above.
- the input in step 1002 are composite CAD models for each step or phase.
- the output 1004, 1008, 1012 of step 1002 are synthetic and annotated image data from the rendering.
- step 1018 the object pose in the montage video 1030 is estimated using the network trained in step 1010.
- step 1022 the object segmentation in the montage video 1030 is estimated using the network trained in step 1014.
- step 1024 a comparison is made with the expected parts, respecting hidden parts (due to perspective) (step 1020).
- step 1026 a (precise) object pose estimation is carried out on the basis of the assembly video 1030. This can be done, for example, using template matching methods.
- step 1028 a comparison is made with the expected relative object poses.
- the training data generated in step 1002 can serve as (further) input for step 1028.
- Embodiments of the invention may be implemented in a computer system.
- the computer system may be a local computing device (e.g., personal computer, laptop, tablet computer, or mobile phone) having one or more processors and one or more storage devices, or may be a distributed computing system (e.g., a cloud computing system having one or more processors or one or more storage devices distributed at different locations, e.g., at a local client and/or one or more remote server farms and/or data centers).
- the computer system may include any circuitry or combination of circuits.
- the computer system may include one or more processors, which may be of any type.
- Processor can mean any type of computing circuit, such as, but not limited to, a microprocessor, a microcontroller, a complex instruction set microprocessor (CISC), a reduced instruction set microprocessor (RISC), a very long instruction word (VLIW) microprocessor, a graphics processor, a digital signal processor (DSP), a multi-core processor, a field programmable gate array (FPGA), or any other type of processor or processing circuit.
- CISC complex instruction set microprocessor
- RISC reduced instruction set microprocessor
- VLIW very long instruction word
- DSP digital signal processor
- FPGA field programmable gate array
- circuits may be a purpose-built circuit, an application specific integrated circuit (ASIC), or the like, such as one or more circuits (e.g., a communications circuit) for use with wireless devices such as cellular phones, tablet computers, laptop computers, two-way radios, and similar electronic systems.
- the computer system may include one or more storage devices, which may include one or more storage elements suitable for the particular application, such as a main memory in the form of random access memory (RAM), one or more hard disks, and/or one or more drives handling removable media such as CDs, flash memory cards, DVDs, and the like.
- RAM random access memory
- drives such as CDs, flash memory cards, DVDs, and the like.
- the computer system may also include a display device, one or more speakers, and a keyboard and/or controller, which may include a mouse, trackball, touch screen, voice recognition device, or any other device that allows a system user to enter information into and receive information from the computer system.
- a display device one or more speakers
- a keyboard and/or controller which may include a mouse, trackball, touch screen, voice recognition device, or any other device that allows a system user to enter information into and receive information from the computer system.
- Some or all of the method steps may be performed by (or using) a hardware device, such as a processor, a microprocessor, a programmable computer, or an electronic circuit. In some embodiments, one or more of the key method steps may be performed by such a device.
- a hardware device such as a processor, a microprocessor, a programmable computer, or an electronic circuit. In some embodiments, one or more of the key method steps may be performed by such a device.
- embodiments of the invention may be implemented in hardware or software.
- the implementation may be performed with a non-volatile storage medium such as a digital storage medium such as a floppy disk, a DVD, a Blu-Ray, a CD, a ROM, a PROM and EPROM, an EEPROM or a FLASH memory on which electronically readable control signals are stored that interact (or can interact) with a programmable computer system such that that the respective procedure is carried out. Therefore, the digital storage medium can be computer-readable.
- a digital storage medium such as a floppy disk, a DVD, a Blu-Ray, a CD, a ROM, a PROM and EPROM, an EEPROM or a FLASH memory on which electronically readable control signals are stored that interact (or can interact) with a programmable computer system such that that the respective procedure is carried out. Therefore, the digital storage medium can be computer-readable.
- embodiments of the present invention can be implemented as a computer program product with a program code, wherein the program code is effective for carrying out one of the methods when the computer program product is running on a computer.
- the program code can be stored, for example, on a machine-readable carrier.
- an embodiment of the present invention is therefore a computer program with a program code for carrying out one of the methods described herein when the computer program runs on a computer.
- Another embodiment of the present invention is therefore a storage medium (or a data carrier or a computer-readable medium) comprising a computer program stored thereon for carrying out one of the methods described herein when executed by a processor.
- the data carrier, digital storage medium or recorded medium is typically tangible and/or non-transitory.
- Another embodiment of the present invention is an apparatus as described herein comprising a processor and the storage medium.
- a further embodiment of the invention is therefore a data stream or a signal sequence that represents the computer program for carrying out one of the methods described herein.
- the data stream or the signal sequence can, for example, be configured to be transmitted via a data communication connection, for example via the Internet.
- Another embodiment includes a processing means, for example a computer or a programmable logic device, configured or adapted to perform any of the methods described herein.
- a further embodiment comprises a computer on which the computer program for carrying out one of the methods described herein is installed.
- Another embodiment according to the invention includes a device or system configured to transmit (e.g., electronically or optically) a computer program for performing any of the methods described herein to a recipient.
- the recipient may, for example, be a computer, a mobile device, a storage device, or the like.
- the device or system may, for example, include a file server for transmitting the computer program to the recipient.
- a programmable logic device e.g., a field programmable gate array, FPGA
- FPGA field programmable gate array
- a field programmable gate array may cooperate with a microprocessor to perform any of the methods described herein. In general, the methods are preferably performed by any hardware device.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manufacturing & Machinery (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- General Factory Administration (AREA)
Abstract
Die vorliegende Erfindung betrifft ein computer-implementiertes Verfahren zum Erzeugen (100) von Referenzdaten für die Verwendung in einem Fertigungs- und/oder Montageprozess. Das Verfahren kann dabei als einen Verfahrensschritt das Erhalten (101) eines digitalen Modells eines Werkstücks aufweisen. Dabei kann das digitale Modell insbesondere ein 3D-Modell sein. Das digitale Modell kann insbesondere auch ein CAD-Modell sein. Das Werkstück kann insbesondere ein zusammengesetztes Werkstück sein. In einem weiteren Schritt kann das Verfahren das Erhalten (102) von Videodaten des Fertigungs- und/oder Montageprozesses des Werkstücks umfassen. Des Weiteren kann das Verfahren das Erzeugen (103) eines digitalen Ablaufplans des Fertigungs- und/oder Montageprozesses basierend zumindest zum Teil auf dem digitalen Modell und den Videodaten aufweisen.
Description
SELBSTLERNENDES VERFAHREN FÜR EINEN FERTIGUNS- UND/ODER MONTAGEPROZESS
TECHNISCHES GEBIET
Die vorliegende Erfindung betrifft allgemein das technische Gebiet der industriellen Fertigung und insbesondere ein computer-implementiertes Verfahren zum Erzeugen von Referenzdaten für die Verwendung in einem Fertigungs- und/oder Montageprozess.
HINTERGRUND
Selbstlernende Verfahren finden in der Industrie vielfältige Anwendungen.
US 2020/0409383 A1 offenbart ein Verfahren, das auf der Grundlage der Analyse von Videodaten robuste metrische Berichte liefert. Das Verfahren nutzt dabei lernbasierte Methoden zur Objektidentifikation, Objektlokalisierung und Kontextanalyse, um Einblicke in z. B. Effizienz, Produktivität, Design und Planung sowie Einhaltung von Gesundheits- und Sicherheitsvorschriften in einer Arbeitsumgebung zu gewinnen.
Eine Übersicht zu weiteren selbstlernenden Verfahren wird in der folgenden wissenschaftlichen Publikation gegeben:
Olivares-Alarcos, Alberto, et al. "A review and comparison of ontology-based approaches to robot autonomy." The Knowledge Engineering Review 34 (2019).
Bei heutigen selbstlernenden Verfahren für Fertigungs- und/oder Montageprozesse werden meist „Teach-Verfahren“ verwendet, d.h. ein Bewegungsablauf wird erst erfasst und später von der Maschine identisch repliziert. Bei der Wiedergabe des Ablaufes durch das System ist eine Adaption auf sich ändernde Randbedingungen oder eine Selbstoptimierung jedoch nicht ohne Weiteres möglich. Dadurch sind solche Verfahren starr und unflexibel.
Des Weiteren müssen die genannten Verfahren speziell an ein System oder eine Maschine adaptiert werden. Bei einer großen Anzahl von unterschiedlichen Maschinen, führt die Adaption bzw. das maschinenspezifische Programmieren zu hohem Aufwand und Kosten.
Demnach besteht der Bedarf an einem Verfahren, das einfacher und damit flexibler gestaltet ist. Ein derartiges verbessertes Verfahren ist ferner für häufig wechselnde, flexible Fertigung
und Kleinserien von hohem Interesse, da hier ein besonders großer Aufwand im Vergleich zur Nutzung(-szeit) vorliegt.
Es ist deshalb eine Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren für Fertigungs- und/oder Montageprozesse bereitzustellen und damit die oben genannten Nachteile des Standes der Technik zumindest zum Teil zu überwinden.
ZUSAMMENFASSUNG DER ERFINDUNG
Diese Aufgabe wird durch die Gegenstände der unabhängigen Ansprüche gelöst. In ihrer allgemeinsten Form betrifft die Erfindung ein computer-implementiertes Verfahren zum Erzeugen von Referenzdaten für die Verwendung in einem Fertigungs- und/oder Montageprozess. Das Verfahren kann dabei als einen Verfahrensschritt das Erhalten eines digitalen Modells eines Werkstücks aufweisen. Dabei kann das digitale Modell insbesondere ein 3D-Modell sein. Das digitale Modell kann insbesondere auch ein CAD-Modell sein. Das Werkstück kann insbesondere ein zusammengesetztes Werkstück sein. In einem weiteren Schritt kann das Verfahren das Erhalten von Videodaten des Fertigungs- und/oder Montageprozesses des Werkstücks umfassen. Des Weiteren kann das Verfahren das Erzeugen eines digitalen Ablaufplans des Fertigungs- und/oder Montageprozesses basierend zumindest zum Teil auf dem digitalen Modell und/oder den Videodaten aufweisen.
Das Verfahren kann zum selbstständigen Lernen eines Systems oder einer Maschine eingesetzt werden. Durch das Verfahren können auch selbstlernende Fertigungs- und/oder Montagelinien realisiert werden.
Referenzdaten können dabei den digitalen Ablaufplan oder Teile des digitalen Ablaufplans umfassen. Referenzdaten können auf vielfältige Art verwendet werden. Referenzdaten können beispielsweise in Steuerprotokolle von Systemen übersetzt werden. Ferner ist möglich, dass Steuerprotokolle von Systemen die Referenzdaten zumindest in Teilen umfassen. Referenzdaten können beim selbstständigen Lernen im Fertigungs- und/oder Montageprozess eingesetzt werden.
Unter einem Fertigungs- und/oder Montageprozess kann dabei jede Art der Produktion oder Montage eines Werkstückes verstanden werden. Es kann sich beispielsweise um einen formgebenden Prozess handeln. Es kann sich ferner um das Zusammenbauen, Erschaffung oder Prüfung eines Werkstücks handeln. Bei dem Fertigungs- und/oder Montageprozess kann es sich auch um ein Zusammensetzen, Verpacken, Schrauben, Kleben, Nieten, Einklicken, Bohren, Sägen, Schneiden und/oder Schweißen handeln. Es kann sich dabei
auch um eine Kombination der vorgenannten Prozesse handeln. Demnach kann der Prozess eine Vielzahl von Prozessschritten aufweisen. Ein Fertigungs- und/oder Montageprozess kann ein Gesamtprozess oder ein Teilprozess eines komplexeren Prozesses sein.
Unter einem digitalen Modell versteht der Fachmann im Allgemeinen ein computergestütztes Datenmodell eines Gebäudes, Produkts oder eines anderen Objekts, wobei das computergestützte Datenmodell die Form eines real bestehenden oder geplanten Objekts beschreibt. Ein digitales Modell kann alle notwendigen Daten, die mit dem Objekt verbunden sind, umfassen. Das digitale Modell kann auf einem Speichermedium gespeichert sein. Im oben beschriebenen Aspekt ist das durch das digitale Modell repräsentierte Objekt ein Werkstück. Wie eingangs beschrieben kann es sich bei dem Werkstück bzw. Objekt um ein zusammengesetztes Werkstück bzw. Objekt handeln. Das digitale Modell kann also auch eine (virtuelle) Zusammenstellung mehrerer (zueinander passender) Einzelkomponenten umfassen. Insofern kann das digitale Modell mehrere verschiedene Werkstücke bzw. Objekte vereinen, beispielsweise vier (Holz)Balken und eine (Holz)Platte, die zusammen einen Tisch bilden.
Unter CAD (Computer-Aided Design) wird üblicherweise das rechnerunterstützte Erzeugen und Ändern von geometrischen Modellen verstanden. Darüber hinaus versteht man unter CAD sämtliche rechnerunterstützten Tätigkeiten in einem Konstruktionsprozess, einschließlich der geometrischen Modellierung, des Berechnens, des Simulierens und sonstiger Informationsgewinnung und Informationsbereitstellung. Unter CAD-Modell versteht der Fachmann somit üblicherweise ein Modell, dass durch eine rechnerunterstützte Tätigkeit erschaffen wurde.
Unter einem Werkstück kann im Allgemeinen ein einzelnes abgegrenztes Teil weitgehend festen Materials verstanden werden, das in irgendeiner Form bearbeitet wird. Das Werkstück kann dabei zumindest zum Teil aus Metall, Holz und/oder Kunststoff beschaffen sein. Das Werkstück kann dabei mehrere Komponenten umfassen.
Unter einem zusammengesetzten Werkstück kann ein Werkstück verstanden werden, das eine Vielzahl von Komponenten umfasst, wobei die Komponenten durch Stecken, Klemmen, Verschrauben oder einer ähnlichen Art miteinander verbunden sind.
Die Videodaten können mit zumindest einer Kamera erfasst bzw. erhalten werden. Bei der Kamera kann es sich beispielsweise um eine Tiefenkamera handeln. Die Kamera kann intrinsisch oder extrinsisch kalibriert sein. Die Videodaten können ferner in Echtzeit erhalten werden. Bei dem Verfahren können auch mehrere Kameras aus unterschiedlichen
Perspektiven zum Einsatz kommen. Durch Einsatz von mehreren Kameras kann vorteilhafterweise eine Abschattung vermieden werden.
Die Videodaten können Aufzeichnungen von Tätigkeiten eines Menschen während eines Fertigungs- und/oder Montageprozess umfassen. Bei den Tätigkeiten des Menschen kann es sich beispielsweise um alle Vorgänge handeln, die für eine manuelle Fertigungs- und/oder Montage eines Werkstücks notwendig sind. Bei den Tätigkeiten kann es sich beispielsweise um Bohren oder Sägen handeln. Die Videodaten können dabei auch die für die Tätigkeit notwendigen Werkzeuge umfassen, d.h. beispielsweise eine Bohrmaschine oder Säge. Es ist natürlich auch möglich, dass die Videodaten Aufzeichnungen von Tätigkeiten einer Maschine umfassen.
Die Videodaten können auch Aufzeichnungen von virtuellen Objekten umfassen. Es ist denkbar, dass die Fertigungs- und/oder Montageprozesse in einer virtuellen Umgebung oder in einer vergrößerten oder verkleinerten Modellumgebung erfolgen. So kann z.B. eine Flugzeugfertigung an einem verkleinerten Model aufgezeichnet werden. Dagegen könnten Prozesse in Elektronenmikroskopen oder der Mikrosystemtechnik in vergrößerten Umgebungen aufgezeichnet werden.
Die Videodaten können online oder offline algorithmisch verarbeitet werden. Dabei können durch die Verarbeitung relevante Informationen extrahiert werden. In einem ersten Schritt können beispielsweise Objekte, Gegenstände und/oder Personen und/oder deren Handlung(en), Arbeit(en) und/oder manuelle Tätigkeiten in den Videodaten erkannt werden. In einem weiteren Schritt können dann Fertigungs- und/oder Montageschritte bzw. die Phasen und Art der Fertigungs- und/oder Montageschritte erkannt werden. In einem weiteren Schritt können die Lage bzw. die Pose relevanter Teile und Gegenstände, wie beispielsweise Werkzeuge, detektiert und getrackt werden.
Das Erkennen von Objekten in den Videodaten kann mit den heutzutage üblichen Verfahren erfolgen. Dazu können die Verfolgung (Tracking) von Objekten, sowie die Berechnung der Position und Lage eines Objektes aus Videodaten gehören. Sowohl konventionelle Algorithmen (mittels Kanten-, Umriss oder Texturdetektion) als auch Algorithmen basierend auf maschinellem Lernen (Schätzen von Schlüsselpunkten in Gesamterscheinung) können zum Einsatz kommen. Das Erkennen von Objekten bzw. von spezifischen Teilen kann auch auf Basis von CAD-Modellen, z.B. durch Maschinenlern-Modellen wie beispielsweise einem CNN („convolutional neural network“), trainiert mittels synthetischer Daten, durchgeführt werden. Die (synthetischen) Trainingsdaten können ebenfalls auf Basis der CAD-Modelle
erzeugt werden. Hierzu können verschiedene Techniken verwendet werden, wie weiter unten im Zusammenhang mit Maschinenlern-Modellen erläutert ist.
Gemäß einem weiteren Aspekt der Erfindung können auch Algorithmen eingesetzt werden, die Beziehungen zwischen erkannten Objekten oder Handlungen erkennen (semantische Interpretation/ SzeneGraphen, Ontologie, Bsp. „FOON“ functional object-oriented network). So kann z.B. ein Objekterkenner in den Videodaten ein Werkzeug erkennen. Ebenfalls kann erkannt werden, wo im Raum und in welcher Relation zu anderen Objekten sich das Werkzeug befindet. Zusätzlich kann eine Aussage über die Tätigkeit extrahiert werden (z.B. Werkzeug im Einsatz oder Werkzeug in Reparatur).
Der digitale Ablaufplan kann Beschreibungen einer Montage, Formgebung und/oder Prüfung umfassen, die ein Arbeiter, eine Maschine und/oder ein anderer Agent beim Zusammenbau, Erschaffen und/oder Prüfen eines oder mehrerer Werkstücke durchführen müsste. Der digitale Ablaufplan kann mindestens einen Einzelschritt oder eine beliebige (endliche) Anzahl von Einzelschritten umfassen. Der digitale Ablaufplan kann dabei einen Bauplan bzw. eine Reihenfolge einzelner Montageschritte umfassen. Der digitale Ablaufplan kann das Erfassen der Lage von Komponenten im finalen Aufbau, die Nutzung und das Handling von Werkzeug bzw. Hilfsmitteln, beispielsweise eines Drehmomentschlüssel, das Prüfen und das Testen von Zwischenschritten und/oder die Korrektur von Fehlern umfassen. Bei den Fehlern kann es sich beispielsweise um Versatz, falsche Bohrung oder Entgrätung handeln. Der digitale Ablaufplan kann auch Interaktionen zwischen Menschen und Maschinen umfassen.
Der digitale Ablaufplan kann maschinenunabhängig und/oder plattformunabhängig sein. Ferner kann der digitale Ablaufplan zumindest in Teilen in Form der Ontology Based Knowledge Representation vorliegen, beispielsweise als (dynamischer) Szenengraph. Es ist auch möglich, dass der digitale Ablaufplan zumindest in Teilen in Form der Unified Modelling Language (UML) vorliegt. Der digitale Ablaufplan kann dabei alle Informationen umfassen, welche nötig sind das Werkstück fertigzustellen. Ein übergeordnetes Computersystem kann dabei bewerten, ob ein bestimmtes System oder eine bestimmte Maschine über hinreichend Freiheitsgrade verfügt, um den digitalen Ablaufplan auszuführen. Dabei können beispielsweise Anforderungen aus dem digitalen Ablaufplan und die Beschreibung des Systems oder der Maschine abgeglichen werden. Die Informationen zur Kinematik können zum Beispiel dabei im Unified Robot Description Format (URDF) vorliegen.
Ein maschinenunabhängiger digitaler Ablaufplan kann in eine Fahrwegbeschreibung für ein System oder eine Maschine übersetzt werden. Der digitale Ablaufplan kann insbesondere in einem CAM („computer aided manufacturing“) Maschinenplan übersetzt werden. Diese
Übersetzung kann sowohl im Vorfeld, als auch während des Betriebs geschehen. Die Übersetzung während des Betriebs kann zu einer intuitiven Reaktion der Maschine während des Prozesses führen. Mit anderen Worten kann der digitale Ablaufplan ein universeller und maschinenunabhängiger Plan zum Ablauf des Fertigungs- und/oder Montageprozesses sein.
Ein digitaler Ablaufplan kann selbstverständlich händisch bearbeitet werden, indem die einzelnen Arbeitsschritte in einem definierten Format beschrieben werden. Es ist auch möglich, dass der digitale Ablaufplan in seiner Gesamtheit oder in Teilen automatisch erstellt wird.
Der digitale Ablaufplan kann digital gespeichert werden. Dabei kann für jede Einzelphase des Fertigungs- und/oder Montageprozesses die Dauer, der erkannte Bauteilzustand vor oder nach Abschluss der Phase, die verwendeten Bauteile und die benutzten Hilfsmittel und Werkzeuge gespeichert werden. Der digitale Ablaufplan kann auch als Baumstruktur analog zu einem Montage-Vorranggraph gespeichert werden. Dabei kann die Speicherstruktur z.B. im offenen und plattformunabhängigen XML-Dateiformat vorliegen. Auch die Nutzung von Vorlagen bzw. die Nutzung von unterschiedlichen Vorlagen für verschiedene Phasen oder Schritte ist möglich. Beispielsweise kann der digitale Ablaufplan ein Fixieren oder Verschrauben umfassen, wobei das Fixieren oder Verschrauben Informationen zur Position der Schrauben (auch aus CAD-Modell), Reihenfolge der Verschraubung, Schraubenart, - große, -länge und Werkzeug umfassen. Das Werkzeug kann dabei durch Schraubenart und/oder Drehmoment automatisiert zuordenbar sein. Der digitale Ablaufplan kann auch Verweise bzw. Links auf die CAD-Daten der konkreten Einzelkomponenten umfassen.
Bei der Wiedergabe des Ablaufplans durch das System oder die Maschine ist eine Adaption auf sich ändernde Randbedingungen oder eine Selbstoptimierung möglich. Es kann beispielsweise eine selbstständige Korrektur von Bewegungsabläufen aufgrund von Videodaten und/oder Sensorsignalen durchgeführt werden. Der Ablaufplan kann zielorientiert ausgewertet werden. Beispielsweise kann bei einer nicht-perfekten Bewegungstrajektorie die Bewegung im digitalen Ablaufplan geglättet oder entruckelt werden, so dass kein Zittern oder sonstige Einflüsse mehr enthalten sind oder zumindest reduziert werden.
Ein Vorteil des digitalen Ablaufplanes kann es sein, dass ein System oder eine Maschine mit hinreichenden Freiheitsgraden verschiedene Abläufe durchführen kann, ohne dass das System oder die Maschine maschinen-spezifisch bzw. maschinen-adaptiert programmiert werden muss.
In einem Aspekt der Erfindung kann der Schritt des Erzeugens des digitalen Ablaufplans ein Identifizieren einer Mehrzahl von Prozessschritten des Fertigungs- und/oder Montageprozesses zumindest zum Teil basierend auf den Videodaten und vorzugsweise basierend auf dem digitalen Modell des Werkstücks umfassen. Ferner kann der Schritt des Erzeugens des digitalen Ablaufplans auch ein Segmentieren der Videodaten, vorzugsweise unter Verwendung des digitalen Modells des Werkstücks, zum Erhalten von Informationen umfassen. Das Segmentieren kann dabei insbesondere ein semantisches Segmentieren sein. Bei den Informationen kann es sich um Informationen über das Werkstück, Informationen über zumindest eine Komponente des Werkstücks, Informationen über zumindest einen ausgeführten Prozessschritt, Informationen über zumindest ein verwendetes Werkzeug, Informationen über zumindest einen am Fertigungs- und/oder Montageprozess teilnehmenden Agenten und/oder Informationen über einen in den Videodaten dargestellten Hintergrund handeln.
Die Informationen können jeweils Art und/oder Dauer umfassen. Beispielsweise können die Informationen über den zumindest einen ausgeführten Prozessschritt die Art des Prozessschritts und die Dauer des Prozessschritts umfassen.
Unter Segmentierung kann das Erzeugen von inhaltlich zusammenhängenden Regionen in Bild- oder Videodaten durch Zusammenfassung benachbarter Pixel oder Voxel entsprechend einem bestimmten Homogenitätskriterium verstanden werden.
In einem Aspekt der Erfindung ist ein computer-implementiertes Verfahren zum Steuern und/oder Regeln und/oder Inspizieren eines Fertigungs- und/oder Montageprozesses vorgesehen. Dabei kann in einem Schritt ein Erfassen eines Istzustands im Fertigungs- und/oder Montageprozess zumindest zum Teil basierend auf Videodaten des Fertigungs- und/oder Montageprozesses durchgeführt werden. In einem weiteren Schritt kann ein Erkennen einer Abweichung des Istzustands von einem Sollzustand vorgesehen sein. Dabei kann der Sollzustand Referenzdaten für den Fertigungs- und/oder Montageprozess umfassen. Die Referenzdaten können insbesondere einen gemäß einem der hierin beschriebenen Verfahren erzeugten digitalen Ablaufplan umfassen. Ein weiterer Schritt kann das Erzeugen eines Inspektionsergebnisses vorsehen. Zusätzlich oder alternativ kann ein weiterer Schritt das Erzeugen einer Arbeitsanweisung für einen Agenten vorsehen.
Ein Agent kann ein Mensch, eine Software, ein Robotersystem oder eine Maschine sein. Die Arbeitsanweisung kann beispielsweise in einem Steuersignal umfasst sein, welches konfiguriert ist zum Steuern eines Agenten in Form eines Robotersystems, einer Maschine, einer Software oder einer anderen Art von automatisch oder teilautomatisch steuerbaren
Vorrichtung. Ist der Agent ein Mensch, kann ein Inspektionsergebnis beispielsweise auf einer (digitalen) Anzeigevorrichtung dargestellt werden.
In einem Aspekt der Erfindung ist ein computer-implementiertes Verfahren zum Erstellen einer AR Umgebung vorgesehen. Dabei kann die AR Umgebung basierend auf Referenzdaten erstellt werden und die Referenzdaten insbesondere einen gemäß einem der hierin beschriebenen Verfahren erzeugten digitalen Ablaufplan umfassen.
Unter AR („augmented reality“) wird üblicherweise eine computergestützte Erweiterung der Realitätswahrnehmung verstanden. Diese Information kann alle menschlichen Sinnesmodalitäten ansprechen. Insbesondere kann unter AR die visuelle Darstellung von Informationen verstanden werden, also die Ergänzung von Bildern oder Videos mit computergenerierten Zusatzinformationen oder virtuellen Objekten (sog. AR Objekten) mittels Einblendung/Überlagerung. Eine AR Umgebung kann eine virtuelle und computergestützte Umgebung sein, mit der ein Nutzer interagieren kann.
In einem Aspekt der Erfindung ist als ein weiterer Schritt der hierin beschriebenen Verfahren das Erhalten von zusätzlichen Daten vorgesehen.
Zusätzliche Daten können mittels verschiedener Sensoren detektiert und ggf. zeitsynchron überlagert werden. Sensoren und/oder Modalitäten für diese zusätzlichen Daten können umfassen: haptische Sensoren, Kraft- und/oder Drehmomentsensoren, Drucksensoren, Beschleunigungssensoren (IMUs), Vibrationssensoren, Mikrofone, Ultraschalldetektoren, Infraschalldetektoren jeweils zur Aufnahme von Luft- und/oder Körperschall. Ton- und/oder Sprachdaten können z.B. die natürliche Sprache als Anweisungen eines Arbeiters während eines Arbeitsschrittes umfassen, wie z.B. „Teil A bündig zu Teil B verschrauben“. Zusätzliche Daten können Einzelwerte (Zielwerte) und/oder Werte im zeitlichen Verlauf darstellen. Ein Beispiel für einen Zielwert ist das Drehmoment, mit dem eine Schraube befestigt werden soll. Verlaufswerte sind z.B. eine Kraft-Wege-Kurve beim Einklicken in einer Rasterung und der nötigen Andruckkraft bis zum Einrasten. Hierbei können „smarte“ Werkzeuge, Geräte oder anderweitige Vorrichtungen zum Einsatz kommen, beispielsweise ein vernetzter Drehmomentschlüssel. Ein solcher Drehmomentsensor/-schlüssel kann das erreichte Drehmoment elektrisch und/oder digital messen und einem vernetzten bzw. übergeordneten Computersystem bereitstellen.
Ein solches smartes Gerät bzw. eine (zusätzliche) Datenquelle kann auch zusätzlich zu den Videodaten Verwendung finden. Beispielsweise kann der vernetzte Drehmomentschlüssel als (zusätzliche) Datenquelle dienen, so dass neben den Videodaten und/oder aus den
Videodaten extrahierten Informationen (z.B. „Werkzeug/Schlüssel wird benutzt“) auch weitere Informationen einfließen können (z.B. „Drehmomentschlüssel detektiert x Newtonmeter als Drehmoment zu diesem Zeitpunkt“).
In einem Aspekt der Erfindung ist als ein weiterer Schritt der hierin beschriebenen Verfahren das Anpassen des digitalen Ablaufplans durch einen Nutzer vorgesehen.
Das Anpassen kann beispielsweise eine Korrektur durch den Nutzer umfassen. Dabei kann der Nutzer die angezeigte Informationsverarbeitung bzw. die Videodaten pausieren.
Es kann ferner eine manuelle Korrektur von einem erkannten Gegenstand stattfinden. Die Korrektur kann in Überlagerung der Information aus aufgenommenem Video durchgeführt werden.
Es kann auch eine erleichterte Korrektur, z.B. durch alternative Vorschläge in einer oder mehreren Dropdown-Liste(n) eines erkannten Gegenstands, stattfinden. Auch eine Dropdownliste gefüllt mit Komponenten und Hilfsmittel ähnlicher Wahrscheinlichkeit in der automatisierten Detektion ist denkbar. Die Dropdownliste kann auch mit anderen verfügbaren Komponenten oder hinterlegten CAD-Modellen gefüllt sein.
Das Anpassen durch den Nutzer kann auch a priori Informationen umfassen. Dabei ist es möglich, dass eine Neuberechnung der Informationsverarbeitung mit diesen a priori Informationen durchgeführt wird. Beispielsweise können Komponente in automatischer Verarbeitung falsch erkannt oder zugeordnet werden. Mit den neuen a priori Informationen durch den Nutzer kann eine Posenbestimmung neu durchgeführt werden. Dabei kann auch ein Anpassen eines anderen oder eines korrigierten CAD-Modells durchgeführt werden.
Auch eine manuelle Korrektur von Parameter durch den Nutzer in automatisch ausgefüllter Vorlage, insbesondere XML-Dateien, ist möglich.
Des Weiteren können durch den Nutzer Ergänzungen fehlender Einträge in Vorlage, insbesondere in XML-Dateien, durchgeführt werden. Beispielsweise kann die Schraubengröße oder -art durch Nutzer angegeben werden, falls sie nicht automatisiert erkannt wurde. Des Weiteren kann ein erforderliches Drehmoment bei Verschraubung durch Nutzer angegeben werden, falls kein Drehmomentschlüssel mit Interface genutzt wird.
Die Überarbeitung oder Korrektur der Daten kann an einem speziell dafür vorgesehenen User Interface erfolgen, das intuitive Bedienung ermöglicht und/oder grafisch die Schritte und/oder Interaktion mit der Software erleichtert (GUI).
Unter einem Nutzer kann eine Person verstanden werden, die an dem Fertigungs- und/oder Montageprozess beteiligt ist. Beispielsweise kann es sich bei dem Nutzer um einen Maschinenbediener oder einem Arbeiter, der das Werkstück bearbeitet, handeln.
In einem Aspekt der Erfindung ist als ein weiterer Schritt der hierin beschriebenen Verfahren das Erzeugen einer Animation basierend auf dem digitalen Ablaufplan vorgesehen.
Es ist auch möglich, dass aus den Referenzdaten eine Animation erstellt wird. Ganz allgemein gesprochen kann eine Animation beispielsweise Videodaten, Videosequenzen, Zeichnungen, und/oder Tondokumente umfassen. Bevorzugt umfasst eine Animation Videodaten basierend auf 3D-Modellen, welche nicht dem wirklichen Bild entsprechen, d.h. synthetisch erzeugte Videodaten. Animationen können zum Beispiel mittels dafür üblicher Software, wie Blender oder Unreal Engine, basierend auf CAD-Modellen erstellt werden. Animationen können aus verschiedenen Perspektiven dargestellt werden, d.h. bei einer Animation, die abgespielt wird, kann die Kamera wahlweise in gewünschten Perspektiven und/oder Zoom-Level, Brennweite bzw. Vergrößerungsstufe platziert werden. Animationen können auch unter Nutzung von Bewegungstrajektorien, mit gleicher oder erhöhter Geschwindigkeit beim Ablauf oder auch mit unvollständigen Informationen, z.B. zu Drehmoment der Verschraubung, erstellt werden. Die Animationen können dabei als Anleitung oder zum Training von Nutzern und/oder Maschinenbedienern eingesetzt werden. Die Animation kann eine Anleitung von Personen für die Erstellung, Prüfung oder Korrektur eines Bauteiles umfassen. Die Animation kann als augmentierte Information (mittels AR Brille, Lasertracker und/oder Videobeamer), MixedReality, Vertonung (Akustische Beschreibung mittels Stimme oder Warn- Hilfstönen) und/oder haptische Informationen bereitgestellt werden.
In einem Aspekt der Erfindung kann in einem weiteren Schritt ein Erzeugen eines oder mehrerer Steuersignale zum Steuern einer Fertigungs- und/oder Montageanlage und/oder zum Steuern eines Robotersystems vorgesehen sein. Ferner kann in einem weiteren Schritt ein Steuern einer Fertigungs- und/oder Montageanlage und/oder Steuern eines Robotersystems zum Fertigen und/oder Montieren eines Werkstücks unter Verwendung des digitalen Ablaufplans und/oder des einen oder der mehreren Steuersignale vorgesehen sein.
Es ist auch möglich, dass in einem weiteren Schritt ein Erzeugen eines oder mehrerer Regelsignale zum Regeln einer Fertigungs- und/oder Montageanlage und/oder zum Regeln eines Robotersystems vorgesehen sein. Ferner kann in einem weiteren Schritt ein Regeln einer Fertigungs- und/oder Montageanlage und/oder Regeln eines Robotersystems zum
Fertigen und/oder Montieren eines Werkstücks unter Verwendung des digitalen Ablaufplans und/oder des einen oder der mehreren Regelsignale vorgesehen sein.
In einem weiteren Aspekt der Erfindung ist ein Computerprogramm vorgesehen, das Befehle umfasst, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, eines der hierin beschriebenen Verfahren auszuführen.
In einem weiteren Aspekt der Erfindung ist eine Vorrichtung oder ein System zur Datenverarbeitung, umfassend Mittel zur Ausführung der hierin beschriebenen Verfahren, vorgesehen. Die Mittel können insbesondere umfassen: eine Kamera, einen Sensor, eine Auswerteeinrichtung, eine Steuereinrichtung und/oder beliebige Kombinationen davon, und/oder ferner jegliche Vorrichtungen, welche weiter unten in den Ausführungsbeispielen im Rahmen des dort erläuterten Überwachungssystems genannt sind.
Die oben beschriebenen Verfahren können in einer Vielzahl von Applikationsfeldern zum Einsatz kommen. Zu den Applikationsfeldern zählen beispielsweise industrielle Montage, Zusammenbau, Fertigungsprozesse, Anlagenbau und medizinische oder biologische Labore. Die oben beschriebenen Verfahren können auch zur Überwachung von Arbeitsprozessen, insbesondere einem Fertigungs- und/oder Montageprozess, eingesetzt werden.
Des Weiteren können bei den oben genannten Verfahren eine Vielzahl von Systemen, Maschinen oder Komponenten zum Einsatz kommen. Dazu zählen beispielsweise Kameras, 3D Sensoren, Streifen projektoren, Laserlinienscanner, Lidar, Sensoren für Kraft oder Drehmoment, Industrieroboter, artikulierte Roboterarme, Scara-Roboter, lineare Aktuatoren, kollaborative Roboter, Multi-Roboter, androide Roboter und kamerabasierte Steuerungen von Robotern. Bei den Verfahren können auch Human Machine Interfaces (HMI) eingesetzt werden. HMI können üblicherweise Monitore, Computermäuse, AR / VR Brillen, haptische Handschuhe und/oder Head-, Eye-, Body-Tracker umfassen.
Das Erzeugen der Referenzdaten kann mittels eines Maschinenlern-Modells erfolgen. Auch der digitalen Ablaufplans kann mittels eines Maschinenlern-Modells erzeugt werden.
Des Weiteren ist es auch möglich, dass andere Verfahrensschritte auf dem Verwenden eines Maschinenlern-Modells oder Maschinenlern-Algorithmus basieren. Maschinelles Lernen kann sich auf Algorithmen und statistische Modelle beziehen, die Computersysteme verwenden können, um eine bestimmte Aufgabe ohne Verwendung expliziter Anweisungen auszuführen, anstatt sich auf Modelle und Inferenz zu verlassen. Beim maschinellen Lernen kann beispielsweise anstatt einer auf Regeln basierenden Transformation von Daten, eine Transformation von Daten verwendet werden, die aus einer Analyse von Verlaufs- und/oder
Trainings-Daten hergeleitet werden kann. Beispielsweise kann der Inhalt von Bildern unter Verwendung eines Maschinenlern-Modells oder unter Verwendung eines Maschinenlern- Algorithmus analysiert werden. Damit das Maschinenlern-Modell den Inhalt eines Bildes analysieren kann, kann das Maschinenlern-Modell unter Verwendung von Trainingsbildern als Eingabe und Trainingsinhaltsinformation als Ausgabe trainiert werden. Durch Trainieren des Maschinenlern-Modells mit einer großen Anzahl von Trainingsbildern und/oder Trainingssequenzen (z. B. Wörtern oder Sätzen) und zugeordneter Trainingsinhaltsinformation (z. B. Kennzeichnungen oder Anmerkungen) „lernt“ das Maschinenlern-Modell, den Inhalt der Bilder zu erkennen, sodass der Inhalt von Bildern, die in den Trainingsdaten nicht umfasst sind, unter Verwendung des Maschinenlern-Modells erkannt werden kann. Das gleiche Prinzip kann für andere Arten von Sensordaten ebenfalls verwendet werden: Durch Trainieren eines Maschinenlern-Modells unter Verwendung von Trainingssensordaten und einer erwünschten Ausgabe „lernt“ das Maschinenlern-Modell eine Umwandlung zwischen den Sensordaten und der Ausgabe, was verwendet werden kann, um eine Ausgabe basierend auf an das Maschinenlern-Modell bereitgestellten Nicht- Trainings-Sensordaten bereitzustellen. Die bereitgestellten Daten (z.B. Sensordaten, Metadaten und/oder Bilddaten) können vorverarbeitet werden, um einen Merkmalsvektor zu erhalten, welcher als Eingang für das Maschinenlern-Modell verwendet wird.
Maschinenlern-Modelle können unter Verwendung von Trainingseingabedaten trainiert werden. Die oben angeführten Beispiele verwenden ein Trainingsverfahren, das „Supervised Learning“ genannt wird. Beim Supervised Learning wird das Maschinenlern-Modell unter Verwendung einer Mehrzahl von Trainingsabtastwerten trainiert, wobei jeder Abtastwert eine Mehrzahl von Eingabedatenwerten und eine Mehrzahl von erwünschten Ausgabewerten, d. h. jedem Trainingsabtastwert ist ein erwünschter Ausgabewert zugeordnet, umfassen kann. Durch Angeben sowohl von Trainingsabtastwerten als auch erwünschten Ausgabewerten „lernt“ das Maschinenlern-Modell, welcher Ausgabewert basierend auf einem Eingabeabtastwert, der ähnlich zu den während des Trainings bereitgestellten Abtastwerten ist, bereitzustellen ist. Neben dem Supervised Learning kann auch Semi-Supervised Learning verwendet werden. Beim Semi-Supervised Learning fehlt einigen der Trainingsabtastwerte ein erwünschter Ausgabewert. Supervised Learning kann auf einem Supervised Learning-Algorithmus basieren (z. B. einem Klassifizierungsalgorithmus, einem Regressionsalgorithmus oder einem Ähnlichkeitslernen-Algorithmus).
Klassifizierungsalgorithmen können verwendet werden, wenn die Ausgaben auf eine begrenzte Menge von Werten (kategorische Variablen) beschränkt sind, d. h. die Eingabe ist als einer aus dem begrenzten Satz von Werten klassifiziert. Regressionsalgorithmen können verwendet werden, wenn die Ausgaben irgendeinen Zahlenwert (innerhalb eines Bereichs)
ausweisen. Ähnlichkeitslernen-Algorithmen können sowohl Klassifizierungs- als auch Regressionsalgorithmen ähnlich sein, basieren aber auf dem Lernen aus Beispielen unter Verwendung einer Ähnlichkeitsfunktion, die misst, wie ähnlich oder verwandt zwei Objekte sind. Neben dem Supervised Learning oder Semi-Supervised Learning kann Unsupervised Learning verwendet werden, um das Maschinenlern-Modell zu trainieren. Beim Unsupervised Learning werden möglicherweise (nur) Eingabedaten bereitgestellt und ein Unsupervised Learning-Algorithmus kann verwendet werden, um eine Struktur in den Eingabedaten zu finden (z. B. durch Gruppieren oder Clustern der Eingabedaten, Finden von Gemeinsamkeiten in den Daten). Clustern ist die Zuweisung von Eingabedaten, die eine Mehrzahl von Eingabewerten umfassen, in Teilmengen (Cluster), sodass Eingabewerte innerhalb desselben Clusters gemäß einem oder mehreren (vordefinierten) Ähnlichkeitskriterien ähnlich sind, während sie Eingabewerten, die in anderen Clustern umfasst sind, unähnlich sind.
Verstärkendes Lernen ist eine dritte Gruppe von Maschinenlern-Algorithmen. Anders ausgedrückt, verstärkendes Lernen kann verwendet werden, um das Maschinenlern-Modell zu trainieren. Beim verstärkenden Lernen werden ein oder mehrere Software-Akteure (sogenannte „Software Agents“) trainiert, um Handlungen in einer Umgebung vorzunehmen. Basierend auf den vorgenommenen Handlungen wird eine Belohnung berechnet. Verstärkendes Lernen basiert auf dem Trainieren des einen oder der mehreren Software Agents, um die Handlungen auszuwählen, derart, dass die kumulative Belohnung erhöht wird, was zu Software Agents führt, die in der Aufgabe, die ihnen gegeben wird, besser werden (wie durch steigende Belohnungen nachgewiesen).
Ferner können einige Techniken auf einige der Maschinenlern-Algorithmen angewandt werden. Zum Beispiel kann Feature Learning verwendet werden. Anders ausgedrückt, das Maschinenlern-Modell kann zumindest teilweise unter Verwendung von Feature Learning trainiert werden, und/oder der Maschinenlern-Algorithmus kann eine Feature Learning- Komponente umfassen. Feature Learning-Algorithmen, die Representation Learning- Algorithmen genannt werden, können die Information in ihrer Eingabe erhalten, sie aber derart transformieren, dass sie nützlich wird, häufig als Vorverarbeitungsstufe vor dem Ausführen der Klassifizierung oder dem Vorhersagen. Feature Learning kann beispielsweise auf einer Hauptkomponenten-Analyse oder Cluster-Analyse basieren.
Bei einigen Beispielen kann eine Anomaliedetektion (d. h. Ausreißer-Detektion) verwendet werden, die darauf abzielt, eine Identifizierung von Eingabewerten bereitzustellen, die Verdacht erregen, da sie sich erheblich von der Mehrheit von Eingabe- und Trainingsdaten
unterscheiden. Anders ausgedrückt, das Maschinenlern-Modell kann zumindest teilweise unter Verwendung von Anomaliedetektion trainiert werden, und/oder der Maschinenlern- Algorithmus kann eine Anomaliedetektions-Komponente umfassen.
Bei einigen Beispielen kann der Maschinenlern-Algorithmus einen Entscheidungsbaum als Vorhersagemodell verwenden. Anders ausgedrückt, das Maschinenlern-Modell kann auf einem Entscheidungsbaum basieren. Bei einem Entscheidungsbaum können die Beobachtungen zu einem Gegenstand (z. B. einer Menge von Eingabewerten) durch die Zweige des Entscheidungsbaums dargestellt werden, und ein Ausgabewert, der dem Gegenstand entspricht, kann durch die Blätter des Entscheidungsbaums dargestellt werden. Entscheidungsbäume können sowohl diskrete Werte als auch fortlaufende Werte als Ausgabewerte unterstützen. Wenn diskrete Werte verwendet werden, kann der Entscheidungsbaum als Klassifizierungsbaum bezeichnet werden, wenn fortlaufende Werte verwendet werden, kann der Entscheidungsbaum als Regressionsbaum bezeichnet werden.
Assoziationsregeln sind eine weitere Technik, die bei Maschinenlern-Algorithmen verwendet werden kann. Anders ausgedrückt, das Maschinenlern-Modell kann auf einer oder mehreren Assoziationsregeln basieren. Assoziationsregeln werden erstellt, indem Verhältnisse zwischen Variablen bei großen Datenmengen identifiziert werden. Der Maschinenlern- Algorithmus kann eine oder mehrere Verhältnisregeln identifizieren und/oder nutzen, die das Wissen darstellen, das aus den Daten hergeleitet ist. Die Regeln können z. B. verwendet werden, um das Wissen zu speichern, zu manipulieren oder anzuwenden.
Maschinenlern-Algorithmen basieren normalerweise auf einem Maschinenlern-Modell. Anders ausgedrückt, der Begriff „Maschinenlern-Algorithmus“ kann einen Satz von Anweisungen bezeichnen, die verwendet werden können, um ein Maschinenlern-Modell zu erstellen, zu trainieren oder zu verwenden. Der Begriff „Maschinenlern-Modell“ kann eine Datenstruktur und/oder einen Satz von Regeln bezeichnen, die/der das erlernte Wissen darstellt (z. B. basierend auf dem durch den Maschinenlern-Algorithmus ausgeführten Training). Bei Ausführungsbeispielen kann die Verwendung eines Maschinenlern- Algorithmus die Verwendung eines zugrundeliegenden Maschinenlern-Modells (oder einer Mehrzahl von zugrundeliegenden Maschinenlern-Modellen) implizieren. Die Verwendung eines Maschinenlern-Modells kann implizieren, dass das Maschinenlern-Modell und/oder die Datenstruktur/der Satz von Regeln, welche das Maschinenlern-Modell ist/sind, durch einen Maschinenlern-Algorithmus trainiert wird.
Beispielsweise kann das Maschinenlern-Modell ein künstliches neuronales Netz (ANN; artificial neural network) sein. ANNs sind Systeme, die durch biologische neuronale Netze
inspiriert sind, wie sie in einer Netzhaut oder einem Gehirn zu finden sind. ANNs umfassen eine Mehrzahl von zwischenverbundenen Knoten und eine Mehrzahl von Verbindungen, sogenannte Kanten (edges), zwischen den Knoten. Es gibt normalerweise drei Knotentypen, Eingabeknoten, die Eingabewerte empfangen, versteckte Knoten, die (nur) mit anderen Knoten verbunden sind, und Ausgabeknoten, die Ausgabewerte bereitstellen. Jeder Knoten kann ein künstliches Neuron darstellen. Jede Kante kann Information senden, von einem Knoten zum anderen. Die Ausgabe eines Knoten kann als eine (nichtlineare) Funktion der Eingaben definiert sein (z.B. der Summe seiner Eingaben). Die Eingaben eines Knoten können in der Funktion basierend auf einem „Gewicht“ der Kante oder des Knoten, der die Eingabe bereitstellt, verwendet werden. Das Gewicht von Knoten und/oder von Kanten kann in dem Lernprozess angepasst werden. Anders ausgedrückt, das Training eines künstlichen neuronalen Netzes kann ein Anpassen der Gewichte der Knoten und/oder Kanten des künstlichen neuronalen Netzes umfassen, d. h. um eine erwünschte Ausgabe für eine bestimmte Eingabe zu erreichen.
Alternativ kann das Maschinenlern-Modell eine Support-Vector-Machine, ein Random- Forest-Modell oder ein Gradient-Boosting-Modell sein. Support Vector Machines (d. h. Stützvektornetze) sind Supervised Learning-Modelle mit zugeordneten Lernalgorithmen, die verwendet werden können, um Daten zu analysieren (z. B. in einer Klassifizierungs- oder Regressionsanalyse). Support Vector Machines können durch Bereitstellen einer Eingabe mit einer Mehrzahl von Trainingseingabewerten, die zu einer von zwei Kategorien gehören, trainiert werden. Die Support Vector Machine kann trainiert werden, um einer der beiden Kategorien einen neuen Eingabewert zuzuweisen. Alternativ kann das Maschinenlern-Modell ein bayessches Netz sein, das ein probabilistisches gerichtetes azyklisches graphisches Modell ist. Ein bayessches Netz kann einen Satz von Zufallsvariablen und ihre bedingten Abhängigkeiten unter Verwendung eines gerichteten azyklischen Graphen darstellen. Alternativ kann das Maschinenlern-Modell auf einem genetischen Algorithmus basieren, der ein Suchalgorithmus und heuristische Technik ist, die den Prozess der natürlichen Selektion imitiert.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
Bevorzugte Ausführungsformen der vorliegenden Offenbarung werden nachfolgend mit Bezugnahme auf die folgenden Figuren beschrieben:
Fig. 1 : Verfahren zum Erzeugen 100 von Referenzdaten gemäß Ausführungsformen der
Erfindung.
Fig. 2: Verfahren zum Steuern und/oder Regeln und/oder Inspizieren 200 eines
Fertigungs- und/oder Montageprozesses gemäß Ausführungsformen der Erfindung.
Fig. 3: Verfahren zum Erzeugen 300 von Referenzdaten mit Anpassungen durch einen
Nutzer gemäß Ausführungsformen der Erfindung.
Fig. 4: Überwachungssystem 400 in der Produktion gemäß Ausführungsformen der
Erfindung.
Fig. 5: Überwachungssystem 400 gemäß der in Fig. 4 dargestellten Ausführungsform zur Überwachung eines Fertigungs- und/oder Montageprozesses für ein zusammengesetztes Werkstück.
Fig. 6: Ebenen 600 eines Fertigungs- und/oder Montageprozesses gemäß
Ausführungsformen der Erfindung.
Fig. 7: Verfahren zur Überwachung 700 mittels Referenzdaten gemäß
Ausführungsformen der Erfindung.
Fig. 8: Ein Ausführungsbeispiel 800 zur Erzeugung von Referenzdaten gemäß
Ausführungsformen der Erfindung.
Fig. 9: Ein Ausführungsbeispiel 900 zur Verwendung von Referenzdaten für die
Montageinspektion gemäß Ausführungsformen der Erfindung in einer Überblicksansicht.
Fig. 10A,B: Ein Ausführungsbeispiel 1000 zur Verwendung von Referenzdaten für die Montageinspektion gemäß Ausführungsformen der Erfindung in einer Implementierungsansicht.
DETAILLIERTE BESCHREIBUNG
Im Folgenden werden Ausführungsformen der Erfindung beschrieben, bei welchen ein computer-implementiertes Verfahren zum Erzeugen von Referenzdaten für die Verwendung in einem Fertigungs- und/oder Montageprozess zum Einsatz kommt.
Fig. 1 zeigt eine schematische Darstellung des Verfahrens zum Erzeugen 100 von Referenzdaten gemäß Ausführungsformen der Erfindung.
In einem ersten Verfahrensschritt erfolgt das Erhalten 101 eines digitalen Modells eines Werkstücks. In einem weiteren Schritt sieht das Verfahren das Erhalten 102 von Videodaten des Fertigungs- und/oder Montageprozesses des Werkstücks vor. Schließlich erfolgt in einem weiteren Schritt das Erzeugen 103 eines digitalen Ablaufplans des Fertigungs- und/oder Montageprozesses basierend auf dem digitalen Modell und den Videodaten.
Das Werkstück umfasst dabei mehrere Bausteine. Der Fertigungs- und/oder Montageprozess sieht vor, dass die Bausteine aufeinander angeordnet und mittels einer an den Bausteinen vorgesehenen Steckverbindung miteinander verbunden werden. Das digitale Modell ist dabei ein CAD-Modell, das die geometrischen Daten der Bausteine sowie ihre Lage zueinander umfasst. Des Weiteren werden die Bausteine mittels einer Kamera erfasst. Die mittels der Kamera erfassten Videodaten werden auf einem Speichermedium abgespeichert. In einem weiteren Schritt wird ein digitaler Ablaufplan des Fertigungs- und/oder Montageprozesses basierend auf dem digitalen Modell und den Videodaten erzeugt. Der digitale Ablaufplan und/oder die Referenzdaten können dabei in-line, d.h. während der Erfassung der Videodaten, und/oder offline, d.h. nachdem die Videodaten erfasst und abgespeichert worden sind, erzeugt werden. Eine Offline-Verarbeitung ist besonders zweckmäßig bei großen Datenmengen.
Nachdem die geometrischen Daten der Bausteine durch das CAD-Modell erfasst worden sind, können sie vorteilhafterweise beim Erhalten 102 der Videodaten eingesetzt werden. Bei dem Erhalten 102 der Videodaten wird demnach insbesondere die Position der Bausteine erfasst.
Das Erzeugen 103 des digitalen Ablaufplans erfolgt mittels eines Maschinenlern-Modells.
Der digitale Ablaufplan wird in einem weiteren Schritt einer Vielzahl von unterschiedlichen Robotersystemen zur Verfügung gestellt. Dabei sind einige der Robotersystem mit einem Roboterarm ausgerüstet, während andere Robotersysteme zwei oder mehrere Roboterarme aufweisen. Jedes Robotersystem kann den digitalen Ablaufplan in Referenzdaten und in eine Fahrwegbeschreibung übersetzen. Dabei sind die Referenzdaten und die Fahrwegbeschreibung maschinenspezifisch. Der digitale Ablaufplan ist dagegen ein universeller und maschinenunabhängiger Plan zum Ablauf des Fertigungs- und/oder Montageprozesses. Es kann bei dem Verfahren sichergestellt werden, dass jedes Robotersystem auf die für das jeweilige Robotersystem passende Art und Weise zum Ziel der Montage kommt.
Fig. 2 zeigt ein Verfahren zum Steuern und/oder Regeln und/oder Inspizieren 200 eines Fertigungs- und/oder Montageprozesses gemäß Ausführungsformen der Erfindung.
Dabei erfolgt in einem ersten Schritt das Erzeugen 100 von Referenzdaten.
In einem zweiten Schritt erfolgt ein Bereitstellen 202 einer Arbeitsanweisung für einen Agenten. Der Agent umfasst dabei ein Robotersystem, das die Arbeitsanweisung ausführen kann. Es wird dabei vorab geprüft, ob das Robotersystem die notwendigen Freiheitsgrade aufweist, um die Arbeitsanweisung ausführen zu können.
In einem dritten Schritt wird ein Erfassen 203 eines Istzustands des Fertigungs- und/oder Montageprozesses durchgeführt. Dabei basiert das Erfassen 203 des Istzustands auf Videodaten des Fertigungs- und/oder Montageprozesses.
In einem vierten Schritt erfolgt ein Erkennen 204 einer Abweichung des Istzustands von einem Sollzustand. Dabei weist der Sollzustand Referenzdaten für den Fertigungs- und/oder Montageprozess auf. Die Referenzdaten umfassen einen digitalen Ablaufplan.
In einem fünften Schritt erfolgt ein Erzeugen 205 eines Inspektionsergebnisses und/oder einer Arbeitsanweisung für den Agenten. Die erzeugte Arbeitsanweisung kann daraufhin zum Bereitstellen 202 der Arbeitsanweisung für den Agenten gemäß dem zweiten Schritt verwendet werden. Das Verfahren bildet somit einen Regelkreis.
Fig. 3 zeigt ein Verfahren zum Erzeugen 300 von Referenzdaten mit Anpassungen durch einen Nutzer gemäß Ausführungsformen der Erfindung.
In einem ersten Schritt wird dabei eine Identifizierung 301 von Prozessschritten bzw. Phasen als Teilsequenzen im Video durchgeführt. Ein erster identifizierter Prozessschritt kann beispielsweise ein Bohrprozess sein, während ein zweiter identifizierter Prozessschritt ein Verschraubungsprozess ist. Der Identifizierung 301 stehen dabei Videodaten und ein digitales Modell zur Verfügung.
In einem zweiten Schritt erfolgt die semantische Segmentierung 302 von Werkstückkomponenten, Werkzeugen, Bedienern und/oder Hintergrund. Dabei wird erfasst, welche Art von Werkzeug im Fertigungsprozess zum Einsatz kommt. Bei den Werkzeugen kann es sich beispielsweise um einen Bohrer und einen Schraubenschlüssel handeln. Auch in diesem Schritt wird das (jeweilige) digitale Modell eingesetzt.
In einem dritten Schritt erfolgt die Erkennung und Identifizierung 303 von Objekten und Instanzen. Objekte und Instanzen sind dabei unter anderem das Werkstück und die
Werkzeugkomponenten. Instanzen sind mehrere gleiche oder ähnliche Objekte, hier z.B. mehrere Schrauben, die (nacheinander) verschraubt werden. Auch in diesem Schritt wird das digitale Modell eingesetzt.
In einem vierten Schritt sind Anpassungen 304 durch einen Nutzer vorgesehen. Der Nutzer ist dabei ein Maschinenbediener mit Fachwissen über den Fertigungsprozess. Der Nutzer kann dabei beispielsweise die Ergebnisse der ersten Schritte korrigieren. Er kann beispielsweise das zu verwendende Werkzeug korrigieren oder näher spezifizieren. Der Nutzer kann dem Verfahren ferner weitere Informationen zur Verfügung stellen, insbesondere Information, die durch die Videodaten nicht erfasst werden können.
In einem fünften Schritt erfolgt die Zusammenstellung 305 zu einem konsistenten Datensatz. Der Datensatz umfasst dabei die Liste der Phasen, Werkzeuge, Komponenten und Handlungsanweisungen.
Schließlich werden aus dem konsistenten Datensatz Referenzdaten erzeugt.
Fig. 4 zeigt ein Überwachungssystem 400 in der Produktion gemäß Ausführungsformen der Erfindung.
Das Überwachungssystem 400 kommt zwischen einem ersten Produktionsprozess 450 und einem zweiten Produktionsprozess 460 zum Einsatz.
Das Überwachungssystem 400 führt in einem ersten Schritt eine Anomaliedetektion 410 durch. Dazu werden Videodaten eines Werkstücks 440 mittels einer Kamera 411 erfasst. Des Weiteren findet eine Bewertung 412 einer Abweichung eines Istzustands von einem Sollzustand statt. Der Sollzustand umfasst Referenzdaten des ersten Produktionsprozesses 450 und des zweiten Produktionsprozesses 460.
In einem zweiten Schritt führt das Überwachungssystem 400 Maßnahmen zur Beseitigung der Abweichung durch. Dazu findet zunächst eine Notwendigkeitsprüfung 420 statt, bei der bestimmt wird, ob eine Maßnahme notwendig ist oder nicht. Ist keine Maßnahme notwendig, wird ein Arbeiter 441 mittels eines Bildschirms 442 informiert. Ist eine Maßnahme notwendig, wird in einem nächsten Schritt 421 die Art der Maßnahme bestimmt. Es handelt sich bei der Art der Maßnahme üblicherweise um eine Korrekturmaßnahme am Werkstück 440. Sobald die Art der Maßnahme bestimmt wurde, wird der Arbeiter 441 mittels des Bildschirms 442 informiert. Der Arbeiter 441 führt dann die Korrekturmaßnahme am Werkstück 440 durch.
Alternativ oder ergänzend kann das Überwachungssystem 400 weitere Korrekturmaßnahmen am Werkstück 440 mittels eines Robotersystems 443 durchführen. Bei den weiteren Korrekturmaßnahmen handelt es sich beispielsweise um Maßnahmen, die der Arbeiter 441 beispielsweise nicht händisch ausführen kann. Ebenso kann es sich um eine rein robotische Korrektur handeln, so dass die Korrektur rein maschinell und ohne Arbeiter erfolgt.
Anschließen wird das Werkstück 440 an den zweiten Produktionsprozess 460 weitergegeben.
Das Überwachungssystem 400 umfasst Datenbanken 490, 491 , 492 und 493, die beim Überwachungsprozess zum Einsatz kommen. In den Datenbanken können folgende Informationen bzw. beliebige Kombinationen davon, abgespeichert sein: Muster zur Erkennung von Anomalien und/oder Unregelmäßigkeiten (491 ), Bewertungsmaßstäbe und/oder Metriken zur Quantifizierung einer Abweichung (490), Nachschlagetabellen zur Behebung spezieller Abweichungen (492), Tabellen oder Modelle zur automatisierten Korrektur von Abweichungen (493), d.h. zur Durchführung der vorgeschlagenen Korrekturmaßnahme. In die jeweiligen Datenbanken und deren Informationsverarbeitung werden in der Regel auch die beschriebenen Referenzdaten einfließen.
Fig. 5 zeigt die Ausführungsform gemäß Fig. 4, wobei das Überwachungssystem 400 einen Fertigungs- und/oder Montageprozess überwacht und es sich bei dem Werkstück 440 um ein zusammengesetztes Werkstück handelt.
Das zusammengesetzte Werkstück umfasst mehrere aufeinander angeordnete Bausteine. Die Bausteine weisen unterschiedliche Farben auf. Mittels der Anomaliedetektion 410 wird festgestellt, dass ein gelber Baustein falsch angeordnet ist und die Bausteine nicht richtig miteinander verschraubt sind. Der Fertigungs- und/oder Montageprozess sieht statt des gelben Bausteins einen blauen Baustein vor. Die Maßnahmen werden daraufhin bestimmt und an den Arbeiter 441 und den Roboter 443 weitergegeben. Der Arbeiter 441 legt dem Roboter 443 einen blauen Baustein bereit. Im nächsten Schritt tauscht der Roboter 443 den gelben Baustein gegen den blauen Baustein aus.
Fig. 6 zeigt verschiedene Komplexitäts-Ebenen 600, auf welchen die Aspekte der Erfindung in einem Fertigungs- und/oder Montageprozess gemäß Ausführungsformen der Erfindung Anwendung finden können. Dargestellt sind hier unterschiedliche beispielhafte Komplexitätsstufen:
630 sind rein statische Auswertungen und/oder Abgleiche (theoretisch kann hier ein Einzelbild als Abgleich reichen).
620 sind dynamische Prozesse und/oder Auswertungen (hierzu müssen mindestens Bildsequenzen und/oder Videos als Abgleich genutzt werden, um z.B. auch Prozesszeiten zu überwachen; Bsp.: Aushärtezeit bei Klebeprozess); 630 ist eine Teilmenge von 620.
610 umfasst neben Zusammenbau auch Verarbeitungsprozesse (zerspanen, umformen, lackieren, ...); 620 ist eine Teilmenge von 610.
Es sei betont, dass Fig. 6 nur beispielhaft beschriebene Verfahren, Prozesse und Schritte umfasst und die Aufzählung nicht abschließend ist.
Die hierin beschriebenen Verfahren können auf alle Ebenen 600 Einfluss haben. Die Ebenen 600 umfassen dabei Herstellungsverfahren 610, Fertigungs- und/oder Montageprozesse 620 und Fertigungs- und/oder Montageschritte 630.
Herstellungsverfahren 610 umfassen im dargestellten Beispiel ohne Anspruch auf Vollständigkeit Umformtechniken 611 , Schneiden und Trennen 612 und Beschichten 613. Fertigungs- und/oder Montageprozesse 620 umfassen im dargestellten Beispiel ohne Anspruch auf Vollständigkeit Handling 621 , Werkzeugbereitstellung 622 und Timing 623. Montageschritte 630 umfassen im dargestellten Beispiel ohne Anspruch auf Vollständigkeit Detektion oder Inspektion der richtigen Anzahl und/oder Präsenz der Komponenten631 , Detektion oder Inspektion der korrekten Lage der Teile zueinander 632, Detektion oder Inspektion der Richtigkeit der Komponenten insbesondere bei Vertauschung ähnlicher Komponenten 633 und Dokumentation 634. Die dargestellten Handlungsverfahren 610-613, Fertigungs- und/oder Montageprozesse 620-623 und Fertigungs- und/oder Montageschritte 630-634 sind lediglich beispielhaft und in anderen Ausführungsformen können beliebige andere Elemente in beliebiger Anzahl vorgesehen sein.
Bei der Inspektion oder Validierung des Fertigungs- und/oder Montageprozesses 620 können die hierin beschriebenen Verfahren unterschiedlich eingesetzt werden. Es ist dabei möglich, dass eine Erweiterung der Inspektion von Montageschritten durch Beobachtung des Prozesses, der Werkzeuge und der Art der Ausführung durchgeführt wird. Beim Handling 621 kann die Beobachtung einer kollisionsfreien Teilebewegung durchgeführt werden. Bei der Werkzeugbereitstellung 622 kann eine Verwendung der richtigen Werkzeuge und Parameter gewährleistet werden. Optional ist dabei z.B. der Anschluss eines Drehmomentsensors für die Verschraubung. Beim Timing 623 kann die Überwachung der
Aushärtezeit o.ä. verbessert werden. Auch die Erkennung von später unsichtbaren Bauteilen oder Klebstoffen können Teil der Beobachtung sein.
Bei der Überprüfung und/oder Validierung von Montageschritten 630 kann eine stationäre oder mobile Kamera eingesetzt werden.
Dabei kann eine simultane Rückmeldung über beobachtete Abweichungen durchgeführt werden. Beispielsweise kann die Vollständigkeit beobachten werden, indem fehlende Komponenten identifiziert werden. Ferner kann die Ausrichtung beobachtet werden, indem die Plausibilität der Bauteilausrichtung überprüft wird. Schließlich können auch Defekte an sichtbaren Bauteilen, insbesondere die Oberfläche oder Form der Bauteile, beobachtet werden.
Es kann auch eine automatische Dokumentation stattfinden. Dabei kann ein intelligentes Datenhandling durch automatische Erkennung von Produkt, Montagestufe und Kam era Perspektive stattfinden.
Auch ein schnelles Einlernen und Anpassen an neue Baugruppen kann durchgeführt werden. Dabei können Referenzdaten eingesetzt werden, wobei die Referenzdaten auf Basis von CAD-Modellen der Baugruppen und der Komponenten, Montageplänen, Informationen zur Oberflächentextur und/oder gemeinsamen Datenbanken ähnlicher Teile mit „machine learning“ (ML)-trainierter Fehlererkennung (z. B. Oberfläche) erzeugt werden.
Fig. 7 zeigt ein Verfahren zur Überwachung 700 mittels Referenzdaten gemäß Ausführungsformen der Erfindung.
In einem ersten Schritt A werden Referenzdaten vorbereitet. In einem zweiten Schritt B wird einem Agenten eine Aufgabe bzw. Arbeitsanweisung geben. In einem dritten Schritt C findet eine Rekonstruktion des aktuellen Zustands bzw. Istzustands mit Hilfe von Sensoren und Datenfusion statt. Im vierten Schritt D findet ein Vergleich und eine Bewertung des Istzustands im Vergleich zu den Referenzdaten statt. Im fünften Schritt E wird eine Systemrückmeldung an den Agenten über den durchgeführten Prozess durchgeführt.
Es ist dabei möglich, dass Systemrückmeldung während der Prozessausführung durchgeführt wird (z.B. schrittweise oder permanente Inline-Kontrolle).
In einer weiteren Ausführungsform der Erfindung führt eine Person eine Montage in zwei Hauptschritten durch:
1. Hauptschritt: Teil X wird auf Teil Y ausgerichtet, eingeführt und/oder eingeklickt
2. Hauptschritt: Teil X wird an Teil Y befestigt (verschraubt und/oder verklebt)
Mindestens eine Kamera erfasst den Montagevorgang. Dabei entstehen Videodaten. CAD- Modelle von Teil X und Y liegen in gespeicherter Form vor. Die Videodaten werden offline algorithmisch verarbeitet, um relevante Informationen zu extrahieren.
Bei der Verarbeitung der Videodaten werden folgende Schritte durchlaufen:
1 . Objekte (Teil A und Teil B), Gegenstände und Personen werden in den Videodaten erkannt
2. Erkennung von Montageschritten und -phasen und Art
3. (relative) Lage/Pose relevanter Teile und Gegenstände (Werkzeuge) zueinander wird detektiert und getrackt
4. Speicherung des digitalen Ablaufplans
Anschließend werden Referenzdaten visualisiert, auf Vollständigkeit geprüft und ergänzt. Die Referenzdaten werden als Arbeitsanweisung („Content Creation für Augmented Reality“) genutzt.
Des Weiteren werden die Referenzdaten als Ansteuerung für Roboter genutzt. Es besteht die Möglichkeit zwei Implementierungsoptionen durchzuführen.
Die erste Implementierungsoption sieht eine adaptive Planung der Bewegung mittels aktueller bzw. tatsächlicher Ausgangslage vor. Die erste Implementierungsoption umfasst dabei eine Detektion der aktuellen Posen der Objekte, eine Robotertrajektorienplanung mit Hilfe dieser Eingaben, wobei die Robotertrajektorienplanung Robotermodell abhängig ist und eine Greifplanung, ggf. mit extrahierten GreifpunktenZ-strategie aus Referenzdaten.
Die zweite Implementierungsoption sieht ein imitiertes Lernen durch weitere Vorverarbeitung der Referenzdaten vor. Dabei wird in einem ersten Schritt ein Lernen von
Bewegungsprimitiven (Dynamic Movement Primitives) für jeden Einzelschritt der Montage bzw. -phase durchgeführt. Eine adaptive Planung wie bei der ersten Implementierungsoption findet dabei nicht statt. Stattdessen wird eine gelernte Bewegung zu einem (relativen) Ziel durchgeführt bzw. imitiert. Die Bewegung kann dabei derart gelernt werden, dass der Soll- Zielzustand und ein möglicher Weg dorthin (relative Trajektorie von zwei zu verbindenden Teilen) immer auf ähnliche Weise ausgeführt werden. Die Ausführung wird damit unabhängig vom Startpunkt, also unabhängig von wo die Teile anfänglich gegriffen werden. Diese Art der
Bewegung ist dann wichtig und vorteilhaft, wenn zwei Teile richtungsspezifisch aneinander ausgerichtet werden sollen, also z.B. das eine Teil mit einer bestimmten Bewegung in das andere eingeführt, aneinander geklickt oder ähnlich wie bei Klemmbausteinen aus der richtigen Richtung kommend aneinander gefügt werden müssen.
Um Kontrollparameter des Roboters zu lernen, ist eine kinematische Simulation erforderlich. Die Simulation ist dabei vom Robotermodell abhängig und kann voll automatisiert (auch offline vor der Ausführung) durchgeführt werden.
Beiden Implementierungsbeispielen kann eine Machbarkeitsprüfung vorausgestellt werden, um zu prüfen, ob die Aufgabe mit den aktuellen Gegebenheiten umgesetzt werden kann. Dabei kann geprüft werden, ob alle erforderlichen Bauteile verfügbar und zugänglich (in Reichweite des Roboters) sind. Des Weiteren kann geprüft werden, ob die Nutzlast und Beweglichkeit (Dexterität) des Roboters ausreicht, eine Lösung zu finden.
In einer weiteren Ausführungsform der Erfindung wird eine Detektion des Zustands am Ende jedes Einzelschritts bzw. jeder Phase durchgeführt. Dabei werden alle Einzelkomponenten und deren räumliche Relation zueinander erkannt.
Die Abspeicherung der Information zum Bauzustand kann nicht nur als Bild oder Foto, sondern als Abfolge des Aufbauzustands im digitalen 3D-Modell oder als Baumstruktur (Montage-Vorranggraph) mit klarer Reihenfolge erfolgen. Es ist auch eine digitale Abspeicherung, z.B. in XML-Dateiformat oder ähnlich generischer Form, möglich.
Es findet daraufhin eine Detektion von Abweichungen mittels der Referenzdaten statt, insbesondere der resultierenden geometrischen Form.
In einem weiteren Schritt wird bei nicht klar beobachtbarem oder beurteilbarem Bauzustand eine Aufforderung an den Arbeiter gesendet, die Kamera-Sichtachse freizuhalten. Es kann ferner eine Bewertung aus anderer verfügbarer Perspektive durchgeführt werden. Es ist auch möglich, dass eine Aufforderung an den Arbeiter gesendet wird, den Bauzustand (in kritischem Bereich) der Beobachtungskamera durch Neupositionierung zugänglich zu machen.
In einem weiteren Schritt wird bei detektierter oder verifizierter Abweichung ein Feedback an den Arbeiter für den Fall manueller Montage gesendet. Dabei werden Markierung der Abweichung angezeigt, z.B. an einem virtuellen Modell auf einem Bildschirm und/oder mittels AR-Technologie. Es kann auch sein, dass eine Markierung der Abweichung auf realem Bauteil durch Projektionseinheit an Montageplatz eingeblendet werden. Ferner kann ein
Hinweis zur Behebung angezeigt werden. Hinweis zur Behebung kann sich auf ein fehlendes Bauteil, ein verwechseltes Bauteil und/oder eine verschobene oder verdrehte Bauteillage beziehen.
Es ist auch möglich, dass eine adaptierte Roboterkontrolle für den Fall einer robotischen Montage durchgeführt wird. Bei einem falschen Bauteil kann ein automatisierter Rückbau bis zum letzten korrekten Zustand durchgeführt werden. Anschließend erfolgt der Einbau des korrekten Bauteils.
Bei einer falschen Lage kann die Fixierung entfernt oder gelöst werden, um mit Greifern die Bauteillage korrigieren zu können (Robotertrajektorienplanung, d.h. über adaptive Planung oder imitation learning). Bei einem fehlenden Bauteil kann der entsprechende Montageschritt wiederholt bzw. ergänzt werden. Auch ein Aussortieren ist möglich, falls die adaptierte Roboterkontrolle nicht möglich oder nicht erfolgreich ist.
Fig. 8 zeigt einen Prozess zur Erzeugung von Referenzdaten anhand eines Ausführungsbeispiels 800.
Im oberen Bereich von Fig. 8 sind die Eingabedaten für den Prozess dargestellt. Die Eingabedaten umfassen 3D-Modelle 802 von Komponenten und eine Videoaufnahme 804 des händischen Zusammenbaus der Komponenten. Im dargestellten Beispiel handelt es sich bei den Komponenten um Klemmbausteine.
Aus den Eingabedaten 802 und 804 erzeugt der Prozess 800 als Ausgabe Referenzdaten 806, die im unteren Bereich von Fig. 8 dargestellt sind. Die erzeugten Referenzdaten 806 umfassen im dargestellten Beispiel Informationen über die Identifikation von sechs aufeinanderfolgende Montageschritten, jeweils mit einer Angabe, welcher Klemmbaustein bei welchem Schritt verbaut worden ist.
Fig. 9 zeigt ein Ausführungsbeispiel 900 zur Verwendung von Referenzdaten für die Montageinspektion gemäß Ausführungsformen der Erfindung in einer Überblicksansicht.
Das Modul 902 ist ein Montageschritt-Klassifizierer, welcher die Schritte und/oder Phasen des Fertigungs- und/oder Montageprozesses klassifizieren kann. Der Klassifizierer gibt eine Wahrscheinlichkeit aus, mit welcher sich der Prozess in einem bestimmten Schritt bzw. einer bestimmten Phase befindet. Hierdurch ist bekannt, in welchem Schritt bzw. welcher Phase sich der Prozess befindet.
Das Modul 904 betrifft die Objektpose. Hier wird das zusammengesetzte Objekt aus einer oder mehreren bestimmten Perspektiven observiert. Hierdurch ist die Pose bzw. die Lage des zusammengesetzten Objekts bekannt.
Die aus den Modulen 902 und 904 gewonnenen Informationen können als Hilfsinformationen in nachfolgenden Auswertungsschritten Verwendung finden.
Das Modul 906 betrifft eine Vollständigkeitsprüfung. Hier erfolgt ein Abgleich der erwarteten Komponenten mit den tatsächlich observierten Komponenten. Hierdurch ist bekannt, ob alle Komponenten, die aus der aktuellen Perspektive sichtbar sein sollten, auch tatsächlich sichtbar sind oder nicht. Dies kann für das Auffinden von fehlenden Teilen hilfreich sein (sog. „Sanity Check“).
Das Modul 908 ist optional und betrifft eine Ausrichtungsprüfung. Hier erfolgt ein Abgleich der Position und Orientierung der Kanten und/oder Ecken im dreidimensionalen Raum (oder einer 2D-Projektion) mit dem Soll. Hierdurch ist bekannt, ob die Ausrichtung der Komponenten innerhalb eines zulässigen Bereichs liegt. Dies kann für das Auffinden von falsch ausgerichteten oder verwechselten Komponenten hilfreich sein.
Fig. 10A und 10B zeigen ein Ausführungsbeispiel 1000 zur Verwendung von Referenzdaten für die Montageinspektion gemäß Ausführungsformen der Erfindung in einer Implementierungsansicht. Der Teilprozess in Fig. 10A wird typischerweise offline durchgeführt, d.h. zur Vorbereitung des eigentlichen Laufzeit-Prozesses in Fig. 10B.
In Schritt 1002 werden, vorzugsweise automatisiert, Trainingsdaten erzeugt. Dies kann beispielsweise mittels geeigneter Software-Werkzeuge wie Blender oder Unreal Engine erfolgen, wie weiter oben bereits beschrieben ist. Die Eingabe in Schritt 1002 sind zusammengesetzte CAD-Modelle für jeden Schritt bzw. Phase. Die Ausgabe 1004, 1008, 1012 von Schritt 1002 sind synthetische und annotierte Bilddaten aus dem Rendering.
In Schritt 1006 wird der Klassifizierer mit Bilddaten 1004, welche mit Schritt- bzw. Phasen- Annotationen assoziiert sind, trainiert. Bei dem Klassifizierer kann es sich beispielsweise um ein YOLO-Netzwerk handeln. In Schritt 1010 wird die Posenabschätzung mit Bilddaten 1008, welche mit Posen-Annotationen assoziiert sind, trainiert. Hierbei kann es sich um eine sogenannte „single-shot“ Posenschätzung handeln (z.B. Yolo_v6, PVNet). In Schritt 1014 wird die Objektsegmentierung mit Bilddaten 1012, welche eine Komponentensegmentierung anzeigen, trainiert. Hierbei kann es sich beispielsweise um ein maskRCNN oder ResNet handeln.
Mit Bezug auf Fig. 10B wird nachfolgend der Prozess zur Laufzeit beschrieben. In Schritt 1016 wird das Montagevideo 1030 mit dem in Schritt 1006 trainierten Netzwerk klassifiziert. Dies stellt eine beispielhafte Implementierung des Moduls Montageschritt-Klassifizierer 902 aus Fig. 9 dar. In Schritt 1018 wird im Montagevideo 1030 die Objektpose mit dem in Schritt 1010 trainierten Netzwerk abgeschätzt. Dies stellt eine beispielhafte Implementierung des Moduls Objektpose 904 aus Fig. 9 dar. In Schritt 1022 wird im Montagevideo 1030 die Objektsegmentierung mit dem in Schritt 1014 trainierten Netzwerk abgeschätzt. In Schritt 1024 erfolgt ein Vergleich mit den erwarteten Teilen, wobei versteckte Teile (aufgrund der Perspektive) respektiert werden (Schritt 1020). Dies stellt eine beispielhafte Implementierung des Moduls Vollständigkeitsprüfung 906 aus Fig. 9 dar. In Schritt 1026 erfolgt auf Basis des Montagevideos 1030 eine (präzise) Objektposen-Abschätzung. Dies kann beispielsweise unter Verwendung von Template-Matching-Verfahren erfolgen. In Schritt 1028 erfolgt ein Vergleich mit den erwarteten relativen Objektposen. Als (weitere) Eingabe für Schritt 1028 können die in Schritt 1002 erzeugten Trainingsdaten dienen. Dies stellt eine beispielhafte Implementierung des Moduls Ausrichtungsprüfung 908 aus Fig. 9 dar. Außerdem kann es vorteilhaft sein, den Schritten 1020, 1024 und 1028 das 3D-Modell des Zusammenbaus zur Verfügung zu stellen, damit perspektivisch versteckte Teile korrekt und auch ohne trainiertes Netzwerk rein analytisch auf Basis der Beobachtungsrichtung bestimmt werden können.
Obwohl einige Aspekte mit Bezug auf eine Vorrichtung, Module und/oder Komponenten beschrieben wurden, ist es klar, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, wobei ein Block oder eine Vorrichtung einem Verfahrensschritt oder einer Funktion eines Verfahrensschritts entspricht. Analog dazu stellen Aspekte, die im Rahmen eines Verfahrensschritts beschrieben werden, auch eine Beschreibung eines entsprechenden Blocks oder Elements oder einer Eigenschaft einer entsprechenden Vorrichtung dar.
Ausführungsbeispiele der Erfindung können in einem Computersystem realisiert werden. Das Computersystem kann eine lokale Computervorrichtung (z.B. Personalcomputer, Laptop, Tablet-Computer oder Mobiltelefon) mit einem oder mehreren Prozessoren und einer oder mehreren Speichervorrichtungen oder kann ein verteiltes Computersystem (z.B. ein Cloud-Computing-System mit einem oder mehreren Prozessoren oder einer oder mehreren Speichervorrichtungen, die an verschiedenen Stellen verteilt sind, zum Beispiel an einem lokalen Client und/oder einer oder mehreren Remote-Server-Farms und/oder Datenzentren) sein. Das Computersystem kann irgendeine Schaltung oder Kombination von Schaltungen umfassen. Bei einem Ausführungsbeispiel kann das Computersystem einen oder mehrere Prozessoren umfassen, die von irgendeinem Typ sein können. Nach hiesigem Gebrauch
kann Prozessor irgendein Typ von Rechenschaltung bedeuten, wie beispielsweise, aber nicht beschränkt auf, ein Mikroprozessor, ein Mikrocontroller, ein Mikroprozessor mit komplexem Befehlssatz (CISC), ein Mikroprozessor mit reduziertem Befehlssatz (RISC), ein Sehr-Ianges-Anweisungswort- (Very Long Instruction Word; VLIW) Mikroprozessor, ein Graphikprozessor, ein digitaler Signalprozessor (DSP), ein Multi-Core-Prozessor, ein feldprogrammierbares Gate-Array (FPGA) oder irgendein anderer Typ von Prozessor oder Verarbeitungsschaltung. Andere Typen von Schaltungen, die in dem Computersystem umfasst sein können, können eine speziell angefertigte Schaltung, eine anwendungsspezifische integrierte Schaltung (ASIC) oder Ähnliches, wie beispielsweise eine oder mehrere Schaltungen (z. B. eine Kommunikationsschaltung) zur Verwendung bei drahtlosen Vorrichtungen wie z. B. Mobiltelefonen, Tablet-Computern, Laptop-Computern, Funksprechgeräten und ähnlichen elektronischen Systemen sein. Das Computersystem kann eine oder mehrere Speichervorrichtungen umfassen, die ein oder mehrere Speicherelemente umfassen können, die für die jeweilige Anwendung geeignet sind, wie beispielsweise einen Hauptspeicher in der Form eines Direktzugriffsspeichers (RAM, Random Access Memory), eine oder mehrere Festplatten und/oder ein oder mehrere Laufwerke, die entfernbare Medien, wie beispielsweise CDs, Flash-Speicherkarten, DVD und Ähnliches handhaben. Das Computersystem kann auch eine Anzeigevorrichtung, einen oder mehrere Lautsprecher, und eine Tastatur und/oder Steuerung umfassen, die eine Maus, Trackball, Touchscreen, Stimmerkennungsvorrichtung oder irgendeine andere Vorrichtung umfassen kann, die es einem Systemnutzer erlaubt, Information in das Computersystem einzugeben und Information von demselben zu empfangen.
Einige oder alle Verfahrensschritte können durch (oder unter Verwendung) einer Hardwarevorrichtung ausgeführt werden, wie es zum Beispiel ein Prozessor, ein Mikroprozessor, ein programmierbarer Computer oder eine elektronische Schaltung sein kann. In einigen Ausführungsbeispielen können ein oder mehrere der wichtigsten Verfahrensschritte durch eine solche Vorrichtung ausgeführt werden.
Abhängig von bestimmten Implementierungsanforderungen können Ausführungsbeispiele der Erfindung in Hardware oder Software implementiert werden. Die Implementierung kann mit einem nicht-flüchtigen Speichermedium wie einem digitalen Speichermedium, wie beispielsweise einer Diskette, einer DVD, einem Blu-Ray, einer CD, einem ROM, einem PROM und EPROM, einem EEPROM oder einem FLASH-Speicher, durchgeführt werden, auf dem elektronisch lesbare Steuersignale gespeichert sind, die mit einem programmierbaren Computersystem so Zusammenwirken (oder Zusammenwirken können),
dass das jeweilige Verfahren durchgeführt wird. Daher kann das digitale Speichermedium computerlesbar sein.
Einige Ausführungsbeispiele gemäß der Erfindung umfassen einen Datenträger mit elektronisch lesbaren Steuersignalen, die mit einem programmierbaren Computersystem Zusammenwirken können, so dass eines der hierin beschriebenen Verfahren durchgeführt wird.
Im Allgemeinen können Ausführungsbeispiele der vorliegenden Erfindung als Computerprogrammprodukt mit einem Programmcode implementiert werden, wobei der Programmcode für die Ausführung eines der Verfahren wirksam ist, wenn das Computerprogrammprodukt auf einem Computer läuft. Der Programmcode kann beispielsweise auf einem maschinenlesbaren Träger gespeichert werden.
Weitere Ausführungsbeispiele umfassen das Computerprogramm zur Durchführung eines der hierin beschriebenen Verfahren, das auf einem maschinenlesbaren Träger gespeichert ist.
Mit anderen Worten, ein Ausführungsbeispiel der vorliegenden Erfindung ist daher ein Computerprogramm mit einem Programmcode zur Durchführung eines der hierin beschriebenen Verfahren, wenn das Computerprogramm auf einem Computer läuft.
Ein weiteres Ausführungsbeispiel der vorliegenden Erfindung ist daher ein Speichermedium (oder ein Datenträger oder ein computerlesbares Medium), das ein darauf gespeichertes Computerprogramm zum Ausführen eines der hierin beschriebenen Verfahren umfasst, wenn es von einem Prozessor ausgeführt wird. Der Datenträger, das digitale Speichermedium oder das aufgezeichnete Medium sind in der Regel greifbar und/oder nicht übergangslos. Eine weiteres Ausführungsbeispiel der vorliegenden Erfindung ist eine Vorrichtung, wie hierin beschrieben, die einen Prozessor und das Speichermedium umfasst.
Ein weiteres Ausführungsbeispiel der Erfindung ist daher ein Datenstrom oder eine Signalfolge, die das Computerprogramm zur Durchführung eines der hierin beschriebenen Verfahren darstellt. Der Datenstrom oder die Signalfolge kann beispielsweise so konfiguriert werden, dass sie über eine Datenkommunikationsverbindung, beispielsweise über das Internet, übertragen werden.
Ein weiteres Ausführungsbeispiel umfasst ein Verarbeitungsmittel, zum Beispiel einen Computer oder eine programmierbare Logikvorrichtung, das konfiguriert oder angepasst ist, um eines der hierin beschriebenen Verfahren auszuführen.
Ein weiteres Ausführungsbeispiel umfasst einen Computer, auf dem das Computerprogramm zum Ausführen eines der hierin beschriebenen Verfahren installiert ist.
Ein weiteres Ausführungsbeispiel gemäß der Erfindung umfasst eine Vorrichtung oder ein System, das konfiguriert ist, um (zum Beispiel elektronisch oder optisch) ein Computerprogramm zum Ausführen eines der hierin beschriebenen Verfahren an einen Empfänger zu übertragen. Der Empfänger kann beispielsweise ein Computer, eine mobile Vorrichtung, eine Speichervorrichtung oder dergleichen sein. Die Vorrichtung oder das System kann beispielsweise einen Dateiserver zum Übertragen des Computerprogramms an den Empfänger umfassen. In einigen Ausführungsbeispielen kann eine programmierbare logische Vorrichtung (z.B. eine feldprogrammierbare Gatteranordnung, FPGA) verwendet werden, um einige oder alle Funktionalitäten der hierin beschriebenen Verfahren auszuführen. In einigen Ausführungsbeispielen kann eine feldprogrammierbare Gatteranordnung mit einem Mikroprozessor Zusammenarbeiten, um eines der hierin beschriebenen Verfahren durchzuführen. Im Allgemeinen werden die Verfahren vorzugsweise von jedem Hardwaregerät durchgeführt.
Claims
1 . Ein computer-implementiertes Verfahren zum Erzeugen (100) von Referenzdaten für die Verwendung in einem Fertigungs- und/oder Montageprozess, mit zumindest den folgenden Schritten:
Erhalten (101 ) eines digitalen Modells eines Werkstücks, wobei das digitale Modell insbesondere ein 3D-Modell ist, wobei das digitale Modell insbesondere ein CAD-Modell ist und wobei das Werkstück insbesondere ein zusammengesetztes Werkstück ist;
Erhalten (102) von Videodaten des Fertigungs- und/oder Montageprozesses des Werkstücks; und
Erzeugen (103) eines digitalen Ablaufplans des Fertigungs- und/oder Montageprozesses basierend zumindest zum Teil auf dem digitalen Modell und den Videodaten.
2. Das Verfahren nach Anspruch 1 , wobei der Schritt des Erzeugens des digitalen Ablaufplans zumindest einen der folgenden Schritte umfasst:
Identifizieren einer Mehrzahl von Prozessschritten des Fertigungs- und/oder Montageprozesses zumindest zum Teil basierend auf den Videodaten und vorzugsweise basierend auf dem digitalen Modell des Werkstücks;
Segmentieren, insbesondere semantisches Segmentieren, der Videodaten, vorzugsweise unter Verwendung des digitalen Modells des Werkstücks, zum Erhalten von Informationen, welche eines oder mehreres umfassen von:
Informationen über das Werkstück;
Informationen über zumindest eine Komponente des Werkstücks;
Informationen über zumindest einen ausgeführten Prozessschritt;
Informationen über zumindest ein verwendetes Werkzeug;
Informationen über zumindest einen am Fertigungs- und/oder Montageprozess teilnehmenden Agenten; und/oder
Informationen über einen in den Videodaten dargestellten Hintergrund.
3. Ein computer-implementiertes Verfahren zum Steuern und/oder Regeln und/oder Inspizieren (200) eines Fertigungs- und/oder Montageprozesses, mit zumindest den folgenden Schritten:
Erfassen (203) eines Istzustands im Fertigungs- und/oder Montageprozess zumindest zum Teil basierend auf Videodaten des Fertigungs- und/oder Montageprozesses;
Erkennen (204) einer Abweichung des Istzustands von einem Sollzustand, wobei der Sollzustand Referenzdaten für den Fertigungs- und/oder Montageprozess umfasst und die
Referenzdaten insbesondere einen gemäß einem der vorstehenden Ansprüche erzeugten digitalen Ablaufplan umfassen; und
Erzeugen (205) eines Inspektionsergebnisses und/ oder einer Arbeitsanweisung für einen Agenten.
4. Ein computer-implementiertes Verfahren zum Erstellen einer AR Umgebung, wobei die AR Umgebung basierend auf Referenzdaten erstellt wird und die Referenzdaten insbesondere einen gemäß einem der vorstehenden Ansprüche erzeugten digitalen Ablaufplan umfassen.
5. Das Verfahren nach einem der vorstehenden Ansprüche, wobei ein weiterer Schritt das Erhalten von zusätzlichen Daten vorsieht.
6. Das Verfahren nach einem der vorstehenden Ansprüche, wobei ein weiterer Schritt das Anpassen des digitalen Ablaufplans durch einen Nutzer vorsieht.
7. Das Verfahren nach einem der vorstehenden Ansprüche, wobei ein weiterer Schritt das Erzeugen einer Animation basierend auf dem digitalen Ablaufplan vorsieht.
8. Das Verfahren nach einem der vorstehenden Ansprüche mit zumindest einem der folgenden weiteren Schritte:
Erzeugen eines oder mehrerer Steuersignale zum Steuern einer Fertigungs- und/oder Montageanlage und/oder zum Steuern eines Robotersystems;
Steuern einer Fertigungs- und/oder Montageanlage und/oder Steuern eines Robotersystems zum Fertigen und/oder Montieren eines Werkstücks unter Verwendung des digitalen Ablaufplans und/oder des einen oder der mehreren Steuersignale.
9. Ein Computerprogramm, umfassend Befehle, die bei der Ausführung des Programms durch einen Computer diesen veranlassen, das Verfahren nach einem der Ansprüche 1-8 auszuführen.
10. Eine Vorrichtung oder ein System zur Datenverarbeitung, umfassend Mittel zur Ausführung des Verfahrens nach einem der Ansprüche 1-8.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| DE102022131925.3A DE102022131925A1 (de) | 2022-12-01 | 2022-12-01 | Selbstlernendes verfahren für einen fertigungs- und/oder montageprozess |
| PCT/EP2023/083627 WO2024115613A1 (de) | 2022-12-01 | 2023-11-29 | Selbstlernendes verfahren für einen fertigungs- und/oder montageprozess |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4627419A1 true EP4627419A1 (de) | 2025-10-08 |
Family
ID=89073264
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP23817348.8A Pending EP4627419A1 (de) | 2022-12-01 | 2023-11-29 | Selbstlernendes verfahren für einen fertigungs- und/oder montageprozess |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US20250291333A1 (de) |
| EP (1) | EP4627419A1 (de) |
| DE (1) | DE102022131925A1 (de) |
| WO (1) | WO2024115613A1 (de) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE102023125697A1 (de) * | 2023-09-21 | 2025-03-27 | Sprick Gmbh Bielefelder Papier- Und Wellpappenwerke & Co. | Verfahren, Warenzuordnungseinrichtung und System zum Verpacken von Waren |
| DE102024001897A1 (de) | 2024-06-12 | 2025-08-28 | Optimum datamanagement solutions GmbH | Intelligentes Werkerassistenzsystem zur Werkerführung und Qualitätskontrolle manueller Tätigkeiten an industriellen Handarbeitsplätzen. |
| DE102024118772B4 (de) | 2024-07-02 | 2026-02-12 | Dr. Ing. H.C. F. Porsche Aktiengesellschaft | Computerimplementiertes Verfahren zur Detektion von räumlich zueinander gehörenden Fertigungsanomalien bei Herstellung mehrerer Kraftfahrzeuge |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11507105B2 (en) | 2019-06-27 | 2022-11-22 | Sensable Inc. | Method and system for using learning to generate metrics from computer vision-derived video data |
| DE102020129743A1 (de) * | 2020-11-11 | 2022-05-12 | Carl Zeiss Ag | Vorrichtung und verfahren zur vermessung, inspektion oder bearbeitung von objekten |
-
2022
- 2022-12-01 DE DE102022131925.3A patent/DE102022131925A1/de active Pending
-
2023
- 2023-11-29 EP EP23817348.8A patent/EP4627419A1/de active Pending
- 2023-11-29 WO PCT/EP2023/083627 patent/WO2024115613A1/de not_active Ceased
-
2025
- 2025-05-30 US US19/224,302 patent/US20250291333A1/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| US20250291333A1 (en) | 2025-09-18 |
| WO2024115613A1 (de) | 2024-06-06 |
| DE102022131925A1 (de) | 2024-06-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE112019002310B4 (de) | Ausführen einer "peg in hole"-aufgabe mit unbekannter neigung | |
| DE112019000097B4 (de) | Steuervorrichtung, Arbeitsroboter, Programm und Steuerverfahren | |
| EP4627419A1 (de) | Selbstlernendes verfahren für einen fertigungs- und/oder montageprozess | |
| DE112009003656B4 (de) | Verfahren und System zur In-Produktionsoptimierung der Parameter eines zur Montage verwendeten Roboters | |
| DE102019216229B4 (de) | Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung | |
| DE102020214633A1 (de) | Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung | |
| DE102020207085A1 (de) | Verfahren zum steuern eines roboters und robotersteuereinheit | |
| DE102020212658A1 (de) | Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung | |
| WO2021028084A1 (de) | Automatisierungssystem und verfahren zur handhabung von produkten | |
| EP4064106A1 (de) | Verfahren zum erzeugen von trainingsdaten für ein ml-modell | |
| DE102021202340A1 (de) | Verfahren zum steuern eines roboters zum aufnehmen und inspizieren eines objekts und robotersteuereinrichtung | |
| DE102020211648B4 (de) | Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung | |
| DE102021209761A1 (de) | Verfahren zum Trainieren einer Steuerungsstrategie | |
| DE102023131746A1 (de) | Erlernen einer menschlichen fähigkeit durch inverse reinforcement learning | |
| WO2024027868A1 (de) | Verfahren zur präzisen bestimmung eines ausgangsdrehmoments und kollaborativer roboter | |
| EP4449217A1 (de) | Zuweisen einer aufgabe an einen örtlich entfernten experten | |
| DE112022006723T5 (de) | Lehrunterstützungsvorrichtung, arbeitssystem, lehrunterstützungsverfahren und speichermedium | |
| WO2022122308A1 (de) | Wartungsvorhersage für baugruppen eines mikroskops | |
| EP4063081A1 (de) | Verfahren zum ermitteln von steuerungsdaten für eine greifeinrichtung zum greifen eines gegenstands | |
| WO2024008232A1 (de) | Verfahren zur dynamischen erkennung von ratcheting bei einem kollaborativen roboter mittels künstlicher intelligenz und dynamischer kompensation der trajektorien | |
| DE102022206273A1 (de) | Verfahren zum Trainieren eines maschinellen Lernmodells zum Implementieren einer Steuerungsvorschrift | |
| EP4268162A1 (de) | Verfahren und system zum überführen einer start-objektsituation in eine ziel-objektsituation (intuitive tacit solution finding) | |
| Leidenkrantz et al. | Implementation of machine vision on a collaborative robot | |
| DE10013137B4 (de) | Verfahren zur bildgesteuerten Prüfung und Bearbeitung von Produkten | |
| DE102021212494B4 (de) | Vorrichtung und Verfahren zur Steuerung einer Robotervorrichtung |
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: 20250521 |
|
| 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) |