Verfahren zur automatisierten programmierung und optimierung von robotischen arbeitsabläufen

15-09-2011 дата публикации
Номер:
AT0000509499A2
Автор:
Контакты:
Номер заявки: 4122010
Дата заявки: 12-03-2010

[1]

The invention concerns a procedure for automated programming and OplJmierung of robotischen Arbeitsabläufen.

[2]

The programming of applications within the range of the automated treatment of moved workpieces takes place so far in off-line programming, which only insufficiently applications supports the additional complexities in the form of further degrees of freedom or variations exhibit and which must be considered with programming. This is the case if to be e.g. considered must that the workpiece on (not freely programmable) a promoter is moved, while the robot is for example firmly installed that the robot with a further robot or a freely programmable actuator cooperates which the workpiece positioned and/or that disturbances or deviations, for example fluctuations of the workpiece situation or the process parameter, can occur. These cases it is common that additional degrees of freedom or variants are introduced with well-known methods, if, only are very at all heavily considered können.

[3]

In production workpieces with automatic conveyer systems are often carried from work cell to work cell. It is about to be regarded as ideal, if the workpiece for an execution of a programmed application (treatment), which can be worked on, not to be stopped and/or from the conveyer system removed must, but itself with the given speed weiterbewegt.

[4]

The programming of not trivial applications, with which a workpiece is e.g. firmly installed moved during the robot basis (LINE Tracking), contained however an additional complexity which can be mastered in programming, with well-known solutions for simple applications adjusts the robot CONTROLLER the movement of the workpiece, by adjusting its goal coordinate system with the feed information of the promoter. Since the pure shift of the coordinate system does not contain an examination on collisions, this beginning requires that with the structure of the cell actually already the collision freedom ensures wird.

[5]

Reached this can become for example by the fact that the robot is so installed that it with would drive out for application from a free range, for example from the top, against which moved workpiece is advanced. Application is implemented thus unchecked on any collisions. This procedure is not suitable for applications, with which the robot is to manufacture longer contact between a tool and a workpiece, in particular if the tool over the Werkstückoberltäche to be moved is, or if it concerns a complex workpiece, since by longer time and further movement of the workpiece away first it cannot be guaranteed that not, for example the elbow of the robot with the workpiece kollidiert.

[6]

Another possibility for the treatment of moved workpieces consists of placing the robot for more complex tasks on an auxiliary axle to move and the robot over wide ranges or at critical ranges of application synchronously with the workpiece. Thus this procedure resembles an application with quasi standing workpiece, with the disadvantage of additionally necessary axles, costs, cost of floor space and Wartung.

[7]

In a second case which can be improved with the invention in production Werkst0cke by means of a programmable actuator (e.g. a further robot, a programmierbareren turning swiveling slope table or a Linearpositionierer) in a way favorable for the process robot implementing application is positioned, whereby the workpiece different takes itself if necessary, during the process changing situations. This increases the accessibility working on points by the process robot and permits complex and most diverse parts in a cell to work on. Programming not trivial applications, with those additionally to the process robots further robots or freely ù…. ….

[8]

programmable actuators to be used, contain an additional complexity in programming, which can hardly be mastered with well-known means. The difference to the LINE Tracking mentioned above is that the additional degrees of freedom are freely programmable, during with the LINE Tracking the speed of the promoter is given and the robot program to it adapts muss.

[9]

Such cooperative robots or actuators are at present still few verbreitet.

[10]

In the cases in those you to be used one accepts a very aufwändige conventional programming for the advantages, whereby at least the synchronisation of the program execution for all actuators by the robot CONTROLLER are very well supported. In addition the robots lead across a transformation defined tool tools homogeneous movements from whereby the robots in such a way to be to each other moved can as if they would be a coupled Kinematik.

[11]

However there is neither a support for examination, whether this coupled movement is also collision-free executable, nor for the automatic adaptation and/or Umplanen of applications. Therefore process steps in those will be moved robots and cooperating actuator during a process step at the same time usually either avoided, kept comparatively short or in such a manner optimized that one of the two robots/actuators only as simple a movements as possible ausführt.

[12]

In a third case which can be improved with the invention arise in production in relevant Pararnetern (e.g. partial situation, process parameters) fluctuations, variations and/or disturbances and thus deviations from the ideal, which, if they lie beyond a tolerable range, which can impair the feasibility of application or the quality of the result. The programming of applications the such, additional complexities exhibit, becomes, because unexpected statistic process fluctuations in programming must be considered, from well-known methods not sufficiently unterstützt.

[13]

° o° o… °°: ; Usually becomes only after programming, i.e. during an enterprise of the plant by tests or by simulation of the finished program, determined up to which fluctuations application desired results supplies. These tolerances must be kept then and are for example with appropriate sensors to be validated. Lie the values outside of the tolerances application are not started. Since conventionally only less robust programs can be programmed, and programming for different disturbances time-consuming is, must the tolerances small be held and effected more frequently than necessarily an abort of application and thus the Produktion.

[14]

For the invention the task is appropriate at the basis a procedure for VOL-blazes part-automatic programming and optimization by robotischen applications to indicate, with which a favourable programming of collision-free, trivial applications is not possible, with those a workpiece is moved and/or with those in relevant parameters fluctuations, variations and/or disturbances and thus deviations from the ideal auftreten.

[15]

