WO2019166229A1 - Method for automatically generating a movement trajectory and associated computer program product - Google Patents

Method for automatically generating a movement trajectory and associated computer program product Download PDF

Info

Publication number
WO2019166229A1
WO2019166229A1 PCT/EP2019/053689 EP2019053689W WO2019166229A1 WO 2019166229 A1 WO2019166229 A1 WO 2019166229A1 EP 2019053689 W EP2019053689 W EP 2019053689W WO 2019166229 A1 WO2019166229 A1 WO 2019166229A1
Authority
WO
WIPO (PCT)
Prior art keywords
movement
program
machine
instructions
alternative
Prior art date
Application number
PCT/EP2019/053689
Other languages
German (de)
French (fr)
Inventor
Yevgen Kogan
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 WO2019166229A1 publication Critical patent/WO2019166229A1/en

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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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
    • B25J9/1658Programme controls characterised by programming, planning systems for manipulators characterised by programming language
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40519Motion, trajectory planning

Definitions

  • the invention relates to a method for automatic Erzeu conditions a movement trajectory of a reference point of au tomatically controlled machine, wherein the machine has Antrie be, which are adapted to move the reference point of the machine Ma in space and controlled by a control device which is formed to control the drives of the machine on the basis of the automatically generated movement trajectory as a reference variable by means of a motion control, the movement trajectory being based on at least one first movement instruction to be executed in a smoothing mode and at least one second movement instruction following one of the first movement instruction Maschinenschulspro programs by means of a path planning program automatically he testifies, being in the machine motion program in the process flow between the first movement instruction and a subsequent second movement instruction itself a conditional program branch is located, which, depending on a trigger the event, a first alternative of a second movement statement or at least one second alternative of a second movement instruction.
  • the invention also relates to an associated computer program product.
  • EP 2 022 608 B1 describes a method for generating a trajectory of a movement system in which a trajectory is defined as a sequence of one or more path segments (movement steps), wherein a suppression of a suppression of a first velocity profile and fading of a superimposed area of a subsequent second velocity profile takes place within a so-called mixing radius there.
  • Such masking out of a first velocity profile and such subsequent insertion of a subsequent second velocity profile is generally also referred to as "over-grinding.” Flushing is described, for example, in robotics and in machine tools in the context of so-called PTP control (English: point In the execution of movement instructions, a reference point of the machine to be controlled (for example, a robot arm or a machine tool) gradually becomes from a first space point to a second one
  • PTP control English: point In the execution of movement instructions, a reference point of the machine to be controlled (for example, a robot arm or a machine tool) gradually becomes from a first space point to a second one
  • a synchronous PTP control is generally known in which not only the target points to be approached of the individual movement instructions are retransformed in order to control the axes of the machines Then al lein on this basis on Achskoordinateneben angezusteu ren, but also the motion profiles are planned from start to finish point in a path planning program and indeed in terms of their speed profiles and
  • a train planning motion instructions may be provided that for each driven degree of freedom of the machine, crizoswei se each driven joint of a robot arm, the maximum speed and taking into account starting point to target point of movement, a movement time is calculated for each joint, the Joint with the longest movement duration is defined as a leading axis and the other ren, remaining degrees of freedom or joints in their speed profiles and / or acceleration profiles are adapted so that all degrees of freedom or joints begin at the same time with their individual movements and also simultaneously with their end individual movements.
  • the movement instructions of the Machine motion program which may be implemented in a sequence control, passed to a motion control and there transformed in a path planning program in an individual speed profiles and / or acceleration profiles of the degrees of freedom of the machine or joints of the robot arm to the drives of the machine or the driven joints of the robot arm Speed profiles and / or the acceleration profiles accordingly to move controlled by atecssteue move.
  • the motion control may include the path planning program, ie, a path control, and a motion execution control executing the motions.
  • the machine motion program towards may be part of the flow control.
  • the motion control and the sequence control may be separate
  • sequence control is implemented in a preferably non-real-time capable control part, whereas at least the motion execution control or the entire motion control, comprising the motion execution control and the path control, is implemented in a real-time capable control part.
  • Machine motion programs may generally include conditional program branches.
  • a conditional program branch which may be, for example, an IF statement or a WHILE statement
  • the target point to be approached next depends on the triggering event, so that it is not pre-determined in time before the occurrence of the event which target point of if necessary, to use several alternative possible target points. Because of this ambiguity in advance, destinations of move instructions across a program subtraction generally can not be approached.
  • the object of the invention is to provide a method for automatically generating a movement trajectory of a reference point of a machine to be controlled automatically, with the blending of the target points of movement instructions even over conditional program branches away is possible.
  • a method for automatically generating a movement trajectory of a loading zugsembls an automatically controlled machine the machine has drives that are designed to move the loading zugsrios the machine in space and indeed angesteu ert by a control device which is formed to control the drives of the machine based on the automatically generated movement trajectory as a reference variable by means of a BeWe control, the movement trajectory on the basis of at least one in a smoothing mode from supplying the first movement instruction and at least one of the first movement instruction following secondthsungsan instruction of a run by the control device Maschi nenschulsprogramms is automatically generated by means of a path planning program, wherein in the machine motion program in the flow direction between the first movement instruction and a subsequent second movement instruction is a conditional Program branching, which, depending on a triggering event, specifies a first alternative of a second movement instruction or at least a second alternative of a second movement instruction, comprising the steps of:
  • the machine to be controlled automatically by the method can be a machine tool or, in particular, a robot.
  • the robot may include a robot arm having a plurality of links connected by joints, the links being movable by means of drives to automatically adjust the links of the robot arm in accordance with a robot program.
  • the drives of the machine, in particular of the robot can in particular comprise electric motors which are controlled by a control device, in particular a drive control of the control device, in particular can be driven in a controlled manner.
  • the motors can be equipped with gearboxes.
  • the control device may include the drive controller, a motion controller, and a scheduler.
  • the control components can be combined in one common control unit or designed as separate control components and connected to one another via communication links.
  • the control device in particular on the sequence control we can at least one machine movement program stored and set up for execution.
  • the Steuervor direction may comprise a computer program product comprising a ma chine-readable carrier is stored on the program code chert, which is readable from the machine, in particular by a Robo ter Kunststoffung of the robot, so that the machine or the robot trains and / or set up is to perform he inventive method when the program code is executed by the machine or the robot or its control.
  • the machine motion program which may be a robot program so far, contains motion instructions, in particular the motion instructions, according to which a pre-defined reference point in space is to be moved through the machine or robotic arm.
  • the reference point can be a tool reference point, which is also known as TCP (Tool Center Point).
  • a tool reference point may be a real or virtual point on a tool handled by the machine, in particular the robot arm.
  • the reference point may also be a flange flange coordinate system fixedly connected to the flange of the robot arm.
  • the path planning program of the path control system provides algorithms, models and / or computational rules that directly create or indirectly create a motion trajectory for the reference point based on the motion instructions contained in the machine motion program such that motion profiles, in particular velocity profiles and / or acceleration profiles, are axis-related or Cartesian the path planning program is generated.
  • the corre sponding motion profiles, in particulardestinationsprofi le and / or acceleration profiles are then transferred in particular in achs termeer form to the motion execution control, which in turn the drives i.
  • the motors of the machine or the robot arm can also be controlled or regulated on the drive level.
  • the movement trajectory is a graphical representation of the course of motion that the reference point passes through in space.
  • the movement trajectory is insofar the track on which the reference point moves when the machine or robot is automatically controlled according to the machine motion program.
  • the movement trajectory may also comprise speed data, in particular with respect to interpolation points of the course of the movement or of the track.
  • a motion trajectory section generally represents a subsection of the entire motion trajectory.
  • the respective motion trajectory sections will be those parts of several possible motion trajectories that may alternately occur in the machine motion program due to the conditional program branching, as long as that for the conditional program branching event has not yet taken place and therefore it is not yet clear which of the two or more possible movement trajectory sections actually takes place.
  • Blending is used, for example, in robotics and machine tools as part of a so-called PTP control in which motion instructions are executed become.
  • a reference point of the machine to be controlled for example, a robot arm or a machine tool
  • the respective bases of the movement instructions may not be achieved more directly, but avoiding a complete stop of the machine or the robot arm or its loading zugsixies
  • the reference point is moved only in the vicinity of such a sol cher grounded base so as to drive equal to the next base of the next Be wegungsan rejoin ,
  • Such a sanding motion is thus characterized by the fact that at such intermediate Stel settings (over-grinding bases) is passed without stopping the Be zugsembls.
  • the target points to be approached are firmly predetermined by the respective movement instruction, these target points are in fact often not reached in the rounding mode.
  • Machine motion programs may generally include conditional program branches.
  • a conditional program branch which may be, for example, an IF statement or a WHILE statement
  • the target point to be approached next depends on the triggering event, so that it is not pre-determined in time before the occurrence of the event which target point of if necessary, to use several alternative possible target points.
  • destinations of move instructions over a program split may not generally be performed. It is known, in such a case, to interrupt the planning of an overhaul, for example in the context of a so-called called Vorlaufstopps to approach the last before the conditional program branch branch target point without smoothing to begin after the conditional program branch a new sequence of rounding.
  • Vorlaufstopps to approach the last before the conditional program branch branch target point without smoothing to begin after the conditional program branch a new sequence of rounding.
  • an interruption of the blending is disadvantageous, since this can lead to time delays, jerking and / or discontinuous trajectories.
  • the triggering event may accordingly be a physical event to which the machine motion program is to respond in a programmed manner by means of the program branching.
  • the triggering event for the machine motion program insofar as any condition to be tested, is diverted at the occurrence or presence in the respective program branch provided.
  • the triggering event does not necessarily have to occur until shortly before the timely arrival of the program branch, but may possibly have occurred earlier and thus occurred well before the program branch was reached.
  • the triggering event or the condition to be tested can then be queried and / or evaluated immediately before the program branching or shortly before the program is deducted, for example as to whether the condition to be checked or the event still exists.
  • condition to be tested or the event can already be present far in advance, but only at the time or shortly before the time of reaching the program branch diversion be queried.
  • the triggering event can be the query or the checking of an already existing condition and / or a physical condition that is already present.
  • the condition and / or the state can be detected, for example, by means of at least one sensor which, in the simplest case, supplies a Boolean state which forms a parameter for a waiting function in the machine motion program, which only delivers a result when the defined time for program branching is reached.
  • a method for automatically generating a movement trajectory of a reference point of a machine to be automatically set up can be provided with which the destination points of movement instructions can also be looped over conditional program branches is.
  • the order can be so far almost arbitrary and possibly also be swapped in the order sequence.
  • a generally possible offline planning of looping movement instructions is usually not possible in the case of conditional program branches, since the conditional Program elimination trigging ie triggering event is not known in advance.
  • conditional program branch may additionally comprise at least one further movement instruction in at least one alternative determined by the initiating event, in addition to a second movement instruction
  • the first movement instruction immediately preceding the conditional program branching and the second movement instruction immediately after the conditional program branching are taken into account or used for the rounding-off mode beyond the conditional program branching, but also at least one further movement instruction. So for example, a third movement instruction and a four te movement instruction, the un indirectly follow the second movement instruction.
  • the number of move instructions to be used may be based on the time remaining available prior to the conditional program branching to allow the two or more possible movement trajectory sections to be timely timed before the conditional program branch is reached.
  • the path planning program can accordingly be set up except for the first interpolation point of the first movement instruction to additionally plan at least one second interpolation point of the second movement instruction and / or every third or further interpolation point following another program instruction in the program sequence.
  • a specific embodiment of the method can be characterized by automatic or manual referencing in the machine movement program of the two or more alternative second movement instructions and / or the further movement instructions following the conditional program subtraction in the machine motion program in the flow direction in one direction of the program branching movement instruction, in particular before the first movement instruction or in the first movement instruction, which the Conditional program branch in the machine motion program in the flow direction immediately precedes.
  • automatic referencing can take place in that the machine movement program has access functions or access methods comprising formal parameters into which the second movement instructions to be referenced and / or further movement instructions are automatically entered as actual parameters Parameter virtual le return values form, the programs by the Maschinenstonspro as virtual call parameters of the second movement instructions and / or other movement instructions before their actual execution automatically made read.
  • Manual referencing may be performed in another version of the method by having machine motion programs that include editable motion instructions that include attributes in which the properties of the second motion statements to be referenced and / or the further motion statements are the actual parameters Movement instructions can be entered manually.
  • the characteristics of the particular motion statement may not only be parameters of the motion statement, such as the destination points or coordinates, the requested speeds and / or accelerations, but may be other speci cations of the motion statement, such as, in particular, the type of motion statement , eg PTP command, LIN command or CIRC command as such.
  • determining the characteristics of the two or more alternative The second movement instructions which are possible in accordance with the conditional program branching, take place in that the two or more alternative second movement instructions and / or further movement instructions referenced in the first movement instruction are read out on the basis of the references in the first movement instruction.
  • the movement instructions lying behind the conditional program reduction in the program sequence can already be read out in time prior to the conditional program branch and thus taken into account in the on-the-fly control.
  • the determination of the time at which an overrun must start at the latest from all start times of the two or more alternative second BeWe movement instructions, to which the respective individual overrun must begin at the latest, take place by a jewei for all individual blending movements lige period of time from the path parameters and the physical properties is automatically determined from all corre sponding durations of the individual blending movements of the two or more alternative secondutzsanwei solutions, the longest period is selected out, and on the basis of the current time and the Marketselektier th longest period of the latest Time at which a sanding must begin, is determined.
  • Knowing the latest time at which a Uber schleifonia must begin and the current time can also be determined whether for all alternative two movement instructions that can still be ensured due to the conditional program branch the execution of a smoothing motion. If this is not the case, that is, it is determined that the latest point in time at which a sanding movement must begin has already been deleted in terms of time, control technology and / or programming technology can be used to terminate, ie abort, or even stop a running sanding mode not begun smoothing mode does not even start.
  • the transmission of the selected, pre-planned movement trajectory section to the motion control for carrying out a movement of the machine in such a way that the reference point of the machine moves correspondingly automatically to the selected, pre-planned movement trajectory section, only immediately bar is executed before the latest time or just before the latest time.
  • querying and / or evaluating the triggering event may be carried out only immediately before the latest time or just shortly before the latest time.
  • the queries can be, for example, a reading in of a sensor signal in the path planning program or the Maschinenbewe supply program.
  • An evaluation can include a process in which a read-in sensor signal is converted, for example, and / or, for example, jointly evaluated and / or combined with other sensor signals.
  • the object of the invention is also achieved by a computer program product comprising a machine-readable carrier, is stored on the program code, which is readable by a machine and which trains and / or set up the machine to perform a method according to the invention be described if the program code of Ma machine is executed.
  • Fig. 1 is a schematic representation of an exemplary
  • Fig. 2 is a schematic representation of an exemplary
  • Fig. 3 is a schematic representation of an exemplary
  • Fig. 4 is a schematic representation of a modified
  • Fig. 5 is a schematic representation of a modified
  • FIG. 1 shows an exemplary control device 1 and drives M1-M6 controlled by it.
  • the drives M1-M6 may in particular comprise electric motors, which are controlled by the control device 1, in particular a drive control of the control device 1, in particular controlled special drivable.
  • the control device 1 comprises in the case of the present ge showed embodiment of FIG. 1, a sequence control AS and a motion controller BS.
  • the sequence control AS summarizes a program control PS.
  • the control components may be combined in a common control unit or formed as separate control components and connected to each other via communication links.
  • On the control device 1, in particular on the program control PS at least one machine movement program MP can be stored and set up for execution.
  • control device 1 may comprise a computer program product, which includes a machine-readable carrier, is stored on the program code, which is readable by the machine, in particular by a robot controller of the robot, so that the machine or the robot is formed and / or set up is to perform a method according to the invention, when the program code of the machine or the robot or its control device 1 is executed.
  • the machine motion program MP which may be a robot program insofar, contains motion instructions e.g. PTP1, PTP2, PTP3, PTP4, according to which a predefined reference point in space is to be moved by the machine or the robot arm.
  • a path planning program BP of the control device 1, in particular special motion controller BS provides algorithms, models and / or calculation rules, the conditions based on thefrosbewegweisun contained in the machine motion MP directly create a movement trajectory T ( Figure 2) for the reference point or indirectly create, that motion profiles, in particular velocity profiles and / or acceleration profiles, are generated in an axis-related or Cartesian manner by the path planning program BP.
  • the corresponding motion profiles, in particular speed Profiles and / or acceleration profiles are then transferred in particular in achs termeer form to a movement design BA, which in turn drive the drives ie the motors of the machine or the robot arm on the drive level by means of drive controller AR or regulate.
  • a coarse interpolation G1 of the points to be controlled can take place, whereas, however, a further fine interpolation FI can already be carried out in the motion execution BA and / or in the drive controllers AR.
  • the movement trajectory BT is a graphic representation of the course of the movement which the reference point passes through in space.
  • the movement trajectory BT is insofar the track on which the reference point moves when the machine or the robot is automatically controlled according to the machine movement program MP.
  • a movement trajectory section BA generally represents a partial path of the entire movement trajectory. More specifically, according to the invention, the respective movement trajectory sections BA1, BA2, BA3 are understood to mean those parts of a plurality of possible movement trajectories T2.1, T2.2, T2.3. which in the machine motion program MP due to the conditional program branch PA (Fig. 3 - Fig. 5) may alternatively occur (ALT1, ALT2), as long as the conditional program branch PA triggering event has not yet took place and therefore it is not yet clear which of two or more possible movement trajectory sections BA1, BA2, BA3 actually come to execution.
  • the Fig. 2 schematically shows the determination of the earliest time point tl at which a rounding movement must start from all startup Z eit Vietnameseen tl, t2, t3, for example, three alternative second movement instructions to which each wells individual rounding motion must begin at the latest.
  • This method is performed by pre-parameterizing a respective period of time for all individual rounding motions, selecting the latest time from all corresponding time periods of the individual rounding movements of the two or more alternative second movement instructions, and based on the current time tO and the selected time period tl, the latest time at which a sanding movement must begin, is determined.
  • Fig. 3 shows schematically the basic method for automatically generating a movement trajectory BT of a reference point of a machine to be automatically controlled, where the machine comprises drives M1-M6, which are designed to move the reference point of the machine in space, controlled by the control device 1, which is Washingtonbil det, the drives M1-M6 of the machine based on the automatically generatedecuringsstrajektorie BT as a guide size to control by means of a flow control AL, wherein the movement trajectory BT based on at least one executed in egg nem smoothing mode first movement instruction PI and at least one of the first movement instruction PI fol lowing second movement instruction P2.1, P2.2 one of the Control device 1 executing machine motion program MP by means of a path planning program BP is automatically generated in the machine motion program MP in spaciousrich device between the first movement instruction PI and a fol lowing second movement instruction P2.1, P2.2 is a program-related program branch PA, which depends on a triggering event a first alternative ALT1 ei ner second movement instruction P2.1 or
  • the method comprises the steps of determining the two or more target points of all alternative second move instructions P2.1, P3.1, P4.1 and P2.2, P3.2, P4.2 that are possible according to the conditional program branch PA,
  • conditional program branch PA can be found in at least one alternative determined by the triggering event, e.g. ALT1 and / or ALT2 addition to a second movement instruction P2.1, P2.2 in addition, for example, a third movement instruction P3.1, P3.2 and ei ne fourth movement instruction P4.1, P4.2 have.
  • Transmitting the base to be looped of the first movement instruction PI and the two or more target points of the two alternative second movement instructions P2.1, P2.2 and the respective further movement instructions P3.1, P3.2 and P4.1, P4.2 takes place to the path planning program BP, the path planning program BP taking into account the to be looped base of the first movement instruction PI the two alternative second BeWe movement instructions P2.1, P2.2 and the other BEWE statement P3.1, P3.2 and P4.1, P4.2 corresponding two pre-planned movement trajectory sections T2.1 and T2.2 created.
  • the path planning program BP can thus be set up except for the first interpolation point of the first movement instruction P1, in addition at least one second interpolation point of the second movement instruction P2.1 P2.2 and / or every third or further interpolation point in the program sequence following Movement instructions P3.1, P3.2 and P4.1, P4.2 must be planned overly.
  • FIGS. 4 and 5 show a variant of the method, characterized by automatic or manual referencing in the machine movement program MP of the two or more alternative second movement instructions P2.1, P2.2 and / or the further movement instructions P3.1, P3 .2 and P4.1, P4.2, which follow the conditional program branch PA in Maschinenbewe supply program MP in the flow direction, in a running direction from before Ab the program branch PA occurring BEWE statement, in particular before the firstzensungsanwei solution PI or in the first movement instruction PI which immediately precedes the conditional program branch PA in the machine motion program MP in the flow direction.
  • 4 shows how the referencing takes place in that the machine movement program MP has an access function or access method Z, which includes formal parameters into which the second movement instructions P2.1, P2.2 to be referenced and / or further movement instructions P3 .1,
  • P3.2 and P4.1, P4.2 are entered as current parameters who the current parameters virtual return values bil, by the machine motion program MP as virtual call parameters of the second movement instructions P2.1, P2.2 and / or other movement instructions P3.1, P3.2 and
  • FIG. 5 shows how the referencing takes place in that the machine movement program MP has editable movement instructions A which include attributes in which the
  • Target points of the second movement instructions P2.1, P2.2 to be referenced and / or the further movement instructions P3.1, P3.2 and P4.1, P4.2 can be entered manually as actual parameters of the movement instruction PI.

