Nothing Special   »   [go: up one dir, main page]

DE102018203078B3 - 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
DE102018203078B3
DE102018203078B3 DE102018203078.2A DE102018203078A DE102018203078B3 DE 102018203078 B3 DE102018203078 B3 DE 102018203078B3 DE 102018203078 A DE102018203078 A DE 102018203078A DE 102018203078 B3 DE102018203078 B3 DE 102018203078B3
Authority
DE
Germany
Prior art keywords
movement
program
machine
instructions
motion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102018203078.2A
Other languages
German (de)
Inventor
Yevgen Kogan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KUKA Deutschland GmbH
Original Assignee
KUKA Deutschland GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KUKA Deutschland GmbH filed Critical KUKA Deutschland GmbH
Priority to DE102018203078.2A priority Critical patent/DE102018203078B3/en
Priority to PCT/EP2019/053689 priority patent/WO2019166229A1/en
Application granted granted Critical
Publication of DE102018203078B3 publication Critical patent/DE102018203078B3/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum automatischen Erzeugen einer Bewegungstrajektorie (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 automatisch erzeugten Bewegungstrajektorie (BT) als Führungsgröße mittels einer Bewegungssteuerung (BS) anzusteuern, wobei die Bewegungstrajektorie (BT) auf Grundlage wenigstens einer in einem Überschleifmodus auszuführenden ersten Bewegungsanweisung (P1) und wenigstens einer der ersten Bewegungsanweisung (P1) folgenden zweiten Bewegungsanweisung (P2.1, P2.2) eines von der Steuervorrichtung (1) ausführenden Maschinenbewegungsprogramms (MP) mittels eines Bahnplanungsprogramms (BP) automatisch erzeugt wird.

Figure DE102018203078B3_0000
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, controlled by a control device (FIG. 1) configured to drive the machine drives (M1-M6) based on the automatically generated motion trajectory (BT) as a reference by means of a motion controller (BS), the motion trajectory (BT) based on at least one first executable in a smoothing mode Movement instruction (P1) and at least one of the first movement instruction (P1) following the second movement instruction (P2.1, P2.2) of an executing by the control device (1) machine movement program (MP) by means of a path planning program (BP) is automatically generated.
Figure DE102018203078B3_0000

Description

Die Erfindung betrifft ein Verfahren zum automatischen Erzeugen einer Bewegungstrajektorie eines Bezugspunktes einer automatisch anzusteuernden Maschine, wobei die Maschine Antriebe aufweist, die ausgebildet sind, den Bezugspunkt der Maschine im Raum zu bewegen und zwar angesteuert durch eine Steuervorrichtung, die ausgebildet ist, die Antriebe der Maschine auf Grundlage der automatisch erzeugten Bewegungstrajektorie als Führungsgröße mittels einer Bewegungssteuerung anzusteuern, wobei die Bewegungstrajektorie auf Grundlage wenigstens einer in einem Überschleifmodus auszuführenden ersten Bewegungsanweisung und wenigstens einer der ersten Bewegungsanweisung folgenden zweiten Bewegungsanweisung eines von der Steuervorrichtung ausführenden Maschinenbewegungsprogramms mittels eines Bahnplanungsprogramms automatisch 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 Bewegungsanweisung 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 automatically generating a movement trajectory of a reference point of a machine to be controlled automatically, wherein the machine has drives which are adapted to move the reference point of the machine in space and controlled by a control device which is formed, the drives of the machine on the basis of the automatically generated movement trajectory as a reference variable by means of a motion control, wherein the movement trajectory is automatically generated on the basis of at least one first movement instruction to be executed in a smoothing mode and at least one second movement instruction of a machine movement program executed by the control device by means of a path planning program, wherein in Machine movement program in the flow direction between the first movement instruction and a subsequent second movement instruction is a conditional e program branch is located, which predetermines depending on a triggering event, a first alternative of a second movement instruction or at least a second alternative of a second movement instruction. The invention also relates to an associated computer program product.

Die DE 10 2007 056 117 A1 betrifft einen Industrieroboter und ein Verfahren zum Steuern der Bewegung eines Industrieroboters. Insoweit offenbart dieser nächstliegende Stand der Technik in gattungsgemäßem Sinne ein Verfahren zum automatischen Erzeugen einer Bewegungstrajektorie eines Bezugspunktes einer automatisch anzusteuernden Maschine, wobei die Maschine Antriebe aufweist, die ausgebildet sind, den Bezugspunkt der Maschine im Raum zu bewegen und zwar angesteuert durch eine Steuervorrichtung, die ausgebildet ist, die Antriebe der Maschine auf Grundlage der automatisch erzeugten Bewegungstrajektorie als Führungsgröße mittels einer Bewegungssteuerung anzusteuern, wobei die Bewegungstrajektorie auf Grundlage wenigstens einer in einem Überschleifmodus auszuführenden ersten Bewegungsanweisung und wenigstens einer der ersten Bewegungsanweisung folgenden zweiten Bewegungsanweisung eines von der Steuervorrichtung ausführenden Maschinenbewegungsprogramms mittels eines Bahnplanungsprogramms automatisch erzeugt wird.The DE 10 2007 056 117 A1 relates to an industrial robot and a method for controlling the movement of an industrial robot. In that regard, this closest prior art discloses in the generic sense a method for automatically generating a movement trajectory of a reference point of a machine to be controlled automatically, the machine having drives which are adapted to move the reference point of the machine in space and driven by a control device is designed 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 on the basis of at least one to be executed in a smoothing mode first movement instruction and at least one of the first movement instruction following second movement instruction of a run by the controller machine movement program by means of a Path planning program is generated automatically.

Die DE 10 2014 226 789 B1 beschreibt ein Verfahren zum bedingten Anhalten zumindest eines Manipulators, wobei der zumindest eine Manipulator eine Bahn abfährt, welche Bahn einen Haltepunkt aufweist. Das dortige Verfahren umfasst ein Berechnen eines dem Haltepunkt zugeordneten Bremspunktes in Abhängigkeit einer Geschwindigkeit des Manipulators, wobei der Bremspunkt ein Punkt der Bahn ist.The DE 10 2014 226 789 B1 describes a method for conditionally stopping at least one manipulator, wherein the at least one manipulator departs a web, which web has a breakpoint. The local method comprises calculating a braking point associated with the stopping point as a function of a speed of the manipulator, the braking point being a point of the path.

EP 2 022 608 B1 beschreibt ein Verfahren zum Erzeugen einer Trajektorie eines Bewegungssystems, bei dem eine Trajektorie als eine Folge von einem oder mehreren Pfadsegmenten (Bewegungsschritten) festgelegt ist, wobei ein Ausblenden eines Ausblendgebietes eines ersten Geschwindigkeitsprofils erfolgt und ein Einblenden eines Einblendgebiets eines nachfolgenden zweiten Geschwindigkeitsprofils innerhalb eines dort sogenannten Mischungsradius erfolgt. EP 2 022 608 B1 describes a method for generating a trajectory of a motion system in which a trajectory is defined as a sequence of one or more path segments (movement steps), fading out a fade-out region of a first velocity profile, and fading in a fade-in region of a subsequent second velocity profile within a so-called Mixing radius is done.

Ein solches Ausblenden eines ersten Geschwindigkeitsprofils und ein solches Einblenden eines nachfolgenden zweiten Geschwindigkeitsprofils wird im Allgemeinen auch als „Überschleifen“ bezeichnet. Ein Überschleifen wird beispielsweise in der Robotertechnik und bei Werkzeugmaschinen in Rahmen einer sogenannten PTP-Steuerung (engl.: point-to-point) angewendet, 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 nacheinander zu weiteren folgenden Raumpunkten bewegt. Neben einer 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 allein auf dieser Grundlage auf Achskoordinateneben anzusteuern, sondern auch die Bewegungsprofile von Startpunkt zu Zielpunkt in einem Bahnplanungsprogramm geplant werden und zwar hinsichtlich ihrer Geschwindigkeitsprofile und/oder Beschleunigungsprofile. So kann beispielsweise bei einer Bahnplanung bei Bewegungsanweisungen vorgesehen sein, dass für jeden angetriebenen Freiheitsgrad der Maschine, beispielsweise 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 Bewegungsdauer als eine Leitachse definiert wird und die jeweils anderen, verbleibenden Freiheitsgrade oder Gelenke in ihren Geschwindigkeitsprofilen 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. 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 einzelne 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 Beschleunigungsprofilen entsprechend von einer Bewegungssteuerung angesteuert zu bewegen. Die Bewegungssteuerung kann insoweit das Bahnplanungsprogramm, d.h. eine Bahnsteuerung umfassen und eine die Bewegungen ausführende Bewegungsausführungssteuerung umfassen. Das Maschinenbewegungsprogramm hingegen kann Teil der Ablaufsteuerung sein. Je nach Systemarchitektur der Steuerung bzw. der Steuerungen können die Bewegungssteuerung und die Ablaufsteuerung separate Steuerungsteile sein oder in einer gemeinsamen Steuerung zusammengefasst sein. Üblicherweise ist die Ablaufsteuerung jedoch in einem vorzugsweise nicht-echtzeitfähigem Steuerungsteil implementiert, wo hingegen zumindest die Bewegungsausführungssteuerung oder die gesamte Bewegungssteuerung, umfassen die Bewegungsausführungssteuerung und die Bahnsteuerung, in einem echtzeitfähigen Steuerungsteil implementiert ist.Such fade-out of a first velocity profile and fade-in of a subsequent second velocity profile is also generally referred to as "blending". Blending is used, for example, in robotics and in machine tools as part of a so-called PTP control (point-to-point), in which, for example, point-to-point movement instructions are executed as movement instructions. 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 moved stepwise from a first spatial point to a second spatial point and, if appropriate, sequentially to further following spatial points. In addition to asynchronous PTP control, a synchronous PTP control is well known, in which not only alone to be approached target points of the individual motion instructions are transformed to control the axes of the machine then only on this basis on axis coordinate levels, but also the motion profiles from start point to Target point to be planned in a path planning program in terms of their speed profiles and / or acceleration profiles. Thus, for example, in the case of path planning in the case of movement instructions, it is provided that for each driven degree of freedom of the machine, for example each driven joint of a robot arm, the maximum speed and, taking into account starting point to destination point of the movement, a movement duration for the respective joint is calculated the longest movement time is defined as a leading axis and the other, remaining degrees of freedom or joints in their velocity profiles and / or acceleration profiles are adjusted so that all degrees of freedom or joints begin at the same time with their individual movements and also end up with their individual movements. To enable this, the motion instructions of the machine motion program, which may be implemented in a scheduler, are displayed passed a motion control and there transformed in a path planning program in 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 according to the speed profiles and / or the acceleration profiles driven by a motion control move. The motion control can insofar include the path planning program, ie a path control and comprise a motion execution control executing the movements. The machine motion program, on the other hand, can be part of the flow control. Depending on the system architecture of the controller or controllers, the motion controller and the sequencer may be separate controller parts or combined in a common controller. Usually, however, the sequencer is implemented in a preferably non-real-time capable control part, whereas at least the motion execution control or the entire motion control, including 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 Programmabzweigung, die beispielsweise eine IF-Anweisung oder eine WHILE-Anweisung sein kann, ist der als nächster anzufahrende Zielpunkt von dem auslösenden Ereignis abhängig, so dass zeitlich vor dem Eintritt des Ereignisses nicht eindeutig vorbestimmt ist, welcher Zielpunkt von ggf. mehreren alternativ möglichen Zielpunkten tatsächlich zur Anwendung kommen soll. Aufgrund dieser Unbestimmtheit im Vorhinein können Zielpunkte von Bewegungsanweisungen über eine Programmabzweigung hinweg im Allgemeinen nicht angefahren werden. Bekannt ist es, in einem solchen Fall die Planung eines Überschleifens zu unterbrechen, beispielsweise im Rahmen eines sogenannten Vorlaufstopps, d.h. eines Abbruchs einer rechnerischen zeitlichen Vorausplanung von tatsächlich durch den Roboter noch nicht erreichten, aber im Programm vorgesehenen anzufahrenden Punkten, um den letzten vor der bedingten Programmabzweigung liegenden Zielpunkt ohne Überschleifen direkt anzufahren, um nach der bedingten Programmabzweigung eine neue Sequenz eines Überschleifens zu beginnen. In vielen Fällen ist jedoch ein Unterbrechen des Überschleifens nachteilig, 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 can be an IF statement or a WHILE statement, for example, the target point to be approached depends on the triggering event, so that it is not uniquely predetermined before the event occurs which target point of possibly several alternatively possible target points should actually be used. Because of this uncertainty in advance, target points of move instructions across a program branch generally can not be approached. It is known in such a case to interrupt the planning of a grinding, for example as part of a so-called preliminary stop, i. abort computational scheduling of points not yet actually reached by the robot, but to be approached in the program, to directly approach the last pre-conditional unthreaded target point without rounding to begin a new looping sequence after the conditional program branching. In many cases, however, an interruption of the grinding over 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 Bezugspunktes einer automatisch anzusteuernden Maschine, wobei die Maschine Antriebe aufweist, die ausgebildet sind, den Bezugspunkt der Maschine im Raum zu bewegen und zwar angesteuert durch eine Steuervorrichtung, die ausgebildet ist, die Antriebe der Maschine auf Grundlage der automatisch erzeugten Bewegungstrajektorie als Führungsgröße mittels einer Bewegungssteuerung anzusteuern, wobei die Bewegungstrajektorie auf Grundlage wenigstens einer in einem Überschleifmodus auszuführenden ersten Bewegungsanweisung und wenigstens einer der ersten Bewegungsanweisung folgenden zweiten Bewegungsanweisung eines von der Steuervorrichtung auszuführenden Maschinenbewegungsprogramms mittels eines Bahnplanungsprogramms automatisch erzeugt wird, wobei im Maschinenbewegungsprogramm in Ablaufrichtung zwischen der ersten Bewegungsanweisung und der folgenden zweiten Bewegungsanweisung sich eine bedingte Programmabzweigung befindet, die in Abhängigkeit eines auslösenden Ereignisses eine erste Alternative der zweiten Bewegungsanweisung oder wenigstens eine zweite Alternative der zweiten Bewegungsanweisung vorgibt, aufweisend die Schritte:

  • - Bestimmen von Eigenschaften der zwei oder mehreren alternativen zweiten Bewegungsanweisungen, die gemäß der bedingten Programmabzweigung möglich sind,
  • - 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,
  • - Übermitteln der Eigenschaften der ersten Bewegungsanweisung und der zwei oder mehreren alternativen zweiten Bewegungsanweisungen an das Bahnplanungsprogramm, das unter Berücksichtigung des zu überschleifenden Stützpunktes der ersten Bewegungsanweisung den zwei oder mehreren alternativen zweiten Bewegungsanweisungen entsprechende wenigstens zwei oder mehrere vorausgeplante Bewegungstrajektorien-Abschnitte erstellt,
  • - wenn das auslösende Ereignis für die bedingte Programmabzweigung stattgefunden hat, Auswählen desjenigen vorausgeplanten Bewegungstrajektorien-Abschnitts, welcher der dem auslösenden Ereignis entsprechenden alternativen zweiten Bewegungsanweisung der bedingten Programmabzweigung entspricht, auf die aufgrund des auslösenden Ereignisses abgezweigt wird,
  • - Übermitteln des ausgewählten, vorausgeplanten Bewegungstrajektorien-Abschnitts an eine Bewegungsausführung zum Ausführen einer Bewegung der Maschine derart, dass sich der Bezugspunkt der Maschine entsprechend dem ausgewählten, vorausgeplanten Bewegungstrajektorien-Abschnitt automatisch bewegt.
This object is achieved by a method for automatically generating a movement trajectory of a reference point of a machine to be controlled automatically, the machine having drives which are adapted to move the reference point of the machine in space and controlled by a control device which is formed, the drives the motion trajectory is automatically generated on the basis of at least one first movement instruction to be executed in a smoothing mode and at least one second movement instruction of a machine movement program to be executed by the control device by means of a path planning program, wherein in the machine movement program in the flow direction between the first movement instruction and the following second movement request There is a conditional program branch which, depending on a triggering event, specifies a first alternative of the second movement instruction or at least a second alternative of the second movement instruction, comprising the steps:
  • Determining properties of the two or more alternative second movement instructions that are possible according to the conditional program branching,
  • Determining a time at which a sanding movement must start at the latest from all start times of the two or more alternative second movement instructions to which the respective individual sanding movement must begin at the latest,
  • Transferring the characteristics of the first movement instruction and the two or more alternative second movement instructions to the path planning program, which, taking into account the base point of the first movement instruction to be lashed, generates at least two or more pre-planned movement trajectory portions corresponding to the two or more alternative second movement instructions;
  • if the triggering event for the conditional branch has taken place, selecting the one of the pre-planned motion trajectories, which is the one of the Triggering event corresponding alternative second movement instruction of the conditional program branch, which is branched off due to the triggering event,
  • - transmitting the selected, pre-planned movement trajectory section to a movement execution for performing a movement of the machine such that the reference point of the machine automatically moves according to the selected, pre-planned movement trajectory section.

Die mittels des Verfahrens automatisch anzusteuernde Maschine kann eine Werkzeugmaschine oder insbesondere ein Roboter sein. Der Roboter kann einen Roboterarm aufweisen, der mehrere Glieder aufweist, die über Gelenke verbunden sind, wobei die Gelenke mittels Antrieben bewegbar sind, um die Glieder des Roboterarms automatisch gemäß eines Roboterprogramms gegeneinander 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 according to 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 antreibbar sind. Die Motoren können mit Getrieben versehen sein.The drives of the machine, in particular of the robot, may in particular comprise electric motors which are controlled, in particular controlled, by a control device, in particular a drive control of the control device. The motors can be equipped with gearboxes.

Die Steuervorrichtung kann die Antriebsteuerung, eine Bewegungssteuerung und eine Ablaufsteuerung umfassen. Die Steuerungskomponenten können, wie bereits erwähnt, in einer gemeinsamen Steuerungseinheit zusammengefasst sein oder als separate Steuerungskomponenten ausgebildet und über Kommunikationsverbindungen miteinander verbunden sein. Auf der Steuervorrichtung, insbesondere auf der Ablaufsteuerung kann wenigstens ein Maschinenbewegungsprogramm gespeichert und zur Ausführung eingerichtet sein. Insoweit kann die Steuervorrichtung ein Computerprogrammprodukt aufweisen, das einen maschinenlesbaren Träger umfasst, auf dem Programmcode gespeichert ist, der von der Maschine, 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 Steuerung ausgeführt wird.The control device may include the drive controller, a motion controller, and a scheduler. As already mentioned, the control components can be combined in a common control unit or designed as separate control components and connected to one another via communication connections. At least one machine movement program may be stored on the control device, in particular on the sequence control, and set up for execution. In that regard, the control device may comprise a computer program product comprising a machine-readable carrier 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 robot is formed and / or set up, according to the invention Perform a procedure when the program code is executed by the machine or the robot or its controller.

Das Maschinenbewegungsprogramm, das insoweit ein Roboterprogramm 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 Werkzeugbezugspunkt sein, der unter anderem auch als TCP (Tool-Center-Point) bezeichnet wird. Ein Werkzeugbezugspunkt kann ein realer oder virtueller Punkt an einem Werkzeug sein, das von der Maschine, insbesondere dem Roboterarm gehandhabt wird. In einem einfachen Fall kann der Bezugspunkt beispielsweise auch ein mit dem Flansch des Roboterarms fest verbundenes Handflanschkoordinatensystem sein.The machine motion program, which may be a robot program insofar, contains motion instructions, in particular the motion instructions, according to which a predefined reference point in space is to be moved by 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. For example, in a simple case, the reference point may also be a hand flange coordinate system fixedly connected to the flange of the robot arm.

Das Bahnplanungsprogramm der Bahnsteuerung stellt Algorithmen, Modelle und/oder Rechenvorschriften bereit, die auf Grundlage der im Maschinenbewegungsprogramm enthaltenen Bewegungsanweisungen eine Bewegungstrajektorie für den Bezugspunkt unmittelbar erstellen oder mittelbar dadurch erstellen, dass Bewegungsprofile, insbesondere Geschwindigkeitsprofile und/oder Beschleunigungsprofile achsbezogen oder kartesisch durch das Bahnplanungsprogramm generiert werden. Die entsprechenden Bewegungsprofile, insbesondere Geschwindigkeitsprofile 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 ansteuern oder regeln.The path planning program of the path control provides algorithms, models and / or calculation 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 generated axis-related or Cartesian by the path planning program become. The corresponding motion profiles, in particular velocity profiles and / or acceleration profiles, are then transferred to the motion execution control, in particular in an axis-related form, which in turn drives the drives, i. also control or regulate the motors of the machine or robot arm 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, allerdings findet insoweit eine Bewegungsplanung statt, bei der die Geschwindigkeitsprofile und/oder die Beschleunigungsprofile 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 stetiger Bahnverlauf ergibt. Wie bereits erwähnt, werden in einem Überschleifmodus die von den Bewegungsanweisungen definierten genauen Zielpunkte nicht exakt angefahren, sondern unter Vermeiden eines Anhaltens in einem parametrierbaren Abstandsbereich von dem jeweiligen Zielpunkt umfahren, um eine Bewegungstrajektorie mit einem stetigen Geschwindigkeitsverlauf zu erhalten.In the case of movement instructions, which can be carried out basically with asynchronous axis movements or with synchronous axis movements, the trajectory of the trajectory is not precisely planned in its exact trajectory, but so far takes place in a motion planning in which the speed profiles and / or the acceleration profiles of the individual Axis movements are well planned, resulting in a reproducible continuous trajectory depending on the respective starting point and the assumed target point or the assumed multiple successive target points. As already mentioned, in a blending mode, the exact target points defined by the movement instructions are not exactly approached, but avoid the stop in a parameterizable distance range from the respective target point, in order to obtain a motion trajectory with a steady velocity curve.

Die Bewegungstrajektorie ist eine grafische Repräsentation des Verlaufs der Bewegung, die der Bezugspunkt im Raum durchläuft. Die Bewegungstrajektorie ist insoweit die Spur auf der sich der Bezugspunkt bewegt, wenn die Maschine oder der Roboter gemäß dem Maschinenbewegungsprogramm automatisch angesteuert wird. Die Bewegungstrajektorie kann auch Geschwindigkeitsdaten, insbesondere bezogen auf Interpolationspunkte des Verlaufs der Bewegung bzw. der Spur umfassen.The movement trajectory is a graphical representation of the course of the movement that passes through the reference point in space. The movement trajectory is the track on which the reference point moves when the machine or the robot is automatically controlled according to the machine movement program. The movement trajectory may also include speed data, in particular with respect to interpolation points of the course of the movement or the track.

Ein Bewegungstrajektorien-Abschnitt stellt im Allgemeinen eine Teilstrecke der gesamten Bewegungstrajektorie dar. Im Speziellen werden erfindungsgemäß unter den jeweiligen Bewegungstrajektorien-Abschnitten diejenigen Teile von mehreren möglichen Bewegungstrajektorien verstanden, die im Maschinenbewegungsprogramm aufgrund der bedingten Programmabzweigung alternativ auftreten können, solange das für die bedingten Programmabzweigung auslösende Ereignis noch nicht stattgefunden hat und es deshalb noch nicht feststeht, welche der zwei oder mehreren möglichen Bewegungstrajektorien-Abschnitte tatsächlich zur Ausführung kommen. A movement trajectory section generally represents a leg of the entire movement trajectory. Specifically, according to the present invention, the respective movement trajectory sections mean those parts of several possible movement trajectories that may alternatively occur in the machine motion program due to the conditional program branch, as long as the conditional program branch initiates Event has not yet occurred and therefore it is not yet clear which of the two or more possible movement trajectory sections actually come to fruition.

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 gegebenenfalls 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 Bezugspunktes, der Bezugspunkt lediglich in der Nähe eines solcher überschliffenen Stützpunktes vorbeibewegt wird, um sogleich in Richtung des nächsten Stützpunktes der nächsten Bewegungsanweisung zu fahren. Eine solche Überschleifbewegung kennzeichnet sich also dadurch, dass an solchen Zwischenstellungen (überschleifende Stützpunkte) ohne Anhalten des Bezugspunktes vorbeigefahren wird.Blending is used, for example, in robotics and machine tools as part of a so-called PTP control in which movement instructions are executed. 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 moved stepwise from a first space point to a second space point and possibly successively to other subsequent space points, in a blending mode, the respective bases of the movement instructions may no longer can be achieved directly, but avoiding a complete stop of the machine or the robot arm or its reference point, the reference point is moved only in the vicinity of such a polished support point to immediately move towards the next interpolation point of the next movement instruction. Such a grinding movement is thus characterized by the fact that at such intermediate positions (over-grinding points) is passed without stopping the reference point.

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 Programmabzweigung, die beispielsweise eine IF-Anweisung oder eine WHILE-Anweisung sein kann, ist der als nächster anzufahrende Zielpunkt von dem auslösenden Ereignis abhängig, so dass zeitlich vor dem Eintritt des Ereignisses nicht eindeutig vorbestimmt ist, welcher Zielpunkt von ggf. mehreren alternativ möglichen Zielpunkten tatsächlich zur Anwendung kommen soll. Aufgrund dieser Unbestimmtheit im Vorhinein können Zielpunkte von Bewegungsanweisungen über eine Programmabzweigung hinweg im Allgemeinen nicht durchgeführt werden. Bekannt ist es, in einem solchen Fall die Planung eines Überschleifens zu unterbrechen, beispielsweise im Rahmen eines sogenannten Vorlaufstopps, um den letzten vor der bedingten Programmabzweigung liegenden Zielpunkt ohne Überschleifen direkt anzufahren, um nach der bedingten Programmabzweigung eine neue Sequenz eines Überschleifens zu beginnen. In vielen Fällen ist jedoch ein Unterbrechen des Überschleifens nachteilig, 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 can be an IF statement or a WHILE statement, for example, the target point to be approached depends on the triggering event, so that it is not uniquely predetermined before the event occurs which target point of possibly several alternatively possible target points should actually be used. Because of this uncertainty in advance, target points of move instructions across a program branch generally can not be performed. It is known, in such a case, to interrupt the scheduling of a smoothing operation, for example in the context of a so-called preliminary stop, in order to directly approach the last destination point before the conditional program branch without rounding in order to start a new looping sequence after the conditional program branching. In many cases, however, an interruption of the grinding over is disadvantageous since this can lead to time delays, jerking and / or discontinuous trajectories.

Das auslösende Ereignis kann demgemäß ein physikalisches Ereignis sein, auf welches das Maschinenbewegungsprogramm in programmierter Weise reagieren soll und zwar mittels der bedingten 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 eintreten, sondern kann ggf. schon länger vorher eingetreten sein und somit schon weit vor dem Erreichen der Programmabzweigung eingetreten sein. Es kann dann unmittelbar vor der Programmabzweigung oder zeitlich kurz vor der Programmabzweigung das auslösende Ereignis bzw. die zu prüfende Bedingung abgefragt und/oder ausgewertet werden, beispielsweise dahingehend, 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 Programmabzweigung abgefragt werden. Das auslösende Ereignis kann insoweit auch schon allein die Abfrage bzw. die Überprüfung einer bereits vorliegenden Bedingung und/oder eines bereits vorliegenden physikalischen Zustands sein. Die Bedingung und/oder der Zustand kann beispielsweise mittels wenigstens eines Sensors erfasst werden, der im einfachsten Fall einen booleschen Zustand liefert, der einen Parameter für eine Wartefunktion im Maschinenbewegungsprogramm bildet, die ein Ergebnis erst dann liefert, wenn der definierte Zeitpunkt für die Programmabzweigung erreicht ist.The initiating event may accordingly be a physical event to which the machine motion program is to respond in a programmed manner by means of the conditional 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 achievement 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 checked can then be queried and / or evaluated immediately before the program branching or shortly before the program branching, 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 may already be present far in advance, but only be queried at the time or shortly before the time the program branch is reached. To this extent, the triggering event may already be the query or the checking of an already existing condition and / or an already existing physical condition. 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 wait function in the machine motion program, which delivers a result only when the defined point in time for the program branch has been reached is.

Indem das erfindungsgemäße Verfahren die folgenden Schritte vorsieht:

  • - Bestimmen von Eigenschaften der zwei oder mehreren alternativen zweiten Bewegungsanweisungen, die gemäß der bedingten Programmabzweigung möglich sind,
  • - 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,
  • - Übermitteln der Eigenschaften der ersten Bewegungsanweisung und der zwei oder mehreren Zielpunkte der zwei oder mehreren alternativen zweiten Bewegungsanweisungen an ein Bahnplanungsprogramm, das unter Berücksichtigung des zu überschleifenden Stützpunktes der ersten Bewegungsanweisung den zwei oder mehreren alternativen zweiten Bewegungsanweisungen entsprechende wenigstens zwei oder mehrere vorausgeplante Bewegungstrajektorien-Abschnitte erstellt,
  • - wenn das auslösende Ereignis für die bedingte Programmabzweigung stattgefunden hat, Auswählen desjenigen vorausgeplanten Bewegungstrajektorien-Abschnitts, welcher der dem auslösenden Ereignis entsprechenden alternativen zweiten Bewegungsanweisung der bedingten Programmabzweigung entspricht, auf die aufgrund des auslösenden Ereignisses abgezweigt wird,
  • - Übermitteln des ausgewählten, vorausgeplanten Bewegungstrajektorien-Abschnitts an die Ablaufsteuerung zum Ausführen einer Bewegung der Maschine derart, dass sich der Bezugspunkt der Maschine dem ausgewählten, vorausgeplanten Bewegungstrajektorien-Abschnitt entsprechend automatisch bewegt, kann ein Verfahren zum automatischen Erzeugen einer Bewegungstrajektorie eines Bezugspunktes einer automatisch anzusteuernden Maschine bereitgestellt werden, mit dem ein Überschleifen der Zielpunkte von Bewegungsanweisungen auch über bedingte Programmabzweigungen hinweg möglich ist.
In that the method according to the invention provides the following steps:
  • Determining properties of the two or more alternative second movement instructions that are possible according to the conditional program branching,
  • Determining a time at which a smoothing movement must start at the latest, from all start times of the two or more alternative second movement instructions, to which each individual polishing must begin at the latest,
  • - transmitting the characteristics of the first movement instruction and the two or more target points of the two or more alternative second movement instructions to a path planning program which, considering the base point of the first movement instruction to be lashed, at least two or more pre-planned movement trajectory portions corresponding to the two or more alternative second movement instructions created,
  • if the triggering event has occurred for the conditional program branch, selecting the pre-planned movement trajectory portion which corresponds to the alternative second motion instruction corresponding to the triggering event of the conditional program branch which is branched off on the basis of the triggering event,
  • - transmitting the selected, pre-planned movement trajectory section to the sequencer for executing a movement of the machine such that the reference point of the machine automatically moves in accordance with the selected, preplanned movement trajectory section, a method for automatically generating a movement trajectory of a reference point of an automatically controlled one Machine can be provided, with a blending of the target points of movement instructions is also possible over conditional program branches away.

Das 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, und das Übermitteln der Eigenschaften der ersten Bewegungsanweisung und der zwei oder mehreren Zielpunkte der zwei oder mehreren alternativen zweiten Bewegungsanweisungen an ein Bahnplanungsprogramm, das unter Berücksichtigung des zu überschleifenden Stützpunktes der ersten Bewegungsanweisung den zwei oder mehreren alternativen zweiten Bewegungsanweisungen entsprechende wenigstens zwei oder mehrere vorausgeplante Bewegungstrajektorien-Abschnitte erstellt, 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 Reihenfolge vertauscht sein.Determining a time at which a smoothing movement must begin at the latest, from all start times of the two or more alternative second movement instructions to which each individual smoothing movement must begin at the latest, and transmitting the characteristics of the first movement command and the two or more target points of the two or a plurality of alternative second movement instructions to a path planning program, which, taking into account the base point of the first movement instruction to be looped, creates at least two or more pre-planned movement trajectory sections corresponding to two or more alternative second movement instructions, may be executed simultaneously or to some extent staggered in time. The order can be so far almost arbitrary and possibly also be reversed in the order.

Mit der erfindungsgemäßen Lösung kann die Funktion des Überschleifens bei Bewegungsanweisungen im Rahmen einer adaptiven Bahnführung in einem Onlinebetrieb auch über bedingte Programmabzweigungen hinweg stoppfrei, in einem stetigen Geschwindigkeitsverlauf und/oder ggf. ruckfrei ausgeführt werden.With the solution according to the invention, the function of blending in movement instructions within the scope of an adaptive web guide in an online operation can also be carried out free of conditional program branches, in a continuous speed progression and / or, if necessary, without jerking.

Eine im Allgemeinen mögliche offline-Planung des Überschleifens von Bewegungsanweisungen ist im Falle von bedingten Programmabzweigungen meist nicht möglich, da das die bedingte Programmabzweigung triggernde d.h. auslösende Ereignis im Vorhinein nicht bekannt ist.A generally possible offline scheduling of rounding motion statements is usually not possible in the case of conditional program branches, since the conditional branching triggers, i. triggering event is not known in advance.

Mit dem erfindungsgemäßen Verfahren ist auch keine vollständige Planung der Bewegungstrajektorie unter Echtzeitbedingungen 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 Bahnsteuerung kann somit auch in einer nicht-echtzeitfähigen Programmiersprache erstellt sein.With the method according to the invention, no complete planning of the movement trajectory under real-time conditions is 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 path control can thus also 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

  • - ein Bestimmen des 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, erfolgt unter Einbeziehen der jeweils weiteren Bewegungsanweisungen zu der jeweiligen zweiten Bewegungsanweisung erfolgt, und
  • - ein Übermitteln der Eigenschaften der zu überschleifenden ersten Bewegungsanweisung und der zwei oder mehreren Zielpunkte der zwei oder mehreren alternativen zweiten Bewegungsanweisungen und der jeweiligen weiteren Bewegungsanweisungen an das Bahnplanungsprogramm erfolgt, wobei das Bahnplanungsprogramm unter Berücksichtigung der Eigenschaften der zu überschleifenden ersten Bewegungsanweisung den zwei oder mehreren alternativen zweiten Bewegungsanweisungen und den jeweils weiteren Bewegungsanweisungen entsprechende wenigstens zwei oder mehrere vorausgeplante Bewegungstrajektorien-Abschnitte erstellt erfolgt.
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
  • - Determining the time at which a smoothing movement must start at the latest, from all start times of the two or more alternative second movement instructions to which each individual smoothing movement must begin at the latest, takes place taking into account the respective further movement instructions to the respective second movement instruction, and
  • 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 is carried out, the path planning program taking into account the properties of the first movement instruction to be looped the two or more alternative second movement instructions and the respective further movement instructions corresponding at least two or more pre-planned Bewegungsstrajektorien sections created.

In dieser Ausführungsvariante wird demgemäß nicht nur die im Programmablauf unmittelbar vor der bedingten Programmabzweigung liegende erste Bewegungsanweisung und die unmittelbar nach der bedingten Programmabzweigung liegende zweite Bewegungsanweisung 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 vierte Bewegungsanweisung, die der zweiten Bewegungsanweisung unmittelbar nachfolgen. Die Anzahl der hinzuzuziehenden Bewegungsanweisungen 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.In this embodiment, accordingly, not only the first movement instruction lying in the program sequence immediately before the conditional program branch and the immediately following the conditional program branching second movement instruction for the smoothing over the conditional program branch away taken into account or used, but also at least one further movement instruction, so for example a third movement instruction and a fourth movement instruction, which follow the second movement instruction immediately. The number of move instructions to be involved may be based on the time remaining available until conditional branching to allow for scheduling the two or more possible movement trajectory sections in time for the conditional branch to occur.

Das Bahnplanungsprogramm kann demgemäß eingerichtet sein, außer den zu überschleifenden ersten Stützpunkt der ersten Bewegungsanweisung, zusätzlich wenigstens einen zweiten Stützpunkt 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, in addition to 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 of a further second movement instruction following in the program sequence.

Eine spezielle Ausführungsform des Verfahren kann gekennzeichnet sein durch ein automatisches oder manuelles Referenzieren im Maschinenbewegungsprogramm der zwei oder mehreren alternativen zweiten Bewegungsanweisungen und/oder der weiteren Bewegungsanweisungen, die der bedingten Programmabzweigung im Maschinenbewegungsprogramm in Ablaufrichtung folgen, in einer in Ablaufrichtung vor der Programmabzweigung auftretenden Bewegungsanweisung, insbesondere vor der ersten Bewegungsanweisung oder in der ersten Bewegungsanweisung, die der bedingten Programmabzweigung im Maschinenbewegungsprogramm in Ablaufrichtung unmittelbar vorausgeht.A specific embodiment of the method may be characterized by an automatic or manual homing in the machine motion program of the two or more alternative second motion instructions and / or the further motion instructions following the conditional program branch in the machine motion program in the flow direction in a move instruction occurring in the flow direction before the program branch. in particular before the first movement instruction or in the first movement instruction, which immediately precedes the conditional program branch in the machine movement program in the flow direction.

Ein automatisches Referenzieren beispielsweise kann in einer speziellen Variante des Verfahrens dadurch erfolgen, dass das Maschinenbewegungsprogramm Zugriffsfunktionen oder Zugriffsmethoden aufweist, die formale Parameter umfassen, in welche die zu referenzierenden zweiten Bewegungsanweisungen und/oder weiteren Bewegungsanweisungen als aktuelle Parameter automatisch eingetragen werden, welche aktuellen Parameter virtuelle Rückgabewerte bilden, die durch das Maschinenbewegungsprogramm als virtuelle Aufrufparameter der zweiten Bewegungsanweisungen und/oder weiteren Bewegungsanweisungen vor ihrer eigentlichen Ausführung automatisch auslesbar sind.In a special variant of the method, for example, automatic referencing can be achieved by the machine movement program having access functions or access methods comprising formal parameters into which the second movement instructions and / or further movement instructions to be referenced are automatically entered as actual parameters, which current parameters are virtual Form return values that are automatically read out by the machine motion program as a virtual call parameters of the second movement instructions and / or other movement instructions before their actual execution.

Das manuelle Referenzieren beispielsweise kann in einer anderen Variante des Verfahrens dadurch erfolgen, dass das Maschinenbewegungsprogramm über editierbare Bewegungsanweisungen verfügt, die Attribute umfassen, in denen die Eigenschaften der zu referenzierenden zweiten Bewegungsanweisungen und/oder der weiteren Bewegungsanweisungen als aktuelle Parameter der Bewegungsanweisungen manuell eingetragen werden können.In another variant of the method, for example, the manual referencing can be carried out by the machine movement program having editable movement instructions which include attributes in which the properties of the second movement instructions to be referenced and / or the further movement instructions can be manually entered as current parameters of the movement instructions ,

Generell, d.h. in allen Ausführungsformen können die Eigenschaften der jeweiligen Bewegungsanweisung nicht nur Parameter der Bewegungsanweisung sein, wie beispielsweise die Zielpunkte oder Koordinaten, die geforderten Geschwindigkeiten und/oder Beschleunigungen, sondern können auch andere Spezifikationen 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 move instruction may not only be parameters of the move instruction, such as the destination points or coordinates, the requested speeds and / or accelerations, but may also be other specifications of the move instruction, in particular the type of move instruction, e.g. PTP command, LIN command or CIRC command as such.

In allen entsprechend geeigneten Ausführungsformen kann das Bestimmen der Eigenschaften der zwei oder mehreren alternativen 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 Programmabzweigung liegenden Bewegungsanweisungen bereits zeitlich vor der bedingten Programmabzweigung ausgelesen und damit in der Vorlaufsteuerung berücksichtigt werden. Im Unterschied zum bisher Bekannten wird jedoch nicht nur ein einzelner prädiktiver weiterer Verlauf der Bewegungstrajektorie im Bahnplanungsprogramm bzw. in der Vorlaufsteuerung geplant, sondern alle gemäß der bedingten Programmabzweigung möglichen weiteren Verläufe der mehreren alternativen Bewegungstrajektorien im Bahnplanungsprogramm bzw. in der Vorlaufsteuerung über ein, zwei oder ggf. weitere Bewegungsanweisungen hinweg vorausgeplant.In all correspondingly suitable embodiments, determining the characteristics of the two or more alternative second movement instructions possible according to the conditional program branch may be accomplished by referring to the two or more alternative second movement instructions and / or further movement instructions referenced in the first movement instruction be read in the first movement instruction. Thus, the movement instructions lying behind the conditional program branch in the program sequence can already be read out in time prior to the conditional program branch and thus taken into account in the flow control. In contrast to the previously known, however, not only a single predictive further course of the movement trajectory in the path planning program or in the flow control is planned, but all according to the conditional program branch possible further courses of several alternative movement trajectories in the path planning program or in the flow control over one, two or possibly pre-planned further movement instructions.

Generell kann das Bestimmen des 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, dadurch erfolgen, dass für alle individuellen Überschleifbewegungen eine jeweilige Zeitdauer aus den Bahnparametern und den physikalischen Eigenschaften automatisch bestimmt wird, aus allen entsprechenden Zeitdauern der individuellen Überschleifbewegungen der zwei oder mehreren alternativen zweiten Bewegungsanweisungen, die längste Zeitdauer herausselektiert wird, und auf Grundlage des momentanen Zeitpunkts und der herausselektierten längsten Zeitdauer der späteste Zeitpunkt, an dem eine Überschleifbewegung beginnen muss, bestimmt wird.In general, the determination of the time point at which a smoothing movement must begin at the latest from all start times of the two or more alternative second movement instructions to which the respective individual smoothing movement must begin at the latest can be effected by providing a respective time duration from the web parameters for all individual smoothing motions and the physical properties are automatically determined from all respective durations of the individual rounding motions of the two or more alternative second movement instructions, the longest period is selected, and based on the current time and the selected longest period, the latest time at which a rounding movement must begin , is determined.

In Kenntnis des spätesten Zeitpunkts, an dem eine Überschleifbewegung beginnen muss und des momentanen Zeitpunkts kann auch festgestellt werden, ob für alle alternativen zweiten Bewegungsanweisungen, die aufgrund der bedingten Programmabzweigung 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 verstrichen ist, kann steuerungstechnisch und/oder programmtechnisch vorgesehen werden, dass ein laufender Überschleifmodus beendet, d.h. abgebrochen wird oder ein noch nicht begonnener Überschleifmodus erst gar nicht gestartet wird. Knowing the latest time at which a rounding movement must begin and the current time can also be determined whether for all alternative second 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 time at which a sanding movement must begin has already elapsed, control and / or program technology can be used to ensure that a running smoothing mode is ended, ie aborted or not yet started 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 Bewegung der Maschine derart, dass sich der Bezugspunkt der Maschine dem ausgewählten, vorausgeplanten Bewegungstrajektorien-Abschnitt entsprechend automatisch bewegt, erst unmittelbar vor dem spätesten Zeitpunkt oder lediglich kurz vor dem spätesten Zeitpunkt ausgeführt wird. Alternativ oder ergänzend 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 Sensorsignals in das Bahnplanungsprogramm oder das Maschinenbewegungsprogramm sein. Ein Auswerten kann einen Vorgang umfassen, bei dem ein eingelesenes Sensorsignal beispielsweise umgewandelt wird und/oder beispielsweise mit anderen Sensorsignalen gemeinsam ausgewertet und/oder kombiniert wird. So kann möglichst lange beispielsweise auf das Eingehen externer Signale gewartet werden, die für die weitere Programmausführung ggf. notwendig sind, bspw. um ein vom Roboter bewegtes Werkzeug prozessabhängig ansteuern zu können. Ganz allgemein können diejenigen Bewegungsanweisungen des Maschinenbewegungsprogramms, die von dem an die Bewegungssteuerung zum Ausführen einer Bewegung der Maschine bereits übermittelten, vorausgeplanten Bewegungstrajektorien-Abschnitt erfasst sind, automatisch mit einer Kennzeichnung versehen werden, derart, dass bei geplantem Erreichen dieser Bewegungsanweisungen während des Ablaufs des Maschinenbewegungsprogramms diese Bewegungsanweisungen nicht erneut an das Bahnplanungsprogramm übermittelt werden.It may be additionally provided that the transmission of the selected, pre-planned movement trajectory section to the motion controller for executing a movement of the machine such that the reference point of the machine automatically moves in accordance with the selected, pre-planned movement trajectory section, only immediately before the latest time or just before the latest time. Alternatively or additionally, querying and / or evaluating the triggering event can be carried out only immediately before the latest time or just shortly before the latest time. The interrogation can be, for example, a reading in of a sensor signal into the path planning program or the machine motion program. Evaluation may include a process in which a read sensor signal is converted, for example, and / or evaluated and / or combined, for example, together with other sensor signals. For example, it is possible to wait as long as possible for external signals to be received, which may be necessary for further program execution, for example, in order to be able to control a tool moved by the robot in a process-dependent manner. In general, those motion instructions of the machine motion program detected by the pre-planned motion trajectory section already communicated to the motion controller for executing a movement of the machine may be automatically marked so that when these motion instructions are scheduled to be reached during the course of the machine motion program these movement instructions are not transmitted again to the railway planning program.

In einer Variante kann bei geplantem Erreichen der Bewegungsanweisungen während des Ablaufs des Maschinenbewegungsprogramms, die mit der Kennzeichnung versehen sind, ein Übermitteln der Stützpunkte und/oder Zielpunkte dieser gekennzeichneten Bewegungsanweisungen an das Bahnplanungsprogramm unterbunden werden und statt dessen derjenige vorausgeplante Bewegungstrajektorien-Abschnitt, welcher auf Grundlage dieser gekennzeichneten Bewegungsanweisungen bereits erzeugt wurde, direkt an die Bewegungssteuerung übergeben werden.In a variant, when the movement instructions are scheduled to be reached during the course of the machine movement program marked, the interpolation of the interpolation points and / or target points of those designated movement instructions to the path planning program may be prohibited and instead the pre-planned movement trajectory section based on of these marked movement instructions has already been generated, are passed 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 beschrieben durchzuführen, wenn der Programmcode von der Maschine ausgeführt wird.The object of the invention is also achieved by a computer program product comprising a machine-readable carrier having program code readable by a machine and forming and / or establishing the machine performing a method as described in the invention when the program code is executed by the machine becomes.

Konkrete Ausführungsbeispiele der Erfindung sind in der nachfolgenden Figurenbeschreibung unter Bezugnahme auf die beigefü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, gegebenenfalls auch einzeln oder auch in anderen Kombinationen der Merkmale betrachtet, allgemeine Merkmale der Erfindung darstellen.Concrete embodiments of the invention are explained in more detail in the following description of the figures with reference to the accompanying figures. Concrete features of these exemplary embodiments, regardless of the specific context in which they are mentioned, if appropriate also individually or in other combinations of the features, may represent general features of the invention.

Die Figuren zeigen:

  • 1 eine schematische Darstellung eines beispielhaften Aufbaus einer Maschinensteuerung, insbesondere Robotersteuerung,
  • 2 eine schematische Darstellung einer beispielhaften Bewegungstrajektorie im Bereich einer bedingten Programmabzweigung,
  • 3 eine schematische Darstellung eines beispielhaften Verfahrens zum Überschleifen über eine bedingte Programmabzweigung hinweg,
  • 4 eine schematische Darstellung eines abgewandelten Verfahrens, bei dem die Zielpunkte der zweiten und weiteren Bewegungsanweisungen automatisch vor die bedingte Programmabzweigung geholt werden, und
  • 5 eine schematische Darstellung eines abgewandelten Verfahrens, bei dem die Zielpunkte der zweiten und weiteren Bewegungsanweisungen manuell vor der bedingten Programmabzweigung manuell in eine erste Bewegungsanweisung editiert werden.
The figures show:
  • 1 a schematic representation of an exemplary construction of a machine control, in particular robot control,
  • 2 a schematic representation of an exemplary movement trajectory in the area of a conditional program branch,
  • 3 FIG. 2 is a schematic representation of an exemplary method for smoothing over a conditional program branch; FIG.
  • 4 a schematic representation of a modified method in which the target points of the second and further movement instructions are automatically fetched before the conditional program branch, and
  • 5 a schematic representation of a modified method in which the target points of the second and further movement instructions are manually edited before the conditional program branch manually in a first movement instruction.

In der 1 ist eine beispielhafte Steuervorrichtung 1 und von dieser angesteuerte Antriebe M1-M6 gezeigt.In the 1 is an exemplary control device 1 and from this driven drives M1 - M6 shown.

Die Antriebe M1-M6 können insbesondere elektrische Motoren umfassen, die von der Steuervorrichtung 1, insbesondere einer Antriebsteuerung der Steuervorrichtung 1, gesteuert, insbesondere geregelt antreibbar sind.The drives M1 - M6 In particular, electric motors may be included by the control device 1 , in particular a drive control of the control device 1 , controlled, in particular controlled drivable.

Die Steuervorrichtung 1 umfasst im Falle des vorliegend gezeigten Ausführungsbeispiels der 1 ein Ablaufsteuerung AS und eine Bewegungssteuerung BS. Die Ablaufsteuerung AS umfasst 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 Programmsteuerung PS kann wenigstens ein Maschinenbewegungsprogramm MP gespeichert und zur Ausführung eingerichtet sein. Insoweit kann die Steuervorrichtung 1 ein Computerprogrammprodukt aufweisen, das einen maschinenlesbaren Träger umfasst, auf dem Programmcode gespeichert ist, der von der Maschine, 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 control device 1 comprises in the case of the presently shown embodiment of 1 a sequence controller AS and a motion controller BS , The flow control AS includes 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 , especially 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 a computer program product comprising a machine-readable medium 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 robot is formed and / or set up to carry out a method according to the invention the program code from the machine or the robot or its control device 1 is performed.

Das Maschinenbewegungsprogramm MP, das insoweit ein Roboterprogramm sein kann, enthält Bewegungsanweisungen z.B. PTP1, PTP2, PTP3, PTP4, gemäß denen ein vorab definierter Bezugspunkt im Raum durch die Maschine bzw. den Roboterarm bewegt werden soll.The machine motion program MP, which may be a robot program so far, contains motion instructions, for example PTP1B . 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, insbesondere der Bewegungssteuerung BS stellt Algorithmen, Modelle und/oder Rechenvorschriften bereit, die auf Grundlage der im Maschinenbewegungsprogramm MP enthaltenen Bewegungsanweisungen eine Bewegungstrajektorie T (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 entsprechenden Bewegungsprofile, insbesondere Geschwindigkeitsprofile und/oder Beschleunigungsprofile werden dann insbesondere 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 GI 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 railway planning program BP the control device 1 , in particular the motion control BS provides algorithms, models and / or calculation rules based on the in the machine motion program MP Movement instructions contained a movement trajectory T ( 2 ) directly for the reference point or indirectly create it, that movement profiles, in particular speed profiles and / or acceleration profiles are generated axis-related or Cartesian by the path planning program BP. The corresponding motion profiles, in particular velocity profiles and / or acceleration profiles, are then in particular in an axis-related form to a movement execution BA which, in turn, the drives, ie the motors of the machine or the robot arm on the drive level by means of drive controller AR control or regulate. Especially at the level control level BAS can be a rough interpolation GI the points to be controlled take place, whereas in the movement execution already BA and / or in the drive controllers AR another fine interpolation FI can be carried out.

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, allerdings findet insoweit eine Bewegungsplanung statt, bei der die Geschwindigkeitsprofile und/oder die Beschleunigungsprofile 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 stetiger Bahnverlauf BV ergibt, wie dies durch 2 veranschaulicht ist. Wie bereits erwähnt, werden in einem Überschleifmodus 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 Bewegungstrajektorie BT mit einem stetigen Geschwindigkeitsverlauf zu erhalten.In the case of movement instructions, which can be carried out basically with asynchronous axis movements or with synchronous axis movements, the trajectory of the trajectory is not precisely planned in its exact trajectory, but so far takes place in a motion planning in which the speed profiles and / or the acceleration profiles of the individual Axis movements are well planned, resulting in a reproducible continuous trajectory BV depending on the respective starting point and the assumed target point or the assumed multiple successive target points, as by 2 is illustrated. As mentioned earlier, in a smoothing mode, the exact target points defined by the motion statements become Z not exactly approached, but avoiding a stop in a parameterizable distance range of the respective target point Z drive around to get a movement trajectory BT with a steady velocity curve.

In der 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 Maschine oder der Roboter gemäß dem Maschinenbewegungsprogramm MP automatisch angesteuert wird.In the 2 is the movement trajectory BT a graphical representation of the course of the movement that passes through the reference point in space. The movement trajectory BT is the track on which the reference point moves when the machine or robot is automatically controlled according to the machine motion program MP.

Ein Bewegungstrajektorien-Abschnitt BA stellt im Allgemeinen eine Teilstrecke der gesamten Bewegungstrajektorie dar. Im Speziellen werden erfindungsgemäß unter den jeweiligen Bewegungstrajektorien-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 (3 - 5) alternativ auftreten können (ALT1, ALT2), solange das für die bedingten Programmabzweigung PA auslösende Ereignis noch nicht stattgefunden 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.A motion trajectory section BA generally represents a leg of the entire motion trajectory. Specifically, according to the present invention, among the respective motion trajectory sections BA1 , BA2, BA3 those parts of several possible movement trajectories T2.1 . T2.2 . T2.3 understood in the machine motion program MP due to the conditional program branching PA ( 3 - 5 ) can occur alternatively ( ALT1 . ALT 2 ) as long as the event triggering the conditional program branch PA has not yet taken place and therefore it is not yet certain which of the two or more possible movement trajectory sections BA1 . BA2 . BA3 actually come to fruition.

Die 2 zeigt schematisch das Bestimmen des frühesten Zeitpunkts t1, an dem eine Überschleifbewegung beginnen muss, aus allen Startzeitpunkten t1, t2, t3 der beispielsweise drei alternativen zweiten Bewegungsanweisungen, zu denen die jeweils individuelle Überschleifbewegung spätestens beginnen muss. Dieses Verfahren erfolgt dadurch, dass für alle individuellen Überschleifbewegungen eine jeweilige Zeitdauer vorab parametriert ist, aus allen entsprechenden Zeitdauern der individuellen Überschleifbewegungen der zwei oder mehreren alternativen zweiten Bewegungsanweisungen der späteste Zeitpunkt herausselektiert wird, und auf Grundlage des momentanen Zeitpunkts t0 und der herausselektierten Zeitdauer t1 der späteste Zeitpunkt, an dem eine Überschleifbewegung beginnen muss, bestimmt wird.The 2 schematically shows the determination of the earliest time t1 at which a smoothing movement must start, from all start times t1 . t2 . t3 for example, the three alternative second movement instructions to which the respective individual polishing must begin at the latest. This method is performed by pre-parameterizing a respective time duration for all the individual rounding motions, selecting the latest time from all corresponding time periods of the individual rounding motions of the two or more alternative second movement instructions, and based on the current time t0 and the selected time period t1 the latest time at which a sanding motion must begin is determined.

Die 3 zeigt schematisch das grundlegende Verfahren zum automatischen Erzeugen einer Bewegungstrajektorie 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 die Steuervorrichtung 1, die ausgebildet ist, die Antriebe M1-M6 der Maschine auf Grundlage der automatisch erzeugten Bewegungstrajektorie BT als Führungsgröße mittels einer Ablaufsteuerung AL anzusteuern, wobei die Bewegungstrajektorie BT auf Grundlage wenigstens einer in einem Überschleifmodus auszuführenden ersten Bewegungsanweisung P1 und wenigstens einer der ersten Bewegungsanweisung P1 folgenden 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 Ablaufrichtung zwischen der ersten Bewegungsanweisung P1 und einer folgenden zweiten Bewegungsanweisung P2.1, P2.2 sich eine bedingte Programmabzweigung 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 Bewegungsanweisung P2.2 vorgibt. The 3 schematically shows the basic method for automatically generating a movement trajectory BT a reference point of a machine to be controlled automatically, the machine drives M1 - M6 which are designed to move the reference point of the machine in space and that controlled by the control device 1 that is trained, the drives M1 - M6 of the machine based on the automatically generated motion trajectory BT as a reference variable by means of a sequence control AL to control, with the movement trajectory BT based on at least one first move instruction to be executed in a flip-over mode P1 and at least one of the first movement instruction P1 following second movement instruction P2.1 . P2.2 one of the control device 1 executing machine motion program MP is automatically generated by means of a path planning program BP, wherein in the machine motion program MP in the flow direction between the first movement instruction P1 and a following second motion statement P2.1 . P2.2 a conditional program branch PA which, depending on a triggering event, is a first alternative ALT1 a second movement instruction P2. 1 or at least a second alternative ALT 2 a second movement instruction P2.2 pretends.

Das Verfahren umfasst die Schritte des Bestimmens der zwei oder mehreren Zielpunkte aller alternativen zweiten Bewegungsanweisungen P2.1, P3.1, P4.1 und P2.2, P3.2, P4.2, die gemäß der bedingten Programmabzweigung PA möglich sind,

  • - des Bestimmens des frühestens Zeitpunkts t1, an dem eine Überschleifbewegung beginnen muss, aus allen Startzeitpunkten t1, t2, t3 der zwei oder mehreren alternativen zweiten Bewegungsanweisungen P2.1, P2.2, zu denen die jeweils individuelle Überschleifbewegung spätestens beginnen muss,
  • - des Übermittelns des zu überschleifenden Stützpunktes der ersten Bewegungsanweisung P1 und der zwei oder mehreren Zielpunkte der zwei oder mehreren alternativen zweiten Bewegungsanweisungen P2.1, P2.2 an ein Bahnplanungsprogramm BP, das unter Berücksichtigung des zu überschleifenden Stützpunktes der ersten Bewegungsanweisung P1 den zwei oder mehreren alternativen zweiten Bewegungsanweisungen P2.1, P2.2 entsprechende wenigstens zwei oder mehrere vorausgeplante Bewegungstrajektorien-Abschnitte T2.1, T2.2, T2.3 erstellt,
  • - wenn das auslösende Ereignis für die bedingte Programmabzweigung PA stattgefunden hat, Auswählen desjenigen vorausgeplanten 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 abgezweigt wird,
  • - des Übermittelns des ausgewählten, vorausgeplanten Bewegungstrajektorien-Abschnitts BA1 an die Ablaufsteuerung AL zum Ausführen einer Bewegung der Maschine derart, dass sich der Bezugspunkt der Maschine dem ausgewählten, vorausgeplanten Bewegungstrajektorien-Abschnitt BA1 entsprechend automatisch bewegt.
The method includes the steps of determining the two or more destination points of all alternative second movement instructions P2 .1, P3.1 . P4.1 and P2.2 . P3.2 . P4.2 according to the conditional program branch PA possible are,
  • - Determining the earliest time t1 at which a smoothing movement must start, from all start times t1 . t2 . t3 of the two or more alternative second movement instructions P2 .1, P2.2 to which the respective individual polishing must begin at the latest,
  • - transmitting the base to be looped of the first movement instruction P1 and the two or more destination 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 motion instruction to be looped P1 the two or more alternative second movement instructions P2.1 . P2.2 corresponding at least two or more pre-planned movement trajectory sections T2.1 . T2.2 . T2.3 created,
  • - if the triggering event for the conditional branch PA has taken place, selecting the pre-planned motion trajectory section T2.1 which is the alternative second motion statement corresponding to the triggering event P2.1 the conditional program branch PA which is diverted to due to the triggering event,
  • - transmitting the selected, pre-planned movement trajectory section BA1 to the process control AL for performing a movement of the machine such that the reference point of the machine is the selected, pre-planned movement trajectory section BA1 moved accordingly automatically.

Wie aus 3 bis 5 ersichtlich kann die bedingte Programmabzweigung 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 beispielsweise eine dritte Bewegungsanweisung P3.1, P3.2 und eine vierte Bewegungsanweisung P4.1, P4.2 aufweisen.How out 3 to 5 the conditional program branch can be seen PA in at least one alternative determined by the triggering event, eg ALT1 and or ALT 2 except a second move instruction P2.1 . P2.2 in addition, for example, a third movement instruction P3.1 . P3.2 and a fourth movement instruction P4.1 . P4.2 respectively.

Ein Bestimmen des frühesten Zeitpunkts t1, an dem eine Überschleifbewegung beginnen muss, erfolgt dann aus allen Startzeitpunkten t1 und t2 der zwei alternativen zweiten Bewegungsanweisungen P2.1, P2.2, zu denen die jeweils individuelle Überschleifbewegung spätestens beginnen muss, unter Einbeziehen der jeweils weiteren Bewegungsanweisungen P3.1, P3.2 und P4.1, P4.2 zu der jeweiligen zweiten Bewegungsanweisung P2.1, P2.2.A determination of the earliest time t1 at which a sanding movement must begin, then takes place from all start times t1 and t2 of the two alternative second movement instructions P2.1 . P2.2 to which the respective individual sanding movement must begin at the latest, taking into account the respective further movement instructions P3.1 . P3.2 and P4.1 . P4.2 to the respective second movement instruction P2.1 . P2.2 ,

Ein Übermitteln des zu überschleifenden Stützpunktes der ersten Bewegungsanweisung P1 und der zwei oder mehreren Zielpunkte 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 Bahnplanungsprogramm BP, wobei das Bahnplanungsprogramm BP unter Berücksichtigung des zu überschleifenden Stützpunktes der ersten Bewegungsanweisung P1 den zwei alternativen zweiten Bewegungsanweisungen P2.1, P2.2 und den jeweils weiteren Bewegungsanweisungen P3.1, P3.2 und P4.1, P4.2 entsprechende zwei vorausgeplante Bewegungstrajektorien-Abschnitte T2.1 und T2.2 erstellt.A transmission of the base of the first motion instruction to be looped P1 and the two or more target points of the two alternative second movement instructions P2.1 . P2.2 and the respective other 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 motion statement P1 the two alternative second movement instructions P2.1 . P2.2 and the further movement instructions 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 Bewegungsanweisung P1, zusätzlich wenigstens einen zweiten Stützpunkt der zweiten Bewegungsanweisung P2.1 P2.2 und/oder jeden dritten oder weiteren Stützpunkt einer im Programmablauf 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 of a further movement instruction following in the program sequence P3.1 . P3.2 and P4.1 . P4.2 to plan overly.

Die 4 und 5 zeigen eine Variante des Verfahren, gekennzeichnet 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 und P4.1, P4.2, die der bedingten Programmabzweigung PA im Maschinenbewegungsprogramm MP in Ablaufrichtung folgen, in einer in Ablaufrichtung vor der Programmabzweigung PA auftretenden Bewegungsanweisung, insbesondere vor der ersten Bewegungsanweisung P1 oder in der ersten Bewegungsanweisung P1, die der bedingten Programmabzweigung PA im Maschinenbewegungsprogramm MP in Ablaufrichtung unmittelbar vorausgeht.The 4 and 5 show a variant of the method, characterized 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 further movement instructions P3.1 . P3.2 and P4.1 . P4.2 , the conditional program branch PA in the machine motion program MP follow in flow direction, in one direction before the program branch PA occurring movement instruction, in particular before the first movement instruction P1 or in the first motion statement P1 , the conditional program branch PA in the machine motion program MP immediately precedes in the flow direction.

Die 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 Bewegungsanweisungen P2.1, P2.2 und/oder weiteren Bewegungsanweisungen P3.1, P3.2 und P4.1, P4.2 als aktuelle Parameter eingetragen werden, welche aktuellen Parameter virtuelle Rückgabewerte bilden, die durch das Maschinenbewegungsprogramm MP als virtuelle Aufrufparameter der zweiten Bewegungsanweisungen P2.1, P2.2 und/oder weiteren Bewegungsanweisungen P3.1, P3.2 und P4.1, P4.2 vor ihrer eigentlichen Ausführung automatisch auslesbar machen.The 4 shows how the referencing is done by the machine movement program MP an access function or access method Z comprising formal parameters into which the second movement instructions to be referenced P2.1 . P2.2 and / or further movement instructions P3.1 . P3.2 and P4.1 . P4.2 are entered as current parameters, which current parameters form 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 further movement instructions P3.1 . P3.2 and P4.1 . P4.2 make them automatically readable before their actual execution.

Die 5 zeigt, wie das Referenzieren dadurch erfolgt, dass das Maschinenbewegungsprogramm MP über editierbare Bewegungsanweisungen A verfügt, die Attribute umfassen, in denen die Zielpunkte der zu referenzierenden zweiten Bewegungsanweisungen P2.1, P2.2 und/oder der weiteren Bewegungsanweisungen P3.1, P3.2 und P4.1, P4.2 als aktuelle Parameter der Bewegungsanweisung P1 manuell eingetragen werden können.The 5 shows how the referencing is done by the machine movement program MP via editable movement instructions A which includes attributes in which the destination points of the second movement instructions to be referenced P2.1 . P2.2 and / or further movement instructions P3.1 . P3.2 and P4.1 . P4.2 as current parameters of the movement instruction P1 can be entered manually.

Claims (13)

Verfahren zum automatischen Erzeugen einer Bewegungstrajektorie (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 automatisch erzeugten Bewegungstrajektorie (BT) als Führungsgröße mittels einer Bewegungssteuerung (BS) anzusteuern, wobei die Bewegungstrajektorie (BT) auf Grundlage wenigstens einer in einem Überschleifmodus auszuführenden ersten Bewegungsanweisung (P1) und wenigstens einer der ersten Bewegungsanweisung (P1) folgenden zweiten Bewegungsanweisung (P2.1, P2.2) eines von der Steuervorrichtung (1) auszuführenden Maschinenbewegungsprogramms (MP) mittels eines Bahnplanungsprogramms (BP) automatisch erzeugt wird, wobei im Maschinenbewegungsprogramm (MP) in Ablaufrichtung zwischen der ersten Bewegungsanweisung (P1) und der folgenden zweiten Bewegungsanweisung (P2.1, P2.2) sich eine bedingte Programmabzweigung (PA) befindet, die in Abhängigkeit eines auslösenden Ereignisses eine erste Alternative (ALT1) der zweiten Bewegungsanweisung (P2.1) oder wenigstens eine zweite Alternative (ALT2) der zweiten Bewegungsanweisung (P2.2, P2.3) vorgibt, aufweisend die Schritte: - Bestimmen von Eigenschaften der zwei oder mehreren alternativen zweiten Bewegungsanweisungen (P2.1, P2.2, P2.3), die gemäß der bedingten Programmabzweigung (PA) möglich sind, - Bestimmen eines Zeitpunkts (t1), an dem eine Überschleifbewegung spätestens beginnen muss, aus allen Startzeitpunkten (t1, t2, t3) der zwei oder mehreren alternativen zweiten Bewegungsanweisungen (P2.1, P2.2, P2.3), zu denen die jeweils individuelle Überschleifbewegung spätestens beginnen muss, - Übermitteln der Eigenschaften der ersten Bewegungsanweisung (P1) und der zwei oder mehreren alternativen zweiten Bewegungsanweisungen (P2.1, P2.2, P2.3) an das Bahnplanungsprogramm (BP), das unter Berücksichtigung des zu überschleifenden Stützpunktes der ersten Bewegungsanweisung (P1) den zwei oder mehreren alternativen zweiten Bewegungsanweisungen (P2.1, P2.2, P2.3) entsprechende wenigstens zwei oder mehrere vorausgeplante Bewegungstrajektorien-Abschnitte (BA1, BA2, BA3) erstellt, - wenn das auslösende Ereignis für die bedingte Programmabzweigung (PA) stattgefunden hat, Auswählen desjenigen vorausgeplanten Bewegungstrajektorien-Abschnitts (BA1), welcher der dem auslösenden Ereignis entsprechenden alternativen zweiten Bewegungsanweisung (P2.1, P2.2, P2.3) der bedingten Programmabzweigung (PA) entspricht, auf die aufgrund des auslösenden Ereignisses abgezweigt wird, - Übermitteln des ausgewählten, vorausgeplanten Bewegungstrajektorien-Abschnitts (BA1) an eine Bewegungsausführung (BA) zum Ausführen einer Bewegung der Maschine derart, dass sich der Bezugspunkt der Maschine entsprechend dem ausgewählten, vorausgeplanten Bewegungstrajektorien-Abschnitt (BA1) automatisch bewegt.Method for automatically generating a movement trajectory (BT) of a reference point of a machine to be automatically controlled, the machine comprising drives (M1-M6) designed to move the reference point of the machine in space, controlled by a control device (1) 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 motion control (BS), the movement trajectory (BT) being based on at least one first movement instruction (P1) to be executed in a smoothing mode and at least one of the first movement instruction (P1) following a second movement instruction (P2.1, P2.2) of a machine movement program (MP) to be executed by the control device (1) is automatically generated by means of a path planning program (BP), wherein in the machine movement program (MP) in Flow direction between the first movement instruction (P1) and d of the following second movement instruction (P2.1, P2.2) is a conditional program branching (PA) which, depending on a triggering event, a first alternative (ALT1) of the second movement instruction (P2.1) or at least a second alternative (ALT2 ) of the second movement instruction (P2.2, P2.3), comprising the steps of: Determining properties of the two or more alternative second movement instructions (P2.1, P2.2, P2.3) that are possible according to the conditional program branch (PA), Determining, from all start times (t1, t2, t3) of the two or more alternative second movement instructions (P2.1, P2.2, P2.3), a time point (t1) at which a smoothing movement must begin at the latest, to which the each individual polishing must begin at the latest, Transferring the properties of the first movement instruction (P1) and the two or more alternative second movement instructions (P2.1, P2.2, P2.3) to the path planning program (BP), taking into account the base point of the first movement instruction (P1 ) creates at least two or more pre-planned movement trajectory sections (BA1, BA2, BA3) corresponding to the two or more alternative second movement instructions (P2.1, P2.2, P2.3), if the triggering event for the conditional program branch (PA) has taken place, selecting the pre-planned movement trajectory section (BA1) which matches the conditional program branch alternative second move instruction (P2.1, P2.2, P2.3) corresponding to the triggering event (PA), to which branching takes place due to the triggering event, - transmitting the selected, pre-planned movement trajectory section (BA1) to a movement execution (BA) for performing a movement of the machine such that the reference point of the machine automatically moves according to the selected, pre-planned movement trajectory section (BA1). Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die bedingte Programmabzweigung (PA) in wenigstens einer durch das auslösende Ereignis bestimmten Alternative (ALT1, ALT2) außer einer zweiten Bewegungsanweisung (P2.1,P2.2) zusätzlich wenigstens eine weitere Bewegungsanweisung (P3.1,P3.2, P4.1, P4.2) aufweist und - ein Bestimmen des Zeitpunkts (t1), an dem eine Überschleifbewegung 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 beginnen muss, erfolgt unter Einbeziehen der jeweils weiteren Bewegungsanweisungen (P3.1,P3.2, P4.1, P4.2) zu der jeweiligen zweiten Bewegungsanweisung (P2.1,P2.2), und - ein Übermitteln der Eigenschaften der zu überschleifenden ersten Bewegungsanweisung (P1) und der zwei oder mehreren alternativen zweiten Bewegungsanweisungen (P2.1, P2.2) und der jeweiligen weiteren Bewegungsanweisungen (P3.1, P3.2, P4.1, P4.2) an das Bahnplanungsprogramm (BP) erfolgt, wobei das Bahnplanungsprogramm (BP) unter Berücksichtigung der Eigenschaften der zu überschleifenden ersten Bewegungsanweisung (P1), den zwei oder mehreren alternativen zweiten Bewegungsanweisungen (P2.1, P2.2) und den jeweils weiteren Bewegungsanweisungen (P3.1, P3.2, P4.1, P4.2) entsprechende wenigstens zwei oder mehrere vorausgeplante Bewegungstrajektorien-Abschnitte (T2.1, T2.2, T2.3) erstellt.Method according to Claim 1 , characterized in that the conditional program branching (PA) in at least one alternative (ALT1, ALT2) determined by the triggering event, in addition to a second movement instruction (P2.1, P2.2), additionally comprises at least one further movement instruction (P3.1, P3. 2, P4.1, P4.2), and - determining the time (t1) at which a smoothing movement must begin at the latest from all start times of the two or more alternative second movement instructions (P2.1, P2.2), to which each individual smoothing movement must begin at the latest, takes place by including the respective further movement instructions (P3.1, P3.2, P4.1, P4.2) for the respective second movement instruction (P2.1, P2 .2), and - transmitting the properties of the first movement instruction (P1) to be looped 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 path planning program (BP), the path planning program (BP) taking into account the properties of the first movement instruction (P1) to be looped, the two or more alternative second movement instructions (P2.1, P2.2) and the respectively further movement instructions (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. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Bahnplanungsprogramm (BP) eingerichtet ist, außer der zu überschleifenden ersten Bewegungsanweisung (P1), zusätzlich wenigstens eine zweite Bewegungsanweisung (P2.1, P2.2) und/oder jede dritte oder weitere im Programmablauf folgende Bewegungsanweisung (P3.1, P3.2, P4.1, P4.2) überschleifend zu planen.Method according to Claim 1 in that the path planning program (BP) is set up, in addition to the first movement instruction (P1) to be looped, additionally at least one second movement instruction (P2.1, P2.2) and / or every third or further movement instruction (P3 .1, P3.2, P4.1, P4.2) over-planning. Verfahren nach einem der Ansprüche 1 bis 3, gekennzeichnet 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 Programmabzweigung (PA) auftretenden Bewegungsanweisung, insbesondere vor der ersten Bewegungsanweisung (P1) oder in der ersten Bewegungsanweisung (P1), die der bedingten Programmabzweigung (PA) im Maschinenbewegungsprogramm (MP) in Ablaufrichtung unmittelbar vorausgeht.Method according to one of Claims 1 to 3 characterized by automatic or manual homing in the machine motion program (MP) of the two or more alternative second motion instructions (P2.1, P2.2) and / or the further motion instructions (P3.1, P3.2, P4.1, P4.2 ) following the conditional program branch (PA) in the machine motion program (MP) in a flow direction occurring upstream of the program branch (PA), in particular before the first movement instruction (P1) or in the first movement instruction (P1) Conditional program branch (PA) in the machine motion program (MP) in the flow direction immediately precedes. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass das Referenzieren dadurch erfolgt, dass das Maschinenbewegungsprogramm (MP) Zugriffsfunktionen (Z) oder Zugriffsmethoden (Z) aufweist, die formale Parameter umfassen, in welche die zu referenzierenden zweiten Bewegungsanweisungen (P2.1, P2.2) und/oder weiteren Bewegungsanweisungen (P3.1, P3.2, P4.1, P4.2) als aktuelle Parameter eingetragen werden, welche aktuellen Parameter virtuelle Rückgabewerte bilden, die durch das Maschinenbewegungsprogramm (MP) als virtuelle Aufrufparameter der zweiten Bewegungsanweisungen (P2.1, P2.2) und/oder weiteren Bewegungsanweisungen (P3.1, P3.2, P4.1, P4.2) vor ihrer eigentlichen Ausführung automatisch auslesbar sind.Method according to Claim 4 , characterized in that the referencing is performed by the machine movement program (MP) having access functions (Z) or access methods (Z) comprising formal parameters into which the second movement instructions (P2.1, P2.2) and / or to be referenced or other movement instructions (P3.1, P3.2, P4.1, P4.2) are entered as current parameters, which present parameters virtual return values, by the machine motion program (MP) as virtual call parameters of the second movement instructions (P2.1 , P2.2) and / or further movement instructions (P3.1, P3.2, P4.1, P4.2) can be automatically read out before they are actually executed. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass das Referenzieren dadurch erfolgt, dass das Maschinenbewegungsprogramm (MP) über editierbare Bewegungsanweisungen (A) verfügt, die Attribute umfassen, in denen die Eigenschaften der zu referenzierenden zweiten Bewegungsanweisungen (P2.1, P2.2) und/oder der weiteren Bewegungsanweisungen (P3.1,P3.2, P4.1, P4.2) als aktuelle Parameter der Bewegungsanweisungen manuell eingetragen werden.Method according to Claim 4 , characterized in that the referencing is performed by the machine movement program (MP) having editable movement instructions (A) comprising attributes in which the properties of the second movement instructions (P2.1, P2.2) to be referenced and / or the further movement instructions (P3.1, P3.2, P4.1, P4.2) are entered manually as current parameters of the movement instructions. Verfahren nach einem der Ansprüche 4 bis 6, dadurch gekennzeichnet, dass das Bestimmen der Eigenschaften der zwei oder mehreren alternativen zweiten Bewegungsanweisungen (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 Bewegungsanweisung (P1) referenzierten zwei oder mehreren alternativen zweiten Bewegungsanweisungen (P2.1, P2.2) und/oder weiteren Bewegungsanweisungen (P3.1, P3.2, P4.1, P4.2) aufgrund der Verweise in der ersten Bewegungsanweisung (P1) ausgelesen werden.Method according to one of Claims 4 to 6 Characterized in that determining the properties of two or more alternative second motion instructions (P2.1, P2.2, P3.1, P3.2, P4.1, P4.2), which according to the related Programmabzweigung (PA) are possible, characterized in that in the first movement instruction (P1) referenced two or more alternative second movement instructions (P2.1, P2.2) and / or further movement instructions (P3.1, P3.2, P4.1, P4 .2) are read out on the basis of the references in the first movement instruction (P1). Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass das Bestimmen des Zeitpunkts (t1), an dem eine Überschleifbewegung spätestens beginnen muss, aus allen Startzeitpunkten (t1, t2, t3) der zwei oder mehreren alternativen 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 Zeitdauer aus den Bahnparametern und den physikalischen Eigenschaften automatisch bestimmt wird, aus allen entsprechenden Zeitdauern der individuellen Überschleifbewegungen der zwei oder mehreren alternativen zweiten Bewegungsanweisungen (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 (t1), an dem eine Überschleifbewegung beginnen muss, bestimmt wird.Method according to one of Claims 1 to 7 Characterized in that determining the time (t1), on which a rounding movement must start at the latest, from all starting times (t1, t2, t3) of the two or more alternative second motion instructions (P2.1, P2.2), to which the respective individual blending movement must begin at the latest, thereby, that for each individual blending movements a respective time period is automatically determined from the path parameters and the physical properties, from all corresponding periods of the individual blending movements of the two or more alternative second movement statements (P2.1, P2 .2, P3.1, P3.2, P4.1, P4.2) the longest time period is selected, and based on the current time and the selected longest time period, the latest time (t1) at which a rounding movement must begin, is determined. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass das Übermitteln des ausgewählten, vorausgeplanten Bewegungstrajektorien-Abschnitts (BA1) an die Bewegungssteuerung (BS) zum Ausführen einer Bewegung der Maschine derart, dass sich der Bezugspunkt der Maschine dem ausgewählten, vorausgeplanten Bewegungstrajektorien-Abschnitt (BA1) entsprechend automatisch bewegt, erst unmittelbar vor dem spätesten Zeitpunkt (t1) oder lediglich kurz vor dem spätesten Zeitpunkt (t1) ausgeführt wird.Method according to Claim 8 characterized in that transmitting the selected, pre-planned movement trajectory portion (BA1) to the motion controller (BS) for performing a movement of the machine such that the machine's reference point automatically moves in accordance with the selected, pre-planned movement trajectory portion (BA1) , is executed immediately before the latest time (t1) or only shortly before the latest time (t1). Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass ein Abfragen und/oder ein Auswerten des auslösenden Ereignisses erst unmittelbar vor dem spätesten Zeitpunkt (t1) oder lediglich kurz vor dem spätesten Zeitpunkt (t1) ausgeführt wird. Method according to one of Claims 1 to 9 , characterized in that a query and / or an evaluation of the triggering event is performed only immediately before the latest time (t1) or just shortly before the latest time (t1). Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass diejenigen Bewegungsanweisungen des Maschinenbewegungsprogramms (MP), die von dem an die Bewegungssteuerung (AB) zum Ausführen einer Bewegung der Maschine bereits übermittelten, vorausgeplanten Bewegungstrajektorien-Abschnitt (BA1) erfasst sind, automatisch mit einer Kennzeichnung versehen werden, derart, dass bei geplantem Erreichen dieser Bewegungsanweisungen (P2.1, P2.2) während des Ablaufs des Maschinenbewegungsprogramms (MP) diese Bewegungsanweisungen (P2.1, P2.2) nicht erneut an das Bahnplanungsprogramm (BP) übermittelt werden.Method according to one of Claims 1 to 10 characterized in that those motion instructions of the machine motion program (MP) detected by the pre-planned motion trajectory section (BA1) already transmitted to the motion controller (AB) for executing a movement of the machine are automatically marked, when these movement instructions (P2.1, P2.2) are planned to be reached during the course of the machine movement program (MP), these movement instructions (P2.1, P2.2) are not transmitted again to the path planning program (BP). 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 Bahnplanungsprogramm (BP) unterbunden wird und statt dessen derjenige 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.Method according to Claim 11 characterized in that, when the movement instructions are planned to be reached during the course of the machine movement program (MP) provided with the marking, the interpolation points and / or destinations of these marked movement instructions (P2.1, P2.2) are transmitted to the path planning program ( BP) is inhibited, and instead the one pre-planned movement trajectory 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). 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 nach einem der Ansprüche 1 bis 12 durchzuführen, wenn der Programmcode von der Maschine ausgeführt wird.A computer program product comprising a machine readable medium stored on the program code readable by a machine and forming and / or establishing the machine, a method according to any one of Claims 1 to 12 when the program code is executed by the machine.
DE102018203078.2A 2018-03-01 2018-03-01 Method for automatically generating a movement trajectory and associated computer program product Active DE102018203078B3 (en)

Priority Applications (2)

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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
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
DE102018203078B3 true DE102018203078B3 (en) 2019-05-09

Family

ID=65440972

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018203078.2A Active DE102018203078B3 (en) 2018-03-01 2018-03-01 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)

Cited By (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
WO2021110254A1 (en) * 2019-12-04 2021-06-10 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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2022608A2 (en) 2007-07-31 2009-02-11 Rockwell Automation Technologies, Inc. Improved blending algorithm for trajectory planning
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

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6216058B1 (en) * 1999-05-28 2001-04-10 Brooks Automation, Inc. System of trajectory planning for robotic manipulators based on pre-defined time-optimum trajectory shapes
WO2008119383A1 (en) * 2007-03-30 2008-10-09 Abb Technology Ab Method and apparatus for programming an industrial robot
DE102015204641B4 (en) * 2014-06-03 2021-03-25 ArtiMinds Robotics GmbH Method and system for programming a robot
EP2965873B1 (en) * 2014-07-10 2020-10-07 Siemens Aktiengesellschaft Method for automatically controlling a manipulator

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2022608A2 (en) 2007-07-31 2009-02-11 Rockwell Automation Technologies, Inc. Improved blending algorithm for trajectory planning
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

Cited By (6)

* 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
WO2021058201A1 (en) * 2019-09-27 2021-04-01 Siemens Aktiengesellschaft Stopping a production machine on a collision-free path
CN114450644A (en) * 2019-09-27 2022-05-06 西门子股份公司 Stopping of production machines on collision-free trajectories
WO2021110254A1 (en) * 2019-12-04 2021-06-10 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

Also Published As

Publication number Publication date
WO2019166229A1 (en) 2019-09-06

Similar Documents

Publication Publication Date Title
DE102018203078B3 (en) Method for automatically generating a movement trajectory and associated computer program product
DE102015004932B4 (en) Simulation device for several robots
DE102009048252B4 (en) In a numerically controlled machine built-in collision prevention device
DE102018122376B3 (en) Method and device for collision-free motion planning of a manipulator
DE102019118637B4 (en) AUTOMATIC PATH GENERATION DEVICE
DE102017004366B4 (en) Numerical control device
DE102009004285A1 (en) Method and device for optimizing, monitoring or analyzing a process
EP2212753A1 (en) Method for allowing a manipulator to cover a predetermined trajectory, and control device for carrying out said method
DE102014103370B4 (en) Method and device for discrete-time control of a manipulator
DE3317263A1 (en) MANIPULATOR WITH ADAPTIVE SPEED CONTROLLED RAILWAY MOVEMENT
DE102011108282A1 (en) Numerical control for a multi-axis machine for machining a tilted working plane
DE102006061752A1 (en) Method for programming robot, involves manual starting of space points with robot, which carries determined force or torque in started space point, where force or torque is stored
EP2303521A1 (en) Industrial robot and path planning method for controlling the movement of an industrial robot
EP0530401B1 (en) Method to start position dependant operations during machining with a robot or machine tool
DE69610284T2 (en) PROCESS FOR ROBOT CONTROL
DE102010064308A1 (en) Control for a machine tool
EP2072195B2 (en) Method for controlling the movement of a robot within a work room
EP2796952A1 (en) Numerical controller capable of changing the sub-program
EP2209596B1 (en) Industrial robot and method for controlling the movement of an industrial robot
DE102014226789A1 (en) Method and manipulator arrangement for conditionally stopping at least one manipulator on a path
DE69420170T2 (en) Method and device for a numerically controlled industrial machine
DE102020124734A1 (en) SIMULATION DEVICE
EP2656980A2 (en) Method and means for determining and/or controlling a manipulator process
DE102017009751A1 (en) Numerical control device
DE102004019653A1 (en) simulation device

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R082 Change of representative

Representative=s name: BOESS, DIETER ALEXANDER, DIPL.-ING. (UNIV.), DE

R020 Patent grant now final