EP3374137A1 - Method and computer program for producing a graphical user interface of a manipulator program - Google Patents

Method and computer program for producing a graphical user interface of a manipulator program

Info

Publication number
EP3374137A1
EP3374137A1 EP16798402.0A EP16798402A EP3374137A1 EP 3374137 A1 EP3374137 A1 EP 3374137A1 EP 16798402 A EP16798402 A EP 16798402A EP 3374137 A1 EP3374137 A1 EP 3374137A1
Authority
EP
European Patent Office
Prior art keywords
program
manipulator
touchdown point
api
user interface
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
EP16798402.0A
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 EP3374137A1 publication Critical patent/EP3374137A1/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/1628Programme controls characterised by the control loop
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • 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/0426Programming the control sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • 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/13142Debugging, tracing
    • 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/23Pc programming
    • G05B2219/23283Debugging, breakpoint

Definitions

  • the invention relates to a method and a computer program for generating a graphical user interface of a manipulator program, which comprises
  • Manipulator system controls. Furthermore, the invention relates to control devices for manipulator systems, which manipulator systems comprise at least one manipulator and are controlled by means of a manipulator program.
  • Manipulator systems typically 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 in industrial applications, such as in automobile production.
  • Manipulator systems are typically controlled by means of a
  • Manipulator program which specifies the system behavior application-specific.
  • the requirement for programming manipulator programs has changed, for example, through the use of new sensors that open up new fields of activity. For example, through the use of force and / or
  • Momentary sensors such as those used in the industrial robot LBR iiwa from KUKA AG, are programmed with new functionalities. These include, among other things, search trips with sensors, force-controlled tool operation, MRK (human-robot cooperation) capabilities and sensitive gripping.
  • Manipulator program record. These debugging backwards-in-time procedures allow the manipulator program to be "rewinded” and the manipulator program to be deterministically continued since it can always fall back on previously valid system parameters. Consequently, the manipulator program always behaves as if it were executed for the first time.
  • complex sensors and high storage and computational resources are necessary. In particular, such sensors detect parameters of the manipulator system. For example, cameras, joint angle sensors, force and / or moment sensors, or the like are used.
  • Parameterkorrektur, or parameter optimization be advantageous. Furthermore, it is an object of the present invention to at least partially overcome the above-mentioned disadvantages.
  • the object is achieved by a computer program according to claim 1, a method according to claim 16 and by a control device according to claim ig.
  • the object is achieved by a computer program comprising instructions for generating a graphical user interface of a
  • Manipulator system comprises at least one manipulator, wherein the
  • Manipulator program includes at least one touchdown point, and wherein the
  • User interface a graphical program progress display, the current program progress of the manipulator program and the at least one
  • Touching point of the manipulator program displays, wherein the displayed at least one touchdown point is selectable by a user. Furthermore, the manipulator program is set up to control the manipulator system in such a way that it assumes a system state assigned to the selected touchdown point upon selection.
  • the graphical user interface will be displayed on a display of the
  • the display can be a display screen or an input screen, such as a touch screen.
  • the manipulator program controls the manipulator system and in particular at least one manipulator.
  • the controller can for example provide a defined movement of the manipulator or the gripping of workpieces and the machining of workpieces by means of a manipulator. This includes the
  • Manipulator preferably a plurality of operations, wherein a touchdown point forms the beginning and / or end of an operation.
  • the touchdown points of the manipulator program are preferably each assigned a defined system state of the manipulator system. In the touchdown points is the system state preferably consistent, so that the manipulator program can be continued deterministically from a touchdown point. Consequently, an operation performed from a touchdown point always results in the same result regardless of the execution history of the manipulator program.
  • a touchdown point is linked to at least one further touchdown point via at least one operation.
  • the order of operations from a touchdown point to a second touchdown point is referred to as a path.
  • the manipulator program can be represented in program code or in higher program models.
  • the graphical program progress indicator indicates to the user (regardless of the selected representation of the manipulator program) how far the flow of the manipulator program has progressed. For example, the beginning of a new operation or the successful completion of a performed operation can be displayed. The touchpoints that lie between two operations are also displayed on the program progress bar.
  • Typical errors are parameterization errors or a wrong sequence of operations in the course of the manipulator program. For example, a wrong movement may be programmed or a parameter threshold of a measured value may not be set high enough. Similarly, parameter values can be calculated incorrectly or passed incorrectly. Other errors, such as caused by
  • the manipulator program is then "rewound" so that it again assumes the parameter values that correspond to the touchdown points, and the manipulator system is returned to the system state assigned to the selected touchdown point Aufsetzkie possible, regardless of the execution history of the
  • Manipulator program necessary to correct an error, but it can be continued immediately from the selected touchdown point. Furthermore, it is not necessary to record all system parameters and the complete execution history, since defined setup points provide suitable starting points. The system state must therefore only be defined for an assigned touchdown point.
  • the path to a selected touchdown point from the current location in the flow of the manipulator program is preferably calculated automatically.
  • a touchdown point defines a location in the flow of the
  • Manipulator program which is associated with a system state of the manipulator system.
  • Manipulator system to the system state from which the manipulator program can be continued.
  • the manipulator program comprises a plurality of operations, wherein the at least one touchdown point forms the beginning and / or the end of an operation and preferably the beginning and / or the end of an operation structure.
  • An operation structure preferably comprises several operations. Preferably, not every operation ends and / or begins at a touchdown point.
  • a plurality of operations are combined into an operation structure and these operation structures are linked to one another via touchdown points. This makes it possible to define touchdown points at the points in the flow of the manipulator program whose respectively assigned system state is characteristic and / or important for the correct execution of the manipulator program. For example, a touchdown point can be set after a successful movement of the manipulator along a defined trajectory. Likewise, processing steps that the manipulator performs may be limited by touchdown points.
  • Manipulator program will be continued regardless of its execution history. The same results are always achieved.
  • an operational structure is assigned at least one reaction structure, wherein the at least one reaction structure contains reaction operations, in the execution of which the manipulator program controls the manipulator system such that it is guided into a system state that corresponds to a touchdown point.
  • Reaction structure allows a clear manipulator program, which errors in programming can be reduced. Furthermore, the
  • 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 make it possible to continue with a modified plan, that is to say deviate from the operations performed by a pure rewinding. 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.
  • 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, then forcing the jammed rivet out of the hole a new rivet will be taken, and the operations structure "riveting" will be performed again.
  • 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
  • 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.
  • Such non-consistent system parameters may be due, for example, to irreversible processes. For example, if a welding process using the
  • the parameter "weld length” is irreversible, since, for example, a certain part of the weld was already welded until the error occurs. If an error occurs, the
  • reaction structure does not produce the same system state as before 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)
  • 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 is interrupted upon the occurrence of a fault, and is then continued with the execution of a reaction structure.
  • 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 makes it possible 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.
  • Such response 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 need not correspond to a direct inversion of the operation structure, but can be performed in an alternative way (path) shall be For example, a movement of a manipulator are reversed and the direct return path is blocked, so the manipulator on an alternative
  • Trajectory can be traced back 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 particularly advantageous in reversible processes. For example, 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
  • Reaction operation of the reaction structure is changeable.
  • the parameter can be adjusted by means of the graphical user interface.
  • a parameter can be a numeric parameter, such as a
  • Manipulator speed or an instruction parameter, the sequence of operations of an operation structure or the selection of the subsequent
  • a response operation may cause the operation structure to change with changed parameters (eg, slower
  • Manipulator speed is continued or repeated 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 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 an operator input, preferably by means of the graphical user interface, has taken place. This makes it possible, if the error has not occurred automatically by the
  • Manipulator system can be resolved to request the intervention of an operator. For example, the operator may be prompted for a particular one To check system condition, faulty parts or workpieces from the
  • Manipulator system to remove or replace and / or the like. 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. Preferably, depending on the type of error that has occurred,
  • 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
  • Touchdown point of the manipulator program requires. For example, a
  • Operations structure are skipped and continue the manipulator program elsewhere.
  • an erroneous operation of an operation structure and / or a faulty executed operation structure may be followed by a corresponding reaction structure of the manipulator program. This allows error-dependent, differential error resolution and resuming the
  • parameters can preferably be changed differently depending on the error that has occurred. For example, repeating a reduced-speed operation structure of the manipulator may be performed when a first error occurs or with a changed force threshold of a force monitor of the manipulator when a second error occurs. Other changed parameters are also conceivable.
  • a touchdown point allows a correct continuation of the manipulator program from this point in the course of the manipulator program, regardless of the execution history of the manipulator Manipulator program. This ensures that the influence of an error correction or an optimized parameter value can be considered in isolation. If the error correction or the parameter correction leads to the desired results in the continuation of the manipulator program, then it is possible to proceed further. If a further iteration loop is necessary for troubleshooting or parameter correction, it is possible to return to the previous touchdown point and to restart the manipulator program under the same conditions (for example, the same parameterization).
  • the computer program is set up to cause the manipulator program to automatically determine a path from a current location in the course of the manipulator program to the selected touchdown point. If an error occurs in an operation of the manipulator program and it has been detected, before re-executing the erroneous operation, the program must be rewound to a previous touchdown point. This is preferably done by means of at least one suitable reaction structure. For example, a manipulator must be moved back to the system state corresponding to the selected touchdown point. If the computer program can cause the manipulator program to automatically detect a path from a current point in the manipulator program to the selected point of attachment, then the program can be quickly continued or the erroneous operation can be executed again without the operator having to intervene.
  • the computer program is set up, if an automatic determination of the path is not possible to open an input dialog, which allows the manual determination of a path.
  • Manually determining a path to a selected touchdown point allows debugging, debugging, or error correction and parameter optimization to continue without the need to abort and restart the manipulator program.
  • the manual determination of a path can be done, for example, by selecting suitable operations, operational structures and / or reaction structures that undo already performed operations or allow an alternative path to a selected touchdown point.
  • the path can be manually configured by the user, for example by means of a joystick or other input device brings the manipulator or the manipulator system in the system state, which is assigned to the selected touchdown point.
  • a feedback to the operator who did the Displaying or simplifying the state of the system can be displayed by means of the graphical user interface.
  • the graphical user interface comprises at least one
  • Model representation of the manipulator program wherein the program progress and / or the at least one touchdown point of the manipulator program and / or a selection of a touchdown point of the manipulator program on the
  • Program progress indicator can be displayed in the model representation of the manipulator program.
  • the program progress may be indicated by, for example, a cursor, an arrow or a colored deposit or the like.
  • the model representation can be a semantic model, a flow chart or another known graphically representable model of a manipulator program.
  • the touchdown points can be represented for example by appropriate emphasis between the individual operations of the manipulator program.
  • a selection of a touchdown point of the manipulator program can also be identified by a cursor or a color or graphic highlighting. Other display methods are also possible.
  • the user sees at what point in the flow the manipulator program is located and, if he has one
  • Touch point selects which touchdown point he selects. It can also be displayed to him, which Aufsetza are currently selectable, d. H. which touch points are in front of the current location in the course of the manipulator program, or which
  • Attachment points can be reached via alternative paths.
  • Program progress display shows the user's current selection in places
  • Program progress indicator which correspond to a touchdown point caught in order to simplify the selection of the touchdown point. For example, if a user selects a point near a touchdown point, the selection can automatically jump to the corresponding touchdown point. Likewise, if the user guides the selection via the program progress indication, the selection can be made on one
  • Touchdown point persist, i. be caught in order to inform the user of the position of the touchdown point and to simplify the selection of the touchdown point.
  • the link is assigned to the at least one displayed touchdown point, with the aid of which an input dialog can be opened by means of which the manipulator program can be changed.
  • the link is assigned to the at least one displayed touchdown point, with the aid of which an input dialog can be opened by means of which the manipulator program can be changed.
  • a parameter list will be displayed in an input dialog which is characteristic of the operations performed after the touchdown point.
  • Parameter optimization are performed. It is also possible to display an editor that can, for example, change the sequence or sequence of operations performed after the touchdown point. Further changes in the manipulator program can also be possible by means of the input dialog. Thus, immediately after the selection of a touchdown point in the error correction mode can be changed, which allows an efficient and fast fixing of errors. Similarly, parameters can be optimized quickly and easily.
  • the graphical user interface comprises at least one graphical representation of the manipulator system, which the manipulator system in a
  • Manipulator also presented the actual manipulator system, so it is easier for an operator, touchdown points, the system state of the
  • Manipulator system can be an actual image of the manipulator system, which was created before, during or after the programming of the manipulator program.
  • the graphical representation may be an abstracted representation such as a stroke representation or a representation created from a CAD model of the manipulator system.
  • the program progress indicator may further indicate at least one of:
  • An indication of wait and / or synchronization instructions of the manipulator program also enables the user to perform operations of the manipulator
  • Manipulator program on the graphical user interface to capture, which have no immediate effect on the manipulator system.
  • instructions and operations that do not cause any operator-perceivable change in the system state can be detected by the operator.
  • the operator can check at any time whether the manipulator program is still running or if there may be an error.
  • Manipulator program allows a clear representation of a flow of the manipulator program.
  • the manipulator program may branch off at a touchdown point if there are different options for proceeding in the touchdown point or in another point of the manipulator program.
  • a manipulator program may provide that when an object has been grabbed, that object is first inspected, and take further action based on the examination. These can be, for example, a reworking of the object, a removal of the object from a production process or a continuation of the processing of the object.
  • the display of repetitions also makes it possible to save recurring elements of the manipulator program in a space-saving manner.
  • the graphical user interface has at least one of the following buttons: a button by means of which the manipulator program can be stopped;
  • a button by means of which touchdown points can be selected which lie between the currently selected point of the program progress display and the point at which the stop of the manipulator system has taken place;
  • Manipulator program can be undone and / or
  • buttons mentioned make it easy and intuitive through the
  • Manipulator program or a model representation of the manipulator program to navigate The button which triggers a stop of the manipulator program makes it possible to interrupt the manipulator program if the operator recognizes an error or wants to optimize parameters.
  • the button by means of which new touch points can be defined, makes it possible to record a system state as a touch point, which is used for a specific error correction or
  • Parameter optimization is optimal. For example, the distance from two adjacent touchdown points can be reduced by defining a new touchdown point between two existing touchdown points. Thus, you can
  • the button with which the manipulator program can be continued allows the program to continue after the interruption and, if necessary, after the correction of an error.
  • the touchdown point selection button allows the manipulator program to be "rewinded" and the manipulator system returned to a system state corresponding to the point of attachment selected, and the button used to undo individual operations of the manipulator program allows independent manipulation backward from touchdown points in the course of the manipulator program, in order, for example, to be able to directly check the influence of a changed parameter
  • the button, by means of which already executed touchdown points can be selected, allows a quick selection of the previous one
  • the graphical user interface comprises at least a second program progress indicator, which displays the current program progress of a Manipulator program displays a second manipulator.
  • the manipulator system comprises a plurality of manipulators.
  • these manipulators can work together. If these are controlled individually, they can also assume different system states. It is therefore advantageous to indicate at which point in the process the respective
  • the program progress bar is associated with a time scale, the time scale being zoomable.
  • a zoomable time scale By a zoomable time scale, a smaller or larger portion of the program progress indicator may be displayed on the display of the manipulator system.
  • Manipulator program as well as details of the manipulator program are displayed. Depending on the nature of the error to be corrected, either an overview, for example to change the order of operations, or details of the manipulator program can be displayed in order to optimize parameters.
  • Program progress indicator is displayed in a shallow time scale and more preferably hidden. Consequently, the timescale that the
  • Program progress indicator assigned is not linear. Thus, times in the course of the manipulator program that do not provide any noteworthy information to the user can be compressed or even hidden, thereby increasing the clarity of relevant information.
  • the program progress indicator is a program progress bar.
  • Program progress bars have the advantage that they can be intuitively captured quickly and give the user a quick feedback on the current
  • the computer program comprising instructions for generating a graphical user interface is integrated in the manipulator program for controlling a manipulator system. It is also possible that the computer program is an independent computer program based on existing computer programs
  • the object is further achieved by a method for navigating through a manipulator program by means of a computer program as described above, the method comprising: - Providing a manipulator program;
  • the method makes it possible to stop a manipulator program by means of a graphical user interface if an error has been detected.
  • the manipulator program can be stopped when, for example, a breakpoint is set for debugging. A breakpoint gives a place in the expiration of the
  • manipulator program should be interrupted, for example, to control parameters, optimize or the like. If the manipulator program is stopped, changes to the manipulator program can be made. These changes may include adjusting parameters and / or changing an order and / or adding operations of the manipulator program and / or the like.
  • the receipt of a touchdown point on the program progress display of the graphical user interface makes it possible to control a selected touchdown point or to establish a system state of the manipulator system which corresponds to the touchdown point.
  • the manipulator program can be "rewound", with the manipulator system assuming a system state corresponding to the touchdown point, after which the manipulator program can be continued from the touchdown point.
  • the method further comprises automatically determining a path from a current location in the flow of the manipulator program to the selected touchdown point and, if automatic detection is not possible, opening an input dialog allowing manual determination of a path. This ensures that the selected touchdown point can be reached. This can on the one hand automatically or on the other hand by an intervention of an operator, as described above, take place.
  • an interaction of an operator with the manipulator system may occur are serviced, and preferably an interaction is displayed to an operator. For example, it may be possible that an error that occurs is not
  • the manipulator system can be corrected automatically by the manipulator system. For example, in a manufacturing process, a component may jam or a defective component may be present. For example, if the manipulator system can not automatically remove these components from the production cycle, operator intervention may be necessary. In this case, the described method may respond to this error case by adding an operator to fix the error.
  • the manipulator system or graphical user interface indicates to the operator which error has been detected and / or how the error can be remedied. Thus, even if a touchdown point can not be reached automatically, this can be achieved after intervention of the operator, without the manipulator program must be restarted.
  • Manipulator system comprising a computer program as described above, wherein the graphical user interface preferably on a hand-held
  • Display device such as a tablet computer and / or smartphone is generated.
  • a control device for a manipulator system is typically the
  • Associated manipulator system and is used to control the manipulator system.
  • Such control devices may themselves include a display on which the graphical user interface may be displayed.
  • Such displays may be, for example, touchscreens or the like. It is also possible for the control device to display the graphical user display additionally or exclusively on a further display device.
  • Display devices are known and may be, for example, tablet computers or smartphones. This is advantageous because tablet computers and smartphones in large quantities are procurable and cheap to procure.
  • Fig. 1 is a schematic representation of a manipulator system
  • FIG. 2 is a schematic model representation of a manipulator program
  • FIG. 3 shows a schematic illustration of a display device comprising a graphical user interface
  • Fig. 4 is a schematic representation of a display device comprising a
  • Fig. 5 is a schematic representation of a program progress display.
  • FIG. 1 shows a manipulator system 1 which comprises a manipulator 30, a control device 20 and a display device 10.
  • the manipulator 30 may be, for example, an industrial robot.
  • the display device 10 may be integrated in the control device 20 or be designed as a separate device.
  • the display device 10 a tablet computer or a
  • a computer program for generating a graphical user interface of a manipulator program can be installed on the display device 10 and / or on the control device 20. Likewise, the computer program can be integrated into an existing manipulator program.
  • Fig. 2 shows a graphical representation of a manipulator program 2.
  • the graphical representation of the manipulator program comprises operations S200 to S261, which are represented by circles.
  • the individual arrows are linked with each other via the solid arrows.
  • the operations of the manipulator program can be executed consecutively or also contain branches.
  • Manipulator system each consistent, ie, starting from the touchdown point operations lead to the same result, regardless of the execution history of the manipulator program.
  • the dotted arrows indicate a possible sequence of the manipulator program.
  • first operation S200 is executed.
  • operation S210 and S211 are proceeded to proceed to operation S220.
  • operation S221, S222, S223, and S225 are performed.
  • operation S225 an error occurs as indicated by a flash.
  • the manipulator program is consequently interrupted in operation S225. Now, for example, by an operator touchdown AP2 is selected to the
  • Manipulator program 2 is assigned can now automatically a path to
  • first operation S250 is executed.
  • operation S262 in order to get to touchdown point AP2, operation S262 must be selected as the next operation. This leads to touchdown point AP3.
  • the touchdown point AP3 is linked to touchdown point AP2 via the path defined via operation S263.
  • the erroneous operation S225 can be automatically returned to the touchdown point AP2.
  • the manipulator system increases according to the
  • a troubleshooting can be performed so that when the manipulator program is re-executed starting from AP2, the
  • Manipulator program can be continued without having to be interrupted in operation S225. Thereafter, operation S250, S260, and S261, for example, may proceed to get to touchdown point AP5.
  • Fig. 3 shows a graphic display device 10, which for example a
  • Smartphone or a tablet computer is.
  • the display device can be integrated in a control device of the manipulator system.
  • the graphical user interface 100 is displayed.
  • the graphical user interface 100 includes a program progress indicator 150, which is displayed in the form of a program progress bar.
  • Program progress bar 150 is, for example, a timeline which indicates by means of a cursor at which point in the course of the manipulator program the manipulator program is currently located.
  • Block structures 210 to 225 are displayed. These block structures 210 to 225 are a model representation of the manipulator program. For example, block 210 represents an operation corresponding to operation S210. Accordingly, block 220 represents an operation corresponding to operation S220 of FIG. Block 220 includes other subordinate blocks corresponding to operations S221, S223, and S225. The current in the course of the manipulator program not executed operations S224, S226 and S227 are in the selected
  • the current program progress can also be represented in the model representation, for example by the colored deposit of the current block.
  • the operation S 223 corresponds in color.
  • FIG. 4 shows another form of the model representation of the manipulator program on the graphical user interface.
  • a graphical model or the like may also be displayed on the graphical user interface 100.
  • the graphic model of the manipulator program already known from FIG. 2 can be displayed. This allows a clear representation of all possible branches of the
  • Manipulator program is highlighted by an appropriate deposit. Additionally, an arrow or cursor 160 may indicate the current program progress.
  • the program progress indicator 150 is shown in detail in FIG. Of the
  • Program progress indicator 150 is associated with a time scale 151. Furthermore, a sequence of touchdown points APi to AP4 is shown on the program progress display. The cursor 155 indicates at which point in the expiration of the
  • Manipulator program is the manipulator program. If, for example, an error occurs after touchdown point AP4 (dashed representation of cursor 155), then the program can be returned to touchdown point AP3. To do this, drag the cursor to the appropriate position in the program progress bar and select the corresponding touch point. Alternatively, a touchdown point can also be selected directly. Buttons 160-165 allow easy operation of the graphical user interface. For example, with button 160, the
  • buttons 161 can be a
  • Button 162 allows the program to continue, while button 163 causes the jump to a touchdown point that is after the current location in the flow of the manipulator program.
  • button 164 individual operations of the manipulator program can be undone.
  • Button 165 allows direct jump back to

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The present invention relates to a computer program for producing a graphical user interface (100) of a manipulator program and to a method for navigating through a manipulator program, wherein the manipulator system (1) controlled by the manipulator program comprises at least one manipulator (30). The manipulator program comprises at least one set-down point (AP1 to AP5). The user interface (100) has a graphical program progress indicator (150) which indicates the current program progress of the manipulator program and the at least one set-down point (AP1 to AP5) of the manipulator program. The at least one set-down point (AP1 to AP5) indicated can be selected by a user, and the manipulator program is set up to control the manipulator system (1) in such a manner that the system assumes a system state assigned to the selected set-down point (AP1 to AP5) in response to the selection. The method comprises the steps of: providing a manipulator program; producing the graphical user interface; stopping the manipulator program; receiving a selection of a set-down point on the program progress indicator of the graphical user interface; and guiding the manipulator program to the selected set-down point, with the result that the manipulator program controls the manipulator system in such a manner that the system assumes the system state assigned to the selected set-down point. Such navigation may be advantageous, in particular, in the field of debugging, error correction and parameter correction or parameter optimization.

Description

VERFAHREN UND COMPUTERPROGRAMM ZUR ERZEUGUNG EINER GRAFISCHEN BENUTZERSCHNITTSTELLE EINES MANIPULATORPROGRAMMS  METHOD AND COMPUTER PROGRAM FOR PRODUCING A GRAPHIC USER INTERFACE OF A MANIPULATOR PROGRAM
Gebiet der Erfindung Field of the invention
Die Erfindung betrifft ein Verfahren und ein Computerprogramm zur Erzeugung einer grafischen Benutzerschnittstelle eines Manipulatorprogramms, welches ein The invention relates to a method and a computer program for generating a graphical user interface of a manipulator program, which comprises
Manipulatorsystem steuert. Weiterhin betrifft die Erfindung Steuerungsvorrichtungen für Manipulatorsysteme, welche Manipulatorsysteme zumindest einen Manipulator umfassen und mittels eines Manipulatorprogramms gesteuert werden. Manipulator system controls. Furthermore, the invention relates to control devices for manipulator systems, which manipulator systems comprise at least one manipulator and are controlled by means of a manipulator program.
Hintergrund background
Manipulatorsysteme umfassen typischerweise 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 Manipulator systems typically 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 in industriellen Anwendungen, wie beispielsweise in der Automobilfertigung zum Einsatz. Manipulator systems are used in industrial applications, such as in automobile production.
Gesteuert werden Manipulatorsysteme typischerweise mittels eines Manipulator systems are typically controlled by means of a
Manipulatorprogramms, welches das Systemverhalten anwendungsspezifisch vorgibt. Die Anforderung an die Programmierung von Manipulatorprogrammen hat sich beispielsweise durch den Einsatz neuer Sensorik, die neue Aufgabenfelder eröffnen, geändert. Beispielsweise können durch den Einsatz von Kraft- und/oder Manipulator program, which specifies the system behavior application-specific. The requirement for programming manipulator programs has changed, for example, through the use of new sensors that open up new fields of activity. For example, through the use of force and / or
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, den kraftgeregelten Werkzeugbetrieb, MRK (Mensch- Roboter-Kooperation) Fähigkeiten und sensitives Greifen. Momentary sensors, such as those used in the industrial robot LBR iiwa from KUKA AG, are programmed with new functionalities. These include, among other things, search trips with sensors, force-controlled tool operation, MRK (human-robot cooperation) capabilities and sensitive gripping.
Die Programmierung von Manipulatorprogrammen erfolgt heute meist mit The programming of manipulator programs is usually done today
domänenspezifischen Programmiersprachen, die z.B. auf BASIC oder PASCAL aufbauen. Ein großer Anteil des Programmierens ist die Fehlerbehebung und Prozess- bzw. Parameteroptimierung, welche im Anschluss der Programmierung des eigentlichen Manipulatorprogramms erfolgt. Fehlersuche und -korrektur erfordern erhebliche zeitliche und personelle Ressourcen, wodurch hohe Kosten entstehen. Weiterhin drohen hohe Schäden, falls ein Fehler nicht erkannt wird und z.B. zu einer Unterbrechung einer Serienproduktion führt. domain-specific programming languages that are based on BASIC or PASCAL, for example. Much of the programming is troubleshooting and process or parameter optimization, which takes place after the programming of the actual manipulator program. Troubleshooting requires significant time and manpower resources, resulting in high costs. Furthermore, high damages threaten, if a mistake is not recognized and leads eg to an interruption of a serial production.
Gewöhnliche Verfahren zur Fehlerbehebung und Fehlerkorrektur nutzen Use common troubleshooting and error correction techniques
typischerweise„Jump To Line"-Befehle. Diese„Jump To Line"-Befehle werden eingesetzt, um bereits ausgeführten Code rückgängig zu machen und/oder an einer neuen Stelle das Programm fortzusetzen. Jedoch kann bei einem gewöhnlichen„Jump To Line" -Befehl nicht sichergestellt werden, dass das Programm korrekt von der neuen Stelle fortgesetzt wird, da nicht alle wesentlichen Systemparameter zurückgesetzt werden können, um einen Systemzustand zu erreichen, der dem Systemzustand entspricht, der vorgelegen hätte, wenn das Programm die betreffende Stelle wie geplant erreicht hätte. Dies kann beispielsweise zu unerwünschten Bewegungen eines Manipulators im Manipulatorsystem führen. Beispielsweise kann ein Parameter, der die Soll- Manipulatorgeschwindigkeit beschreibt nicht auf einen vorher gültigen Wert zurückgesetzt werden. Folglich würde sich der Manipulator nach dem„Jump To Line"- Befehl mit einer anderen Manipulatorgeschwindigkeit bewegen, als eigentlich bestimmt. typically "Jump To Line" commands These "Jump To Line" commands are used to undo already executed code and / or resume the program in a new location. However, an ordinary "Jump To Line" command can not ensure that the program will continue correctly from the new location because not all of the significant system parameters can be reset to achieve a system state that would match the system state that existed This could, for example, lead to unwanted movements of a manipulator in the manipulator system, for example, a parameter that describes the target manipulator speed can not be reset to a previously valid value Move the "Jump To Line" command with a different manipulator speed than actually intended.
Um derartige Fehler zu umgehen, wurden Debugging-Backwards-in-Time-Verfahren entwickelt, welche die Ausführungshistorie eines Programms, wie etwa eines In order to avoid such errors, debugging backwards-in-time methods have been developed which describe the execution history of a program, such as a
Manipulatorprogramms, aufzeichnen. Diese Debugging-Backwards-in-Time-Verfahren ermöglichen ein "Zurückspulen" des Manipulatorprogramms und ein deterministisches Fortführen des Manipulatorprogramms, da immer auf vorher gültige Systemparameter zurückgegriffen werden kann. Das Manipulatorprogramm verhält sich folglich immer so, als wenn es zum ersten Mal ausgeführt würde. Um die Ausführungshistorie des Manipulatorprogramms und somit jeden vergangenen Systemzustand vollständig zu erfassen und zu speichern, sind jedoch aufwändige Sensoren und hohe Speicher- und Rechenressourcen notwendig. Insbesondere erfassen derartige Sensoren Parameter des Manipulatorsystems. Beispielsweise kommen Kameras, Gelenkwinkelsensoren, Kraft- und/oder Momentensensoren, oder dergleichen zum Einsatz. Manipulator program, record. These debugging backwards-in-time procedures allow the manipulator program to be "rewinded" and the manipulator program to be deterministically continued since it can always fall back on previously valid system parameters. Consequently, the manipulator program always behaves as if it were executed for the first time. In order to completely capture and store the execution history of the manipulator program and thus each past system state, however, complex sensors and high storage and computational resources are necessary. In particular, such sensors detect parameters of the manipulator system. For example, cameras, joint angle sensors, force and / or moment sensors, or the like are used.
Neben den hohen Hardware-Anforderungen haben Debugging-Backwards-in-Time- Verfahren komplexe Bedienstrukturen, wodurch gegebenenfalls weitere Fehler in der Programmierung entstehen können. Es ist daher eine Aufgabe der vorliegenden Erfindung, eine Navigation durch ein Manipulatorprogramm, insbesondere bei der Programmerstellung mittels einer grafischen Benutzerschnittstelle bereitzustellen. Eine solche Navigation kann insbesondere im Bereich der Fehlerbehebung und In addition to the high hardware requirements, debugging backwards-in-time processes have complex operating structures, which may cause further errors in the Programming can occur. It is therefore an object of the present invention to provide navigation through a manipulator program, in particular during program creation by means of a graphical user interface. Such navigation can be especially in the field of troubleshooting and
Parameterkorrektur, bzw. Parameteroptimierung vorteilhaft sein. Weiterhin ist es eine Aufgabe der vorliegenden Erfindung, die oben genannten Nachteile zumindest teilweise auszuräumen. Parameterkorrektur, or parameter optimization be advantageous. Furthermore, it is an object of the present invention to at least partially overcome the above-mentioned disadvantages.
Ausführliche Beschreibung der Erfindung Detailed description of the invention
Die Aufgabe wird gelöst durch ein Computerprogramm nach Anspruch l, ein Verfahren nach Anspruch 16 sowie durch eine Steuerungsvorrichtung nach Anspruch ig. The object is achieved by a computer program according to claim 1, a method according to claim 16 and by a control device according to claim ig.
Insbesondere wird die Aufgabe gelöst durch ein Computerprogramm umfassend Anweisungen zur Erzeugung einer grafischen Benutzerschnittstelle eines In particular, the object is achieved by a computer program comprising instructions for generating a graphical user interface of a
Manipulatorprogramms zur Steuerung eines Manipulatorsystems, wobei das Manipulator program for controlling a manipulator system, wherein the
Manipulatorsystem zumindest einen Manipulator umfasst, wobei das Manipulator system comprises at least one manipulator, wherein the
Manipulatorprogramm zumindest einen Aufsetzpunkt umfasst, und wobei die Manipulator program includes at least one touchdown point, and wherein the
Benutzerschnittstelle eine grafische Programmfortschrittsanzeige, die den aktuellen Programmfortschritt des Manipulatorprogramms und den zumindest einen  User interface a graphical program progress display, the current program progress of the manipulator program and the at least one
Aufsetzpunkt des Manipulatorprogramms anzeigt, umfasst, wobei der angezeigte zumindest eine Aufsetzpunkt durch einen Benutzer anwählbar ist. Weiterhin ist das Manipulatorprogramm dazu eingerichtet, das Manipulatorsystem so zu steuern, dass es auf die Anwahl hin einem dem angewählten Aufsetzpunkt zugeordneten Systemzustand einnimmt. Touching point of the manipulator program displays, wherein the displayed at least one touchdown point is selectable by a user. Furthermore, the manipulator program is set up to control the manipulator system in such a way that it assumes a system state assigned to the selected touchdown point upon selection.
Typischerweise wird die grafische Benutzerschnittstelle auf einer Anzeige des Typically, the graphical user interface will be displayed on a display of the
Manipulatorsystems angezeigt. Die Anzeige kann dabei ein Anzeigebildschirm oder ein Eingabebildschirm, wie beispielsweise ein Touchscreen sein. Manipulator system displayed. The display can be a display screen or an input screen, such as a touch screen.
Das Manipulatorprogramm steuert das Manipulatorsystem und insbesondere zumindest einen Manipulator. Die Steuerung kann beispielsweise eine definierte Bewegung des Manipulators vorsehen oder das Greifen von Werkstücken sowie das Bearbeiten von Werkstücken mittels eines Manipulators. Dazu umfasst das The manipulator program controls the manipulator system and in particular at least one manipulator. The controller can for example provide a defined movement of the manipulator or the gripping of workpieces and the machining of workpieces by means of a manipulator. This includes the
Manipulatorprogramm vorzugsweise mehrere Operationen, wobei ein Aufsetzpunkt den Anfang und/oder das Ende einer Operation bildet. Den Aufsetzpunkten des Manipulatorprogramms ist vorzugsweise jeweils ein definierter Systemzustand des Manipulatorsystems zugeordnet. In den Aufsetzpunkten ist der Systemzustand vorzugsweise konsistent, so dass das Manipulatorprogramm von einem Aufsetzpunkt deterministisch fortgesetzt werden kann. Folglich führt eine Operation, die von einem Aufsetzpunkt an ausgeführt wird, immer zum gleichen Ergebnis unabhängig von der Ausführungshistorie des Manipulatorprogramms. Vorzugsweise ist ein Aufsetzpunkt mit zumindest einem weiteren Aufsetzpunkt über zumindest eine Operation verknüpft. Die Reihenfolge der Operationen von einem Aufsetzpunkt zu einem zweiten Aufsetzpunkt wird als Pfad bezeichnet. Dabei kann das Manipulatorprogramm in Programmcode oder in höheren Programmmodellen dargestellt sein. Ebenso ist eine Darstellung des Manipulatorprogramms in Modellform möglich. Die grafische Programmfortschrittsanzeige zeigt dem Benutzer (unabhängig von der Gewählten Darstellung des Manipulatorprogramms) an, wie weit der Ablauf des Manipulatorprogramms fortgeschritten ist. Beispielsweise kann der Beginn einer neuen Operation oder das erfolgreiche Beenden einer durchgeführten Operation angezeigt werden. Die Aufsetzpunkte die zwischen zwei Operationen liegen, werden ebenfalls auf der Programmfortschrittsanzeige angezeigt. Manipulator preferably a plurality of operations, wherein a touchdown point forms the beginning and / or end of an operation. The touchdown points of the manipulator program are preferably each assigned a defined system state of the manipulator system. In the touchdown points is the system state preferably consistent, so that the manipulator program can be continued deterministically from a touchdown point. Consequently, an operation performed from a touchdown point always results in the same result regardless of the execution history of the manipulator program. Preferably, a touchdown point is linked to at least one further touchdown point via at least one operation. The order of operations from a touchdown point to a second touchdown point is referred to as a path. The manipulator program can be represented in program code or in higher program models. Likewise, a representation of the manipulator program in model form is possible. The graphical program progress indicator indicates to the user (regardless of the selected representation of the manipulator program) how far the flow of the manipulator program has progressed. For example, the beginning of a new operation or the successful completion of a performed operation can be displayed. The touchpoints that lie between two operations are also displayed on the program progress bar.
Ist das Manipulatorprogramm noch nicht vollständig lauffähig, d. h. sind noch Fehler enthalten, so kann es beim Durchlaufen des Programms zu programmierungsbedingten Fehlern kommen. Diese Fehler führen beispielsweise zu einer Unterbrechung des Manipulatorprogramms. Alternativ kann auch der Bediener die Ausführung des Manipulatorprogramms unterbrechen, wenn er einen Fehler erkennt. Typische Fehler sind Parametrierfehler oder eine falsche Aneinanderreihung von Operationen im Ablauf des Manipulatorprogramms. Beispielsweise kann eine falsche Bewegung programmiert sein oder eine Parameterschwelle eines Messwerts nicht ausreichend hoch eingestellt sein. Ebenso können Parameterwerte falsch berechnet oder falsch übergeben werden. Weitere Fehler, beispielsweise hervorgerufen durch If the manipulator program is not yet completely executable, d. H. if errors are still present, programming errors may occur when the program is run through. For example, these errors lead to an interruption of the manipulator program. Alternatively, the operator may interrupt the execution of the manipulator program if he detects an error. Typical errors are parameterization errors or a wrong sequence of operations in the course of the manipulator program. For example, a wrong movement may be programmed or a parameter threshold of a measured value may not be set high enough. Similarly, parameter values can be calculated incorrectly or passed incorrectly. Other errors, such as caused by
unvorhergesehene Ereignisse, oder durch das Ansprechen einer unforeseen events, or by addressing a
Sicherheitsüberwachung, sind ebenfalls möglich. Security monitoring is also possible.
Ist ein derartiger Fehler aufgetreten und erkannt worden, so kann ein Benutzer einen dem Fehler im Ablauf des Manipulatorprogramms voranstehenden Aufsetzpunkt auf der Programmfortschrittsanzeige anwählen. In diesem Fall wird das If such an error has occurred and has been detected, then a user can select a preparation point preceding the error in the course of the manipulator program on the program progress display. In this case, that will
Manipulatorprogramm„zurückgespult", so dass es wieder die Parameterwerte, die dem Aufsetzpunkte entsprechen einnimmt. Weiterhin wird das Manipulatorsystem in den Systemzustand zurückgeführt, der dem angewählten Aufsetzpunkt zugeordnet ist. Folglich ist im Anschluss ein erneutes Ausführen des Manipulatorprogramms von dem Aufsetzpunkt möglich, wobei unabhängig von der Ausführungshistorie des The manipulator program is then "rewound" so that it again assumes the parameter values that correspond to the touchdown points, and the manipulator system is returned to the system state assigned to the selected touchdown point Aufsetzpunkt possible, regardless of the execution history of the
Manipulatorprogramms die gleichen Ergebnisse erzielt werden. Manipulator program to achieve the same results.
Vor dem erneuten Start können vorzugsweise erkannte Fehler behoben und/oder Parameter angepasst werden. Somit ist kein Abbruch und Neustart des Before the restart, detected errors can preferably be remedied and / or parameters adjusted. Thus is no demolition and restart of the
Manipulatorprogramms nötig, um einen Fehler zu beheben, sondern es kann unmittelbar von dem angewählten Aufsetzpunkt aus fortgesetzt werden. Weiterhin ist es nicht notwendig, alle Systemparameter und die vollständige Ausführungshistorie aufzuzeichnen, da definierte Aufsetzpunkte geeignete Startpunkte bereitstellen. Der Systemzustand muss folglich nur für einen zugeordneten Aufsetzpunkt definiert werden. Der Pfad zu einem angewählten Aufsetzpunkt von der aktuellen Stelle im Ablauf des Manipulatorprogramms wird vorzugsweise automatisch berechnet. Manipulator program necessary to correct an error, but it can be continued immediately from the selected touchdown point. Furthermore, it is not necessary to record all system parameters and the complete execution history, since defined setup points provide suitable starting points. The system state must therefore only be defined for an assigned touchdown point. The path to a selected touchdown point from the current location in the flow of the manipulator program is preferably calculated automatically.
Vorzugsweise definiert ein Aufsetzpunkt eine Stelle im Ablauf des Preferably, a touchdown point defines a location in the flow of the
Manipulatorprogramms, der ein Systemzustand des Manipulatorsystems zugeordnet ist. Die Zuordnung eines Systemzustands des Manipulatorsystems zu einem Manipulator program, which is associated with a system state of the manipulator system. The assignment of a system state of the manipulator system to a
Aufsetzpunkt ermöglicht das„Zurückspulen" des Manipulatorprogramms und desTouchdown allows "rewinding" the manipulator program and the
Manipulatorsystems zu dem Systemzustand, von dem an das Manipulatorprogramm fortgesetzt werden kann. Manipulator system to the system state from which the manipulator program can be continued.
Vorzugsweise umfasst das Manipulatorprogramm mehrere Operationen, wobei der zumindest eine Aufsetzpunkt den Anfang und/oder das Ende einer Operation und vorzugsweise den Anfang und/oder das Ende einer Operationsstruktur bildet. Eine Operationsstruktur umfasst vorzugsweise mehrere Operationen. Vorzugsweise endet und/oder beginnt nicht jede Operation in einem Aufsetzpunkt. Vorzugsweise sind mehrere Operationen zu einer Operationsstruktur zusammengefasst und diese Operationsstrukturen über Aufsetzpunkte miteinander verknüpft. Dies ermöglicht, Aufsetzpunkte an den Stellen im Ablauf des Manipulatorprogramms zu definieren, deren jeweils zugeordneter Systemzustand für die korrekte Durchführung des Manipulatorprogramms charakteristisch und/oder wichtig ist. Beispielsweise kann ein Aufsetzpunkt nach einer erfolgreichen Bewegung des Manipulators entlang einer definierten Bewegungsbahn gesetzt werden. Ebenso können Bearbeitungsschritte, welche der Manipulator durchführt, von Aufsetzpunkten begrenzt sein. Preferably, the manipulator program comprises a plurality of operations, wherein the at least one touchdown point forms the beginning and / or the end of an operation and preferably the beginning and / or the end of an operation structure. An operation structure preferably comprises several operations. Preferably, not every operation ends and / or begins at a touchdown point. Preferably, a plurality of operations are combined into an operation structure and these operation structures are linked to one another via touchdown points. This makes it possible to define touchdown points at the points in the flow of the manipulator program whose respectively assigned system state is characteristic and / or important for the correct execution of the manipulator program. For example, a touchdown point can be set after a successful movement of the manipulator along a defined trajectory. Likewise, processing steps that the manipulator performs may be limited by touchdown points.
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 remain 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.
Wie oben beschrieben können der Anfang und/oder das Ende einer Operationsstruktur einen Aufsetzpunkt bilden. Von einem Aufsetzpunkt aus kann das As described above, the beginning and / or the end of an operation structure may form a touchdown point. From a Aufsetzpunkt can the
Manipulatorprogramm unabhängig von seiner Ausführungshistorie fortgesetzt werden. Dabei werden immer die gleichen Ergebnisse erzielt. Manipulator program will be continued regardless of its execution history. The same results are always achieved.
Vorzugsweise wird einer Operationsstruktur zumindest eine Reaktionsstruktur zugeordnet, 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. Preferably, an operational structure is assigned at least one reaction structure, wherein the at least one reaction structure contains reaction operations, in the execution of which the manipulator program controls the manipulator system such that it is guided into a system state that corresponds to a touchdown point.
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. Troubleshooting simplified.
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 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 make it possible to continue with a modified plan, that is to say deviate from the operations performed by a pure rewinding. 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 recognizes 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, then forcing the jammed rivet out of the hole a new rivet will be taken, and the operations structure "riveting" will be performed again. 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", commanded another procedure and called an operator. 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. Manipulator program is possible from this Aufsetzpunkt.
Derartige nicht konsistente Systemparameter können beispielsweise aus irreversiblen Prozessen herrühren. Wird beispielsweise ein Schweißprozess mittels des 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" 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  Controlled manipulator program, the parameter "weld length" is irreversible, since, for example, a certain part of the weld was already welded until the error occurs.If an error occurs, the
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 Reaction structure does not produce the same system state as before 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. Welding 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.
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 Preferably, the execution of an operation structure is interrupted upon the occurrence of a fault, and is 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 makes it possible 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 (Pfad) 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 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 response 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 need not correspond to a direct inversion of the operation structure, but can be performed in an alternative way (path) shall be For example, a movement of a manipulator are reversed and the direct return path is blocked, so the manipulator on an alternative
Bewegungsbahn an den Ausgangspunkt der Bewegung zurückgeführt werden. Trajectory can be traced back 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 vorteilhaft. So kann beispielsweise eine vom Manipulator durchgeführte Bewegung unmittelbar zurückgefahren werden. Preferably, the at least one reaction operation undoes an operation of the operation structure. Thus, individual operations can be reversed immediately. This is particularly advantageous in reversible processes. 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. Vorzugsweise kann der Parameter mittels der grafischen Benutzerschnittstelle angepasst werden.  Reaction operation of the reaction structure is changeable. Preferably, the parameter can be adjusted by means of the graphical user interface.
Ein Parameter kann ein nummerischer Parameter, wie beispielsweise eine A parameter can be a numeric parameter, such as a
Manipulatorgeschwindigkeit, oder ein Anweisungsparameter sein, der die Abfolge der Operationen einer Operationsstruktur oder die Auswahl der nachfolgenden Manipulator speed, or an instruction parameter, the sequence of operations of an operation structure or the selection of the subsequent
Operationsstruktur beeinflusst. Somit kann eine Reaktionsoperation bewirken, dass die Operationsstruktur mit veränderten Parametern (z. B. mit langsamerer  Operation structure influenced. Thus, a response operation may cause the operation structure to change with changed parameters (eg, slower
Manipulatorgeschwindigkeit) fortgesetzt oder mit veränderten Parametern wiederholt wird. Ebenso ist es möglich eine alternative Verzweigung des Manipulatorprogramms zu erzielen. Manipulator speed) is continued or repeated with changed parameters. It is also possible to achieve an alternative branching of the manipulator program.
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 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, vorzugsweise mittels der grafischen Benutzerschnittstelle, erfolgt ist. Dies ermöglicht es, falls der aufgetretene Fehler nicht automatisch von dem The reaction structure preferably includes at least one reaction operation whose execution interrupts the interrupted operation structure until an operator input, preferably by means of the graphical user interface, has taken place. This makes it possible, if the error has not occurred automatically by the
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 Manipulator system can be resolved to request the intervention of an operator. For example, the operator may be prompted for a particular one To check system condition, faulty parts or workpieces from the
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, Manipulator system to remove or replace and / or the like. 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. 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, der vorzugsweise Eingaben mittels der grafischen be called, preferably inputs by means of the graphical
Benutzerschnittstelle vornehmen kann, um einen aufgetretenen Fehler zu beheben. Beispielsweise ist es möglich, dass ein Fehler ein Fortsetzen an einem anderen User interface to correct an error that has occurred. For example, it is possible for one error to continue on another
Aufsetzpunkt des Manipulatorprogramms erfordert. Beispielsweise kann eine Touchdown point of the manipulator program requires. For example, a
Operationsstruktur übersprungen werden und das Manipulatorprogramm an anderer Stelle fortgesetzt werden. 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  Operations structure are skipped and continue the manipulator program elsewhere. Thus, an erroneous operation of an operation structure and / or a faulty executed operation structure may be followed by a corresponding reaction structure of the manipulator program. This allows error-dependent, differential error resolution and resuming the
Manipulatorprogramms von einem geeigneten Aufsetzpunkt aus. 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 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 ermöglicht ein Aufsetzpunkt ein korrektes Fortsetzen des Manipulatorprogramms von dieser Stelle im Ablauf des Manipulatorprogramms, unabhängig von der Ausführungshistorie des Manipulatorprogramms. Somit ist sichergestellt, dass der Einfluss einer Fehlerkorrektur oder eines optimierten Parameterwertes isoliert betrachtet werden kann. Führt in der Fortsetzung des Manipulatorprogramms die Fehlerkorrektur oder die Parameterbehebung zu den gewünschten Ergebnissen, so kann weiter fortgefahren werden. Ist eine weitere Iterationsschleife zur Fehlerbehebung oder Parameterkorrektur notwendig, so kann zu dem vorherigen Aufsetzpunkt zurückgekehrt werden und unter denselben Voraussetzungen (z.B. gleiche Parametrierung) das Manipulatorprogramm erneut gestartet werden. Furthermore, parameters can preferably be changed differently depending on the error that has occurred. For example, repeating a reduced-speed operation structure of the manipulator may be performed when a first error occurs or with a changed force threshold of a force monitor of the manipulator when a second error occurs. Other changed parameters are also conceivable. Preferably, a touchdown point allows a correct continuation of the manipulator program from this point in the course of the manipulator program, regardless of the execution history of the manipulator Manipulator program. This ensures that the influence of an error correction or an optimized parameter value can be considered in isolation. If the error correction or the parameter correction leads to the desired results in the continuation of the manipulator program, then it is possible to proceed further. If a further iteration loop is necessary for troubleshooting or parameter correction, it is possible to return to the previous touchdown point and to restart the manipulator program under the same conditions (for example, the same parameterization).
Vorzugsweise ist das Computerprogramm dazu eingerichtet, das Manipulatorprogramm dazu zu veranlassen, einen Pfad von einer aktuellen Stelle im Ablauf des Manipulatorprogramms zu dem angewählten Aufsetzpunkt automatisch zu ermitteln. Tritt ein Fehler in einer Operation des Manipulatorprogramms auf und wurde dieser erkannt, so muss vor dem erneuten Durchführen der fehlerhaften Operation das Programm zu einem vorangegangenen Aufsetzpunkt zurückgespult werden. Dies erfolgt vorzugsweise mittels zumindest einer geeigneten Reaktionsstruktur. Beispielsweise muss ein Manipulator in den Systemzustand zurückbewegt werden, der dem angewählten Aufsetzpunkt entspricht. Kann das Computerprogramm das Manipulatorprogramm dazu veranlassen, einen Pfad von einer aktuellen Stelle im Manipulatorprogramms zum angewählten Aufsetzpunkt automatisch zu ermitteln, so kann schnell mit dem Programm fortgefahren oder die fehlerhafte Operation erneut ausgeführt werden, ohne dass der Bediener eingreifen muss. Preferably, the computer program is set up to cause the manipulator program to automatically determine a path from a current location in the course of the manipulator program to the selected touchdown point. If an error occurs in an operation of the manipulator program and it has been detected, before re-executing the erroneous operation, the program must be rewound to a previous touchdown point. This is preferably done by means of at least one suitable reaction structure. For example, a manipulator must be moved back to the system state corresponding to the selected touchdown point. If the computer program can cause the manipulator program to automatically detect a path from a current point in the manipulator program to the selected point of attachment, then the program can be quickly continued or the erroneous operation can be executed again without the operator having to intervene.
Vorzugsweise ist das Computerprogramm dazu eingerichtet, falls ein automatisches Ermitteln des Pfades nicht möglich ist, einen Eingabedialog zu öffnen, welcher das manuelle Bestimmen eines Pfades ermöglicht. Die manuelle Bestimmung eines Pfades zu einem angewählten Aufsetzpunkt ermöglicht, das Debugging, die Fehlerbehebung oder die Fehlerkorrektur und Parameteroptimierung fortzusetzen, ohne dass das Manipulatorprogramm abgebrochen und neugestartet werden muss. Das manuelle Bestimmen eines Pfades kann beispielsweise durch die Anwahl geeigneter Operationen, Operationsstrukturen und/oder Reaktionsstrukturen erfolgen, die bereits ausgeführte Operationen rückgängig machen oder einen alternativen Pfad zu einem angewählten Aufsetzpunkt ermöglichen. Ebenso kann der Pfad manuell konfiguriert werden, indem der Benutzer beispielsweise mittels eines Joysticks oder anderen Eingabegerätes den Manipulator bzw. das Manipulatorsystem in den Systemzustand bringt, der dem angewählten Aufsetzpunkt zugeordnet ist. Eine Rückmeldung an den Bediener, die das Erreichen des Systemzustands anzeigt oder vereinfacht, kann mittels der grafischen Benutzerschnittstelle angezeigt werden. Preferably, the computer program is set up, if an automatic determination of the path is not possible to open an input dialog, which allows the manual determination of a path. Manually determining a path to a selected touchdown point allows debugging, debugging, or error correction and parameter optimization to continue without the need to abort and restart the manipulator program. The manual determination of a path can be done, for example, by selecting suitable operations, operational structures and / or reaction structures that undo already performed operations or allow an alternative path to a selected touchdown point. Likewise, the path can be manually configured by the user, for example by means of a joystick or other input device brings the manipulator or the manipulator system in the system state, which is assigned to the selected touchdown point. A feedback to the operator who did the Displaying or simplifying the state of the system can be displayed by means of the graphical user interface.
Vorzugsweise umfasst die grafische Benutzerschnittstelle zumindest eine Preferably, the graphical user interface comprises at least one
Modelldarstellung des Manipulatorprogramms, wobei der Programmfortschritt und/oder der zumindest eine Aufsetzpunkt des Manipulatorprogramms und/oder eine Anwahl eines Aufsetzpunktes des Manipulatorprogramms auf der Model representation of the manipulator program, wherein the program progress and / or the at least one touchdown point of the manipulator program and / or a selection of a touchdown point of the manipulator program on the
Programmfortschrittsanzeige in der Modelldarstellung des Manipulatorprogramms angezeigt werden können. Der Programmfortschritt kann beispielsweise durch einen Cursor, einen Pfeil oder eine farbige Hinterlegung oder dergleichen angezeigt werden. Die Modelldarstellung kann dabei ein semantisches Modell, ein Flussdiagramm oder ein anderes bekanntes grafisch-darstellbares Modell eines Manipulatorprogramms sein. Program progress indicator can be displayed in the model representation of the manipulator program. The program progress may be indicated by, for example, a cursor, an arrow or a colored deposit or the like. The model representation can be a semantic model, a flow chart or another known graphically representable model of a manipulator program.
Die Aufsetzpunkte können beispielsweise durch entsprechende Hervorhebungen zwischen den einzelnen Operationen des Manipulatorprogramms dargestellt sein. Eine Anwahl eines Aufsetzpunktes des Manipulatorprogramms kann ebenfalls durch einen Cursor oder eine farbliche oder grafische Hervorhebung kenntlich gemacht werden. Andere Anzeigemethoden sind ebenfalls möglich. Somit sieht der Benutzer, an welcher Stelle im Ablauf sich das Manipulatorprogramm befindet und, falls er einen The touchdown points can be represented for example by appropriate emphasis between the individual operations of the manipulator program. A selection of a touchdown point of the manipulator program can also be identified by a cursor or a color or graphic highlighting. Other display methods are also possible. Thus, the user sees at what point in the flow the manipulator program is located and, if he has one
Aufsetzpunkt anwählt, welchen Aufsetzpunkt er anwählt. Zudem kann ihm angezeigt werden, welche Aufsetzpunkte derzeit anwählbar sind, d. h. welche Aufsetzpunkte vor der aktuellen Stelle im Ablauf des Manipulatorprogramms liegen, oder welche Touch point selects which touchdown point he selects. It can also be displayed to him, which Aufsetzpunkte are currently selectable, d. H. which touch points are in front of the current location in the course of the manipulator program, or which
Aufsetzpunkte über alternative Pfade erreichbar sind. Attachment points can be reached via alternative paths.
Vorzugsweise wird beim Navigieren durch das Manipulatorprogramm mittels der grafischen Benutzerschnittstelle und insbesondere mittels der Preferably, when navigating through the manipulator program by means of the graphical user interface and in particular by means of the
Programmfortschrittsanzeige die aktuelle Anwahl des Benutzers an Stellen der Program progress display shows the user's current selection in places
Programmfortschrittsanzeige, welche einem Aufsetzpunkt entsprechen gefangen, um die Anwahl des Aufsetzpunktes zu vereinfachen. Wählt ein Benutzer beispielsweise einen Punkt in der Nähe eines Aufsetzpunktes an, so kann die Anwahl automatisch auf den entsprechenden Aufsetzpunkt springen. Ebenso kann, wenn der Benutzer die Anwahl über die Programmfortschrittsanzeige führt, die Anwahl an einem  Program progress indicator, which correspond to a touchdown point caught in order to simplify the selection of the touchdown point. For example, if a user selects a point near a touchdown point, the selection can automatically jump to the corresponding touchdown point. Likewise, if the user guides the selection via the program progress indication, the selection can be made on one
Aufsetzpunkt verharren, d.h. gefangen werden, um dem Benutzer die Position des Aufsetzpunktes mitzuteilen und die Anwahl des Aufsetzpunktes zu vereinfachen.  Touchdown point persist, i. be caught in order to inform the user of the position of the touchdown point and to simplify the selection of the touchdown point.
Vorzugsweise ist dem zumindest einen angezeigten Aufsetzpunkt eine Verknüpfung zugeordnet, mit deren Hilfe ein Eingabedialog geöffnet werden kann, mittels welchem das Manipulatorprogramm verändert werden kann. Beispielsweise kann beim Preferably, the link is assigned to the at least one displayed touchdown point, with the aid of which an input dialog can be opened by means of which the manipulator program can be changed. For example, at
Auftreten eines Fehlers und der Anwahl eines Aufsetzpunktes eine Parameterliste in einem Eingabedialog angezeigt werden, welche die für die nach dem Aufsetzpunkt ausgeführten Operationen charakteristisch sind. Somit kann unmittelbar eine Occurrence of an error and the selection of a touchdown point, a parameter list will be displayed in an input dialog which is characteristic of the operations performed after the touchdown point. Thus directly one can
Parameteroptimierung durchgeführt werden. Ebenso ist es möglich, dass ein Editor angezeigt wird, der zum Beispiel den Ablauf oder die Reihenfolge von Operationen, welche nach dem Aufsetzpunkt durchgeführt wurden verändern kann. Weitere Änderungen im Manipulatorprogramm können mittels des Eingabedialogs ebenfalls möglich sein. Somit kann unmittelbar nach der Anwahl eines Aufsetzpunktes in den Fehlerkorrekturmodus gewechselt werden, der ein effizientes und schnelles Beheben von Fehlern ermöglicht. Ebenso können Parameter schnell und einfach optimiert werden. Parameter optimization are performed. It is also possible to display an editor that can, for example, change the sequence or sequence of operations performed after the touchdown point. Further changes in the manipulator program can also be possible by means of the input dialog. Thus, immediately after the selection of a touchdown point in the error correction mode can be changed, which allows an efficient and fast fixing of errors. Similarly, parameters can be optimized quickly and easily.
Vorzugsweise umfasst die grafische Benutzerschnittstelle zumindest eine grafische Darstellung des Manipulatorsystems, welche das Manipulatorsystem in einem Preferably, the graphical user interface comprises at least one graphical representation of the manipulator system, which the manipulator system in a
Systemzustand zeigt, der dem zumindest einen Aufsetzpunkt entspricht, wobei die zumindest eine grafische Darstellung mit dem angezeigten Aufsetzpunkt verknüpft ist. Wird auf der grafischen Benutzerschnittstelle neben einem Fortschritt des System state that corresponds to the at least one touchdown point, wherein the at least one graphical representation is linked to the displayed touchdown point. Is displayed on the graphical user interface alongside a progress of
Manipulatorprogramms auch das tatsächliche Manipulatorsystem dargestellt, so ist es für einen Bediener einfacher, Aufsetzpunkte, die einem Systemzustand des Manipulator also presented the actual manipulator system, so it is easier for an operator, touchdown points, the system state of the
Manipulatorsystems entsprechen anzuwählen. Somit wird die Anwahl eines korrekten oder günstigen Aufsetzpunktes vereinfacht. Die grafische Darstellung des Correspond to the manipulator system. Thus, the selection of a correct or favorable touchdown point is simplified. The graphic representation of the
Manipulatorsystems kann dabei ein tatsächliches Bild des Manipulatorsystems sein, welches vor, während oder nach der Programmierung des Manipulatorprogramms erstellt wurde. Ebenso kann die grafische Darstellung eine abstrahierte Darstellung, wie beispielsweise eine Strichdarstellung oder eine Darstellung, die aus einem CAD- Modell des Manipulatorsystems erstellt wurde, sein. Manipulator system can be an actual image of the manipulator system, which was created before, during or after the programming of the manipulator program. Likewise, the graphical representation may be an abstracted representation such as a stroke representation or a representation created from a CAD model of the manipulator system.
Vorzugsweise kann die Programmfortschrittsanzeige weiterhin zumindest eines der folgenden Elemente anzeigen: Preferably, the program progress indicator may further indicate at least one of:
- Eine Verknüpfung zu weiteren Daten, wobei weitere Daten grafische - A link to other data, with more data graphical
Darstellungen und/oder Modelldarstellung des Manipulatorprogramms umfassen;  Representations and / or model representation of the manipulator program;
- eine Warte- und/oder Synchronisationsanweisung des Manipulatorprogramms; a wait and / or synchronization instruction of the manipulator program;
- Wiederholungen und/oder Verzweigungen des Manipulatorprogramms. Grafische Darstellungen und Modelldarstellungen des Manipulatorprogramms vereinfachen die Zuordnung eines Systemzustandes zu einem anwählbaren - Repetitions and / or branches of the manipulator program. Graphical representations and model representations of the manipulator program simplify the assignment of a system state to a selectable one
Aufsetzpunkt. Eine Anzeige von Warte- und/oder Synchronisationsanweisungen des Manipulatorprogramms ermöglicht es dem Benutzer, auch Vorgänge des Touchdown. An indication of wait and / or synchronization instructions of the manipulator program also enables the user to perform operations of the manipulator
Manipulatorprogramms auf der grafischen Benutzerschnittstelle zu erfassen, welche keine unmittelbare Auswirkung auf das Manipulatorsystem haben. Somit können Anweisungen und Operationen, die keine durch den Bedienenden wahrnehmbare Änderung des Systemzustands hervorrufen vom Bediener erfasst werden. Folglich kann sich der Bediener jederzeit vergewissern, ob das Manipulatorprogramm noch ausgeführt wird, oder ob möglicherweise ein Fehler vorliegt. Manipulator program on the graphical user interface to capture, which have no immediate effect on the manipulator system. Thus, instructions and operations that do not cause any operator-perceivable change in the system state can be detected by the operator. As a result, the operator can check at any time whether the manipulator program is still running or if there may be an error.
Die Anzeige von Wiederholungen und/oder Verzweigungen des The display of repetitions and / or branches of the
Manipulatorprogramms ermöglicht eine übersichtliche Darstellung eines Ablaufs des Manipulatorprogramms. Beispielsweise kann sich das Manipulatorprogramm in einem Aufsetzpunkt verzweigen, wenn in dem Aufsetzpunkt oder in einem anderen Punkt des Manipulatorprogramms unterschiedliche Optionen des Fortfahrens bestehen. Manipulator program allows a clear representation of a flow of the manipulator program. For example, the manipulator program may branch off at a touchdown point if there are different options for proceeding in the touchdown point or in another point of the manipulator program.
Beispielsweise kann ein Manipulatorprogramm vorsehen, wenn ein Objekt gegriffen wurde, dass dieses Objekt zunächst geprüft wird, und abhängig von der Prüfung weitere Schritte einleiten. Diese können beispielsweise ein Nachbearbeiten des Objekts sein, ein Entfernen des Objekts aus einem Produktionsprozess oder ein Fortsetzen der Bearbeitung des Objekts. Das Anzeigen von Wiederholungen ermöglicht es darüber hinaus, wiederkehrende Elemente des Manipulatorprogramms platzsparend anzuzeigen.  For example, a manipulator program may provide that when an object has been grabbed, that object is first inspected, and take further action based on the examination. These can be, for example, a reworking of the object, a removal of the object from a production process or a continuation of the processing of the object. The display of repetitions also makes it possible to save recurring elements of the manipulator program in a space-saving manner.
Vorzugsweise weist die grafische Benutzerschnittstelle zumindest eine der folgenden Schaltflächen auf: - eine Schaltfläche, mittels welcher das Manipulatorprogramm gestoppt werden kann; Preferably, the graphical user interface has at least one of the following buttons: a button by means of which the manipulator program can be stopped;
- eine Schaltfläche, mittels welcher ein neuer Aufsetzpunkt an einer  a button, by means of which a new touchdown point at a
ausgewählten, auf der Programmfortschrittsanzeige angezeigten Stelle definiert werden kann und/oder mittels welcher ein neuer Pfad definiert werden kann; - eine Schaltfläche, mittels welcher das Manipulatorprogramm von einer  selected location indicated on the program progress display can be defined and / or by means of which a new path can be defined; a button, by which the manipulator program of a
angewählten, auf der Programmfortschrittsanzeige angezeigten Stelle fortgesetzt kann; - eine Schaltfläche, mittels welcher Aufsetzpunkte angewählt werden können, die zwischen der aktuell angewählten Stelle der Programmfortschrittsanzeige und der Stelle, an welcher der Stopp des Manipulatorsystems erfolgt ist, liegen;selected location indicated on the program progress indication can continue; a button, by means of which touchdown points can be selected which lie between the currently selected point of the program progress display and the point at which the stop of the manipulator system has taken place;
- eine Schaltfläche, mittels welcher einzelne Operationen des a button by means of which individual operations of the
Manipulatorprogramms rückgängig gemacht werden können und/ oder Manipulator program can be undone and / or
Aufsetzpunkte angewählt werden können und/oder Aufsetzpunkte can be selected and / or
- eine Schaltfläche, mittels welcher bereits durchlaufene Aufsetzpunkte  a button, by means of which already executed touchdown points
angewählt werden können.  can be selected.
Die genannten Schaltflächen ermöglichen es, einfach und intuitiv durch das The buttons mentioned make it easy and intuitive through the
Manipulatorprogramm oder eine Modelldarstellung des Manipulatorprogramms zu navigieren. Die Schaltfläche, welche einen Stopp des Manipulatorprogramms auslöst, ermöglicht es, das Manipulatorprogramm zu unterbrechen, wenn der Bediener einen Fehler erkennt oder Parameter optimieren möchte. Die Schaltfläche, mittels welcher neue Aufsetzpunkte definiert werden können, ermöglicht es, einen Systemzustand als Aufsetzpunkt zu erfassen, welcher für eine bestimmte Fehlerbehebung oder Manipulator program or a model representation of the manipulator program to navigate. The button which triggers a stop of the manipulator program makes it possible to interrupt the manipulator program if the operator recognizes an error or wants to optimize parameters. The button, by means of which new touch points can be defined, makes it possible to record a system state as a touch point, which is used for a specific error correction or
Parameteroptimierung optimal ist. Beispielsweise kann so der Abstand von zwei benachbarten Aufsetzpunkten verkleinert werden, indem ein neuer Aufsetzpunkt zwischen zwei bestehenden Aufsetzpunkten definiert wird. Somit können  Parameter optimization is optimal. For example, the distance from two adjacent touchdown points can be reduced by defining a new touchdown point between two existing touchdown points. Thus, you can
Wiederholungen bereits stabil laufender Operationen vermieden und Zeit eingespart werden. Die Schaltfläche, mit welcher das Manipulatorprogramm fortgesetzt werden kann, ermöglicht nach der Unterbrechung und gegebenenfalls nach der Korrektur eines Fehlers, das Programm fortzusetzen. Die Schaltfläche zur Anwahl von Aufsetzpunkten ermöglicht es, das„Zurückspulen" des Manipulatorprogramms und das Zurückführen des Manipulatorsystems in einen Systemzustand, der dem angewählten Aufsetzpunkt entspricht, zu veranlassen. Die Schaltfläche, mittels welcher einzelne Operationen des Manipulatorprogramms rückgängig gemacht werden, ermöglicht es, unabhängig von Aufsetzpunkten im Ablauf des Manipulatorprogramms zurückzuschreiten, um beispielsweise den Einfluss eines geänderten Parameters unmittelbar überprüfen zu können. Die Schaltfläche, mittels welcher bereits durchlaufene Aufsetzpunkte angewählt werden können, ermöglicht ein schnelles Anwählen vorangegangenerRepetitions of already stable operations are avoided and time is saved. The button with which the manipulator program can be continued allows the program to continue after the interruption and, if necessary, after the correction of an error. The touchdown point selection button allows the manipulator program to be "rewinded" and the manipulator system returned to a system state corresponding to the point of attachment selected, and the button used to undo individual operations of the manipulator program allows independent manipulation backward from touchdown points in the course of the manipulator program, in order, for example, to be able to directly check the influence of a changed parameter The button, by means of which already executed touchdown points can be selected, allows a quick selection of the previous one
Aufsetzpunkte. Somit können die wesentlichen Funktionen des Computerprogramms unmittelbar von der grafischen Benutzerschnittstelle über Schaltflächen aufgerufen werden. Placement points. Thus, the essential functions of the computer program can be called up directly from the graphical user interface via buttons.
Vorzugsweise umfasst die grafische Benutzerschnittstelle zumindest eine zweite Programmfortschrittsanzeige, welche den aktuellen Programmfortschritt eines Manipulatorprogramms eines zweiten Manipulators anzeigt. Dies ist insbesondere dann vorteilhaft, wenn das Manipulatorsystem mehrere Manipulatoren umfasst. Beispielsweise können diese Manipulatoren zusammenarbeiten. Werden diese einzeln angesteuert, können sie auch unterschiedliche Systemzustände einnehmen. Es ist daher vorteilhaft, anzuzeigen, an welcher Stelle im Ablauf sich das jeweilige Preferably, the graphical user interface comprises at least a second program progress indicator, which displays the current program progress of a Manipulator program displays a second manipulator. This is particularly advantageous when the manipulator system comprises a plurality of manipulators. For example, these manipulators can work together. If these are controlled individually, they can also assume different system states. It is therefore advantageous to indicate at which point in the process the respective
Manipulatorprogramm befindet. Manipulator program is located.
Vorzugsweise ist der Programmfortschrittsanzeige eine Zeitskala zugeordnet, wobei die Zeitskala zoombar ist. Durch eine zoombare Zeitskala kann ein kleinerer bzw. größerer Abschnitt der Programmfortschrittsanzeige auf der Anzeige des Manipulatorsystems angezeigt werden. Somit können sowohl eine Übersicht über das gesamte Preferably, the program progress bar is associated with a time scale, the time scale being zoomable. By a zoomable time scale, a smaller or larger portion of the program progress indicator may be displayed on the display of the manipulator system. Thus, both an overview of the entire
Manipulatorprogramm als auch Details des Manipulatorprogramms angezeigt werden. Je nach Art des zu behebenden Fehlers können entweder eine Übersicht, um beispielsweise die Reihenfolge von Operationen zu verändern, oder Details des Manipulatorprogramms angezeigt werden, um Parameter zu optimieren. Manipulator program as well as details of the manipulator program are displayed. Depending on the nature of the error to be corrected, either an overview, for example to change the order of operations, or details of the manipulator program can be displayed in order to optimize parameters.
Vorzugsweise werden Wartezeiten des Manipulatorsystems in der Preferably, waiting times of the manipulator system in the
Programmfortschrittsanzeige in einer gerafften Zeitskala angezeigt und noch bevorzugter ausgeblendet. Folglich muss die Zeitskala, die der Program progress indicator is displayed in a shallow time scale and more preferably hidden. Consequently, the timescale that the
Programmfortschrittsanzeige zugeordnet ist nicht linear sein. Somit können Zeiten im Ablauf des Manipulatorprogramms, die keine nennenswerten Informationen an den Benutzer bereitstellen, komprimiert dargestellt oder gar ausgeblendet werden, wodurch die Übersichtlichkeit relevanter Informationen erhöht wird.  Program progress indicator assigned is not linear. Thus, times in the course of the manipulator program that do not provide any noteworthy information to the user can be compressed or even hidden, thereby increasing the clarity of relevant information.
Vorzugsweise ist die Programmfortschrittsanzeige eine Programmfortschrittsleiste. Programmfortschrittsleisten haben den Vorteil, dass sie intuitiv schnell erfasst werden können und dem Benutzer eine schnelle Rückmeldung über den aktuellen Preferably, the program progress indicator is a program progress bar. Program progress bars have the advantage that they can be intuitively captured quickly and give the user a quick feedback on the current
Programmfortschritt geben können. Program progress.
Vorzugsweise ist das Computerprogramm, umfassend Anweisungen zur Erzeugung einer grafischen Benutzerschnittstelle im Manipulatorprogramm zur Steuerung eines Manipulatorsystems integriert. Ebenso ist es möglich, dass das Computerprogramm ein eigenständiges Computerprogramm ist, das auf bestehende Preferably, the computer program comprising instructions for generating a graphical user interface is integrated in the manipulator program for controlling a manipulator system. It is also possible that the computer program is an independent computer program based on existing computer programs
Manipulatorprogramme angewendet werden kann. Manipulator programs can be applied.
Die Aufgabe wird weiterhin gelöst durch ein Verfahren zur Navigation durch ein Manipulatorprogramm mittels eines Computerprogramms wie oben beschrieben, wobei das Verfahren umfasst: - Bereitstellen eines Manipulatorprogramms; The object is further achieved by a method for navigating through a manipulator program by means of a computer program as described above, the method comprising: - Providing a manipulator program;
- Erzeugung der grafischen Benutzerschnittstelle;  - generation of the graphical user interface;
- Stoppen des Manipulatorprogramms;  - stopping the manipulator program;
- Empfang einer Anwahl eines Aufsetzpunktes auf der  - Receipt of a selection of a touchdown point on the
Programmfortschrittsanzeige der grafischen Benutzerschnittstelle, und Program progress display of the graphical user interface, and
- Führen des Manipulatorprogramms zu dem angewählten Aufsetzpunkt, so dass das Manipulatorprogramm das Manipulatorsystem so steuert, dass es den dem angewählten Aufsetzpunkt zugeordneten Systemzustand einnimmt. - Guide the manipulator program to the selected touchdown point, so that the manipulator program controls the manipulator system so that it assumes the system state assigned to the selected touchdown point.
Das Verfahren ermöglicht es, mittels einer grafischen Benutzerschnittstelle ein Manipulatorprogramm zu stoppen, falls ein Fehler erkannt wurde. Ebenso kann das Manipulatorprogramm gestoppt werden, wenn beispielsweise ein Haltepunkt zum Debuggen gesetzt wird. Ein Haltepunkt gibt eine Stelle im Ablauf des The method makes it possible to stop a manipulator program by means of a graphical user interface if an error has been detected. Similarly, the manipulator program can be stopped when, for example, a breakpoint is set for debugging. A breakpoint gives a place in the expiration of the
Manipulatorprogramms vor, an der das Manipulatorprogramm gestoppt bzw. Manipulator program at which the manipulator program is stopped or
unterbrochen werden soll, um beispielsweise Parameter zu kontrollieren, zu optimieren oder dergleichen. Ist das Manipulatorprogramm gestoppt, so können Änderungen des Manipulatorprogramms vorgenommen werden. Diese Änderungen können die Anpassung von Parametern und/oder die Änderung einer Reihenfolge und/oder das Hinzufügen von Operationen des Manipulatorprogramms und/ oder dergleichen umfassen. Das Empfangen eines Aufsetzpunktes auf der Programmfortschrittsanzeige der grafischen Benutzerschnittstelle ermöglicht es, einen angewählten Aufsetzpunkt anzusteuern bzw. einen Systemzustand des Manipulatorsystems herzustellen, welcher dem Aufsetzpunkt entspricht. Somit kann das Manipulatorprogramm„zurückgespult" werden, wobei das Manipulatorsystem einen dem Aufsetzpunkt entsprechenden Systemzustand einnimmt. Anschließend kann das Manipulatorprogramm von dem Aufsetzpunkt aus fortgesetzt werden. should be interrupted, for example, to control parameters, optimize or the like. If the manipulator program is stopped, changes to the manipulator program can be made. These changes may include adjusting parameters and / or changing an order and / or adding operations of the manipulator program and / or the like. The receipt of a touchdown point on the program progress display of the graphical user interface makes it possible to control a selected touchdown point or to establish a system state of the manipulator system which corresponds to the touchdown point. Thus, the manipulator program can be "rewound", with the manipulator system assuming a system state corresponding to the touchdown point, after which the manipulator program can be continued from the touchdown point.
Vorzugsweise umfasst das Verfahren weiterhin das automatische Ermitteln eines Pfades von einer aktuellen Stelle im Ablauf des Manipulatorprogramms zu dem angewählten Aufsetzpunkt und, falls ein automatisches Ermitteln nicht möglich ist, das Öffnen eines Eingabedialoges, welcher das manuelle Bestimmen eines Pfades ermöglicht. Somit ist sichergestellt, dass der angewählte Aufsetzpunkt erreicht werden kann. Dies kann einerseits automatisch oder andererseits durch ein Eingreifen eines Bedieners, wie oben beschrieben, erfolgen. Preferably, the method further comprises automatically determining a path from a current location in the flow of the manipulator program to the selected touchdown point and, if automatic detection is not possible, opening an input dialog allowing manual determination of a path. This ensures that the selected touchdown point can be reached. This can on the one hand automatically or on the other hand by an intervention of an operator, as described above, take place.
Vorzugsweise kann beim Führen des Manipulatorprogramms zu dem angewählten Aufsetzpunkt auf eine Interaktion eines Bedieners mit dem Manipulatorsystems gewartet werden, und vorzugsweise wird eine Interaktion für einen Bediener angezeigt. Es kann beispielsweise möglich sein, dass ein Fehler, welcher auftritt, nicht Preferably, in guiding the manipulator program to the selected touchdown point, an interaction of an operator with the manipulator system may occur are serviced, and preferably an interaction is displayed to an operator. For example, it may be possible that an error that occurs is not
automatisch vom Manipulatorsystem behoben werden kann. Beispielsweise kann sich in einem Fertigungsprozess ein Bauteil verklemmen oder ein defektes Bauteil vorhanden sein. Kann das Manipulatorsystem diese Bauteile beispielsweise nicht automatisch aus dem Produktionszyklus entfernen, ist gegebenenfalls ein Eingreifen des Bedieners notwendig. In diesem Fall kann das beschriebene Verfahren auf diesen Fehlerfall so reagieren, dass ein Bediener hinzu gezogen wird, der den Fehler behebt. Vorzugsweise zeigt das Manipulatorsystem bzw. die grafische Benutzerschnittstelle dem Bediener an, welcher Fehler erkannt wurde, und/oder wie der Fehler behoben werden kann. Somit kann auch falls ein Aufsetzpunkt nicht automatisch erreicht werden kann, dieser nach Eingreifen des Bedieners erreicht werden, ohne dass das Manipulatorprogramm erneut gestartet werden muss. can be corrected automatically by the manipulator system. For example, in a manufacturing process, a component may jam or a defective component may be present. For example, if the manipulator system can not automatically remove these components from the production cycle, operator intervention may be necessary. In this case, the described method may respond to this error case by adding an operator to fix the error. Preferably, the manipulator system or graphical user interface indicates to the operator which error has been detected and / or how the error can be remedied. Thus, even if a touchdown point can not be reached automatically, this can be achieved after intervention of the operator, without the manipulator program must be restarted.
Die Aufgabe wird weiterhin gelöst durch eine Steuerungsvorrichtung für ein The object is further achieved by a control device for a
Manipulatorsystem umfassend ein Computerprogramm wie oben beschrieben, wobei die grafische Benutzerschnittstelle vorzugsweise auf einer handgehaltenen Manipulator system comprising a computer program as described above, wherein the graphical user interface preferably on a hand-held
Anzeigevorrichtung wie einem Tablet-Computer und/oder Smartphone erzeugt wird. Eine Steuerungsvorrichtung für ein Manipulatorsystem ist typischerweise dem Display device such as a tablet computer and / or smartphone is generated. A control device for a manipulator system is typically the
Manipulatorsystem zugeordnet und dient der Steuerung des Manipulatorsystems. Derartige Steuervorrichtungen können selbst eine Anzeige umfassen, auf der die grafische Benutzerschnittstelle angezeigt werden kann. Derartige Anzeigen können beispielsweise Touchscreens oder dergleichen sein. Ebenso ist es möglich, dass die Steuerungsvorrichtung die grafische Benutzeranzeige zusätzlich oder ausschließlich auf einer weiteren Anzeigevorrichtung anzeigt. Anzeigevorrichtungen sind bekannt und können beispielsweise Tablet-Computer oder Smartphones sein. Dies ist vorteilhaft, da Tablet-Computer und Smartphones in großer Stückzahl vorfugbar und günstig zu beschaffen sind. Associated manipulator system and is used to control the manipulator system. Such control devices may themselves include a display on which the graphical user interface may be displayed. Such displays may be, for example, touchscreens or the like. It is also possible for the control device to display the graphical user display additionally or exclusively on a further display device. Display devices are known and may be, for example, tablet computers or smartphones. This is advantageous because tablet computers and smartphones in large quantities are procurable and cheap to procure.
Beschreibung der Figuren Description of the figures
Im Folgenden wird die Erfindung mittels der angefügten Figuren beschrieben. Dabei zeigt In the following the invention will be described by means of the appended figures. It shows
Fig. 1 eine schematische Darstellung eines Manipulatorsystems; Fig. 1 is a schematic representation of a manipulator system;
Fig. 2 eine schematische Modelldarstellung eines Manipulatorprogramms; Fig. 3 eine schematische Darstellung einer Anzeigevorrichtung umfassend eine grafische Benutzerschnittstelle; FIG. 2 is a schematic model representation of a manipulator program; FIG. 3 shows a schematic illustration of a display device comprising a graphical user interface;
Fig. 4 eine schematische Darstellung einer Anzeigevorrichtung, umfassend eine Fig. 4 is a schematic representation of a display device comprising a
weitere grafische Benutzerschnittstelle, und Fig. 5 eine schematische Darstellung einer Programmfortschrittsanzeige.  further graphical user interface, and Fig. 5 is a schematic representation of a program progress display.
Insbesondere zeigt Fig. ι ein Manipulatorsystem l, welches einen Manipulator 30, eine Steuerungsvorrichtung 20 sowie eine Anzeigevorrichtung 10 umfasst. Der Manipulator 30 kann beispielsweise ein Industrieroboter sein. Die Anzeigevorrichtung 10 kann in die Steuerungsvorrichtung 20 integriert sein oder als separates Gerät ausgebildet sein. Beispielsweise kann die Anzeigevorrichtung 10 ein Tablet-Computer oder ein In particular, FIG. 1 shows a manipulator system 1 which comprises a manipulator 30, a control device 20 and a display device 10. The manipulator 30 may be, for example, an industrial robot. The display device 10 may be integrated in the control device 20 or be designed as a separate device. For example, the display device 10, a tablet computer or a
Smartphone sein, welches drahtgebunden oder drahtlos mit der Steuerungsvorrichtung 20 des Manipulatorsystems 1 kommuniziert. Ein Computerprogramm zur Erzeugung einer grafischen Benutzerschnittstelle eines Manipulatorprogramms kann auf der Anzeigevorrichtung 10 und/oder auf der Steuerungsvorrichtung 20 installiert sein. Ebenso kann das Computerprogramm in ein bestehendes Manipulatorprogramm integriert sein.  Smartphone, which is wired or wirelessly communicates with the control device 20 of the manipulator system 1. A computer program for generating a graphical user interface of a manipulator program can be installed on the display device 10 and / or on the control device 20. Likewise, the computer program can be integrated into an existing manipulator program.
Fig. 2 zeigt eine grafische Darstellung eines Manipulatorprogramms 2. Die grafische Darstellung des Manipulatorprogramms umfasst Operationen S200 bis S261, welche durch Kreise dargestellt sind. Über die durchgezogenen Pfeile sind die einzelnen Operationen miteinander verknüpft. Die Operationen des Manipulatorprogramms können hintereinander ausgeführt werden oder auch Verzweigungen beinhalten. Fig. 2 shows a graphical representation of a manipulator program 2. The graphical representation of the manipulator program comprises operations S200 to S261, which are represented by circles. The individual arrows are linked with each other via the solid arrows. The operations of the manipulator program can be executed consecutively or also contain branches.
Einzelnen Operationen sind Aufsetzpunkte AP 1 bis AP5 (in Quadraten dargestellt) zugeordnet. In diesen Aufsetzpunkten APi bis AP5 ist der Systemzustand des Individual operations are assigned touch points AP 1 to AP5 (shown in squares). In these touchdown points APi to AP5, the system state of
Manipulatorsystems jeweils konsistent, d. h. ausgehend von dem Aufsetzpunkt führen Operationen zu dem gleichen Ergebnis, unabhängig von der Ausführungshistorie des Manipulatorprogramms. Die gepunktet dargestellte Pfeile zeigen einen möglichen Ablauf des Manipulatorprogramms an. Beginnend bei Aufsetzpunkt APi wird zunächst die Operation S200 ausgeführt. Anschließend wird mit Operation S210 und S211 fortgefahren, um zu Operation S220 zu gelangen. Ausgehend von Operation S220, der der Aufsetzpunkt AP3 zugeordnet ist, werden die Operationen S221, S222, S223 und S225 ausgeführt. In Operation S225 tritt ein Fehler auf, wie durch einen Blitz dargestellt ist. Das Manipulatorprogramm wird folglich in Operation S225 unterbrochen. Nun wird beispielsweise durch einen Bediener Aufsetzpunkt AP2 angewählt, um das Manipulator system each consistent, ie, starting from the touchdown point operations lead to the same result, regardless of the execution history of the manipulator program. The dotted arrows indicate a possible sequence of the manipulator program. Starting at touchdown point APi, first operation S200 is executed. Subsequently, operation S210 and S211 are proceeded to proceed to operation S220. Based on operation S220 associated with the touchdown point AP3, operations S221, S222, S223, and S225 are performed. In operation S225, an error occurs as indicated by a flash. The manipulator program is consequently interrupted in operation S225. Now, for example, by an operator touchdown AP2 is selected to the
Manipulatorprogramm 2 fortzuführen. Das Computerprogramm, welches dem Manipulator program 2 continue. The computer program, which the
Manipulatorprogramm 2 zugeordnet ist kann nun automatisch einen Pfad zu Manipulator program 2 is assigned can now automatically a path to
Aufsetzpunkt 2 ermitteln und entsprechende Operationen vom Manipulatorprogramm ausführen lassen. Dazu wird zunächst Operation S250 ausgeführt. In S260 muss, um zu Aufsetzpunkt AP2 gelangen zu können, als nächste Operation die Operation S262 gewählt werden. Diese führt zum Aufsetzpunkt AP3. Der Aufsetzpunkt AP3 ist über den Pfad, welcher über Operation S263 festgelegt ist, mit Aufsetzpunkt AP2 verknüpft. Folglich kann automatisch von der fehlerhaften Operation S225 zum Aufsetzpunkt AP2 zurückgegangen werden. Das Manipulatorsystem nimmt entsprechend der Determine attachment point 2 and have corresponding operations performed by the manipulator program. For this purpose, first operation S250 is executed. In S260, in order to get to touchdown point AP2, operation S262 must be selected as the next operation. This leads to touchdown point AP3. The touchdown point AP3 is linked to touchdown point AP2 via the path defined via operation S263. As a result, the erroneous operation S225 can be automatically returned to the touchdown point AP2. The manipulator system increases according to the
Operationen wieder den Systemzustand ein, der dem Aufsetzpunkt AP2 zugeordnet ist. Operations again the system state, which is assigned to the touchdown point AP2.
Zudem kann eine Fehlerbehebung durchgeführt werden, so dass beim erneuten Ausführen des Manipulatorprogramms beginnend von AP2 aus das In addition, a troubleshooting can be performed so that when the manipulator program is re-executed starting from AP2, the
Manipulatorprogramm fortgeführt werden kann, ohne in Operation S225 unterbrochen werden zu müssen. Danach kann beispielsweise mit Operation S250, S260 und S261 fortgeführt werden, um zu Aufsetzpunkt AP5 zu gelangen. Manipulator program can be continued without having to be interrupted in operation S225. Thereafter, operation S250, S260, and S261, for example, may proceed to get to touchdown point AP5.
Fig. 3 zeigt eine grafische Anzeigevorrichtung 10, welche beispielsweise ein Fig. 3 shows a graphic display device 10, which for example a
Smartphone oder ein Tablet-Computer ist. Ebenso kann die Anzeigevorrichtung in eine Steuerungseinrichtung des Manipulatorsystems integriert sein. Auf der Smartphone or a tablet computer is. Likewise, the display device can be integrated in a control device of the manipulator system. On the
Anzeigevorrichtung 210 wird die grafische Benutzerschnittstelle 100 angezeigt. Die grafische Benutzerschnittstelle 100 umfasst eine Programmfortschrittsanzeige 150, welche in Form einer Programmfortschrittsleiste dargestellt wird. Die  Display 210, the graphical user interface 100 is displayed. The graphical user interface 100 includes a program progress indicator 150, which is displayed in the form of a program progress bar. The
Programmfortschrittsleiste 150 ist beispielsweise eine Zeitleiste, welche mittels eines Cursors anzeigt, an welcher Stelle im Ablauf des Manipulatorprogramms sich das Manipulatorprogramm aktuell befindet. Program progress bar 150 is, for example, a timeline which indicates by means of a cursor at which point in the course of the manipulator program the manipulator program is currently located.
Auf einem weiteren Teil der grafischen Benutzerschnittstelle 100 werden On another part of the graphical user interface 100 will be
Blockstrukturen 210 bis 225 angezeigt. Diese Blockstrukturen 210 bis 225 sind eine Modelldarstellung des Manipulatorprogramms. So wird beispielsweise mittels Block 210 eine Operation dargestellt, die der Operation S210 entspricht. Entsprechend wird mittels Block 220 eine Operation dargestellt, die der Operation S220 aus Fig. 2 entspricht. Block 220 umfasst weitere untergeordnete Blöcke, die den Operationen S221, S223 und S225 entsprechen. Die im Ablauf des Manipulatorprogramms aktuell nicht ausgeführten Operationen S224, S226 und S227 sind in der gewählten Block structures 210 to 225 are displayed. These block structures 210 to 225 are a model representation of the manipulator program. For example, block 210 represents an operation corresponding to operation S210. Accordingly, block 220 represents an operation corresponding to operation S220 of FIG. Block 220 includes other subordinate blocks corresponding to operations S221, S223, and S225. The current in the course of the manipulator program not executed operations S224, S226 and S227 are in the selected
Modelldarstellung ausgeblendet. Somit kann die Übersichtlichkeit erhöht werden. Model display hidden. Thus, the clarity can be increased.
Neben der Programmfortschrittsleiste 150 kann der aktuelle Programmfortschritt auch in der Modelldarstellung beispielsweise durch die farbige Hinterlegung des aktuellen Blocks dargestellt werden. Beispielsweise ist hier Block 223, der Operation S 223 entspricht farbig hinterlegt. Somit wird dem Bediener angezeigt, dass sich das In addition to the program progress bar 150, the current program progress can also be represented in the model representation, for example by the colored deposit of the current block. For example, here block 223, the operation S 223 corresponds in color. Thus, the operator is notified that the
Manipulatorprogramm aktuell in Operation S223 befindet. Manipulator program currently located in operation S223.
Fig. 4 zeigt eine weitere Form der Modelldarstellung des Manipulatorprogramms auf der grafischen Benutzerschnittstelle. Neben der Programmfortschrittsanzeige 150 kann auch ein grafisches Modell oder dergleichen auf der grafischen Benutzerschnittstelle 100 angezeigt werden. Beispielsweise kann das aus Fig. 2 bereits bekannte grafische Modell des Manipulatorprogramms angezeigt werden. Dies ermöglicht eine übersichtliche Darstellung über alle möglichen Verzweigungen des 4 shows another form of the model representation of the manipulator program on the graphical user interface. In addition to the program progress indicator 150, a graphical model or the like may also be displayed on the graphical user interface 100. For example, the graphic model of the manipulator program already known from FIG. 2 can be displayed. This allows a clear representation of all possible branches of the
Manipulatorprogramms. Operationen werden dabei beispielsweise als Kreise und Aufsetzpunkte als Rechtecke dargestellt. Die aktuell ausgeführte Operation desManipulator program. For example, operations are represented as circles and attachment points as rectangles. The currently running operation of the
Manipulatorprogramms wird durch eine entsprechende Hinterlegung hervorgehoben. Zusätzlich kann ein Pfeil oder ein Cursor 160 auf den aktuellen Programmfortschritt hinweisen. Manipulator program is highlighted by an appropriate deposit. Additionally, an arrow or cursor 160 may indicate the current program progress.
Die Programmfortschrittsanzeige 150 ist detailliert in Fig. 5 dargestellt. Der The program progress indicator 150 is shown in detail in FIG. Of the
Programmfortschrittsanzeige 150 ist eine Zeitskala 151 zugeordnet. Weiterhin ist auf der Programmfortschrittsanzeige eine Abfolge von Aufsetzpunkten APi bis AP4 dargestellt. Der Cursor 155 gibt an, an welcher Stelle im Ablauf des Program progress indicator 150 is associated with a time scale 151. Furthermore, a sequence of touchdown points APi to AP4 is shown on the program progress display. The cursor 155 indicates at which point in the expiration of the
Manipulatorprogramms sich das Manipulatorprogramm befindet. Tritt beispielsweise nach Aufsetzpunkt AP4 ein Fehler auf (gestrichelte Darstellung des Cursors 155), so kann das Programm zu Aufsetzpunkt AP3 zurückgeführt werden. Dazu wird der Cursor an die entsprechende Stelle in der Programmfortschrittsleiste gezogen und der entsprechende Aufsetzpunkt angewählt. Alternativ kann auch ein Aufsetzpunkt direkt angewählt werden. Die Schaltflächen 160-165 ermöglichen eine einfache Bedienung der grafischen Benutzerschnittstelle. Beispielsweise kann mit Schaltfläche 160 das Manipulator program is the manipulator program. If, for example, an error occurs after touchdown point AP4 (dashed representation of cursor 155), then the program can be returned to touchdown point AP3. To do this, drag the cursor to the appropriate position in the program progress bar and select the corresponding touch point. Alternatively, a touchdown point can also be selected directly. Buttons 160-165 allow easy operation of the graphical user interface. For example, with button 160, the
Manipulatorprogramm unterbrochen werden. Mit Schaltfläche 161 kann ein Manipulator program are interrupted. With button 161 can be a
Aufsetzpunkt an der aktuellen Stelle im Ablauf des Manipulatorprogramms definiert und/oder ein neuer Pfad definiert werden. Schaltfläche 162 erlaubt das Fortführen des Programms, während Schaltfläche 163 das Springen zu einem Aufsetzpunkt veranlasst, der nach der aktuellen Stelle im Ablauf des Manipulatorprogramms liegt. Mit Schaltfläche 164 können einzelne Operationen des Manipulatorprogramms rückgängig gemacht werden. Schaltfläche 165 erlaubt das direkte zurückspringen auf Touch point at the current position in the course of the manipulator program defined and / or a new path to be defined. Button 162 allows the program to continue, while button 163 causes the jump to a touchdown point that is after the current location in the flow of the manipulator program. With Button 164, individual operations of the manipulator program can be undone. Button 165 allows direct jump back to
vorangegangene Aufsetzpunkte. previous touchdown points.
Bezugszeichenliste LIST OF REFERENCE NUMBERS
1 Manipulatorsystem 1 manipulator system
10 grafische Anzeigevorrichtung  10 graphical display device
20 Steuerungsvorrichtung  20 control device
30 Manipulator  30 manipulator
AP1-AP5 Aufsetzpunkte  AP1-AP5 touchdown points
S200-S261 Operationen  S200-S261 operations
100 grafische Benutzerschnittstelle  100 graphical user interface
210-225 Blöcke einer Blockdarstellung des Manipulatorprogramms  210-225 blocks of a block diagram of the manipulator program
150 Programmfortschrittsanzeige  150 program progress indicator
160 Pfeil/Cursor  160 arrow / cursor
151 Zeitskala  151 time scale
155 Cursor  155 Cursor
160 bis 165 Schaltflächen  160 to 165 buttons

Claims

Ansprüche l bis 19 Claims 1 to 19
Computerprogramm umfassend Anweisungen zur Erzeugung einer grafischen Benutzerschnittstelle (100) eines Manipulatorprogramms zur Steuerung eines Manipulatorsystems (1), wobei A computer program comprising instructions for generating a graphical user interface (100) of a manipulator program for controlling a manipulator system (1), wherein
das Manipulatorsystem (1) zumindest einen Manipulator (30) umfasst, wobei  the manipulator system (1) comprises at least one manipulator (30), wherein
das Manipulatorprogramm zumindest einen Aufsetzpunkt (APi bis AP5) umfasst, und wobei die Benutzerschnittstelle (100) aufweist:  the manipulator program comprises at least one touchdown point (APi to AP5), and wherein the user interface (100) comprises:
eine grafische Programmfortschrittsanzeige (150), die den aktuellen Programmfortschritt des Manipulatorprogramms und den zumindest einen Aufsetzpunkt (APi bis AP5) des Manipulatorprogramms anzeigt, wobei  a graphical program progress indicator (150) indicating the current program progress of the manipulator program and the at least one touchdown point (APi to AP5) of the manipulator program, wherein
der angezeigte zumindest eine Aufsetzpunkt (APi bis AP5) durch einen Benutzer anwählbar ist; und  the displayed at least one touchdown point (APi to AP5) is selectable by a user; and
wobei das Manipulatorprogramm dazu eingerichtet ist, das  wherein the manipulator program is adapted to the
Manipulatorsystem (1) so zu steuern, dass es auf die Anwahl hin einen dem angewählten Aufsetzpunkt (APi bis AP5) zugeordneten Systemzustand einnimmt. Manipulator system (1) to be controlled so that it takes on a dial the selected touchdown point (APi to AP5) associated system state.
Computerprogramm nach Anspruch 1, wobei ein Aufsetzpunkt (APi bis AP5) eine Stelle im Ablauf des Manipulatorprogramms definiert, der ein The computer program of claim 1, wherein a touchdown point (APi to AP5) defines a location in the flow of the manipulator program that includes
Systemzustand des Manipulatorsystems (1) zugeordnet ist. System state of the manipulator system (1) is assigned.
Computerprogramm nach einem der Ansprüche 1 oder 2, wobei das Computer program according to one of claims 1 or 2, wherein the
Manipulatorprogramm mehrere Operationen (Ol bis On) umfasst, wobei der zumindest eine Aufsetzpunkt (APi bis AP5) den Anfang und/oder das Ende einer Operation (Ol bis On) und vorzugsweise den Anfang und/oder das Ende einer Operationsstruktur, umfassend mehrere Operationen (Ol bis On) bildet. Computerprogramm nach einem der vorhergehenden Ansprüche, wobei einManipulator program comprises a plurality of operations (Ol to On), wherein the at least one touchdown point (APi to AP5) the beginning and / or end of an operation (Ol to On) and preferably the beginning and / or end of an operation structure comprising a plurality of operations ( Ol to On). Computer program according to one of the preceding claims, wherein a
Aufsetzpunkt (APi bis AP5) das korrekte Fortsetzen des Touchdown point (APi to AP5) the correct continuation of the
Manipulatorprogramms von dieser Stelle im Ablauf des Manipulator program from this point in the course of the
Manipulatorprogramms, unabhängig von der Ausführungshistorie des Manipulator program, regardless of the execution history of the
Manipulatorprogramms, ermöglicht. Computerprogramm nach einem der vorhergehenden Ansprüche, wobei das Computerprogramm dazu eingerichtet ist, das Manipulatorprogramm zu veranlassen einen Pfad von einer aktuellen Stelle im Ablauf des Manipulator program, allows. Computer program according to one of the preceding claims, wherein the computer program is set up to cause the manipulator program to specify a path from a current position in the course of the program
Manipulatorprogramms zu dem angewählten Aufsetzpunkt (APi bis AP5) automatisch zu ermitteln. Manipulator program to the selected touchdown point (APi to AP5) to determine automatically.
Computerprogramm nach Anspruch 5, wobei das Computerprogramm dazu eingerichtet ist falls ein automatisches Ermitteln nicht möglich ist, einen Eingabedialog zu öffnen, welcher das manuelle Bestimmen eines Pfades ermöglicht. Computer program according to claim 5, wherein the computer program is set up if an automatic determination is not possible to open an input dialog, which allows the manual determination of a path.
Computerprogramm nach einem der vorhergehenden Ansprüche, wobei die grafische Benutzerschnittstelle (100) zumindest eine Modelldarstellung (2) des Manipulatorprogramms umfasst, wobei Computer program according to one of the preceding claims, wherein the graphical user interface (100) comprises at least one model representation (2) of the manipulator program, wherein
• der Programmfortschritt und/oder  • the program progress and / or
• der zumindest einen Aufsetzpunkt (APi bis AP5) des  • the at least one touchdown point (APi to AP5) of the
Manipulatorprogramms  manipulator program
• und/oder eine Anwahl eines Aufsetzpunktes (APi bis AP5) des  • and / or a selection of a touchdown point (APi to AP5) of the
Manipulatorprogramms  manipulator program
auf der Programmfortschrittsanzeige (150) in der Modelldarstellung (2) des Manipulatorprogramms angezeigt werden können, can be displayed on the program progress indicator (150) in the model representation (2) of the manipulator program,
Computerprogramm nach einem der vorhergehenden Ansprüche, wobei dem zumindest einen angezeigten Aufsetzpunkt (APi bis AP5) eine Verknüpfung zugeordnet ist, mit deren Hilfe ein Eingabedialog geöffnet werden kann, mittels welchem das Manipulatorprogramm verändert werden kann. Computer program according to one of the preceding claims, wherein the at least one displayed touchdown point (APi to AP5) is associated with a link, with the aid of which an input dialog can be opened, by means of which the manipulator program can be changed.
Computerprogramm nach einem der vorhergehenden Ansprüche, wobei die grafische Benutzerschnittstelle (100) zumindest eine grafische Darstellung des Manipulatorsystems (1) umfasst, welche das Manipulatorsystem (1) in einem Systemzustand zeigt, der dem zumindest einen Aufsetzpunkt (APi bis AP5) entspricht, wobei die zumindest eine grafische Darstellung mit dem angezeigten Aufsetzpunkt (APi bis AP5) verknüpft ist. A computer program according to any one of the preceding claims, wherein the graphical user interface (100) comprises at least one graphical representation of the manipulator system (1) showing the manipulator system (1) in a system state corresponding to the at least one touchdown point (APi to AP5) at least one graphical representation is linked to the displayed touchdown point (APi to AP5).
10. Computerprogramm nach einem der vorhergehenden Ansprüche, wobei die Programmfortschrittsanzeige (150) weiterhin zumindest eines der folgenden Elemente anzeigen kann: The computer program of any one of the preceding claims, wherein the program progress indicator (150) is further capable of displaying at least one of:
• Eine Verknüpfung zu weiteren Daten, wobei weitere Daten grafische  • A link to other data, with additional data being graphical
Darstellungen und/oder Modelldarstellung des Manipulatorprogramms umfassen;  Representations and / or model representation of the manipulator program;
• Eine Warte und/oder Synchronisationsanweisung des  • A wait and / or synchronization instruction of the
Manipulatorprogramms ;  Manipulator program;
• Wiederholungen und/oder Verzweigungen des Manipulatorprogramms.  • Repetitions and / or branches of the manipulator program.
11. Computerprogramm nach einem der vorhergehenden Ansprüche, wobei die grafische Benutzerschnittstelle (100) zumindest eine der folgenden The computer program of any one of the preceding claims, wherein the graphical user interface (100) comprises at least one of the following
Schaltflächen aufweist:  Buttons have:
eine Schaltfläche (160), mittels welcher das Manipulatorprogramm gestoppt werden kann;  a button (160) by means of which the manipulator program can be stopped;
eine Schaltfläche (161), mittels welcher ein neuer Aufsetzpunkt an einer angewählten auf der Programmfortschrittsanzeige angezeigten Stelle definiert werden kann und/oder mittels welcher ein neuer Pfad definiert werden kann; eine Schaltfläche (162), mittels welcher das Manipulatorprogramm von einer angewählten auf der Programmfortschrittsanzeige angezeigten Stelle fortgesetzt werden kann;  a button (161) by means of which a new touchdown point can be defined at a selected location indicated on the program progress indicator and / or by means of which a new path can be defined; a button (162) by means of which the manipulator program can be continued from a selected location indicated on the program progress indicator;
eine Schaltfläche (163), mittels welcher Aufsetzpunkte angewählt werden können, die zwischen der aktuell angewählten Stelle der  a button (163), by means of which Aufsetzpunkte can be selected, between the currently selected point of
Programmfortschrittsanzeige und der Stelle, an welcher ein Stopp des  Program progress indicator and the position at which a stop of the
Manipulatorsystems erfolgt ist liegen;  Manipulator system is done lying;
eine Schaltfläche (164), mittels welcher einzelne Operationen des Manipulatorprogramms rückgängig gemacht werden können und/oder Aufsetzpunkte (APi bis AP5) angewählt werden können, und/oder  a button (164), by means of which individual operations of the manipulator program can be undone and / or attachment points (APi to AP5) can be selected, and / or
eine Schaltfläche (165), mittels welcher bereits durchlaufe Aufsetzpunkte angewählt werden können.  a button (165), by means of which already completed touchdown points can be selected.
12. Computerprogramm nach einem der vorhergehenden Ansprüche, wobei die grafische Benutzerschnittstelle (100) zumindest eine zweite 12. Computer program according to one of the preceding claims, wherein the graphical user interface (100) at least a second
Programmfortschrittsanzeige umfasst, welche Programmfortschrittsanzeige den aktuellen Programmfortschritt eines Manipulatorprogramms zumindest eines zweiten Manipulators anzeigt. The program progress indicator includes which program progress indicator the program progress indicator displays current program progress of a manipulator program displays at least a second manipulator.
13. Computerprogramm nach einem der vorhergehenden Ansprüche, wobei der Programmfortschrittsanzeige (150) eine Zeitskala (151) zugeordnet ist, wobei die Zeitskala (151) zoombar ist. 13. Computer program according to one of the preceding claims, wherein the program progress indicator (150) is associated with a time scale (151), wherein the time scale (151) is zoomable.
14. Computerprogramm nach einem der vorhergehenden Ansprüche, wobei die Programmfortschrittsanzeige (150) Wartezeiten des Manipulatorsystems (1) in einer gerafften Zeitskala anzeigt und vorzugsweise ausblendet. 14. Computer program according to one of the preceding claims, wherein the program progress indicator (150) displays waiting times of the manipulator system (1) in a shingled time scale and preferably hides.
15. Computerprogramm nach einem der vorhergehenden Ansprüche, wobei die Programmfortschrittsanzeige (150) eine Programmfortschrittsleiste ist. The computer program of any one of the preceding claims, wherein the program progress indicator (150) is a program progress bar.
16. Verfahren zur Navigation durch ein Manipulatorprogramm mittels eines 16. Method for navigation by a manipulator program by means of a
Computerprogramms nach einem der vorhergehenden Ansprüche, wobei das Verfahren umfasst:  A computer program according to any one of the preceding claims, the method comprising:
• Bereitstellen eines Manipulatorprogramms;  • providing a manipulator program;
• Erzeugen der grafischen Benutzerschnittstelle (100);  • generating the graphical user interface (100);
• Stoppen des Manipulatorprogramms;  • stopping the manipulator program;
• Empfang einer Anwahl eines Aufsetzpunktes (APi bis AP5) auf der  • Receive a selection of a touchdown point (APi to AP5) on the
Programmfortschrittsanzeige (150) der grafischen Benutzerschnittstelle, und  Program progress indicator (150) of the graphical user interface, and
• Führen des Manipulatorprogramms zu dem angewählten  • Guide the manipulator program to the selected one
AufsetzpunktfAPi bis AP5), sodass das Manipulatorprogramm das Manipulatorsystem (1) so steuert, dass es einen dem angewählten Aufsetzpunkt (APi bis AP5) zugeordneten Systemzustand einnimmt.  Touchdown point fAPi to AP5) so that the manipulator program controls the manipulator system (1) to assume a system state associated with the selected touchdown point (APi to AP5).
17. Verfahren nach Anspruch 16, weiter umfassend: 17. The method of claim 16, further comprising:
Automatisches Ermitteln eines Pfades von einer aktuellen Stelle im Ablauf des Manipulatorprogramms zu dem angewählten Aufsetzpunkt (APi bis AP5) und, falls ein automatisches Ermitteln nicht möglich ist,  Automatically determining a path from a current location in the flow of the manipulator program to the selected touchdown point (APi to AP5) and, if automatic detection is not possible,
Öffnen eines Eingabedialogs, welcher das manuelle Bestimmen eines Pfades ermöglicht. Open an input dialog, which allows the manual determination of a path.
18. Verfahren nach einem der Ansprüche 16 oder 17, wobei beim Führen des Manipulatorprogramms zu dem angewählten Aufsetzpunkt (APi bis AP5), auf eine Interaktion eines Bedieners mit dem Manipulatorsystem (1) gewartet werden kann, und vorzugsweise die Interaktion für einen Bediener angezeigt wird. 18. The method according to any one of claims 16 or 17, wherein in guiding the manipulator program to the selected touchdown point (APi to AP5), an interaction of an operator with the manipulator system (1) can be waited, and preferably the interaction for an operator is displayed ,
19. Steuerungsvorrichtung (20) für ein Manipulatorsystem (1), umfassend ein Computerprogramm nach einem der Ansprüchen 1 bis 15, wobei die grafische Benutzerschnittstelle (100) vorzugsweise auf einer handgehaltenen 19. A control system (20) for a manipulator system (1), comprising a computer program according to any one of claims 1 to 15, wherein the graphical user interface (100) is preferably on a hand-held
Anzeigevorrichtung (10), wie einem Tablet-Computer und/oder einem Smartphone erzeugt wird.  Display device (10), such as a tablet computer and / or a smartphone is generated.
EP16798402.0A 2015-11-11 2016-11-09 Method and computer program for producing a graphical user interface of a manipulator program Ceased EP3374137A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102015222164.4A DE102015222164A1 (en) 2015-11-11 2015-11-11 Method and computer program for generating a graphical user interface of a manipulator program
PCT/EP2016/001857 WO2017080648A1 (en) 2015-11-11 2016-11-09 Method and computer program for producing a graphical user interface of a manipulator program