Abstract

The invention relates to a method for automatically generating a movement trajectory (BT) of a reference point of a machine to be controlled automatically, wherein the machine has drives (M1-M6) which are designed to move the reference point of the machine in space, specifically controlled by a control device (1), which is designed to control the drives (M1-M6) of the machine on the basis of the automatically generated movement trajectory (BT) as a reference variable by means of a movement controller (BS), wherein the movement trajectory (BT) is generated automatically by means of a path planning program (BP) on the basis of a first movement instruction (P1) to be executed in an approximate positioning mode, and at least one second movement instruction (P2.1, P2.2), following the first movement instruction (P1), of a machine movement program (MP) to be executed by the control device (1).

Description

Verfahren zum automatischen Erzeugen einer Bewegungstrajekto- rie und zugehöriges Computerprogrammprodukt Method for automatically generating a movement trajectory and associated computer program product
Die Erfindung betrifft ein Verfahren zum automatischen Erzeu gen einer Bewegungstrajektorie eines Bezugspunktes einer au tomatisch anzusteuernden Maschine, wobei die Maschine Antrie be aufweist, die ausgebildet sind, den Bezugspunkt der Ma schine im Raum zu bewegen und zwar angesteuert durch eine Steuervorrichtung, die ausgebildet ist, die Antriebe der Ma schine auf Grundlage der automatisch erzeugten Bewegungs- trajektorie als Führungsgröße mittels einer Bewegungssteue rung anzusteuern, wobei die Bewegungstrajektorie auf Grundla ge wenigstens einer in einem Überschleifmodus auszuführenden ersten Bewegungsanweisung und wenigstens einer der ersten Be wegungsanweisung folgenden zweiten Bewegungsanweisung eines von der Steuervorrichtung ausführenden Maschinenbewegungspro gramms mittels eines Bahnplanungsprogramms automatisch er zeugt wird, wobei im Maschinenbewegungsprogramm in Ablauf richtung zwischen der ersten Bewegungsanweisung und einer folgenden zweiten Bewegungsanweisung sich eine bedingte Pro grammabzweigung befindet, die in Abhängigkeit eines auslösen den Ereignisses eine erste Alternative einer zweiten Bewe gungsanweisung oder wenigstens eine zweite Alternative einer zweiten Bewegungsanweisung vorgibt. Die Erfindung betrifft außerdem ein zugehöriges Computerprogrammprodukt. The invention relates to a method for automatic Erzeu conditions a movement trajectory of a reference point of au tomatically controlled machine, wherein the machine has Antrie be, which are adapted to move the reference point of the machine Ma in space and controlled by a control device which is formed to control the drives of the machine on the basis of the automatically generated movement trajectory as a reference variable by means of a motion control, the movement trajectory being based on at least one first movement instruction to be executed in a smoothing mode and at least one second movement instruction following one of the first movement instruction Maschinenbewegungspro programs by means of a path planning program automatically he testifies, being in the machine motion program in the process flow between the first movement instruction and a subsequent second movement instruction itself a conditional program branch is located, which, depending on a trigger the event, a first alternative of a second movement statement or at least one second alternative of a second movement instruction. The invention also relates to an associated computer program product.
EP 2 022 608 Bl beschreibt ein Verfahren zum Erzeugen einer Trajektorie eines Bewegungssystems, bei dem eine Trajektorie als eine Folge von einem oder mehreren Pfadsegmenten (Bewe gungsschritten) festgelegt ist, wobei ein Ausblenden eines Ausblendgebietes eines ersten Geschwindigkeitsprofils erfolgt und ein Einblenden eines Einblendgebiets eines nachfolgenden zweiten Geschwindigkeitsprofils innerhalb eines dort soge nannten Mischungsradius erfolgt. Ein solches Ausblenden eines ersten Geschwindigkeitsprofils und ein solches Einblenden eines nachfolgenden zweiten Ge- schwindigkeitsprofils wird im Allgemeinen auch als „Über schleifen" bezeichnet. Ein Überschleifen wird beispielsweise in der Robotertechnik und bei Werkzeugmaschinen in Rahmen ei ner sogenannten PTP-Steuerung (engl.: point-to-point ) ange wendet, bei der als Bewegungsanweisungen beispielsweise Punkt-zu-Punkt-Bewegungsanweisungen ausgeführt werden. Bei der Ausführung von Bewegungsanweisungen wird ein Bezugspunkt der anzusteuernden Maschine (beispielsweise ein Roboterarm oder eine Werkzeugmaschine) schrittweise von einem ersten Raumpunkt zu einem zweiten Raumpunkt und gegebenenfalls nach einander zu weiteren folgenden Raumpunkten bewegt. Neben ei ner asynchronen PTP-Steuerung ist eine synchrone PTP- Steuerung allgemein bekannt, bei der nicht nur alleine die anzufahrenden Zielpunkte der einzelnen Bewegungsanweisungen rücktransformiert werden, um die Achsen der Maschine dann al lein auf dieser Grundlage auf Achskoordinateneben anzusteu ern, sondern auch die Bewegungsprofile von Startpunkt zu Zielpunkt in einem Bahnplanungsprogramm geplant werden und zwar hinsichtlich ihrer Geschwindigkeitsprofile und/oder Be schleunigungsprofile. So kann beispielsweise bei einer Bahn planung bei Bewegungsanweisungen vorgesehen sein, dass für jeden angetriebenen Freiheitsgrad der Maschine, beispielswei se jedes angetriebene Gelenk eines Roboterarms, die maximale Geschwindigkeit und unter Berücksichtigung von Startpunkt zu Zielpunkt der Bewegung eine Bewegungsdauer für das jeweilige Gelenk berechnet wird, das Gelenk mit der längsten Bewegungs dauer als eine Leitachse definiert wird und die jeweils ande ren, verbleibenden Freiheitsgrade oder Gelenke in ihren Ge- schwindigkeitsprofilen und/oder Beschleunigungsprofilen so angepasst werden, dass alle Freiheitsgrade oder Gelenke gleichzeitig mit ihren individuellen Bewegungen beginnen und auch gleichzeitig mit ihren individuellen Bewegungen enden.EP 2 022 608 B1 describes a method for generating a trajectory of a movement system in which a trajectory is defined as a sequence of one or more path segments (movement steps), wherein a suppression of a suppression of a first velocity profile and fading of a superimposed area of a subsequent second velocity profile takes place within a so-called mixing radius there. Such masking out of a first velocity profile and such subsequent insertion of a subsequent second velocity profile is generally also referred to as "over-grinding." Flushing is described, for example, in robotics and in machine tools in the context of so-called PTP control (English: point In the execution of movement instructions, a reference point of the machine to be controlled (for example, a robot arm or a machine tool) gradually becomes from a first space point to a second one In addition to an asynchronous PTP control, a synchronous PTP control is generally known in which not only the target points to be approached of the individual movement instructions are retransformed in order to control the axes of the machines Then al lein on this basis on Achskoordinateneben angezusteu ren, but also the motion profiles are planned from start to finish point in a path planning program and indeed in terms of their speed profiles and / or acceleration profiles Be. Thus, for example, in a train planning motion instructions may be provided that for each driven degree of freedom of the machine, beispielswei se each driven joint of a robot arm, the maximum speed and taking into account starting point to target point of movement, a movement time is calculated for each joint, the Joint with the longest movement duration is defined as a leading axis and the other ren, remaining degrees of freedom or joints in their speed profiles and / or acceleration profiles are adapted so that all degrees of freedom or joints begin at the same time with their individual movements and also simultaneously with their end individual movements.
Um dies zu ermöglichen werden die Bewegungsanweisungen des Maschinenbewegungsprogramms, welches in einer Ablaufsteuerung implementiert sein kann, an eine Bewegungssteuerung übergeben und dort in einem Bahnplanungsprogramm transformiert in ein zelne Geschwindigkeitsprofile und/oder Beschleunigungsprofile der Freiheitsgrade der Maschine oder Gelenke des Roboterarms, um die Antriebe der Maschine bzw. die angetriebenen Gelenke des Roboterarms den Geschwindigkeitsprofilen und/oder den Be schleunigungsprofilen entsprechend von einer Bewegungssteue rung angesteuert zu bewegen. Die Bewegungssteuerung kann in soweit das Bahnplanungsprogramm, d.h. eine Bahnsteuerung um fassen und eine die Bewegungen ausführende Bewegungsausfüh rungssteuerung umfassen. Das Maschinenbewegungsprogramm hin gegen kann Teil der Ablaufsteuerung sein. Je nach Systemar chitektur der Steuerung bzw. der Steuerungen können die Bewe gungssteuerung und die Ablaufsteuerung separate Steue To make this possible, the movement instructions of the Machine motion program, which may be implemented in a sequence control, passed to a motion control and there transformed in a path planning program in an individual speed profiles and / or acceleration profiles of the degrees of freedom of the machine or joints of the robot arm to the drives of the machine or the driven joints of the robot arm Speed profiles and / or the acceleration profiles accordingly to move controlled by a Bewegungssteue move. The motion control may include the path planning program, ie, a path control, and a motion execution control executing the motions. The machine motion program towards may be part of the flow control. Depending on the system architecture of the controller or controllers, the motion control and the sequence control may be separate
rungsteile sein oder in einer gemeinsamen Steuerung zusammen gefasst sein. Üblicherweise ist die Ablaufsteuerung jedoch in einem vorzugsweise nicht-echtzeitfähigem Steuerungsteil im plementiert, wo hingegen zumindest die Bewegungsausführungs steuerung oder die gesamte Bewegungssteuerung, umfassen die Bewegungsausführungssteuerung und die Bahnsteuerung, in einem echtzeitfähigen Steuerungsteil implementiert ist. be part of a common control. Usually, however, the sequence control is implemented in a preferably non-real-time capable control part, whereas at least the motion execution control or the entire motion control, comprising the motion execution control and the path control, is implemented in a real-time capable control part.
Maschinenbewegungsprogramme können ganz allgemein bedingte Programmabzweigungen enthalten. Bei einer bedingten Pro grammabzweigung, die beispielsweise eine IF-Anweisung oder eine WHILE-Anweisung sein kann, ist der als nächster anzufah rende Zielpunkt von dem auslösenden Ereignis abhängig, so dass zeitlich vor dem Eintritt des Ereignisses nicht eindeu tig vorbestimmt ist, welcher Zielpunkt von ggf. mehreren al ternativ möglichen Zielpunkten tatsächlich zur Anwendung kom men soll. Aufgrund dieser Unbestimmtheit im Vorhinein können Zielpunkte von Bewegungsanweisungen über eine Programmabzwei gung hinweg im Allgemeinen nicht angefahren werden. Bekannt ist es, in einem solchen Fall die Planung eines Überschlei- fens zu unterbrechen, beispielsweise im Rahmen eines soge nannten Vorlaufstopps, d.h. eines Abbruchs einer rechneri schen zeitlichen Vorausplanung von tatsächlich durch den Ro boter noch nicht erreichten, aber im Programm vorgesehenen anzufahrenden Punkten, um den letzten vor der bedingten Pro grammabzweigung liegenden Zielpunkt ohne Überschleifen direkt anzufahren, um nach der bedingten Programmabzweigung eine neue Sequenz eines Überschleifens zu beginnen. In vielen Fäl len ist jedoch ein Unterbrechen des Überschleifens nachtei lig, da es dadurch zu Zeitverzögerungen, zu Rucken und/oder zu unstetigen Bahnverläufen kommen kann. Machine motion programs may generally include conditional program branches. In the case of a conditional program branch, which may be, for example, an IF statement or a WHILE statement, the target point to be approached next depends on the triggering event, so that it is not pre-determined in time before the occurrence of the event which target point of if necessary, to use several alternative possible target points. Because of this ambiguity in advance, destinations of move instructions across a program subtraction generally can not be approached. It is known in such a case to plan a For example, in the context of a so-called pre-stop, ie a discontinuation of a computational time planning of actually not yet achieved by the rooter, but provided in the program to be approached points to the last before the conditional program branching target point without blending directly to start in order to start a new looping sequence after the conditional branching. In many cases, however, an interruption of the blending is disadvantageous, since this can lead to time delays, jerking and / or discontinuous trajectories.
Aufgabe der Erfindung ist es, ein Verfahren zum automatischen Erzeugen einer Bewegungstrajektorie eines Bezugspunktes einer automatisch anzusteuernden Maschine zu schaffen, mit dem ein Überschleifen der Zielpunkte von Bewegungsanweisungen auch über bedingte Programmabzweigungen hinweg möglich wird. The object of the invention is to provide a method for automatically generating a movement trajectory of a reference point of a machine to be controlled automatically, with the blending of the target points of movement instructions even over conditional program branches away is possible.
Diese Aufgabe wird erfindungsgemäß gelöst durch Verfahren zum automatischen Erzeugen einer Bewegungstrajektorie eines Be zugspunktes einer automatisch anzusteuernden Maschine, wobei die Maschine Antriebe aufweist, die ausgebildet sind, den Be zugspunkt der Maschine im Raum zu bewegen und zwar angesteu ert durch eine Steuervorrichtung, die ausgebildet ist, die Antriebe der Maschine auf Grundlage der automatisch erzeugten Bewegungstrajektorie als Führungsgröße mittels einer Bewe gungssteuerung anzusteuern, wobei die Bewegungstrajektorie auf Grundlage wenigstens einer in einem Überschleifmodus aus zuführenden ersten Bewegungsanweisung und wenigstens einer der ersten Bewegungsanweisung folgenden zweiten Bewegungsan weisung eines von der Steuervorrichtung ausführenden Maschi nenbewegungsprogramms mittels eines Bahnplanungsprogramms au tomatisch erzeugt wird, wobei im Maschinenbewegungsprogramm in Ablaufrichtung zwischen der ersten Bewegungsanweisung und einer folgenden zweiten Bewegungsanweisung sich eine bedingte Programmabzweigung befindet, die in Abhängigkeit eines auslö senden Ereignisses eine erste Alternative einer zweiten Bewe gungsanweisung oder wenigstens eine zweite Alternative einer zweiten Bewegungsanweisung vorgibt, aufweisend die Schritte: This object is achieved by a method for automatically generating a movement trajectory of a loading zugspunktes an automatically controlled machine, the machine has drives that are designed to move the loading zugspunkt the machine in space and indeed angesteu ert by a control device which is formed to control the drives of the machine based on the automatically generated movement trajectory as a reference variable by means of a BeWe control, the movement trajectory on the basis of at least one in a smoothing mode from supplying the first movement instruction and at least one of the first movement instruction following second Bewegungsungsan instruction of a run by the control device Maschi nenbewegungsprogramms is automatically generated by means of a path planning program, wherein in the machine motion program in the flow direction between the first movement instruction and a subsequent second movement instruction is a conditional Program branching, which, depending on a triggering event, specifies a first alternative of a second movement instruction or at least a second alternative of a second movement instruction, comprising the steps of:
- Bestimmen von Eigenschaften der zwei oder mehreren alterna tiven zweiten Bewegungsanweisungen, die gemäß der bedingten Programmabzweigung möglich sind, Determining properties of the two or more alternative second movement instructions that are possible according to the conditional program branching,
- Bestimmen eines Zeitpunkts, an dem eine Überschleifbewegung spätestens beginnen muss, aus allen StartZeitpunkten der zwei oder mehreren alternativen zweiten Bewegungsanweisungen, zu denen die jeweils individuelle Überschleifbewegung spätestens beginnen muss, - determining a point in time at which a rounding movement must start at the latest, from all startup Z eitpunkten of two or more alternative second movement instructions to which each individual rounding motion must begin at the latest,
- Übermitteln der Eigenschaften der ersten Bewegungsanweisung und der zwei oder mehreren alternativen zweiten Bewegungsan weisungen an ein Bahnplanungsprogramm, das unter Berücksich tigung des zu überschleifenden Stützpunktes der ersten Bewe gungsanweisung den zwei oder mehreren alternativen zweiten Bewegungsanweisungen entsprechende wenigstens zwei oder meh rere vorausgeplante Bewegungstrajektorien-Abschnitte er stellt, Transmitting the characteristics of the first movement instruction and the two or more alternative second movement instructions to a path planning program, taking into account the at least one of the two or more alternative second movement instructions corresponding at least two or more pre-planned movement trajectory portions, taking into account the base point of the first move instruction to be lashed provides,
- wenn das auslösende Ereignis für die bedingte Programmab zweigung stattgefunden hat, Auswählen desjenigen vorausge planten Bewegungstrajektorien-Abschnitts, welcher der dem auslösenden Ereignis entsprechenden alternativen zweiten Be wegungsanweisung der bedingten Programmabzweigung entspricht, auf die aufgrund des auslösenden Ereignisses abgezweigt wird, if the triggering event for the conditional program branch has taken place, selecting that predefined movement trajectory section which corresponds to the alternative second movement instruction corresponding to the triggering event of the conditional program branch which is branched off on the basis of the triggering event,
- Übermitteln des ausgewählten, vorausgeplanten Bewegungs trajektorien-Abschnitts an die Bewegungsausführung zum Aus führen einer Bewegung der Maschine derart, dass sich der Be zugspunkt der Maschine dem ausgewählten, vorausgeplanten Be- wegungstrajektorien-Abschnitt entsprechend automatisch be wegt . Transferring the selected, pre-planned movement trajectory section to the movement execution for executing a movement of the machine such that the reference point of the machine corresponds to the selected, pre-planned motion trajectory section moves accordingly automatically.
Die mittels des Verfahrens automatisch anzusteuernde Maschine kann eine Werkzeugmaschine oder insbesondere ein Roboter sein. Der Roboter kann einen Roboterarm aufweisen, der mehre re Glieder aufweist, die über Gelenke verbunden sind, wobei die Gelenke mittels Antrieben bewegbar sind, um die Glieder des Roboterarms automatisch gemäß eines Roboterprogramms ge geneinander verstellen zu können. The machine to be controlled automatically by the method can be a machine tool or, in particular, a robot. The robot may include a robot arm having a plurality of links connected by joints, the links being movable by means of drives to automatically adjust the links of the robot arm in accordance with a robot program.
Die Antriebe der Maschine, insbesondere des Roboters können insbesondere elektrische Motoren umfassen, die von einer Steuervorrichtung, insbesondere einer Antriebsteuerung der Steuervorrichtung, gesteuert, insbesondere geregelt antreib- bar sind. Die Motoren können mit Getrieben versehen sein. The drives of the machine, in particular of the robot can in particular comprise electric motors which are controlled by a control device, in particular a drive control of the control device, in particular can be driven in a controlled manner. The motors can be equipped with gearboxes.
Die Steuervorrichtung kann die Antriebsteuerung, eine Bewe gungssteuerung und eine Ablaufsteuerung umfassen. Die Steue rungskomponenten können, wie bereits erwähnt, in einer ge meinsamen Steuerungseinheit zusammengefasst sein oder als se parate Steuerungskomponenten ausgebildet und über Kommunika tionsverbindungen miteinander verbunden sein. Auf der Steuer vorrichtung, insbesondere auf der Ablaufsteuerung kann we nigstens ein Maschinenbewegungsprogramm gespeichert und zur Ausführung eingerichtet sein. Insoweit kann die Steuervor richtung ein Computerprogrammprodukt aufweisen, das einen ma schinenlesbaren Träger umfasst, auf dem Programmcode gespei chert ist, der von der Maschine, insbesondere von einer Robo tersteuerung des Roboters auslesbar ist, sodass die Maschine bzw. der Roboter ausbildet und/oder einrichtet ist, ein er findungsgemäßes Verfahren durchzuführen, wenn der Programm code von der Maschine oder dem Roboter bzw. dessen Steuerung ausgeführt wird. Das Maschinenbewegungsprogramm, das insoweit ein Roboterpro gramm sein kann, enthält Bewegungsanweisungen, insbesondere die Bewegungsanweisungen, gemäß denen ein vorab definierter Bezugspunkt im Raum durch die Maschine bzw. den Roboterarm bewegt werden soll. Der Bezugspunkt kann ein Werkzeugbezugs punkt sein, der unter anderem auch als TCP ( Tool-Center- Point) bezeichnet wird. Ein Werkzeugbezugspunkt kann ein rea ler oder virtueller Punkt an einem Werkzeug sein, das von der Maschine, insbesondere dem Roboterarm gehandhabt wird. In ei nem einfachen Fall kann der Bezugspunkt beispielsweise auch ein mit dem Flansch des Roboterarms fest verbundenes Hand flanschkoordinatensystem sein. The control device may include the drive controller, a motion controller, and a scheduler. As already mentioned, the control components can be combined in one common control unit or designed as separate control components and connected to one another via communication links. On the control device, in particular on the sequence control we can at least one machine movement program stored and set up for execution. In that regard, the Steuervor direction may comprise a computer program product comprising a ma chine-readable carrier is stored on the program code chert, which is readable from the machine, in particular by a Robo tersteuerung of the robot, so that the machine or the robot trains and / or set up is to perform he inventive method when the program code is executed by the machine or the robot or its control. The machine motion program, which may be a robot program so far, contains motion instructions, in particular the motion instructions, according to which a pre-defined reference point in space is to be moved through the machine or robotic arm. The reference point can be a tool reference point, which is also known as TCP (Tool Center Point). A tool reference point may be a real or virtual point on a tool handled by the machine, in particular the robot arm. In a simple case, for example, the reference point may also be a flange flange coordinate system fixedly connected to the flange of the robot arm.
Das Bahnplanungsprogramm der Bahnsteuerung stellt Algorith men, Modelle und/oder Rechenvorschriften bereit, die auf Grundlage der im Maschinenbewegungsprogramm enthaltenen Bewe gungsanweisungen eine Bewegungstrajektorie für den Bezugs punkt unmittelbar erstellen oder mittelbar dadurch erstellen, dass Bewegungsprofile, insbesondere Geschwindigkeitsprofile und/oder Beschleunigungsprofile achsbezogen oder kartesisch durch das Bahnplanungsprogramm generiert werden. Die entspre chenden Bewegungsprofile, insbesondere Geschwindigkeitsprofi le und/oder Beschleunigungsprofile werden dann insbesondere in achsbezogener Form an die Bewegungsausführungssteuerung übergeben, welche ihrerseits die Antriebe d.h. die Motoren der Maschine oder des Roboterarms auch auf Antriebsebene an steuern oder regeln. The path planning program of the path control system provides algorithms, models and / or computational rules that directly create or indirectly create a motion trajectory for the reference point based on the motion instructions contained in the machine motion program such that motion profiles, in particular velocity profiles and / or acceleration profiles, are axis-related or Cartesian the path planning program is generated. The corre sponding motion profiles, in particular Geschwindigkeitsprofi le and / or acceleration profiles are then transferred in particular in achsbezogener form to the motion execution control, which in turn the drives i. The motors of the machine or the robot arm can also be controlled or regulated on the drive level.
Im Falle von Bewegungsanweisungen, die grundsätzlich mit asynchronen Achsbewegungen oder mit synchronen Achsbewegungen durchgeführt werden können, wird die Bahn der Trajektorie zwar nicht in ihrem genauen Bahnverlauf exakt geplant, aller dings findet insoweit eine Bewegungsplanung statt, bei der die Geschwindigkeitsprofile und/oder die Beschleunigungspro file der einzelnen Achsbewegungen durchaus geplant werden, wodurch sich in Abhängigkeit des jeweiligen Startpunktes und des angenommenem Zielpunktes bzw. der angenommenen mehreren aufeinanderfolgenden Zielpunkten ein reproduzierbarer steti ger Bahnverlauf ergibt. Wie bereits erwähnt, werden in einem Überschleifmodus die von den Bewegungsanweisungen definierten genauen Zielpunkte nicht exakt angefahren, sondern unter Ver meiden eines Anhaltens in einem parametrierbaren Abstandsbe reich von dem jeweiligen Zielpunkt umfahren, um eine Bewe- gungstrajektorie mit einem stetigen Geschwindigkeitsverlauf zu erhalten. In the case of movement instructions, which can be carried out in principle with asynchronous axis movements or synchronous axis movements, the trajectory of the trajectory is not accurately planned in their exact trajectory, however, so far a motion planning takes place in which the speed profiles and / or the acceleration pro file the individual axis movements are well planned, resulting in a reproducible steti ger trajectory depending on the respective starting point and the assumed target point or the assumed multiple successive target points. As already mentioned, in a smoothing mode, the exact target points defined by the movement instructions are not approached exactly but, avoiding stopping in a parameterizable distance range, are bypassed by the respective target point in order to obtain a motion trajectory with a continuous speed profile.
Die Bewegungstrajektorie ist eine grafische Repräsentation des Verlaufs der Bewegung, die der Bezugspunkt im Raum durch läuft. Die Bewegungstrajektorie ist insoweit die Spur auf der sich der Bezugspunkt bewegt, wenn die Maschine oder der Robo ter gemäß dem Maschinenbewegungsprogramm automatisch ange steuert wird. Die Bewegungstrajektorie kann auch Geschwindig keitsdaten, insbesondere bezogen auf Interpolationspunkte des Verlaufs der Bewegung bzw. der Spur umfassen. The movement trajectory is a graphical representation of the course of motion that the reference point passes through in space. The movement trajectory is insofar the track on which the reference point moves when the machine or robot is automatically controlled according to the machine motion program. The movement trajectory may also comprise speed data, in particular with respect to interpolation points of the course of the movement or of the track.
Ein Bewegungstrajektorien-Abschnitt stellt im Allgemeinen ei ne Teilstrecke der gesamten Bewegungstrajektorie dar. Im Spe ziellen werden erfindungsgemäß unter den jeweiligen Bewe gungstrajektorien-Abschnitten diejenigen Teile von mehreren möglichen Bewegungstrajektorien verstanden, die im Maschinen bewegungsprogramm aufgrund der bedingten Programmabzweigung alternativ auftreten können, solange das für die bedingten Programmabzweigung auslösende Ereignis noch nicht stattgefun den hat und es deshalb noch nicht feststeht, welche der zwei oder mehreren möglichen Bewegungstrajektorien-Abschnitte tat sächlich zur Ausführung kommen. A motion trajectory section generally represents a subsection of the entire motion trajectory. Specifically, according to the present invention, the respective motion trajectory sections will be those parts of several possible motion trajectories that may alternately occur in the machine motion program due to the conditional program branching, as long as that for the conditional program branching event has not yet taken place and therefore it is not yet clear which of the two or more possible movement trajectory sections actually takes place.
Ein Überschleifen wird beispielsweise in der Robotertechnik und bei Werkzeugmaschinen in Rahmen einer sogenannten PTP- Steuerung angewendet, bei der Bewegungsanweisungen ausgeführt werden. Bei der Ausführung von Bewegungsanweisungen wird ein Bezugspunkt der anzusteuernden Maschine (beispielsweise ein Roboterarm oder eine Werkzeugmaschine) schrittweise von einem ersten Raumpunkt zu einem zweiten Raumpunkt und gegebenen falls nacheinander zu weiteren folgenden Raumpunkten bewegt, wobei in einem Überschleifmodus die jeweiligen Stützpunkte der Bewegungsanweisungen unter Umständen nicht mehr direkt erreicht werden, sondern unter Vermeiden eines vollständigen Anhaltes der Maschine oder des Roboterarms bzw. dessen Be zugspunktes, der Bezugspunkt lediglich in der Nähe eines sol cher überschliffenen Stützpunktes vorbeibewegt wird, um so gleich in Richtung des nächsten Stützpunktes der nächsten Be wegungsanweisung zu fahren. Eine solche Überschleifbewegung kennzeichnet sich also dadurch, dass an solchen Zwischenstel lungen (überschleifende Stützpunkte) ohne Anhalten des Be zugspunktes vorbeigefahren wird. Blending is used, for example, in robotics and machine tools as part of a so-called PTP control in which motion instructions are executed become. In the execution of movement instructions, a reference point of the machine to be controlled (for example, a robot arm or a machine tool) is gradually moved from a first space point to a second space point and given successively to further following space points, wherein in a blending mode, the respective bases of the movement instructions may not be achieved more directly, but avoiding a complete stop of the machine or the robot arm or its loading zugspunktes, the reference point is moved only in the vicinity of such a sol cher grounded base so as to drive equal to the next base of the next Be wegungsanweisung , Such a sanding motion is thus characterized by the fact that at such intermediate Stel settings (over-grinding bases) is passed without stopping the Be zugspunktes.
Die anzufahrenden Zielpunkte sind zwar durch die jeweilige Bewegungsanweisung fest vorbestimmt, allerdings werden diese Zielpunkte im Überschleifmodus demgemäß oftmals tatsächlich nicht erreicht. Although the target points to be approached are firmly predetermined by the respective movement instruction, these target points are in fact often not reached in the rounding mode.
Maschinenbewegungsprogramme können ganz allgemein bedingte Programmabzweigungen enthalten. Bei einer bedingten Pro grammabzweigung, die beispielsweise eine IF-Anweisung oder eine WHILE-Anweisung sein kann, ist der als nächster anzufah rende Zielpunkt von dem auslösenden Ereignis abhängig, so dass zeitlich vor dem Eintritt des Ereignisses nicht eindeu tig vorbestimmt ist, welcher Zielpunkt von ggf. mehreren al ternativ möglichen Zielpunkten tatsächlich zur Anwendung kom men soll. Aufgrund dieser Unbestimmtheit im Vorhinein können Zielpunkte von Bewegungsanweisungen über eine Programmabzwei gung hinweg im Allgemeinen nicht durchgeführt werden. Bekannt ist es, in einem solchen Fall die Planung eines Überschlei- fens zu unterbrechen, beispielsweise im Rahmen eines soge- nannten Vorlaufstopps, um den letzten vor der bedingten Pro grammabzweigung liegenden Zielpunkt ohne Überschleifen direkt anzufahren, um nach der bedingten Programmabzweigung eine neue Sequenz eines Überschleifens zu beginnen. In vielen Fäl len ist jedoch ein Unterbrechen des Überschleifens nachtei lig, da es dadurch zu Zeitverzögerungen, zu Rucken und/oder zu unstetigen Bahnverläufen kommen kann. Machine motion programs may generally include conditional program branches. In the case of a conditional program branch, which may be, for example, an IF statement or a WHILE statement, the target point to be approached next depends on the triggering event, so that it is not pre-determined in time before the occurrence of the event which target point of if necessary, to use several alternative possible target points. Because of this vagueness in advance, destinations of move instructions over a program split may not generally be performed. It is known, in such a case, to interrupt the planning of an overhaul, for example in the context of a so-called called Vorlaufstopps to approach the last before the conditional program branch branch target point without smoothing to begin after the conditional program branch a new sequence of rounding. In many cases, however, an interruption of the blending is disadvantageous, since this can lead to time delays, jerking and / or discontinuous trajectories.
Das auslösende Ereignis kann demgemäß ein physikalisches Er eignis sein, auf welches das Maschinenbewegungsprogramm in programmierter Weise reagieren soll und zwar mittels der be dingten Programmabzweigung. Das auslösende Ereignis ist für das Maschinenbewegungsprogramm insoweit eine beliebige zu prüfende Bedingung, bei deren Eintreten oder Vorhandensein in den jeweils vorgesehen Programmzweig abgezweigt wird. Das auslösende Ereignis muss dabei nicht notwendiger Weise erst kurz vor dem zeitlichen Erreichen der Programmabzweigung ein- treten, sondern kann ggf. schon länger vorher eingetreten sein und somit schon weit vor dem Erreichen der Programmab zweigung eingetreten sein. Es kann dann unmittelbar vor der Programmabzweigung oder zeitlich kurz vor der Programmabzwei gung das auslösende Ereignis bzw. die zu prüfende Bedingung abgefragt und/oder ausgewertet werden, beispielsweise dahin gehend, ob die zu prüfende Bedingung oder das Ereignis immer noch vorliegt. Insoweit kann die zu prüfende Bedingung oder das Ereignis schon weit vorher vorhanden sein, aber erst zum Zeitpunkt bzw. kurz vor dem Zeitpunkt des Erreichens der Pro grammabzweigung abgefragt werden. Das auslösende Ereignis kann insoweit auch schon allein die Abfrage bzw. die Überprü fung einer bereits vorliegenden Bedingung und/oder eines be reits vorliegenden physikalischen Zustands sein. Die Bedin gung und/oder der Zustand kann beispielsweise mittels wenigs tens eines Sensors erfasst werden, der im einfachsten Fall einen booleschen Zustand liefert, der einen Parameter für ei ne Wartefunktion im Maschinenbewegungsprogramm bildet, die ein Ergebnis erst dann liefert, wenn der definierte Zeitpunkt für die Programmabzweigung erreicht ist. The triggering event may accordingly be a physical event to which the machine motion program is to respond in a programmed manner by means of the program branching. The triggering event for the machine motion program insofar as any condition to be tested, is diverted at the occurrence or presence in the respective program branch provided. The triggering event does not necessarily have to occur until shortly before the timely arrival of the program branch, but may possibly have occurred earlier and thus occurred well before the program branch was reached. The triggering event or the condition to be tested can then be queried and / or evaluated immediately before the program branching or shortly before the program is deducted, for example as to whether the condition to be checked or the event still exists. In that regard, the condition to be tested or the event can already be present far in advance, but only at the time or shortly before the time of reaching the program branch diversion be queried. To this extent, the triggering event can be the query or the checking of an already existing condition and / or a physical condition that is already present. The condition and / or the state can be detected, for example, by means of at least one sensor which, in the simplest case, supplies a Boolean state which forms a parameter for a waiting function in the machine motion program, which only delivers a result when the defined time for program branching is reached.
Indem das erfindungsgemäße Verfahren die folgenden Schritte vorsieht : In that the method according to the invention provides the following steps:
- Bestimmen von Eigenschaften der zwei oder mehreren alterna tiven zweiten Bewegungsanweisungen, die gemäß der bedingten Programmabzweigung möglich sind, Determining properties of the two or more alternative second movement instructions that are possible according to the conditional program branching,
- Bestimmen eines Zeitpunkts, an dem eine Überschleifbewegung spätestens beginnen muss, aus allen StartZeitpunkten der zwei oder mehreren alternativen zweiten Bewegungsanweisungen, zu denen die jeweils individuelle Überschleifbewegung spätestens beginnen muss, - determining a point in time at which a rounding movement must start at the latest, from all startup Z eitpunkten of two or more alternative second movement instructions to which each individual rounding motion must begin at the latest,
- Übermitteln der Eigenschaften der ersten Bewegungsanweisung und der zwei oder mehreren Zielpunkte der zwei oder mehreren alternativen zweiten Bewegungsanweisungen an ein Bahnpla nungsprogramm, das unter Berücksichtigung des zu überschlei fenden Stützpunktes der ersten Bewegungsanweisung den zwei oder mehreren alternativen zweiten Bewegungsanweisungen ent sprechende wenigstens zwei oder mehrere vorausgeplante Bewe gungstrajektorien-Abschnitte erstellt, - Transmitting the properties of the first movement instruction and the two or more target points of the two or more alternative second movement instructions to a Bahnpla tion program, the two or more alternative second movement instructions ent speaking at least two or more vorausplanned in consideration of the umlei fenden base of the first movement instruction ent speaking Motion trajectory sections created,
- wenn das auslösende Ereignis für die bedingte Programmab zweigung stattgefunden hat, Auswählen desjenigen vorausge planten Bewegungstrajektorien-Abschnitts, welcher der dem auslösenden Ereignis entsprechenden alternativen zweiten Be wegungsanweisung der bedingten Programmabzweigung entspricht, auf die aufgrund des auslösenden Ereignisses abgezweigt wird, if the triggering event for the conditional program branch has taken place, selecting that predefined movement trajectory section which corresponds to the alternative second movement instruction corresponding to the triggering event of the conditional program branch which is branched off on the basis of the triggering event,
- Übermitteln des ausgewählten, vorausgeplanten Bewegungs trajektorien-Abschnitts an die Ablaufsteuerung zum Ausführen einer Bewegung der Maschine derart, dass sich der Bezugspunkt der Maschine dem ausgewählten, vorausgeplanten Bewegungs- trajektorien-Abschnitt entsprechend automatisch bewegt, kann ein Verfahren zum automatischen Erzeugen einer Bewegungs- trajektorie eines Bezugspunktes einer automatisch anzusteu ernden Maschine bereitgestellt werden, mit dem ein Über schleifen der Zielpunkte von Bewegungsanweisungen auch über bedingte Programmabzweigungen hinweg möglich ist. - Transmitting the selected, pre-planned movement trajektorien section to the flow control for performing a movement of the machine such that the reference point In accordance with the fact that the machine automatically moves according to the selected, pre-planned movement trajectory section, a method for automatically generating a movement trajectory of a reference point of a machine to be automatically set up can be provided with which the destination points of movement instructions can also be looped over conditional program branches is.
Das Bestimmen eines Zeitpunkts, an dem eine Überschleifbewe- gung spätestens beginnen muss, aus allen StartZeitpunkten der zwei oder mehreren alternativen zweiten Bewegungsanweisungen, zu denen die jeweils individuelle Überschleifbewegung spätes tens beginnen muss, und das Übermitteln der Eigenschaften der ersten Bewegungsanweisung und der zwei oder mehreren Ziel punkte der zwei oder mehreren alternativen zweiten Bewegungs anweisungen an ein Bahnplanungsprogramm, das unter Berück sichtigung des zu überschleifenden Stützpunktes der ersten Bewegungsanweisung den zwei oder mehreren alternativen zwei ten Bewegungsanweisungen entsprechende wenigstens zwei oder mehrere vorausgeplante Bewegungstrajektorien-Abschnitte er stellt, können gleichzeitig oder in gewissem Rahmen zeitlich versetzt zueinander ausgeführt werden. Die Reihenfolge kann insoweit nahezu beliebig sein und ggf. auch in der Reihenfol ge vertauscht sein. Determining a timing at which a rounding movement must start at the latest, from all startup Z eitpunkten of two or more alternative second movement instructions to which each individual rounding motion must begin at the latest, and transmitting the characteristics of the first move instruction and the two or multiple target points of the two or more alternative second motion statements to a path planning program, taking into account the base point of the first motion instruction to be looped, corresponding to two or more alternative two movement statements, at least two or more pre-planned motion trajectory sections be carried out in a timely manner with respect to each other. The order can be so far almost arbitrary and possibly also be swapped in the order sequence.
Mit der erfindungsgemäßen Lösung kann die Funktion des Über- schleifens bei Bewegungsanweisungen im Rahmen einer adaptiven Bahnführung in einem Onlinebetrieb auch über bedingte Pro grammabzweigungen hinweg stoppfrei, in einem stetigen Ge schwindigkeitsverlauf und/oder ggf. ruckfrei ausgeführt wer den . With the solution according to the invention, the function of over-grinding in movement instructions as part of an adaptive web guide in an online operation even over conditional program fork branches away stop running in a steady Ge speed progression and / or possibly jerk who the.
Eine im Allgemeinen mögliche offline-Planung des Überschlei- fens von Bewegungsanweisungen ist im Falle von bedingten Pro grammabzweigungen meist nicht möglich, da das die bedingte Programmabzweigung triggernde d.h. auslösende Ereignis im Vorhinein nicht bekannt ist. A generally possible offline planning of looping movement instructions is usually not possible in the case of conditional program branches, since the conditional Program elimination trigging ie triggering event is not known in advance.
Mit dem erfindungsgemäßen Verfahren ist auch keine vollstän dige Planung der Bewegungstrajektorie unter Echtzeitbedingun- gen nötig. Die mit dem erfindungsgemäßen Verfahren in einer Vorschau über ein, zwei oder mehrere Bewegungsanweisungen hinweg zu planende Überschleifbewegung kann hingegen in einer nicht-echtzeitfähigen Bahnsteuerung erfolgen. Die Bahnsteue rung kann somit auch in einer nicht-echtzeitfähigen Program miersprache erstellt sein. With the method according to the invention, complete planning of the movement trajectory under real-time conditions is not necessary. By contrast, the smoothing movement to be planned with the method according to the invention in a preview over one, two or more movement instructions can take place in a non-real-time capable path control. The Bahnsteue tion can thus be created in a non-real-time programming language.
Die bedingte Programmabzweigung kann in wenigstens einer durch das auslösende Ereignis bestimmten Alternative außer einer zweiten Bewegungsanweisung zusätzlich wenigstens eine weitere Bewegungsanweisung aufweisen, wobei The conditional program branch may additionally comprise at least one further movement instruction in at least one alternative determined by the initiating event, in addition to a second movement instruction
- ein Bestimmen des Zeitpunkts, an dem eine Überschleifbewe gung spätestens beginnen muss, aus allen StartZeitpunkten der zwei oder mehreren alternativen zweiten Bewegungsanweisungen, zu denen die jeweils individuelle Überschleifbewegung spätes tens beginnen muss, erfolgt unter Einbeziehen der jeweils weiteren Bewegungsanweisungen zu der jeweiligen zweiten Bewe gungsanweisung erfolgt, und - Determining the time at which a rounding movement must start at the latest from all start Z eitpunkten of the two or more alternative second movement instructions, to which the respective individual blending movement must begin latest tens, taking into account the respective further movement instructions to the respective second Move instruction, and
- ein Übermitteln der Eigenschaften der zu überschleifenden ersten Bewegungsanweisung und der zwei oder mehreren Ziel punkte der zwei oder mehreren alternativen zweiten Bewegungs anweisungen und der jeweiligen weiteren Bewegungsanweisungen an das Bahnplanungsprogramm erfolgt, wobei das Bahnplanungs programm unter Berücksichtigung der Eigenschaften der zu überschleifenden ersten Bewegungsanweisung den zwei oder meh reren alternativen zweiten Bewegungsanweisungen und den je weils weiteren Bewegungsanweisungen entsprechende wenigstens zwei oder mehrere vorausgeplante Bewegungstrajektorien- Abschnitte erstellt erfolgt. a transfer of the properties of the first movement instruction to be looped and the two or more destination points of the two or more alternative second movement instructions and the respective further movement instructions to the path planning program, wherein the path planning program taking into account the characteristics of the first movement instruction to be looped the two or meh reren alternative second movement instructions and the depending Weil further movement instructions corresponding at least two or more preplanned movement trajectory sections are created.
In dieser Ausführungsvariante wird demgemäß nicht nur die im Programmablauf unmittelbar vor der bedingten Programmabzwei gung liegende erste Bewegungsanweisung und die unmittelbar nach der bedingten Programmabzweigung liegende zweite Bewe gungsanweisung für den Überschleifmodus über die bedingten Programmabzweigung hinweg berücksichtigt bzw. herangezogen, sondern auch mindestens eine weitere Bewegungsanweisung, also beispielsweise eine dritte Bewegungsanweisung und eine vier te Bewegungsanweisung, die der zweiten Bewegungsanweisung un mittelbar nachfolgen. Die Anzahl der hinzuzuziehenden Bewe gungsanweisungen kann sich nach der Zeit richten, die bis zur bedingten Programmabzweigung noch zur Verfügung steht, um die zwei oder mehreren möglichen Bewegungstrajektorien-Abschnitte rechtzeitig vor Erreichen der bedingten Programmabzweigung vorausplanen zu können. Accordingly, not only the first movement instruction immediately preceding the conditional program branching and the second movement instruction immediately after the conditional program branching are taken into account or used for the rounding-off mode beyond the conditional program branching, but also at least one further movement instruction. So for example, a third movement instruction and a four te movement instruction, the un indirectly follow the second movement instruction. The number of move instructions to be used may be based on the time remaining available prior to the conditional program branching to allow the two or more possible movement trajectory sections to be timely timed before the conditional program branch is reached.
Das Bahnplanungsprogramm kann demgemäß eingerichtet sein, au ßer den zu überschleifenden ersten Stützpunkt der ersten Be wegungsanweisung, zusätzlich wenigstens einen zweiten Stütz punkt der zweiten Bewegungsanweisung und/oder jeden dritten oder weiteren Stützpunkt einer im Programmablauf folgenden, weiteren zweiten Bewegungsanweisung überschleifend zu planen. The path planning program can accordingly be set up except for the first interpolation point of the first movement instruction to additionally plan at least one second interpolation point of the second movement instruction and / or every third or further interpolation point following another program instruction in the program sequence.
Eine spezielle Ausführungsform des Verfahren kann gekenn zeichnet sein durch ein automatisches oder manuelles Referen- zieren im Maschinenbewegungsprogramm der zwei oder mehreren alternativen zweiten Bewegungsanweisungen und/oder der weite ren Bewegungsanweisungen, die der bedingten Programmabzwei gung im Maschinenbewegungsprogramm in Ablaufrichtung folgen, in einer in Ablaufrichtung vor der Programmabzweigung auftre tenden Bewegungsanweisung, insbesondere vor der ersten Bewe gungsanweisung oder in der ersten Bewegungsanweisung, die der bedingten Programmabzweigung im Maschinenbewegungsprogramm in Ablaufrichtung unmittelbar vorausgeht. A specific embodiment of the method can be characterized by automatic or manual referencing in the machine movement program of the two or more alternative second movement instructions and / or the further movement instructions following the conditional program subtraction in the machine motion program in the flow direction in one direction of the program branching movement instruction, in particular before the first movement instruction or in the first movement instruction, which the Conditional program branch in the machine motion program in the flow direction immediately precedes.
Ein automatisches Referenzieren beispielsweise kann in einer speziellen Variante des Verfahrens dadurch erfolgen, dass das Maschinenbewegungsprogramm Zugriffsfunktionen oder Zugriffs methoden aufweist, die formale Parameter umfassen, in welche die zu referenzierenden zweiten Bewegungsanweisungen und/oder weiteren Bewegungsanweisungen als aktuelle Parameter automa tisch eingetragen werden, welche aktuellen Parameter virtuel le Rückgabewerte bilden, die durch das Maschinenbewegungspro gramm als virtuelle Aufrufparameter der zweiten Bewegungsan weisungen und/oder weiteren Bewegungsanweisungen vor ihrer eigentlichen Ausführung automatisch auslesbar machen. In a special variant of the method, for example, automatic referencing can take place in that the machine movement program has access functions or access methods comprising formal parameters into which the second movement instructions to be referenced and / or further movement instructions are automatically entered as actual parameters Parameter virtual le return values form, the programs by the Maschinenbewegungspro as virtual call parameters of the second movement instructions and / or other movement instructions before their actual execution automatically made read.
Das manuelle Referenzieren beispielsweise kann in einer ande ren Variante des Verfahrens dadurch erfolgen, dass das Ma schinenbewegungsprogramm über editierbare Bewegungsanweisun gen verfügt, die Attribute umfassen, in denen die Eigenschaf ten der zu referenzierenden zweiten Bewegungsanweisungen und/oder der weiteren Bewegungsanweisungen als aktuelle Para meter der Bewegungsanweisungen manuell eingetragen werden können . Manual referencing, for example, may be performed in another version of the method by having machine motion programs that include editable motion instructions that include attributes in which the properties of the second motion statements to be referenced and / or the further motion statements are the actual parameters Movement instructions can be entered manually.
Generell, d.h. in allen Ausführungsformen können die Eigen schaften der jeweiligen Bewegungsanweisung nicht nur Parame ter der Bewegungsanweisung sein, wie beispielsweise die Ziel punkte oder Koordinaten, die geforderten Geschwindigkeiten und/oder Beschleunigungen, sondern können auch andere Spezi fikationen der Bewegungsanweisung sein, wie insbesondere die Art der Bewegungsanweisung, so z.B. PTP-Befehl, LIN-Befehl oder CIRC-Befehl als solches. Generally, i. In all embodiments, the characteristics of the particular motion statement may not only be parameters of the motion statement, such as the destination points or coordinates, the requested speeds and / or accelerations, but may be other speci cations of the motion statement, such as, in particular, the type of motion statement , eg PTP command, LIN command or CIRC command as such.
In allen entsprechend geeigneten Ausführungsformen kann das Bestimmen der Eigenschaften der zwei oder mehreren alternati- ven zweiten Bewegungsanweisungen, die gemäß der bedingten Programmabzweigung möglich sind, dadurch erfolgen, dass die in der ersten Bewegungsanweisung referenzierten zwei oder mehreren alternativen zweiten Bewegungsanweisungen und/oder weiteren Bewegungsanweisungen aufgrund der Verweise in der ersten Bewegungsanweisung ausgelesen werden. So können die im Programmablauf zeitlich hinter der bedingten Programmabzwei gung liegenden Bewegungsanweisungen bereits zeitlich vor der bedingten Programmabzweigung ausgelesen und damit in der Vor laufsteuerung berücksichtigt werden. Im Unterschied zum bis her Bekannten wird jedoch nicht nur ein einzelner prädiktiver weiterer Verlauf der Bewegungstrajektorie im Bahnplanungspro gramm bzw. in der Vorlaufsteuerung geplant, sondern alle ge mäß der bedingten Programmabzweigung möglichen weiteren Ver läufe der mehreren alternativen Bewegungstrajektorien im Bahnplanungsprogramm bzw. in der Vorlaufsteuerung über ein, zwei oder ggf. weitere Bewegungsanweisungen hinweg vorausge plant . In all of the appropriate embodiments, determining the characteristics of the two or more alternative The second movement instructions, which are possible in accordance with the conditional program branching, take place in that the two or more alternative second movement instructions and / or further movement instructions referenced in the first movement instruction are read out on the basis of the references in the first movement instruction. Thus, the movement instructions lying behind the conditional program reduction in the program sequence can already be read out in time prior to the conditional program branch and thus taken into account in the on-the-fly control. In contrast to her acquaintances, however, not only a single predictive course of the movement trajectory in Bahnplanungspro program or in the flow control is planned, but all ge according to the conditional program branch possible further Ver runs of several alternative movement trajectories in the path planning program or in the flow control over one, two or possibly further movement instructions ahead.
Generell kann das Bestimmen des Zeitpunkts, an dem eine Über schleifbewegung spätestens beginnen muss, aus allen Start zeitpunkten der zwei oder mehreren alternativen zweiten Bewe gungsanweisungen, zu denen die jeweils individuelle Über schleifbewegung spätestens beginnen muss, dadurch erfolgen, dass für alle individuellen Überschleifbewegungen eine jewei lige Zeitdauer aus den Bahnparametern und den physikalischen Eigenschaften automatisch bestimmt wird, aus allen entspre chenden Zeitdauern der individuellen Überschleifbewegungen der zwei oder mehreren alternativen zweiten Bewegungsanwei sungen, die längste Zeitdauer herausselektiert wird, und auf Grundlage des momentanen Zeitpunkts und der herausselektier ten längsten Zeitdauer der späteste Zeitpunkt, an dem eine Überschleifbewegung beginnen muss, bestimmt wird. In Kenntnis des spätesten Zeitpunkts, an dem eine Uber schleifbewegung beginnen muss und des momentanen Zeitpunkts kann auch festgestellt werden, ob für alle alternativen zwei ten Bewegungsanweisungen, die aufgrund der bedingten Pro grammabzweigung die Ausführung einer Überschleifbewegung noch sichergestellt werden kann. Falls dies nicht der Fall ist, also festgestellt wird, dass der späteste Zeitpunkt, an dem eine Überschleifbewegung beginnen muss zeitlich bereits ver strichen ist, kann steuerungstechnisch und/oder programmtech nisch vorgesehen werden, dass ein laufender Überschleifmodus beendet, d.h. abgebrochen wird oder ein noch nicht begonnener Überschleifmodus erst gar nicht gestartet wird. In general, the determination of the time at which an overrun must start at the latest from all start times of the two or more alternative second BeWe movement instructions, to which the respective individual overrun must begin at the latest, take place by a jewei for all individual blending movements lige period of time from the path parameters and the physical properties is automatically determined from all corre sponding durations of the individual blending movements of the two or more alternative second Bewegungsungsanwei solutions, the longest period is selected out, and on the basis of the current time and the herausselektier th longest period of the latest Time at which a sanding must begin, is determined. Knowing the latest time at which a Uber schleifbewegung must begin and the current time can also be determined whether for all alternative two movement instructions that can still be ensured due to the conditional program branch the execution of a smoothing motion. If this is not the case, that is, it is determined that the latest point in time at which a sanding movement must begin has already been deleted in terms of time, control technology and / or programming technology can be used to terminate, ie abort, or even stop a running sanding mode not begun smoothing mode does not even start.
Es kann ergänzend vorgesehen sein, dass das Übermitteln des ausgewählten, vorausgeplanten Bewegungstrajektorien- Abschnitts an die Bewegungssteuerung zum Ausführen einer Be wegung der Maschine derart, dass sich der Bezugspunkt der Ma schine dem ausgewählten, vorausgeplanten Bewegungstrajektori- en-Abschnitt entsprechend automatisch bewegt, erst unmittel bar vor dem spätesten Zeitpunkt oder lediglich kurz vor dem spätesten Zeitpunkt ausgeführt wird. Alternativ oder ergän zend kann ein Abfragen und/oder ein Auswerten des auslösenden Ereignisses erst unmittelbar vor dem spätesten Zeitpunkt oder lediglich kurz vor dem spätesten Zeitpunkt ausgeführt werden. Das Abfragen kann beispielsweise ein Einlesen eines Sensor signals in das Bahnplanungsprogramm oder das Maschinenbewe gungsprogramm sein. Ein Auswerten kann einen Vorgang umfas sen, bei dem ein eingelesenes Sensorsignal beispielsweise um gewandelt wird und/oder beispielsweise mit anderen Sensorsig nalen gemeinsam ausgewertet und/oder kombiniert wird. So kann möglichst lange beispielsweise auf das Eingehen externer Sig nale gewartet werden, die für die weitere Programmausführung ggf. notwendig sind, bspw. um ein vom Roboter bewegtes Werk zeug prozessabhängig ansteuern zu können. Ganz allgemein kön nen diejenigen Bewegungsanweisungen des Maschinenbewegungs- Programms, die von dem an die Bewegungssteuerung zum Ausfüh ren einer Bewegung der Maschine bereits übermittelten, vo rausgeplanten Bewegungstrajektorien-Abschnitt erfasst sind, automatisch mit einer Kennzeichnung versehen werden, derart, dass bei geplantem Erreichen dieser Bewegungsanweisungen wäh rend des Ablaufs des Maschinenbewegungsprogramms diese Bewe gungsanweisungen nicht erneut an das Bahnplanungsprogramm übermittelt werden. It can additionally be provided that the transmission of the selected, pre-planned movement trajectory section to the motion control for carrying out a movement of the machine in such a way that the reference point of the machine moves correspondingly automatically to the selected, pre-planned movement trajectory section, only immediately bar is executed before the latest time or just before the latest time. Alternatively or in addition, querying and / or evaluating the triggering event may be carried out only immediately before the latest time or just shortly before the latest time. The queries can be, for example, a reading in of a sensor signal in the path planning program or the Maschinenbewe supply program. An evaluation can include a process in which a read-in sensor signal is converted, for example, and / or, for example, jointly evaluated and / or combined with other sensor signals. For example, it is possible to wait as long as possible, for example, for the input of external signals which may be necessary for the further execution of the program, for example in order to be able to control a process which is moved by the robot in a process-dependent manner. In general, those motion instructions of the machine movement Program, which are detected by the motion control to Ausfüh ren movement of the machine already transmitted, ge outgeplanten movement trajectories section are automatically provided with a label, such that when planned achievement of these movement instructions currency end of the expiration of the machine motion program this BEWE statements not be re-transmitted to the railway planning program.
In einer Variante kann bei geplantem Erreichen der Bewegungs anweisungen während des Ablaufs des Maschinenbewegungspro gramms, die mit der Kennzeichnung versehen sind, ein Übermit teln der Stützpunkte und/oder Zielpunkte dieser gekennzeich neten Bewegungsanweisungen an das Bahnplanungsprogramm unter bunden werden und statt dessen derjenige vorausgeplante Bewe gungstrajektorien-Abschnitt , welcher auf Grundlage dieser ge kennzeichneten Bewegungsanweisungen bereits erzeugt wurde, direkt an die Bewegungssteuerung übergeben werden. In a variant, in the planned achievement of the movement instructions during the course of the Maschinenbewegungspro program, which are provided with the label, a transmis stuffs of the bases and / or target points of this gekennzeich Neten movement instructions to the railway planning program will be prevented and instead of those pre-planned BEWE movement trajectories Section, which has already been generated on the basis of these marked movement instructions, are transferred directly to the motion control.
Die erfindungsgemäße Aufgabe wird außerdem gelöst durch ein Computerprogrammprodukt aufweisend einen maschinenlesbaren Träger, auf dem Programmcode gespeichert ist, der von einer Maschine auslesbar ist und der die Maschine ausbildet und/oder einrichtet, ein Verfahren wie erfindungsgemäße be schrieben durchzuführen, wenn der Programmcode von der Ma schine ausgeführt wird. The object of the invention is also achieved by a computer program product comprising a machine-readable carrier, is stored on the program code, which is readable by a machine and which trains and / or set up the machine to perform a method according to the invention be described if the program code of Ma machine is executed.
Konkrete Ausführungsbeispiele der Erfindung sind in der nach folgenden Figurenbeschreibung unter Bezugnahme auf die beige fügten Figuren näher erläutert. Konkrete Merkmale dieser exemplarischen Ausführungsbeispiele können unabhängig davon, in welchem konkreten Zusammenhang sie erwähnt sind, gegebe nenfalls auch einzeln oder auch in anderen Kombinationen der Merkmale betrachtet, allgemeine Merkmale der Erfindung dar stellen . Die Figuren zeigen: Concrete embodiments of the invention are explained in more detail in the following figure description with reference to the attached beige figures. Concrete features of these exemplary embodiments, regardless of the specific context in which they are mentioned, where appropriate, individually or in other combinations of the features considered to provide general features of the invention. The figures show:
Fig. 1 eine schematische Darstellung eines beispielhaften Fig. 1 is a schematic representation of an exemplary
Aufbaus einer Maschinensteuerung, insbesondere Robo tersteuerung,  Construction of a machine control, in particular robot control,
Fig. 2 eine schematische Darstellung einer beispielhaften Fig. 2 is a schematic representation of an exemplary
Bewegungstrajektorie im Bereich einer bedingten Pro grammabzweigung,  Movement trajectory in the area of a conditional program branch,
Fig. 3 eine schematische Darstellung eines beispielhaften Fig. 3 is a schematic representation of an exemplary
Verfahrens zum Überschleifen über eine bedingte Pro grammabzweigung hinweg,  Method for blending across a conditional program branch,
Fig. 4 eine schematische Darstellung eines abgewandelten Fig. 4 is a schematic representation of a modified
Verfahrens, bei dem die Zielpunkte der zweiten und weiteren Bewegungsanweisungen automatisch vor die bedingte Programmabzweigung geholt werden, und  Method in which the target points of the second and further movement instructions are automatically fetched before the conditional program branch, and
Fig . 5 eine schematische Darstellung eines abgewandelten Fig. 5 is a schematic representation of a modified
Verfahrens, bei dem die Zielpunkte der zweiten und weiteren Bewegungsanweisungen manuell vor der be dingten Programmabzweigung manuell in eine erste Be wegungsanweisung editiert werden.  Method in which the target points of the second and further movement instructions are manually manually edited in a first Be wegungsanweisung before the conditional program branch.
In der Fig. 1 ist eine beispielhafte Steuervorrichtung 1 und von dieser angesteuerte Antriebe M1-M6 gezeigt. FIG. 1 shows an exemplary control device 1 and drives M1-M6 controlled by it.
Die Antriebe M1-M6 können insbesondere elektrische Motoren umfassen, die von der Steuervorrichtung 1, insbesondere einer Antriebsteuerung der Steuervorrichtung 1, gesteuert, insbe sondere geregelt antreibbar sind. Die Steuervorrichtung 1 umfasst im Falle des vorliegend ge zeigten Ausführungsbeispiels der Fig. 1 ein Ablaufsteuerung AS und eine Bewegungssteuerung BS . Die Ablaufsteuerung AS um fasst eine Programmsteuerung PS. Die Steuerungskomponenten können in einer gemeinsamen Steuerungseinheit zusammengefasst sein oder als separate Steuerungskomponenten ausgebildet und über Kommunikationsverbindungen miteinander verbunden sein. Auf der Steuervorrichtung 1, insbesondere auf der Pro grammsteuerung PS kann wenigstens ein Maschinenbewegungspro gramm MP gespeichert und zur Ausführung eingerichtet sein. Insoweit kann die Steuervorrichtung 1 ein Computerprogramm produkt aufweisen, das einen maschinenlesbaren Träger um fasst, auf dem Programmcode gespeichert ist, der von der Ma schine, insbesondere von einer Robotersteuerung des Roboters auslesbar ist, sodass die Maschine bzw. der Roboter ausbildet und/oder einrichtet ist, ein erfindungsgemäßes Verfahren durchzuführen, wenn der Programmcode von der Maschine oder dem Roboter bzw. dessen Steuervorrichtung 1 ausgeführt wird. The drives M1-M6 may in particular comprise electric motors, which are controlled by the control device 1, in particular a drive control of the control device 1, in particular controlled special drivable. The control device 1 comprises in the case of the present ge showed embodiment of FIG. 1, a sequence control AS and a motion controller BS. The sequence control AS summarizes a program control PS. The control components may be combined in a common control unit or formed as separate control components and connected to each other via communication links. On the control device 1, in particular on the program control PS, at least one machine movement program MP can be stored and set up for execution. In that regard, the control device 1 may comprise a computer program product, which includes a machine-readable carrier, is stored on the program code, which is readable by the machine, in particular by a robot controller of the robot, so that the machine or the robot is formed and / or set up is to perform a method according to the invention, when the program code of the machine or the robot or its control device 1 is executed.
Das Maschinenbewegungsprogramm MP, das insoweit ein Roboter programm sein kann, enthält Bewegungsanweisungen z.B. PTP1, PTP2, PTP3, PTP4, gemäß denen ein vorab definierter Bezugs punkt im Raum durch die Maschine bzw. den Roboterarm bewegt werden soll. The machine motion program MP, which may be a robot program insofar, contains motion instructions e.g. PTP1, PTP2, PTP3, PTP4, according to which a predefined reference point in space is to be moved by the machine or the robot arm.
Ein Bahnplanungsprogramm BP der Steuervorrichtung 1, insbe sondere der Bewegungssteuerung BS stellt Algorithmen, Modelle und/oder Rechenvorschriften bereit, die auf Grundlage der im Maschinenbewegungsprogramm MP enthaltenen Bewegungsanweisun gen eine Bewegungstrajektorie T (Fig. 2) für den Bezugspunkt unmittelbar erstellen oder mittelbar dadurch erstellen, dass Bewegungsprofile, insbesondere Geschwindigkeitsprofile und/oder Beschleunigungsprofile achsbezogen oder kartesisch durch das Bahnplanungsprogramm BP generiert werden. Die ent sprechenden Bewegungsprofile, insbesondere Geschwindigkeits- profile und/oder Beschleunigungsprofile werden dann insbeson dere in achsbezogener Form an eine Bewegungsausführung BA übergeben, welche ihrerseits die Antriebe d.h. die Motoren der Maschine oder des Roboterarms auf Antriebsebene mittels Antriebsregler AR ansteuern oder regeln. Insbesondere auf Ebene der Bahnsteuerung BAS kann eine Grobinterpolation Gl der anzusteuernden Punkte stattfinden, wo hingegen bereits in der Bewegungsausführung BA und/oder in den Antriebsreglern AR eine weitere Feininterpolation FI durchgeführt werden kann. A path planning program BP of the control device 1, in particular special motion controller BS provides algorithms, models and / or calculation rules, the conditions based on the Bewegungsbewegweisun contained in the machine motion MP directly create a movement trajectory T (Figure 2) for the reference point or indirectly create, that motion profiles, in particular velocity profiles and / or acceleration profiles, are generated in an axis-related or Cartesian manner by the path planning program BP. The corresponding motion profiles, in particular speed Profiles and / or acceleration profiles are then transferred in particular in achsbezogener form to a movement design BA, which in turn drive the drives ie the motors of the machine or the robot arm on the drive level by means of drive controller AR or regulate. In particular, at the level of the path control BAS, a coarse interpolation G1 of the points to be controlled can take place, whereas, however, a further fine interpolation FI can already be carried out in the motion execution BA and / or in the drive controllers AR.
Im Falle von Bewegungsanweisungen, die grundsätzlich mit asynchronen Achsbewegungen oder mit synchronen Achsbewegungen durchgeführt werden können, wird die Bahn der Trajektorie zwar nicht in ihrem genauen Bahnverlauf exakt geplant, aller dings findet insoweit eine Bewegungsplanung statt, bei der die Geschwindigkeitsprofile und/oder die Beschleunigungspro file der einzelnen Achsbewegungen durchaus geplant werden, wodurch sich in Abhängigkeit des jeweiligen Startpunktes und des angenommenem Zielpunktes bzw. der angenommenen mehreren aufeinanderfolgenden Zielpunkten ein reproduzierbarer steti ger Bahnverlauf BV ergibt, wie dies durch Fig. 2 veranschau licht ist. Wie bereits erwähnt, werden in einem Überschleif modus die von den Bewegungsanweisungen definierten genauen Zielpunkte Z nicht exakt angefahren, sondern unter Vermeiden eines Anhaltens in einem parametrierbaren Abstandsbereich von dem jeweiligen Zielpunkt Z umfahren, um eine Bewegungstrajek- torie BT mit einem stetigen Geschwindigkeitsverlauf zu erhal ten . In the case of movement instructions, which can be carried out in principle with asynchronous axis movements or synchronous axis movements, the trajectory of the trajectory is not accurately planned in their exact trajectory, however, so far a motion planning takes place in which the speed profiles and / or the acceleration pro file the individual axis movements are well planned, resulting in a reproducible steti ger trajectory BV results depending on the respective starting point and the assumed target point or the assumed multiple successive target points, as illustrated by Fig. 2. As already mentioned, in a blending mode, the exact target points Z defined by the movement instructions are not approached exactly but, avoiding stopping in a parameterizable distance range, are bypassed by the respective target point Z in order to obtain a motion trajectory BT with a continuous speed profile ,
In der Fig. 2 ist die Bewegungstrajektorie BT eine grafische Repräsentation des Verlaufs der Bewegung, die der Bezugspunkt im Raum durchläuft. Die Bewegungstrajektorie BT ist insoweit die Spur auf der sich der Bezugspunkt bewegt, wenn die Ma schine oder der Roboter gemäß dem Maschinenbewegungsprogramm MP automatisch angesteuert wird. Ein Bewegungstrajektorien-Abschnitt BA stellt im Allgemeinen eine Teilstrecke der gesamten Bewegungstrajektorie dar. Im Speziellen werden erfindungsgemäß unter den jeweiligen Bewe gungstrajektorien-Abschnitten BA1,BA2, BA3 diejenigen Teile von mehreren möglichen Bewegungstrajektorien T2.1, T2.2, T2.3 verstanden, die im Maschinenbewegungsprogramm MP aufgrund der bedingten Programmabzweigung PA (Fig. 3 - Fig. 5) alternativ auftreten können (ALT1, ALT2), solange das für die bedingten Programmabzweigung PA auslösende Ereignis noch nicht stattge funden hat und es deshalb noch nicht feststeht, welche der zwei oder mehreren möglichen Bewegungstrajektorien-Abschnitte BA1,BA2, BA3 tatsächlich zur Ausführung kommen. In FIG. 2, the movement trajectory BT is a graphic representation of the course of the movement which the reference point passes through in space. The movement trajectory BT is insofar the track on which the reference point moves when the machine or the robot is automatically controlled according to the machine movement program MP. A movement trajectory section BA generally represents a partial path of the entire movement trajectory. More specifically, according to the invention, the respective movement trajectory sections BA1, BA2, BA3 are understood to mean those parts of a plurality of possible movement trajectories T2.1, T2.2, T2.3. which in the machine motion program MP due to the conditional program branch PA (Fig. 3 - Fig. 5) may alternatively occur (ALT1, ALT2), as long as the conditional program branch PA triggering event has not yet took place and therefore it is not yet clear which of two or more possible movement trajectory sections BA1, BA2, BA3 actually come to execution.
Die Fig. 2 zeigt schematisch das Bestimmen des frühesten Zeitpunkts tl, an dem eine Überschleifbewegung beginnen muss, aus allen StartZeitpunkten tl, t2, t3 der beispielsweise drei alternativen zweiten Bewegungsanweisungen, zu denen die je weils individuelle Überschleifbewegung spätestens beginnen muss. Dieses Verfahren erfolgt dadurch, dass für alle indivi duellen Überschleifbewegungen eine jeweilige Zeitdauer vorab parametriert ist, aus allen entsprechenden Zeitdauern der in dividuellen Überschleifbewegungen der zwei oder mehreren al ternativen zweiten Bewegungsanweisungen der späteste Zeit punkt herausselektiert wird, und auf Grundlage des momentanen Zeitpunkts tO und der herausselektierten Zeitdauer tl der späteste Zeitpunkt, an dem eine Überschleifbewegung beginnen muss, bestimmt wird. The Fig. 2 schematically shows the determination of the earliest time point tl at which a rounding movement must start from all startup Z eitpunkten tl, t2, t3, for example, three alternative second movement instructions to which each weils individual rounding motion must begin at the latest. This method is performed by pre-parameterizing a respective period of time for all individual rounding motions, selecting the latest time from all corresponding time periods of the individual rounding movements of the two or more alternative second movement instructions, and based on the current time tO and the selected time period tl, the latest time at which a sanding movement must begin, is determined.
Die Fig. 3 zeigt schematisch das grundlegende Verfahren zum automatischen Erzeugen einer Bewegungstrajektorie BT eines Bezugspunktes einer automatisch anzusteuernden Maschine, wo bei die Maschine Antriebe M1-M6 aufweist, die ausgebildet sind, den Bezugspunkt der Maschine im Raum zu bewegen und zwar angesteuert durch die Steuervorrichtung 1, die ausgebil det ist, die Antriebe M1-M6 der Maschine auf Grundlage der automatisch erzeugten Bewegungstrajektorie BT als Führungs größe mittels einer Ablaufsteuerung AL anzusteuern, wobei die Bewegungstrajektorie BT auf Grundlage wenigstens einer in ei nem Überschleifmodus auszuführenden ersten Bewegungsanweisung PI und wenigstens einer der ersten Bewegungsanweisung PI fol genden zweiten Bewegungsanweisung P2.1, P2.2 eines von der Steuervorrichtung 1 ausführenden Maschinenbewegungsprogramms MP mittels eines Bahnplanungsprogramms BP automatisch erzeugt wird, wobei im Maschinenbewegungsprogramm MP in Ablaufrich tung zwischen der ersten Bewegungsanweisung PI und einer fol genden zweiten Bewegungsanweisung P2.1, P2.2 sich eine be dingte Programmabzweigung PA befindet, die in Abhängigkeit eines auslösenden Ereignisses eine erste Alternative ALT1 ei ner zweiten Bewegungsanweisung P2.1 oder wenigstens eine zweite Alternative ALT2 einer zweiten Bewegungsanweisung P2.2 vorgibt . Fig. 3 shows schematically the basic method for automatically generating a movement trajectory BT of a reference point of a machine to be automatically controlled, where the machine comprises drives M1-M6, which are designed to move the reference point of the machine in space, controlled by the control device 1, which is ausgebil det, the drives M1-M6 of the machine based on the automatically generated Bewegungsstrajektorie BT as a guide size to control by means of a flow control AL, wherein the movement trajectory BT based on at least one executed in egg nem smoothing mode first movement instruction PI and at least one of the first movement instruction PI fol lowing second movement instruction P2.1, P2.2 one of the Control device 1 executing machine motion program MP by means of a path planning program BP is automatically generated in the machine motion program MP in Ablaufrich device between the first movement instruction PI and a fol lowing second movement instruction P2.1, P2.2 is a program-related program branch PA, which depends on a triggering event a first alternative ALT1 ei ner second movement instruction P2.1 or at least a second alternative ALT2 a second movement instruction P2.2 pretends.
Das Verfahren umfasst die Schritte des Bestimmens der zwei oder mehreren Zielpunkte aller alternativen zweiten Bewe gungsanweisungen P2.1, P3.1, P4.1 und P2.2, P3.2, P4.2, die gemäß der bedingten Programmabzweigung PA möglich sind, The method comprises the steps of determining the two or more target points of all alternative second move instructions P2.1, P3.1, P4.1 and P2.2, P3.2, P4.2 that are possible according to the conditional program branch PA,
- des Bestimmens des frühestens Zeitpunkts tl, an dem eine Überschleifbewegung beginnen muss, aus allen StartZeitpunkten tl, t2, t3 der zwei oder mehreren alternativen zweiten Bewe gungsanweisungen P2.1, P2.2, zu denen die jeweils individuel le Überschleifbewegung spätestens beginnen muss, - Determining the earliest time tl at which a smoothing movement must start, from all start Z eitpunkten tl, t2, t3 of the two or more alternative second BeWe movement instructions P2.1, P2.2, to which each individuel le smoothing movement begin at the latest got to,
- des Übermitteins des zu überschleifenden Stützpunktes der ersten Bewegungsanweisung PI und der zwei oder mehreren Ziel punkte der zwei oder mehreren alternativen zweiten Bewegungs anweisungen P2.1, P2.2 an ein Bahnplanungsprogramm BP, das unter Berücksichtigung des zu überschleifenden Stützpunktes der ersten Bewegungsanweisung PI den zwei oder mehreren al ternativen zweiten Bewegungsanweisungen P2.1, P2.2 entspre- chende wenigstens zwei oder mehrere vorausgeplante Bewegungs- trajektorien-Abschnitte T2.1, T2.2, T2.3 erstellt, - The Übermitteins of the base to be looped the first movement instruction PI and the two or more target points of the two or more alternative second movement instructions P2.1, P2.2 to a path planning program BP, taking into account the base of the first movement instruction PI to be looped two or more alternative second movement instructions P2.1, P2.2 at least two or more pre-planned movement trajectory sections T2.1, T2.2, T2.3,
- wenn das auslösende Ereignis für die bedingte Programmab zweigung PA stattgefunden hat, Auswählen desjenigen vorausge planten Bewegungstrajektorien-Abschnitts T2.1, welcher der dem auslösenden Ereignis entsprechenden alternativen zweiten Bewegungsanweisung P2.1 der bedingten Programmabzweigung PA entspricht, auf die aufgrund des auslösenden Ereignisses ab gezweigt wird, if the triggering event for the conditional program branch PA has taken place, selecting that predicted movement trajectory section T2.1 which corresponds to the alternative second movement instruction P2.1 of the conditional program branch PA corresponding to the triggering event, based on the triggering event is branched,
- des Übermitteins des ausgewählten, vorausgeplanten Bewe gungstrajektorien-Abschnitts BAI an die Ablaufsteuerung AL zum Ausführen einer Bewegung der Maschine derart, dass sich der Bezugspunkt der Maschine dem ausgewählten, vorausgeplan ten Bewegungstrajektorien-Abschnitt BAI entsprechend automa tisch bewegt. the transmission of the selected, pre-planned movement trajectory section BAI to the scheduler AL for executing a movement of the machine such that the reference point of the machine moves automatically according to the selected, pre-planned movement trajectory section BAI.
Wie aus Fig. 3 bis Fig. 5 ersichtlich kann die bedingte Pro grammabzweigung PA in wenigstens einer durch das auslösende Ereignis bestimmten Alternative z.B. ALT1 und/oder ALT2 außer einer zweiten Bewegungsanweisung P2.1, P2.2 zusätzlich bei spielsweise eine dritte Bewegungsanweisung P3.1, P3.2 und ei ne vierte Bewegungsanweisung P4.1, P4.2 aufweisen. As can be seen from FIGS. 3 to 5, the conditional program branch PA can be found in at least one alternative determined by the triggering event, e.g. ALT1 and / or ALT2 addition to a second movement instruction P2.1, P2.2 in addition, for example, a third movement instruction P3.1, P3.2 and ei ne fourth movement instruction P4.1, P4.2 have.
Ein Bestimmen des frühesten Zeitpunkts tl, an dem eine Über schleifbewegung beginnen muss, erfolgt dann aus allen Start zeitpunkten tl und t2 der zwei alternativen zweiten Bewe gungsanweisungen P2.1, P2.2, zu denen die jeweils individuel le Überschleifbewegung spätestens beginnen muss, unter Einbe ziehen der jeweils weiteren Bewegungsanweisungen P3.1, P3.2 und P4.1, P4.2 zu der jeweiligen zweiten Bewegungsanweisung P2.1, P2.2. Ein Übermitteln des zu überschleifenden Stützpunktes der ers ten Bewegungsanweisung PI und der zwei oder mehreren Ziel punkte der zwei alternativen zweiten Bewegungsanweisungen P2.1, P2.2 und der jeweiligen weiteren Bewegungsanweisungen P3.1, P3.2 und P4.1, P4.2 erfolgt dabei an das Bahnplanungs programm BP, wobei das Bahnplanungsprogramm BP unter Berück sichtigung des zu überschleifenden Stützpunktes der ersten Bewegungsanweisung PI den zwei alternativen zweiten Bewe gungsanweisungen P2.1, P2.2 und den jeweils weiteren Bewe gungsanweisungen P3.1, P3.2 und P4.1, P4.2 entsprechende zwei vorausgeplante Bewegungstrajektorien-Abschnitte T2.1 und T2.2 erstellt . Determining the earliest time point tl, at which an overflip movement must begin, then takes place from all start times t1 and t2 of the two alternative second movement instructions P2.1, P2.2, at which the respective individual smoothing movement must begin at the latest Include the respective further movement instructions P3.1, P3.2 and P4.1, P4.2 to the respective second movement instruction P2.1, P2.2. Transmitting the base to be looped of the first movement instruction PI and the two or more target points of the two alternative second movement instructions P2.1, P2.2 and the respective further movement instructions P3.1, P3.2 and P4.1, P4.2 takes place to the path planning program BP, the path planning program BP taking into account the to be looped base of the first movement instruction PI the two alternative second BeWe movement instructions P2.1, P2.2 and the other BEWE statement P3.1, P3.2 and P4.1, P4.2 corresponding two pre-planned movement trajectory sections T2.1 and T2.2 created.
Das Bahnplanungsprogramm BP kann somit eingerichtet sein, au ßer den zu überschleifenden ersten Stützpunkt der ersten Be wegungsanweisung PI, zusätzlich wenigstens einen zweiten Stützpunkt der zweiten Bewegungsanweisung P2.1 P2.2 und/oder jeden dritten oder weiteren Stützpunkt einer im Programmab lauf folgenden, weiteren Bewegungsanweisung P3.1, P3.2 und P4.1, P4.2 überschleifend zu planen. The path planning program BP can thus be set up except for the first interpolation point of the first movement instruction P1, in addition at least one second interpolation point of the second movement instruction P2.1 P2.2 and / or every third or further interpolation point in the program sequence following Movement instructions P3.1, P3.2 and P4.1, P4.2 must be planned overly.
Die Fig. 4 und Fig. 5 zeigen eine Variante des Verfahren, ge kennzeichnet durch automatisches oder manuelles Referenzieren im Maschinenbewegungsprogramm MP der zwei oder mehreren al ternativen zweiten Bewegungsanweisungen P2.1, P2.2 und/oder der weiteren Bewegungsanweisungen P3.1, P3.2 und P4.1, P4.2, die der bedingten Programmabzweigung PA im Maschinenbewe gungsprogramm MP in Ablaufrichtung folgen, in einer in Ab laufrichtung vor der Programmabzweigung PA auftretenden Bewe gungsanweisung, insbesondere vor der ersten Bewegungsanwei sung PI oder in der ersten Bewegungsanweisung PI, die der be dingten Programmabzweigung PA im Maschinenbewegungsprogramm MP in Ablaufrichtung unmittelbar vorausgeht. Die Fig. 4 zeigt, wie das Referenzieren dadurch erfolgt, dass das Maschinenbewegungsprogramm MP eine Zugriffsfunktion oder Zugriffsmethode Z aufweist, die formale Parameter umfassen, in welche die zu referenzierenden zweiten Bewegungsanweisun- gen P2.1, P2.2 und/oder weiteren Bewegungsanweisungen P3.1,FIGS. 4 and 5 show a variant of the method, characterized by automatic or manual referencing in the machine movement program MP of the two or more alternative second movement instructions P2.1, P2.2 and / or the further movement instructions P3.1, P3 .2 and P4.1, P4.2, which follow the conditional program branch PA in Maschinenbewe supply program MP in the flow direction, in a running direction from before Ab the program branch PA occurring BEWE statement, in particular before the first Bewegungsungsanwei solution PI or in the first movement instruction PI which immediately precedes the conditional program branch PA in the machine motion program MP in the flow direction. 4 shows how the referencing takes place in that the machine movement program MP has an access function or access method Z, which includes formal parameters into which the second movement instructions P2.1, P2.2 to be referenced and / or further movement instructions P3 .1,
P3.2 und P4.1, P4.2 als aktuelle Parameter eingetragen wer den, welche aktuellen Parameter virtuelle Rückgabewerte bil den, die durch das Maschinenbewegungsprogramm MP als virtuel le Aufrufparameter der zweiten Bewegungsanweisungen P2.1, P2.2 und/oder weiteren Bewegungsanweisungen P3.1, P3.2 undP3.2 and P4.1, P4.2 are entered as current parameters who the current parameters virtual return values bil, by the machine motion program MP as virtual call parameters of the second movement instructions P2.1, P2.2 and / or other movement instructions P3.1, P3.2 and
P4.1, P4.2 vor ihrer eigentlichen Ausführung automatisch aus lesbar machen. P4.1, P4.2 automatically make them readable before they are actually executed.
Die Fig. 5 zeigt, wie das Referenzieren dadurch erfolgt, dass das Maschinenbewegungsprogramm MP über editierbare Bewegungs- anweisungen A verfügt, die Attribute umfassen, in denen dieFIG. 5 shows how the referencing takes place in that the machine movement program MP has editable movement instructions A which include attributes in which the
Zielpunkte der zu referenzierenden zweiten Bewegungsanweisun gen P2.1, P2.2 und/oder der weiteren Bewegungsanweisungen P3.1, P3.2 und P4.1, P4.2 als aktuelle Parameter der Bewe gungsanweisung PI manuell eingetragen werden können. Target points of the second movement instructions P2.1, P2.2 to be referenced and / or the further movement instructions P3.1, P3.2 and P4.1, P4.2 can be entered manually as actual parameters of the movement instruction PI.

