EP3374136A1 - Method and computer program for correcting errors in a manipulator system - Google Patents

Method and computer program for correcting errors in a manipulator system

Info

Publication number
EP3374136A1
EP3374136A1 EP16794938.7A EP16794938A EP3374136A1 EP 3374136 A1 EP3374136 A1 EP 3374136A1 EP 16794938 A EP16794938 A EP 16794938A EP 3374136 A1 EP3374136 A1 EP 3374136A1
Authority
EP
European Patent Office
Prior art keywords
manipulator
reaction
operations
program
touchdown point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
EP16794938.7A
Other languages
German (de)
French (fr)
Inventor
Andreas Sedlmayr
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KUKA Deutschland GmbH
Original Assignee
KUKA Deutschland GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KUKA Deutschland GmbH filed Critical KUKA Deutschland GmbH
Publication of EP3374136A1 publication Critical patent/EP3374136A1/en
Ceased legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0428Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4067Restoring data or position after power failure or other interruption
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0286Modifications to the monitored process, e.g. stopping operation or adapting control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13001Interrupt handling
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25416Interrupt
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39024Calibration of manipulator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50103Restart, reverse, return along machined path, stop

Definitions

  • the invention relates to a method and a computer program for correcting errors of a manipulator system.
  • manipulator systems typically comprise at least one manipulator and are by means of a
  • Controlled manipulator program If an error occurs in the manipulator system, then the manipulator system can be converted into a system state, which a
  • Typical manipulator systems include at least one manipulator that is configured to physically interact with its environment.
  • a manipulator may be an industrial robot having at least three movable, freely programmable axes and having an end effector, such as a gripper or a machining tool.
  • Manipulator systems are used, for example, in automobile production.
  • Manipulator systems are typically controlled by means of a
  • Manipulator program which determines the system behavior application-specific.
  • the requirement for the programming of manipulator programs has changed, for example, through the use of additional sensor technology, which enables new tasks in robotics.
  • new functionalities can be programmed through the use of force and / or torque sensors, such as those used in the industrial robot LBR iiwa from KUKA AG. These include, among other things, search trips with sensors, force-controlled tool operation, MRK (human-robot cooperation) capability, sensitive gripping etc.
  • Manipulators implement these functions by means of programmed operations.
  • a manipulator program typically includes several operations. The sequence of several operations forms a process. During the
  • Running a process may cause an error that prevents it from continuing on schedule.
  • the reason for the occurrence of an error may be, for example
  • CONFIRMATION COPY an unforeseen event to which the manipulator system can not respond on its own or requires an interruption of the planned process.
  • manipulator program takes place. Debugging and correcting require significant time and human resources, which results in high costs. Furthermore, threatening high damage, if an unrecognized error, for example, leads to an interruption of a series production.
  • manipulator programs can be programmed using a general high-level language (eg Java).
  • the program code is typically compiled and executed by a programming language bytecode interpreter (Java VM).
  • Java VM programming language bytecode interpreter
  • the real-time capability of this kind of interpreter is limited, so the System time of the manipulator program and the manipulator system may differ. As a result, runtime errors can not be responded in real time.
  • the Java VM is typically not equipped for the special requirements of manipulator programming. In particular, among other things, the execution of the manipulator program from a certain point in the expiration of
  • Manipulator program program entry
  • Manipulator program as well as stopping and resuming at a defined point in the flow of the manipulator program is not supported. This makes it difficult to correct errors.
  • the object of the present invention is to provide a method and a computer program as well as a device which can at least partially eliminate the disadvantages described above. Detailed description of the invention
  • the object of the invention is achieved by a method for correcting errors of a manipulator system according to claim 1, a computer program according to claim 14 and a device according to claim 16.
  • the object is achieved by a method for correcting errors of a manipulator system, wherein the manipulator system at least one
  • Manipulator and is controlled by means of at least one manipulator program, the method comprising the following steps:
  • Manipulator program includes multiple operations
  • Touchdown point forms the beginning and / or end of an operation structure
  • Reaction structure to an operation structure, wherein the at least one
  • Reaction structure Reaction operations in whose execution the manipulator program controls the manipulator system so that it into a
  • Manipulator programs are used to control the manipulator system.
  • a manipulator program can specify movements and working steps of a manipulator of the manipulator system.
  • a manipulator it is possible for a manipulator to be moved according to a defined trajectory in order to grasp an object. Subsequently, the object can be moved according to a second defined trajectory and stored at another position.
  • manipulator programs may include instructions related to mounting parts, welding, riveting, or other tasks.
  • the manipulator program for this purpose has a plurality of operations, wherein a plurality of operations are sequenced to a process to control the manipulator system and, for example, to perform the above tasks. there At least two of the operations become an operational structure
  • the beginning and / or the end of an operation structure can form a touchdown point. From a touchdown point, the manipulator program can be continued regardless of its execution history. The same results are always achieved.
  • Reaction structure allows a clear manipulator program, which errors in programming can be reduced. Furthermore, the
  • the operation structure is consistent, so that the integrity conditions of the manipulator system are met at a touchdown point and / or before and / or after executing the operation structure. This ensures that a manipulator program, regardless of its execution history of a
  • a reaction structure can be carried out which brings the manipulator system into a system state corresponding to a touchdown point. Not only is the software "rewound", but the manipulator system is actually transferred to a system state that corresponds to the touchdown point.
  • the reaction structure preferably comprises reaction operations which can undo individual operations if the respective operation structure describes a reversible process. If the respective operation structure describes an irreversible process, then reaction operations may be contained in the reaction structure which allow it to continue with a modified plan, i. which differ from a pure reverse execution performed operations.
  • the rivet when placing a rivet by means of a manipulator, the rivet may jam in a bore. In this case correct riveting is not possible. If the manipulator system detects this error, the operation structure "riveting" can be broken off and an associated reaction structure initiated.
  • a possible reaction structure in this example could include opening the riveting tool and then commanding the jammed rivet out of the hole a new rivet will be taken, and the operations structure "riveting" will be performed again.
  • reaction structures are also possible. For example, depending on the number of failed attempts to execute an operation structure, a response structure may command a different approach. To stay in the previous example, after repeatedly performing the
  • An operation structure and an associated reaction structure are preferably implemented in a common semantic module.
  • a reaction structure can also cancel the operation structure and / or continue the operation
  • the system state of the manipulator system at a touchdown point and / or before and / or after executing an operation structure is not consistent in all system parameters.
  • the reaction structure must provide a corresponding reaction operation, which makes it possible to eliminate the causative error of the welding process (eg cleaning of the welding process)
  • the reaction structure provides an alternative approach, after which the interrupted weld is not finished welded, but to be reworked in a manual step.
  • the manipulator program can be continued elsewhere in this case.
  • an operation structure of the manipulator program can be repeated immediately after the occurrence of an error or
  • Manipulator program continue from another touchdown point. This allows to minimize downtime of the manipulator system and
  • the productivity of the manipulator system can be increased.
  • not every operation of an operation structure is assigned its own reaction operation to a corresponding reaction structure.
  • not every operation structure must have its own reaction structure.
  • an operation structure is assigned a reaction structure, wherein the reaction structure is preferably assigned to at least one further operation structure.
  • the reaction structure is preferably assigned to at least one further operation structure.
  • a reaction structure is assigned to a plurality of operation structures if the operation structures have a common touchdown point.
  • the reaction structure includes at least one reaction operation whose execution leads the manipulator system to a system state corresponding to the touchdown point, which touchdown point forms the beginning of the operation structure in which the failure occurred.
  • reaction structures allow the manipulator system to be "rewound.”
  • the operation structure in which the error occurred can be repeated, and the return to the touchdown point does not have to correspond to a direct inversion of the operation structure, but can be performed in an alternative way For example, a movement of a manipulator are reversed and the direct return path is blocked, so the manipulator can be traced on an alternative trajectory to the starting point of the movement.
  • the at least one reaction operation undoes an operation of the operation structure.
  • individual operations can be reversed immediately. This is especially true for reversible processes
  • a movement performed by the manipulator can be immediately reduced.
  • an operation of the manipulator program is defined by at least one parameter, wherein the at least one parameter is defined by a
  • a parameter may be a numerical parameter, such as a manipulator speed, or an instruction parameter representing the sequence of operations of a
  • a response operation may cause the operation structure to continue with changed parameters (eg, slower manipulator speed) or repeat with changed parameters. It is also possible to achieve an alternative branching of the manipulator program.
  • the reaction structure includes at least one reaction operation whose execution continues the interrupted operation structure with at least one changed parameter or executes the interrupted operation structure again.
  • the reaction structure preferably includes at least one reaction operation whose execution interrupts the interrupted operation structure until operator input has taken place. This makes it possible, if the occurred error can not be corrected automatically by the manipulator system, to request the intervention of an operator. For example, the operator may be requested to check a certain system state, to remove or replace defective parts or workpieces from the manipulator system, and / or the like.
  • reaction structures are performed depending on the error that has occurred.
  • an operational structure is preferably assigned a plurality of reaction structures, which are executed as a function of the error that has occurred.
  • the operation structure may simply be repeated if the reason for the intervention of the security device was a temporary one. On the other hand, if an error occurs that can not be remedied automatically, an operator may
  • parameters can preferably be changed differently depending on the error that has occurred. For example, repeating a
  • Operation structure with reduced speed of the manipulator are performed when a first error occurs or with a changed force threshold of force monitoring of the manipulator when a second error occurs.
  • Other changed parameters are also conceivable.
  • the at least one operation structure is linked in a touchdown point with at least one further operation and / or operation structure, wherein after reaching the touchdown point, one of the linked operations and / or operation structures is executed.
  • Operation structure i.e., forward
  • reaction structure i.e., backward
  • Operations structures / operations are continued. This allows flexible error correction. Likewise, an operation structure may preferably be executed with changed parameters, depending on the error that has occurred.
  • a parameter is a numerical parameter or a
  • Numeric parameters are parameters that are expressed in numerical values and correspond to physical quantities. These are, for example, speeds of the manipulator, force thresholds, momentary thresholds, waiting times and the like. Instruction parameters influence the course of the manipulator.
  • Manipulator program and specify, for example, the execution order of the operation structures or individual operations.
  • the manipulator program includes real-time operations and
  • Real-time reaction operations and non-real-time reaction operations are completed. By determining non real time and real time operations, a deterministic behavior of the
  • Manipulator program can be achieved. Should a real-time operation or
  • non-real-time operations are executed, the time of the manipulator program and the actual system time may differ.
  • non-real-time operations or responses may be in the background.
  • Program instructions which, when loaded on a computer and / or microcontroller, cause the computer and / or microcontroller to perform the described method.
  • Such computer programs may be loaded on devices adapted to control manipulator systems.
  • Reaction structure implemented in the same manipulator program part and preferably form a semantic module.
  • the surgical structures or reaction structures are closely linked, so that the programming can be made clear.
  • Computer program implemented as part of the manipulator program may be a stand-alone computer program.
  • the object is further achieved by a device which is set up to execute the computer program.
  • a device which is set up to execute the computer program.
  • Such devices are for example
  • FIGS. 1 to 5 shows a method for troubleshooting according to the prior art
  • Fig. 2 is a schematic representation of a Semantikbausteins a
  • FIG. 3 is a schematic representation of an operational structure and a reaction structure
  • FIG. 4 shows a schematic representation of a model of a manipulator program
  • FIG. 5 is a schematic representation of an application of the manipulator program.
  • FIG. 1 shows a schematic representation of an error handling of a manipulator program 1 according to a known method.
  • a process step Si, S2, S3 it is checked whether the respective process step has been carried out successfully. If this is the case, the following process step S2 can be continued. If an error occurs, the manipulator program jumps to an error handling structure Fi, F2, F3, which terminates the manipulator program. After the error has been corrected, the manipulator program must be restarted.
  • This error handling is inflexible and therefore only partially suitable for manipulator systems. If complicated error cases are also to be covered with conventional methods, the complexity of the manipulator program and thus the probability of errors for possible programming errors increases.
  • FIG. 2 shows a schematic representation 2 of a semantic block of a
  • the semantic module 200 is divided into an operational structure 210 and a reaction structure 220. Occurs during the
  • the operation structure 210 fails, the operation structure 210 is interrupted and the reaction structure 220 is continued.
  • reaction structure 220 includes reaction operations 221 to 225.
  • reaction operation 221 the type of failure that has occurred has been determined and a decision has been made as to which of the reaction operations 222-224 to continue.
  • reaction operation 222 may include instructions that include a
  • Reaction operation 223 may include, for example, instructions that at least partially undo the operations of the executed and interrupted operation structure 210.
  • Reaction operation 224 may be a
  • Reaction operation 225 includes an instruction that specifies the touchdown point and the subsequent operation structure with which the manipulator program should continue. Such a touchdown point, for example, at the beginning of
  • Operations structure 210 may be defined so that the operation structure 210 may be executed again.
  • the renewed execution of the operation structure 210 can optionally take place with a changed parameter set.
  • other touchdown points can be used to continue the manipulator program.
  • FIG. 3 shows a schematic representation of an operation structure 310 and a reaction structure 320.
  • the operation structure 310 comprises a plurality of operations Ol to On. These operations are preferably performed sequentially, as indicated by the straight, solid arrows.
  • the operation structure 310 starts at a first touchdown point APi and ends at a second touchdown point AP2.
  • the manipulator system is preferably consistent.
  • the operation structure can be independent of a touchdown point
  • the operational structure 310 is assigned a reaction structure 320 which comprises a plurality of reaction operations Ri to Rn.
  • a reaction structure 320 which comprises a plurality of reaction operations Ri to Rn.
  • the relevant operation Ol to On is first undone. If this is successful, it can be decided whether the operation Ol to On, in which the error has occurred, should be executed again, or whether by means of further
  • Reaction operations Ri to Rn further previous operations Ol to On should be undone.
  • the invention is not limited to the embodiment shown herein. In particular, several operations can be reversed by a reaction structure, or a different way than the actual "undo" operation to a previous one
  • FIG. 4 shows a schematic model 4 of a manipulator program comprising a plurality of operations ⁇ to 0'2i and a plurality of reaction operations R'i to R'30. Starting at touchdown point AP5, the operation ⁇ can be performed. The predicted program sequence is shown by dashed arrows. The
  • Operations structure O'io which is assigned the touchdown point AP7.
  • the operations ⁇ , ⁇ 3, ⁇ 4 and ⁇ 6 are successively executed, and an error 400 occurs in the execution of the operation ⁇ 6.
  • the erroneous operation ⁇ 6 is aborted and with the
  • reaction operation R'i provides two possible approaches. The first leads to reaction operation R'io the second to reaction operation R'20, which increases
  • Touchdown point AP7 leads. From touchdown point AP7, operation O'io can be continued or returned via operation R'30 to workpoint AP6 associated with operation 0 * 2. Thus, different operations with different reaction operations can be reversed or, if processes are irreversible, other paths can be chosen by the manipulator program.
  • a path denotes the sequence of operations and / or
  • Fig. 5 shows an exemplary example of an application of the method.
  • a first part 510 which has a
  • Bayonet lock 511 has a second part 520 aligned.
  • the second part 520 comprises a projection 521 which can engage with the bayonet lock 511.
  • a manipulator first has to concentrically align the first part 510 relative to the second part 520. Once this has taken place, the first part 510 can be lowered (see illustration B), so that the projection 521 is inserted into the bayonet closure 511 of the part 510. Subsequently, the first part 510 is rotated by means of the manipulator (illustration C), so that the
  • Bayonet lock 511 with the projection 521 engages. If, for example, an error occurs when lowering the first part 510, the manipulator program can be made to start again by aligning the two parts 510, 520 by means of a reaction structure. If this fails, ie the error can not be corrected automatically, an operator can be called in, for example, the first one Part 510 correctly positions to the second part 520 or removes the first part 510. Consequently, the assembly process can be continued and an error occurring can be remedied without the manipulator program having to be aborted and restarted.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

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 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) 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 state which corresponds to a placement point (AP1, AP2).