on the basis of a state of the art of the before-described kind The invention solves this task by the following operational sequence - programming the work routine for a virtual simplified case, in particular at positionfirm a workpiece, stretching and limiting of a search area with consideration of information about an additional Komptexität/dimension, in particular consideration of movements of workpiece and/or actuators and establishment of a time frame for start and end-time of the program and/or specify searches for starting plans/solutions from permitted and forbidden ranges for workpiece and actuators, for a detailed planning in a rough planning and specify to the sequence, in which the detailed plannings in a loop are processed, - to optimize, validates or rejects from solutions found in rough planning by a detailed planning, oo 40 et oo stores found solutions and sufficiently good solutions into one or more Roboterprogramme.

[16]

translate The three cases treated here is common this a Erlindungsgedanke, whereby the operator or an automatic planning can program application for a virtual simplified case in conventional way without given workpiece movements, without having to consider freely programmable workpiece movements in consequence of co-operation of actuators, or without variations and disturbances. Their consideration effected in the connection VOL-blaze part-automatically in the following the represented procedure. In addition in a preprocessing on the basis more quantitatively, in particular metric, additional information is stretched and limited over those complexity a search area additionally which can be regarded and prepared in such a way for a faster following search. Subsequently, a rough planning looks for the starting solutions in a loop for StarUösungen, for example for individual surfaces, and puts the order in that to process firmly is. Within this loop and validates or rejects a detailed planning optimizes these starting solutions. Found plans/Metaprogramme are stored. After finding a sufficiently good solution or by solutions for all cases one or more Metaprogramme are stored and translated into one or more executable robot programs. The user and/or software tools must worry only about planning for the simplified case. The additional complexity is considered with the procedure according to invention, that at the same time movements of the robot and application optimiert.

[17]

Case A: If it must be considered that the workpiece with a not freely programmable promoter moves would be certain, robotische application in a first step in usual way planned as the workpiece. This happens favourable with one VOL-blazes part-automatic planning, simulation and optimization of the process and tool motion. Alternatively conventionally generated programs for simplified applications einge can °…. - °o. -; : i: “.:: : -” ': -:

[18]

will read and transformed into points of process or paths in the workpiece coordinate system werden.

[19]

In consequence becomes for each process path or - point of programmed application for the restriction of the search area of permitted ranges for a disalignment of the workpiece which can be worked on deviating from the ideal determines. In these ranges the courses of motion are for the treatment of the workpiece auszuführen.

[20]

Subsequently, in a rough planning executable in principle sequences and directions of the paths/movements are determined and the found sequences successively in a loop are examined. This sequence planning estimates the elapsed time for each process path or - point. At the same time from these times also the movement is those the workpiece on the promoter (with defined speed) implements certainly. Rough planning must look for the arrangements of the paths now for with each path into one period and thus resulting disalignment between robot basis and constantly moved construction unit and falls in that the path is collision-free executable and the time between the paths is sufficiently dimensioned. This time will score as disalignment of the construction unit to the robot basis between two process paths or berücksichtigt.

[21]

Within the loop the tarpaulin from rough planning are continued to refine and validated, i.e. exact starting final values (regarding the feed motion of the promoter to the robot basis) and timing (breaks, speeds) and the exact path process optimizes and/or fine-planned. For validation planned contemporaneous Werkstückund robot movements (while the process paths and the connecting movements between these) is simulated exactly. The result ùnicht executably " or the process result resulting from this exact movement is used as optimization criterion for the detailed planning/optimization. The detailed planning and optimization (within the loop over orders and starting points) use thereby the process result as follows: The result of the process simulation (e.g. layer thickness on the workpiece surface with painting (in values or, OK ONES, too thickly or too thinly "), cleaning efficiency with cleaning • o g, o oQ o Qe • . :: o. .o ..° • ooQ • • QOO °o " °; °: : - °: :

[22]

o. ate• oe (cleaned, not cleaned, uncertainly)) becomes on the surface of the workpiece, project " (on the Mesh data (description of net of the surface of the construction unit) stored) and can be queried for each point of the surface. Planning or Optimierungsalgorithrnen will in such a way change now the positions of the tool and thus the robot] n purchase to the surface that the portion of the relevant workpiece surface with those the quality criteria are kept are maximised. ùLücken " or, defects " preferably more strongly weighted so that these are preferentially closed and connected regions are reached those the criteria to fulfill. Movements those are not executable are rejected or with a high penalty value evaluated, optional can with the first sufficiently good result the loop broken off werden.

[23]

By the exact planning of process paths and intermediate movement on movement level will from the plan a Metaprogramm which buffering becomes explicit. If there for none of the planned sequences (variants) a sufficient solution (- svariante) is, decreased/gone back on those, quasi-static Erstbestimmung ". In a favourable realization with the fact is directly indicated where (with earlier attempts) the problem lay " thus which paths or points of process or which ranges of the workpiece critically or unkdtisch sind.

[24]

The final result is a Meta program thereafter into a program is converted which surely synchronously to the promotion movements to be implemented kann.

[25]

Optionally data can be contained like far the synchronisation feed fluctuations of the promoter surely to adjust may and starting from when an emergency stop necessarily ist.

[26]

Case B: In a first step application (simplified for the operator) programmed/planned as would not give it co-operation between tool and workpiece and as if the workpiece for that would be always perfectly accessible, to process robots ". Planning is made by process paths or points and not by means of the robot movements, since the latters cannot be certain because of the degrees of freedom of robot and actuator yet. In a favourable realization the planning of virtual simplified application takes place accelerated through eingebeti. … "" IO0I' 0 i, ul, O IO qlœalp æl tete VOL-blazes part-automatic planning, simulation and optimization of the process and the Werkzeug-Bewegungen.

