WO2024061602A2 - Verfahren zum ermitteln eines von einem roboter auszuführenden arbeitsvorgangs, verfahren zum ermitteln und prüfen eines von einer anlage auszuführenden arbeitsvorgangs, vorrichtung zur datenverarbeitung, computerprogramm und computerlesbares medium - Google Patents
Verfahren zum ermitteln eines von einem roboter auszuführenden arbeitsvorgangs, verfahren zum ermitteln und prüfen eines von einer anlage auszuführenden arbeitsvorgangs, vorrichtung zur datenverarbeitung, computerprogramm und computerlesbares medium Download PDFInfo
- Publication number
- WO2024061602A2 WO2024061602A2 PCT/EP2023/074160 EP2023074160W WO2024061602A2 WO 2024061602 A2 WO2024061602 A2 WO 2024061602A2 EP 2023074160 W EP2023074160 W EP 2023074160W WO 2024061602 A2 WO2024061602 A2 WO 2024061602A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- data
- work process
- computing device
- electronic computing
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 216
- 238000012545 processing Methods 0.000 title claims description 14
- 230000008569 process Effects 0.000 claims abstract description 168
- 238000004088 simulation Methods 0.000 claims abstract description 33
- 230000006870 function Effects 0.000 claims description 31
- 238000005457 optimization Methods 0.000 claims description 29
- 238000004519 manufacturing process Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 17
- 238000013461 design Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 5
- 238000012360 testing method Methods 0.000 claims description 2
- 238000009499 grossing Methods 0.000 claims 1
- 238000003754 machining Methods 0.000 abstract description 2
- 239000000047 product Substances 0.000 description 62
- 230000008901 benefit Effects 0.000 description 10
- 229920000915 polyvinyl chloride Polymers 0.000 description 10
- 239000004800 polyvinyl chloride Substances 0.000 description 10
- 238000003466 welding Methods 0.000 description 9
- 239000000463 material Substances 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 229920003023 plastic Polymers 0.000 description 4
- 239000004033 plastic Substances 0.000 description 4
- 239000000853 adhesive Substances 0.000 description 3
- 238000004026 adhesive bonding Methods 0.000 description 3
- 230000001070 adhesive effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000007788 liquid Substances 0.000 description 3
- 235000011837 pasties Nutrition 0.000 description 3
- 238000007789 sealing Methods 0.000 description 3
- 101000888841 Homo sapiens Glutamine synthetase Proteins 0.000 description 2
- 102100026126 Proline-tRNA ligase Human genes 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 238000000137 annealing Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 239000000565 sealant Substances 0.000 description 1
- 239000003566 sealing material Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1671—Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory 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
- G05B19/00—Programme-control systems
- G05B19/02—Programme-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
- G05B19/00—Programme-control systems
- G05B19/02—Programme-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/41875—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 quality surveillance of production
-
- 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—Programme-control systems
- G05B19/02—Programme-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/41885—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 modeling, simulation of the manufacturing 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
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32352—Modular modeling, decompose large system in smaller systems to simulate
Definitions
- Method for determining a work process to be carried out by a robot Method for determining and checking a work process to be carried out by a system, data processing device, computer program and computer-readable medium
- the invention relates to a method for determining a work process to be carried out by a robot for processing at least one component.
- the invention also relates to a method for determining and checking a work process to be carried out by a system for processing a component.
- the invention also relates to a data processing device, a computer program and a computer-readable medium.
- DE 10 2012 218297 B4 discloses a method for optimizing control of a machine.
- a robot is known from US 8,886,359 B2.
- JP 6457473 B2 discloses a machine learning device, a robot system and a machine learning method.
- An offline robot programming device is known from JP 2013-99815 A.
- DE 102014216 514 B3 discloses a method for programming an industrial robot as known.
- an optimization method is known from EP 3685 968 A1.
- the object of the present invention is to create a method, a device, a computer program and a computer-readable medium so that products can be manufactured in a timely and cost-effective manner.
- a first aspect of the invention relates to a method for determining at least one work process to be carried out by a robot for processing at least one component.
- 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 in particular be understood as determining a computer program, also simply referred to as a program, according to which the robot can be operated in such a way that the robot carries out the work process and thereby processes the component, in particular produces the product.
- the work process can be described or characterized by a computer program, also simply referred to as a program, the computer program comprising commands that cause the robot to carry out the work process, in particular if the computer program is executed by a computer, the computer being carried out, for example Executing the computer program controls the robot.
- the computer can be part of the robot.
- product data is determined by means of an electronic computing device, which can include, for example, the aforementioned computer and/or another, further computer, which characterize or describe the at least one component to be processed by the robot in the at least one work process .
- the product data is determined, for example, in such a way that the electronic computing device retrieves the product data from a, in particular electronic, data storage. This can be done automatically or depending on at least one input into the electronic computing device, in particular made by a person.
- the method is carried out using the electronic computing device, which is preferably a computer other than the computer that executes the aforementioned robot program.
- system data is determined by means of the electronic computing device, which characterizes a system for carrying out the at least one work process, which includes at least the robot and is also referred to as a manufacturing system.
- the system data can, for example, be determined in such a way that the electronic computing device retrieves the system data from the data storage mentioned and/or from another, further data storage. This can be done automatically or depending on at least one input made by the person into the electronic computing device.
- the electronic computing device is used to determine process data that characterize the at least one work process.
- the process data can, for example, be determined in such a way that the electronic computing device retrieves the process data from said data memory and/or from the further data memory and/or from yet another, third data memory. This can be done automatically or depending on at least one input made by the person into the electronic computing device.
- a simulation model is generated, that is calculated, using the electronic computing device based on the product data and the system data and the process data, with the simulation model replicating at least the system and the component. It can be seen that the product data, the system data and the process data are input data for or into the simulation.
- a simulation is carried out by means of the electronic computing device using the simulation model, whereby simulation data is determined, in particular calculated, by means of the electronic computing device, which describes or characterizes several step groups, the respective step group comprising several, mutually different sub-steps of the work process .
- the simulation data is initial data or a result of the simulation.
- the simulation data characterize or describe at least one respective property of the respective sub-step.
- the respective property of the respective sub-step can, for example, be a duration, also referred to as a period of time, which is required for the system, in particular the robot, to carry out or execute the respective sub-step.
- the respective time period is a respective time of the respective sub-step, with the system, in particular the robot, requiring the respective time to carry out the respective sub-step belonging to the respective time.
- the work process can be generated by selecting exactly one of the respective sub-steps of the respective step group from the respective step group, also simply referred to as a group, and stringing the selected sub-steps together. So if the system, in particular the robot, carries out the successive partial steps successively, the robot carries out the work process, since the successive partial steps, in particular in total, result in the work process.
- a target function of an optimization problem is created or generated using the electronic computing device, the target function comprising the sub-steps of the step groups as parameters.
- the target function is or describes a sum of all time periods of the sub-steps or the combinations of the sub-steps, whereby this function, i.e. the target function, should be minimized in order, for example, to optimize the work process in terms of its cycle time, i.e. one or the combination of the sub-steps from the step group to determine which means that the work process can be carried out as short or quickly as possible.
- the simulation determines the possibilities or the combination of the sub-steps from the step groups in order to carry out the work process using the system, taking the product data into account. From these options, in particular by minimizing the partial function, the variant, i.e. the combination or the option, is then selected which takes the least time, i.e. which takes the least amount of time for the work process, i.e. for its Implementation is required, leads.
- the respective combination or possibility includes, for example, exactly one of the respective sub-steps of the respective step group from the respective step group, in particular from all step groups.
- a seventh step of the method the target function is minimized by means of the electronic computing device, whereby one of the respective sub-steps of the respective step group is selected, in particular precisely, from the respective step group and the selected sub-steps are strung together, whereby the work process is formed, that is to say determined, in particular is calculated.
- the background to the invention is in particular that the work process can be carried out, that is, created and carried out, in different ways, the ways differing from one another in particular in that the work process can be composed of the different sub-steps.
- each partial step can be carried out individually by the system, in particular by the robot, for which the system requires the respective specified period of time.
- the respective sub-steps of the respective step group differ from one another, for example, in that the respective sub-steps of the respective step group can be carried out in different ways, in particular in order to achieve the same result of the respective sub-step.
- a first robot arm of the robot also referred to as the first robot axis
- moves relative to a second robot arm of the robot also referred to as the second robot axis
- starting from a starting position Axis of rotation can be rotated by 270 degrees in a first direction of rotation running around the axis of rotation or by 90 degrees in a second direction of rotation running around the axis of rotation and opposite to the first direction of rotation.
- the rotation of the first robot arm by 270 degrees in the first direction of rotation is, for example, a first of the sub-steps of a first of the step groups, wherein, for example, the rotation of the first robot arm by 90 degrees in the second direction of rotation is a second of the sub-steps of the first step group.
- the first sub-step and the second sub-step lead, for example, to the same result, which can in particular be a position of a tool of the robot, in particular a point of the tool of the robot.
- the optimization problem and thus the target function describe an optimization task designed and to be solved, for example, as a minimization task, which is solved by minimizing the target function.
- the target function can be designed or pronounced in such a way that by minimizing the target function, the work process is formed from the sub-steps of the target groups in such a way that the work process is carried out as quickly as possible, that is to say that one for carrying out the work process from the system The time required is as short as possible.
- minimizing the objective function and thus the optimization problem does not necessarily have to consist in selecting the shortest sub-step of the respective step group and thus stringing together the shortest sub-steps in such a way that it is conceivable that the work process as a whole can no longer be carried out, for example the execution of the shortest sub-step of one of the step groups does not enable the execution of the shortest sub-step of another of the step groups.
- the minimization of the objective function thus results in the work process that can be carried out and, for example, is the shortest in relation to all possible work processes that can be composed and carried out from the sub-steps.
- the invention thus makes it possible to determine the work process according to the target function in a timely and cost-effective manner and subsequently, for example, to determine, in particular to calculate, the aforementioned computer program, also referred to as a robot, in a timely and cost-effective manner.
- the work process is or describes, for example, at least a path along which at least part of the robot is to be moved or is moved when carrying out the work process.
- the method is therefore a possibility, also known as robot path planning Path planning to determine the work process and thus to determine the path to be carried out in a particularly timely and cost-effective manner and in particular at least partially automated, in particular fully automated.
- the work process can actually be carried out using the system and thus using the robot in order to thereby process the component and thus, for example, that to produce the aforementioned product.
- the invention thus enables time- and cost-effective production of the product or products, particularly in the context of series production.
- the robot is controlled in this way by means of the electronic computing device or by means of another, further electronic computing device is therefore operated, in particular regulated, in such a way that the robot carries out the determined work process.
- a further embodiment is characterized in that the product data characterizes a, in particular external, geometry of the component and/or an interference geometry that the robot should avoid.
- the interference geometry is a point or points to which the robot or the system should not or cannot be moved, so that undesirable collisions can be avoided.
- the system data characterize articulated robot arms, also referred to as robot axes, of the robot designed, for example, as an industrial robot.
- the robot arms are connected to one another in an articulated manner and can therefore be moved relative to one another in a rotational and/or translational manner, for example, allowing implementation in different ways, so that a large solution space can be created by taking the robot arms into account, within which the work process can be determined particularly advantageously with regard to the target function.
- the system data characterize at least one tool of the robot that can be moved by means of the robot relative to the component and in particular in space and is intended to carry out the work process. By taking the tool into account, the work process can be determined particularly precisely and executable.
- the work process includes applying at least one seam, for example designed as a plastic seam and, for example, as a sealing and/or adhesive seam, to the component by means of the robot.
- the seam can be a PVC seam (PVC - polyvinyl chloride).
- the work process can record that at least one weld is carried out by the robot.
- the weld may be a spot weld or the weld may produce a weld.
- the component is connected, for example, to at least one other component.
- the tool can therefore, for example, be an application tool in order to apply the aforementioned seam, and therefore a material forming the seam, such as a sealant and/or an adhesive, to the component.
- the tool can be a welding tool for carrying out the welding.
- the respective sub-step is also referred to as the respective application.
- the process data describes or characterizes at least one trajectory along which at least part of the robot is to be moved, and/or at least one speed at which at least part of the robot can be moved, in particular along the trajectory .
- the trajectory can be the aforementioned path or a part of the path.
- the background to this embodiment is that several trajectories can exist along which at least part of the robot can be moved in order to carry out the respective sub-step and thus the work process.
- the shortest trajectory does not necessarily have to be the one that ensures that the work process lasts as short as possible.
- a second aspect of the invention relates to a method for determining and testing at least one work process to be carried out by a system for processing at least one component.
- the system includes, for example, at least one robot.
- construction data which characterize several products that are different from each other are stored in at least one data memory.
- System data is also stored in the data memory, which characterizes several different systems for carrying out manufacturing steps.
- a first subset of the construction data is selected from the design data depending on, for example, inputs into the electronic computing device made by a person, the first subset characterizing, in particular precisely, one of the products.
- the following and previous statements regarding the product data can be transferred to the design data and vice versa.
- a second subset of the system data is selected, the second subset characterizing, in particular precisely, one of the systems.
- At least one work process required for producing the product characterized by the first subset is automatically calculated and thereby determined by means of the electronic computing device depending on the first subset.
- the work process is calculated by means of the electronic computing device, in particular exclusively, on the basis of the selected design data, i.e. based on the design data of the selected, first subset, so that automation is provided at least with regard to the determination of the work process .
- the electronic computing device is used to check, depending on the second subset, whether the system characterized by the second subset is capable, and therefore designed, to carry out the calculated work process.
- the electronic computing device carries out a simulation based on the first subset and the second subset.
- the simulation is carried out using a simulation model which reproduces the system characterized by the second subset and the product characterized by the first subset.
- the electronic computing device is used to simulate whether or that the work process is carried out by the system. If the simulation finds that the system can carry out the entire work process determined, it is recognized that the system is capable of carrying out the work process. However, if the simulation determines that the system is carrying out at least part of the identified work process or cannot carry out the entire work process, it is determined that the system is not able to carry out the determined work process. This means that the work process can be determined and checked in a particularly timely and cost-effective manner.
- Robots are used to manufacture products in order to be able to manufacture the products quickly and cost-effectively.
- robots are used in the automotive industry to manufacture vehicles in order to manufacture the vehicles at least partially automatically and thus quickly and cost-effectively.
- Robots such as industrial robots.
- the robot or an electronic computing device is programmed to operate the robot.
- the robot is usually taught to carry out the work process step by step.
- This programming can be carried out directly in the system containing the robot and thus online, or in a virtual environment and thus offline.
- the advantage of offline programming is that production does not have to be interrupted or only needs to be interrupted slightly in order to make changes to the work process.
- Robot manufacturers often offer their own software product to carry out offline programming. There are also software solutions that can be used to carry out offline programming across manufacturers.
- the first step is to build a virtual environment of a robot cell comprising the robot manually and therefore by one person. This process is time-consuming and prone to operator errors.
- the data of the virtual environment to be set up can be divided into three categories:
- Process data (listing of robot tasks by product including process parameters)
- a manual authorization or addition must usually be carried out in the software. This in turn leads to increased time expenditure and stands in the way of short development cycles.
- Such disadvantages can be avoided by the invention.
- Conventional software solutions make it possible to transfer tasks from one robot to another robot or to change the order of a task flow. However, each of such changes usually has to be carried out manually and therefore by a person.
- the robot program usually often has to be revised afterwards in order to make the robot's movements between tasks runnable and collision-free. This means that a lot of effort and time has to be invested in order to optimally design a robot program in terms of cycle time.
- the invention enables a time- and cost-effective cycle time optimization by optimizing the work process or the robot program, in particular by means of automated data provision, in order to avoid the aforementioned disadvantages.
- a digital image of the system which is also known as a robot system and includes the robot, is created, in particular including all interference contours.
- This digital image is created, for example, as a calculation model, model or simulation model, the digital image being based, for example Plant data and product data is created.
- robot tasks i.e. at least one task to be carried out or carried out by the robot.
- the task involves, for example, the work process mentioned, which can include gluing and/or welding.
- the work process can include applying an adhesive and/or a sealing material formed, for example, as plastic, in particular as PVC, to the component.
- the optimized work process i.e. the determined work process (robot program) is output.
- a further step can include validating the optimized robot program (work process), particularly with regard to collisions and the ability to run at reduced speed of the robot.
- a further step can include using the determined and thus optimized work process (robot program) in a production process in which, for example, the robot is operated according to the determined work process and thus processes the component.
- the system, product and process data are automatically incorporated into the generation of the robot program.
- a particularly data-technical line also known as a pipeline
- the electronic computing device or software for determining the work process is connected to different databases and information sources in order to obtain information, in particular about the system, in particular about changes to the system, and / or about the component, especially about changes to the component.
- the robot can be positioned and configured in a virtual world via a node-based user interface.
- a person also referred to as a user selects the robot, that is, a model of the robot from a catalog and imports the selected model to the virtual world, in particular using drag-and-drop.
- the robot is positioned, particularly in the virtual world, by entering six values, for example.
- Three of the values are, for example, coordinates, in particular with respect to a particularly Cartesian coordinate system, with a first of the coordinates being, for example, an x coordinate, a second of the coordinates being a y coordinate and a third of the coordinates being a z coordinate.
- three other values can describe roll, pitch and yaw.
- the configuration of the robot is carried out, for example, using a robot backup. To do this, the user executes the robot backup, also known as a backup, and connects it to the robot via the node-based user interface. If the real robot does not (yet) exist, default values are assumed.
- the interference contours are positioned similarly to the robot in the real world. Examples of this are safety fences, conveyor technology and hangers.
- the product data describes in particular a geometric representation of the component or product to be processed, in particular the component or product to be manufactured.
- the product data can be or include vehicle data, which is created, for example, by designers of a vehicle in a design program such as CATIA. If the system does not yet exist in reality or if the component or product is not yet physically present, the component or product is positioned in an ideal location in the virtual world. If a measurement protocol, which characterizes, for example, an actual recording of a real position of a product in the system, is available, the component or product is positioned in the virtual world at a real location in the system.
- An automated structure of the system in particular a robot cell, can be implemented via an interface with a system design software. For example, Automation ML or Auto ML can be used for this. With this approach, the virtual robot model is also equipped with a real robot backup, if one is available.
- Robot program can be imported into the node-based user interface and linked to the applicable robot.
- a specific type of application such as welding, gluing, sealing, etc. is selected, in particular by the user, in order to instruct the software how to interpret the linked robot program.
- value-adding components instead of movements between two robot tasks
- a premise for this procedure can be that the manual robot programming was carried out according to the template logic.
- point application the robot task takes place at a specific location.
- spot welding in which a welding spot is produced, i.e. set, at one point, particularly precisely.
- the robot travels one last short distance on the way to one
- templates for point applications can also exist from several movement commands, usually three.
- the template for railway applications can therefore contain at least two movement commands.
- a PVC application that is to say an application of a web, in particular designed as a seam or forming a seam, of a liquid or pasty material, for example, for sealing the component, is a type of web application, the material being, for example, a plastic, in particular PVC, can be. It is advantageous if the process data described above contains all the information that is required to be able to fill the appropriate templates and thus be able to carry out suitable robot programming.
- Values that do not exist in the process data can be filled with a standard value.
- Automation can also be implemented here by storing the robot programs in a database. The software accesses this database and checks whether new robot programs have been added. If this is the case, optimization is performed and the optimized program is placed in the database.
- the same approach can be used when creating the Robot program is carried out based on process data. In this case, the software is connected to the database in which the process data is stored. If the process data changes, an update of the robot program can be carried out, in particular automatically or automatically.
- a system for optimization with one or more algorithms can be carried out on the basis of the data created, for example on the basis of the process data, the system data and the product data, wherein the system , in particular minimizing the objective function, the robot tasks, i.e. work processes, are optimized, for example with regard to the cycle time, in particular without violating validation criteria.
- the objective function can be solved or minimized by conventional solution or minimization methods, in particular by conventional, commercial and/or, in particular freely and/or commercially available, solvers such as Concorde, GLNS, Greedy, CPLEX Optimization Suite.
- solvers such as Concorde, GLNS, Greedy, CPLEX Optimization Suite.
- the system has several robots, namely the robot mentioned and at least one further, second robot.
- the system data thus characterizes the several robots in the system.
- the respective sub-steps of the respective step group can differ from one another in that one of the sub-steps is or will be carried out using the first robot and another of the sub-steps is or will be carried out can.
- the work process can be determined particularly advantageously.
- a number of the parameters 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 can be used to solve the optimization problem and to minimize the objective function in a timely and cost-effective manner.
- Different solution algorithms may exist to solve the optimization problem. For example, a system with a modular architecture can be used, which allows new algorithms to be efficiently added to solve the optimization problem.
- the resulting ensembles of algorithms can then be started in parallel with a given problem instance in an automated process and executed until all algorithms converge or a termination condition, for example a maximum total running time or desired cycle time, has been reached.
- the ensemble’s results are then collected and evaluated centrally. For example, the solution with the lowest takt time is returned and used as the operation.
- the criterion includes, for example, that the time, also referred to as cycle time, which is required by the system to carry out the respective work process is the shortest time, so that, for example, the work process with the shortest cycle time is selected from the several work processes provided.
- the term can be and hardware utilization can be improved. For example, during optimization many different robot paths or sub-steps are simulated in order to sample the solution space. For successful optimization, it is advantageous that the simulation is carried out with the respective virtual robot controllers from the respective robot manufacturer. Otherwise, the real robot path could differ from the simulated robot path.
- the robot program found is exported in particular by means of the optimization system.
- the robot programs can be used more or less automatically.
- Another option is to save the robot program directly on the robot or its controller. This means that fewer manual steps are required to validate the optimized and found robot program, i.e. the identified work process.
- the robot programs are also stored in a database, a change history can be evaluated. This makes it possible to evaluate the cycle time of the product over time. Based on this, risks in a product development process can be identified at an early stage, for example when the capacity of a robot cell reaches its limit.
- Validation of the optimized robot program can include the following: Typically, the optimized robot program is run with the robot at a low speed to check or confirm that no collision occurs. An application can then be switched on and the robot program is run at normal speed to determine the quality of the robot program. Defects in the robot program can be corrected manually. An example of this would be shifting an application point by a few millimeters.
- Using the optimized robot program in a production process can include the following: After the robot program has been validated, the robot program can be used in a production process.
- the invention enables the realization of at least the following advantages: Due to the automated pipeline of data, the generated robot programs always refer to the latest status of the product and the program is constantly optimized for the cycle time. In general, the advantages can be described as follows:
- a web made of a particularly liquid or pasty material is applied to the component.
- the web is, for example, a seam or forms a seam.
- the material is, for example, a plastic, in particular PVC.
- the component can be sealed against another, further component using the web.
- the example assumes that a new production line is being planned and it is questioned whether a planned number of robots is sufficient in terms of production capacity. In order to be able to evaluate the capacity, the method according to the invention, described above, is used.
- Creation of the virtual production line that is, creation of a virtual image of the new production line, occurs automatically, for example, on the basis of planning software in which the new production line is planned. Correct robot models are therefore positioned on or in the correct place in the virtual world, i.e. in the virtual image. Robot backups are carried out via the aforementioned node-based user interface Robots from an existing production line are linked.
- the product data of the relevant product or component for example designed as a vehicle, is imported directly from a database for product data and displayed in a planned position in the virtual world (virtual image). For example, only the relevant product is selected from a drop-down list.
- the product data is always up to date with the latest released design status because, for example, the software accesses the database directly.
- seam information about the seam is read from the database of a PVC construction.
- the relevant seam or seams are automatically selected for the relevant product (vehicle). This selection takes place on the basis of relational knowledge between product and process data. After all data has been successfully read in, the actual, actual optimization takes place, which is then reflected in the exported robot program, thus outputting the optimized, determined work process.
- the advantage of the automated data pipeline is that the robot program is updated without manual effort as soon as a change is made in the system data and/or product data and/or process data. Whether the capacity of the new production line is sufficient to produce the relevant product (vehicle) can be seen from the cycle time or cycle times of the optimized robot program.
- a third aspect of the invention relates to a data processing device designed in particular as an electronic computing device, which comprises means for carrying out the method according to the first aspect of the invention and/or the second aspect of the invention.
- Advantages and advantageous embodiments of the first aspect and the second aspect of the invention are to be viewed as advantages and advantageous embodiments of the third aspect of the invention and vice versa.
- a fourth aspect of the invention relates to a computer program, also referred to as a computer program product, comprising instructions which, when the computer program is executed by a computer, cause the computer to carry out the method according to the first aspect of the invention and/or according to the second aspect of the invention.
- Advantages and advantageous embodiments of the first aspect, the second aspect and the third aspect of the invention are to be viewed as advantages and advantageous embodiments of the fourth aspect of the invention and vice versa.
- a fifth aspect of the invention relates to a computer-readable medium on which the computer program according to the fourth aspect of the invention is stored.
- Advantages and advantageous embodiments of the first aspect, the second aspect, the third aspect and the fourth aspect of the invention are to be viewed as advantages and advantageous embodiments of the fifth aspect of the invention and vice versa.
- FIG. 1 shows a flowchart to illustrate a method for determining at least one work process to be carried out by a robot for processing at least one component.
- a method for determining, in particular for calculating, at least one work process to be carried out by a robot and also referred to as a robot program for processing at least one component is explained below with reference to Fig. 1.
- the component is a product or can be part of a product, the product being manufactured, for example, by the work process.
- the work process can be made up of several sub-steps that are arranged one after the other, i.e. that follow one another in time, so that when the robot carries out the individual sub-steps one after the other, the robot carries out the work process as a whole.
- the sub-steps that follow one another in time, in particular as a whole form the work process.
- product data is illustrated by a block 1, which is determined by means of an electronic computing device 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.
- a block 2 illustrates system data that is determined by means of the electronic computing device and characterizes a system comprising at least the robot for carrying out the at least one work process.
- the robot is illustrated by a block 3.
- block 3 illustrates a first part of the system data, the first part of the system data describing the robot.
- a block 4 illustrates interference contours.
- the interference contours illustrated by block 4 can be characterized, for example, by a second part of the product data and/or by a first part of the system data.
- the interfering contours are places to which the robot should not be moved when carrying out the work process, otherwise it will unwanted collisions could occur.
- the interference contours can be formed, for example, by the component or the product and/or by elements of the system.
- the elements of the system are, for example, security fences or other objects.
- a block 5 illustrates the aforementioned geometry of the component, the geometry of which is characterized, that is, described, for example, by a second part of the product data.
- a block 6 illustrates, for example, a positioning of the component, in particular while carrying out the work process. For example, the positioning is characterized, i.e. described, by a third part of the product data.
- a block 7 illustrates a positioning of the robot, in particular when carrying out the work process, the positioning of the robot being described or characterized, for example, by a third part of the system data.
- a block 8 illustrates a robot backup, which is described, for example, by a fourth part of the system data.
- a block 9 illustrates a geometry of the robot, the geometry of which is described, for example, by a fifth part of the system data.
- a block 10 illustrates a kinematic description of the robot, a block 11 illustrates a list of robot axes of the robot, also simply referred to as axes, and a block 12 illustrates limit values.
- the kinematic description (block 10) can result from the setup of the axes (block 11) and from the limit values (block 12) or that they are connected.
- the setup of the axes, the limit values and the kinematic description are described in a sixth part of the system data.
- the robot backup illustrated by block 8 is related, for example, to work objects illustrated by a block 13 and to tool information illustrated by a block 14, for example the work objects and the tool information being described by a seventh part of the system data.
- the tool information is information about at least one tool of the robot, by means of which the tool is moved relative to the component when carrying out or executing the work process in order to carry out the work process, i.e. to machine the tool.
- the tool information describes the tool mentioned, by means of which, for example, a particularly liquid or pasty material is applied to the component during the working process and/or the component is welded to at least one further component, and therefore at least one welding of the component is carried out .
- a block 24 illustrates process data which characterizes the work process and is determined using the electronic computing device.
- a block 15 illustrates that a virtual image of the system and the component, also referred to as a virtual world, is generated by means of the electronic computing device.
- the virtual image is a simulation model or described by a simulation model, which replicates the system and the component and is generated, in particular created, by means of the electronic computing device on the basis of the production data and the product data and the system data, which are also referred to as system data.
- a block 16 illustrates an interpretation of tasks to be carried out in particular by the robot or the system and also referred to as robot tasks.
- a block 17 illustrates an optimization or an optimized creation.
- block 17 illustrates that a simulation is carried out using the simulation model using the electronic computing device.
- the simulation determines simulation data that describes or characterizes several step groups, with the respective step group comprising several different sub-steps of the work process. From the sub-steps of the step groups determined, in particular calculated, by the simulation, the work process or different combinations or variants of the work process could be generated in such a way that exactly one of the respective sub-steps is selected from the respective step group, and that the selected sub-steps are strung together, so that when the robot carries out the selected and sequenced sub-steps, the robot carries out the work process.
- the simulation data is illustrated by a block 41.
- a target function of an optimization problem is created by means of the electronic computing device, the target function of which includes the sub-steps of the step groups as parameters or variables.
- the target function is minimized during the optimization, whereby one of the respective sub-steps of the respective step group is selected, in particular precisely, from the respective step group.
- the selected sub-steps are strung together, whereby the work process, i.e. the optimized work process, is determined.
- the objective function or its The solution delivers, for example, a sequence of the selected sub-steps in such a way that the resulting or resulting work process can be carried out by the system on the one hand and, on the other hand, has the shortest cycle time in relation to all possible work processes that can be formed from the sub-steps of the step groups is needed to carry out the work process.
- a block 18 illustrates a return or output of the optimized work process determined in block 17, which is also referred to as an optimized robot program.
- a block 19 illustrates, for example, a translation to a robot language, and a block 20 illustrates, for example, a transfer to an OLP software.
- the process data can be determined, for example, based on at least one or more already existing robot programs, or, if such an already existing robot program does not yet exist, in another way.
- a decision is made as to whether at least one robot program already exists.
- a branch 22 illustrates a procedure that is performed when a robot program already exists.
- a branch 23 illustrates a procedure that is carried out when there is no robot program yet.
- a block 25 of branch 22 illustrates switching an application technology on and off.
- a block 26 of branch 22 illustrates a point application, and a block 27 of branch 22 illustrates a web application.
- a block 28 illustrates reading in one or the already existing robot program, and a block 29 of branch 22 illustrates translating the read-in robot program into a general format.
- a block 30 of branch 23 illustrates a design of the product, for example designed as a vehicle, for example, a block 31 illustrates a database and a block 32 of branch 23 illustrates planning data.
- a branch 33 illustrating the optimization (block 17) in more detail includes blocks 34, 35, 36, 37, 38, 39 and 40, which can be, for example, further variables of the target function.
- block 34 illustrates an inverse direction.
- Block 35 illustrates a selection of the tool.
- a block 36 illustrates a robot configuration of the robot, and a block 37 illustrates a position of the robot on a linear axis.
- a block 39 illustrates an application method
- a block 40 illustrates a sequence, in particular of the sub-steps
- a block 38 illustrates For example, a distribution of the sub-steps to be carried out to carry out the work process among several robots of the system if this has at least one second robot as the aforementioned robot in addition to the first robot.
Landscapes
- Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
Die Erfindung betrifft ein Verfahren zum Ermitteln wenigstens eines von wenigstens einem Roboter auszuführenden Arbeitsvorgangs zum Bearbeiten wenigstens eines Bauteils. Mittels einer elektronischen Recheneinrichtung werden Produktdaten ermittelt, welche das wenigstens eine mittels des Roboters bei dem wenigstens einen Arbeitsvorgang zu bearbeitende Bauteil charakterisieren. Mittels der elektronischen Recheneinrichtung: werden Anlagendaten ermittelt, welche eine zumindest den Roboter umfassende Anlage zum Ausführen des wenigstens einen Arbeitsvorgangs charakterisieren. Mittels der elektronischen Recheneinrichtung wird ein die Anlage und das Bauteil nachbildendes Simulationsmodells auf Basis der Produktdaten und der Anlagendaten erzeugt. Mittels der elektronischen Recheneinrichtung wird einer Simulation mittels des Simulationsmodells durchgeführt, wodurch mittels der elektronischen Recheneinrichtung Prozessdaten ermittelt werden, welche mehrere Schrittgruppen beschreiben, wobei die jeweilige Schrittgruppen mehrere, voneinander unterschiedliche Teilschritte des Arbeitsvorgangs umfasst. Mittels der elektronischen Recheneinrichtung wird eine Zielfunktion eines Optimierungsproblems erstellt, dessen Zielfunktion die Teilschritte der Schrittgruppen als Parameter umfasst.
Description
Verfahren zum Ermitteln eines von einem Roboter auszuführenden Arbeitsvorgangs, Verfahren zum Ermitteln und Prüfen eines von einer Anlage auszuführenden Arbeitsvorgangs, Vorrichtung zur Datenverarbeitung, Computerprogramm und computerlesbares Medium
Die Erfindung betrifft ein Verfahren zum Ermitteln eines von einem Roboter auszuführenden Arbeitsvorgangs zum Bearbeiten wenigstens eines Bauteils. Die Erfindung betrifft auch ein Verfahren zum Ermitteln und Prüfen eines von einer Anlage auszuführenden Arbeitsvorgangs zum Bearbeiten eines Bauteils. Die Erfindung betrifft auch eine Vorrichtung zur Datenverarbeitung, ein Computerprogramm und ein computerlesbares Medium.
Die DE 10 2012 218297 B4 offenbart ein Verfahren zum Optimieren einer Steuerung einer Maschine. Aus der US 8 886 359 B2 ist ein Roboter bekannt. Die JP 6457473 B2 offenbart eine Einrichtung zum maschinellen Lernen, ein Robotersystem und ein Verfahren zum maschinellen Lernen. Aus der JP 2013-99815 A ist ein Offline-Roboter- Programmiergerät bekannt. Außerdem ist der DE 102014216 514 B3 ein Verfahren zum Programmieren eines Industrieroboters als bekannt zu entnehmen. Ferner ist aus der EP 3685 968 A1 ein Optimierungsverfahren bekannt.
Aufgabe der vorliegenden Erfindung ist es, ein Verfahren, eine Vorrichtung, ein Computerprogramm und ein computerlesbares Medium zu schaffen, so dass Produkte zeit- und kostengünstig hergestellt werden können.
Diese Aufgabe wird erfindungsgemäß durch ein Verfahren mit den Merkmalen des Patentanspruchs 1 , durch ein Verfahren mit den Merkmalen des Patentanspruchs 7, durch eine Vorrichtung mit den Merkmalen des Patentanspruchs 8, durch ein Computerprogramm mit den Merkmalen des Patentanspruchs 9 sowie durch ein computerlesbares Medium mit den Merkmalen des Patentanspruchs 10 gelöst. Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der abhängigen Ansprüche.
Ein erster Aspekt der Erfindung betrifft ein Verfahren zum Ermitteln wenigstens eines von einem Roboter auszuführenden Arbeitsvorgangs zum Bearbeiten wenigstens eines
Bauteils. Beispielsweise ist der Arbeitsvorgang ein Arbeitsvorgang zum Herstellen eines Produkts, welches beispielsweise aus dem Bauteil durch Bearbeiten des Bauteils hergestellt wird. Unter dem Ermitteln des Arbeitsvorgangs kann insbesondere ein Ermitteln eines einfach auch als Programm bezeichneten Computerprogramms verstanden werden, gemäß welchem der Roboter betrieben werden kann, derart, dass der Roboter den Arbeitsvorgang ausführt und dadurch das Bauteil bearbeitet, insbesondere das Produkt herstellt. Mit anderen Worten kann der Arbeitsvorgang durch ein einfach auch als Programm bezeichnetes Computerprogramm beschrieben oder charakterisiert werden, wobei das Computerprogramm Befehle umfasst, die bewirken, dass der Roboter den Arbeitsvorgang ausführt, insbesondere wenn das Computerprogramm durch einen Computer ausgeführt wird, wobei der Computer beispielsweise durch Ausführen des Computerprogramms den Roboter ansteuert. Ferner kann der Computer Bestandteil des Roboters sein.
Bei einem ersten Schritt des Verfahrens werden mittels einer elektronischen Recheneinrichtung, welche beispielsweise den zuvor genannten Computer und/oder einen anderen, weiteren Computer umfassen kann, Produktdaten ermittelt, welche das wenigstens eine mittels des Roboters bei dem wenigstens einen Arbeitsvorgang zu bearbeitende Bauteil charakterisieren beziehungsweise beschreiben. Die Produktdaten werden beispielsweise derart ermittelt, dass die elektronische Recheneinrichtung die Produktdaten aus einem, insbesondere elektronischen, Datenspeicher abruft. Dies kann automatisch oder in Abhängigkeit von wenigstens einer insbesondere durch eine Person bewirkten Eingabe in die elektronische Recheneinrichtung erfolgen. Insbesondere wird das Verfahren mittels der elektronischen Recheneinrichtung durchgeführt, welche vorzugsweise ein anderer Computer als der Computer ist, der das zuvor genannte Roboterprogramm ausführt.
Bei einem zweiten Schritt des Verfahrens werden mittels der elektronischen Recheneinrichtung Anlagendaten ermittelt, welche eine zumindest den Roboter umfassende und auch als Herstellanlage bezeichnete Anlage zum Ausführen des wenigstens einen Arbeitsvorgangs charakterisieren. Die Anlagendaten können beispielsweise derart ermittelt werden, dass die elektronische Recheneinrichtung die Anlagendaten aus dem genannten Datenspeicher und/oder aus einem anderen, weiteren Datenspeicher abruft. Dies kann automatisch oder in Abhängigkeit von wenigstens einer durch die Person bewirkten Eingabe in die elektronische Recheneinrichtung erfolgen.
Bei einem dritten Schritt des Verfahrens werden mittels der elektronischen Recheneinrichtung Prozessdaten ermittelt, welche den wenigstens einen Arbeitsvorgangs charakterisieren. Die Prozessdaten können beispielsweise derart ermittelt werden, dass die elektronische Recheneinrichtung die Prozessdaten aus dem genannten Datenspeicher und/oder aus dem weiteren Datenspeicher und/oder aus einem wieder anderen, dritten Datenspeicher abruft. Dies kann automatisch oder in Abhängigkeit von wenigstens einer durch die Person bewirkten Eingabe in die elektronische Recheneinrichtung erfolgen.
Bei einem vierten Schritt des Verfahrens wird mittels der elektronischen Recheneinrichtung ein Simulationsmodell auf Basis der Produktdaten und der Anlagendaten und der Prozessdaten erzeugt, das heißt berechnet, wobei das Simulationsmodell zumindest die Anlage und das Bauteil nachbildet. Es ist erkennbar, dass die Produktdaten, die Anlagendaten und die Prozessdaten Eingangsdaten für oder in die Simulation sind.
Bei einem fünften Schritt des Verfahrens wird mittels der elektronischen Recheneinrichtung mittels des Simulationsmodells eine Simulation durchgeführt, wodurch mittels der elektronischen Recheneinrichtung Simulationsdaten ermittelt, insbesondere berechnet, werden, welche mehrere Schrittgruppen beschreiben oder charakterisieren, wobei die jeweilige Schrittgruppe mehrere, voneinander unterschiedliche Teilschritte des Arbeitsvorgangs umfasst. Es ist erkennbar, dass die Simulationsdaten Ausgangsdaten oder ein Ergebnis der Simulation sind. Insbesondere charakterisieren oder beschreiben beispielsweise die Simulationsdaten wenigstens eine jeweilige Eigenschaft des jeweiligen Teilschritts. Die jeweilige Eigenschaft des jeweiligen Teilschritts kann beispielsweise eine auch als Zeitspanne bezeichnete Dauer sein, die erforderlich ist, damit die Anlage, insbesondere der Roboter, den jeweiligen Teilschritt durchführt beziehungsweise ausführt. Mit anderen Worten ist die jeweilige Zeitspanne eine jeweilige Zeit des jeweiligen Teilschritts, wobei die Anlage, insbesondere der Roboter, die jeweilige Zeit benötigt, um den jeweiligen, zur jeweiligen Zeit gehörenden Teilschritt auszuführen. Dabei ist der Arbeitsvorgang erzeugbar, indem aus der jeweiligen, einfach auch als Gruppe bezeichneten Schrittgruppe genau einer der jeweiligen Teilschritte der jeweiligen Schrittgruppe ausgewählt wird und die ausgewählten Teilschritte aneinandergereiht werden. Führt also die Anlage, insbesondere der Roboter, die aneinandergereihten Teilschritte sukzessive aus, so führt der Roboter den Arbeitsvorgang aus, da die aneinandergereihten Teilschritte, insbesondere in Summe, den Arbeitsvorgang ergeben.
Bei einem sechsten Schritt des Verfahrens wird mittels der elektronischen Recheneinrichtung eine Zielfunktion eines Optimierungsproblems erstellt oder erzeugt, wobei die Zielfunktion die Teilschritte der Schrittgruppen als Parameter umfasst. Beispielsweise ist oder beschreibt die Zielfunktion eine Summe aller Zeitspannen der Teilschritte oder der Kombinationen der Teilschritte, wobei diese Funktion, mithin die Zielfunktion minimiert werden soll, um dadurch beispielsweise den Arbeitsvorgang hinsichtlich seiner Taktzeit zu optimieren, mithin eine oder die Kombination der Teilschritte aus den Schrittgruppe zu ermitteln, die dazu führt, dass der Arbeitsvorgang so kurz oder schnell wie möglich durchgeführt werden kann. Mit anderen Worten ermittelt die Simulation die Möglichkeiten oder die Kombination der Teilschritte aus den Schrittgruppen, um mittels der Anlage unter Berücksichtigung der Produktdaten den Arbeitsvorgang auszuführen. Aus diesen Möglichkeiten wird dann, insbesondere durch das Minimieren der Teilfunktion, beispielswiese die Variante, das heißt die Kombination oder die Möglichkeit gewählt, welche die geringste Zeit in Anspruch nimmt, mithin welche zu der geringsten Zeit, die für den Arbeitsvorgang, das heißt für dessen Durchführung erforderlich ist, führt. Die jeweilige Kombination oder Möglichkeit umfasst dabei beispielsweise aus der jeweiligen Schrittgruppe, insbesondere aus allen Schrittgruppen, genau einen der jeweiligen Teilschritte der jeweiligen Schrittgruppe.
Bei einem siebten Schritt des Verfahrens wird mittels der elektronischen Recheneinrichtung die Zielfunktion minimiert, wodurch aus der jeweiligen Schrittgruppe, insbesondere genau, einer der jeweiligen Teilschritte der jeweiligen Schrittgruppe ausgewählt wird und die ausgewählten Teilschritte aneinandergereiht werden, wodurch der Arbeitsvorgang gebildet, das heißt ermittelt, insbesondere berechnet, wird.
Hintergrund der Erfindung ist insbesondere, dass der Arbeitsvorgang auf unterschiedliche Weisen durchgeführt, das heißt erstellt und durchgeführt werden kann, wobei sich die Weisen insbesondere dadurch voneinander unterscheiden, dass der Arbeitsvorgang aus den unterschiedlichen Teilschritten zusammengesetzt werden kann. Beispielsweise ist jeder T eilschritt für sich alleine betrachtet von der Anlage, insbesondere von dem Roboter, ausführbar, wofür die Anlage die jeweilige, genannte Zeitspanne benötigt. Die jeweiligen Teilschritte der jeweiligen Schrittgruppe unterscheiden sich beispielsweise dadurch voneinander, dass die jeweiligen Teilschritte der jeweiligen Schrittgruppe auf unterschiedliche Weisen ausgeführt werden können, insbesondere um das gleiche Ergebnis des jeweiligen Teilschritts zu erreichen. Ein Beispiel hierfür ist, dass beispielsweise eine auch als erste Roboterachse bezeichneter, erster Roboterarm des Roboters relativ zu einem auch als zweite Roboterachse bezeichneten, zweiten Roboterarm des Roboters beispielsweise ausgehend von einer Ausgangsstellung um eine
Drehachse um 270 Grad in eine um die Drehachse verlaufende, erste Drehrichtung oder um 90 Grad in eine um die Drehachse verlaufende und der ersten Drehrichtung entgegengesetzte, zweite Drehrichtung gedreht werden kann. Die Drehung des ersten Roboterarms um 270 Grad in die erste Drehrichtung ist beispielsweise ein erster der Teilschritte einer ersten der Schrittgruppen, wobei beispielsweise die Drehung des ersten Roboterarms um 90 Grad in die zweite Drehrichtung ein zweiter der Teilschritte der ersten Schrittgruppe ist. Der erste Teilschritt und der zweite Teilschritt führen beispielsweise zum gleichen Ergebnis, welches insbesondere eine Position eines Werkzeugs des Roboters, insbesondere eines Punkts des Werkzeugs des Roboters, sein kann. Es ist erkennbar, dass je nach Anzahl der jeweiligen Teilschritte der jeweiligen Schrittgruppe und je nach Anzahl der Schrittgruppen eine hohe Anzahl von Kombinationsmöglichkeiten bestehen kann, auf die die jeweiligen Teilschritte miteinander kombiniert, das heißt aneinandergereiht werden können, um den Arbeitsvorgang zu bilden.
Das Optimierungsproblem und somit die Zielfunktion beschreiben eine beispielsweise als Minimierungsaufgabe ausgebildete und zu lösende Optimierungsaufgabe, welche durch Minimieren der Zielfunktion gelöst wird. Insbesondere kann beispielsweise die Zielfunktion derart ausgebildet oder derart ausgeprägt sein, dass durch Minimieren der Zielfunktion der Arbeitsvorgang aus den Teilschritten der Zielgruppen derart gebildet wird, dass der Arbeitsvorgang so schnell wie möglich durchgeführt wird, das heißt, dass eine zur Durchführung des Arbeitsvorgangs von der Anlage benötigte Zeitspanne so gering wie möglich ist. Die Minimierung der Zielfunktion und somit des Optimierungsproblems muss jedoch nicht notwendigerweise darin bestehen, dass der jeweils kürzeste Teilschritt der jeweiligen Schrittgruppe ausgewählt und somit die jeweils kürzesten Teilschritte aneinandergereiht werden, dass denkbar ist, dass wenn der Arbeitsvorgang insgesamt nicht mehr durchgeführt werden kann, wenn beispielsweise die Ausführung des kürzesten Teilschritts einer der Schrittgruppen die Ausführung des kürzesten Teilschritts einer anderen der Schrittgruppen nicht ermöglicht. Somit ergibt die Minimierung der Zielfunktion den Arbeitsvorgang, welcher ausführbar ist und beispielsweise bezogen auf alle möglichen, aus den Teilschritten zusammensetzbaren und durchführbaren Arbeitsvorgänge der kürzeste ist. Die Erfindung ermöglicht es somit, den Arbeitsvorgang gemäß der Zielfunktion zeit- und kostengünstig zu ermitteln und in der Folge beispielsweise das zuvor genannte, auch als Roboter bezeichnete Computerprogramm zeit- und kostengünstig zu ermitteln, insbesondere zu berechnen. Der Arbeitsvorgang ist oder beschreibt beispielsweise wenigstens einen Pfad, entlang welchem zumindest ein Teil des Roboters beim Ausführen des Arbeitsvorgangs zu bewegen ist oder bewegt wird. Somit ist das Verfahren eine Möglichkeit, eine auch als Roboterpfadplanung bezeichnete
Pfadplanung zum Ermitteln des Arbeitsvorgangs und somit zum Ermitteln des Pfads besonders zeit- und kostengünstig sowie insbesondere zumindest teilautomatisiert, insbesondere vollautomatisiert, durchzuführen.
Nach erfolgter Roboterpfadplanung, das heißt nach dem Ermitteln des Arbeitsvorgangs, welcher besonders zeit- und kostengünstig ermittelt und somit geplant werden kann, kann mittels der Anlage und somit mittels des Roboters der Arbeitsvorgang tatsächlich ausgeführt werden, um dadurch das Bauteil zu bearbeiten und somit beispielsweise das zuvor genannte Produkt herzustellen. Somit ermöglicht die Erfindung eine zeit- und kostengünstige Herstellung des Produkts beziehungsweise von Produkten, insbesondere im Rahmen einer Serienfertigung.
Um das Bauteil besonders zeit- und kostengünstig bearbeiten und somit beispielsweise das Produkt besonders zeit- und kostengünstig herstellen zu können, ist es in weiterer Ausgestaltung der Erfindung vorgesehen, dass der Roboter mittels der elektronischen Recheneinrichtung oder mittels einer anderen, weiteren elektronischen Recheneinrichtung derart angesteuert und somit derart betrieben, insbesondere geregelt, wird, dass der Roboter den ermittelten Arbeitsvorgang ausführt.
Eine weitere Ausführungsform zeichnet sich dadurch aus, dass die Produktdaten eine, insbesondere äußere, Geometrie des Bauteils und/oder eine von dem Roboter zu meidende Störgeometrie charakterisieren. Unter der Störgeometrie ist eine Stelle oder sind Stellen zu verstehen, an die der Roboter beziehungsweise die Anlage nicht bewegt werden sollte oder kann, so dass unerwünschte Kollisionen vermieden werden können. Durch Berücksichtigung der Geometrie des Bauteils und/oder der Störgeometrie kann der Arbeitsvorgang besonders zeit- und kostengünstig ermittelt werden.
Bei einer weiteren, besonders vorteilhaften Ausführungsform der Erfindung ist es vorgesehen, dass die Anlagendaten gelenkig miteinander verbundene, auch als Roboterachsen bezeichnete Roboterarme des beispielsweise als Industrieroboter ausgebildeten Roboters charakterisieren. Die gelenkig miteinander verbundenen und somit beispielsweise rotatorisch und/oder translatorisch relativ zueinander bewegbaren Roboterarme ermöglichen eine Durchführung auf unterschiedliche Weisen, so dass durch Berücksichtigung der Roboterarme ein großer Lösungsraum geschaffen werden kann, innerhalb dessen der Arbeitsvorgang hinsichtlich der Zielfunktion besonders vorteilhaft ermittelt werden kann.
Eine weitere Ausführungsform zeichnet sich dadurch aus, dass die Anlagendaten wenigstens ein mittels des Roboters relativ zu dem Bauteil und insbesondere im Raum bewegbares und zum Ausführen des Arbeitsvorgangs vorgesehenes Werkzeug des Roboters charakterisieren. Durch Berücksichtigung des Werkzeugs kann der Arbeitsvorgang besonders präzise und ausführbar ermittelt werden.
Beispielsweise umfasst der Arbeitsvorgang, dass mittels des Roboters wenigstens eine beispielsweise als Kunststoffnaht ausgebildete und beispielsweise als Abdicht- und/oder Klebenaht ausgebildete Naht auf das Bauteil aufgebracht wird. Bei der Naht kann es sich um eine PVC-Naht (PVC - Polyvinylchlorid) handeln. Alternativ oder zusätzlich kann der Arbeitsvorgang erfassen, dass mittels des Roboters wenigstens eine Schweißung durchgeführt wird. Bei der Schweißung kann es sich um eine Punktschweißung handeln, oder bei der Schweißung wird eine Schweißnaht hergestellt. Durch die Schweißung wird das Bauteil beispielsweise mit wenigstens einem weiteren Bauteil verbunden. Das Werkzeug kann somit beispielsweise ein Applikationswerkzeug sein, um die zuvor genannte Naht, mithin einen die Naht bildenden Stoff wie beispielsweise einen Dichtstoff und/oder einen Klebstoff auf das Bauteil aufzubringen. Ferner kann das Werkzeug ein Schweißwerkzeug zum Durchführen der Schweißung sein. Der jeweilige Teilschritt wird auch als jeweilige Applikation bezeichnet.
Schließlich hat es sich als besonders vorteilhaft gezeigt, wenn die Prozessdaten wenigstens eine Trajektorie, entlang welcher zumindest ein Teil des Roboters zu bewegen ist, und/oder wenigstens eine Geschwindigkeit beschreiben oder charakterisieren, mit welcher zumindest ein Teil des Roboters insbesondere entlang der Trajektorie bewegbar ist. Beispielsweise kann es sich bei der Trajektorie um den zuvor genannten Pfad oder um einen Teil des Pfads handeln. Hintergrund dieser Ausführungsform ist, dass mehrere Trajektorien existieren können, entlang derer zumindest ein Teil des Roboters bewegt werden kann, um den jeweiligen Teilschritt und somit den Arbeitsvorgang auszuführen. Dabei muss nicht notwendigerweise die kürzeste Trajektorie diejenige sein, die dazu führt, dass der Arbeitsvorgang so kurz wie möglich dauert. Die Erfindung ermöglicht es, die Teilschritte und somit die Trajektorien derart aneinanderzureihen und somit derart aneinander zusammenzusetzen, dass der Arbeitsvorgang durch die Anlage ausführbar ist, wobei die Minimierung der Zielfunktion dazu führt, dass der ermittelte Arbeitsvorgang von dem grundsätzlich von der Anlage ausführbaren Arbeitsvorgang beispielsweise der kürzeste ist. Dadurch kann das Bauteil besonders zeit- und kostengünstig bearbeitet werden, so dass das Produkt besonders zeit- und kostengünstig hergestellt werden kann.
Ein zweiter Aspekt der Erfindung betrifft ein Verfahren zum Ermitteln und Prüfen wenigstens eines von einer Anlage auszuführenden Arbeitsvorgangs zum Bearbeiten wenigstens eines Bauteils. Insbesondere umfasst die Anlage beispielsweise wenigstens einen Roboter. Bei dem Verfahren des zweiten Aspekts der Erfindung sind in wenigstens einem Datenspeicher Konstruktionsdaten gespeichert, welche mehrere voneinander unterschiedliche Produkte charakterisieren. In dem Datenspeicher sind auch Anlagendaten gespeichert, welche mehrere, voneinander unterschiedliche Anlagen zum Durchführen von Herstellschritten charakterisieren. Mittels einer elektronischen Recheneinrichtung wird in Abhängigkeit von beispielsweise durch eine Person bewirkte Eingaben in die elektronische Recheneinrichtung aus den Konstruktionsdaten eine erste Teilmenge der Konstruktionsdaten ausgewählt, wobei die erste Teilmenge, insbesondere genau, eines der Produkte charakterisiert. Insbesondere können die folgende und vorigen Ausführungen zu den Produktdaten auf die Konstruktionsdaten übertragen werden und umgekehrt. Außerdem wird in Abhängigkeit von den Eingaben aus den Anlagendaten eine zweite Teilmenge der Anlagendaten ausgewählt, wobei die zweite Teilmenge, insbesondere genau, eine der Anlagen charakterisiert. Bei dem zweiten Aspekt der Erfindung wird mittels der elektronischen Recheneinrichtung in Abhängigkeit von der ersten Teilmenge wenigstens ein zum Herstellen des durch die erste Teilmenge charakterisierten Produkts erforderliche Arbeitsvorgang automatisch berechnet und dadurch ermittelt. Hierunter ist insbesondere zu verstehen, dass der Arbeitsvorgang mittels der elektronischen Recheneinrichtung, insbesondere ausschließlich, auf Basis der ausgewählten Konstruktionsdaten, mithin auf Basis der Konstruktionsdaten der ausgewählten, ersten Teilmenge berechnet wird, so dass zumindest im Hinblick auf die Ermittlung des Arbeitsvorgangs eine Automatisierung vorgesehen ist. Außerdem wird bei dem zweiten Aspekt der Erfindung mittels der elektronischen Recheneinrichtung in Abhängigkeit von der zweiten Teilmenge geprüft, ob die durch die zweite Teilmenge charakterisierte Anlage in der Lage, mithin dazu ausgebildet ist, den berechneten Arbeitsvorgang durchzuführen. Beispielsweise führt die elektronische Recheneinrichtung auf Basis der ersten Teilmenge und der zweiten Teilmenge eine Simulation durch. Insbesondere wird die Simulation mittels eines Simulationsmodells durchgeführt, welches die durch die zweite Teilmenge charakterisierte Anlage und das durch die erste Teilmenge charakterisierte Produkt nachbildet. Bei der Simulation wird mittels der elektronischen Recheneinrichtung simuliert, ob oder dass der Arbeitsvorgang durch die Anlage durchgeführt wird. Wird durch die Simulation gefunden, dass die Anlage den gesamten, ermittelten Arbeitsvorgang durchführen kann, so wird erkannt, dass die Anlage in der Lage ist, den Arbeitsvorgang durchzuführen. Wird jedoch durch die Simulation ermittelt, dass die Anlage zumindest einen Teil des ermittelten Arbeitsvorgangs oder den
gesamten Arbeitsvorgang nicht ausführen kann, so wird ermittelt, dass die Anlage nicht in der Lage ist, den ermittelten Arbeitsvorgang auszuführen. Somit kann der Arbeitsvorgang besonders zeit- und kostengünstig ermittelt und geprüft werden.
Der Erfindung liegen insbesondere die folgenden Erkenntnisse und Überlegungen zugrunde: Roboter kommen zum Herstellen von Produkten zum Einsatz, um die Produkte zeit- und kostengünstig herstellen zu können. Insbesondere werden Roboter in der Automobilindustrie zum Herstellen von Fahrzeugen verwendet, um die Fahrzeuge zumindest teilautomatisiert und somit zeit- und kostengünstig herzustellen.
Arbeitsvorgänge wie zum Beispiel Kleben, Schweißen und Lackieren werden üblicherweise zumindest größtenteils automatisiert durch Roboter wie beispielsweise Industrieroboter ausgeführt. Bevor ein Roboter in der Lage ist, einen solchen, auch als Aufgabe bezeichneten Arbeitsvorgang auszuführen, wird der Roboter beziehungsweise eine elektronische Recheneinrichtung zum Betreiben des Roboters programmiert. Üblicherweise wird dem Roboter die Ausführung des Arbeitsvorgangs Schritt für Schritt angelernt. Diese Programmierung kann direkt in der den Roboter umfassenden Anlage und somit online, oder in einer virtuellen Umgebung und somit offline, durchgeführt werden. Die Offline-Programmierung hat als Vorteil, dass die Produktion nicht oder nur geringfügig unterbrochen werden muss, um Änderungen bezüglich des Arbeitsvorgangs durchzuführen. Oft bieten Roboterhersteller ein eigenes Software-Produkt an, um die Offline-Programmierung durchzuführen. Ferner existieren Software-Lösungen, mittels welchen die Offline-Programmierung herstellerübergreifend durchgeführt werden kann.
Beispiele für solche Software-Produkte von Roboterherstellern sind beispielsweise RobotStudio, Roboguide und KUKA. Sim. Herstellerübergreifende Software- Lösungen sind zum Beispiel RoboDK, OCTOPUZ und Process Simulate. Üblicherweise gilt für jede Software, dass in einem ersten Schritt eine virtuelle Umgebung einer den Roboter umfassenden Roboterzeller manuell und somit von einer Person aufzubauen ist. Dieser Prozess ist zeitintensiv und anfällig für Bedienungsfehler. In der Regel lassen sich die Daten der aufzubauenden virtuellen Umgebung in drei Kategorien einteilen:
1. Anlagendaten (Roboter, Fördertechnik, Materialversorgung, etc.)
2. Produktdaten (Geometrische Darstellung des Bauteils beziehungsweise des Produkts)
3. Prozessdaten (Auflistung von Roboter-Aufgaben nach Produkt inklusive Prozessparameter)
Üblicherweise ist bei Änderungen dieser Daten eine manuelle Befähigung oder Nachtrag in der Software durchzuführen. Dies führt wiederum zu einem erhöhten Zeitaufwand und steht kurzen Entwicklungszyklen im Weg. Derartige Nachteile können durch die Erfindung vermieden werden. Herkömmliche Software- Lösungen ermöglichen es, Aufgaben von einem Roboter auf einen anderen Roboter zu übertragen, oder eine Reihenfolge eines Aufgabenablaufs zu ändern. Jedoch muss üblicherweise jede von solchen Änderungen manuell und somit von einer Person durchgeführt werden. Das Roboterprogramm muss üblicherweise im Nachhinein oftmals überarbeitet werden, um Bewegungen des Roboters zwischen den Aufgaben lauffähig und kollisionsfrei zu gestalten. Dies führt dazu, dass viel Aufwand und Zeit investiert werden müssen, um ein Roboterprogramm optimal in Bezug auf Taktzeit auszulegen.
Insbesondere wurden zwei Nachteile von herkömmlichen Lösungen identifiziert. Ein erster der Nachteile ist, dass eine Durchgängigkeit zwischen Eingangsdaten und dem Roboterprogramm fehlt. Ein zweiter der Nachteile ist, dass eine Möglichkeit zur automatisierten Optimierung von Roboterprogrammen fehlt. Diese Probleme führen zu folgenden Nachteilen:
- erhöhte Kosten aufgrund eines Aufwands einer manuellen Programmierung
- lange Entwicklungszeit des Produkts, da die Hardware erst nach Abschluss der manuellen Programmierung abgesichert werden kann
- ungenutztes Potential hinsichtlich einer Effizienz einer Anlage, da aufgrund der manuellen Programmierung nur eine Teilmenge des Lösungsraums der Produktionsabläufe untersucht werden kann, und so das globale Optimum nicht garantiert identifiziert wird
- Aufgrund des ungenutzten Potentials wird das theoretisch mögliche Produktionsvolumen unterschritten.
Die Erfindung ermöglicht eine zeit- und kostengünstige Taktzeitoptimierung durch eine Optimierung des Arbeitsvorgangs beziehungsweise des Roboterprogramms insbesondere mittels einer automatisierten Datenbereitstellung, um die zuvor genannten Nachteile zu vermeiden.
Beispielsweise wird ein digitales Abbild der auch als Roboteranlage bezeichneten und den Roboter umfassenden Anlage insbesondere inklusive aller Störkonturen erstellt. Dieses digitale Abbild wird beispielsweise als ein Rechenmodell, Modell oder Simulationsmodell erstellt, wobei das digitale Abbild beispielsweise auf Basis der
Anlagendaten und der Produktdaten erstellt wird. Insbesondere daran anschließend erfolgt eine Interpretation von Roboteraufgaben, mithin wenigstens einer durch den Roboter durchzuführenden oder auszuführenden Aufgabe. Bei der Aufgabe handelt es sich beispielsweise um den genannten Arbeitsvorgang, welcher ein Kleben und/oder Schweißen umfassen kann. Alternativ oder zusätzlich kann der Arbeitsvorgang ein Aufbringen eines Klebstoffs und/oder eines beispielsweise als Kunststoff, insbesondere als PVC, gebildeten Abdichtmaterials auf das Bauteil umfassen. Insbesondere daran anschließend erfolgt beispielsweise eine Optimierung, in deren Rahmen der Arbeitsvorgang ermittelt und insbesondere optimiert wird, insbesondere durch das beschriebene Minimieren der Zielfunktion. Daran anschließend wird beispielsweise der optimierte Arbeitsvorgang, mithin der ermittelte Arbeitsvorgang (Roboterprogramm) ausgegeben.
Ein weiterer Schritt kann eine Validierung des optimierten Roboterprogramms (Arbeitsvorgang) insbesondere in Bezug auf Kollisionen und Lauffähigkeit mit reduzierter Geschwindigkeit des Roboters umfassen. Ein weiterer Schritt kann eine Nutzung des ermittelten und somit optimierten Arbeitsvorgangs (Roboterprogramm) einem Produktionsprozess umfassen, in welchem beispielsweise der Roboter gemäß dem ermittelten Arbeitsvorgang betrieben wird und somit das Bauteil bearbeitet.
Um eine Aktualität des Roboterprogramms so gut wie möglich gewährleisten zu können, ist es von Vorteil, wenn die Anlagen-, Produkt- und Prozessdaten automatisiert in eine Generierung des Roboterprogramms einfließen. Hierfür wird beispielsweise eine insbesondere datentechnische, auch als Pipeline bezeichnete Leitung aufgebaut. Beispielsweise wird die elektronische Recheneinrichtung beziehungsweise eine Software zum Ermitteln des Arbeitsvorgangs, insbesondere gemäß dem ersten Aspekt der Erfindung, mit unterschiedlichen Datenbanken und Informationsquellen verbunden, um daraus Informationen insbesondere über die Anlage, ganz insbesondere über Änderungen der Anlage, und/oder über das Bauteil, insbesondere über Änderungen des Bauteils, abgreifen zu können. Durch eine Anwendung des so genannte Single-Source-of- Truth-Prinzips sind Eingangsdaten, auf deren Basis der Arbeitsvorgang optimiert ermittelt wird, immer auf dem letzten Stand. Insbesondere ist es denkbar, dass eine Änderung der Eingangsdaten, mithin eine Änderung der Produktdaten und/oder der Anlagendaten, insbesondere automatisiert beziehungsweise automatisch, eine insbesondere erneute, optimierte Ermittlung des Arbeitsvorgangs anstößt, so dass beispielsweise für jede Änderung der Produktdaten und/oder Anlagendaten der Arbeitsvorgang als optimierter Arbeitsvorgang, insbesondere automatisch oder automatisiert, ermittelt wird.
Im Hinblick auf das digitale Abbild der Anlage, insbesondere inklusive der Störkonturen lassen sich ein Positionieren und Konfigurieren des Roboters in einer virtuellen Welt über eine knotenbasierte Nutzeroberfläche durchführen. Mittels der Benutzeroberfläche wählt beispielsweise eine auch als Nutzer bezeichnete Person den Roboter, das heißt ein Modell des Roboters aus einem Katalog aus und importiert das ausgewählte Modell zu der virtuellen Welt, insbesondere mittels Drag-and-Drop. Eine Positionierung des Roboters insbesondere in der virtuellen Welt findet beispielsweise per Eingabe von sechs Werten statt. Drei der Werte sind beispielsweise Koordinaten, insbesondere bezüglich eines insbesondere kartesischen Koordinatensystems, wobei eine erste der Koordinaten beispielsweise eine x-Koordinate, eine zweite der Koordinaten eine y-Koordinate und eine dritte der Koordinaten eine z-Koordinate ist. Drei weitere der Werte können beispielsweise ein Rollen (Roll), ein Nicken (Pitch) und ein Gieren (Yaw) beschreiben. Die Konfiguration des Roboters wird beispielsweise anhand eines Roboter- Backups durchgeführt. Dazu leitet der Nutzer das einfach auch als Backup bezeichnete Roboter-Backup aus und verbindet es mit dem Roboter über die knotenbasierte Benutzeroberfläche. Falls der reale Roboter (noch) nicht vorhanden ist, werden Standardwerte angenommen. Die Störkonturen werden ähnlich zu dem Roboter in der realen Welt positioniert. Beispiele dafür sind Sicherheitszäune, Fördertechnik und Gehänge.
Die Produktdaten beschreiben insbesondere eine geometrische Darstellung des zu bearbeitenden, insbesondere des zu fertigenden, Bauteils beziehungsweise Produkts. Die Produktdaten können Fahrzeugdaten sein oder umfassen, welche beispielsweise von Konstrukteuren eines Fahrzeugs in einem Konstruktionsprogramm wie beispielsweise CATIA erstellt werden. Sollte die Anlage in der Realität noch nicht existieren oder sollte das Bauteil beziehungsweise das Produkt physisch noch nicht vorhanden sein, so wird das Bauteil beziehungsweise Produkt in der virtuellen Welt in einer idealen Lage positioniert. Wenn ein Messprotokoll, das beispielsweise eine Ist-Aufnahme einer realen Lage eines Produkts in der Anlage charakterisiert, vorhanden ist, wird das Bauteil beziehungsweise Produkt in der virtuellen Welt auf einer realen Stelle in der Anlage positioniert. Ein automatisierter Aufbau der Anlage, insbesondere Roboterzelle, ist über eine Schnittstelle mit einer Auslegungssoftware der Anlage realisierbar. Hierfür kann beispielsweise Automation ML oder Auto ML verwendet werden. Auch bei dieser Vorgehensweise wird das virtuelle Robotermodell mit einem realen Roboter- Backup ausgestattet, wenn dies vorhanden ist.
Im Hinblick auf die Interpretation der Roboter-Aufgabe kann beispielsweise dann, wenn ein zu optimierendes Roboterprogramm bereits vorhanden ist, dieses bereits vorhandene
Roboterprogramm in der knotenbasierten Nutzeroberfläche importiert werden und mit dem zutreffenden Roboter verknüpft werden. Eine bestimmte Applikationsart wie beispielsweise Schweißen, Kleben, Abdichten, etc. wird, insbesondere durch den Nutzer, ausgewählt, um die Software zu instruieren, wie das verknüpfte Roboterprogramm zu interpretieren ist. Beispielsweise mittels vorab festgelegter, auch als Templates bezeichneter Vorlagen können wertschöpfende Anteile (anstatt von Bewegungen zwischen zwei Roboteraufgaben) aus dem Roboterprogramm extrahiert werden. Somit kann die Bearbeitung von diesen wertschöpfenden Anteilen in einem Folgeschritt optimiert werden. Eine Prämisse für dieses Vorgehen kann sein, dass die manuelle Roboterprogrammierung nach der Vorlagenlogik durchgeführt worden ist.
Für den Fall, dass noch kein Roboterprogramm vorhanden ist, wird beispielsweise die Programmierung auf Basis der Prozessdaten durchgeführt. Hier wird grundsätzlich zwischen zwei Arten von Applikationen unterschieden: Punktapplikation und Bahnapplikation. Bei Punktapplikationen findet die Roboter-Aufgabe an einer konkreten Stelle statt. Ein Beispiel hierfür ist das Punktschweißen, bei dem an einer Stelle, insbesondere genau, ein Schweißpunkt hergestellt, das heißt gesetzt ist. Jedoch ist es oft der Fall, dass der Roboter eine letzte kurze Strecke auf dem Weg zu einer
Punktapplikation in einer oder durch eine lineare Bewegung macht oder machen soll. Das Gleiche gilt für eine erste Strecke nach einer Punktapplikation. Dies führt dazu, dass auch Vorlagen für Punktapplikationen aus mehreren Bewegungsbefehlen existieren können, meistens derer drei. Bei Bahnapplikationen findet die Applikation statt, während sich der Roboter bewegt. Das Template (die Vorlage) für Bahnapplikationen kann dem entsprechend mindestens zwei Bewegungsbefehle enthalten. Eine PVC-Applikation, das heißt eine Aufbringung einer insbesondere als Naht ausgebildeten oder eine Naht bildenden Bahn eines beispielsweise flüssigen oder pastösen Materials, beispielsweise zur Abdichtung des Bauteils, ist eine Art von Bahnapplikation, wobei es sich bei dem Material beispielsweise um einen Kunststoff, insbesondere um PVC, handeln kann. Von Vorteil ist es, wenn die oben beschriebenen Prozessdaten alle Informationen enthalten, die erforderlich sind, um die zutreffenden Vorlagen (Templates) befüllen zu können und somit eine geeignete Roboterprogrammierung durchführen zu können. Werte, die nicht in den Prozessdaten vorhanden sind, können mit einem Standardwert befüllt werden. Eine Automatisierung lässt sich auch hier realisieren, indem die Roboterprogramme in einer Datenbank gespeichert werden. Die Software greift auf diese Datenbank zu und prüft, ob neue Roboterprogramme dazugekommen sind. Wenn dies der Fall ist, wird die Optimierung durchgeführt und das optimierte Programm wird in die Datenbank abgelegt. Die gleiche Vorgehensweise kann angewendet werden, wenn die Erstellung des
Roboterprogramms auf Basis von Prozessdaten durchgeführt wird. In diesem Fall wird die Software an die Datenbank, in der die Prozessdaten abgelegt sind, angebunden. Wenn die Prozessdaten sich ändern, kann eine Aktualisierung des Roboterprogramms durchgeführt werden, insbesondere automatisch oder automatisiert.
Bei der Durchführung der Optimierung des Roboterprogramms, das heißt insbesondere bei dem Minimieren der Zielfunktion kann auf Basis der erstellten Daten, mithin beispielsweise auf Basis der Prozessdaten, der Anlagendaten und der Produktdaten ein System zur Optimierung mit einem oder mehreren Algorithmen ausgeführt werden, wobei das System, insbesondere das Minimieren der Zielfunktion, die Roboter-Aufgaben, mithin Arbeitsvorgang, beispielsweise im Hinblick auf die Taktzeit optimiert, insbesondere ohne dabei Validierungskriterien zu verletzen. Insbesondere kann die Zielfunktion durch herkömmliche Lösungs- beziehungsweise Minimierungsverfahren, insbesondere durch herkömmliche, kommerzielle und/oder, insbesondere frei und/oder kommerziell, verfügbare Solver wie beispielsweise Concorde, GLNS, Greedy, CPLEX Optimization Suite gelöst beziehungsweise minimiert werden. Im Laufe der Optimierung des Roboterprogramms (Arbeitsvorgang) können beispielsweise folgende Variablen angepasst werden:
- Ändern der Reihenfolge, in der die einzelnen Teilschritte (Roboter-Aufgaben) ausgeführt werden
- Auswahl eines anderen Werkzeugs für die Ausführung eines Teilschritts
- Auswahl einer anderen Linearposition für die Ausführung eines Teilschritts
- Auswahl einer anderen Roboter-Konfiguration für die Ausführung des Teilschritts
- Ändern einer Verteilung von Teilschritten (Roboter-Aufgaben) auf verfügbare Roboter
- Insbesondere bei einer Bahn-Applikation: Anpassen beziehungsweise Ändern einer Richtung, entlang welcher zumindest ein Teil des Roboters eine Bewegungsbahn abfährt, um den Arbeitsvorgang auszuführen.
Somit ist es denkbar, dass die Anlage mehrere Roboter, nämlich den genannten Roboter sowie wenigstens einen weiteren, zweiten Roboter aufweist. Somit charakterisieren die Anlagendaten die mehreren Roboter der Anlagen. Somit können sich beispielsweise die jeweiligen Teilschritte der jeweiligen Schrittgruppe dahingehend voneinander unterscheiden, dass einer der Teilschritte mittels des ersten Roboters und ein anderer der Teilschritte mittels des zweiten Roboters durchgeführt wird oder durchgeführt werden
kann. Durch Berücksichtigung der mehreren, zur Verfügung stehenden Roboter der Anlage kann der Arbeitsvorgang besonders vorteilhaft ermittelt werden.
Es ist erkennbar, dass eine Anzahl der auch als Variablen bezeichneten Parameter der Zielfunktion sehr hoch sein kann, was das zugrundeliegende, zu lösende Optimierungsproblem komplex und hochdimensional machen kann. Daher können sich je nach Struktur des Optimierungsproblems unterschiedliche heuristische Lösungsverfahren eigenen, um das Optimierungsproblem lösen und hierfür die Zielfunktion zeit- und kostengünstig minimieren zu können. Es können unterschiedliche Lösungsalgorithmen existieren, um das Optimierungsproblem zu lösen. Genutzt werden kann beispielsweise ein System mit einer modularen Architektur, welches es erlaubt, neue Algorithmen zum Lösen des Optimierungsproblems effizient hinzuzufügen. Daraus entstehende Ensembles von Algorithmen können anschließend in einem automatisierten Prozess parallel mit einer gegebenen Probleminstanz gestartet werden und so lange ausgeführt werden, bis alle Algorithmen konvergieren oder eine Abbruchbedingung, zum Beispiel eine maximale Gesamtlaufzeit oder gewünschte Taktzeit, erreicht wurde. Im Anschluss werden die Ergebnisse des Ensembles zentral gesammelt und ausgewertet. Beispielsweise wird die Lösung mit der niedrigsten Taktzeit zurückgegeben und als der Arbeitsvorgang verwendet.
Es ist somit möglich, unterschiedliche Algorithmen mit unterschiedlichen Stärken (zum Beispiel Greedy, Simulated/Quantum Annealing oder GLNS) automatisiert zu starten, mit den benötigten Daten zu beliefern und im Nachhinein die Ergebnisse zu evaluieren. Mit anderen Worten können beispielsweise unterschiedliche Lösungsalgorithmen zum Lösen des gleichen Optimierungsproblems unterschiedliche Ergebnisse, das heißt unterschiedliche Arbeitsvorgänge bereitstellen, wobei aus diesen unterschiedlichen, bereitgestellten Arbeitsvorgängen beispielsweise, genau, einer der bereitgestellten Arbeitsvorgänge beispielsweise in Abhängigkeit von einem vorgebbaren oder vorgegebenen Kriterium ausgewählt wird. Das Kriterium umfasst beispielsweise, dass aus den mehreren, ermittelten beziehungsweise berechneten Arbeitsvorgängen der Arbeitsvorgang ausgewählt wird, welcher das Kriterium erfüllt. Das Kriterium umfasst beispielsweise, dass die auch als Taktzeit bezeichnete Zeit, die von der Anlage benötigt wird, um den jeweiligen Arbeitsvorgang auszuführen, die geringste Zeit ist, so dass beispielsweise aus den mehreren, bereitgestellten Arbeitsvorgängen der Arbeitsvorgang mit der geringsten Taktzeit ausgewählt wird. Dies vereinfacht den Prozess der Optimierung bei gleichzeitiger Erhöhung der Ergebnisqualität, da der Nutzer zusammen mit dem Datensatz nur wenige Parameter spezifizieren muss. Zudem können die Laufzeit
und die Hardware-Auslastung verbessert werden. Beispielsweise werden während der Optimierung viele unterschiedliche Roboter-Pfade beziehungsweise Teilschritte simuliert, um den Lösungsraum abzutasten. Für eine erfolgreiche Optimierung ist es von Vorteil, dass die Simulation mit jeweiligen, virtuellen Roboter-Steuerungen des jeweiligen Roboter-Herstellers durchgeführt wird. Ansonsten könnte der reale Roboter-Pfad von dem simulierten Roboter-Pfad abweichen.
Bei der Ausgabe des optimierten Roboterprogramms, mithin des ermittelten Arbeitsvorgangs wird beispielsweise, nachdem die Verteilung der Roboter-Aufgaben beziehungsweise Teilschritte bestimmt und deren Reihenfolge optimiert worden ist, das gefundene Roboterprogramm insbesondere mittels des Optimierungssystems exportiert. Je nach Wunsch des Nutzers können beispielsweise die Roboterprogramme mehr oder weniger automatisiert zum Einsatz gebracht werden. Zum einen existiert die Möglichkeit, das Roboterprogramm, insbesondere den ermittelten Arbeitsvorgang auf einem Datenserver abzulegen, wo ein Betreiber das Roboterprogramm abgreifen und Folgeschritte manuell ausführen kann. Eine andere Möglichkeit ist, das Roboterprogramm direkt auf dem Roboter beziehungsweise dessen Steuerung zu speichern. Somit sind weniger manuelle Schritte erforderlich, um das optimierte und gefundene Roboterprogramm, mithin den ermittelten Arbeitsvorgang zu validieren. Wenn die Roboterprogramme zusätzlich in einer Datenbank abgelegt werden, kann eine Änderungshistorie ausgewertet werden. Somit wird es möglich, einen zeitlichen Verlauf der Taktzeit des Produkts auszuwerten. Auf Basis dessen können frühzeitig Risiken in einem Produktentstehungsprozess identifiziert werden, zum Beispiel, wenn die Kapazität einer Roboterzelle an ihre Grenze kommt.
Eine Validierung des optimierten Roboterprogramms kann Folgendes umfassen: Im Normalfall wird das optimierte Roboterprogramm mit einer geringen Geschwindigkeit mit dem Roboter abgefahren, um zu prüfen oder zu bestätigen, dass es zu keiner Kollision kommt. Danach kann eine Applikation eingeschaltet werden, und das Roboterprogramm wird mit normaler Geschwindigkeit abgefahren, um eine Qualität des Roboterprogramms festzustellen. Fehlstellen im Roboterprogramm können per Hand korrigiert werden. Ein Beispiel dafür wäre eine Verschiebung eines Applikationspunkts um einige Millimeter. Eine Nutzung des optimierten Roboterprogramms in einem Produktionsprozess kann Folgendes umfassen: Nachdem das Roboterprogramm validiert worden ist, kann das Roboterprogramm in einem Produktionsprozess eingesetzt werden.
Die Erfindung ermöglicht insbesondere die Realisierung zumindest der folgenden Vorteile: Durch die automatisierte Pipeline von Daten beziehen sich die generierten Roboterprogramme stets auf den letzten Stand des Produkts und das Programm wird ständig für die Taktzeit hin optimiert ausgelegt. Generell lassen sich die Vorteile wie folgt beschreiben:
- Einsparung von Kosten aufgrund von Automatisierung durch Wegfall von manuellen Programmierschritten
- Planungsflexibilität durch frühzeitige Aussagefähigkeit bezüglich der möglichen Taktzeit
- Beurteilungskompetenz bezüglich der Kapazität von vorhandenen Robotern für neue Produkte
- Kontinuierliche Aussagefähigkeit über eine Herstellbarkeit des Produkts
- Ganzheitliche Optimierung von Roboterstraßen zur Erhöhung des Produktionsvolumens
- Einsparung von Energiekosten durch vorteilhafte, insbesondere optimale, Nutzung von Flexibilität in der Auslegung der Roboterpfade auf verschiedenen Anlagen
- Einsparung von zusätzlichen Roboterzellen durch vorteilhafte, insbesondere optimale, Nutzung der vorhandenen Infrastruktur
- Minimierung von Fehlerquellen durch Reduzierung manueller Anpassungen des Roboterprogramms
Im Folgenden wird eine Umsetzung des erfindungsgemäßen Verfahrens anhand eines Beispiels einer PVC-Applikation beschrieben. Bei der PVC-Applikation wird eine Bahn aus einem insbesondere flüssigen oder pastösen Material auf das Bauteil aufgebracht. Die Bahn ist beispielsweise eine Naht oder bildet eine Naht. Das Material ist beispielsweise ein Kunststoff, insbesondere PVC. Beispielsweise kann das Bauteil mittels der Bahn gegen ein anderes, weiteres Bauteil abgedichtet werden. Bei dem Beispiel wird angenommen, dass eine neue Produktionslinie geplant wird und infrage gestellt wird, ob eine geplante Anzahl von Robotern hinsichtlich einer Produktionskapazität ausreichend ist. Um die Kapazität bewerten zu können, wird das erfindungsgemäße, zuvor beschriebene Verfahren angewendet. Eine Erstellung der virtuellen Produktionslinie, das heißt, eine Erstellung eines virtuellen Abbilds der neuen Produktionslinie geschieht beispielsweise automatisch auf Basis einer Planungssoftware, in welcher die neue Produktionslinie geplant wird. Somit sind korrekte Robotermodelle auf oder in der oder an der richtigen Stelle in der virtuellen Welt, mithin in dem virtuellen Abbild positioniert. Über die zuvor genannte, knotenbasierte Benutzeroberfläche werden Roboter- Backups der
Roboter aus einer existierenden Produktionslinie verknüpft. Die Produktdaten des beispielsweise als Fahrzeug ausgebildeten, relevanten Produkts beziehungsweise des Bauteils werden direkt aus einer Datenbank für Produktdaten importiert und in der virtuellen Welt (virtuelles Abbild) auf eine geplante Position dargestellt. Dafür wird beispielsweise nur eine Auswahl des relevanten Produkts aus einer Dropdown- Liste durchgeführt. Angemerkt sei, dass die Produktdaten stets auf dem letzten freigegebenen Konstruktionsstand sind, weil die Software beispielsweise direkt auf die Datenbank zugreift. Schließlich werden Nahtinformationen über die Naht aus der Datenbank von einer PVC-Konstruktion eingelesen. Hier gilt beispielsweise, dass die relevante Naht oder relevante Nähte für das zutreffende Produkt (Fahrzeug) automatisch ausgewählt werden. Diese Auswahl findet statt auf Basis eines Beziehungswissens zwischen Produkt- und Prozessdaten. Nachdem alle Daten erfolgreich eingelesen worden sind, findet die eigentliche, tatsächliche Optimierung statt, die sich anschließend im exportierten Roboterprogramm widerspiegelt, mithin den optimierten, ermittelten Arbeitsvorgang ausgibt. Der Vorteil der automatisierten Datenpipeline ist, dass das Roboterprogramm ohne manuelle Aufwände aktualisiert wird, sobald eine Änderung in den Anlagendaten und/oder Produktdaten und/oder Prozessdaten durchgeführt wird. Ob die Kapazität der neuen Produktionslinie ausreicht, um das relevante Produkt (Fahrzeug) herzustellen, kann der Taktzeit oder den Taktzeiten des optimierten Roboterprogramms entnommen werden.
Ein dritter Aspekt der Erfindung betrifft eine insbesondere als elektronische Recheneinrichtung ausgebildete Vorrichtung zur Datenverarbeitung, welche Mittel zur Ausführung des Verfahrens gemäß dem ersten Aspekt der Erfindung und/oder dem zweiten Aspekt der Erfindung umfasst. Vorteile und vorteilhafte Ausgestaltungen des ersten Aspekts und des zweiten Aspekts der Erfindung sind als Vorteile und vorteilhafte Ausgestaltungen des dritten Aspekts der Erfindung anzusehen und umgekehrt.
Ein vierter Aspekt der Erfindung betrifft ein auch als Computerprogrammprodukt bezeichnetes Computerprogramm, umfassend Befehle, die bei einer Ausführung des Computerprogramms durch einen Computer den Computer veranlassen, das Verfahren gemäß dem ersten Aspekt der Erfindung und/oder gemäß dem zweiten Aspekt der Erfindung auszuführen. Vorteile und vorteilhafte Ausgestaltungen des ersten Aspekts, des zweiten Aspekts und des dritten Aspekts der Erfindung sind als Vorteile und vorteilhafte Ausgestaltungen des vierten Aspekts der Erfindung anzusehen und umgekehrt.
Schließlich betrifft ein fünfter Aspekt der Erfindung ein computerlesbares Medium, auf dem das Computerprogramm gemäß dem vierten Aspekt der Erfindung gespeichert ist. Vorteile und vorteilhafte Ausgestaltungen des ersten Aspekts, des zweiten Aspekts, des dritten Aspekts und des vierten Aspekts der Erfindung sind als Vorteile und vorteilhafte Ausgestaltungen des fünften Aspekts der Erfindung anzusehen und umgekehrt.
Weitere Einzelheiten der Erfindung ergeben sich aus der nachfolgenden Beschreibung eines bevorzugten Ausführungsbeispiels mit der zugehörigen Zeichnung. Dabei zeigt die einzige Fig. 1 ein Flussdiagramm zum Veranschaulichen eines Verfahrens zum Ermitteln wenigstens eines von einem Roboter auszuführenden Arbeitsvorgangs zum Bearbeiten wenigstens eines Bauteils.
Im Folgenden wird anhand von Fig. 1 ein Verfahren zum Ermitteln, insbesondere zum Berechnen, wenigstens eines von einem Roboter auszuführenden und auch als Roboterprogramm bezeichneten Arbeitsvorgangs zum Bearbeiten wenigstens eines Bauteils erläutert. Das Bauteil ist ein Produkt oder kann Bestandteil eines Produkts sein, wobei das Produkt beispielsweise durch den Arbeitsvorgang hergestellt wird. Der Arbeitsvorgang kann aus mehreren, aneinandergereihten, das heißt zeitlich aufeinanderfolgenden Teilschritten zusammengesetzt sein, so dass dann, wenn der Roboter die einzelnen Teilschritte nacheinander ausführt, der Roboter den Arbeitsvorgang insgesamt ausführt. Wieder mit anderen Worten ausgedrückt bilden beispielsweise die zeitlich aufeinanderfolgenden Teilschritte, insbesondere in Summe, den Arbeitsvorgang.
In Fig. 1 sind durch einen Block 1 Produktdaten veranschaulicht, welche mittels einer elektronischen Recheneinrichtung, mittels welcher das Verfahren durchgeführt wird, ermittelt werden. Die Produktdaten charakterisieren das wenigstens eine, mittels des Roboters bei dem wenigstens einen Arbeitsvorgang zu bearbeitende Bauteil. Durch einen Block 2 sind Anlagendaten veranschaulicht, die mittels der elektronischen Recheneinrichtung ermittelt werden und eine zumindest den Roboter umfassende Anlage zum Ausführen des wenigstens einen Arbeitsvorgangs charakterisieren. Der Roboter ist durch einen Block 3 veranschaulicht. Mit anderen Worten veranschaulicht beispielsweise der Block 3 einen ersten Teil der Anlagendaten, wobei der erste Teil der Anlagendaten den Roboter beschreiben. Ein Block 4 veranschaulicht Störkonturen. Die durch den Block 4 veranschaulichten Störkonturen können beispielsweise durch einen zweiten Teil der Produktdaten und/oder durch einen ersten Teil der Anlagendaten charakterisiert sein. Bei den Störkonturen handelt es sich um Stellen, an die oder zu denen der Roboter beim Ausführen des Arbeitsvorgangs nicht bewegt werden sollte, da es ansonsten zu
unerwünschten Kollisionen kommen könnte. Die Störkonturen können beispielsweise durch das Bauteil beziehungsweise das Produkt und/oder durch Elemente der Anlage gebildet sein. Bei den Elementen der Anlage handelt es sich beispielsweise um Sicherheitszäune oder andere Objekte. Ein Block 5 veranschaulicht die zuvor genannte Geometrie des Bauteils, dessen Geometrie beispielsweise durch einen zweiten Teil der Produktdaten charakterisiert, das heißt beschrieben ist. Ein Block 6 veranschaulicht beispielsweise eine Positionierung des Bauteils, insbesondere während des Ausführens des Arbeitsvorgangs. Beispielsweise ist die Positionierung durch einen dritten Teil der Produktdaten charakterisiert, das heißt beschrieben. Ein Block 7 veranschaulicht eine Positionierung des Roboters, insbesondere bei dem Ausführen des Arbeitsvorgangs, wobei die Positionierung des Roboters beispielsweise durch einen dritten Teil der Anlagendaten beschrieben oder charakterisiert ist. Ein Block 8 veranschaulicht ein Roboter-Backup, welches beispielsweise durch einen vierten Teil der Anlagendaten beschrieben ist. Ein Block 9 veranschaulicht eine Geometrie des Roboters, dessen Geometrie beispielsweise durch einen fünften Teil der Anlagendaten beschrieben ist. Ein Block 10 veranschaulicht eine kinematische Beschreibung des Roboters, ein Block 11 veranschaulicht eine Aufstellung von einfach auch als Achsen bezeichneten Roboterachsen des Roboters, und ein Block 12 veranschaulicht Grenzwerte. Es ist erkennbar, dass aus der Aufstellung der Achsen (Block 11) und aus den Grenzwerten (Block 12) die kinematische Beschreibung (Block 10) resultieren kann beziehungsweise dass diese zusammenhängt. Beispielsweise sind die Aufstellung der Achsen, die Grenzwerte und die kinematische Beschreibung durch einen sechsten Teil der Anlagendaten beschrieben. Das durch den Block 8 veranschaulichte Roboter-Backup hängt beispielsweise mit durch einen Block 13 veranschaulichten Werkobjekten und mit durch einen Block 14 veranschaulichten Werkzeug-Informationen zusammen, wobei beispielsweise die Werkobjekte und die Werkzeug-Informationen durch einen siebten Teil der Anlagendaten beschrieben sind. Insbesondere sind die Werkzeug-Informationen Informationen über wenigstens ein Werkzeug des Roboters, mittels welchem das Werkzeug bei dem Durchführen oder Ausführen des Arbeitsvorgangs relativ zu dem Bauteil bewegt wird, um den Arbeitsvorgang auszuführen, mithin um das Werkzeug zu bearbeiten. Mit anderen Worten beschreiben beispielsweise die Werkzeug-Informationen das genannte Werkzeug, mittels welchem beispielsweise bei dem Arbeitsvorgang ein insbesondere flüssiges oder pastöses Material auf das Bauteil aufgebracht und/oder das Bauteil mit wenigstens einem weiteren Bauteil verschweißt wird, mithin wenigstens eine Schweißung des Bauteils durchgeführt wird.
Durch einen Block 24 sind Prozessdaten veranschaulicht, welche den Arbeitsvorgang charakterisieren und mittels der elektronischen Recheneinrichtung ermittelt werden.
Durch einen Block 15 ist veranschaulicht, dass mittels der elektronischen Recheneinrichtung ein auch als virtuelle Welt bezeichnetes, virtuelles Abbild der Anlage und des Bauteils erzeugt wird. Das virtuelle Abbild ist ein Simulationsmodell oder durch ein Simulationsmodell beschrieben, welches die Anlage und das Bauteil nachbildet und mittels der elektronischen Recheneinrichtung auf Basis der Produktionsdaten und der Produktdaten und der Anlagendaten, welche auch als Anlagedaten bezeichnet werden, erzeugt, insbesondere erstellt, wird.
Ein Block 16 veranschaulicht ein Interpretieren von insbesondere von dem Roboter beziehungsweise der Anlage durchzuführenden und auch als Roboter-Aufgaben bezeichneten Aufgaben.
Ein Block 17 veranschaulicht eine Optimierung oder eine optimierte Erstellung. Insbesondere veranschaulicht der Block 17, dass mittels der elektronischen Recheneinrichtung eine Simulation mittels des Simulationsmodells durchgeführt wird. Durch die Simulation werden Simulationsdaten ermittelt, die mehrere Schrittgruppen beschreiben oder charakterisieren, wobei die jeweilige Schrittgruppe mehrere, voneinander unterschiedliche Teilschritte des Arbeitsvorgangs umfasst. Aus den durch die Simulation ermittelten, insbesondere berechneten, Teilschritten der Schrittgruppen könnte der Arbeitsvorgang oder könnten unterschiedliche Kombinationen oder Varianten des Arbeitsvorgangs derart erzeugt werden, dass aus der jeweiligen Schrittgruppe jeweils genau einer der jeweiligen Teilschritte ausgewählt wird, und dass die ausgewählten Teilschritte aneinandergereiht werden, so dass dann, wenn der Roboter die ausgewählten und aneinandergereihten Teilschritte ausführt, der Roboter den Arbeitsvorgang ausführt. Die Simulationsdaten sind durch einen Block 41 veranschaulicht.
Beispielsweise wird, insbesondere bei dem Block 17, mittels der elektronischen Recheneinrichtung eine Zielfunktion eines Optimierungsproblems erstellt, dessen Zielfunktion die Teilschritte der Schrittgruppen als Parameter beziehungsweise Variablen umfasst. Mittels der elektronischen Recheneinrichtung wird bei der Optimierung die Zielfunktion minimiert, wodurch aus der jeweiligen Schrittgruppe, insbesondere genau, einer der jeweiligen Teilschritte der jeweiligen Schrittgruppe ausgewählt wird. Die ausgewählten Teilschritte werden aneinandergereiht, wodurch der Arbeitsvorgang, mithin der optimierte Arbeitsvorgang, ermittelt wird. Die Zielfunktion beziehungsweise deren
Lösung liefert als Ergebnis beispielsweise eine solche Aneinanderreihung der ausgewählten Teilschritte, dass der daraus resultierende beziehungsweise dadurch gebildete Arbeitsvorgang einerseits von der Anlage ausgeführt werden kann und andererseits bezogen auf alle möglichen, aus den Teilschritten der Schrittgruppen bildbaren Arbeitsvorgänge die geringste Taktzeit aufweist, die von der Anlage benötigt wird, um den Arbeitsvorgang auszuführen.
Ein Block 18 veranschaulicht eine Rückgabe oder Ausgabe des bei dem Block 17 ermittelten, optimierten Arbeitsvorgangs, welcher auch als optimiertes Roboterprogramm bezeichnet wird. Ein Block 19 veranschaulicht beispielsweise eine Übersetzung zu einer Robotersprache, und ein Block 20 veranschaulicht beispielsweise eine Übertragung an eine OLP-Software.
Insbesondere bei dem Block 16 können die Prozessdaten beispielsweise anhand wenigstens einer oder mehrerer, bereits existierender Roboterprogramme ermittelt werden, oder, wenn ein solches, bereits existierendes Roboterprogramm noch nicht vorhanden ist, auf andere Weise. Bei einem Block 21 wird beispielsweise entschieden, ob wenigstens ein Roboterprogramm bereits vorhanden ist. Ein Zweig 22 veranschaulicht ein Vorgehen, das durchgeführt wird, wenn bereits ein Roboterprogramm vorhanden ist. Ein Zweig 23 veranschaulicht ein Vorgehen, welches durchgeführt wird, wenn noch kein Roboterprogramm vorhanden ist. Ein Block 25 des Zweigs 22 veranschaulicht ein Ein- und Ausschalten einer Applikationstechnik. Ein Block 26 des Zweigs 22 veranschaulicht eine punktuelle Applikation, und ein Block 27 des Zweigs 22 veranschaulicht eine Bahnapplikation. Ein Block 28 veranschaulicht ein Einlesen eines beziehungsweise des bereits vorhandenen Roboterprogramms, und ein Block 29 des Zweigs 22 veranschaulicht ein Übersetzen des eingelesenen Roboterprogramms in ein generelles Format. Ein Block 30 des Zweigs 23 veranschaulicht eine beispielsweise als Fahrzeugauslegung ausgebildete Auslegung des beispielsweise als Fahrzeug ausgebildeten Produkts, ein Block 31 veranschaulicht eine Datenbank und ein Block 32 des Zweigs 23 veranschaulicht Planungsdaten. Ein die Optimierung (Block 17) näher veranschaulichender Zweig 33 umfasst Blöcke 34, 35, 36, 37, 38, 39 und 40, welche beispielsweise weitere Variablen der Zielfunktion sein können. So veranschaulicht Block 34 beispielsweise eine inverse Richtung. Der Block 35 veranschaulicht eine Auswahl des Werkzeugs. Ein Block 36 veranschaulicht eine Roboterkonfiguration des Roboters, und ein Block 37 veranschaulicht eine Position des Roboters auf einer Linear-Achse. Ein Block 39 veranschaulicht eine Applikationsweise, ein Block 40 veranschaulicht eine Reihenfolge, insbesondere der Teilschritte, und ein Block 38 veranschaulicht
beispielsweise eine Verteilung der zum Durchführen des Arbeitsvorgangs durchzuführenden Teilschritte auf mehrere Roboter der Anlage, wenn diese als zuvor genannten Roboter neben dem als ersten Roboter wenigstens einen zweiten Roboter aufweist.
Bezugszeichenliste
Block Block Block Block Block Block Block Block Block Block Block Block Block Block Block Block Block Block Block Block Block Zweig Zweig Block Block Block Block Block Block Block Block Block Zweig Block
Block
Block
Block
Block
Block
Block
Claims
Patentansprüche Verfahren zum Ermitteln wenigstens eines von wenigstens einem Roboter auszuführenden Arbeitsvorgangs zum Bearbeiten wenigstens eines Bauteils, mit den Schritten:
- mittels einer elektronischen Recheneinrichtung: Ermitteln von Produktdaten, welche das wenigstens eine mittels des Roboters bei dem wenigstens einen Arbeitsvorgang zu bearbeitende Bauteil charakterisieren;
- mittels der elektronischen Recheneinrichtung: Ermitteln von Anlagendaten, welche eine zumindest den Roboter umfassende Anlage zum Ausführen des wenigstens einen Arbeitsvorgangs charakterisieren;
- mittels der elektronischen Recheneinrichtung: Ermitteln von Prozessdaten, welche den wenigstens einen Arbeitsvorgangs charakterisieren;
- mittels der elektronischen Recheneinrichtung: Erzeugen eines zumindest die Anlage und das Bauteil nachbildenden Simulationsmodells auf Basis der Produktdaten, der Anlagendaten und der Prozessdaten;
- mittels der elektronischen Recheneinrichtung: Durchführen einer Simulation mittels des Simulationsmodells, wodurch mittels der elektronischen Recheneinrichtung Simulationsdaten ermittelt werden, welche mehrere Schrittgruppen beschreiben, wobei die jeweilige Schrittgruppen mehrere, voneinander unterschiedliche Teilschritte des Arbeitsvorgangs umfasst;
- mittels der elektronischen Recheneinrichtung: Erstellen einer Zielfunktion eines Optimierungsproblems, dessen Zielfunktion die Teilschritte der Schrittgruppen als Parameter umfasst; und
- mittels der elektronischen Recheneinrichtung: Minimieren der Zielfunktion, wodurch aus der jeweiligen Schrittgruppe einer der jeweiligen Teilschritte der jeweiligen Schrittgruppe ausgewählt wird und die ausgewählten Teilschritte aneinandergereiht werden, wodurch der Arbeitsvorgang ermittelt wird. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass der Roboter mittels der elektronischen Recheneinrichtung oder mittels einer
anderen, weiteren elektronischen Recheneinrichtung derart angesteuert wird, dass der Roboter den ermittelten Arbeitsvorgang ausführt. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Produktdaten eine Geometrie des Bauteils und/oder eine von dem Roboter zu meidende Störgeometrie charakterisieren. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Anlagendaten gelenkig miteinander verbundene Roboterarme des Roboters charakterisieren. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Anlagendaten wenigstens ein mittels des Roboters relativ zu dem Bauteil bewegbares und zum Ausführen des Arbeitsvorgangs vorgesehenes Werkzeug des Roboters charakterisieren. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Prozessdaten charakterisieren:
- wenigstens eine Trajektorie, entlang welcher zumindest ein Teil des Roboters zu bewegen ist; und/oder
- wenigstens eine Geschwindigkeit, mit welcher zumindest der T eil des Roboters zu bewegen ist; und/oder
- ein Applikationsabstand zwischen einem zum Ausführen des Arbeitsvorgangs vorgesehenen Werkzeug des Roboters und dem Bauteil;
- einen Überschleifparameter, welcher eine Art, auf welche Punkte einer Bewegungsbahn, entlang welcher zumindest ein Teil des Roboters bewegt wird, um die Arbeitsvorgang auszuführen, abgefahren und/oder interpoliert werden; und/oder
- wenigstens einen den Arbeitsvorgang charakterisierenden Applikationsparameter.
Verfahren zum Ermitteln und Prüfen wenigstens eines von einer Anlage auszuführenden Arbeitsvorgangs zum Bearbeiten wenigstens eines Bauteils, wobei:
- in wenigstens einem Datenspeicher: o Konstruktionsdaten gespeichert sind, welche mehrere, voneinander unterschiedliche Produkte charakterisieren; und o Anlagendaten gespeichert sind, welche mehrere, voneinander unterschiedliche Anlagen zum Durchführen von Herstellschritten charakterisieren;
- mittels einer elektronischen Recheneinrichtung in Abhängigkeit von Eingaben in die elektronische Recheneinrichtung: o aus den Konstruktionsdaten eine erste Teilmenge der Konstruktionsdaten ausgewählt wird, wobei die erste Teilmenge eines der Produkte charakterisiert; und o aus den Anlagendaten eine zweite T eilmenge der Anlagendaten ausgewählt wird, wobei die zweite Teilmenge eine der Anlagen charakterisieren; und
- mittels der elektronischen Recheneinrichtung in Abhängigkeit von der ersten Teilmenge wenigstens ein zum Herstellen des durch die erste Teilmenge charakterisierten Produkts erforderlicher Arbeitsvorgang automatisch berechnet und dadurch ermittelt wird; und
- mittels der elektronischen Recheneinrichtung in Abhängigkeit von der zweiten Teilmenge geprüft wird, ob die durch die zweite Teilmenge charakterisierte Anlage in der Lage ist, den berechneten Arbeitsvorgang durchzuführen. Vorrichtung zur Datenverarbeitung, umfassend Mittel zur Ausführung des Verfahrens nach einem der vorhergehenden Ansprüche. Computerprogramm, umfassend Befehle, die bei einer Ausführung des Computerprogramms durch einen Computer den Computer veranlassen, das Verfahren nach einem der Ansprüche 1 bis 7 auszuführen. Computerlesbares Medium, auf dem das Computerprogramm nach Anspruch 9 gespeichert ist.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022124067.3 | 2022-09-20 | ||
DE102022124067.3A DE102022124067A1 (de) | 2022-09-20 | 2022-09-20 | Verfahren zum Ermitteln eines von einem Roboter auszuführenden Arbeitsvorgangs, Verfahren zum Ermitteln und Prüfen eines von einer Anlage auszuführenden Arbeitsvorgangs, Vorrichtung zur Datenverarbeitung, Computerprogramm und computerlesbares Medium |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2024061602A2 true WO2024061602A2 (de) | 2024-03-28 |
WO2024061602A3 WO2024061602A3 (de) | 2024-05-10 |
Family
ID=87929307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2023/074160 WO2024061602A2 (de) | 2022-09-20 | 2023-09-04 | Verfahren zum ermitteln eines von einem roboter auszuführenden arbeitsvorgangs, verfahren zum ermitteln und prüfen eines von einer anlage auszuführenden arbeitsvorgangs, vorrichtung zur datenverarbeitung, computerprogramm und computerlesbares medium |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE102022124067A1 (de) |
WO (1) | WO2024061602A2 (de) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0157473B2 (de) | 1983-01-25 | 1989-12-06 | Nitsusan Jidosha Kk | |
JP2013099815A (ja) | 2011-11-08 | 2013-05-23 | Fanuc Ltd | ロボットプログラミング装置 |
US8886359B2 (en) | 2011-05-17 | 2014-11-11 | Fanuc Corporation | Robot and spot welding robot with learning control function |
DE102012218297B4 (de) | 2011-10-13 | 2015-07-16 | GM Global Technology Operations, LLC (n.d. Ges. d. Staates Delaware) | Verfahren zur dynamischen Optimierung einer Robotersteuerschnittstelle |
DE102014216514B3 (de) | 2014-08-20 | 2015-09-10 | Kuka Roboter Gmbh | Verfahren zum Programmieren eines Industrieroboters und zugehöriger Industrieroboter |
EP3685968A1 (de) | 2019-01-22 | 2020-07-29 | Bayerische Motoren Werke Aktiengesellschaft | Roboterbewegungsplanung bei der herstellung |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6457473B2 (ja) | 2016-12-16 | 2019-01-23 | ファナック株式会社 | ロボットおよびレーザスキャナの動作を学習する機械学習装置,ロボットシステムおよび機械学習方法 |
GB2582932B (en) * | 2019-04-08 | 2022-07-27 | Arrival Ltd | System and method for flexible manufacturing |
US11213947B2 (en) * | 2019-06-27 | 2022-01-04 | Intel Corporation | Apparatus and methods for object manipulation via action sequence optimization |
TW202146189A (zh) * | 2020-01-22 | 2021-12-16 | 美商即時機器人股份有限公司 | 於多機器人操作環境中之機器人之建置 |
-
2022
- 2022-09-20 DE DE102022124067.3A patent/DE102022124067A1/de active Pending
-
2023
- 2023-09-04 WO PCT/EP2023/074160 patent/WO2024061602A2/de unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0157473B2 (de) | 1983-01-25 | 1989-12-06 | Nitsusan Jidosha Kk | |
US8886359B2 (en) | 2011-05-17 | 2014-11-11 | Fanuc Corporation | Robot and spot welding robot with learning control function |
DE102012218297B4 (de) | 2011-10-13 | 2015-07-16 | GM Global Technology Operations, LLC (n.d. Ges. d. Staates Delaware) | Verfahren zur dynamischen Optimierung einer Robotersteuerschnittstelle |
JP2013099815A (ja) | 2011-11-08 | 2013-05-23 | Fanuc Ltd | ロボットプログラミング装置 |
DE102014216514B3 (de) | 2014-08-20 | 2015-09-10 | Kuka Roboter Gmbh | Verfahren zum Programmieren eines Industrieroboters und zugehöriger Industrieroboter |
EP3685968A1 (de) | 2019-01-22 | 2020-07-29 | Bayerische Motoren Werke Aktiengesellschaft | Roboterbewegungsplanung bei der herstellung |
Also Published As
Publication number | Publication date |
---|---|
DE102022124067A1 (de) | 2024-03-21 |
WO2024061602A3 (de) | 2024-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10352815B4 (de) | Simulationsverfahren für eine Bearbeitung eines Werkstücks durch eine Werkzeugmaschine und korrespondierender Rechner | |
DE112009003656B4 (de) | Verfahren und System zur In-Produktionsoptimierung der Parameter eines zur Montage verwendeten Roboters | |
EP1901149B1 (de) | Vorrichtung und Verfahren zur Simulation eines Ablaufs zur Bearbeitung eines Werkstücks an einer Werkzeugmaschine | |
DE102012021374B4 (de) | Roboterprogrammiervorrichtung | |
EP1894068B1 (de) | Verfahren zur qualitätssicherung beim betrieb einer industriellen maschine | |
DE602006000648T2 (de) | Offline-Lehrgerät für einen Roboter | |
EP2285537B1 (de) | Vorrichtung und verfahren zur rechnergestützten generierung einer manipulatorbahn | |
DE112008003963B4 (de) | System und Verfahren zur Off-line-Programmierung eines Industrieroboters | |
WO2007036466A2 (de) | Verfahren zur simulation eines steuerungs- und/oder maschinenverhaltens einer werkzeugmaschine oder einer produktionsmaschine | |
EP3434424A1 (de) | Effiziente programmierung von robotern für die bearbeitung von werkstücken mit verschiedenen varianten | |
DE102012218297A1 (de) | Verfahren zur dynamischen Optimierung einer Robotersteuerschnittstelle | |
DE19739559A1 (de) | Verfahren und System zum Erstellen oder Visualisieren von Steuerdatensätzen | |
DE10114811A1 (de) | System und Verfahren zur Erstellung von mehrachsigen Bearbeitungs-Vorgängen an Werkstücken | |
DE102019006725A1 (de) | Steuereinrichtung und Steuersystem | |
DE112019007579B4 (de) | Numerische-Steuerung-Vorrichtung und Maschinelles-Lernen-Gerät | |
WO2017005783A1 (de) | Computerimplementiertes verfahren zur bearbeitung von datenobjektvarianten | |
DE10231675A1 (de) | Simulationssystem für die Maschinensimulation und Datenausgabe von Steuerdaten für ein Automatisierungssystem | |
EP4121825A1 (de) | Computerimplementiertes verfahren zum erstellen von steuerungsdatensätzen, cad-cam-system und fertigungsanlage | |
DE112016007339T5 (de) | Simulationsvorrichtung | |
DE102017005674B4 (de) | Zellenfertigungssystem mit Fertigungszelle für autonome Fertigung | |
WO2024061602A2 (de) | Verfahren zum ermitteln eines von einem roboter auszuführenden arbeitsvorgangs, verfahren zum ermitteln und prüfen eines von einer anlage auszuführenden arbeitsvorgangs, vorrichtung zur datenverarbeitung, computerprogramm und computerlesbares medium | |
WO2008113305A1 (de) | Vorrichtung zur erstellung von bearbeitungsprogrammen für eine bearbeitungsmaschine | |
DE10134940B4 (de) | Entwicklungssystem und Entwicklungsverfahren für ein reales Steuerungssystem | |
DE102023130596A1 (de) | Verfahren zur Inbetriebnahme einer Produktionsmaschine, Computerprogramm und Datenträger | |
DE102012108490B4 (de) | Verfahren und Simulationsumgebung zur flexiblen automatisierten Verbindung von Teilmodellen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23764653 Country of ref document: EP Kind code of ref document: A2 |