Description

VERFAHREN UND COMPUTERPROGRAMM ZUR KORREKTUR VON FEHLERN EINES MANIPULATORSYSTEMS  METHOD AND COMPUTER PROGRAM FOR CORRECTING ERRORS OF A MANIPULATOR SYSTEM
Gebiet der Erfindung Die Erfindung betrifft ein Verfahren und ein Computerprogramm zur Korrektur von Fehlern eines Manipulatorsystems. Derartige Manipulatorsysteme umfassen typischerweise zumindest einen Manipulator und werden mittels eines FIELD OF THE INVENTION The invention relates to a method and a computer program for correcting errors of a manipulator system. Such manipulator systems typically comprise at least one manipulator and are by means of a
Manipulatorprogramms gesteuert. Tritt ein Fehler im Manipulatorsystem auf, so kann das Manipulatorsystem in einen Systemzustand überführt werden, welcher ein Controlled manipulator program. If an error occurs in the manipulator system, then the manipulator system can be converted into a system state, which a
Fortsetzen des Manipulatorprogramms erlaubt. Resuming the manipulator program allowed.
Hintergrund background
Typische Manipulatorsysteme umfassen zumindest einen Manipulator, welcher dazu eingerichtet ist, physikalisch mit seiner Umgebung zu interagieren. Beispielsweise kann ein derartiger Manipulator ein Industrieroboter sein, der über zumindest drei bewegliche, frei programmierbare Achsen verfügt und einen Endeffektor, wie beispielsweise einen Greifer oder ein Bearbeitungswerkzeug, führt. Derartige Typical manipulator systems include at least one manipulator that is configured to physically interact with its environment. For example, such a manipulator may be an industrial robot having at least three movable, freely programmable axes and having an end effector, such as a gripper or a machining tool. such
Manipulatorsysteme kommen beispielsweise in der Automobilfertigung zum Einsatz. Manipulator systems are used, for example, in automobile production.
Gesteuert werden Manipulatorsysteme typischerweise mittels eines Manipulator systems are typically controlled by means of a
Manipulatorprogramms, welches das Systemverhalten anwendungsspezifisch festlegt. Die Anforderung an die Programmierung von Manipulatorprogrammen hat sich zum Beispiel durch den Einsatz von zusätzlicher Sensorik, welche neue Aufgabenfelder in der Robotik ermöglicht, geändert. Beispielsweise können durch den Einsatz von Kraft- und/oder Momentensensoren, wie sie zum Beispiel im Industrieroboter LBR iiwa der KUKA AG zum Einsatz kommen, neue Funktionalitäten programmiert werden. Diese umfassen unter anderem Suchfahrten mit Sensorik, kraftgeregelter Werkzeugbetrieb, MRK (Mensch-Roboter-Kooperation) Fähigkeit, sensitives Greifen usw. Manipulator program, which determines the system behavior application-specific. The requirement for the programming of manipulator programs has changed, for example, through the use of additional sensor technology, which enables new tasks in robotics. For example, new functionalities can be programmed through the use of force and / or torque sensors, such as those used in the industrial robot LBR iiwa from KUKA AG. These include, among other things, search trips with sensors, force-controlled tool operation, MRK (human-robot cooperation) capability, sensitive gripping etc.
Manipulatoren setzen diese Funktionen mittels programmierter Operationen um. Ein Manipulatorprogramm umfasst dazu typischerweise mehrere Operationen. Die Aneinanderreihung mehrerer Operationen bildet einen Prozess. Während der Manipulators implement these functions by means of programmed operations. A manipulator program typically includes several operations. The sequence of several operations forms a process. During the
Ausführung eines Prozesses kann ein Fehler auftreten, der ein Fortsetzen nach Plan verhindert. Der Grund für das Auftreten eines Fehlers kann beispielsweise ein Running a process may cause an error that prevents it from continuing on schedule. The reason for the occurrence of an error may be, for example
Programmierfehler (z.B. durch falsch gesetzte Parameterwerte) oder das Auftreten Programming errors (e.g., due to incorrectly set parameter values) or occurrence
BESTÄTIGUNGSKOPIE eines unvorhergesehenen Ereignisses sein, auf das das Manipulatorsystem nicht selbstständig reagieren kann oder eine Unterbrechung des geplanten Prozesses fordert. CONFIRMATION COPY an unforeseen event to which the manipulator system can not respond on its own or requires an interruption of the planned process.
Tritt ein Fehler auf, besteht grundsätzlich die Möglichkeit mit einem neuen, geänderten Plan fortzusetzen oder den Prozess rückgängig zu machen. Manche Prozesse können vollständig rückgängig gemacht und wiederholt werden. Andere Prozesse sind irreversible Prozesse und können nicht rückgängig gemacht werden; jedoch kann bei Kenntnis über die Art des Fehlers, der begonnene und abgebrochene Prozess „repariert" werden. Dennoch ist es oftmals nötig, das Manipulatorprogramm If an error occurs, it is basically possible to continue with a new, changed plan or to undo the process. Some processes can be completely undone and redone. Other processes are irreversible processes and can not be undone; however, knowing the nature of the defect, the process begun and aborted can be "repaired." However, it is often necessary to have the manipulator program
abzubrechen und erneut zu starten, wodurch hohe Wiederanlaufzeiten und Kosten generiert werden. abort and restart, generating high restart times and costs.
Ein Beispiel für einen irreversiblen Prozess ist das Schweißen mittels eines An example of an irreversible process is welding by means of a
Manipulators. Wird der Schweißprozess unterbrochen, so kann der Prozess nicht einfach wiederholt werden, da die bereits geschweißte Naht durch das erneute (Über-) Schweißen beschädigt werden könnte. Jedoch könnte der Prozess nach Beseitigung eines aufgetretenen Fehlers von der Unterbrechungsstelle an fortgeführt werden. Manipulator. If the welding process is interrupted, the process can not simply be repeated, since the already welded seam could be damaged by the renewed (over) welding. However, the process could be continued from the point of interruption after elimination of an error that has occurred.
Folglich werden Verfahren benötigt, welche ein (automatisiertes) Fortsetzen von begonnen Prozessen, ein Wiederholen und/oder eine Planänderung im Prozess ermöglichen. Sollen solche Verfahren mit herkömmlichen Programmiertechniken gelöst werden, wird die Komplexität zusätzlich erhöht, wodurch die Zahl der Consequently, methods are needed which allow for an (automated) continuation of started processes, a retry and / or a plan change in the process. If such methods are to be solved with conventional programming techniques, the complexity is additionally increased, whereby the number of
Programmierfehler steigt. Programming error increases.
Die Programmierung von Manipulatorprogrammen erfolgt heute meist mit The programming of manipulator programs is usually done today
domänenspezifischen Programmiersprachen, die auf BASIC oder PASCAL aufbauen. Diese Programmiersprachen werden meist durch einen Interpreter ausgeführt. Ein großer Anteil des Programmierens ist die Fehlerbehebung und Prozessoptimierung, welche im Anschluss der Programmierung des regulären Prozesses (d.h. des Domain-specific programming languages based on BASIC or PASCAL. These programming languages are usually executed by an interpreter. A large part of the programming is the debugging and process optimization, which following the programming of the regular process (i.e.
Manipulatorprogramms) erfolgt. Die Fehlersuche und -korrektur erfordern erhebliche zeitliche und personelle Ressourcen, wodurch hohe Kosten entstehen. Weiterhin drohen hohe Schäden, falls ein nicht erkannter Fehler z.B. zu einer Unterbrechung einer Serienproduktion führt. Überdies können Manipulatorprogramme mit Hilfe einer allgemeinen Hochsprache (z.B. Java) programmiert werden. Der Programmcode wird typischerweise kompiliert und von einem Bytecode-Interpreter (Java VM) der Programmiersprache ausgeführt. Allerdings ist die Echtzeitfähigkeit dieser Art von Interpreter beschränkt, sodass die Systemzeit des Manipulatorprogramms und des Manipulatorsystems voneinander abweichen können. Folglich kann auf Laufzeitfehler nicht in Echtzeit reagiert werden. Weiterhin ist z.B. die Java VM typischerweise nicht für die besonderen Anforderungen der Manipulatorprogrammierung ausgestattet. Insbesondere wird u.a. das Ausführen des Manipulatorprogramms ab einer bestimmten Stelle im Ablauf des Manipulator program) takes place. Debugging and correcting require significant time and human resources, which results in high costs. Furthermore, threatening high damage, if an unrecognized error, for example, leads to an interruption of a series production. In addition, manipulator programs can be programmed using a general high-level language (eg Java). The program code is typically compiled and executed by a programming language bytecode interpreter (Java VM). However, the real-time capability of this kind of interpreter is limited, so the System time of the manipulator program and the manipulator system may differ. As a result, runtime errors can not be responded in real time. Furthermore, for example, the Java VM is typically not equipped for the special requirements of manipulator programming. In particular, among other things, the execution of the manipulator program from a certain point in the expiration of
Manipulatorprogramms (Programmeinstieg), das Springen an eine bestimmte Stelle im Ablauf des Manipulatorprogramms während der Ausführung des  Manipulator program (program entry), the jumping to a certain point in the flow of the manipulator program during the execution of the
Manipulatorprogramms sowie das Anhalten und Fortsetzen an einer definierten Stelle im Ablauf des Manipulatorprogramms nicht unterstützt. Dadurch wird die Behebung von Fehlern erschwert. Manipulator program as well as stopping and resuming at a defined point in the flow of the manipulator program is not supported. This makes it difficult to correct errors.
Um die Fehlerwahrscheinlichkeit zu reduzieren, haben Automobilhersteller und Systemintegratoren eigene Richtlinien (sog. Coding-Standards, z.B.„VW-Standard", „Daimler-Standard", etc.) auf Basis der spezifischen (Manipulator-) In order to reduce the likelihood of errors, automobile manufacturers and system integrators have their own guidelines (so-called coding standards, for example "VW standard", "Daimler standard", etc.) on the basis of the specific (manipulator)
Programmiersprache entwickelt. Beispielsweise geben derartige Richtlinien vor, für typische Applikationsfehler systematisch eine Fehlerbehandlung/-reaktion zu hinterlegen. Somit wird dem Programmierer vorgegeben, wie Programmcode geschrieben werden soll. Programming language developed. For example, such guidelines specify to systematically deposit an error handling / response for typical application errors. Thus, the programmer is given as program code to be written.
Derartige Fehlerbehandlungen oder Fehlerreaktionen sollen nach Behebung des Fehlers erlauben, das Manipulatorprogramm wie geplant fortsetzen. Dazu verwendete Befehlsstrukturen, wie„GOTO"-Befehle,„IF-ELSE"-Befehle oder andere Sprung- und Verzweigungsbefehle sind jedoch wenig übersichtlich, was zu einer Erhöhung der Komplexität der Manipulatorprogramme führt. Weiterhin muss bei der Such error handling or error responses should allow, after correcting the error, to continue the manipulator program as planned. Command structures used for this purpose, such as "GOTO" commands, "IF-ELSE" commands or other branch and branch commands, however, are not very clear, which leads to an increase in the complexity of the manipulator programs. Furthermore, at the
herkömmlichen Fehlerbehandlung oft vorausgesetzt werden, dass jede durchgeführte Operation des Manipulatorprogramms für sich und in der richtigen Reihenfolge zurückgesetzt werden muss. Dies ist mittels herkömmlicher Interpreter, wie Java VM nicht automatisiert möglich. Insbesondere irreversible Prozesse sind für eine automatisierte Rückabwicklung der einzelnen Operationen nicht geeignet. conventional error handling is often presupposed that any performed operation of the manipulator program must be reset by itself and in the correct order. This is not possible by means of conventional interpreters, such as Java VM. In particular, irreversible processes are not suitable for automated reverse processing of the individual operations.
Aufgabe der vorliegenden Erfindung ist es ein Verfahren und ein Computerprogramm sowie eine Vorrichtung bereitzustellen, die die oben beschriebenen Nachteile zumindest teilweise ausräumen können. Ausfuhrliche Beschreibung der Erfindung The object of the present invention is to provide a method and a computer program as well as a device which can at least partially eliminate the disadvantages described above. Detailed description of the invention
Die Aufgabe der Erfindung wird durch ein Verfahren zur Korrektur von Fehlern eines Manipulatorsystems nach Anspruch l, ein Computerprogramm nach Anspruch 14 sowie eine Vorrichtung gemäß Anspruch 16 gelöst. Insbesondere wird die Aufgabe durch ein Verfahren zur Korrektur von Fehlern eines Manipulatorsystems gelöst, wobei das Manipulatorsystem zumindest einen The object of the invention is achieved by a method for correcting errors of a manipulator system according to claim 1, a computer program according to claim 14 and a device according to claim 16. In particular, the object is achieved by a method for correcting errors of a manipulator system, wherein the manipulator system at least one
Manipulator umfasst und mittels zumindest eines Manipulatorprogramms gesteuert wird, wobei das Verfahren die folgenden Verfahrensschritte umfasst: Manipulator and is controlled by means of at least one manipulator program, the method comprising the following steps:
• Bereitstellen zumindest eines Manipulatorprogramms, wobei das Providing at least one manipulator program, wherein the
Manipulatorprogramm mehrere Operationen umfasst;  Manipulator program includes multiple operations;
• Zusammenfassen von zumindest zwei der Operationen zu zumindest einer  • Grouping at least two of the operations into at least one
Operationsstruktur;  Operation structure;
• Definieren von zumindest einem Aufsetzpunkt, wobei der zumindest eine  Defining at least one touchdown point, wherein the at least one
Aufsetzpunkt den Anfang und/ oder das Ende einer Operationsstruktur bildet; · Bereitstellen zumindest einer Reaktionsstruktur und Zuordnen der  Touchdown point forms the beginning and / or end of an operation structure; Provide at least one reaction structure and assign the
Reaktionsstruktur zu einer Operationsstruktur, wobei die zumindest eine  Reaction structure to an operation structure, wherein the at least one
Reaktionsstruktur Reaktionsoperationen, beinhaltet, bei deren Ausführung das Manipulatorprogramm das Manipulatorsystem so steuert, dass es in einen  Reaction structure Reaction operations, in whose execution the manipulator program controls the manipulator system so that it into a
Systemzustand geführt wird, der einem Aufsetzpunkt entspricht;  System state is performed, which corresponds to a touchdown point;
· Ausführen des Manipulatorprogramms und wenn ein Fehler auftritt, · Execute the manipulator program and if an error occurs
• Ausführen der Reaktionsstruktur, sodass das Manipulatorsystem in einen  • Execute the reaction structure so that the manipulator system into a
Systemzustand überführt wird, der einem Aufsetzpunkt entspricht.  System state that corresponds to a touchdown point.
Manipulatorprogramme dienen der Steuerung des Manipulatorsystems. Beispielsweise kann ein Manipulatorprogramm Bewegungen und Arbeitsschritte eines Manipulators des Manipulatorsystems vorgeben. So ist beispielsweise möglich, dass ein Manipulator entsprechend einer definierten Bewegungsbahn bewegt wird, um ein Objekt zu greifen. Anschließend kann das Objekt entsprechend einer zweiten definierten Bewegungsbahn bewegt werden und an einer anderen Position abgelegt werden. Ebenso können Manipulatorprogramme Anweisungen umfassen, die das Montieren von Teilen, das Schweißen, das Niet-Setzen oder andere Aufgaben betreffen. Manipulator programs are used to control the manipulator system. For example, a manipulator program can specify movements and working steps of a manipulator of the manipulator system. For example, it is possible for a manipulator to be moved according to a defined trajectory in order to grasp an object. Subsequently, the object can be moved according to a second defined trajectory and stored at another position. Likewise, manipulator programs may include instructions related to mounting parts, welding, riveting, or other tasks.
Das Manipulatorprogramm weist dazu mehrere Operationen auf, wobei mehrere Operationen zu einem Prozess aneinander gereiht werden, um das Manipulatorsystem zu steuern und beispielsweise die oben genannten Aufgaben auszuführen. Dabei werden zumindest zwei der Operationen zu einer Operationsstruktur The manipulator program for this purpose has a plurality of operations, wherein a plurality of operations are sequenced to a process to control the manipulator system and, for example, to perform the above tasks. there At least two of the operations become an operational structure
zusammengefasst. Typischerweise werden zusammengehörige Operationen, wie etwa voneinander abhängige Operationen oder funktional zusammenstehende Operationen zu einer Operationsstruktur zusammengefasst. Damit kann das Manipulatorprogramm übersichtlicher gestaltet und besser beherrscht werden. summarized. Typically, related operations, such as interdependent operations or functionally related operations, are combined into one operation structure. This makes the manipulator program clearer and easier to master.
Werden mehrere Operationsstrukturen in Folge ausgeführt, so ist jeweils die vorhergehende Operationsstruktur abgeschlossen. Jedoch kann eine einzelne erste Operation eine zweite Operation starten, die über die Ausführungszeit der ersten Operation hinausreicht. In diesem Fall muss der Kontext der Operationsstruktur erhalten bleiben, bis die letzte Operation der Operationsstruktur vollständig ausgeführt ist. Somit beeinflussen sich die Operationsstrukturen nicht gegenseitig. Folglich führen parallel ausgeführte Operationsstrukturen zu gleichen Ergebnissen wie seriell ausgeführte Operationsstrukturen. Weiterhin ist eine Zustandsänderung einer durchgeführten Operationsstruktur dauerhaft. If several operation structures are executed in succession, the previous operation structure is completed in each case. However, a single first operation may start a second operation that extends beyond the execution time of the first operation. In this case, the context of the operation structure must be preserved until the last operation of the operation structure is completed. Thus, the surgical structures do not affect each other. Consequently, parallel operation structures lead to the same results as serially executed operation structures. Furthermore, a change of state of a performed operation structure is permanent.
Der Anfang und/oder das Ende einer Operationsstruktur können einen Aufsetzpunkt bilden. Von einem Aufsetzpunkt aus kann das Manipulatorprogramm unabhängig von seiner Ausführungshistorie fortgesetzt werden. Dabei werden immer die gleichen Ergebnisse erzielt. The beginning and / or the end of an operation structure can form a touchdown point. From a touchdown point, the manipulator program can be continued regardless of its execution history. The same results are always achieved.
Tritt nun ein Fehler auf, der auf einem Programmierfehler beruht, oder in einem unvorhergesehenen Ereignis begründet ist, so kann mittels einer Reaktionsstruktur ein solcher Aufsetzpunkt erreicht werden und das Manipulatorprogramm von diesem fortgesetzt werden. Dabei muss der Aufsetzpunkt nicht dem zuletzt durchlaufenen Aufsetzpunkt entsprechen. Ebenso kann von einem Aufsetzpunkt auch eine andere Operationsstruktur ausgeführt werden, als diejenige in der der Fehler aufgetreten ist. Somit kann ein begonnener Prozess korrigiert werden oder mit einem neuen Plan fortgesetzt werden, ohne das Manipulatorprogramm abbrechen oder neu starten zu müssen. If an error occurs that is based on a programming error or if it is due to an unforeseen event, then by means of a reaction structure such an attachment point can be reached and the manipulator program can continue from this. The touchdown point does not have to correspond to the last touchdown point. Likewise, from a touchdown point, a different operation structure can be executed, as the one in which the error has occurred. Thus, a started process can be corrected or continued with a new plan without having to abort or restart the manipulator program.
Weiterhin wird durch die direkte Zuordnung von Operationsstruktur und Furthermore, by the direct allocation of operational structure and
Reaktionsstruktur ein übersichtliches Manipulatorprogramm ermöglicht, wodurch Fehler bei der Programmierung reduziert werden können. Weiterhin wird die Reaction structure allows a clear manipulator program, which errors in programming can be reduced. Furthermore, the
Fehlerbehebung vereinfacht. Vorzugsweise ist die Operationsstruktur konsistent, so dass die Integritätsbedingungen des Manipulatorsystem an einem Aufsetzpunkt und/oder vor und/oder nach dem Ausführen der Operationsstruktur eingehalten werden. Somit ist sichergestellt, dass ein Manipulatorprogramm unabhängig von seiner Ausführungshistorie von einem Troubleshooting simplified. Preferably, the operation structure is consistent, so that the integrity conditions of the manipulator system are met at a touchdown point and / or before and / or after executing the operation structure. This ensures that a manipulator program, regardless of its execution history of a
Aufsetzpunkt fortgesetzt werden kann. Dabei werden immer die gleichen Ergebnisse erzielt. Touchdown point can be continued. The same results are always achieved.
Tritt während der Ausführung des Manipulatorprogramms ein Fehler auf, welcher beispielsweise durch einen Programmierfehler oder durch ein unvorhergesehenes Ereignis im Manipulatorsystem hervorgerufen wird, so kann eine Reaktionsstruktur ausgeführt werden, die das Manipulatorsystem in einen Systemzustand überführt der einem Aufsetzpunkt entspricht. Dabei wird nicht nur die Software„zurückgespult", sondern das Manipulatorsystem tatsächlich in einen Systemzustand überführt, der dem Aufsetzpunkt entspricht. If an error occurs during the execution of the manipulator program, which is caused, for example, by a programming error or by an unforeseen event in the manipulator system, then a reaction structure can be carried out which brings the manipulator system into a system state corresponding to a touchdown point. Not only is the software "rewound", but the manipulator system is actually transferred to a system state that corresponds to the touchdown point.
Die Reaktionsstruktur umfasst vorzugsweise Reaktionsoperationen, welche einzelne Operationen rückgängig machen können, falls die betreffende Operationsstruktur einen reversiblen Prozess beschreibt. Beschreibt die betreffende Operationsstruktur einen irreversiblen Prozess, so können in der Reaktionsstruktur Reaktionsoperationen enthalten sein, die ein Fortsetzen mit einem geänderten Plan ermöglichen, d.h. die von einer reinen Rückabwicklung ausgeführter Operationen abweichen. The reaction structure preferably comprises reaction operations which can undo individual operations if the respective operation structure describes a reversible process. If the respective operation structure describes an irreversible process, then reaction operations may be contained in the reaction structure which allow it to continue with a modified plan, i. which differ from a pure reverse execution performed operations.
Beispielsweise kann sich beim Setzen eines Nietes mittels eines Manipulators der Niet in einer Bohrung verklemmen. In diesem Fall ist das korrekte Nieten nicht möglich. Erkennt das Manipulatorsystem diesen Fehler, so kann die Operationsstruktur „Nieten" abgebrochen werden und eine zugeordnete Reaktionsstruktur eingeleitet werden. Eine mögliche Reaktionsstruktur könnte in diesem Beispiel das Öffnen des Nietwerkzeugs umfassen. Anschließend könnte ein Herausziehen des verklemmten Nietes aus der Bohrung kommandiert werden. Schließlich könnte ein neuer Niet aufgenommen werden, und die Operationsstruktur„Nieten" erneut durchgeführt werden. For example, when placing a rivet by means of a manipulator, the rivet may jam in a bore. In this case correct riveting is not possible. If the manipulator system detects this error, the operation structure "riveting" can be broken off and an associated reaction structure initiated.A possible reaction structure in this example could include opening the riveting tool and then commanding the jammed rivet out of the hole a new rivet will be taken, and the operations structure "riveting" will be performed again.
Weitere Reaktionsstrukturen sind ebenfalls möglich. Beispielsweise kann abhängig von der Anzahl der fehlgeschlagenen Versuche, eine Operationsstruktur auszuführen, eine Reaktionsstruktur ein anderes Vorgehen kommandieren. Um im vorangegangenen Beispiel zu bleiben, könnte nach dem wiederholten Durchführen der Other reaction structures are also possible. For example, depending on the number of failed attempts to execute an operation structure, a response structure may command a different approach. To stay in the previous example, after repeatedly performing the
Operationsstruktur„Nieten", welches zum gleichen Fehler„Verklemmter Niet" führt, ein anderes Vorgehen kommandiert werden und ein Bediener gerufen werden. Dieser könnte dazu aufgefordert werden, den verklemmten Niet manuell zu entfernen. Operation Structure "Riveting" which leads to the same error "Jammed Rivet" another procedure can be commanded and an operator called. This could be prompted to manually remove the jammed rivet.
Eine Operationsstruktur und eine zugeordnete Reaktionsstruktur sind vorzugsweise in einem gemeinsamen Semantikbaustein implementiert. Somit ist im An operation structure and an associated reaction structure are preferably implemented in a common semantic module. Thus, in the
Manipulatorprogramm eine feste Zuordnung von Operationsstruktur und Manipulator program a fixed assignment of operations structure and
Reaktionsstruktur sichergestellt, wodurch die Komplexität reduziert wird. Reaction structure ensured, whereby the complexity is reduced.
Eine Reaktionsstruktur kann neben dem Rückgängig-Machen einer Operationsstruktur auch das Abbrechen der Operationsstruktur und/oder das Fortsetzen des In addition to undoing an operation structure, a reaction structure can also cancel the operation structure and / or continue the operation
Manipulatorprogramms von einem anderen Aufsetzpunkt kommandieren. Command manipulator program from another touchdown point.
Vorzugsweise ist der Systemzustand des Manipulatorsystem an einem Aufsetzpunkt und/oder vor und/oder nach dem Ausführen einer Operationsstruktur nicht in allen Systemparametern konsistent. Jedoch muss eine Konsistenz in den wesentlichen Parametern geben sein, so dass ein Fortsetzen oder Wiederholen des Preferably, the system state of the manipulator system at a touchdown point and / or before and / or after executing an operation structure is not consistent in all system parameters. However, there must be consistency in the essential parameters, so that resuming or repeating the
Manipulatorprogramms von diesem Aufsetzpunkt aus möglich ist. Derartige nicht konsistente Systemparameter können beispielsweise aus irreversiblen Prozessen herrühren. Wird beispielsweise ein Schweißprozess mittels des Manipulator program is possible from this Aufsetzpunkt. Such non-consistent system parameters may be due, for example, to irreversible processes. For example, if a welding process using the
Manipulatorprogramms gesteuert, so ist der Parameter„Schweißnahtlänge" Controlled manipulator program, so the parameter "weld length"
irreversibel, da beispielsweise ein bestimmter Teil der Schweißnaht bis zum Auftreten des Fehlers bereits geschweißt wurde. Tritt nun ein Fehler auf, kann die irreversible because, for example, a certain part of the weld has already been welded until the fault has occurred. If an error occurs, the
Reaktionsstruktur nicht den gleichen Systemzustand herstellen, wie vor der Reaction structure does not produce the same system state as before
Ausführung des Schweißprozesses. Daher muss in diesem Fall die Reaktionsstruktur eine entsprechende Reaktionsoperation bereitstellen, welche es ermöglicht den ursächlichen Fehler des Schweißprozesses zu beheben (z. B. Reinigung des  Execution of the welding process. Therefore, in this case, the reaction structure must provide a corresponding reaction operation, which makes it possible to eliminate the causative error of the welding process (eg cleaning of the welding process)
Schweißwerkzeugs) und anschließend an der Stelle der Schweißnaht fortfahren an der die Schweißung unterbrochen wurde. Ebenso ist es möglich, dass in diesem Fall die Reaktionsstruktur ein alternatives Vorgehen vorsieht, wonach die unterbrochene Schweißnaht nicht fertig geschweißt, sondern in einem händischen Arbeitsschritt nachbearbeitet werden soll. Das Manipulatorprogramm kann in diesem Fall an anderer Stelle fortgesetzt werden. Vorzugsweise wird die Ausführung einer Operationsstruktur beim Auftreten einesWelding tool) and then continue at the point of the weld at which the weld was interrupted. It is also possible that in this case, the reaction structure provides an alternative approach, after which the interrupted weld is not finished welded, but to be reworked in a manual step. The manipulator program can be continued elsewhere in this case. Preferably, the execution of an operation structure upon the occurrence of a
Fehlers unterbrochen und im Anschluss mit dem Ausführen einer Reaktionsstruktur fortgefahren. Somit kann eine Operationsstruktur des Manipulatorprogramms unmittelbar nach dem Auftreten eines Fehlers wiederholt oder das Error interrupted and then continued with the execution of a reaction structure. Thus, an operation structure of the manipulator program can be repeated immediately after the occurrence of an error or
Manipulatorprogramm von einem anderen Aufsetzpunkt fortgesetzt werden. Dies ermöglicht es Stillstandzeiten des Manipulatorsystems zu minimieren und Manipulator program continue from another touchdown point. This allows to minimize downtime of the manipulator system and
vorzugsweise automatisiert, d. h. ohne ein Eingreifen eines Bedieners, fortzufahren. Somit kann die Produktivität des Manipulatorsystems erhöht werden. preferably automated, d. H. without an operator intervention, continue. Thus, the productivity of the manipulator system can be increased.
Insbesondere bevorzugt ist nicht jeder Operation einer Operationsstruktur eine eigene Reaktionsoperation einer entsprechenden Reaktionsstruktur zugeordnet. Ebenso muss nicht jeder Operationsstruktur eine eigene Reaktionsstruktur zugeordnet sein. Particularly preferably, not every operation of an operation structure is assigned its own reaction operation to a corresponding reaction structure. Likewise, not every operation structure must have its own reaction structure.
Vorzugsweise, ist einer Operationsstruktur eine Reaktionsstruktur zugeordnet, wobei die Reaktionsstruktur bevorzugt zumindest einer weiteren Operationsstruktur zugeordnet ist. Somit kann mit einer reduzierten Anzahl von Reaktionsstrukturen auf Fehler unterschiedlicher Operationsstrukturen reagiert werden. Bevorzugt ist eine Reaktionsstruktur einer Mehrzahl von Operationsstrukturen zugeordnet, wenn die Operationsstrukturen einen gemeinsamen Aufsetzpunkt aufweisen. Preferably, an operation structure is assigned a reaction structure, wherein the reaction structure is preferably assigned to at least one further operation structure. Thus, with a reduced number of reaction structures, it is possible to react to errors of different operational structures. Preferably, a reaction structure is assigned to a plurality of operation structures if the operation structures have a common touchdown point.
Vorzugsweise beinhaltet die Reaktionsstruktur zumindest eine Reaktionsoperation deren Ausführung das Manipulatorsystem in einen Systemzustand führt, der dem Aufsetzpunkt entspricht, welcher Aufsetzpunkt den Anfang der Operationsstruktur bildet, in der der Fehler aufgetreten ist. Derartige Reaktionsstrukturen ermöglichen das „Zurückspulen" des Manipulatorsystems. Somit kann die Operationsstruktur, in der der Fehler aufgetreten ist, wiederholt werden. Das Zurückführen in den Aufsetzpunkt muss dabei nicht einer direkten Invertierung der Operationsstruktur entsprechen, sondern kann auf einem alternativen Weg ausgeführt werden. Soll beispielsweise eine Bewegung eines Manipulators rückgängig gemacht werden und ist der direkte Rückweg versperrt, so kann der Manipulator auf einer alternativen Bewegungsbahn an den Ausgangspunkt der Bewegung zurückgeführt werden. Preferably, the reaction structure includes at least one reaction operation whose execution leads the manipulator system to a system state corresponding to the touchdown point, which touchdown point forms the beginning of the operation structure in which the failure occurred. Such reaction structures allow the manipulator system to be "rewound." Thus, the operation structure in which the error occurred can be repeated, and the return to the touchdown point does not have to correspond to a direct inversion of the operation structure, but can be performed in an alternative way For example, a movement of a manipulator are reversed and the direct return path is blocked, so the manipulator can be traced on an alternative trajectory to the starting point of the movement.
Vorzugsweise macht die zumindest eine Reaktionsoperation eine Operation der Operationsstruktur rückgängig. Somit können einzelne Operationen unmittelbar rückgängig gemacht werden. Dies ist insbesondere bei reversiblen Prozessen Preferably, the at least one reaction operation undoes an operation of the operation structure. Thus, individual operations can be reversed immediately. This is especially true for reversible processes
vorteilhaft. So kann beispielsweise eine vom Manipulator durchgeführte Bewegung unmittelbar zurückgefahren werden. advantageous. For example, a movement performed by the manipulator can be immediately reduced.
Vorzugsweise wird eine Operation des Manipulatorprogramms durch zumindest einen Parameter definiert, wobei der zumindest eine Parameter durch eine Preferably, an operation of the manipulator program is defined by at least one parameter, wherein the at least one parameter is defined by a
Reaktionsoperation der Reaktionsstruktur veränderbar ist. Ein Parameter kann ein nummerischer Parameter, wie beispielsweise eine Manipulatorgeschwindigkeit, oder ein Anweisungsparameter sein, der die Abfolge der Operationen einer Reaction operation of the reaction structure is changeable. A parameter may be a numerical parameter, such as a manipulator speed, or an instruction parameter representing the sequence of operations of a
Operationsstruktur oder die Auswahl der nachfolgenden Operationsstruktur beeinflusst. Somit kann eine Reaktionsoperation bewirken, dass die Operationsstruktur mit veränderten Parametern (z. B. mit langsamerer Manipulatorgeschwindigkeit) fortgesetzt oder mit veränderten Parametern wiederholt wird. Ebenso ist es möglich eine alternative Verzweigung des Manipulatorprogramms zu erzielen. Vorzugsweise beinhaltet die Reaktionsstruktur zumindest eine Reaktionsoperation deren Ausführung die unterbrochene Operationsstruktur mit zumindest einem geänderten Parameter fortsetzt oder die unterbrochene Operationsstruktur erneut ausführt. Somit ist es möglich Operationsstrukturen, in denen ein Fehler aufgetreten ist, erneut oder, falls erforderlich, mit geänderten, vorzugsweise optimierten Operation structure or the selection of the subsequent operation structure affected. Thus, a response operation may cause the operation structure to continue with changed parameters (eg, slower manipulator speed) or repeat with changed parameters. It is also possible to achieve an alternative branching of the manipulator program. Preferably, the reaction structure includes at least one reaction operation whose execution continues the interrupted operation structure with at least one changed parameter or executes the interrupted operation structure again. Thus, it is possible to have operational structures in which an error has occurred again or, if necessary, with changed, preferably optimized ones
Parametern auszuführen. To execute parameters.
Vorzugsweise beinhaltet die Reaktionsstruktur zumindest eine Reaktionsoperation, deren Ausführung die unterbrochene Operationsstruktur solange unterbricht bis eine Bedienereingabe erfolgt ist. Dies ermöglicht es, falls der aufgetretene Fehler nicht automatisch von dem Manipulatorsystem behoben werden kann, das Eingreifen eines Bedieners anzufordern. Beispielsweise kann der Bediener dazu aufgefordert werden einen bestimmten Systemzustand zu überprüfen, fehlerhafte Teile oder Werkstücke aus dem Manipulatorsystem zu entfernen oder auszutauschen und/oder dergleichen. The reaction structure preferably includes at least one reaction operation whose execution interrupts the interrupted operation structure until operator input has taken place. This makes it possible, if the occurred error can not be corrected automatically by the manipulator system, to request the intervention of an operator. For example, the operator may be requested to check a certain system state, to remove or replace defective parts or workpieces from the manipulator system, and / or the like.
Bestätigt der Bediener dem Manipulatorsystem ein erfolgreiches Ausführen der Aufgabe, so kann mit der Reaktionsstruktur oder einer Operationsstruktur fortgesetzt werden. If the operator confirms to the manipulator system a successful execution of the task, it is possible to continue with the reaction structure or an operation structure.
Vorzugsweise werden, abhängig von der Art des aufgetretenen Fehlers, Preferably, depending on the type of error that has occurred,
unterschiedliche Reaktionsoperationen der Reaktionsstruktur ausgeführt. Dies ist vorteilhaft, da so individuell auf unterschiedliche Fehlertypen reagiert werden kann. Vorzugsweise werden in Abhängigkeit des aufgetretenen Fehlers unterschiedliche Reaktionsstrukturen ausgeführt. Dazu sind einer Operationsstruktur vorzugsweise mehrere Reaktionsstrukturen zugeordnet, die in Abhängigkeit des aufgetretenen Fehlers ausgeführt werden. carried out different reaction operations of the reaction structure. This is advantageous because it allows you to respond individually to different types of errors. Preferably, different reaction structures are performed depending on the error that has occurred. For this purpose, an operational structure is preferably assigned a plurality of reaction structures, which are executed as a function of the error that has occurred.
Wird beispielsweise eine Operationsstruktur abgebrochen, da ein For example, if an operation structure is aborted as a
Sicherheitsmechanismus des Manipulatorsystems eingreift, so kann möglicherweise die Operationsstruktur einfach wiederholt werden, wenn der Grund für das Eingreifen der Sicherheitseinrichtung ein vorübergehender war. Andererseits kann, falls ein Fehler auftritt, der nicht automatisiert behoben werden kann, ein Bediener If the security mechanism of the manipulator system intervenes, then the operation structure may simply be repeated if the reason for the intervention of the security device was a temporary one. On the other hand, if an error occurs that can not be remedied automatically, an operator may
hinzugerufen werden. Ebenso ist es möglich, dass ein Fehler ein Fortsetzen an einem anderen Aufsetzpunkt des Manipulatorprogramms erfordert. Beispielsweise kann eine Operationsstruktur übersprungen werden und das Manipulatorprogramm an anderer Stelle fortgesetzt werden (siehe hierzu obiges Beispiel, wonach eine unterbrochene Schweißnaht nicht fertig gestellt werden soll). Somit kann einer fehlerhaft ausgeführten ' Operation einer Operationsstruktur und/oder einer fehlerhafte ausgeführten be summoned. It is also possible that an error requires continuing at another touchdown point of the manipulator program. For example, a Skipping operation structure and continue the manipulator program elsewhere (see above example, according to which a broken weld is not finished). Thus, an erroneously executed operation of an operation structure and / or an erroneous executed
Operationsstruktur eine entsprechende Reaktionsstruktur des Manipulatorprogramms folgen. Dies ermöglicht eine fehlerabhängige, differenzierte Fehlerbehebung und ein Fortsetzen des Manipulatorprogramms von einem geeigneten Aufsetzpunkt aus.  Operations structure follow a corresponding reaction structure of the manipulator program. This allows error-dependent, differential error correction and continuation of the manipulator program from a suitable touchdown point.
Weiterhin können vorzugsweise abhängig vom aufgetretenen Fehler Parameter unterschiedlich geändert werden. Beispielsweise kann ein Wiederholen einer Furthermore, parameters can preferably be changed differently depending on the error that has occurred. For example, repeating a
Operationsstruktur mit reduzierter Geschwindigkeit des Manipulators durchgeführt werden, wenn ein erster Fehler auftritt oder mit einer veränderten Kraftschwelle einer Kraftüberwachung des Manipulators, wenn ein zweiter Fehler auftritt. Andere veränderte Parameter sind ebenfalls denkbar.  Operation structure with reduced speed of the manipulator are performed when a first error occurs or with a changed force threshold of force monitoring of the manipulator when a second error occurs. Other changed parameters are also conceivable.
Vorzugsweise ist die zumindest eine Operationsstruktur in einem Aufsetzpunkt mit zumindest einer weiteren Operation und/oder Operationsstruktur verknüpft, wobei nach dem Erreichen des Aufsetzpunktes eine der verknüpften Operationen und/oder Operationsstrukturen ausgeführt wird. Dabei kann der Aufsetzpunkt über eine Preferably, the at least one operation structure is linked in a touchdown point with at least one further operation and / or operation structure, wherein after reaching the touchdown point, one of the linked operations and / or operation structures is executed. In this case, the touchdown on a
Operationsstruktur (d. h. vorwärts) erreicht oder über eine Reaktionsstruktur (d. h. rückwärts) erreicht werden. Eine Verknüpfung mehrerer Operationsstrukturen mit einem Aufsetzpunkt ermöglicht es unterschiedliche Programmabläufe durch die Verzweigung des Manipulatorprogramms zu implementieren. Somit kann nach dem Erreichen eines Aufsetzpunkts mit unterschiedlichen  Operation structure (i.e., forward) or achieved via a reaction structure (i.e., backward). A combination of several operation structures with a touchdown point makes it possible to implement different program sequences by the branching of the manipulator program. Thus, after reaching a touchdown point with different
Operationsstrukturen/Operationen fortgefahren werden. Dies ermöglicht eine flexible Fehlerkorrektur. Ebenso kann eine Operationsstruktur vorzugsweise, abhängig vom aufgetretenen Fehler, mit geänderten Parametern ausgeführt werden.  Operations structures / operations are continued. This allows flexible error correction. Likewise, an operation structure may preferably be executed with changed parameters, depending on the error that has occurred.
Vorzugsweise ist ein Parameter ein nummerischer Parameter oder ein Preferably, a parameter is a numerical parameter or a
Anweisungsparameter. Nummerische Parameter sind Parameter, die in Zahlenwerten ausgedrückt werden und physikalischen Größen entsprechen. Diese sind beispielsweise Geschwindigkeiten des Manipulators, Kraftschwellen, Momentschwellen, Wartezeiten und dergleichen. Anweisungsparameter beeinflussen den Ablauf des  Statement parameters. Numeric parameters are parameters that are expressed in numerical values and correspond to physical quantities. These are, for example, speeds of the manipulator, force thresholds, momentary thresholds, waiting times and the like. Instruction parameters influence the course of the
Manipulatorprogramms und geben beispielsweise die Ausführungsreihenfolge der Operationsstrukturen oder einzelner Operationen vor.  Manipulator program and specify, for example, the execution order of the operation structures or individual operations.
Vorzugsweise beinhaltet das Manipulatorprogramm Echtzeit-Operationen und Preferably, the manipulator program includes real-time operations and
Echtzeit-Reaktionsoperationen sowie Nicht-Echtzeit-Operationen und Nicht-Echtzeit- Reaktionsoperationen, wobei vor der Ausführung einer Echtzeit-Operation alle Real-time reaction operations as well as non-real-time operations and non-real-time Reaction operations, where before running a real-time operation all
Echtzeit- Reaktionsoperationen und Nicht-Echtzeit-Reaktionsoperationen beendet sind. Durch die Bestimmung von Nicht-Echtzeit- und Echtzeit-Operationen bzw. - Reaktionsoperationen, kann ein deterministisches Verhalten des Real-time reaction operations and non-real-time reaction operations are completed. By determining non real time and real time operations, a deterministic behavior of the
Manipulatorprogramms erzielt werden. Soll eine Echtzeit-Operation bzw. Manipulator program can be achieved. Should a real-time operation or
-Reaktionsoperation durchgeführt werden, so ist sichergestellt, dass die Zeit des Manipulatorprogramms und die tatsächliche Systemzeit übereinstimmen.  Reaction operation, it is ensured that the time of the manipulator program and the actual system time match.
Werden hingegen Nicht-Echtzeit-Operationen ausgeführt, so können die Zeit des Manipulatorprogramms und die tatsächliche Systemzeit voneinander abweichen. Somit können beispielsweise Nicht-Echtzeit-Operationen bzw. -Reaktionsoperationen im Hintergrund ablaufen. On the other hand, if non-real-time operations are executed, the time of the manipulator program and the actual system time may differ. Thus, for example, non-real-time operations or responses may be in the background.
Die Aufgabe wird weiterhin gelöst durch ein Computerprogramm, aufweisend The object is further achieved by a computer program, comprising
Programmbefehle die, wenn sie auf einem Computer und/oder Mikrokontroller geladen werden, den Computer und/oder den Mikrokontroller dazu veranlassen, das beschriebene Verfahren auszuführen. Derartige Computerprogramme können auf Vorrichtungen geladen werden, die dazu eingerichtet sind Manipulatorsysteme zu steuern. Vorzugsweise sind eine Operationsstruktur und eine zugeordnete Program instructions which, when loaded on a computer and / or microcontroller, cause the computer and / or microcontroller to perform the described method. Such computer programs may be loaded on devices adapted to control manipulator systems. Preferably, an operation structure and an associated
Reaktionsstruktur im selben Manipulatorprogrammteil implementiert und bilden vorzugsweise einen Semantikbaustein. Dadurch sind die Operationsstrukturen oder Reaktionsstrukturen eng miteinander verknüpft, so dass die Programmierung übersichtlich gestaltet werden kann. Weiterhin ist vorzugsweise das Reaction structure implemented in the same manipulator program part and preferably form a semantic module. As a result, the surgical structures or reaction structures are closely linked, so that the programming can be made clear. Furthermore, preferably
Computerprogramm als Teil des Manipulatorprogramms implementiert. Ebenfalls kann das Computerprogramm ein eigenständiges Computerprogramm sein. Computer program implemented as part of the manipulator program. Also, the computer program may be a stand-alone computer program.
Die Aufgabe wird weiter gelöst durch eine Vorrichtung, welche dazu eingerichtet ist das Computerprogramm auszuführen. Derartige Vorrichtungen sind beispielsweise The object is further achieved by a device which is set up to execute the computer program. Such devices are for example
Steuerungseinrichtungen des Manipulatorsystems. Control devices of the manipulator system.
Beschreibung der Figuren Description of the figures
Im Folgenden wird die Erfindung unter Bezugnahme auf die Figuren 1 bis 5 detailliert beschrieben. Dabei zeigt Fig. 1 ein Verfahren zur Fehlerbehebung gemäß dem Stand der Technik; In the following, the invention will be described in detail with reference to FIGS. 1 to 5. 1 shows a method for troubleshooting according to the prior art;
Fig. 2 eine schematische Darstellung eines Semantikbausteins einer Fig. 2 is a schematic representation of a Semantikbausteins a
Operationsstruktur sowie einer Reaktionsstruktur; Fig. 3 eine schematische Darstellung einer Operationsstruktur sowie einer Operation structure and a reaction structure; Fig. 3 is a schematic representation of an operational structure and a
Reaktionsstruktur des Manipulatorprogramms;  Reaction structure of the manipulator program;
Fig. 4 eine schematische Darstellung eines Modells eines Manipulatorprogramms; und Fig. 5 eine schematische Darstellung einer Anwendung des Manipulatorprogramms. 4 shows a schematic representation of a model of a manipulator program; and FIG. 5 is a schematic representation of an application of the manipulator program.
Insbesondere zeigt Fig. l eine schematische Darstellung einer Fehlerbehandlung eines Manipulatorprogramms l gemäß einem bekannten Verfahren. Nach der Ausführung eines Prozessschrittes Si, S2, S3 wird überprüft ob der jeweilige Prozessschritt erfolgreich durchgeführt worden ist. Ist dies der Fall, kann mit folgenden Prozessschritt S2 fortgefahren werden. Tritt ein Fehler auf, so springt das Manipulatorprogramm zu einer Fehlerbehandlungsstruktur Fi, F2, F3, welche das Manipulatorprogramm beendet. Nach der Behebung des Fehlers muss das Manipulatorprogramm erneut gestartet werden. Diese Fehlerbehandlung ist unflexibel und daher nur bedingt für Manipulatorsysteme geeignet. Sollen mit herkömmlichen Verfahren auch komplizierte Fehlerfälle abgedeckt werden, so steigt die Komplexität des Manipulatorprogramms und somit die Fehlerwahrscheinlichkeit für etwaige Programmierfehler. In particular, FIG. 1 shows a schematic representation of an error handling of a manipulator program 1 according to a known method. After the execution of a process step Si, S2, S3 it is checked whether the respective process step has been carried out successfully. If this is the case, the following process step S2 can be continued. If an error occurs, the manipulator program jumps to an error handling structure Fi, F2, F3, which terminates the manipulator program. After the error has been corrected, the manipulator program must be restarted. This error handling is inflexible and therefore only partially suitable for manipulator systems. If complicated error cases are also to be covered with conventional methods, the complexity of the manipulator program and thus the probability of errors for possible programming errors increases.
Fig. 2 zeigt eine schematische Darstellung 2 eines Semantikbausteins eines FIG. 2 shows a schematic representation 2 of a semantic block of a
Computerprogramms zur Durchführung eines Verfahrens zur Korrektur von Fehlern in einem Manipulatorsystem. Dabei gliedert sich der Semantikbaustein 200 in eine Operationsstruktur 210 und in eine Reaktionsstruktur 220. Tritt während der Computer program for carrying out a method for correcting errors in a manipulator system. In this case, the semantic module 200 is divided into an operational structure 210 and a reaction structure 220. Occurs during the
Ausführung der Operationsstruktur 210 ein Fehler auf, so wird die Operationsstruktur 210 unterbrochen und mit der Reaktionsstruktur 220 fortgefahren.  If the operation structure 210 fails, the operation structure 210 is interrupted and the reaction structure 220 is continued.
Die Reaktionsstruktur 220 beinhaltet Reaktionsoperationen 221 bis 225. In einer ersten Reaktionsoperation 221 wird die Art des aufgetretenen Fehlers ermittelt und entschieden, mit welcher der Reaktionsoperationen 222-224 fortgefahren werden soll. Beispielsweise kann Reaktionsoperation 222 Anweisungen umfassen, die eine The reaction structure 220 includes reaction operations 221 to 225. In a first reaction operation 221, the type of failure that has occurred has been determined and a decision has been made as to which of the reaction operations 222-224 to continue. For example, reaction operation 222 may include instructions that include a
Fortführung der Operationsstruktur 210 mit einem geänderten Parametersatz kommandieren. Reaktionsoperation 223 kann beispielsweise Anweisungen umfassen, welche die Operationen der ausgeführten und unterbrochenen Operationsstruktur 210 zumindest teilweise rückgängig machen. Reaktionsoperation 224 kann eine Continuation of the operation structure 210 with a changed parameter set command. Reaction operation 223 may include, for example, instructions that at least partially undo the operations of the executed and interrupted operation structure 210. Reaction operation 224 may be a
Abbruchanweisung umfassen, so dass nicht mit Operationsstruktur 210 fortgefahren wird, sondern mit einer weiteren Operationsstruktur. Die Reaktionsoperation 225 umfasst eine Anweisung, welche den Aufsetzpunkt und die folgende Operationsstruktur festlegt, mit denen das Manipulatorprogramm fortgesetzt werden soll. Ein solcher Aufsetzpunkt kann beispielsweise zu Beginn der Abort instruction so that it is not continued with operation structure 210, but with a further operation structure. Reaction operation 225 includes an instruction that specifies the touchdown point and the subsequent operation structure with which the manipulator program should continue. Such a touchdown point, for example, at the beginning of
Operationsstruktur 210 definiert sein, so dass die Operationsstruktur 210 erneut ausgeführt werden kann. Die erneute Ausführung der Operationsstruktur 210 kann gegebenenfalls mit einem geänderten Parametersatz erfolgen. Ebenso können auch andere Aufsetzpunkte zur Fortsetzung des Manipulatorprogramms genutzt werden. Somit ist eine Verzweigung und sind vielfältige Reaktionen auf Fehler möglich. Da sowohl die Operationsstruktur als auch die Reaktionsstruktur im selben Operations structure 210 may be defined so that the operation structure 210 may be executed again. The renewed execution of the operation structure 210 can optionally take place with a changed parameter set. Likewise, other touchdown points can be used to continue the manipulator program. Thus, there is a branching and diverse responses to mistakes are possible. Since both the operation structure and the reaction structure in the same
Semantikbaustein implementiert sind, bleibt das Manipulatorprogramm übersichtlich und erlaubt eine individuelle Anpassung der Operationsstruktur und/oder der Semantikbaustein are implemented, the manipulator program remains clear and allows an individual adaptation of the operation structure and / or the
Reaktionsstruktur. Programmierfehler können somit schnell behoben werden und aufgrund der reduzierten Komplexität und erhöhten Übersichtlichkeit ist die Response structure. Programming errors can be fixed quickly and due to the reduced complexity and increased clarity is the
Wahrscheinlichkeit für das Entstehen von Programmierfehlern herabgesetzt. Likelihood of programming errors being degraded.
Fig. 3 zeigt eine schematische Darstellung einer Operationsstruktur 310 sowie einer Reaktionsstruktur 320. Die Operationsstruktur 310 umfasst mehrere Operationen Ol bis On. Diese Operationen werden vorzugsweise sequenziell ausgeführt, wie durch die geraden, durchgehend gezeichneten Pfeile angezeigt. Die Operationsstruktur 310 beginnt in einem ersten Aufsetzpunkt APi und endet in einem zweiten Aufsetzpunkt AP2. In den Aufsetzpunkten ist das Manipulatorsystem vorzugsweise konsistent. Somit kann die Operationsstruktur von einem Aufsetzpunkt unabhängig von der FIG. 3 shows a schematic representation of an operation structure 310 and a reaction structure 320. The operation structure 310 comprises a plurality of operations Ol to On. These operations are preferably performed sequentially, as indicated by the straight, solid arrows. The operation structure 310 starts at a first touchdown point APi and ends at a second touchdown point AP2. In the attachment points, the manipulator system is preferably consistent. Thus, the operation structure can be independent of a touchdown point
vorhergehenden Ausführungshistorie ausgeführt werden und liefert gleiche Ergebnisse. previous execution history and provides the same results.
Der Operationsstruktur 310 ist eine Reaktionsstruktur 320 zugeordnet, welche mehrere Reaktionsoperationen Ri bis Rn umfasst. Im dargestellten Fall wird, falls ein Fehler in einer Operation Ol bis On auftritt, mit einer entsprechenden Reaktionsoperation Ri bis Rn zunächst die betreffende Operation Ol bis On rückgängig gemacht. Ist dies erfolgreich, kann entschieden werden ob die Operation Ol bis On, in welcher der Fehler aufgetreten ist, erneut ausgeführt werden soll, oder ob mittels weiterer The operational structure 310 is assigned a reaction structure 320 which comprises a plurality of reaction operations Ri to Rn. In the illustrated case, if an error occurs in an operation Ol to On, with a corresponding reaction operation Ri to Rn, the relevant operation Ol to On is first undone. If this is successful, it can be decided whether the operation Ol to On, in which the error has occurred, should be executed again, or whether by means of further
Reaktionsoperationen Ri bis Rn weitere vorangegangene Operationen Ol bis On rückgängig gemacht werden sollen. Die Erfindung ist nicht auf die hierin gezeigte Ausführungsform beschränkt. Insbesondere können auch mehrere Operationen durch eine Reaktionsstruktur rückgängig gemacht werden, oder auch ein anderer Weg als das tatsächliche„Rückgängigmachen" einer Operation zu einem vorhergehenden Reaction operations Ri to Rn further previous operations Ol to On should be undone. The invention is not limited to the embodiment shown herein. In particular, several operations can be reversed by a reaction structure, or a different way than the actual "undo" operation to a previous one
Aufsetzpunkt beschritten werden. Fig. 4 zeigt ein schematische Model 4 eines Manipulatorprogramms, umfassend mehrere Operationen ΟΊ bis 0'2i sowie mehrere Reaktionsoperationen R'i bis R'30. Beginnend in Aufsetzpunkt AP5, kann die Operation ΟΊ ausgeführt werden. Der vorhergesehene Programmablauf ist durch gestrichelte Pfeile dargestellt. Das Aufsetzpunkt be trodden. 4 shows a schematic model 4 of a manipulator program comprising a plurality of operations ΟΊ to 0'2i and a plurality of reaction operations R'i to R'30. Starting at touchdown point AP5, the operation ΟΊ can be performed. The predicted program sequence is shown by dashed arrows. The
Manipulatorprogramm führt anschließend die Operation 0'2 aus. Hier besteht dieManipulator program then performs the operation 0'2. Here is the
Möglichkeit der Verzweigung zu einer der Operationen Ο'3-O's. Im gezeigten Beispiel führt der Programmablauf zu Operationsstruktur C3. Anschließend wird mit Possibility of branching to one of the operations Ο'3-O's. In the example shown, the program flow leads to operation structure C3. Subsequently, with
Operationsstruktur O'io fortgefahren, der der Aufsetzpunkt AP7 zugeordnet ist. In der folgenden Operationsstruktur werden nacheinander die Operationen ΟΊι, ΟΊ3, ΟΊ4 und ΟΊ6 ausgeführt, wobei bei der Ausführung der Operation ΟΊ6 ein Fehler 400 auftritt. Die fehlerhafte Operation ΟΊ6 wird abgebrochen und mit der Operations structure O'io, which is assigned the touchdown point AP7. In the following operation structure, the operations ΟΊι, ΟΊ3, ΟΊ4 and ΟΊ6 are successively executed, and an error 400 occurs in the execution of the operation ΟΊ6. The erroneous operation ΟΊ6 is aborted and with the
Reaktionsoperation R'i fortgefahren. Reaction operation R'i continued.
Die Reaktionsoperation R'i stellt zwei mögliche Vorgehensweisen bereit. Die erste führt zu Reaktionsoperation R'io die zweite zu Reaktionsoperation R'20, welche zu The reaction operation R'i provides two possible approaches. The first leads to reaction operation R'io the second to reaction operation R'20, which increases
Aufsetzpunkt AP7 führt. Von Aufsetzpunkt AP7 kann mit Operation O'io fortgefahren oder über die Reaktionsoperation R'30 zu Arbeitspunkt AP6, welcher der Operation 0*2 zugeordnet ist, zurückgekehrt werden. Somit können unterschiedliche Operationen mit unterschiedlichen Reaktionsoperationen rückgängig gemacht werden oder, falls Prozesse irreversibel sind, auch anderweitige Pfade durch das Manipulatorprogramm gewählt werden. Ein Pfad bezeichnet die Abfolge von Operationen und/oder Touchdown point AP7 leads. From touchdown point AP7, operation O'io can be continued or returned via operation R'30 to workpoint AP6 associated with operation 0 * 2. Thus, different operations with different reaction operations can be reversed or, if processes are irreversible, other paths can be chosen by the manipulator program. A path denotes the sequence of operations and / or
Reaktionsoperationen. Response operations.
Fig. 5 zeigt ein exemplarisches Beispiel für eine Anwendung des Verfahrens. Gemäß der Anwendung wird in Darstellung A ein erstes Teil 510, welches über einen Fig. 5 shows an exemplary example of an application of the method. According to the application, in representation A, a first part 510, which has a
Bajonettverschluss 511 verfügt über einem zweiten Teil 520 ausgerichtet. Das zweite Teil 520 umfasst einen Vorsprung 521, der mit dem Bajonettverschluss 511 einrasten kann. Um die beiden Teile 510, 520 zu montieren, muss zunächst ein Manipulator das erste Teil 510 relativ zum zweiten Teil 520 konzentrisch ausrichten. Ist dies erfolgt, so kann das erste Teil 510 abgesenkt werden (s. Darstellung B), sodass der Vorsprung 521 in den Bajonettverschluss 511 des Teils 510 eingeführt wird. Anschließend wird das erste Teil 510 mittels des Manipulators rotiert (Darstellung C), sodass der Bayonet lock 511 has a second part 520 aligned. The second part 520 comprises a projection 521 which can engage with the bayonet lock 511. To assemble the two parts 510, 520, a manipulator first has to concentrically align the first part 510 relative to the second part 520. Once this has taken place, the first part 510 can be lowered (see illustration B), so that the projection 521 is inserted into the bayonet closure 511 of the part 510. Subsequently, the first part 510 is rotated by means of the manipulator (illustration C), so that the
Bajonettverschluss 511 mit dem Vorsprung 521 einrastet. Tritt nun beispielsweise beim Absenken des ersten Teils 510 ein Fehler auf, so kann mittels einer Reaktionsstruktur das Manipulatorprogramm veranlasst werden, erneut mit dem Ausrichten der beiden Teile 510, 520 zu beginnen. Schlägt dies fehl, d.h. kann der Fehler nicht automatisch behoben werden, kann ein Bediener hinzugerufen werden, der beispielsweise das erste Teil 510 korrekt zu dem zweiten Teil 520 positioniert oder das erste Teil 510 entfernt. Folglich kann der Montageprozess fortgesetzt und ein auftretender Fehler behoben werden, ohne dass das Manipulatorprogramm abgebrochen und von neuem gestartet werden muss. Bayonet lock 511 with the projection 521 engages. If, for example, an error occurs when lowering the first part 510, the manipulator program can be made to start again by aligning the two parts 510, 520 by means of a reaction structure. If this fails, ie the error can not be corrected automatically, an operator can be called in, for example, the first one Part 510 correctly positions to the second part 520 or removes the first part 510. Consequently, the assembly process can be continued and an error occurring can be remedied without the manipulator program having to be aborted and restarted.
Bezugszeichenliste LIST OF REFERENCE NUMBERS
AP1-AP9 Aufsetzpunkte AP1-AP9 touchdown points
Ei Beendigungsschritt  Egg termination step
Fi bis F3 Fehlerstrukturen  Fi to F3 error structures
Ol bis On Operationen  Ol to On operations
ΟΊ-Ο'21 Operationen  ΟΊ-Ο'21 operations
Ri bis Rn Reaktionsoperationen  Ri to Rn reaction operations
R'i-R'30 Reaktionsoperationen  R'i-R'30 reaction operations
Si bis S3 Ausführungsschritte  Si to S3 execution steps
200 Semantikbaustein  200 semantic building block
210; 310 Operationsstruktur  210; 310 operation structure
220; 320 Reaktionsstruktur  220; 320 reaction structure
221, 222, 223,  221, 222, 223,
224, 225 Reaktionsoperationen  224, 225 reaction operations
400 Fehler  400 errors
610 erstes Teil  610 first part
620 zweites Teil  620 second part
611 Bajonettverschluss  611 bayonet lock
621 Vorsprung  621 advantage