Publications (1)

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

Family

ID=57354316

Family Applications (1)

Application Number Title Priority Date Filing Date
EP16798402.0A Ceased EP3374137A1 (en) 2015-11-11 2016-11-09 Method and computer program for producing a graphical user interface of a manipulator program

Country Status (6)

Country Link
US (1) US10940583B2 (en)
EP (1) EP3374137A1 (en)
KR (1) KR20180081774A (en)
CN (1) CN108349082B (en)
DE (1) DE102015222164A1 (en)
WO (1) WO2017080648A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015222168B4 (en) 2015-11-11 2024-02-22 Kuka Roboter Gmbh METHOD AND COMPUTER PROGRAM FOR CORRECTING ERRORS IN A MANIPULATOR SYSTEM
DE102017125330B3 (en) 2017-10-27 2019-01-10 Kuka Deutschland Gmbh Virtual function triggers
US11358282B2 (en) 2019-04-08 2022-06-14 Teradyne, Inc. System and method for constraint management of one or more robots
EP3747604B1 (en) * 2019-06-07 2022-01-26 Robert Bosch GmbH Robot device controller, robot device arrangement and method for controlling a robot device
CN110733043A (en) * 2019-11-22 2020-01-31 江苏方时远略科技咨询有限公司 robot running state monitoring and switching method
DE102021104883B3 (en) 2021-03-01 2022-06-15 Deutsches Zentrum für Luft- und Raumfahrt e.V. Method for robotically performing tasks, robot for assisting a user in performing tasks and computer program product