Claims

Patentansprüche claims
1. Verfahren zum automatischen Erzeugen einer Bewegungs- trajektorie (BT) eines Bezugspunktes einer automatisch anzusteuernden Maschine, wobei die Maschine Antriebe (M1-M6) aufweist, die ausgebildet sind, den Bezugspunkt der Maschine im Raum zu bewegen und zwar angesteuert durch eine Steuervorrichtung (1), die ausgebildet ist, die Antriebe (M1-M6) der Maschine auf Grundlage der au tomatisch erzeugten Bewegungstrajektorie (BT) als Füh rungsgröße mittels einer Bewegungssteuerung (BS) anzu steuern, wobei die Bewegungstrajektorie (BT) auf Grund lage wenigstens einer in einem Überschleifmodus auszu führenden ersten Bewegungsanweisung (PI) und wenigstens einer der ersten Bewegungsanweisung (PI) folgenden zwei ten Bewegungsanweisung (P2.1, P2.2) eines von der Steu ervorrichtung (1) ausführenden Maschinenbewegungspro gramms (MP) mittels eines Bahnplanungsprogramms (BP) au tomatisch erzeugt wird, wobei im Maschinenbewegungspro gramm (MP) in Ablaufrichtung zwischen der ersten Bewe gungsanweisung (PI) und einer folgenden zweiten Bewe gungsanweisung (P2.1, P2.2) sich eine bedingte Pro grammabzweigung (PA) befindet, die in Abhängigkeit eines auslösenden Ereignisses eine erste Alternative (ALT1) einer zweiten Bewegungsanweisung (P2.1) oder wenigstens eine zweite Alternative (ALT2) einer zweiten Bewegungs anweisung (P2.2, P2.3) vorgibt, aufweisend die Schritte: 1. A method for automatically generating a movement trajectory (BT) of a reference point of a machine to be automatically controlled, the machine having drives (M1-M6) which are designed to move the reference point of the machine in space, controlled by a control device (FIG. 1), which is designed to control the drives (M1-M6) of the machine based on the au tomatically generated movement trajectory (BT) as Füh tion size by means of a motion control (BS), wherein the movement trajectory (BT) based on at least one in following a rounding mode first movement instruction (PI) and at least one of the first movement instruction (PI) following two movement instruction (P2.1, P2.2) of one of the STEU ervorrichtung (1) exporting Maschinenbewegungspro program (MP) by means of a path planning program (BP ) is generated automatically, in the Maschinenbewegungspro program (MP) in the flow direction between the first BEWE wassw icing (PI) and a subsequent second motion statement (P2.1, P2.2) there is a conditional program branching (PA) which, depending on a triggering event, a first alternative (ALT1) of a second movement instruction (P2.1) or at least one second alternative (ALT2) specifies a second movement instruction (P2.2, P2.3), comprising the steps:
- Bestimmen von Eigenschaften der zwei oder mehreren alternativen zweiten Bewegungsanweisungen (P2.2, P2.3), die gemäß der bedingten Programmabzweigung (PA) möglich sind, Determining properties of the two or more alternative second movement instructions (P2.2, P2.3) that are possible according to the conditional program branch (PA),
- Bestimmen eines Zeitpunkts (tl), an dem eine Über schleifbewegung spätestens beginnen muss, aus allen StartZeitpunkten (tl, t2, t3) der zwei oder mehreren al- ternativen zweiten Bewegungsanweisungen (P2.1, P2.2), zu denen die jeweils individuelle Überschleifbewegung spä testens beginnen muss, - determining a time point (tl) at which an abrasive movement must begin no later than from all startup Z eitpunkten (tl, t2, t3) of two or more al- ternative second movement instructions (P2.1, P2.2), to which the respective individual polishing operation must begin at the latest,
- Übermitteln der Eigenschaften der ersten Bewegungsan weisung (PI) und der zwei oder mehreren alternativen zweiten Bewegungsanweisungen (P2.1, P2.2) an ein Bahn planungsprogramm (BP) , das unter Berücksichtigung des zu überschleifenden Stützpunktes der ersten Bewegungsanwei sung (PI) den zwei oder mehreren alternativen zweiten Bewegungsanweisungen (P2.1, P2.2) entsprechende wenigs tens zwei oder mehrere vorausgeplante Bewegungstraj ekto- rien-Abschnitte (BAI, BA2, BA3 ) erstellt, Transferring the properties of the first movement instruction (PI) and the two or more alternative second movement instructions (P2.1, P2.2) to a railway planning program (BP), taking into account the base point of the first movement instruction (PI) to be looped the two or more alternative second movement instructions (P2.1, P2.2) corresponding at least two or more pre-planned Bewegungsstraj ekto- rien sections (BAI, BA2, BA3) created,
- wenn das auslösende Ereignis für die bedingte Pro grammabzweigung (PA) stattgefunden hat, Auswählen desje nigen vorausgeplanten Bewegungstrajektorien-Abschnitts (BAI), welcher der dem auslösenden Ereignis entsprechen den alternativen zweiten Bewegungsanweisung (P2.1, P2.2) der bedingten Programmabzweigung (PA) entspricht, auf die aufgrund des auslösenden Ereignisses abgezweigt wird, if the triggering event for the conditional program branch (PA) has taken place, selecting the one of the pre-planned motion trajectory portion (BAI) corresponding to the triggering event the alternative second move instruction (P2.1, P2.2) of the conditional program branch (BA) PA), which is branched off due to the triggering event,
- Übermitteln des ausgewählten, vorausgeplanten Bewe gungstrajektorien-Abschnitts (BAI) an die Bewegungsaus führung (BA) zum Ausführen einer Bewegung der Maschine derart, dass sich der Bezugspunkt der Maschine dem aus gewählten, vorausgeplanten Bewegungstrajektorien- Abschnitt (BAI) entsprechend automatisch bewegt. - transmitting the selected preprogrammed motion trajectory section (BAI) to the motion executor (BA) for performing a movement of the machine such that the machine's reference point automatically moves in accordance with the selected, preplanned motion trajectory section (BAI).
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die bedingte Programmabzweigung (PA) in wenigstens einer durch das auslösende Ereignis bestimmten Alternative (ALTI , ALT2) außer einer zweiten Bewegungsanweisung (P2.1,P2.2) zusätzlich wenigstens eine weitere Bewe gungsanweisung (P3.1,P3.2, P4.1, P4.2) aufweist und - ein Bestimmen des Zeitpunkts (tl), an dem eine Uber schleifbewegung spätestens beginnen muss, aus allen StartZeitpunkten der zwei oder mehreren alternativen zweiten Bewegungsanweisungen (P2.1,P2.2), zu denen die jeweils individuelle Überschleifbewegung spätestens be ginnen muss, erfolgt unter Einbeziehen der jeweils wei teren Bewegungsanweisungen (P3.1,P3.2, P4.1, P4.2) zu der jeweiligen zweiten Bewegungsanweisung (P2.1,P2.2), und 2. The method according to claim 1, characterized in that the conditional program branch (PA) in at least one determined by the triggering event alternative (ALTI, ALT2) in addition to a second movement instruction (P2.1, P2.2) additionally at least one further BEWE statement (P3.1, P3.2, P4.1, P4.2) and - Determining the time point (tl) at which a Uber schleifbewegung must start at the latest, from all start Z eitpunkten the two or more alternative second movement instructions (P2.1, P2.2), to which each individual smoothing movement must begin at the latest , taking into account the respective further movement instructions (P3.1, P3.2, P4.1, P4.2) to the respective second movement instruction (P2.1, P2.2), and
- ein Übermitteln der Eigenschaften der zu überschlei fenden ersten Bewegungsanweisung (PI) und der zwei oder mehreren alternativen zweiten Bewegungsanweisungen (P2.1, P2.2) und der jeweiligen weiteren Bewegungsanwei sungen (P3.1, P3.2, P4.1, P4.2) an das Bahnplanungspro gramm (BP) erfolgt, wobei das Bahnplanungsprogramm (BP) unter Berücksichtigung der Eigenschaften der zu über schleifenden ersten Bewegungsanweisung (PI), den zwei oder mehreren alternativen zweiten Bewegungsanweisungen (P2.1, P2.2) und den jeweils weiteren Bewegungsanweisun gen (P3.1, P3.2, P4.1, P4.2) entsprechende wenigstens zwei oder mehrere vorausgeplante Bewegungstrajektorien- Abschnitte (T2.1, T2.2, T2.3) erstellt. a transmission of the properties of the first movement instruction (PI) to be multiplied and the two or more alternative second movement instructions (P2.1, P2.2) and the respective further movement instructions (P3.1, P3.2, P4.1, P4.2) to the Bahnplanungspro program (BP), wherein the path planning program (BP) taking into account the characteristics of the first movement instruction to be grounded (PI), the two or more alternative second movement instructions (P2.1, P2.2) and the respective further Bewegungsungsanweisun gene (P3.1, P3.2, P4.1, P4.2) corresponding at least two or more pre-planned Bewegungsstrajektorien- sections (T2.1, T2.2, T2.3) created.
3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Bahnplanungsprogramm (BP) eingerichtet ist, außer der zu überschleifenden ersten Bewegungsanweisung (PI), zusätzlich wenigstens eine zweite Bewegungsanweisung (P2.1, P2.2) und/oder jede dritte oder weitere im Pro grammablauf folgende Bewegungsanweisung (P3.1, P3.2, P4.1, P4.2) überschleifend zu planen. 3. The method according to claim 1, characterized in that the path planning program (BP) is set up, except for the first movement instruction (PI) to be looped, additionally at least one second movement instruction (P2.1, P2.2) and / or every third or further to program the following movement instruction (P3.1, P3.2, P4.1, P4.2) in the program sequence as an overslept.
4. Verfahren nach einem der Ansprüche 1 bis 3, gekennzeich net durch automatisches oder manuelles Referenzieren im Maschinenbewegungsprogramm (MP) der zwei oder mehreren alternativen zweiten Bewegungsanweisungen (P2.1, P2.2) und/oder der weiteren Bewegungsanweisungen (P3.1, P3.2, P4.1, P4.2), die der bedingten Programmabzweigung (PA) im Maschinenbewegungsprogramm (MP) in Ablaufrichtung folgen, in einer in Ablaufrichtung vor der Programmab zweigung (PA) auftretenden Bewegungsanweisung, insbeson dere vor der ersten Bewegungsanweisung (Pi) oder in der ersten Bewegungsanweisung (Pi), die der bedingten Pro grammabzweigung (PA) im Maschinenbewegungsprogramm (MP) in Ablaufrichtung unmittelbar vorausgeht. 4. The method according to any one of claims 1 to 3, gekennzeich net by automatic or manual homing in the machine motion program (MP) of the two or more alternative second movement instructions (P2.1, P2.2) and / or the further movement instructions (P3.1, P3.2, P4.1, P4.2), the conditional program branch (PA) in the machine movement program (MP) in the flow direction follow, in a running direction before the program branching (PA) occurring movement instruction, in particular before the first movement instruction (Pi) or in the first movement instruction (Pi), the conditional program grammer branch (PA) in the machine motion program (MP) in the flow direction immediately precedes.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass das Referenzieren dadurch erfolgt, dass das Maschinenbe wegungsprogramm (MP) Zugriffsfunktionen (Z) oder Zu griffsmethoden (Z) aufweist, die formale Parameter um fassen, in welche die zu referenzierenden zweiten Bewe gungsanweisungen (P2.1, P2.2) und/oder weiteren Bewe gungsanweisungen (P3.1, P3.2, P4.1, P4.2) als aktuelle Parameter eingetragen werden, welche aktuellen Parameter virtuelle Rückgabewerte bilden, die durch das Maschinen bewegungsprogramm (MP) als virtuelle Aufrufparameter der zweiten Bewegungsanweisungen (P2.1, P2.2) und/oder wei teren Bewegungsanweisungen (P3.1, P3.2, P4.1, P4.2) vor ihrer eigentlichen Ausführung automatisch auslesbar ma chen . 5. The method according to claim 4, characterized in that the referencing takes place in that the machine movement program (MP) has access functions (Z) or access methods (Z) which contain formal parameters into which the second movement instructions to be referenced ( P2.1, P2.2) and / or further movement instructions (P3.1, P3.2, P4.1, P4.2) are entered as current parameters, which present parameters virtual return values, which are determined by the machine motion program ( MP) as virtual call parameters of the second movement instructions (P2.1, P2.2) and / or other movement instructions (P3.1, P3.2, P4.1, P4.2) automatically readable before their actual execution ma chen.
6. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass das Referenzieren dadurch erfolgt, dass das Maschinenbe wegungsprogramm (MP) über editierbare Bewegungsanweisun gen (A) verfügt, die Attribute umfassen, in denen die Eigenschaften der zu referenzierenden zweiten Bewegungs anweisungen (P2.1, P2.2) und/oder der weiteren Bewe gungsanweisungen (P3.1,P3.2, P4.1, P4.2) als aktuelle Parameter der Bewegungsanweisungen manuell eingetragen werden . 6. The method according to claim 4, characterized in that the referencing is carried out by the fact that the machine movement program (MP) has editable movement instructions (A) which comprise attributes in which the properties of the second movement instructions to be referenced (P2.1 , P2.2) and / or the further movement instructions (P3.1, P3.2, P4.1, P4.2) are entered manually as current parameters of the movement instructions.
7. Verfahren nach einem der Ansprüche 4 bis 6, dadurch ge kennzeichnet, dass das Bestimmen der Eigenschaften der zwei oder mehreren alternativen zweiten Bewegungsanwei sungen (P2.1, P2.2, P3.1, P3.2, P4.1, P4.2), die gemäß der bedingten Programmabzweigung (PA) möglich sind, dadurch erfolgt, dass die in der ersten Bewegungsanwei sung (PI) referenzierten zwei oder mehreren alternativen zweiten Bewegungsanweisungen (P2.1, P2.2) und/oder wei teren Bewegungsanweisungen (P3.1, P3.2, P4.1, P4.2) auf grund der Verweise in der ersten Bewegungsanweisung (PI) ausgelesen werden. 7. The method according to any one of claims 4 to 6, characterized in that the determination of the properties of the two or more alternative second Bewegungsungsanwei solutions (P2.1, P2.2, P3.1, P3.2, P4.1, P4 .2), which are possible in accordance with the conditional program branch (PA), is effected by the two or more alternative second movement instructions (P2.1, P2.2) referenced in the first movement instruction (PI) and / or further movement instructions (P3.1, P3.2, P4.1, P4.2) are read based on the references in the first movement instruction (PI).
8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch ge kennzeichnet, dass das Bestimmen des Zeitpunkts (tl), an dem eine Überschleifbewegung spätestens beginnen muss, aus allen StartZeitpunkten der zwei oder mehreren alter nativen zweiten Bewegungsanweisungen (P2.1, P2.2), zu denen die jeweils individuelle Überschleifbewegung spä testens beginnen muss, dadurch erfolgt, dass für alle individuellen Überschleifbewegungen eine jeweilige Zeit dauer aus den Bahnparametern und den physikalischen Ei genschaften automatisch bestimmt wird, aus allen ent sprechenden Zeitdauern (tl, t2, t3) der individuellen Überschleifbewegungen der zwei oder mehreren alternati ven zweiten Bewegungsanweisungen (P2.1, P2.2, P3.1,8. The method according to any one of claims 1 to 7, characterized in that the determination of the time point (tl) at which a smoothing movement must begin at the latest, from all start Z eitpunkten of the two or more alter native second movement instructions (P2.1, P2.2), to which the respective individual smoothing movement has to begin later, is carried out by automatically determining a respective time duration from the path parameters and the physical properties for all individual smoothing motions, from all the corresponding periods of time (t1, t2, t3) of the individual rounding motions of the two or more alternative second movement instructions (P2.1, P2.2, P3.1,
P3.2, P4.1, P4.2) die längste Zeitdauer herausselektiert wird, und auf Grundlage des momentanen Zeitpunkts und der herausselektierten längsten Zeitdauer der späteste Zeitpunkt (tl), an dem eine Überschleifbewegung beginnen muss, bestimmt wird. P3.2, P4.1, P4.2) the longest period of time is selected, and based on the current time and the selected longest period of time, the latest time (tl) at which a rounding movement must begin is determined.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass das Übermitteln des ausgewählten, vorausgeplanten Bewe- gungstrajektorien-Abschnitts (BAI) an die Bewegungssteu erung (BS) zum Ausführen einer Bewegung der Maschine derart, dass sich der Bezugspunkt der Maschine dem aus gewählten, vorausgeplanten Bewegungstrajektorien- Abschnitt (BAI) entsprechend automatisch bewegt, erst unmittelbar vor dem spätesten Zeitpunkt (tl) oder ledig lich kurz vor dem spätesten Zeitpunkt (tl) ausgeführt wird . 9. The method according to claim 8, characterized in that the transmission of the selected, pre-planned movement trajectory section (BAI) to the Bewegungssteu tion (BS) for carrying out a movement of the machine such that the reference point of the machine automatically moves according to the selected, pre-planned movement trajectory section (BAI), only immediately before the latest point in time (t1) or just shortly before the latest point in time (t1).
10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch ge kennzeichnet, dass ein Abfragen und/oder ein Auswerten des auslösenden Ereignisses erst unmittelbar vor dem spätesten Zeitpunkt (tl) oder lediglich kurz vor dem spätesten Zeitpunkt (tl) ausgeführt wird. 10. The method according to any one of claims 1 to 9, characterized in that a query and / or an evaluation of the triggering event only immediately before the latest time (tl) or only shortly before the latest time (tl) is executed.
11. Verfahren nach einem der Ansprüche 1 bis 10, dadurch ge kennzeichnet, dass diejenigen Bewegungsanweisungen des Maschinenbewegungsprogramms (MP) , die von dem an die Be wegungssteuerung (AB) zum Ausführen einer Bewegung der Maschine bereits übermittelten, vorausgeplanten Bewe gungstrajektorien-Abschnitt (BAI) erfasst sind, automa tisch mit einer Kennzeichnung versehen werden, derart, dass bei geplantem Erreichen dieser Bewegungsanweisungen (P2.1, P2.2) während des Ablaufs des Maschinenbewegungs programms (MP) diese Bewegungsanweisungen (P2.1, P2.2) nicht erneut an das Bahnplanungsprogramm (BP) übermit telt werden. 11. The method according to any one of claims 1 to 10, characterized in that those movement instructions of the machine movement program (MP), the movement of the movement of the machine already transmitted to the Be, (BE) for carrying out a movement of the machine already transmitted, pre-planned BEWE movement trajectories section (BAI ), are automatically provided with a marking, such that when planned achievement of these movement instructions (P2.1, P2.2) during the course of the machine movement program (MP) these movement instructions (P2.1, P2.2) not once again to the railway planning program (BP).
12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass bei geplantem Erreichen der Bewegungsanweisungen während des Ablaufs des Maschinenbewegungsprogramms (MP) , die mit der Kennzeichnung versehen sind, ein Übermitteln der Stützpunkte und/oder Zielpunkte dieser gekennzeichneten Bewegungsanweisungen (P2.1, P2.2) an das Bahnplanungs programm (BP) unterbunden wird und statt dessen derjeni ge vorausgeplante Bewegungstrajektorien-Abschnitt (T2.1), welcher auf Grundlage dieser gekennzeichneten Bewegungsanweisungen (P2.1, P2.2) bereits erzeugt wurde, direkt an die Bewegungssteuerung (BS) übergeben wird. 12. The method according to claim 11, characterized in that when planned reaching the movement instructions during the course of the machine movement program (MP), which are provided with the marking, transmitting the interpolation points and / or target points of these designated movement instructions (P2.1, P2. 2) to the path planning program (BP) is prohibited and instead that vorgei ge pre-planned movement trajectories section (T2.1), which has already been generated on the basis of these marked movement instructions (P2.1, P2.2), is transferred directly to the motion control (BS).
13. Computerprogrammprodukt aufweisend einen maschinenlesba- ren Träger, auf dem Programmcode gespeichert ist, der von einer Maschine auslesbar ist und der die Maschine ausbildet und/oder einrichtet, ein Verfahren nach einem der Ansprüche 1 bis 12 durchzuführen, wenn der Programm code von der Maschine ausgeführt wird. A computer program product comprising a machine readable medium having program code readable by a machine and forming and / or establishing the machine for performing a method according to any one of claims 1 to 12 when the program code is from the machine is performed.
PCT/EP2019/053689 2018-03-01 2019-02-14 Method for automatically generating a movement trajectory and associated computer program product WO2019166229A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102018203078.2 2018-03-01
DE102018203078.2A DE102018203078B3 (en) 2018-03-01 2018-03-01 Method for automatically generating a movement trajectory and associated computer program product