Claims

Ansprüche 1 bis 16 Claims 1 to 16
Verfahren zur Korrektur von Fehlern eines Manipulatorsystems, wobei das Manipulatorsystem zumindest einen Manipulator umfasst und mittels zumindest eines Manipulatorprogramms gesteuert wird, und wobei das Verfahren die folgenden Verfahrensschritte umfasst: Method for correcting errors of 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:
• Bereitstellen zumindest eines Manipulatorprogramms, wobei das  Providing at least one manipulator program, wherein the
Manipulatorprogramm mehrere Operationen (Ol bis On) umfasst;  Manipulator program includes several operations (Ol to On);
• Zusammenfassen von zumindest zwei der Operationen (Ol bis On) zu zumindest einer Operationsstruktur (310);  Grouping at least two of the operations (Ol to On) into at least one operation structure (310);
• Definieren von zumindest einem Aufsetzpunkt (APi, AP2), wobei der zumindest eine Aufsetzpunkt (APi, AP2) den Anfang und/oder das Ende einer Operationsstruktur (310) bildet;  • defining at least one touchdown point (APi, AP2), wherein the at least one touchdown point (APi, AP2) forms the beginning and / or the end of an operation structure (310);
• Bereitstellen zumindest einer Reaktionsstruktur (320) und Zuordnen der Reaktionsstruktur (320) zu einer Operationsstruktur (310), wobei die zumindest eine Reaktionsstruktur (320) Reaktionsoperationen (Ri bis Rn), beinhaltet, bei deren Ausführung das Manipulatorprogramm das Manipulatorsystem so steuert, dass es in einen Systemzustand geführt wird, der einem Aufsetzpunkt (APi, AP2) entspricht;  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 (Ri to Rn), in the execution of which the manipulator program controls the manipulator system so that it is brought into a system state corresponding to a touchdown point (APi, AP2);
• Ausführen des Manipulatorprogramms und wenn ein Fehler auftritt, • executing the manipulator program and if an error occurs
• Ausfuhren der Reaktionsstruktur (320), sodass das Manipulatorsystem in einen Systemzustand überführt wird, der einem Aufsetzpunkt (APi, AP2) entspricht. • exports the reaction structure (320), so that the manipulator system is transferred to a system state that corresponds to a touchdown point (APi, AP2).
Verfahren nach Anspruch 1, wobei eine Operationsstruktur (310) konsistent ist, sodass die Integritätsbedingungen des Manipulatorsystems an einem The method of claim 1, wherein an operational structure (310) is consistent such that the integrity constraints of the manipulator system on a
Aufsetzpunkt (APi, AP2) und/ oder vor und/oder nach dem Ausführen der Operationsstruktur (310) eingehalten werden. Touchdown point (APi, AP2) and / or before and / or after the execution of the operation structure (310).
Verfahren nach einem der vorhergehenden Ansprüche, wobei der Method according to one of the preceding claims, wherein the
Systemzustand des Manipulatorsystems an einem Aufsetzpunkt (APi, AP2) und/ oder vor und/oder nach dem Ausführen einer Operationsstruktur (310) nicht in allen Systemparametern konsistent ist. System state of the manipulator system at a touchdown point (APi, AP2) and / or before and / or after executing an operation structure (310) is not consistent in all system parameters.
4. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Ausführung einer Operationsstruktur (310) beim Auftreten eines Fehlers unterbrochen wird, und im Anschluss mit dem Ausführen einer Reaktionsstruktur (320) fortgefahren wird. 4. The method of claim 1, wherein the execution of an operation structure is interrupted on the occurrence of a fault, and is then continued with the execution of a reaction structure.
5. Verfahren nach einem der vorhergehenden Ansprüche, wobei die 5. The method according to any one of the preceding claims, wherein the
Reaktionsstruktur (320) zumindest eine Reaktionsoperation (Ri bis Rn) beinhaltet, deren Ausführung das Manipulatorsystem in einen Systemzustand führt, der dem Aufsetzpunkt (APi) entspricht, welcher Aufsetzpunkt (APi) den Anfang der Operationsstruktur (310) bildet, in der der Fehler aufgetreten ist.  Reaction structure (320) includes at least one reaction operation (Ri to Rn), the execution of which leads the manipulator system in a system state corresponding to the touchdown point (APi), which touchdown point (APi) forms the beginning of the operation structure (310) in which the error occurred is.
6. Verfahren nach Anspruch 5, wobei die zumindest eine Reaktionsoperation (Ri bis Rn) eine Operation (Ol bis On) der Operationsstruktur (310) rückgängig macht. 6. The method of claim 5, wherein the at least one response operation (Ri to Rn) reverses an operation (Ol to On) of the operation structure (310).
7. Verfahren nach einem der vorhergehenden Ansprüche, wobei eine Operation (Ol bis On) des Manipulatorprogramms durch zumindest einen Parameter definiert wird, und wobei der zumindest eine Parameter durch eine 7. The method according to any one of the preceding claims, wherein an operation (Ol to On) of the manipulator program is defined by at least one parameter, and wherein the at least one parameter by a
Reaktionsoperation (Ri bis Rn) der Reaktionsstruktur (320) veränderbar ist.  Reaction operation (Ri to Rn) of the reaction structure (320) is variable.
8. Verfahren nach einem der vorhergehenden Ansprüche, wobei die 8. The method according to any one of the preceding claims, wherein the
Reaktionsstruktur (320) zumindest eine Reaktionsoperation (Ri bis Rn) beinhaltet, deren Ausführung die unterbrochene Operationsstruktur (310) mit zumindest einem geänderten Parameter fortsetzt oder die unterbrochene Operationsstruktur (310) erneut ausführt.  Reaction structure (320) includes at least one reaction operation (Ri 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) again.
9. Verfahren nach einem der vorhergehenden Ansprüche, wobei die 9. The method according to any one of the preceding claims, wherein the
Reaktionsstruktur (320) zumindest eine Reaktionsoperation (Ri bis Rn) beinhaltet, deren Ausführung die unterbrochene Operationsstruktur (310) solange unterbricht, bis eine Bedienereingabe erfolgt ist.  Reaction structure (320) includes at least one reaction operation (Ri to Rn), whose execution interrupts the interrupted operation structure (310) until an operator input is made.
10. Verfahren nach einem der vorhergehenden Ansprüche, wobei abhängig von der Art des aufgetretenen Fehlers unterschiedliche Reaktionsoperationen (Ri bis Rn) der Reaktionsstruktur (320) ausgeführt werden. 10. The method according to any one of the preceding claims, wherein depending on the nature of the error occurred different reaction operations (Ri to Rn) of the reaction structure (320) are performed.
11. Verfahren nach einem der vorhergehenden Ansprüche, wobei die zumindest eine Operationsstruktur (310) in einem Aufsetzpunkt (APi, AP2) mit zumindest einer weiteren Operation (Ol bis On) und/oder Operationsstruktur (310) verknüpft ist und nach dem Erreichen des Aufsetzpunktes (APi, AP2) eine der verknüpften Operationen (Ol bis On) und/oder Operationsstrukturen (310) ausgeführt wird. 11. The method according to any one of the preceding claims, wherein the at least one operation structure (310) in a touchdown point (APi, AP2) with at least one further operation (Ol to On) and / or operation structure (310) is linked and after reaching the touchdown point (APi, AP2) one of the linked operations (Ol to On) and / or operation structures (310) is executed.
12. Verfahren nach einem der vorhergehenden Ansprüche 7 bis 11, wobei ein 12. The method according to any one of the preceding claims 7 to 11, wherein a
Parameter ein numerischer Parameter oder ein Anweisungsparameter ist.  Parameter is a numeric parameter or an instruction parameter.
13. Verfahren nach einem der vorhergehenden Ansprüche, wobei das 13. The method according to any one of the preceding claims, wherein the
Manipulatorprogramm Echtzeit-Operationen und Echtzeit- Reaktionsoperationen sowie Nicht-Echtzeit-Operationen und Nicht-Echtzeit- Reaktionsoperationen beinhaltet, und wobei vor der Ausführung einer Echtzeit- Operation alle Echtzeit- Reaktionsoperationen und Nicht-Echtzeit- Reaktionsoperationen beendet sind.  Manipulator program involves real-time operations and real-time reaction operations as well as non-real-time operations and non-real-time reaction operations, and where all real-time reaction operations and non-real-time reaction operations are completed prior to the execution of a real-time operation.
14. Computerprogramm, aufweisend Programmbefehle, die, wenn sie auf einem Computer und/oder Mikrocontroller geladen werden, den Computer und/oder Mikrocontroller veranlassen, das Verfahren nach einem der Ansprüche 1 bis 13 auszuführen. A computer program comprising program instructions which, when loaded on a computer and / or microcontroller, cause the computer and / or microcontroller to perform the method of any one of claims 1 to 13.
15. Computerprogramm nach Anspruch 14, wobei eine Operationsstruktur (310) und eine zugeordnete Reaktionsstruktur (320) im selben The computer program of claim 14, wherein an operational structure (310) and an associated reaction structure (320) are therein
Manipulatorprogrammteil implementiert sind und vorzugsweise einen  Manipulator program part are implemented and preferably one
Semantikbaustein (100) bilden.  Form semantic building block (100).
16. Vorrichtung, eingerichtet zum Ausführen eines Computerprogramms nach 16. Apparatus adapted for executing a computer program
einem der Ansprüche 14 oder 15.  one of claims 14 or 15.
EP16794938.7A 2015-11-11 2016-11-09 Method and computer program for correcting errors in a manipulator system Ceased EP3374136A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102015222168.7A DE102015222168B4 (en) 2015-11-11 2015-11-11 METHOD AND COMPUTER PROGRAM FOR CORRECTING ERRORS IN A MANIPULATOR SYSTEM
PCT/EP2016/001859 WO2017080650A1 (en) 2015-11-11 2016-11-09 Method and computer program for correcting errors in a manipulator system

