Method for determining working process to be carried out by robot, method for determining and checking working process to be carried out by device, device for data processing, computer program and computer-readable medium
Through electronic computing devices to determine and optimize the working process of robot machining components, the simulation model and target function are optimized to solve the problem of higher production time and cost in existing technologies, and to achieve efficient and automated production processes.
Patent Information
- Application Number
- CN202380047022.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-09-20
- Filing Date
- 2023-09-04
- Publication Date
- 2025-01-24
AI Technical Summary
In the prior art, when optimizing robot control methods, it is difficult to automatically and efficiently determine and optimize the working process for machining components, resulting in high production time and cost.
Determine product data, equipment data and process data through electronic computing devices, build simulation models, and optimize the target function to minimize the production of production, thereby automating and optimizing the working process.
The process of time and cost is favorable to determine and optimize the work process, improve production efficiency, reduce manual programming steps, and reduce production costs.
Smart Images

Figure CN119365301A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method for determining a work process to be performed by a robot for machining at least one component. The present invention also relates to a method for determining and checking a work process to be performed by an apparatus for machining a component. The present invention also relates to a device for data processing, a computer program, and a computer-readable medium. Background Art
[0002] DE 10 2012 218 297 B4 discloses a method for optimizing machine control. US Pat. No. 8,886,359 B2 discloses a robot. JP 6457473 B2 discloses a device for machine learning, a robot system, and a method for machine learning. JP 2013-99815 A discloses an offline robot programming device. DE 102014 216 514 B3 also discloses a method for programming an industrial robot. EP 3,685,968 A1 also discloses an optimization method. Summary of the Invention
[0003] The object of the present invention is to provide a method, a device, a computer program and a computer-readable medium, which allow for time-efficient and cost-effective production of products.
[0004] This object is achieved according to the invention by a method having the features of claim 1, by a method having the features of claim 7, by an apparatus having the features of claim 8, by a computer program having the features of claim 9, and by a computer-readable medium having the features of claim 10. Advantageous embodiments of the invention are the subject matter of the dependent claims.
[0005] A first aspect of the present invention relates to a method for determining at least one work process to be performed by a robot for machining at least one component. For example, the work process is a work process for producing a product, which is produced, for example, from the component by machining the component. Determining the work process can be understood in particular as determining a computer program, also simply called a program, according to which a robot can be operated so that it performs the work process and thereby machines the component, in particular, produces the product. In other words, the work process can be described or represented by a computer program, also simply called a program, wherein the computer program includes instructions that cause the robot to perform the work process, in particular when the computer program is executed by a computer, wherein the computer controls the robot, for example, by executing the computer program. Furthermore, the computer can be a component of the robot.
[0006] In a first step of the method, product data is determined using an electronic computing device, which may include, for example, the aforementioned computer and / or another computer. The product data characterizes or describes the at least one component to be processed by the robot in the at least one working process. For example, the product data is determined such that the electronic computing device retrieves the product data from a, in particular, electronic, data storage device. This can occur automatically or based on at least one input, in particular initiated by a human, into the electronic computing device. The method is carried out, in particular, using an electronic computing device, which is preferably a different computer than the computer that executes the aforementioned robot program.
[0007] In the second step of the method, the electronic computing device determines system data, which characterizes a system for carrying out the at least one work process, including at least the robot and also referred to as a production system. For example, the system data can be determined such that the electronic computing device retrieves the system data from the aforementioned data storage and / or from another data storage. This can occur automatically or based on at least one human-initiated input to the electronic computing device.
[0008] In the third step of the method, process data are determined by means of the electronic computing device, said process data representing the at least one operating process. For example, the process data can be determined by the electronic computing device calling up the process data from the aforementioned data memory and / or from the further data memory and / or from yet another, i.e., third, data memory. This can occur automatically or based on at least one human-initiated input to the electronic computing device.
[0009] In a fourth step of the method, a simulation model is generated, i.e., calculated, based on the product data, the plant data, and the process data using an electronic computing device. The simulation model simulates at least the plant and the components. It can be seen that the product data, the plant data, and the process data are input data for or into the simulation.
[0010] In the fifth step of the method, a simulation is performed using the simulation model using the electronic computing device. Simulation data is thereby determined, in particular calculated, using the electronic computing device. The simulation data describes or characterizes a plurality of step groups, wherein each step group includes a plurality of mutually different sub-steps of the work process. It can be seen that the simulation data is the raw data or result of the simulation. In particular, for example, the simulation data characterizes or describes at least one corresponding characteristic of the corresponding sub-step. The corresponding characteristic of the corresponding sub-step can also be, for example, a duration, referred to as a time period, which is required for the device, in particular the robot, to perform or execute the corresponding sub-step. In other words, the corresponding time period is the corresponding time of the corresponding sub-step, wherein the device, in particular the robot, requires the corresponding time to execute the corresponding sub-step belonging to the corresponding time period. The work process can be generated by selecting exactly one of the corresponding sub-steps of the corresponding step group from a corresponding step group, also referred to simply as a group, and arranging the selected sub-steps together. That is, if the device, in particular the robot, successively carries out the sub-steps arranged one after another, the robot carries out a work process, since the sub-steps arranged one after another, in particular, together produce the work process.
[0011] In the sixth step of the method, an objective function for the optimization problem is constructed or generated using an electronic computing device, wherein the objective function includes the substeps of the step group as parameters. For example, the objective function is or describes the sum of all time periods of the substeps or combinations of substeps. This function, and therefore the objective function, is to be minimized in order to optimize the work process, for example, with respect to its production cycle. Therefore, a substep or combination of the substeps from the step group is determined that allows the work process to be carried out as quickly or as shortly as possible. In other words, the simulation determines possibilities or combinations of the substeps from the step group for carrying out the work process using the device while taking into account product data. From these possibilities, in particular by minimizing the subfunction, the variant, in other words, combination, or possibility is then selected that requires the least time and therefore results in the minimum time required for the work process, i.e., for its execution. The respective combination or possibility, for example, includes exactly one substep from the respective step group, in particular from all step groups, of the respective substeps of the respective step group.
[0012] In the seventh step of the method, an objective function is minimized using an electronic computing device, thereby selecting, in particular, exactly one sub-step from the corresponding group of steps, and arranging the selected sub-steps together, thereby forming, i.e., determining, in particular, calculating, the process. The background of the present invention is that the process can be implemented, i.e., constructed and executed, in various ways, wherein the ways can be distinguished from one another in that the process can consist of different sub-steps. For example, each sub-step can be individually performed by the device, in particular, the robot, requiring the corresponding time period for this purpose. The sub-steps of the corresponding group of steps can be distinguished from one another in that they can be performed in various ways, in particular, to achieve the same result for the corresponding sub-steps. For example, a first robot arm, also referred to as a first robot axis, can be rotated relative to a second robot arm, also referred to as a second robot axis, starting from a starting position about a rotation axis by 270 degrees in a first rotational direction extending about the rotation axis, or by 90 degrees in a second rotational direction extending about the rotation axis and opposite to the first rotational direction. For example, a 270-degree rotation of the first robot arm in a first rotational direction is the first sub-step of the sub-steps in the first step group of the step group, while a 90-degree rotation of the first robot arm in a second rotational direction is the second sub-step of the sub-steps in the first step group. The first and second sub-steps, for example, lead to the same result, which can be, in particular, the position of a tool of the robot, in particular a point on the tool of the robot. It can be seen that, depending on the number of the respective sub-steps of the respective step group and the number of step groups, a large number of possible combinations are possible, and the respective sub-steps can be combined with one another, i.e., arranged together, to form the work process.
[0013] The optimization problem, and thus the objective function, describes an optimization problem that is designed, for example, as a minimization task and is to be solved by minimizing the objective function. In particular, the objective function can be designed or influenced so that, by minimizing the objective function, the work process is formed from the substeps of the objective group in such a way that it is executed as quickly as possible, i.e., the time required by the device to execute the work process is as short as possible. However, minimizing the objective function, and thus the optimization problem, does not necessarily require selecting the shortest substeps of the respective step groups and thus arranging them next to each other. It is conceivable that the work process as a whole is no longer executable, for example, if the execution of the shortest substep of one step group does not allow the execution of the shortest substep of another step group. Minimizing the objective function thus results in a work process that is executable and, for example, is the shortest work process with respect to all possible work processes that can be composed of the substeps and that are executable. The present invention thus enables the time- and cost-effective determination of the work process according to a target function and, as a result, the time- and cost-effective determination, in particular the calculation, of a computer program, such as the aforementioned robot. The work process is or describes, for example, at least one path along which at least a part of the robot can be moved or is moved when carrying out the work process. The method thus provides a particularly time- and cost-effective, and in particular at least semi-automated, in particular fully automated, implementation of path planning, also known as robot path planning, for determining the work process and, therefore, the path.
[0014] After the robot path planning has been performed, i.e., after the work process that can be determined and thus planned particularly time- and cost-effectively has been determined, the work process can be actually carried out using the device and thus the robot in order to thereby process the component and thus, for example, produce the aforementioned product. The present invention thus enables time-effective and cost-effective production of the product or products, particularly within the scope of series production.
[0015] In order to be able to process the component and thus, for example, manufacture the product in a particularly time- and cost-effective manner, in another embodiment of the invention, it is provided that the robot is controlled and thus operated, in particular regulated, by means of the electronic computing device or by means of another other electronic computing device in such a way that it carries out a specific work process.
[0016] Another embodiment is characterized in that the product data characterizes the component's, in particular, external geometry and / or interfering geometries to be avoided by the robot. Interfering geometries are understood to be positions or positions to which the robot or the device should not or cannot be moved, thereby avoiding undesirable collisions. Taking into account the component's geometry and / or the interfering geometries allows the work process to be determined in a particularly time- and cost-effective manner.
[0017] In another particularly advantageous embodiment of the present invention, the system data characterizes mutually articulated manipulator arms, also referred to as robot axes, of a robot, for example, designed as an industrial robot. These mutually articulated manipulator arms, which are therefore movable relative to one another, for example rotationally and / or translationally, can be implemented in various ways, so that by taking these manipulator arms into account, a large solution space is created within which the work process can be particularly advantageously determined with respect to the target function.
[0018] Another embodiment is characterized in that the device data characterizes at least one tool of the robot that is movable relative to the component and, in particular, in space, and is provided for carrying out the work process. Taking the tool into account allows the work process to be determined particularly precisely and practicably.
[0019] For example, the work process includes applying at least one seam, for example, in the form of a plastic seam and, for example, in the form of a sealing and / or adhesive seam, to the component with the aid of the robot. The seam may be a PVC seam (PVC - polyvinyl chloride). Alternatively or additionally, the work process can detect that at least one weld is performed with the aid of the robot. The weld may be a spot weld, or a weld seam may be produced during the weld. By means of the weld, the component is connected, for example, to at least one other component. The tool may therefore be, for example, an application tool in order to apply the aforementioned seam, the material that forms the seam, for example, a sealing material and / or an adhesive, to the component. Furthermore, the tool may be a welding tool for performing welding. The corresponding sub-steps are also referred to as the corresponding application.
[0020] Finally, it has proven particularly advantageous if the process data specifies or characterizes at least one trajectory along which at least one part of the robot can move, and / or at least one speed at which at least one part of the robot can move, in particular along the trajectory. For example, the trajectory can be the aforementioned path or a portion thereof. This embodiment is based on the fact that there can be multiple trajectories along which at least one part of the robot can move in order to carry out the corresponding sub-steps and thus the work process. The shortest trajectory does not necessarily have to be the one that results in the shortest possible work process. The present invention makes it possible to arrange the sub-steps and thus the trajectories together and thus combine them so that the work process can be carried out by the device, wherein minimizing the objective function results in the determined work process being, for example, the shortest of the work processes that can in principle be carried out by the device. This allows the component to be processed in a particularly time- and cost-effective manner, and thus the product to be manufactured in a particularly time- and cost-effective manner.
[0021] A second aspect of the present invention relates to a method for determining and checking at least one work process to be performed by a device for machining at least one component. In particular, the device may include, for example, at least one robot. In the method of the second aspect of the present invention, design data representing a plurality of different products is stored in at least one data memory. The data memory also stores device data representing a plurality of different devices for performing the manufacturing steps. An electronic computing device, based on inputs, for example, initiated by a human, is used to select a first subset of the design data from the design data, wherein the first subset represents the product, in particular, exactly one product. In particular, the following and previous embodiments of product data can be applied to the design data, and vice versa. Furthermore, based on the inputs, a second subset of the device data is selected from the device data, wherein the second subset represents, in particular, exactly one device. In the second aspect of the present invention, the electronic computing device automatically calculates and determines, based on the first subset, at least one work process required to manufacture the product represented by the first subset. This is understood to mean, in particular, that the electronic computing device calculates the work process, in particular based solely on the selected design data, thus based on the design data of the selected first subset, thereby providing for automation at least with respect to the determination of the work process. Furthermore, in a second aspect of the present invention, the electronic computing device checks, based on the second subset, whether the device represented by the second subset is therefore configured to carry out the calculated work process. For example, the electronic computing device performs a simulation based on the first and second subsets. In particular, the simulation is performed using a simulation model that simulates the device represented by the second subset and the product represented by the first subset. In the simulation, the electronic computing device simulates whether the work process is carried out by the device or whether the work process is carried out by the device. If the simulation indicates that the device can carry out the entire determined work process, it is determined that the device is capable of carrying out the work process. However, if the simulation indicates that the device cannot carry out at least a portion of the determined work process or the entire work process, it is determined that the device cannot carry out the determined work process. This allows for a particularly time- and cost-effective determination and checking of the work process.
[0022] The present invention is based, in particular, on the recognition and consideration that robots are used to manufacture products in a time-efficient and cost-effective manner. In particular, robots are used in the automotive industry to manufacture vehicles, enabling at least semi-automated and, therefore, time-efficient production. Work processes, such as gluing, welding, and painting, are typically performed at least largely automatically by robots, such as industrial robots. Before a robot can perform such a work process, also known as a task, the robot or the electronic computing device used to operate the robot is programmed. The robot is typically trained step by step to perform the work process. This programming can be performed directly in the system containing the robot, thus online, or in a virtual environment, thus offline. Offline programming has the advantage that changes to the work process require no or only minor interruptions to production. Robot manufacturers often provide separate software products for implementing offline programming. Software solutions also exist that allow for cross-manufacturer offline programming.
[0023] Examples of such software products for robot manufacturers include RobotStudio, Roboguide, and KUKA.Sim. Cross-manufacturer software solutions include RoboDK, OCTOPUZ, and Process Simulate. Typically, in each software, the virtual environment of the robot cell, including the robot, is manually created, thus by humans. This process is time-consuming and prone to operator errors. The data for the virtual environment to be created can generally be divided into three categories:
[0024] 1. Equipment data (robots, conveyor technology systems, material supply, etc.)
[0025] 2. Product data (geometric representation of components or products)
[0026] 3. Process data (list of robot tasks according to the product, including process parameters)
[0027] Typically, changes to these data require manual enabling or additions to the software. This, in turn, increases time consumption and hinders short development cycles. Such disadvantages can be avoided with the present invention. Conventional software solutions allow for the transfer of tasks from one robot to another or for changing the order of task flows. However, each of these changes typically must be implemented manually, and therefore by a human. The robot program must often be subsequently modified to ensure that the robot's movements between tasks are executable and collision-free. This results in considerable effort and time required to design the robot program optimally for production cycle time.
[0028] In particular, two shortcomings of conventional solutions have been identified. The first is the lack of consistency between the input data and the robot program. The second is the lack of options for automated optimization of the robot program. These issues lead to the following disadvantages:
[0029] - Increased costs due to manual programming
[0030] - Long product development time, as hardware can only be secured after manual programming is completed
[0031] - Unused potential in terms of plant efficiency, since manual programming can only explore a subset of the solution space of the production process and does not guarantee the realization of the global optimization
[0032] - Lower than theoretically possible production capacity based on unused potential.
[0033] The present invention enables time-efficient and cost-effective optimization of the production cycle by optimizing the work processes or robot programs, in particular by means of automated data provision, in order to avoid the aforementioned disadvantages.
[0034] For example, a digital image of the device, also referred to as a robotic device and including the robot, is constructed, in particular including all interfering contours. This digital image is constructed, for example, as a calculation model, a model, or a simulation model, wherein the digital image is constructed, for example, based on device data and product data. In particular, the robot task, thus at least one task to be performed or implemented by the robot, is then interpreted. The task is, for example, the work process that may include bonding and / or welding. Alternatively or additionally, the work process may include applying an adhesive and / or a sealing material, for example in the form of a plastic, in particular PVC, to the component. In particular, an optimization is then performed, within the scope of which the work process is determined and, in particular, optimized, in particular by the described minimization of an objective function. The optimized work process, thus the determined work process (robot program), is then output, for example.
[0035] Another step can include confirming the optimized robot program (work process) with reduced robot speed, particularly with regard to collision and operating capabilities. Another step can include utilizing the determined and thus optimized work process (robot program) in a production process, in which, for example, the robot operates according to the determined work process and thus processes the component.
[0036] To ensure the best possible real-time performance of the robot program, it is advantageous if the system data, product data, and process data are automatically incorporated into the generation of the robot program. For example, a data-intensive line, also called a pipeline, is constructed for this purpose. For example, an electronic computing device or software for determining the work process is connected, in particular according to the first aspect of the present invention, to various databases and information sources to thereby obtain information, in particular about the system, in particular about changes to the system, and / or about components, in particular about changes to the components. By using the so-called single-source-of-truth principle, the input data is always up-to-date, based on which the work process is optimally determined. In particular, it is conceivable that changes in the input data, and therefore changes in the product and / or system data, trigger, in particular, automated or automatic, re-optimization of the work process, so that, for example, the work process is automatically or automatically determined as an optimized work process for each change in the product and / or system data.
[0037] Using a digital image of the device, particularly including interference contours, the robot can be positioned and configured in a virtual world via a node-based user interface. Using this user interface, a person, for example a user, selects a robot, i.e., a robot model from a catalog, and inserts the selected model into the virtual world, particularly by dragging and dropping. Positioning of the robot, particularly in the virtual world, is performed by entering six values, for example. Three of these values are, for example, coordinates, particularly in a Cartesian coordinate system, where the first coordinate is, for example, the x-coordinate, the second is the y-coordinate, and the third is the z-coordinate. The other three values can, for example, indicate roll, pitch, and yaw. For example, the robot can be configured using a robot backup. To this end, the user creates a robot backup, also referred to as a backup, and connects it to the robot via the node-based user interface. If the actual robot is not yet available, standard values are used. The interference contours are similar to how the robot is positioned in the real world. Examples of this are safety fences, conveyor systems, and slings.
[0038] The product data specifically describes the geometric representation of the component or product to be processed, in particular to be manufactured. The product data can be or include vehicle data, which is created, for example, by a vehicle designer in a design program such as CATIA. If the system does not yet exist in reality or the component or product does not yet physically exist, the component or product is positioned in an ideal position in the virtual world. If, for example, a physically recorded measurement report is available that characterizes the actual position of the product in the system, the component or product is positioned in the virtual world at the actual position in the system. The system, in particular a robot cell, can be automated by means of an interface with the system's design software. For this purpose, Automation ML or Auto ML can be used, for example. In this operating mode, the virtual robot model is also equipped with a physical robot backup, if one exists.
[0039] Regarding the interpretation of robot tasks, for example, if an optimized robot program already exists, it can be embedded in a node-based user interface and linked to the applicable robot. Specific application methods, such as welding, gluing, sealing, etc., are typically selected by the user to instruct the software on how the linked robot program should be interpreted. For example, using predefined templates, also known as templates, it is possible to extract value-added components from the robot program (instead of movements between two robot tasks). The processing of these value-added components can then be optimized in a subsequent step. This approach can presuppose that the manual robot programming has already been performed according to the template logic.
[0040] In cases where no robot program exists, program design can be performed based on process data, for example. In principle, a distinction is made here between two types of application: spot application and web application. In spot application, the robot task occurs at a specific location. An example of this is spot welding, where exactly one weld point is produced, or set, at a single location. However, it is often the case that the robot must perform or complete the final short distance on the path to the spot application in or using linear motion. The same applies to the first distance after the spot application. This means that templates for spot application can also be provided from multiple, typically three, motion commands. In web application, application occurs during robot movement. Accordingly, a template for web application can contain at least two motion commands. PVC application, i.e., the application of a liquid or pasty material, particularly a web formed as a seam or forming a seam, for example for a sealing component, is a type of web application. The material can be, for example, plastic, particularly PVC. Advantageously, the aforementioned process data contains all the necessary information to fill in the appropriate templates and thus implement appropriate robot programming. Values not present in the process data can be filled with standard values. This can also be automated by storing the robot program in a database. The software accesses this database and checks whether a new robot program has been added. If so, it optimizes the program and stores it in the database. The same procedure can be used when constructing a robot program based on process data. In this case, the software connects to the database storing the process data. When the process data changes, the robot program can be updated automatically or automatically.
[0041] When optimizing a robot program, that is, in particular, minimizing a target function, a system for optimization using one or more algorithms can be implemented based on structured data, for example, process data, system data, and product data. The system, in particular, the minimization of the target function, optimizes the robot task, and thus the work process, for example, with respect to production cycle time, in particular without compromising validation criteria. In particular, the target function can be solved or minimized using conventional solving or minimization methods, in particular using conventional, commercial, and / or, in particular, free and / or commercially available solvers, such as Concorde, GLNS, Greedy, or the CPLEX Optimization Suite. For example, the following variables can be adapted during the optimization of the robot program (work process):
[0042] - change the order in which the sub-steps (robot tasks) are performed,
[0043] -Choose another tool to implement the sub-step
[0044] - Select another linear position for implementing the substep
[0045] - Select another robot configuration for implementing the substep
[0046] - Change the assignment of substeps (robot tasks) to available robots
[0047] In particular during web application: adapting or changing the direction in which at least one part of the robot passes through the path of motion in order to carry out the working process.
[0048] It is therefore conceivable that the system includes multiple robots, namely the robot and at least one second robot. The system data thus characterizes the multiple robots of the system. Thus, for example, the corresponding substeps of the corresponding step group can be distinguished from one another by the fact that one of the substeps is performed or can be performed by a first robot, and another of the substeps is performed or can be performed by a second robot. Taking into account the multiple available robots of the system makes it particularly advantageous to determine the work process.
[0049] As can be seen, the number of parameters, also known as variables, of the objective function can be very high, which can make the underlying optimization problem to be solved complex and high-dimensional. Therefore, depending on the structure of the optimization problem, different heuristic solution methods may be suitable in order to solve the optimization problem and, to do so, minimize the objective function in a time- and cost-effective manner. Different solution algorithms can be used to solve the optimization problem. For example, a system with a modular structure can be utilized, which allows new algorithms to be efficiently added for solving the optimization problem. The resulting set of algorithms can then be started in parallel with a given problem instance in an automated process and executed over a long period of time until all algorithms converge or an interruption condition, such as a maximum total runtime or a desired production cycle, is reached. The results of these sets are then collected and evaluated collectively. For example, the solution with the lowest production cycle is returned and used as the work process.
[0050] This makes it possible to automatically start different algorithms (such as Greedy, Simulated / Annealing, or GLNS) with varying strengths, supply them with the necessary data, and subsequently evaluate the results. In other words, different solution algorithms for solving the same optimization problem can provide different results, i.e., different work processes. From these different provided work processes, for example, exactly one of the provided work processes is selected based on a predeterminable or predetermined criterion. This criterion can, for example, include selecting the work process that meets the criterion from the multiple determined or calculated work processes. This criterion can, for example, include minimizing the time required by the system to execute the corresponding work process, also known as the cycle time, thereby selecting, for example, the work process with the minimum cycle time from the multiple provided work processes. This simplifies the optimization process while simultaneously improving the quality of the results, as the user only needs to specify a small number of parameters along with the data record. Furthermore, service life and hardware utilization can be improved. For example, during optimization, many different robot paths or substeps can be simulated to explore the solution space. For successful optimization, it is advantageous to perform the simulation using a corresponding virtual robot controller from the respective robot manufacturer. In other cases, the actual robot path may deviate from the simulated robot path.
[0051] When outputting an optimized robot program, and thus a determined work process, for example, after assigning a specific robot task or its sub-steps and optimizing their sequence, the discovered robot program is output, particularly with the aid of an optimization system. Depending on the user's preferences, the robot program can be used in a more or less automated manner, for example. On the one hand, it is possible to store the robot program, and thus the determined work process, on a data server, where an operator can access the robot program and manually implement the subsequent steps. Another possibility is to store the robot program directly on the robot or its control unit. This requires fewer manual steps to verify the optimized and discovered robot program, and thus the determined work process. If the robot program is additionally stored in a database, its change history can be evaluated. This makes it possible to assess the temporal evolution of the product's production cycle. Based on this evolution, risks in the product production process can be identified early, for example, when the robot cell's capabilities reach their limits.
[0052] Verification of the optimized robot program can include the following: Under normal circumstances, the optimized robot program is run with the robot at a slow speed to check or confirm that collisions will not occur. Application can then be switched on and the robot program run at a normal speed to determine the quality of the robot program. Defects in the robot program can be manually corrected. An example of this is a movement of the application point by a few millimeters. Utilization of the optimized robot program in the production process can include the following: After the robot program has been verified, it can be used in the production process.
[0053] The present invention can achieve at least the following advantages in particular: through the automated pipeline of data, the generated robot program always refers to the final state of the product and is continuously designed to be optimized for the production cycle. In general, the advantages can be explained as follows:
[0054] - Save money through automation by eliminating manual programming steps
[0055] - Planning flexibility through early reporting capabilities on possible production cycles
[0056] - Evaluation of the robot's capabilities for new products
[0057] -Continuous reporting capability on product manufacturability
[0058] -Overall optimization of robot paths to increase production volume
[0059] - Savings on energy costs due to flexibility in the design of the robot paths and advantageous, in particular optimized, utilization on different devices
[0060] - Savings on additional robot units due to advantageous, in particular optimized, utilization of existing infrastructure
[0061] - Minimize sources of error by reducing manual adaptation of the robot program
[0062] The following example illustrates the implementation of the method according to the present invention. In PVC application, a web of material, particularly liquid or pasty, is applied to a component. The web, for example, is a seam or forms a seam. The material, for example, is plastic, particularly PVC. For example, the component can be sealed to another component using the web. In this example, a new production line is planned and a query is made as to whether the planned number of robots is sufficient in terms of production capacity. To assess this capacity, the previously mentioned method according to the present invention is used. For example, a virtual production line is automatically constructed based on planning software, i.e., a virtual image of the new production line, in which the new production line is planned. The correct robot model is thus positioned at, within, or next to the correct location in the virtual world, thus the virtual image. Robot backups of robots from existing production lines are linked via the previously mentioned node-based user interface. Product data for relevant products or components, such as vehicle components, is directly imported from a product data database and displayed in the virtual world (virtual image) at the planned location. For this purpose, the relevant product is simply selected from a drop-down list, for example. It should be noted that the product data is always in the last released design state, since the software, for example, directly accesses the database. Finally, the seam information regarding the seam is read from the PVC structure database. Here, for example, the relevant seam or seams for the applicable product (vehicle) are automatically selected. This selection is based on knowledge of the relationships between product and process data. After all data has been successfully imported, the actual optimization takes place, which is then reflected in the output robot program, thus outputting an optimized, specific working process. The advantage of an automated data pipeline is that once changes are made to the system data and / or product data and / or process data, the robot program can be updated without manual effort. Whether the capacity of the new production line is sufficient to manufacture the relevant product (vehicle) can be determined from the production cycle or cycles of the optimized robot program.
[0063] A third aspect of the present invention relates to a device for data processing, in particular in the form of an electronic computing device, comprising means for implementing the method according to the first and / or second aspects of the present invention. The advantages and advantageous configurations of the first and second aspects of the present invention may be considered as advantages and advantageous configurations of the third aspect of the present invention, and vice versa.
[0064] A fourth aspect of the present invention relates to a computer program, also referred to as a computer program product, comprising instructions which, when executed by a computer, cause the computer to execute the method according to the first aspect of the present invention and / or according to the second aspect of the present invention. The advantages and advantageous configurations of the first, second, and third aspects of the present invention may be considered as advantages and advantageous configurations of the fourth aspect of the present invention, and vice versa.
[0065] Finally, a fifth aspect of the present invention relates to a computer-readable medium on which the computer program according to the fourth aspect of the present invention is stored. The advantages and advantageous configurations of the first, second, third and fourth aspects of the present invention may be considered as the advantages and advantageous configurations of the fifth aspect of the present invention, and vice versa. BRIEF DESCRIPTION OF THE DRAWINGS
[0066] Further details of the invention will be found in the following description of preferred exemplary embodiments including the associated drawings. Figure 1 A flow chart illustrating a method for determining at least one work process to be performed by a robot for machining at least one component is shown. DETAILED DESCRIPTION
[0067] The following Figure 1 A method for determining, in particular, calculating, at least one work process to be performed by a robot and also referred to as a robot program for machining at least one component is described. The component is a product or can be a component of a product, wherein the product is produced, for example, by the work process. The work process can consist of a plurality of sub-steps that are arranged one after the other, i.e., sequential in time, so that when the robot performs the individual sub-steps in sequence, the robot as a whole performs the work process. In other words, the sub-steps that are sequential in time, for example, in particular, collectively form the work process.
[0068] exist Figure 1Block 1 shows product data, which is determined by means of an electronic computing device and by means of which the method is carried out. The product data characterizes the at least one component to be processed by the robot in the at least one work process. Block 2 shows system data, which is determined by means of an electronic computing device and characterizes the system for carrying out the at least one work process, including at least the robot. Block 3 shows the robot. In other words, for example, block 3 shows the first portion of the system data, wherein the first portion of the system data describes the robot. Block 4 shows interference contours. The interference contours shown in block 4 can, for example, be characterized by the second portion of the product data and / or by the first portion of the system data. Interference contours are positions to which or towards which the robot should not move when carrying out the work process, as otherwise an undesirable collision could occur. The interference contours can, for example, be formed by the component or product and / or by elements of the system. Elements of the system can be, for example, safety fences or other objects. Block 5 shows the aforementioned geometry of the component, which is characterized, i.e., described, for example, by the second portion of the product data. Block 6, for example, shows the positioning of the component, particularly during the execution of a work process. This positioning is characterized, or described, for example, by the third part of the product data. Block 7 shows the positioning of the robot, particularly during the execution of the work process, wherein this positioning of the robot is described or characterized, for example, by the third part of the device data. Block 8 shows the robot backup, which is described, for example, by the fourth part of the device data. Block 9 shows the robot geometry, which is described, for example, by the fifth part of the device data. Block 10 shows the robot's kinematic description, block 11 shows the installation of the robot's axes, also referred to simply as axes, and block 12 shows the limit values. It can be seen that the kinematic description (block 10) or its connections can be generated from the axis installation (block 11) and the limit values (block 12). For example, the axis installation, the limit values, and the kinematic description are described by the sixth part of the device data. The robot backup shown by block 8 is associated, for example, with the plant object shown by block 13 and the tool information shown by block 14, wherein the plant object and the tool information are described, for example, by the seventh part of the device data. In particular, the tool information is information about at least one tool of the robot, which is moved relative to the component when performing or executing a work process by the robot in order to perform the work process and thus to process the tool. In other words, for example, the tool information describes the tool with which, for example, a liquid or pasty material is applied to the component during the work process and / or the component is welded to at least one other component, thus performing at least one weld of the component.
[0069] Block 24 shows process data which characterize the operating process and are determined with the aid of an electronic computing device.
[0070] Block 15 shows that a virtual image, also called a virtual world, of the system and the components is generated using a computing device. The virtual image is a simulation model or is described by a simulation model that simulates the system and the components and is generated, in particular constructed, using a computing device based on production and product data, also called system data.
[0071] Block 16 shows, in particular, the explanation of the task to be performed by the robot or the device, also referred to as the robot task.
[0072] Block 17 shows an optimization or optimized construction. In particular, block 17 shows that a simulation using a simulation model is performed using an electronic computing device. The simulation determines simulation data that describe or characterize a plurality of step groups, wherein each step group includes a plurality of mutually different sub-steps of a work process. The sub-steps of the step groups determined, in particular calculated, by the simulation can generate a work process or different combinations or variations of a work process such that exactly one sub-step of each step group is selected and the selected sub-steps are arranged together so that when the robot performs the selected and arranged sub-steps, the robot performs the work process. The simulation data is shown by block 41.
[0073] For example, in particular, in block 17, an objective function for an optimization problem is constructed using an electronic computing device, the objective function of which includes the substeps of the step group as parameters or variables. The electronic computing device minimizes the objective function during optimization, thereby selecting, in particular, exactly one substep of the corresponding substep of the corresponding step group from the corresponding step group. The selected substeps are arranged together, thereby defining a work process, thus an optimized work process. As a result, the objective function or its solution, for example, provides such an arrangement of the selected substeps that the resulting or formed work process can, on the one hand, be executed by the system and, on the other hand, includes the minimum production cycle required by the system to execute the work process, with respect to all possible work processes that can be formed from the substeps of the step group.
[0074] Block 18 shows the return or output of the optimized work process determined in block 17, which is also called the optimized robot program. Block 19 shows, for example, the conversion into the robot language, and block 20 shows, for example, the transmission to the OLP software.
[0075] In particular, in block 16, process data can be determined, for example, with the aid of at least one or more already existing robot programs, or, if no such already existing robot programs exist, in another way. In block 21, it is determined, for example, whether at least one robot program already exists. Branch 22 shows the method implemented when a robot program already exists. Branch 23 shows the method implemented when no robot program yet exists. Block 25 of branch 22 shows the switching on and off of the application technology device. Block 26 of branch 22 shows point-by-point application, and block 27 of branch 22 shows web application. Block 28 shows the reading in of one or more already existing robot programs, and block 29 of branch 22 shows the conversion of the read-in robot program into a general format. Block 30 of branch 23 shows the design of a product, for example, as a vehicle component, for example, as a vehicle design component, block 31 shows a database, and block 32 of branch 23 shows planning data. The branch 33 of the optimization (block 17) is further shown to include blocks 34, 35, 36, 37, 38, 39, and 40, which can, for example, represent further variables of the objective function. Thus, for example, block 34 illustrates the reverse direction. Block 35 illustrates the selection of the tool. Block 36 illustrates the robot configuration of the robot, and block 37 illustrates the position of the robot on the linear axis. Block 39 illustrates the application method, block 40 illustrates, in particular, the sequence of the sub-steps, and block 38 illustrates, for example, the distribution of the sub-steps to be performed for carrying out the work process among the multiple robots of the system, if the system, as the aforementioned robot, includes at least one second robot in addition to the first robot.
[0076] Reference Signs List
[0077] 1 block
[0078] 2 blocks
[0079] 3 blocks
[0080] 4 blocks
[0081] 5 blocks
[0082] 6 blocks
[0083] 7 blocks
[0084] 8 blocks
[0085] 9 blocks
[0086] 10 blocks
[0087] 11 blocks
[0088] 12 blocks
[0089] 13 blocks
[0090] 14 blocks
[0091] 15 blocks
[0092] 16 blocks
[0093] Block 17
[0094] 18 blocks
[0095] 19 blocks
[0096] 20 blocks
[0097] Block 21
[0098] 22 branches
[0099] 23 branches
[0100] 24 blocks
[0101] 25 blocks
[0102] 26 blocks
[0103] Block 27
[0104] 28 blocks
[0105] Block 29
[0106] 30 blocks
[0107] Block 31
[0108] 32 blocks
[0109] 33 branches
[0110] 34 blocks
[0111] Block 35
[0112] 36 blocks
[0113] 38 blocks
[0114] Block 39
[0115] 40 blocks
[0116] Block 41
Claims
1. A method for determining at least one work process to be performed by at least one robot for machining at least one component, the method comprising the steps of: - by means of an electronic computing device: determining product data, which characterize the at least one component to be processed by means of the robot in the at least one working process; - by means of the electronic computing device: determining equipment data, which characterize an equipment for carrying out the at least one working process, including at least the robot; - by means of the electronic computing device: determining process data, which characterize the at least one working process; - using the electronic computing device: generating a simulation model that simulates at least the device and the component based on the product data, the device data and the process data; - by means of the electronic computing device: carrying out a simulation by means of the simulation model, thereby determining simulation data by means of the electronic computing device, the simulation data describing a plurality of step groups, wherein the respective step group comprises a plurality of sub-steps of the work process that are different from one another; - by means of the electronic computing device: constructing an objective function of an optimization problem, the objective function of the optimization problem comprising the sub-steps of the group of steps as parameters; and - by means of the electronic calculation device: minimizing the target function, thereby selecting one of the corresponding sub-steps of the corresponding group of steps from the corresponding group of steps and arranging the selected sub-steps together, thereby determining the working process.
2. The method according to claim 1, characterized in that The robot is controlled by means of the electronic computing device or by means of another other electronic computing device in such a way that the robot carries out a determined work process.
3. The method according to claim 1 or 2, characterized in that: The product data characterize the geometry of the component and / or interfering geometries to be avoided by the robot.
4. The method according to any one of the preceding claims, characterized in that The device data characterizes mutually articulated mechanical arms of the robot.
5. The method according to any one of the preceding claims, characterized in that The device data characterize at least one tool of the robot which is movable relative to the component by means of the robot and which is provided for carrying out the work process.
6. The method according to any one of the preceding claims, characterized in that The process data characterizes: - at least one trajectory along which at least a part of the robot can move; and / or - at least one speed at which at least said part of said robot is movable; and / or - an applied distance between a tool of the robot provided for carrying out the working process and the component; - transition parameters, which in a manner pass through and / or interpolate points of a trajectory along which at least a part of the robot moves in order to implement the work process; and / or - at least one application parameter characterizing the working process.
7. A method for determining and checking at least one work process to be performed by a device for machining at least one component, in,: - in at least one data storage device: ° storing design data representing a plurality of mutually different products; and ° storing equipment data representing a plurality of mutually different equipment for performing manufacturing steps; - by means of an electronic computing device based on inputs into the electronic computing device: ° selecting a first subset of the design data from the design data, wherein the first subset represents one of the products; and ° selecting a second subset of the device data from the device data, wherein the second subset characterizes one of the devices; and - automatically calculating and thereby determining, by means of the electronic calculation device, at least one work process required for producing a product characterized by the first subset based on the first subset; and Using the electronic calculation device, a check is performed based on the second subset to determine whether the device represented by the second subset is capable of carrying out the calculated operating process. 8 . A device for data processing comprising means for carrying out the method according to claim 1 . 9 . A computer program comprising instructions which, when the computer program is executed by a computer, cause the computer to execute the method according to claim 1 .
10. A computer-readable medium on which the computer program according to claim 9 is stored.
Citation Information
Patent Citations
Method for the dynamic optimization of a robot control interface
DE102012218297B4
Methods for programming an industrial robot and associated industrial robots
DE102014216514B3
Robot motion planning in manufacturing
EP3685968A1
Robot programming device
JP2013099815A
Machine learning device, robot system, and machine learning method for learning the behavior of a robot and a laser scanner
JP6457473B2