EP3374136A1 - Verfahren und computerprogramm zur korrektur von fehlern eines manipulatorsystems - Google Patents

Verfahren und computerprogramm zur korrektur von fehlern eines manipulatorsystems

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
English (en)
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/de
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.

Abstract

Die Erfindung betrifft ein Verfahren zur Korrektur von Fehlern eines Manipulatorsystems, wobei das Manipulatorsystem zumindest einen Manipulator umfasst und mittels zumindest eines Manipulatorprogramms gesteuert wird, wobei das Verfahren die folgenden Verfahrensschritte umfasst: • Bereitstellen zumindest eines Manipulatorprogramms, wobei das Manipulatorprogramm mehrere Operationen umfasst; • Zusammenfassen von zumindest zwei der Operationen zu zumindest einer Operationsstruktur; • Definieren von zumindest einem Aufsetzpunkt (ΑΡ1, AP2), wobei der zumindest eine Aufsetzpunkt (ΑΡ1, AP2) den Anfang und/ oder das Ende einer Operationsstruktur (310) bildet; • Bereitstellen zumindest einer Reaktionsstruktur (320) und Zuordnen der Reaktionsstruktur (320) zu einer Operationsstruktur (310), wobei die zumindest eine Reaktionsstruktur (320) Reaktionsoperationen (R1 bis Rn), beinhaltet, bei deren Ausführung das Manipulatorprogramm das Manipulatorsystem so steuert, dass es in einen Systemzustand geführt wird, der einem Aufsetzpunkt (ΑΡ1, AP2) entspricht; • Ausführen des Manipulatorprogramms und wenn ein Fehler auftritt, • Ausführen der Reaktionsstruktur (320), sodass das Manipulatorsystem in einen Systemzustand überführt wird, der einem Aufsetzpunkt (ΑΡ1, AP2) entspricht.

Description