[27]

Subsequently, the range will be optimized over is preprocessed, in order to reduce the search area. In addition a) ranges of permitted workpiece positions can be determined in those individual path (virtually statically planned) of the plan with the process robot to be implemented in each case can (and the process result in accordance with simulation in tolerances is reached) and at those the workpiece also by the cooperating actuator be positioned can, and/or b) over defaults e.g. to the situation of the workpiece the Zustandsraum of the cooperating (the part of moving) actuator is made smaller (Anm: e.g.

[28]

only joint angle with those the workpiece on the head does not stand).

[29]

Subsequently, looked by combinations of workpiece positions and sequences for the individual process paths or points for possible solutions in a loop to be then processed. This search for favorable orders and workpiece positions for each individual path use the minimization of the reorientations, i.e. changes of the successive workpiece positions (these to be fast determined there can) or tool adjustments in a favourable realization as optimization criterion (alternative:

[30]

Sum over all movements or duration of the execution etc.). Within the loop the combination of orders and workpiece positions for each process path or point selected in each case are then examined more exactly, whereby then differently than in the preliminary test the workpiece position may be varied during a process path or - point is processed. The synchronous movements of process robot and actuator become for the process paths (or points) and optimizes the connecting movements between these and the process result resulting from it (detailed planning) and by simulation of the simultaneous movement validates. The simulation result is determined identically as in the case A, LineTracking, and used as optimization criterion for the optimization/detailed planning. The sequential investigation of the combinations (i.e. the loop) can be terminated as soon as (sufficiently good) a solution found wurde.

[31]

IIO o, ll QO Oo I, ii, IP• ““i """": ” - “/= tl' IbQil O • ” “b'" """ • o°: • • o • Q ul •o by the exact detailed planning of process paths and intermediate movement explicitly on movement level becomes from the plan a Metaprogramm which buffering wird.

[32]

If in all the examined variations no solution is found (or no robust solution concerning security, minimum distance and such), decreased/gone back on those, quasi-ideal Erstbestimmung ", whereby is directly indicated, where the problem is " thus which path or which range that of workpiece (simple or repeated) critically or was uncritical. Will a solution is found the appropriate Meta program into an executable robot program for a specific robot dialect übersetzt.

[33]

The final result is an examined program surely synchronously by process robots and cooperating actuators to be implemented can. The actuators are far more precisely than a conveyor and in real time controllable. If tolerated deviations from the target position could be calculated, are not however as meaningfully as with a conveyor also times to stand remain muss.

[34]

Case C: In a first step (ideal) robotische application programmied/planned as would not give it fluctuations or disturbances - d.h.

[35]

idealized and virtually freely of varying influences - and thus, as used " simplifies for the operator. This is done e.g. accelerated via embedded VOL-blazes part-automatic planning and simulation of process and movement. Over the following planning to accelerate the expected fluctuations first analyzed into to what extent it independently, correlated or mutually will excluding arise, according to which over all meaningfully possible conditions a minimum Zustandsraum can be stretched, from that all not einnehmbaren conditions already eliminated sind.

[36]

In further consequence in a loop over disturbances and fluctuations (discrete) is varied and searched for these cases for solutions, whereby the succession and (density) the scanning of the variations/disturbances D6 O Q4 QO 01 examined in the loop: :: …. ° o.

[37]

• gQ, Al, • • oo, I, • s • , DL Q € left, I, • • œ OD B, I WHETHER Rdl 10anhand of the results of previous runs can have steered. For example, region Growing " similar beginning, or a steered scanning (e.g. around steadiness to use and there fewer variations to examine have where the results of previous detailed plannings a solution to have found those it is very robust (e.g. no solution in the proximity to joint angle restrictions or to collisions, only small affected process result)).

[38]

Within the loop (favourably) first evaluated whether already before a planned plan or a Metaprogramm for the current variation is executable and a result supplies, which lies within the permitted tolerances. In addition the result of the process simulation (for the process paths kolfisionsfrei executable in accordance with transaction simulation) becomes like e.g. the resulting layer thickness on the workpiece surface with painting (in values or, OK ONES too thickly, too thinly "), or e.g.

[39]

the cleaning efficiency queried with cleaning (cleaned, not cleaned, uncertainly),…) on the surface of the workpiece ùprojiziert " (stored on the Mesh data) and afterwards for each point of the surface. The portion of the relevant workpiece surface is with those the quality criteria to be kept to the Gesarntoberfläche over the demanded barrier (whereby different regions (e.g.

[40]