Publications (1)

Publication Number Publication Date
WO2019166229A1 true WO2019166229A1 (en) 2019-09-06

Family

ID=65440972

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/053689 WO2019166229A1 (en) 2018-03-01 2019-02-14 Method for automatically generating a movement trajectory and associated computer program product

Country Status (2)

Country Link
DE (1) DE102018203078B3 (en)
WO (1) WO2019166229A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3797937A1 (en) * 2019-09-27 2021-03-31 Siemens Aktiengesellschaft Stopping of a production machine on a collision-free web
US20220410393A1 (en) * 2019-12-04 2022-12-29 Abb Schweiz Ag Method of Controlling Industrial Actuator, Control System and Actuator System
DE102021204004B3 (en) 2021-04-21 2022-07-07 Kuka Deutschland Gmbh Creating a robot program and operating a robot
DE102021125628B3 (en) 2021-10-04 2022-10-13 Physik Instrumente (PI) GmbH & Co KG Speed specifications for determining the trajectory of kinematics

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000073967A1 (en) * 1999-05-28 2000-12-07 Brooks Automation, Inc. Robotic manipulators based on pre-defined time-optimum trajectory shape
WO2008119383A1 (en) * 2007-03-30 2008-10-09 Abb Technology Ab Method and apparatus for programming an industrial robot
EP2022608B1 (en) 2007-07-31 2014-09-03 Rockwell Automation Technologies, Inc. Improved blending algorithm for trajectory planning
WO2015185049A1 (en) * 2014-06-03 2015-12-10 ArtiMinds Robotics GmbH Method and system for programming a robot
EP2965873A1 (en) * 2014-07-10 2016-01-13 Siemens Aktiengesellschaft Method for automatically controlling a manipulator

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007056117A1 (en) 2007-11-15 2009-05-28 Kuka Roboter Gmbh Industrial robots and method for controlling the movement of an industrial robot
DE102014226789A1 (en) 2014-12-22 2016-07-07 Kuka Roboter Gmbh Method and manipulator arrangement for conditionally stopping at least one manipulator on a path

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000073967A1 (en) * 1999-05-28 2000-12-07 Brooks Automation, Inc. Robotic manipulators based on pre-defined time-optimum trajectory shape
WO2008119383A1 (en) * 2007-03-30 2008-10-09 Abb Technology Ab Method and apparatus for programming an industrial robot
EP2022608B1 (en) 2007-07-31 2014-09-03 Rockwell Automation Technologies, Inc. Improved blending algorithm for trajectory planning
WO2015185049A1 (en) * 2014-06-03 2015-12-10 ArtiMinds Robotics GmbH Method and system for programming a robot
EP2965873A1 (en) * 2014-07-10 2016-01-13 Siemens Aktiengesellschaft Method for automatically controlling a manipulator

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Operating manual: Introduction to RAPID - Controller Software IRC5, RobotWare 5.0", 1 January 2007 (2007-01-01), pages 1 - 56, XP055586600, Retrieved from the Internet <URL:http://www.oamk.fi/~eeroko/Opetus/Tuotantoautomaatio/Robotiikka/Introduction_to_RAPID_3HAC029364-001_rev-_en.pdf> [retrieved on 20190508] *
ANONYMOUS: "Tutorial - Writing a Simple Pick and Place Application", 30 November 2012 (2012-11-30), pages 1 - 20, XP055165710, Retrieved from the Internet <URL:http://wiki.ros.org/pr2_tabletop_manipulation_apps/Tutorials/Writing%20a%20Simple%20Pick%20and%20Place%20Application> [retrieved on 20150129] *