Family Cites Families (31)

* 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
US4852047A (en) * 1987-04-14 1989-07-25 Universal Automation Inc. Continuous flow chart, improved data format and debugging system for programming and operation of machines
JP2921903B2 (en) 1990-03-02 1999-07-19 株式会社日立製作所 Welding robot controller
DE69330144T2 (en) 1992-12-28 2001-09-20 Mitsubishi Electric Corp Numerically controlled machine tool
EP0852346B1 (en) 1995-09-19 2002-01-16 Kabushiki Kaisha Yaskawa Denki Robot language processor
US6243857B1 (en) * 1998-02-17 2001-06-05 Nemasoft, Inc. Windows-based flowcharting and code generation system
US6108662A (en) 1998-05-08 2000-08-22 Allen-Bradley Company, Llc System method and article of manufacture for integrated enterprise-wide control
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
JP2001236244A (en) 2000-02-23 2001-08-31 Mitsubishi Electric Corp Debug system for robot program
US6360143B1 (en) 2001-04-27 2002-03-19 Fanuc Robotics North America Error recovery methods for controlling robotic systems
JP4035822B2 (en) * 2003-04-14 2008-01-23 ソニー株式会社 Audio data editing apparatus, audio data editing method, and audio data editing program
US8185840B2 (en) 2003-08-15 2012-05-22 National Instruments Corporation Mixed signal analysis system and method of use
JP3819883B2 (en) 2003-08-27 2006-09-13 ファナック株式会社 Robot program position correction device
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
US7369135B2 (en) 2004-10-29 2008-05-06 Nvidia Corporation Memory management system having a forward progress bit
US8125310B2 (en) * 2005-04-01 2012-02-28 Abb Research Ltd. Method and system for providing a user interface
EP1724676A1 (en) * 2005-05-20 2006-11-22 ABB Research Ltd. Method and apparatus for developing a software program
DE202007014957U1 (en) * 2007-01-05 2007-12-27 Apple Inc., Cupertino Multimedia touch screen communication device responsive to gestures for controlling, manipulating and editing media files
US7956847B2 (en) * 2007-01-05 2011-06-07 Apple Inc. Gestures for controlling, manipulating, and editing of media files using touch sensitive devices
DE102008007438B4 (en) 2008-02-01 2012-11-29 Abb Ag Method for restarting a robot
JP5436460B2 (en) 2009-02-12 2014-03-05 三菱電機株式会社 Industrial robot system
JP4600601B1 (en) 2010-04-08 2010-12-15 株式会社ベイビッグ Debug support device, debug support method, and debug support program
DE102010018475A1 (en) * 2010-04-28 2011-11-03 Netstal-Maschinen Ag A method of displaying a programmable sequence for one or more machines having a cyclically recurring machine operation
DE102010046274A1 (en) * 2010-09-22 2012-03-22 Netstal-Maschinen Ag Method for checking a stored production sequence for one or more machines with a cyclical machine operating sequence
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
WO2014056533A1 (en) 2012-10-11 2014-04-17 Abb Technology Ltd 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
EP3146729A4 (en) 2014-05-21 2018-04-11 Millennium Three Technologies Inc. Fiducial marker patterns, their automatic detection in images, and applications thereof
DE102015222167A1 (en) 2015-11-11 2017-05-11 Kuka Roboter Gmbh METHOD FOR SIMPLIFIED MODIFICATION OF APPLICATION PROGRAMS FOR CONTROLLING AN INDUSTRIAL PLANT
DE102015222168B4 (en) 2015-11-11 2024-02-22 Kuka Roboter Gmbh METHOD AND COMPUTER PROGRAM FOR CORRECTING ERRORS IN A MANIPULATOR SYSTEM