Design edges) to be differently weighted can), then the tested plan for this current variation is to be released. Then this variation with the other permitted variations of the suitable plan is summarized (geclustert). If not, then the planning process for the variation newly knocked against and provided optimized by adaptation of the path processes themselves (e.g. using the past plan with the best result or the plan for the ùideaten case ") a new plan and. For validation the planned robot movements (process paths and connecting movements between these) are simulated and their feasibility if necessary - time and the process result resulting from this exact movement as optimization criterion for planning/optimization verwendet.

[41]

As in the previous cases the optimization (within the loop over orders and starting points) rates thereby the process result as follows: The result of the process simulation is tested for the surface of the workpiece, projiziert= (stored on that Mesh data) and for each point of the surface. Oo the Q, •o 9o IJQ Odl • 0-- IlPle. •• l• •1 • IO 0• Planning or optimization algorithms will in such a way change now the positions of the tools and thus the robot in purchase to the surface that the portion of the relevant workpiece surface with those the quality criteria are kept are maximised. Preferably, gaps " or, defects " more strongly weighted so that these are preferentially closed and connected regions are reached, which fulfill the criteria. Movements those are not executable are rejected or with a high penalty value evaluated. By the exact planning of process paths and intermediate movement explicitly on movement level will from the plan a Metaprogramm of which is stored together with the value of the examined variation. I.e. it a new cluster put on and later examined disturbances, those with the same Metaprogramm bzw.

[42]

Flat to be taken off can become, to it-calm (gectustert).

[43]

The loop resumed to for each variation/disturbance a plan one exists, d.h.

[44]

no disturbances are more unabgedeckt. Importantly: the boundary regions of a cluster are to also seem in a neighbouring cluster, thus not, to gaps " between the parameters develop de-facto not assigned and evtl.

[45]

are not executable. If the entire range of the fluctuations can be covered with only one plan, the result is a only one (robust) plan or Metaprogramm/into a program is converted, otherwise several plans or Metaprogramme provides Anm: The loop cannot be broken off if for a case a solution was found (back to initials the regulation) or all cases will be discussed and only for (few) the cases for no solution found completely again searched during the found solutions to be maintained. Ideal way can be optimized in an optimization downstream the plans/Metaprogramme again over the width of the variations/disturbances covered in the cluster. Metaprogramme become concluding into executable robot programs for a specific robot dialect übersetzt.

[46]

During on-line execution of automation the disturbance (e.g. position deviation) is measured and the appropriate cluster is selected and the appropriate 00 OU 98 program is called. Optionally the stored (on the average optimal) program can be called and afterwards for the exactly measured disturbance/parameter optimized werden.

[47]

with the exactly measured deviation In the designs the invention is schematically represented on the basis a Ausführugsbeispieles. Show:

[48]

Fig 1 aalen presented variants a common operational sequence of a procedure according to invention, Fig. 2 details of the internal Ptanung and optimization of the procedure from Fig. 1, Fig. 3 schematic operational sequence for a workpiece moved with a not freely programmable promoter (case A), Fig. 4 an operational sequence with a co-operation between tool and workpiece, thus freely programmable Werkzeugund workpiece movements, Fig. 5 an operational sequence for the consideration of varying influences and Fig. 6 details of an operational sequence from Fig.

[49]

After the invention at the basis lying procedures (Fig. 1) only an idealized application one plans (and/or programs). Idealized is called here e.g. quasi-static or quasiohne disturbances or as the operator of simpler applications familiarly. In a favourable execution the operator is already supported thereby by planning and/or Sirnulation and/or optimization of the process and the robot movements. Alternatively programs also existing can be read in and converted. Only thereafter (VOL-blaze part) automates the additional, by dynamics or disturbances caused complexity/dimension considered and the plans generates for these more complex cases applicable sind.

[50]

This happens as follows: In a preprocessing the search area is stretched and limited. Then a rough planning looks for starting solutions or Fällen.

[51]

These will become in a loop processed and found solutions optimized and validated and if necessary summarized. Out found plans or several programs are joined. I and III show the well-known BQ QO EO 01 80 9 U 40 00 NO • QD Q 9 • I • 00U œ 6 mlU • • • • t • 9eO • • oo operational sequence and II (VOL-blaze part) the automatic treatment according to invention pushed in between I and III. Fig. 1 shows in particular 1st initials determination/planning and if necessary optimization of the process courses and/or - points for the virtual simplified case, i.e. without consideration of the additional dimension (EN) (movement, variation). Note: In a favourable realization these are examined for collision freedom of the tool. During the process security also the collision freedom of the robot is first prü acre. Alternatively or classically programmed programs also existing can read in and (preferably in workpiece coordinates) converted werden.

[52]

2. Input or reading of the information in about the additional Komplexirät/dimension. (In case of, LINE Tracking " is this the rate of motion of a promoter and thus the workpiece, and earliest startinglatest end-time of the program. In case of the cooperative robotics this data concerning the movement area of the cooperating actuators or data concerning ranges/situations are those the workpiece did not take may. In case of the process security this information about single disturbances and if necessary their dependence or exclusion is.) 3rd optional preprocessing of the information out (2) for stretching and reduction of the search area (in 4):

[53]

a. In case of the LINE Tracking, Fenste#' become or, passages " with those the process courses from (1) by the robot (without configuration changes) are attainable ermittelt.

[54]

b. With cooperative robotics (robot and actuator) similar and/or Zuständedie because the workpiece could not be taken on dern roof would e.g. stand from the status map of the ertaubten ranges deleted or as artificial obstacles abgebildet.

[55]

c. In case of the process security e.g. compound disturbance samples for your composition from single disturbances examined by the number of cases which can be examined too reduzieren.

[56]

4. Rough planning (search) after the starting solutions or orders which those in illustrate (3) specified conditions or conditions. Processing of these Startù “…: . ': L.” solutions as loop. For the cases a) and b), with those with a first (in the following sufficiently good evaluated) solution the loop to be broken off accelerates rough planning finding such a solution knows by optimization. As criteria the optimization uses a keeping of boundary conditions for the individual paths (rough examination e.g. the path within permitted time/position window) and/or the estimated (unproductive) time (sum of the reorientations or air movements or joint angle etc. also accumulated…). For the case c) with that the sum (N) found solutions the search area completely cover must and from there all cases to be processed have, can the optimization of the sequence of processing (e.g. in accordance with similarity measure) in connection with a steered scanning with that those, scanning density " are dependent by previous results (of the optimization/evaluation within the loop) or edge regions, the number of runs reduzieren.

[57]

5. Detailed planning and/or optimization for current, before found, case ".

[58]

Criterion are the feasibility (if necessary time) and the obtained process quality (portion of the relevant workpiece surface with that the process result within the tolerances lies) in simulation (6) to be determined. If a solution is found, the expirations in the plan become around exact movements i.e. and Scha tpunkte etc. supplements to a Metaprogramm zusammengesetzt.

[59]

6. Validation over the details simulation of the movement on feasibility and simulation of the resulting of the process result from the details movement (process result (OK ONE, and/or over/falling below) for each segment or part of the surface of the workpiece).

[60]

5b return if not yet all cases are processed or still no sufficiently good solution one found. If all cases are processed and were found with the LINE Tracking or the cooperative robotics at all no solution (variation), and/or during the process security not for all cases (variations) a solution was found takes place a return to 1.

[61]

7. Transformation of the Metaprogramme into executable Roboterprogramme.

[62]

In the designs the letters refer up:

[63]

A: a plan or a list of process courses and/or -, i score, - °. ; ; ..

[64]

m ° o° oo oo b: Information about the additional dimension, e.g. rate of motion of the workpiece/promoter and/or from disturbances/fluctuations during the process security, C: a plan or a list of process courses or - points (see b) as well as information about the conditions or orders for each path, D which can be examined: initial plan (process paths or-scores with order) together with information about those conditions up-to-date which can be examined, e; plan for simulation/validation, f varied one by the OptimierunglFeinplanung: the result of the validation: verworrene and executable process courses. Latter inclusive details of executable robot movement and this appropriate process result and g: an optimized adapted PIan/Metaprogram or information about the fact that no valid solution found wurde.

[65]

H: A return, if yet all cases were not processed or still no sufficient result is present (past results to be available for rough planning), i: a return too (1), planning " if all cases/options of the loop quasi-idealized were processed and no solution or not for all cases a solution were found. Thereby the delivery of results is favourable, like (un) critical places and-blazes to paths and Variationen.

[66]

J: If all cases were processed and sufficient solutions and/or solutions for all cases were found take place a delivery of the Metaprogramme for a generation of executable robot programs, in Fig. 2 the internal loop becomes from Fig. 1 for example in the detail dargestellt.

[67]

Given on the right of details of the internal optimization for in the outside loop (4a) the variation. Importantly: The sequence of transaction simulation/evaluation and process simulation/evaluation can be also exchanged, so that first the process is simulated. If only process parameters are changed those for the tools to concern, but not the robot (i.e. e.g. air parameter or quantity of enamel with painting however not e.g. TooI speed over the surface itself: i et° d6 ere on the robot movement affect) can a new transaction simulation be jumped over. ILI cannot be summarized thereby with la, or occur in another realization at all. In the block la humans/an operator could make highly efficiently intervention over examined for basis of its experience or intuition of optimization proposals then in modules the II VII automatically very fast and evaluated werden.

[68]

in place of or in co-operation with the automatic solution I. (A) optimization; Depending upon realization module I cannot at all be called with the first run, since still no simulation is present. This case resembles a version in the I-A after t-b is only gone through and at the end of the loop steht.

[69]

I1. Models: contain model of the cell, the robot, the workpieces, the process tools and the Prozesses.

[70]

IIf. Snaps first test and optimization on basis Tooi (Kolisionsvermeidung tools, monitoring of process parameters in principle, smoothings,…). Anm: III can be summarized also with la or not verwendet.

[71]

IV. Simulation of the movement (details with the robot (n) executable courses and speeds) and test on KollisionsfreiheitlErreichbarkeit.

[72]

V. Evaluation of the movement (all or sufficient portion of the courses attainable? Run time?) Decision whether jumping over or examination of the solution in the process simulation VI.

[73]

VI. Simulation of the process for in IV determined/simulated Bewegung.

[74]

exactly Enrich the description of workpiece and/or its surface with information from the Prozesssimulation.

[75]

VII. Evaluation of the process result from simulation. E.G. portion of the surface of the workpiece with process result within the parameters. Regions with injury of the quality defaults etc.

[76]

VIII. I. (B) end of the optimization loop. Store. Terminate the internal optimization loop and passing on of the best result if a sufficiently good result one obtained or a ZeitUmit or the max. number of iterations is reached. Otherwise return too la) for continuing the Optimierung.

[77]

A) Access in models to the inquiry of Toolund workpiece models: ; , o° "" tt oo oo B) suggested process courses or-scores C) access in model to the inquiry of Toolund workpiece models D) varied and optimized courses (tools collision-free, if necessary smoothed, local excess (simple geometriescher) parameter or contact pressure etc. avoided) E) courses to the VerwendungNalidierung in the transaction simulation F) access in models of the workpiece, the line, the robot and the tools G) return value ùKollision " or, not attainable " (inclusive where) OR return of exact course/movement (how of the robot in accordance with simulation executably, with speeds of the course) and elapsed time H) jumping over the process simulation if G no or no sufficiently well evaluated result is (e.g. to high elapsed time, portion of the too rejected courses too highly) I) delivery of the sufficiently well evaluated exactly determined/simulated course (EN) to the Prozesssimulation.