Publications (1)

Publication Number Publication Date
EP3374136A1 true EP3374136A1 (en) 2018-09-19

Family

ID=57288362

Family Applications (1)

Application Number Title Priority Date Filing Date
EP16794938.7A Ceased EP3374136A1 (en) 2015-11-11 2016-11-09 Method and computer program for correcting errors in a manipulator system

Country Status (6)

Country Link
US (1) US11065766B2 (en)
EP (1) EP3374136A1 (en)
KR (1) KR102671535B1 (en)
CN (1) CN108349081B (en)
DE (1) DE102015222168B4 (en)
WO (1) WO2017080650A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015222164A1 (en) 2015-11-11 2017-05-11 Kuka Roboter Gmbh Method and computer program for generating a graphical user interface of a manipulator program
JP6931585B2 (en) * 2017-10-02 2021-09-08 株式会社オカムラ Work system, work system control method and program

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4570217A (en) 1982-03-29 1986-02-11 Allen Bruce S Man machine interface
JP2921903B2 (en) * 1990-03-02 1999-07-19 株式会社日立製作所 Welding robot controller
EP0782056B1 (en) * 1992-12-28 2001-04-11 Mitsubishi Denki Kabushiki Kaisha Numerically controlled machine tool and method
JP2994926B2 (en) * 1993-10-29 1999-12-27 松下電器産業株式会社 Method for creating finite state machine, method for creating pattern matching machine, method for transforming them, and method for driving
WO1997011416A1 (en) 1995-09-19 1997-03-27 Kabushiki Kaisha Yaskawa Denki Robot language processor
US6157864A (en) 1998-05-08 2000-12-05 Rockwell Technologies, Llc System, method and article of manufacture for displaying an animated, realtime updated control sequence chart
US6108662A (en) 1998-05-08 2000-08-22 Allen-Bradley Company, Llc System method and article of manufacture for integrated enterprise-wide control
JP2001236244A (en) 2000-02-23 2001-08-31 Mitsubishi Electric Corp Debug system for robot program
US20020144015A1 (en) * 2001-03-30 2002-10-03 Lortz Victor B. Method and apparatus to implement a state machine
US6360143B1 (en) * 2001-04-27 2002-03-19 Fanuc Robotics North America Error recovery methods for controlling robotic systems
US7200529B2 (en) 2003-08-15 2007-04-03 National Instruments Corporation Automatic configuration of function blocks in a signal analysis system
JP3819883B2 (en) 2003-08-27 2006-09-13 ファナック株式会社 Robot program position correction device
US20070282480A1 (en) * 2003-11-10 2007-12-06 Pannese Patrick D Methods and systems for controlling a semiconductor fabrication process
US20080208372A1 (en) * 2003-11-10 2008-08-28 Pannese Patrick D Scheduling with neural networks and state machines
JP3733364B2 (en) 2003-11-18 2006-01-11 ファナック株式会社 Teaching position correction method
DE102004046611A1 (en) * 2004-09-25 2006-03-30 Robert Bosch Gmbh Method for processing a computer program on a computer system
EP1724676A1 (en) 2005-05-20 2006-11-22 ABB Research Ltd. Method and apparatus for developing a software program
DE102008007438B4 (en) * 2008-02-01 2012-11-29 Abb Ag Method for restarting a robot
CN102317044B (en) * 2009-02-12 2014-03-26 三菱电机株式会社 Industrial robot system
DE102009054230A1 (en) * 2009-11-23 2011-05-26 Kuka Roboter Gmbh Method and device for controlling manipulators
JP4600601B1 (en) 2010-04-08 2010-12-15 株式会社ベイビッグ Debug support device, debug support method, and debug support program
DE102011017398A1 (en) * 2011-04-18 2012-10-18 Kuka Roboter Gmbh Method and means for controlling a robot arrangement
DE102012008073A1 (en) 2012-04-24 2013-10-24 Kuka Roboter Gmbh Method and means for specifying and / or controlling a manipulator process
CN104812535A (en) 2012-10-11 2015-07-29 Abb技术有限公司 A method and an apparatus for automatically generating a collision free return program for returning a robot from a stop position to a predefined restart position
US9770007B2 (en) * 2013-02-06 2017-09-26 Delaval Holding Ab Teat treatment method and apparatus
JP5893666B2 (en) * 2014-04-14 2016-03-23 ファナック株式会社 Robot control device and robot system for robots that move according to force
US10504231B2 (en) 2014-05-21 2019-12-10 Millennium Three Technologies, Inc. Fiducial marker patterns, their automatic detection in images, and applications thereof
DE102015222164A1 (en) 2015-11-11 2017-05-11 Kuka Roboter Gmbh Method and computer program for generating a graphical user interface of a manipulator program
DE102015222167A1 (en) 2015-11-11 2017-05-11 Kuka Roboter Gmbh METHOD FOR SIMPLIFIED MODIFICATION OF APPLICATION PROGRAMS FOR CONTROLLING AN INDUSTRIAL PLANT