Also Published As

Publication number Publication date
DE102018203078B3 (en) 2019-05-09

Similar Documents

Publication Publication Date Title
WO2019166229A1 (en) Method for automatically generating a movement trajectory and associated computer program product
DE102009048252B4 (en) In a numerically controlled machine built-in collision prevention device
EP2212753B1 (en) Method for allowing a manipulator to cover a predetermined trajectory, and control device for carrying out said method
DE102017004366B4 (en) Numerical control device
DE102014103370B4 (en) Method and device for discrete-time control of a manipulator
DE102009004285A1 (en) Method and device for optimizing, monitoring or analyzing a process
DE102019118637B4 (en) AUTOMATIC PATH GENERATION DEVICE
EP1818744B1 (en) Controller structure with a torsion model
DE102007006421A1 (en) Method for operating controlled machines
EP0530401B1 (en) Method to start position dependant operations during machining with a robot or machine tool
EP2307935A1 (en) Position-controlled mechanism and method for controlling mechanisms having several degrees of freedom of movement
DE102015116522B3 (en) Synchronization of several robots
EP2209596B1 (en) Industrial robot and method for controlling the movement of an industrial robot
DE112012004592B4 (en) Device and method for real-time control of Wedelbewegungen
DE102019120633B4 (en) Method for automatically moving a working device and working device
EP2208584B1 (en) Method for controlling industrial robots
WO2005111745A2 (en) Control unit for a machine and associated methods
DE102008018962A1 (en) Method for controlling a robot
WO2017063887A1 (en) Synchronization of multiple robots
DE2338880A1 (en) METHODS AND DEVICES FOR CONTROLLING THE MOVING PARTS OF A MACHINE TOOL THROUGH A NUMERICAL OUTLINE OR POINT-BY-POINT CONTROL SYSTEM, WHEREAS TWO PARTS OF THE MACHINE INDEPENDENTLY SEPARATE
EP3438773A1 (en) Processing of workpieces with model-supported error compensation
EP3658996B1 (en) Production system and method for operating a numerically controlled production system
DE2034373A1 (en) Control device for controlling the speed of the advance of a tool
DE102016007898B4 (en) Numerical control with advance notification of the execution of an auxiliary function
DE102017009751A1 (en) Numerical control device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19705498

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19705498

Country of ref document: EP

Kind code of ref document: A1