[78]

J) Access in models of the workpiece, tools and process (no cell, no robot) K) simulation result of the process: Description of the workpiece and/or its surface enriched with the information about local process quality/characteristics (e.g. cleaned/not cleaned, layer thickness,… for each surface part) L) result and evaluation M) return to the optimization or g) abort with reaching a sufficiently good result or the exceeding of time limits or the maximum number at Iterationen.

[79]

Fig. an exemplary realization of the pattern for the version, LINE Tracking shows 3 ", with which the treatment with a promoter moved one workpiece to take place is, 1st initials, quasi-static " determination/planning (and if necessary optimization) of the process courses and-death-he-scores without consideration of the additional dimension (movement of the workpiece). Favourably if for the tool already collision-free. Alternatively or classically programmed programs also existing can read in and (in gereihte paths and points in workpiece coordinates) converted werden.

[80]

2. Input or reading of the information in about the additional complexity/dimension (rate of motion of the promoter/workpiece and earliest start and latest end-time of the expiration).

[81]

3. Preprocessing. Determination that, window " or, passages " over which (particulars) the process courses or points (from 1) by the robot (without configuration changes) attainable sind.

[82]

4a. Rough planning: Search for possible path sequences and rough initial values those the defaults out (2) fulfill and their processing in a loop. In a favourable realization rough planning uses the evaluation of the results of the detailed planning from preceding runs of the Schleife.