Also Published As

Publication number Publication date
KR20180081774A (en) 2018-07-17
US10940583B2 (en) 2021-03-09
CN108349082B (en) 2022-02-08
US20180370030A1 (en) 2018-12-27
CN108349082A (en) 2018-07-31
WO2017080648A1 (en) 2017-05-18
DE102015222164A1 (en) 2017-05-11

Similar Documents

Publication Publication Date Title
WO2017080648A1 (en) Method and computer program for producing a graphical user interface of a manipulator program
DE102017003943A1 (en) Cell controller for optimizing movements of a production system comprising industrial machines
EP2418555B1 (en) Offline programming method of a NC-powered manipulator
DE102015107436B4 (en) Trainable path control
DE102017004366B4 (en) Numerical control device
DE4431315A1 (en) Control method and control device for a factory automation system
DE102015204487A1 (en) SIMULATION DEVICE FOR THE MANUAL OPERATION OF A TOOL MACHINE
WO2018149808A1 (en) Input device, method for providing movement commands to an actuator, and actuator system
EP3725472A1 (en) Method for determining a trajectory of a robot
DE102018004437B4 (en) Apparatus and method for assisting in the detection of cable damage in a robotic mechanism
EP3374135B1 (en) Method for the simplified modification of application programs for controlling an industrial plant
EP2977148A1 (en) Method and device for controlling a robot
DE102017004822A1 (en) Numerical control with a program correction assistance function for an alarm solution
WO2017129360A1 (en) Controlling a group of robots
DE102015222168B4 (en) METHOD AND COMPUTER PROGRAM FOR CORRECTING ERRORS IN A MANIPULATOR SYSTEM
DE102020103852B4 (en) Creation and optimization of a control program for a robot manipulator
EP3710900A1 (en) Method and system for defining or learning a robot command
EP3710207B1 (en) Quality assurance of a process
EP3268172B1 (en) Method for controlling a manipulator for carrying out a working process
EP3406384B1 (en) Method for verification of the position of a welding robot
EP3518059B1 (en) Method for computer-assisted user assistance in the operation of a movement planer for a machine
DE212017000277U1 (en) Optically monitored manipulator system
DE112021003990T5 (en) Teaching device, teaching system and teaching program
EP4276553A1 (en) Method for diagnosis of a user program and engineering station
DE102015016255A1 (en) Iterative programming of a process of a mobile machine, in particular 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