VERFAHREN UND COMPUTERPROGRAMM ZUR KORREKTUR VON FEHLERN EINES MANIPULATORSYSTEMS
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
Manipulatorprogramms gesteuert. Tritt ein Fehler im Manipulatorsystem auf, so kann das Manipulatorsystem in einen Systemzustand überführt werden, welcher ein
Fortsetzen des Manipulatorprogramms erlaubt.
Hintergrund
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
Manipulatorsysteme kommen beispielsweise in der Automobilfertigung zum Einsatz.
Gesteuert werden Manipulatorsysteme typischerweise mittels eines
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.
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
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
Programmierfehler (z.B. durch falsch gesetzte Parameterwerte) oder das Auftreten
BESTÄTIGUNGSKOPIE eines unvorhergesehenen Ereignisses sein, auf das das Manipulatorsystem nicht selbstständig reagieren kann oder eine Unterbrechung des geplanten Prozesses fordert.
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
abzubrechen und erneut zu starten, wodurch hohe Wiederanlaufzeiten und Kosten generiert werden.
Ein Beispiel für einen irreversiblen Prozess ist das Schweißen mittels eines
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.
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
Programmierfehler steigt.
Die Programmierung von Manipulatorprogrammen erfolgt heute meist mit
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
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
Manipulatorprogramms (Programmeinstieg), das Springen an eine bestimmte Stelle im Ablauf des Manipulatorprogramms während der Ausführung des
Manipulatorprogramms sowie das Anhalten und Fortsetzen an einer definierten Stelle im Ablauf des Manipulatorprogramms nicht unterstützt. Dadurch wird die Behebung von Fehlern erschwert.
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-)
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.
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
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.
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
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
Manipulator umfasst und mittels zumindest eines Manipulatorprogramms gesteuert wird, wobei das Verfahren die folgenden Verfahrensschritte umfasst:
• Bereitstellen zumindest eines Manipulatorprogramms, wobei das
Manipulatorprogramm mehrere Operationen umfasst;
• Zusammenfassen von zumindest zwei der Operationen zu zumindest einer
Operationsstruktur;
• Definieren von zumindest einem Aufsetzpunkt, wobei der zumindest eine
Aufsetzpunkt den Anfang und/ oder das Ende einer Operationsstruktur bildet; · Bereitstellen zumindest einer Reaktionsstruktur und Zuordnen der
Reaktionsstruktur zu einer Operationsstruktur, wobei die zumindest eine
Reaktionsstruktur Reaktionsoperationen, beinhaltet, bei deren Ausführung das Manipulatorprogramm das Manipulatorsystem so steuert, dass es in einen
Systemzustand geführt wird, der einem Aufsetzpunkt entspricht;
· Ausführen des Manipulatorprogramms und wenn ein Fehler auftritt,
• Ausführen der Reaktionsstruktur, sodass das Manipulatorsystem in einen
Systemzustand überführt wird, der einem Aufsetzpunkt entspricht.
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.
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
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.
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.
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.
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.
Weiterhin wird durch die direkte Zuordnung von Operationsstruktur und
Reaktionsstruktur ein übersichtliches Manipulatorprogramm ermöglicht, wodurch Fehler bei der Programmierung reduziert werden können. Weiterhin wird die
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
Aufsetzpunkt fortgesetzt werden kann. Dabei werden immer die gleichen Ergebnisse erzielt.
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.
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.
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.
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
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.
Eine Operationsstruktur und eine zugeordnete Reaktionsstruktur sind vorzugsweise in einem gemeinsamen Semantikbaustein implementiert. Somit ist im
Manipulatorprogramm eine feste Zuordnung von Operationsstruktur und
Reaktionsstruktur sichergestellt, wodurch die Komplexität reduziert wird.
Eine Reaktionsstruktur kann neben dem Rückgängig-Machen einer Operationsstruktur auch das Abbrechen der Operationsstruktur und/oder das Fortsetzen des
Manipulatorprogramms von einem anderen Aufsetzpunkt kommandieren.
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
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
Manipulatorprogramms gesteuert, so ist der Parameter„Schweißnahtlänge"
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
Reaktionsstruktur nicht den gleichen Systemzustand herstellen, wie vor der
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
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 eines
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
Manipulatorprogramm von einem anderen Aufsetzpunkt fortgesetzt werden. Dies ermöglicht es Stillstandzeiten des Manipulatorsystems zu minimieren und
vorzugsweise automatisiert, d. h. ohne ein Eingreifen eines Bedieners, fortzufahren. Somit kann die Produktivität des Manipulatorsystems erhöht werden.
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.
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.
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.
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
vorteilhaft. So kann beispielsweise eine vom Manipulator durchgeführte Bewegung unmittelbar zurückgefahren werden.
Vorzugsweise wird eine Operation des Manipulatorprogramms durch zumindest einen Parameter definiert, wobei der zumindest eine Parameter durch eine
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
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
Parametern auszuführen.
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.
Bestätigt der Bediener dem Manipulatorsystem ein erfolgreiches Ausführen der Aufgabe, so kann mit der Reaktionsstruktur oder einer Operationsstruktur fortgesetzt werden.
Vorzugsweise werden, abhängig von der Art des aufgetretenen Fehlers,
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.
Wird beispielsweise eine Operationsstruktur abgebrochen, da ein
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
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
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.
Weiterhin können vorzugsweise abhängig vom aufgetretenen Fehler Parameter unterschiedlich geändert werden. Beispielsweise kann ein Wiederholen einer
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.
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
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
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.
Vorzugsweise ist ein Parameter ein nummerischer Parameter oder ein
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
Manipulatorprogramms und geben beispielsweise die Ausführungsreihenfolge der Operationsstrukturen oder einzelner Operationen vor.
Vorzugsweise beinhaltet das Manipulatorprogramm Echtzeit-Operationen und
Echtzeit-Reaktionsoperationen sowie Nicht-Echtzeit-Operationen und Nicht-Echtzeit- Reaktionsoperationen, wobei vor der Ausführung einer Echtzeit-Operation alle
Echtzeit- Reaktionsoperationen und Nicht-Echtzeit-Reaktionsoperationen beendet sind. Durch die Bestimmung von Nicht-Echtzeit- und Echtzeit-Operationen bzw. - Reaktionsoperationen, kann ein deterministisches Verhalten des
Manipulatorprogramms erzielt werden. Soll eine Echtzeit-Operation bzw.
-Reaktionsoperation durchgeführt werden, so ist sichergestellt, dass die Zeit des Manipulatorprogramms und die tatsächliche Systemzeit übereinstimmen.
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.
Die Aufgabe wird weiterhin gelöst durch ein Computerprogramm, aufweisend
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
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
Computerprogramm als Teil des Manipulatorprogramms implementiert. Ebenfalls kann das Computerprogramm ein eigenständiges Computerprogramm sein.
Die Aufgabe wird weiter gelöst durch eine Vorrichtung, welche dazu eingerichtet ist das Computerprogramm auszuführen. Derartige Vorrichtungen sind beispielsweise
Steuerungseinrichtungen des Manipulatorsystems.
Beschreibung der Figuren
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;
Fig. 2 eine schematische Darstellung eines Semantikbausteins einer
Operationsstruktur sowie einer Reaktionsstruktur; Fig. 3 eine schematische Darstellung einer Operationsstruktur sowie einer
Reaktionsstruktur des Manipulatorprogramms;
Fig. 4 eine schematische Darstellung eines Modells eines Manipulatorprogramms; und Fig. 5 eine schematische Darstellung einer Anwendung des Manipulatorprogramms.
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.
Fig. 2 zeigt eine schematische Darstellung 2 eines Semantikbausteins eines
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
Ausführung der Operationsstruktur 210 ein Fehler auf, so wird die Operationsstruktur 210 unterbrochen und mit der Reaktionsstruktur 220 fortgefahren.
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
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
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
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
Semantikbaustein implementiert sind, bleibt das Manipulatorprogramm übersichtlich und erlaubt eine individuelle Anpassung der Operationsstruktur und/oder der
Reaktionsstruktur. Programmierfehler können somit schnell behoben werden und aufgrund der reduzierten Komplexität und erhöhten Übersichtlichkeit ist die
Wahrscheinlichkeit für das Entstehen von Programmierfehlern herabgesetzt.
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
vorhergehenden Ausführungshistorie ausgeführt werden und liefert gleiche Ergebnisse.
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
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
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
Manipulatorprogramm führt anschließend die Operation 0'2 aus. Hier besteht die
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
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
Reaktionsoperation R'i fortgefahren.
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
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
Reaktionsoperationen.
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
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
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.
Bezugszeichenliste
AP1-AP9 Aufsetzpunkte
Ei Beendigungsschritt
Fi bis F3 Fehlerstrukturen
Ol bis On Operationen
ΟΊ-Ο'21 Operationen
Ri bis Rn Reaktionsoperationen
R'i-R'30 Reaktionsoperationen
Si bis S3 Ausführungsschritte
200 Semantikbaustein
210; 310 Operationsstruktur
220; 320 Reaktionsstruktur
221, 222, 223,
224, 225 Reaktionsoperationen
400 Fehler
610 erstes Teil
620 zweites Teil
611 Bajonettverschluss
621 Vorsprung