[83]

5. (Fine) planning and optimization of process and courses/points (Prozessund intermediate movements) and their exact timing given within (in 4a) the order. Possible criteria for the optimization come from simulation (6) and can be: Process result (quality, i.e. portion of the relevant workpiece surface with that the process result within the tolerances lie), stability (i.e. maximization of the remaining tolerances with the Zeiffenstern), Taktzeit.

[84]

If a solution is obtained, the expirations in the plan become around exact movements and switching points etc. supplemental i.e. become a Metaprogram.

[85]

6. Validation of the results of planning from 5: (Real time) simulation of the exact simultaneous movement of the robot and the workpiece on feasibility (and time) and Sirnulation from the simultaneous movement resulting process result as (individual and/or cumulated) result (cleaned, layer thickness examines etc.) for each segment of the surface of the Werkstücks.

[86]

4b storing the result. Store the Meta program if a solution one found. End of the loop: Return after 4a was not processed if yet all cases and no sufficiently good solution was found. If all cases (from 4a) are processed already and were found at all no solution (variation), a return is made to 1. thereby becomes equal accumulated information (from the statistics) by the critical and uncritical paths or regions 41+++ 4p I111, i' i IPlI'II IlI'II' lllp 4111::: ù.

[87]

Ii .l, ikl IL I.B (individual or mutual) also handed over and quasi-static Genederung knows l I " with that, (1) for the analysis and problem solution uses (or visualized) werden.

[88]

7. Convert the Metaprogramms into Programme.

[89]

executable on the specific robots Fig. an example of a realization of a cooperative treatment with a robot that shows 4 the process tool leads and (or meheren) programmable actuators those the workpiece leads (e.g. + robots or turning swiveling slope table).

[90]

1. Determination/planning (and if necessary optimization) of the process courses and/or - points without consideration of the additional dimension (movement of the workpiece by another actuator). If the process courses are favourable are already collision-free. On Kotlisionsfreiheit at this time only the tool is examined, since the relative relative by robot and workpiece are determined by the second actuator up to this time here still are ignored. Alternatively also classically programmed programs can read in and converted werden.

[91]

2. Reading or input of relevant information in about the additional complexity/dimension. This in particular restriction of the situation/orientation of the workpiece of which is over the freely programmable actuator moved or be positioned can by further conditions (e.g., straight hold ").

[92]

3. Preprocessing: Determination of the possible workpiece positions with those the individual process courses and points of process (from 1) by the robot and the conditions are attainable are fulfilled of 2. The latter permits to reduce the search range to reject i.e. configurations the too bad positions führen.

[93]

4. a) Rough planning of the possible workpiece situations to hand over (from 3) and orders of the paths (from 1) with the goal already favourable sequences at the following detailed planning and optimization. Criterion for it is the minimization of the changes in successive workpiece positions. Processing takes place in a loop. In a favourable realization rough planning uses œo NO oo 6t • “: : .2: ; :

[94]

4m ePi uum & i DL early evaluated GrobpJäne, i.e. the results of the detailed planning from preceding runs of the Schleife.

[95]

5. (Fine) planning, and optimization of process and paths (Prozessund connecting intermediate movements). This detailed planning generates courses of motion for the actuator that the workpiece moved and that the tool leads with consideration of all degrees of freedom and hands these over to the validation (6).

[96]

Important difference between detailed planning (5) and rough planning (4a); The situation of the workpiece moved over the actuator can be continuously moved also during the execution of a process course to optimize (in order the accessibility or to minimize reorientations between process movements). Criteria for the optimization come from simulation (6) and can be: Process result (quality), cycle time, minimization of the reorientation, etc. if a solution is obtained, is the expirations in the plan around exact movements and switching points etc. supplemental i.e. are already a Metaprogram.

[97]