Also Published As

Publication number Publication date
WO2017080650A1 (en) 2017-05-18
CN108349081B (en) 2021-08-03
CN108349081A (en) 2018-07-31
KR102671535B1 (en) 2024-05-31
KR20180081775A (en) 2018-07-17
DE102015222168A1 (en) 2017-05-11
US11065766B2 (en) 2021-07-20
DE102015222168B4 (en) 2024-02-22
US20180345497A1 (en) 2018-12-06

Similar Documents

Publication Publication Date Title
DE102015222164A1 (en) Method and computer program for generating a graphical user interface of a manipulator program
DE102016000754A1 (en) Method and system for path planning of a redundant robot
EP2656980B1 (en) Method and means for determining and/or controlling a manipulator process
EP3812106B1 (en) Robot assembly, method for operating the robot assembly, computer program and machine readable storage medium
DE102017213651A1 (en) Handling device with a robot and method and computer program
DE102012101497B4 (en) Robot-based working method
WO2014173470A1 (en) Numeric controller with notification of a cam system in the event of a change in the subroutine
EP3374136A1 (en) Method and computer program for correcting errors in a manipulator system
EP3710900B1 (en) Method and system for defining or learning a robot command
EP3098748B1 (en) Method for converting at least one first security configuration file
EP2037341B1 (en) Programming system
DE112018007687T5 (en) Machine learning device, numerical control device, machine tool, and machine learning method
DE102020103852B4 (en) Creation and optimization of a control program for a robot manipulator
DE102020103854B4 (en) Machine learning of a successfully completed robot application
EP2845697B1 (en) Method for monitoring a robot assembly that conveys a payload
EP3710207B1 (en) Quality assurance of a process
EP3268172B1 (en) Method for controlling a manipulator for carrying out a working process
EP2965873B1 (en) Method for automatically controlling a manipulator
DE102022201792B3 (en) Method and device for the automated coordination of the activities of several robots
DE10300605A1 (en) Robot control method in which if, during programmed control of a robot, an exception state occurs, a predefined response to the exception state is initiated after it has been determined at what state in the program it occurred
EP3739396A1 (en) Motion control system of a manipulator comprising a first and a second processor
EP3518059B1 (en) Method for computer-assisted user assistance in the operation of a movement planer for a machine
DE102019102427B4 (en) Coordination of trajectories of two robotic manipulators
EP3792716B1 (en) Numerical control with buffering of load setpoints
DE102015007486A1 (en) Handling device and method for programming a robot

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20180509

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20210309

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230528

18R Application refused

Effective date: 20230402