Claims

Ansprüche 1 bis 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:
• Bereitstellen zumindest eines Manipulatorprogramms, wobei das
Manipulatorprogramm mehrere Operationen (Ol bis On) umfasst;
• Zusammenfassen von zumindest zwei der Operationen (Ol bis On) zu zumindest einer Operationsstruktur (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;
• 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;
• Ausführen des Manipulatorprogramms und wenn ein Fehler auftritt,
• Ausfuhren der Reaktionsstruktur (320), sodass das Manipulatorsystem in einen Systemzustand überführt wird, der einem Aufsetzpunkt (APi, AP2) entspricht.
Verfahren nach Anspruch 1, wobei eine Operationsstruktur (310) konsistent ist, sodass die Integritätsbedingungen des Manipulatorsystems an einem
Aufsetzpunkt (APi, AP2) und/ oder vor und/oder nach dem Ausführen der Operationsstruktur (310) eingehalten werden.
Verfahren nach einem der vorhergehenden Ansprüche, wobei der
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.
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.
5. Verfahren nach einem der vorhergehenden Ansprüche, wobei die
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.
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.
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
Reaktionsoperation (Ri bis Rn) der Reaktionsstruktur (320) veränderbar ist.
8. Verfahren nach einem der vorhergehenden Ansprüche, wobei die
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.
9. Verfahren nach einem der vorhergehenden Ansprüche, wobei die
Reaktionsstruktur (320) zumindest eine Reaktionsoperation (Ri bis Rn) beinhaltet, deren Ausführung die unterbrochene Operationsstruktur (310) solange unterbricht, bis eine Bedienereingabe erfolgt ist.
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.
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.
12. Verfahren nach einem der vorhergehenden Ansprüche 7 bis 11, wobei ein
Parameter ein numerischer Parameter oder ein Anweisungsparameter ist.
13. Verfahren nach einem der vorhergehenden Ansprüche, wobei das
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.
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.
15. Computerprogramm nach Anspruch 14, wobei eine Operationsstruktur (310) und eine zugeordnete Reaktionsstruktur (320) im selben
Manipulatorprogrammteil implementiert sind und vorzugsweise einen
Semantikbaustein (100) bilden.
16. Vorrichtung, eingerichtet zum Ausführen eines Computerprogramms nach
einem der Ansprüche 14 oder 15.
EP16794938.7A 2015-11-11 2016-11-09 Verfahren und computerprogramm zur korrektur von fehlern eines manipulatorsystems Ceased EP3374136A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102015222168.7A DE102015222168B4 (de) 2015-11-11 2015-11-11 Verfahren und computerprogramm zur korrektur von fehlern eines manipulatorsystems
PCT/EP2016/001859 WO2017080650A1 (de) 2015-11-11 2016-11-09 Verfahren und computerprogramm zur korrektur von fehlern eines manipulatorsystems

Publications (1)

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

Family

ID=57288362

Family Applications (1)

Application Number Title Priority Date Filing Date
EP16794938.7A Ceased EP3374136A1 (de) 2015-11-11 2016-11-09 Verfahren und computerprogramm zur korrektur von fehlern eines manipulatorsystems

Country Status (6)

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

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015222164A1 (de) 2015-11-11 2017-05-11 Kuka Roboter Gmbh Verfahren und Computerprogramm zur Erzeugung einer grafischen Benutzerschnittstelle eines Manipulatorprogramms
JP6931585B2 (ja) * 2017-10-02 2021-09-08 株式会社オカムラ 作業システム、作業システムの制御方法及びプログラム

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 (ja) * 1990-03-02 1999-07-19 株式会社日立製作所 溶接ロボット制御装置
EP0766154B1 (de) * 1992-12-28 2000-03-29 Mitsubishi Denki Kabushiki Kaisha Numerisch gesteuerte Werkzeugmaschine und Verfahren
JP2994926B2 (ja) * 1993-10-29 1999-12-27 松下電器産業株式会社 有限状態機械作成方法とパターン照合機械作成方法とこれらを変形する方法および駆動方法
EP0852346B1 (de) 1995-09-19 2002-01-16 Kabushiki Kaisha Yaskawa Denki Prozessor für robotersprache
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 (ja) 2000-02-23 2001-08-31 Mitsubishi Electric Corp ロボットプログラムのデバッグシステム
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
US8185840B2 (en) 2003-08-15 2012-05-22 National Instruments Corporation Mixed signal analysis system and method of use
JP3819883B2 (ja) 2003-08-27 2006-09-13 ファナック株式会社 ロボットプログラム位置修正装置
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 (ja) 2003-11-18 2006-01-11 ファナック株式会社 教示位置修正方法
DE102004046611A1 (de) * 2004-09-25 2006-03-30 Robert Bosch Gmbh Verfahren zur Abarbeitung eines Computerprogramms auf einem Computersystem
EP1724676A1 (de) 2005-05-20 2006-11-22 ABB Research Ltd. Verfahren und Vorrichtung zur Entwicklung eines Softwareprogramms
DE102008007438B4 (de) * 2008-02-01 2012-11-29 Abb Ag Verfahren zum Wiederanfahren eines Roboters
JP5436460B2 (ja) * 2009-02-12 2014-03-05 三菱電機株式会社 産業用ロボットシステム
DE102009054230A1 (de) * 2009-11-23 2011-05-26 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern von Manipulatoren
JP4600601B1 (ja) 2010-04-08 2010-12-15 株式会社ベイビッグ デバッグ支援装置、デバッグ支援方法及びデバッグ支援プログラム
DE102011017398A1 (de) * 2011-04-18 2012-10-18 Kuka Roboter Gmbh Verfahren und Mittel zum Steuern einer Roboteranordnung
DE102012008073A1 (de) 2012-04-24 2013-10-24 Kuka Roboter Gmbh Verfahren und Mittel zum Vorgeben und/oder Steuern eines Manipulatorprozesses
EP2906396A1 (de) * 2012-10-11 2015-08-19 ABB Technology Ltd. Verfahren und vorrichtung zur automatischen erzeugung eines kollisionsfreien umkehrprogramms zur umkehr eines roboters aus einer stoppposition zu einer vordefinierten neustartposition
CA2896127C (en) * 2013-02-06 2020-12-15 Delaval Holding Ab Teat treatment method and apparatus
JP5893666B2 (ja) * 2014-04-14 2016-03-23 ファナック株式会社 力に応じて動かすロボットのロボット制御装置およびロボットシステム
EP3146729A4 (de) 2014-05-21 2018-04-11 Millennium Three Technologies Inc. Bezugsmarkermuster, deren automatische detektion in bildern und anwendungen davon
DE102015222167A1 (de) 2015-11-11 2017-05-11 Kuka Roboter Gmbh Verfahren zum vereinfachten ändern von applikationsprogrammen zur steuerung einer industrieanlage
DE102015222164A1 (de) 2015-11-11 2017-05-11 Kuka Roboter Gmbh Verfahren und Computerprogramm zur Erzeugung einer grafischen Benutzerschnittstelle eines Manipulatorprogramms

Also Published As

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

Similar Documents

Publication Publication Date Title
DE102015222164A1 (de) Verfahren und Computerprogramm zur Erzeugung einer grafischen Benutzerschnittstelle eines Manipulatorprogramms
DE102016000754A1 (de) Verfahren und System zur Bahnplanung eines redundanten Roboters
EP2656980B1 (de) Verfahren und Mittel zum Vorgeben und/oder Steuern eines Manipulatorprozesses
EP3434424A1 (de) Effiziente programmierung von robotern für die bearbeitung von werkstücken mit verschiedenen varianten
EP3812106B1 (de) Roboteranordnung, verfahren zum betreiben der roboteranordnung, computerprogramm sowie maschinenlesbares speichermedium
DE102012101497B4 (de) Robotergestütztes Arbeitsverfahren
WO2014173470A1 (de) Numerische steuerung mit benachrichtigung eines cam-systems bei änderung des teileprogramms
WO2019029870A1 (de) Handhabungseinrichtung mit einem roboter sowie verfahren und computerprogramm
WO2017080650A1 (de) Verfahren und computerprogramm zur korrektur von fehlern eines manipulatorsystems
EP3710900B1 (de) Verfahren und system zum vorgeben bzw. lernen eines roboterbefehls
EP2037341B1 (de) Programmiersystem
DE112018007687T5 (de) Maschinelles-Lernen-Gerät, numerisches Steuerungsgerät, Maschinenwerkzeug und Maschinenlernverfahren
DE102020103854B4 (de) Maschinelles Lernen einer erfolgreich abgeschlossenen Roboteranwendung
EP2845697B1 (de) Verfahren zum Überwachen einer nutzlastführenden Roboteranordnung
EP3268172B1 (de) Verfahren zur steuerung eines manipulators zur ausführung eines arbeitsprozesses
EP2965873B1 (de) Verfahren zur automatischen Steuerung eines Handhabungsgeräts
EP3098748B1 (de) Verfahren zur konvertierung von zumindest einer ersten sicherheitskonfigurationsdatei
DE10300605A1 (de) Ablaufsteuerung mit definierter Behebung von Ausnahmezuständen
EP3739396A1 (de) System zur bewegungsführung eines manipulators aufweisend einen ersten und einen zweiten prozessor
EP3710207A1 (de) Qualitätssicherung eines prozesses
DE102020103852B4 (de) Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator
EP3518059B1 (de) Verfahren zur rechnergestützten benutzerassistenz bei der in-betriebnahme eines bewegungsplaners für eine maschine
EP3948449B1 (de) Verfahren und engineering-system zur änderung eines programms einer industriellen automatisierungskomponente
EP3792716B1 (de) Numerische steuerung mit pufferung von lagesollwerten
WO2023156095A1 (de) Verfahren und vorrichtung zur automatisierten koordinierung der tätigkeiten von mehreren robotern

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