6. Validation of the detailed planning from 5: (Real time) simulation of the exact contemporaneous movement v. process robot and actuator the workpiece moves and the process result resulting from it (process result (OK ONE, and/or over /Unterschreitung) for each segment or part of the Oberl] äche of the workpiece).

[98]

4b loop end, storing the result. Rückstorung after 4a were not processed if yet all cases and no sufficiently good solution were found. (with case, evaluation and indication of the reason for the failure). Because of the many combinations the completion of the loop is favourable with the first sufficient result. If all cases (from 4a) are processed already and no solution (variation) were found take place a return to 1. thereby can accumulated information about (It. Statistics) of critical and uncritical paths, regions and situations (individual or mutual) also hand over and when the ùquasistatischen generation " (1) for the analysis and problem solution uses (or visualized) werden.

[99]

7. Convert the Metaprogramms into a Programm.

[100]

executable on the specific robot (type) and cooperating actuator Q@ o4l, Fig. exemplarily a realization of the pattern shows 5 for the version, process security ", thus the consideration regarding variable disturbances, statisüscher fluctuations and dgl.

[101]

1. Determination/planning and if necessary optimization of the process courses and/or - points without consideration of the additional dimension (variation/disturbances).

[102]

Alternatively also classically programmed programs can be read in and converted 2nd input or reading of the information in about the additional variances/disturbances like e.g. the fluctuation margin of the situation of the workpiece or the Prozessparameter.

[103]

3. Preprocessing analysis of the disturbances and structure of a distribution area of the disturbances of which dependence, uses mutual exclusion etc. around not einnehmbare conditions too eliminieren.

[104]

4. a) Loop over in 3 specified StörungenNariationen. In a favourable realization the scanning of the Zustandsraumes steered not evenly but on the basis the results of previous runs, i.e. a search e.g.

[105]

a region Growing similar beginning uses, or a steered scanning e.g., steadiness between tested variations uses around fewer variations examine too müssen.

[106]

5. Test already formed of plans/Metaprogramme: In a favourable Realsierung first those are already tested for before examined cases optimized plans invariably (r) on your suitability for the current case, i.e. whether/which of the planned movements are executable in the case m# the robot and b) whether a sufficient result is reached. Possible criteria for the evaluation come from simulation (5b) and can be: Feasibility, and run time, process result (quality), stability. If the existing tested Metaprogram fits, i.e. if the portion of the relevant surface lies within the parameters and/or the quality criteria fulfilled over the defined threshold or barrier lies, the current condition (the current variation) is assigned to the cluster and further jumped to 4b.

[107]

