A method for the automated control of a process robot with a controller performing movement and work sequences and with one or more sensors that record a work progress. A planning tool compares a recorded progress of work with an aimed-for processing objective and determines, from a difference between the processing objective and an actual value of the process that corresponds to the recorded progress of work, movement and work sequences with which the aimed-for processing objective is achieved. Then the determined movement and work sequences are converted into robot-executable control commands in real time or in-step with the process, and the process robot is controlled in such a way as to achieve the aimed-for processing objective.
|
1. A method for the automated control of a process robot with a controller performing movement and work sequences and with at least one sensor recording a work progress carried out on a workpiece, the method which comprises:
comparing, in a planning tool, a recorded work progress carried out on the workpiece with an aimed-for processing objective for the workpiece and determining, from a difference between the processing objective and an actual value of the process that corresponds to the recorded work progress movement and work sequences with which the aimed-for processing objective for the workpiece is achieved;
subsequently converting the determined movement and work sequences into robot-executable control commands in real time or in-step with the process; and
controlling the process robot in such a way as to achieve the aimed-for processing objective.
20. A method for the automated control of a process robot with a controller performing movement and work sequences and with at least one sensor recording a work progress, the method which comprises:
comparing, in a planning tool, a recorded work progress with an aimed-for processing objective and determining, from a difference between the processing objective and an actual value of the process that corresponds to the recorded work progress, movement and work sequences with which the aimed-for processing objective is achieved;
subsequently converting the determined movement and work sequences into robot-executable control commands in real time or in-step with the process;
controlling the process robot in such a way as to achieve the aimed-for processing objective;
calculating with a process simulator process forces occurring during the movement and work sequences and continually coordinating pre-calculated process forces with process forces recorded by respective sensors.
9. A method for the automated control of a process robot with a controller performing movement and work sequences and with at least one sensor recording a work progress, the method which comprises:
comparing, in a planning tool, a recorded work progress with an aimed-for processing objective and determining, from a difference between the processing objective and an actual value of the process that corresponds to the recorded work progress movement and work sequences with which the aimed-for processing objective is achieved;
subsequently converting the determined movement and work sequences into robot-executable control commands in real time or in-step with the process; and
controlling the process robot in such a way as to achieve the aimed-for processing objective;
the planning tool being assigned a process simulator, and which comprises calculating with the process simulator on the basis of a respective measured actual value of the processing progress the effect of planned subsequent movement and work sequences and comparing a calculated effect with a recorded, actual value.
2. The method according to
3. The method according to
4. The method according to
5. The method according to
6. The method according to
7. The method according to
8. The method according to
10. The method according to
11. The method according to
12. The method according to
13. The method according to
14. The method according to
15. The method according to
16. The method according to
17. The method according to
18. The method according to
initially, prior to adjusting process simulator parameters, planning defensively with the planning tool by,
firstly, during first carried-out actions of an application, newly establishing or adjusting the process simulator parameters or a simulation model; and
secondly, during the adjustment phase, simulating first actions of an application and planning with process simulator parameters that correspond to a maximum possible effect.
19. The method according to
|
This application claims the priority, under 35 U.S.C. §119, of German application DE 10 2011 011 542.0, filed Feb. 17, 2011; the prior application is herewith incorporated by reference in its entirety.
The invention relates to a method for the automated programming and optimization of robotic work sequences.
To execute a task, robot controls run programs and control the execution in such a way that the actions (movements, possibly with forces/compliance, signals) always correspond as well as possible, with a high degree of reproducibility, to those programmed. For this purpose, parameterizable actions/movement parameters that can be measured and programmed, such as positions, speeds, forces, are controlled in real time. The control consequently only determines the result indirectly. Only if the relationship between the actions/parameters and the result is sufficiently predictable and reproducible is the result controlled in such a way as to lead to the objective.
To program a task, executable programs are created by means of off-line programming, using “teach-in” or programming by showing. These describe movement commands, actions, signals etc. that can be processed by the control, can be easily measured and controlled and, if exactly followed, are intended to lead to the result that is actually desired (i.e. the objective of the application, of the process).
However, this approach often reaches its limits. To be specific, in the automation of service or maintenance work—on account of outdated material properties, wear, etc., in the production of very small batches—on account of an insufficient number of tests to optimize the process result, in the automation of repair or making-good work in production, in the use of tools that are subject to abrasion, wear or variations (for example abrasive media) or in processes that react very sensitively to parameter changes or are not constant over time (for example painting with a brush/roller).
Such approaches consequently bring about the following effects or problems. The execution of a task by a robot with the same program and parameters does not lead to process results that remain constant but to process results that are clearly different (in terms of quality and progress). The relationship between the result and the action/parameters, and thus the result of the running of a program, cannot be dependably predicted or simulated, progressive control that adapts program parameters to compensate for uncertainties (for example with force/moment control) is also not sufficient, and consequently, for the above cases, sequences that ensure execution while maintaining quality and result cannot be programmed or planned in such a way as to lead to the objective.
The main problem is that robots cannot be controlled and programmed in a result-oriented manner, but are activated by way of commands that merely describe movement, forces, etc. These commands describing various actions can be maintained sufficiently accurately during execution, but may for their part bring about process results that vary or deviate from the objective.
It is accordingly an object of the invention to provide a method for the automated programming and optimization of robotic work sequences which overcomes the disadvantages of the heretofore-known devices and methods of this general type and which provides for process with which a robot can be programmed and controlled in a manner directed at an objective.
With the foregoing and other objects in view there is provided, in accordance with the invention, a method for the automated control of a process robot with a controller performing movement and work sequences and with at least one sensor recording a work progress, the method which comprises:
comparing, in a planning tool, a recorded work progress with an aimed-for processing objective and determining, from a difference between the processing objective and an actual value of the process that corresponds to the recorded work progress movement and work sequences with which the aimed-for processing objective is achieved;
subsequently converting the determined movement and work sequences into robot-executable control commands in real time or in-step with the process; and
controlling the process robot in such a way as to achieve the aimed-for processing objective.
In other words, the robot controller according to the invention controls the process parameters in real time in such a way that a desired processing objective, or machining objective, is achieved. For reasons of compatibility, the robot is usually still activated conventionally. However, not only the execution of the movement and work sequences but also the respective effect of the movement and work sequences are observed and optimized by the extended control. The extended control adapts the planned movement and work sequences in such a way that their prior simulation pre-calculates achievement of the planned processing objective or effect as well as possible and compensates for deviations in the achievement of the objective of preceding actions in subsequent actions. The conventional control signals to the robot are calculated from this. The invention is suitable in particular for applications such as: material-removing machining processes (grinding, polishing, milling, . . . ), application processes (coating, painting, . . . ), generative processes (plasma or metal spraying, build-up welding, . . . ), inspection or cleaning processes, property-changing processes (activation by flame treatment, . . . ) and the like, both in the routine production sequence and when making good (defects) in production or in applications such as repairing or maintaining or overhauling goods or parts or in the applications service sector. All of these processes are referred to herein as “processing,” “process progress,” “work progress,” and the like.
The programming optionally takes place in one or two stages. The planning and simulation of the application optimizes movements of the robot and the process result, but then transfers to an extended robot controller a program not only consisting purely of actions but an extended program that links actions with the objective to be achieved of the respective action. The planning of the same can, in an advantageous implementation, specifically use a variation of the parameters in order to optimize the simulated process result with respect to quality criteria.
The planning tool plans movement sequences of the robot and generates for these movement sequences robot programs that can be executed on a robot controller. At the same time, the planning tool compares the planned effect, i.e. the desired effect to be achieved with the movement sequences, for one or more movement commands or actions with the actual effect measured with a sensor after execution thereof.
The robot usually carries a tool for machining workpieces. Alternatively, however, the robot may also hold the workpiece and move it with respect to a tool. Optionally, the sensors required for measuring the effect actually achieved by a machining operation may be provided on the robot and/or on the tool or in the work cell. The sensors for measuring the effects of the machining as a result of the movement sequences may preferably already evaluate these measurements themselves. For example, the amount or thickness of the layer of the coating removed in a grinding movement is established or the roughness of a surface before and after a grinding operation is determined.
The process simulator serves the purpose of simulating the probable result of a movement sequence. In an advantageous implementation, process forces thereby occurring are also calculated. The process model always calculates the effects measured by the sensors (actual values) with the results simulated for the executed movements and actions recorded by the control, and adapts the parameters of the process model in such a way that the calculated effect matches the measured effect increasingly well. This allows, for example, possible tool or robot wear or changed material properties of the workpiece or ambient parameters (air/workpiece temperature, moisture, etc. . . . ) to be taken into consideration.
A result-oriented activation of the robot or of the machining tool is essential for the invention. In particular, the aimed-for target effect and the aimed-for processing objective are taken into consideration in the robot controls by measuring, controlling and optimizing the machining progress in real time or in step with the machining process.
And this takes place directly on the basis of the desired, aimed-for processing objective instead of, as in the case of conventional control, by prescribing movements and parameters that merely achieve an often not exactly known or changeable effect, and consequently contribution to the result. This becomes possible by using process models and a real-time process simulation, the process model of which can be continually adapted in dependence on the sensor data, that is the measured progress of the process.
In this way, abrasion of the tool over time can be taken into consideration in just the same way as material properties that are initially unknown or that change over time or properties in the interaction between the tool and the workpiece surface. The adaptation takes place, for example, by a comparison of the simulation of the process result for the actually executed path, measured by a sensor, and the direct measurement of the process result before/after execution of a machining operation. Apart from achieving the processing objective, the aim is also to minimize the deviation between the simulation and the measurement by modification of the process model.
Other features which are considered as characteristic for the invention are set forth in the appended claims.
Although the invention is illustrated and described herein as embodied in method for the automated programming and optimization of robotic work sequences, it is nevertheless not intended to be limited to the details shown, since various modifications and structural changes may be made therein without departing from the spirit of the invention and within the scope and range of equivalents of the claims.
The construction and method of operation of the invention, however, together with additional objects and advantages thereof will be best understood from the following description of specific embodiments when read in connection with the accompanying drawings.
Referring now to the figures of the drawing in detail, a planning tool is denoted by I, a robot controller by II, a sensor unit by III, and a process simulator by IV. An external input is effected via the input interface 101. Via this interface, target values, CAD data or the like can be transferred into the planning tool I. The planning tool I calculates and optimizes movement sequences of a robot in dependence on an effect that is planned and to be achieved. This planning tool I can plan the process and the paths required for it and locally adapt movement paths and parameters, such as speed, pressing pressure and the like, in order to compensate for previous deviations in the effect (104), established by sensors, and amend the execution of future paths in such a way that the effect simulated for the adapted paths is changed in such a way that the deviation from the previously planned effect is minimized on a specific or overall level. The corresponding process calculations take place in the process planning or in the movement planner 102.
The invention includes a process simulator with a process model 103 for the pre-calculation of a process result to be achieved for a planned movement sequence. The process model parameters are adaptable in an automated manner in such a way that the simulation results for the previously executed movements and actions (logged in the controller 105) come as close as possible to the actual process results measured by sensors. A controller 105 takes over in the usual way the sequence control and the execution of the program for representing the respectively desired path of movement to be executed with a robot 106. The robot is activated by the robot controller 105 to achieve a desired path of movement, which paths of movement are preferably also logged. In addition, the forces occurring during the individual movements may possibly be logged. To be able to measure the machining progress, a sensor 107 is provided, which sensor directly measures the effect of the machining as a result of the movement sequences and possibly already evaluates it. For example, the amount or thickness of the coating removed in a grinding movement is established or the roughness of a surface before and after a grinding operation is determined. The difference determination 104 compares the actual values of the effect pre-calculated by the process simulation and recorded by the sensor 107 and passes them on to the process planning 102.
Planned process paths are transferred with parameters, movement paths for relative movements between the workpiece and the tool, from the process planning 102 to the process simulation 103, which for its part returns simulated process results for the movement paths to the process planning 102. Executable commands or a program as a whole or in parts is/are transferred from the process planning 102 to the robot controller 105. The process result expected for these commands or program (parts) transferred to 105 is also passed on by the process planning 102 to the difference determination 104. The robot controller 105 controls the robot or the tool 106 in dependence on the robot commands on the pre-calculated movement paths. The robot returns the actually traveled movement paths to the control, which logs them. These values are likewise returned by the robot controller to the process simulation 103. The actual effect measured by the sensors after the machining is sent on the one hand to the process simulation 103 and on the other hand to the difference determination 104.
Referring now to
Referring now to
In further steps, movement plan adaptations are made to take into consideration established deviations between a calculated effect and an actual measured effect in the planning tool Ib.
In this exemplary embodiment, the module for difference determination 104 is assigned to the planning tool Ib. The optimization application 162 carries out an adaptation of process and movement plans to an objective to be achieved in real time or in step and generates for the objective or for a sub-objective objective corrections and adapted plans. These are adapted by a process optimization 172 with the assistance of the process simulated for the respective path in such a way that, in spite of possibly occurring deviations in the result of the previous actions, the difference between the planned result taken over off-line in 152 and the result simulated for the paths adapted online, overall or for the next paths of the plan, is minimal. The movement planner 182 checks in turn for feasibility and freedom from collisions of the individual movement paths. Movement paths found and deemed good with an assigned effect are in turn translated by a generator 192 separately into, firstly, commands that can be executed by the robot, which are transferred to the controller 105, and, secondly, the pre-calculated effects, which are transferred to the difference determination 104.
According to
According to
For this purpose, the process model 133 is adapted by the model adaptation 123 until the process simulation 143 provides an adapted, sufficiently good result, which deviates from the actual measurement result only by a desired small tolerance. If required, the points 113, 123, 133 and 143 for the optimization are run through cyclically, in order to minimize the difference error between simulation and measurement.
Patent | Priority | Assignee | Title |
11256240, | Jun 01 2017 | Intrinsic Innovation LLC | Planning and adapting projects based on a buildability analysis |
11511419, | May 01 2020 | Intrinsic Innovation LLC | Task planning for measurement variances |
11537130, | Dec 26 2019 | Intrinsic Innovation LLC | Robot plan online adjustment |
Patent | Priority | Assignee | Title |
5598076, | Dec 09 1991 | Siemens Aktiengesellschaft | Process for optimizing control parameters for a system having an actual behavior depending on the control parameters |
6076030, | Oct 14 1998 | Carnegie Mellon University | Learning system and method for optimizing control of autonomous earthmoving machinery |
6157873, | Apr 09 1998 | MOTOMAN, INC | Robot programming system and method |
6167328, | Sep 19 1995 | Kabushiki Kaisha Yaskawa Denki | Robot language processing apparatus |
6321137, | Sep 04 1997 | Dynalog, Inc. | Method for calibration of a robot inspection system |
6332101, | Jul 16 1997 | Honda Giken Kogya Kabushiki Kaisha | Off-line teaching method for correcting robot model by revising teaching data on basis of difference between actual and target position |
6445964, | Aug 04 1997 | NORTH SOUTH HOLDINGS INC | Virtual reality simulation-based training of telekinegenesis system for training sequential kinematic behavior of automated kinematic machine |
6463358, | Nov 26 1996 | Fanuc Ltd. | Robot control device having operation route simulation function |
7236854, | Jan 05 2004 | ABB Schweiz AG | Method and a system for programming an industrial robot |
7248012, | Jun 02 2003 | HONDA MOTOR CO , LTD | Teaching data preparing method for articulated robot |
7298385, | Feb 11 2003 | KUKA Laboratories GmbH | Method and device for visualizing computer-generated informations |
8412371, | Sep 30 2005 | Nissan Motor Co., Ltd. | Laser welding system, laser welding method, and emitting device |
20050149231, | |||
20060025890, | |||
20060255758, | |||
20060276934, | |||
20060287768, | |||
20070021868, | |||
20070244599, | |||
20080035619, | |||
20080086236, | |||
20100268353, | |||
20110190932, | |||
DE102004028565, | |||
DE19859169, | |||
EP616706, | |||
JP7328964, | |||
WO2009086220, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Feb 14 2012 | EBERST, CHRISTOF | Convergent Information Technologies GmbH | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 027741 | /0644 | |
Feb 17 2012 | Convergent Information Technologies GmbH | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
May 14 2018 | M2551: Payment of Maintenance Fee, 4th Yr, Small Entity. |
May 06 2022 | M2552: Payment of Maintenance Fee, 8th Yr, Small Entity. |
Date | Maintenance Schedule |
Nov 18 2017 | 4 years fee payment window open |
May 18 2018 | 6 months grace period start (w surcharge) |
Nov 18 2018 | patent expiry (for year 4) |
Nov 18 2020 | 2 years to revive unintentionally abandoned end. (for year 4) |
Nov 18 2021 | 8 years fee payment window open |
May 18 2022 | 6 months grace period start (w surcharge) |
Nov 18 2022 | patent expiry (for year 8) |
Nov 18 2024 | 2 years to revive unintentionally abandoned end. (for year 8) |
Nov 18 2025 | 12 years fee payment window open |
May 18 2026 | 6 months grace period start (w surcharge) |
Nov 18 2026 | patent expiry (for year 12) |
Nov 18 2028 | 2 years to revive unintentionally abandoned end. (for year 12) |