Method and Computer Program for Correcting Errors in a Manipulator System

20180345497 ยท 2018-12-06

    Inventors

    Cpc classification

    International classification

    Abstract

    The invention relates to a method for correcting errors in a manipulator system, wherein the manipulator system comprises at least one manipulator and is controlled by means of at least one manipulator program, wherein the method comprises the following method steps: ?providing at least one manipulator program, wherein the manipulator program comprises several operations; ?combining at least two of the operations to form at least one operation structure; ?defining at least one placement point (AP1, AP2), wherein the at least one placement point (AP1, AP2) forms the start andor the end of an operation structure (310); ?providing at least one reaction structure (320) and assigning the reaction structure (320) to an operation structure (310), wherein tlte at least one reaction structure (320) contains reaction operations (R1 to Rn), upon the execution of which, the manipulator program controls the manipulator system such that it is passed into a system state which corresponds to a placement point (AP1, AP2); ?executing the manipulator program and, if an error occurs, ?executing the reaction structure (320) such that the manipulator system is transferred into a system stare which corresponds to a placement point (AP1, AP2).

    Claims

    1. A method for correcting errors in a manipulator system, wherein the manipulator system comprises at least one manipulator and is controlled by means of at least one manipulator program, and wherein the method comprises the following method steps: providing at least one manipulator program, wherein the manipulator program comprises a plurality of operations (O1 to On); combining at least two of the operations (O1 to On) to form at least one operation structure (310); defining at least one rerun point (AP1 to AP2), wherein the at least one rerun point (AP1 to AP2) forms the beginning and/or the end of an operation structure (310); providing at least one reaction structure (320) and assigning the reaction structure (320) to an operation structure (310), wherein the at least one reaction structure (320) includes reaction operations (R1 to Rn), upon the execution of which the manipulator program controls the manipulator system such that the latter is guided into a system state corresponding to a rerun point (AP1, AP2); executing the manipulator program and, if an error occurs, executing the reaction structure (320), such that the manipulator system is converted into a system state corresponding to a rerun point (AP1, AP2).

    2. The method as claimed in claim 1, wherein an operation structure (310) is consistent, such that the integrity conditions of the manipulator system are complied with at a rerun point (AP1, AP2) and/or before and/or after the execution of the operation structure (310).

    3. The method as claimed in claim 1, wherein the system state of the manipulator system at a rerun point (AP1, AP2) and/or before and/or after the execution of an operation structure (310) is not consistent in all system parameters.

    4. The method as claimed in claim 1, wherein the execution of an operation structure (310) is interrupted upon the occurrence of an error, and the method subsequently continues with the execution of a reaction structure (320).

    5. The method as claimed in claim 1, wherein the reaction structure (320) includes at least one reaction operation (R1 to Rn), the execution of which guides the manipulator system into the system state corresponding to the rerun point (AP1), which rerun point (AP1) forms the beginning of the operation structure (310) in which the error occurred.

    6. The method as claimed in claim 9, wherein the at least one reaction operation (R1 to Rn) reverses an operation (O1 to On) of the operation structure (310).

    7. The method as claimed in claim 1, wherein an operation (O1 to On) of the manipulator program is defined by at least one parameter, and wherein the at least one parameter is variable by a reaction operation (R1 to Rn) of the reaction structure (320).

    8. The method as claimed in claim 1, wherein the reaction structure (320) includes at least one reaction operation (R1 to Rn), the execution of which continues the interrupted operation structure (310) with at least one changed parameter or executes the interrupted operation structure (310) anew.

    9. The method as claimed in claim 1, wherein the reaction structure (320) includes at least one reaction operation (R1 to Rn), the execution of which interrupts the interrupted operation structure (310) until a user input has been effected.

    10. The method as claimed in claim 1, wherein different reaction operations (R1 to Rn) of the reaction structure (320) are executed depending on the type of error that occurred.

    11. The method as claimed in claim 1, wherein the at least one operation structure (310) is linked with at least one further operation (O1 to On) and/or operation structure (310) at a rerun point (AP1, AP2) and one of the linked operations (O1 to On) and/or operation structures (310) is executed after the rerun point (AP1, AP2) has been reached.

    12. The method as claimed in claim 11, wherein a parameter is a numerical parameter or an instruction parameter.

    13. The method as claimed in claim 1, wherein the manipulator program includes real-time operations and real-time reaction operations and also non-real-time operations and non-real-time reaction operations, and wherein all real-time reaction operations and non-real-time reaction operations are ended before the execution of a real-time operation.

    14. A computer program having program commands which, when they are loaded on a computer and/or microcontroller, cause the computer and/or microcontroller to execute the method as claimed in claim 1.

    15. The computer program as claimed in claim 14, wherein an operation structure (310) and an assigned reaction structure (320) are implemented in the same manipulator program part and preferably form a semantic module (100).

    16. A device configured for executing a computer program as claimed in claim 14.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0053] The invention is described in detail below with reference to FIGS. 1 to 5, in which

    [0054] FIG. 1 shows a method for debugging in accordance with the prior art;

    [0055] FIG. 2 shows a schematic illustration of a semantic module of an operation structure and of a reaction structure;

    [0056] FIG. 3 shows a schematic illustration of an operation structure and of a reaction structure of the manipulator program;

    [0057] FIG. 4 shows a schematic illustration of a model of a manipulator program; and

    [0058] FIG. 5 shows a schematic illustration of an application of the manipulator program.

    DETAILED DESCRIPTION

    [0059] In particular, FIG. 1 shows a schematic illustration of error handling of a manipulator program 1 in accordance with a known method. After the execution of a process step S1, S2, S3, a check is made to determine whether the respective process step has been carried out successfully. If this is the case, it is possible to continue with the following process step S2. If an error occurs, then the manipulator program jumps to an error handling structure F1, F2, F3, which ends the manipulator program. After the rectification of the error, the manipulator program has to be started anew. This error handling is inflexible and is therefore suitable for manipulator systems only to a limited extent. If complicated error situations are also intended to be covered by conventional methods, then the complexity of the manipulator program rises and thus so does the error probability for possible programming errors.

    [0060] FIG. 2 shows a schematic illustration 2 of a semantic module of a computer program for carrying out a method for correcting errors in a manipulator system. In this case, the semantic module 200 is subdivided into an operation structure 210 and into a reaction structure 220. If an error occurs during the execution of the operation structure 210, then the operation structure 210 is interrupted and the process continues with the reaction structure 220.

    [0061] The reaction structure 220 includes reaction operations 221 to 225. In a first reaction operation 221, the type of error that occurred is determined and a decision is made regarding with which of the reaction operations 222-224 the process is intended to continue. By way of example, reaction operation 222 can comprise instructions that command a continuation of the operation structure 210 with a changed parameter set. reaction operation 223 can comprise for example instructions that at least partly reverse the operations of the executed and interrupted operation structure 210. reaction operation 224 can comprise a termination instruction, such that the process does not continue with operation structure 210, but rather with a further operation structure.

    [0062] The reaction operation 225 comprises an instruction that defines the rerun point and the following operation structure with which the manipulator program is intended to be continued. Such a rerun point can be defined for example at the beginning of the operation structure 210, such that the operation structure 210 can be executed anew. The renewed execution of the operation structure 210 can be effected, if appropriate, with a changed parameter set. Likewise, other rerun points can also be used for continuing the manipulator program. A branching and diverse reactions to errors are thus possible. Since both the operation structure and the reaction structure are implemented in the same semantic module, the manipulator program remains clear and allows an individual adaptation of the operation structure and/or of the reaction structure. Programming errors can thus be rectified rapidly and the probability of programming errors arising is reduced on account of the reduced complexity and increased polarity.

    [0063] FIG. 3 shows a schematic illustration of an operation structure 310 and of a reaction structure 320. The operation structure 310 comprises a plurality of operations O1 to On. Said operations are preferably executed sequentially, as indicated by the straight arrows depicted in a continuous fashion. The operation structure 310 begins at a first rerun point AP1 and ends at a second rerun point AP2. The manipulator system is preferably consistent at the rerun points. Consequently, the operation structure can be executed from a rerun point independently of the previous execution history and yields the same results.

    [0064] The operation structure 310 is assigned a reaction structure 320 comprising a plurality of reaction operations R1 to Rn. In the case illustrated, if an error occurs in an operation O1 to On. firstly the relevant operation O1 to On is revered by means of the corresponding reaction operation R1 to R2. If this is successful, a decision can be made as to whether the operation O1 to On in which the error occurred is intended to be executed anew, or whether further past operations O1 to On are intended to be reversed by means of further reaction operations R1 to R2. The invention is not restricted to the embodiment shown herein. In particular, it is also possible for a plurality of operations to be reversed by a reaction structure, or it is also possible to take a different path than actually reversing an operation to a previous rerun point.

    [0065] FIG. 4 shows a schematic model 4 of a manipulator program, comprising a plurality of operations O1 to O21 and a plurality of reaction operations R1 to R30. Beginning at rerun point AP5, the operation O1 can be executed. The envisaged program sequence is illustrated by dashed arrows. The manipulator program subsequently executes the operation O2. Here there is the possibility of branching to one of the operations O3-O5. In the example shown, the program sequence leads to operation structure O3. The process subsequently continues with operation structure O10, to which the rerun point AP7 is assigned. In the following operation structure, the operations O11, O13, O14 and O16 are executed successively, wherein an error 400 occurs during the execution of the operation O16. The erroneous operation O16 is terminated and the process continues with the reaction operation R1.

    [0066] The reaction operation R1 provides two possible procedures. The first leads to reaction operation R10 and the second leads to reaction operation R20, which leads to rerun point AP7. From rerun point AP7, the process can continue with operation O10 or return via the reaction operation R30 to operating point AP6, which is assigned to the operation O2. Consequently, it is possible for different operations to be reversed by means of different reaction operations or, if processes are irreversible, it is also possible to choose different paths through the manipulator program. A path denotes the sequence of operations and/or reaction operations.

    [0067] FIG. 5 shows one exemplary example of an application of the method. In accordance with the application, in illustration A, a first part 510 having a bayonet catch 511 is aligned above a second part 520. The second part 520 comprises a projection 521, which can latch with the bayonet catch 511. In order to assemble the two parts 510, 520, firstly a manipulator has to align the first part 510 concentrically relative to the second part 520. Once this has been done, the first part 510 can be lowered (see illustration B), such that the projection 521 is introduced into the bayonet catch 511 of the part 510. Afterward, the first part 510 is rotated by means of the manipulator (illustration C), such that the bayonet catch 511 latches with the projection 521. If an error then occur for example during the lowering of the first part 510, by means of a reaction structure the manipulator program can be induced to begin the alignment of the two parts 510, 520 anew. If this fails, i.e. if the error cannot be rectified automatically, an operator can be called in, who for example positions the first part 510 correctly with respect to the second part 520 or removes the first part 510. Consequently, the assembly process can be continued and an error that occurs can be rectified, without the manipulator program having to be terminated and started anew.

    LIST OF REFERENCE SIGNS

    [0068] AP1-AP9 Rerun points [0069] E1 Ending step [0070] F1 to F3 Error structures [0071] O1 to On Operations [0072] O1 to O21 Operations [0073] R1 to Rn Reaction operations [0074] R1 to R30 Reaction operations [0075] S1 to S3 Execution steps [0076] 200 Semantic module [0077] 210; 310 Operation structure [0078] 220; 320 Reaction structure [0079] 221, 222, 223, 224, 225 Reaction operations [0080] 400 Error [0081] 610 First part [0082] 620 Second part [0083] 611 Bayonet catch [0084] 621 Projection