5b) Validation of the existing Metaprogramms from 5a: Simulation of the movement of the robot (exact course and speed, feasibility, attainable Q QJ oo ihl COM in the o ol m to RK o keit, if necessary Zeitbedart) in accordance with Metaprogramm from 5th simulation of of the resulting process result for those variation up-to-date which can be examined (i.e. the result of the reciprocal effect between process and workpiece surface is simulated and for each surface segment (e.g. Mesh Triangle or texture) abgespeichert.

[108]

6. Detailed planning and optimization of process and paths by variation and optimization the initials of the plan (from 1) (or a current similar condition (from 5)). Possible criteria for the optimization come from simulation (7) and can be: Feasibility, and run time, process result (quality), stability. Store one in 7 confirm new plan/Metaprograms in a Zustand-Cluster.

[109]

again put on 7. Validation of the results of planning from 6: Simulation of the movement of the robot (exact course and speed, accessibility, if necessary time requirement) in accordance with plan. Simulation of the resulting process result (for each upper guest) 8.4b: Store the result (Meta program) if a solution one found. Return to (4a) if yet all cases were not processed. End and further too (8) if all conditions are processed and for each case a Lösunge were found. If there are cases/variations (at disturbances) for no solution be found could, a return takes place too (1).

[110]

9. Optionally detailed planning and optimization over all variants for each cluster as in (6).

[111]

10. Optional validation as in (7) (if necessary optional Worst case simulation) 11. Transformation of the Metaprogramme into executable robot programs. Store together with the condition range in to use sind.

[112]

a3: Flat or list of process courses/- points b3: Data concerning fluctuation margins of individual parameters and dependence c3: (More examining) Zustandsraum of the StörungenNariationen d3: Flat together with information about those variation (disturbance), up-to-date which can be examined, e3: validating existing plan (unchanged) f3: Result of the validation: rejected (inclusive causes) and executable process courses inclusive executable robot movement as well as out this resulting process result • #€ 6t mt oo D6 Q o w o 4. - .ù °o:

[113]

o .a I; Q6 t po g3: If () already for examined optimized a variation/a disturbance a in former times (r) plan (e) satisfying results supplies: suitable (s) plan/Meta program (e) or reference to it h3: If none fits the past Pl ne/Metaprogramme: Flat (from 1) together with information about those variation (disturbance), up-to-date which can be examined, i3: validating optimized plan j3: Result of the validation: rejected (inclusive causes) and executable process courses inclusive executable robot movement as well as out this resulting process result k3: optimiertesladaptiertes Metaprogramm or information no valid solution 13: Return to (4a) not all variations the loop so long are processed:

[114]

Information about ErfoTg/not success for the up-to-date tested Variation.

[115]

m3: Return to quasi-ideal regulation (1) in the case that for all cases a solution it was not found, inclusive information about progress of the past solution search: e.g. variations for the einelkeine solution one found. Reached or critical states, paths….

[116]

n3: Information over geclusterte (summarized) Meta Programrne and conditions o3: optimized Metaprogramm (for simulation) p3: Result of the validation: verworrene (inclusive causes) and executable process courses inclusive executable robot movement and process result q3: For defined disturbances optimized Meta program (e), if necessary geclustert.

[117]

For the case not all disturbances with a program to be covered know are favourable the following procedure way. Fig. a Programmauswah does not show 6 during the process security for the case that the range at disturbances with only one program to be covered kann.

[118]

1: Measurement of the disturbance, 2nd selection of a program, which illustrates the development of the disturbance, 3rd optional follow-up optimization (Meta) of the Programs from the selection for that exactly measured value of the disturbance. Under Meta program an expiration, i.e. one become • A over, ° • • oooo • DL • , II,” va Q nl0 al0 00 QO, l e succession precisely more defined and of the robot of executable movements in an CONTROLLER-independent language understood. The Metaprogramm Nässt itself into a program executable on robot expensive equipment umwandeln.

[119]

4, transformation into the specific robot dialect of case not already in the dialect gespeichert.

[120]

Al measured disturbance bl selected Metaprogramm cl optional: Metaprogramm optimizes again for up-to-date measured disturbance applicant for a patent Dipl. - Ing Helmut of pretty Dipl. - ing. Kaff Winfried lightme Dipl. - engineer Friedrich Jell Spittelwiese 7, A 4020 Linz 6o _ “: ” '. .

[121]

œ oe o e°





(37,006) hel to schen procedures for automated programming and optimization of robotiArbeitsabläufen with the following process steps programming of the work routine for a virtual simplified case, in particular at a fagefesten workpiece, stretching and limiting of a search area with consideration of information about an additional complexity/dimension, in particular consideration of movements of workpiece and/or actuators and establishment of a time frame for start and end-time of the program and/or searches for starting plans/solutions specify for a detailed planning in a rough planning and specify to the sequence, in which the detailed plannings in a loop are processed, optimize, validate or reject from solutions found in rough planning by a detailed planning from permitted and forbidden ranges for workpiece and actuators, store found solutions and translate sufficiently good solutions into one or more robot programs, oœ among other things ee EO • • °e CO2 40 oet oo

2. Procedure according to requirement 1, by the fact characterized that for each process path or - point of the programmed work routine for the restriction of the search area of permitted ranges for a disalignment of the workpiece determination which can be worked on deviating from the ideal becomes.

3. Procedure according to requirement 1 or 2, by the fact characterized that in the Grobptanung executable in principle orders and directions of the paths/movements determined and the determined sequences are examined successively in a loop for feasibility, whereby sequence planning preferably the Ausf0hrungsdauer for each process path or - point calculates.

4. Procedure after one of the requirements 1 to 3, by the fact characterized that in the detailed planning the solutions found in rough planning are refined and validated regarding temporal and result-oriented defaults, whereby planned contemporaneous Werkstückund robot movements is preferably simulated for validation and executable results are not used as optimization criterion for the detailed planning.

5. Procedure after one of the requirements 1 to 4, by the fact characterized that the result is assigned to the process simulation points of surface of the workpiece and the optimization of the positions of the tool and thus the robot in such a manner takes place in purchase to the surface that the portion given quality criteria of keeping points of surface is maximised.

6. Procedure after one of the requirements 1 to 5, by the fact characterized that planning or-scores over process paths effected.

7. Procedure after one of the requirements 1 to 6, by the fact characterized that for the reduction of the search area ranges of permitted work stick positions are determined in those individual path with the process robot are in each case implemented to the workpiece also by a cooperating actuator positioned • ll 41 o 4 lb DO • t IQo • • m o_ o oo =, • = OO DL DO OQ OO will can, and/or that over defaults, in particular over the situation of the workpiece the Zustandsraum of the cooperating actuator is made smaller.

8. Procedure after one of the requirements 1 to 7, by the fact characterized that by combinations of workpiece positions and sequences for the individual process paths or points for possible solutions is looked for, whereby as Optimierungskritedum the minimization of the number is used at reorientations of tool and/or workpiece.

9. Procedure after one of the requirements 1 to 8, by the fact characterized that to the consideration of fluctuations or disturbances in the work routine fluctuations expected first are analyzed first, according to which over all meaningfully possible conditions a minimum Zustandsraum is stretched.

10. Procedure after one of the requirements 1 to 9, by the fact characterized that for different disturbances and fluctuations solutions are determined and these solutions are put down in a memory, whereby the succession and the scanning of the variations/disturbances examined in the loop are preferably steered on the basis the results of already effected computations.

11. Procedure according to requirement 10, by the fact characterized that solutions are determined until for each variation/disturbance a solution exists, whereby the edge solutions are adapted together adjacent ranges.

12. Procedure after one of the requirements 9 to 11, by the fact characterized that during a real time execution of the procedure at a device first the variation/disturbance, for example position deviation, is measured and the appropriate and already solution determined first is selected and the appropriate program from a memory is called.

13. Procedure according to requirement 12, by the fact characterized that in dependence of the measured variation/disturbance a stored and on the average bestgeeignetes “i i - '-” -- JO QO4 QO Q4) ee program and optimized if necessary afterwards for the exactly measured disturbance/parameter is called.

14. Data medium, by the fact characterized that on it a program for the execution in the requirements 1 to 13 stressed of the procedure stored ist.

Linz, to 12. March 2010 Convergent information Technologies GmbH through