DE102021211819B3 - Method for generating a speed profile for a path control - Google Patents

Method for generating a speed profile for a path control Download PDF

Info

Publication number
DE102021211819B3
DE102021211819B3 DE102021211819.4A DE102021211819A DE102021211819B3 DE 102021211819 B3 DE102021211819 B3 DE 102021211819B3 DE 102021211819 A DE102021211819 A DE 102021211819A DE 102021211819 B3 DE102021211819 B3 DE 102021211819B3
Authority
DE
Germany
Prior art keywords
speed
path
profile
speed profile
zone
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
DE102021211819.4A
Other languages
German (de)
Inventor
Manuel Roechner
Justus Kopp
Julian Kaufmann
Joerg Deisenroth
Thomas Schroeder
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch 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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102021211819.4A priority Critical patent/DE102021211819B3/en
Application granted granted Critical
Publication of DE102021211819B3 publication Critical patent/DE102021211819B3/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/416Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
    • 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

Landscapes

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

Abstract

Die Erfindung betrifft ein Verfahren zur Generierung eines Geschwindigkeitsprofils für eine Bahnsteuerung umfassend ein Erzeugen eines Grenzgeschwindigkeitsprofils (1) für mehrere Bahnsegmente einer vorgegebenen Bahn, ein Aufteilen des Grenzgeschwindigkeitsprofils (1) in Zonen (1 a-1 g), die jeweils konstante Grenzwerte für Geschwindigkeit, Beschleunigung oder Ruck aufweisen, ein Ermitteln einer Vielzahl von Übergangsbedingungen an einem Übergang von einer ersten Zone (1a-1g) auf eine zweite Zone (1a-1g) basierend auf einem Grenzwert der zweiten Zone (1a-1g) und ein Berechnen eines ersten Geschwindigkeitsprofils (2) für die erste Zone (1a-1g) zum Erreichen einer vorbestimmten Sollgeschwindigkeit (vsoll), wobei das erste Geschwindigkeitsprofil (2) eine Vielzahl vorbestimmter Interpolationspunkte zur Ermittlung eines aktuellen Bahnwegs aufweist. Wenn das erste Geschwindigkeitsprofil eine der Vielzahl von Übergangsbedingungen verletzt, wird ein zweites Geschwindigkeitsprofils (3.1-3.5) für den Übergang von der ersten Zone (1a-1g) in die zweite Zone (1a-1g) an jedem Interpolationspunkt des ersten Geschwindigkeitsprofils (2) berechnet, wobei das zweite Geschwindigkeitsprofil (3.1-3.5) jeweils abhängig von einer ermittelten Geschwindigkeit in einem Interpolationspunkt und einer zugehörigen Übergangsbedingung berechnet wird, von dem ersten Geschwindigkeitsprofil (2) auf das zweite Geschwindigkeitsprofil (3.1-3.5), das an einem direkt vorangegangenen Interpolationspunkt berechnet wurde, gewechselt, wenn das zweite Geschwindigkeitsprofil (3.1-3.5), das an einem aktuellen Interpolationspunkt berechnet wurde, eine der Vielzahl von Übergangsbedingungen verletzt, und Interpolationspunkte werden entlang des zweiten Geschwindigkeitsprofils (3.1-3.5) zur Ermittlung des aktuellen Bahnwegs bestimmt.The invention relates to a method for generating a speed profile for a path control, comprising generating a limit speed profile (1) for a plurality of path segments of a specified path, dividing the limit speed profile (1) into zones (1a-1g), each of which has constant limit values for speed , acceleration or jerk, determining a plurality of transition conditions at a transition from a first zone (1a-1g) to a second zone (1a-1g) based on a limit value of the second zone (1a-1g) and calculating a first Speed profile (2) for the first zone (1a-1g) to reach a predetermined desired speed (vsoll), the first speed profile (2) having a multiplicity of predetermined interpolation points for determining a current path. If the first velocity profile violates one of the plurality of transition conditions, a second velocity profile (3.1-3.5) is generated for the transition from the first zone (1a-1g) to the second zone (1a-1g) at each interpolation point of the first velocity profile (2) calculated, the second speed profile (3.1-3.5) being calculated in each case as a function of a determined speed in an interpolation point and an associated transition condition, from the first speed profile (2) to the second speed profile (3.1-3.5) at a directly preceding interpolation point calculated, switched when the second velocity profile (3.1-3.5) computed at a current interpolation point violates one of the plurality of transition conditions, and interpolation points are determined along the second velocity profile (3.1-3.5) to determine the current trajectory.

Description

Die vorliegende Erfindung betrifft ein Verfahren zur Generierung eines Geschwindigkeitsprofils für eine Bahnsteuerung sowie eine Recheneinheit und ein Computerprogramm zur Durchführung des Verfahrens. Das Verfahren erlaubt Modifikationen des Geschwindigkeitsprofiles zur Laufzeit unter Einhaltung von definierten Grenzwerten für Geschwindigkeit, Beschleunigung und Ruck.The present invention relates to a method for generating a speed profile for a path control, as well as a computing unit and a computer program for carrying out the method. The process allows modifications to the velocity profile during runtime while maintaining defined limit values for velocity, acceleration and jerk.

Hintergrund der ErfindungBackground of the Invention

In numerisch gesteuerten Maschinen und Anlagen kommen Bahnsteuerungen zum Einsatz, welche die Position eines sich bewegenden Objekts entlang einer vorab festgelegten Bahn steuern. Im Rahmen der Bahnsteuerung werden die Bewegungen zu der nächsten anzufahrenden Position (Bewegungsprofil), die Art der dabei zu durchfahrenden Bahn und die Geschwindigkeit für die Bewegungen zu dieser Position vorgegeben. Die Bahn wird üblicherweise in Bahnsegmente zerlegt, die z.B. aus Geraden oder Kreissegmenten bestehen. Da reale Maschinen und Anlagen bestimmten Einschränkungen hinsichtlich der maximalen Geschwindigkeit, Beschleunigung und des Rucks (Änderung der Beschleunigung) unterliegen, kann die Abarbeitung eines einzelnen Bahnsegments von einem Startpunkt zu einem Endpunkt nicht mit einer vorgegebenen konstanten Geschwindigkeit erfolgen, da dies am Startpunkt des Bahnsegments, an dem die Geschwindigkeit des Objekts null beträgt, einen Geschwindigkeitssprung mit unendlicher Beschleunigung zur Folge hätte. Daher sind kontinuierliche Geschwindigkeitsprofile erforderlich, bei denen diese Geschwindigkeitssprünge geglättet/verrundet werden.Path controls are used in numerically controlled machines and systems, which control the position of a moving object along a predefined path. Within the framework of path control, the movements to the next position to be approached (motion profile), the type of path to be traveled through and the speed for the movements to this position are specified. The trajectory is usually broken down into trajectory segments, which consist of straight lines or circular segments, for example. Since real machines and systems are subject to certain limitations with regard to the maximum speed, acceleration and jerk (change in acceleration), the processing of a single path segment from a starting point to an end point cannot take place at a specified constant speed, since this is the starting point of the path segment, where the object's velocity is zero, would result in a jump in velocity with infinite acceleration. Continuous speed profiles are therefore required in which these speed jumps are smoothed/rounded off.

EP 2 996 003 A1 zeigt ein Verfahren zur Erzeugung eines bedingungsbasierten Bewegungsprofils, bei dem ein stückweise konstantes Sollwertprofil für den Ruck mittels eines gleitenden Mittelwertfilters in ein stückweise lineares Profil umgewandelt wird. Dies hat eine entsprechende Verrundung des Beschleunigungs- und Geschwindigkeitsprofils zur Folge. EP 2 996 003 A1 shows a method for generating a condition-based motion profile in which a piecewise constant setpoint profile for the jerk is converted into a piecewise linear profile using a moving average filter. This results in a corresponding rounding of the acceleration and velocity profile.

Eine solche Filterung hat den Nachteil, dass zur Laufzeit zwei verschiedene Betrachtungsebenen (vor und nach dem Filter) vorliegen, die eine separate Verwaltung benötigen. Dies führt zu komplexen und damit fehleranfälligen Algorithmen im Hinblick auf die Synchronisation zwischen der interpolierten Bewegung und nicht bewegungsspezifischen Maschinenfunktionen. Zudem lassen sich Beschleunigung und Ruck durch das oben beschriebene Verfahren nicht vollständig entkoppeln, so dass der maximal mögliche Ruck in einigen Fällen nicht erreicht wird. Außerdem sind mit diesem Verfahren keine unterschiedlichen Ruckgrenzwerte für Beschleunigung und Verzögerung möglich.Such filtering has the disadvantage that there are two different viewing levels (before and after the filter) at runtime, which require separate management. This leads to complex and therefore error-prone algorithms with regard to the synchronization between the interpolated movement and non-movement-specific machine functions. In addition, acceleration and jerk cannot be completely decoupled using the method described above, so that the maximum possible jerk is not achieved in some cases. In addition, different jerk limit values for acceleration and deceleration are not possible with this method.

Die Druckschrift DE 10 2009 049 172 A1 offenbart ein Verfahren zur Steuerung eines Manipulators. Für einen bestimmten Bahnabschnitt, mit einem vorgegebenen Verlauf einer Bewegungsgröße, wird auf Basis von in diesem Bahnabschnitt zulässigen Bewegungsgrößen, eine Bewegungsgröße automatisch bestimmt.The pamphlet DE 10 2009 049 172 A1 discloses a method for controlling a manipulator. A movement variable is automatically determined for a specific path section with a predetermined course of a movement variable on the basis of movement variables permissible in this path section.

Die Druckschrift DD 2 89 832 A5 offenbart eine analoge Schaltungsanordnung zur Folgesteuerung an Bahnabschnittsübergängen in Bahnsteuerungen.The pamphlet DD 2 89 832 A5 discloses an analog circuit arrangement for sequence control at track section transitions in track controls.

Andere gebräuchliche Verfahren, bei denen - zumindest abschnittsweise - komplett vorausberechnete Geschwindigkeitsprofile abgefahren werden, haben vor allem den Nachteil, dass die dafür notwendigen zum Teil iterativen Berechnungen sehr rechenintensiv sind und eine nachträgliche Beeinflussung des Bewegungsprofils, indem beispielsweise Sollgeschwindigkeit und -beschleunigung über eine Override-Funktion angepasst werden, eine komplette Neuberechnung des Geschwindigkeitsprofils erfordert, was in der Praxis aufgrund der für die Neuberechnung erforderlichen Rechenzeit zu einer nicht tolerierbaren verzögerten Reaktion führen würde.Other common methods in which - at least in sections - completely pre-calculated speed profiles are run have the main disadvantage that the partly iterative calculations required for this are very computationally intensive and a subsequent influencing of the movement profile, for example by using an override function are adapted, a complete recalculation of the speed profile is required, which in practice would lead to an intolerable delayed reaction due to the computing time required for the recalculation.

Offenbarung der ErfindungDisclosure of Invention

Erfindungsgemäß wird ein Verfahren zur Generierung eines Geschwindigkeitsprofils für eine Bahnsteuerung sowie eine Recheneinheit und ein Computerprogramm zur Durchführung des Verfahrens mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.According to the invention, a method for generating a speed profile for a path control as well as a computing unit and a computer program for carrying out the method with the features of the independent patent claims are proposed. Advantageous configurations are the subject of the dependent claims and the following description.

Die Erfindung schafft insbesondere ein Verfahren zur Generierung von kontinuierlichen Geschwindigkeitsprofilen für Bahnsteuerungen, welches die oben genannten Nachteile überwindet, und glatte und (im Wesentlichen) glatte, geschwindigkeitsoptimierte Geschwindigkeitsprofile erzeugen kann. Das erfindungsgemäße Verfahren erlaubt es zudem, zur Laufzeit Geschwindigkeit und Beschleunigung zu variieren.In particular, the invention provides a method for generating continuous speed profiles for path controls, which overcomes the disadvantages mentioned above and can generate smooth and (substantially) smooth, speed-optimized speed profiles. The method according to the invention also allows speed and acceleration to be varied during runtime.

Die Vorteile des Verfahrens werden insbesondere erzielt durch eine Vorab-Ermittlung einer Vielzahl von Übergangsbedingungen zwischen einzelnen Zonen eines Grenzgeschwindigkeitsprofils, die zur Laufzeit in jedem Interpolationsschritt überprüft werden. Wird eine Verletzung einer Übergangsbedingung detektiert, so erfolgt eine Umschaltung von einem ersten Geschwindigkeitsprofil, mit dem eine vorgegebene Sollgeschwindigkeit in einer aktuellen Zone erreicht werden kann, auf ein zweites Geschwindigkeitsprofil, welches die zulässige Geschwindigkeit in einer nachfolgen Zone berücksichtigt und die Übergangsbedingungen einhält. Somit ist sichergestellt, dass eine vorgegebene Bahn jederzeit unter Einhaltung aller zulässigen Grenzwerte einer Maschine/Anlage mit maximal möglicher Geschwindigkeit abgefahren werden kann.The advantages of the method are achieved in particular by determining in advance a large number of transition conditions between individual zones of a limit speed profile, which are checked during the runtime in each interpolation step. If a violation of a transitional condition is detected, there is a switchover from a first speed profile with which a predetermined target speed in a can be reached in the current zone, to a second speed profile, which takes into account the permissible speed in a subsequent zone and complies with the transition conditions. This ensures that a specified path can always be traveled at the maximum possible speed while complying with all permissible limit values of a machine/system.

Das erfindungsgemäße Verfahren gliedert sich vorteilhaft in zwei Berechnungsteile, und zwar in einen vorab zu berechnenden Vorbereitungsteil, der nicht echtzeitfähig sein muss, und in einen zyklisch zur Laufzeit aufzurufenden Interpolationsteil, der vorteilhafterweise in Echtzeit abgearbeitet werden kann, d.h. jeder Schritt wird innerhalb eines deterministischen Zeitraums (während der Bewegung) ausgeführt.The method according to the invention is advantageously divided into two calculation parts, namely a preparation part to be calculated in advance, which does not have to be real-time capable, and an interpolation part to be called cyclically at runtime, which can advantageously be processed in real time, i.e. each step is completed within a deterministic time period (while moving).

Der Vorbereitungsteil dient zur Erzeugung eines Grenzgeschwindigkeitsprofils entlang einer vorgegebenen Bahn, auf dessen Grundlage im nachfolgenden Interpolationsteil die aktuelle Geschwindigkeit und Beschleunigung auf der Bahn ermittelt wird.The preparation part is used to generate a limit speed profile along a specified path, on the basis of which the current speed and acceleration on the path are determined in the subsequent interpolation part.

Zu Beginn des Vorbereitungsteils sind üblicherweise die Start- und Zielposition einer Bahn bereits festgelegt. Ebenso ist die Bahndynamik, mit der entlang der vorgegebenen Bahn gefahren werden darf, bereits bekannt. Die Bahn wird für gewöhnlich segmentiert, um sicherzustellen, dass die Dynamik der einzelnen Achsen einer Maschine/Anlage möglichst gut ausgenutzt und nicht überschritten wird. Für jedes dieser Bahnsegmente werden üblicherweise konstante Grenzwerte für Geschwindigkeit, Beschleunigung, Verzögerung und Ruck (jeweils getrennt für Beschleunigung und Verzögerung) basierend auf den Eigenschaften der Maschine/Anlage bzw. allgemein des Prozesses festgelegt. Diese segmentweise ermittelten Grenzwerte sind jedoch nur innerhalb der jeweiligen Bahnsegmente gültig und können zu Grenzwertüberschreitungen führen, wenn mehrere aufeinanderfolgende Bahnsegmente abgefahren werden.At the beginning of the preparatory part, the start and finish positions of a lane are usually already set. The path dynamics that can be used to drive along the specified path are also already known. The path is usually segmented to ensure that the dynamics of the individual axes of a machine/system are used as well as possible and not exceeded. Constant limit values for speed, acceleration, deceleration and jerk (each separately for acceleration and deceleration) are usually specified for each of these path segments based on the properties of the machine/system or the process in general. However, these limit values, which are determined segment by segment, are only valid within the respective path segments and can lead to limit value violations if several consecutive path segments are traveled.

Daher wird im Vorbereitungsteil des Verfahrens, basierend auf den segmentweise ermittelten konstanten Grenzwerten für die einzelnen Bahnsegmente, ein Grenzgeschwindigkeitsprofil für mehrere aufeinanderfolgende Bahnsegmente einer vorgegebenen Bahn erzeugt. Dieses Grenzgeschwindigkeitsprofil wird nachfolgend in Zonen aufgeteilt, die jeweils durch einen konstanten Grenzwert für Geschwindigkeit, Beschleunigung oder Ruck gekennzeichnet sind. Mit anderen Worten wird ein Grenzgeschwindigkeitsprofil erzeugt, das für mehrere aufeinanderfolgende Bahnsegmente gültig ist und Bereiche mit konstanten Grenzwerten für Geschwindigkeit, Beschleunigung oder Ruck enthält, welche die einzelnen Zonen des Geschwindigkeitsprofils darstellen.Therefore, in the preparatory part of the method, based on the segmentally determined constant limit values for the individual path segments, a limit speed profile is generated for several consecutive path segments of a given path. This limit speed profile is then divided into zones, each of which is characterized by a constant limit value for speed, acceleration or jerk. In other words, a limit speed profile is generated that is valid for several consecutive path segments and contains areas with constant limit values for speed, acceleration or jerk, which represent the individual zones of the speed profile.

Das Grenzgeschwindigkeitsprofil enthält vorzugsweise eine oder mehrere Zonen, die eine konstante Geschwindigkeit als Grenzwert aufweisen, und/oder eine oder mehrere Zonen, die einen konstanten negativen Ruck zum Aufbau einer Verzögerung (negativer Beschleunigung) als Grenzwert aufweisen, und/oder eine oder mehrere Zonen, die eine konstante Verzögerung als Grenzwert aufweisen, und/oder eine oder mehrerer Zonen, die einen konstanten positiven Ruck zum Abbau einer Verzögerung als Grenzwert aufweisen. Die Zonen werden derart berechnet, dass jeweils die für den Abschnitt charakteristische Größe Ruck, Verzögerung oder Geschwindigkeit ihren maximal zulässigen Grenzwert erreicht.The limit speed profile preferably contains one or more zones which have a constant speed as a limit and/or one or more zones which have a constant negative jerk for building up a deceleration (negative acceleration) as a limit and/or one or more zones that have constant deceleration as a limit, and/or one or more zones that have a constant positive jerk to reduce deceleration as a limit. The zones are calculated in such a way that the variable jerk, deceleration or speed characteristic of the section reaches its maximum permissible limit value.

Zudem umfasst der Vorbereitungsteil des Verfahrens ein Ermitteln einer Vielzahl von Übergangsbedingungen an einem Übergang von einer ersten Zone auf eine zweite Zone basierend auf einem Grenzwert der zweiten Zone. Unter einer ersten und zweiten Zone sollen zwei beliebige, aufeinander folgende Zonen verstanden werden.In addition, the preparation part of the method includes determining a plurality of transition conditions at a transition from a first zone to a second zone based on a limit value of the second zone. A first and second zone should be understood to mean any two zones that follow one another.

Jede Übergangsbedingung kann ein Wertepaar aus Geschwindigkeit und Beschleunigung sein. Dies bedeutet, dass die Übergangsbedingungen definieren, mit welcher Beschleunigung in Abhängigkeit von der Geschwindigkeit eine Zone zur Laufzeit verlassen werden darf, ohne dass in den nachfolgenden Zonen die Gefahr besteht, deren Grenzgeschwindigkeitsprofil zu verletzten. Darüber hinaus definieren die Übergangsbedingungen die maximale Verzögerung in Abhängigkeit von der Geschwindigkeit, mit der eine Zone verlassen werden darf, ohne das die Geschwindigkeit in den nachfolgenden Zonen die Nulllinie verletzt, da dies eine Richtungsumkehr auf der Bahn zu Folge hätte.Each transition condition can be a pair of velocity and acceleration values. This means that the transition conditions define the acceleration with which, depending on the speed, a zone may be left at runtime without the risk of violating the limit speed profile in the subsequent zones. In addition, the transition conditions define the maximum deceleration depending on the speed with which a zone may be left without the speed in the following zones violating the zero line, as this would result in a change of direction on the track.

Der Interpolationsteil des Verfahrens beinhaltet eine eindimensionale Interpolation entlang der vorgegebenen Bahn, welche die Grundlage für eine nachfolgende n-dimensionalen Geometrieberechnung der einzelnen Achsen einer Maschine/Anlage bildet. Der Interpolationsteil wird zyklisch in einem festen Takt (Interpolationstakt) aufgerufen und berechnet für jeden Takt einen aktuell interpolierten Bahnweg einschließlich der aktuellen Geschwindigkeit, der aktuellen Beschleunigung und des aktuellen Rucks.The interpolation part of the method includes a one-dimensional interpolation along the specified path, which forms the basis for a subsequent n-dimensional geometry calculation of the individual axes of a machine/plant. The interpolation part is called cyclically in a fixed cycle (interpolation cycle) and calculates a currently interpolated path including the current speed, the current acceleration and the current jerk for each cycle.

Zu Beginn der ersten Zone wird ein erstes Geschwindigkeitsprofil für die erste Zone zum Erreichen einer vorbestimmten Sollgeschwindigkeit berechnet/initialisiert. Bei der vorbestimmten Sollgeschwindigkeit kann es sich insbesondere um eine von außen (z.B. durch einen Maschinenbediener) vorgegebene bzw. überschriebene Sollgeschwindigkeit handeln. Vorzugsweise erfolgt die Berechnung des ersten Geschwindigkeitsprofils anhand des (üblichen) bekannten ruckbegrenzten Siebenphasenprofils, das ein Erreichen der vorbestimmten Sollgeschwindigkeit unter Einhaltung der Grenzwerte für maximale Geschwindigkeit, Beschleunigung und Ruck in minimaler Zeit ermöglicht.At the beginning of the first zone, a first speed profile for the first zone is calculated/initialized in order to reach a predetermined target speed. The predetermined setpoint speed can be, in particular, a act externally (e.g. by a machine operator) specified or overwritten setpoint speed. The first speed profile is preferably calculated using the (usual) known jerk-limited seven-phase profile, which makes it possible to reach the predetermined target speed while maintaining the limit values for maximum speed, acceleration and jerk in a minimum of time.

Das Siebenphasenprofil besteht aus insgesamt 7 Phasen, mit denen sich jede Punkt-zu-Punkt Bewegung mit jeweils Stillstand am Anfang und Ende darstellen lässt. Die einzelnen Phasen weisen die nachfolgend aufgelisteten Eigenschaften auf:

  • - Phase 1: Positiver konstanter Ruck zum Aufbau der Beschleunigung
  • - Phase 2: Positive konstante Beschleunigung zum Beschleunigen
  • - Phase 3: Negativer konstanter Ruck zum Abbau der Beschleunigung bis zum Erreichen einer konstanten Geschwindigkeit
  • - Phase 4: Konstante Geschwindigkeit
  • - Phase 5: Negativer konstanter Ruck zum Ausbau einer Verzögerung (negativen Beschleunigung),
  • - Phase 6: Konstante Verzögerung zum Abbremsen,
  • - Phase 7: Konstanter positiver Ruck zum Abbau der Verzögerung.
The seven-phase profile consists of a total of 7 phases, with which each point-to-point movement can be represented with standstill at the beginning and end. The individual phases have the properties listed below:
  • - Phase 1: Positive constant jerk to build up acceleration
  • - Phase 2: Positive constant acceleration to accelerate
  • - Phase 3: Negative constant jerk to reduce acceleration until a constant speed is reached
  • - Phase 4: constant speed
  • - Phase 5: Negative constant jerk to increase deceleration (negative acceleration),
  • - Phase 6: Constant deceleration to slow down,
  • - Phase 7: Constant positive jerk to reduce deceleration.

Jedes der berechneten Teilprofile setzt sich aus einer individuellen Folge dieser Phasen zusammen, wobei Phasen gleichen Typs durchaus mehrfach innerhalb eines Teilprofils auftreten können (z. B. eine Teilfolge in der Reihenfolge Phase 5 → Phase 6 → Phase 5 oder Phase 7 →Phase6 → Phase7). Das Siebenphasenprofil kann erweitert werden, indem zusätzlich die Ableitung des Rucks (im Englischen als „snap“ bezeichnet) berücksichtigt wird. Dadurch entsteht beispielsweise ein Modell mit dreizehn Phasen, indem jeweils zwischen zwei Phasen des Siebenphasenprofils noch eine weitere Phase zum Ruckaufbau und -abbau eingeschoben wird.Each of the calculated partial profiles consists of an individual sequence of these phases, whereby phases of the same type can occur several times within a partial profile (e.g. a partial sequence in the order phase 5 → phase 6 → phase 5 or phase 7 → phase6 → phase7 ). The seven-phase profile can be extended by additionally considering the derivative of the jerk (referred to as “snap” in English). This creates a model with thirteen phases, for example, in that a further phase for jerk build-up and reduction is inserted between two phases of the seven-phase profile.

Alternativ oder zusätzlich können die einzelnen Phasen durch andere mathematische Modelle beschrieben werden, d.h. es können andere mathematische Beschreibungen der Bewegungsgleichungen, beispielsweise basierend auf einem sinusförmigen Verlauf, gewählt werden.Alternatively or additionally, the individual phases can be described by other mathematical models, i.e. other mathematical descriptions of the equations of motion can be selected, for example based on a sinusoidal curve.

Das erste Geschwindigkeitsprofil umfasst den analytischen Zusammenhang zwischen Weg, Geschwindigkeit, Beschleunigung und Ruck und weist eine Vielzahl vorbestimmter Interpolationspunkte zur Ermittlung eines aktuellen Bahnwegs auf, d.h. in jedem Interpolationstakt werden auf Basis des Verlaufs des ersten Geschwindigkeitsprofils aktuelle Soll-Werte für Weg, Geschwindigkeit, Beschleunigung und Ruck ermittelt. Dabei werden neben den konstanten Grenzwerten für Geschwindigkeit, Beschleunigung und Ruck das Grenzgeschwindigkeitsprofil sowie die aktuell gültigen Übergangsbedingungen von der ersten Zone in die zweite Zone berücksichtigt. Die Taktzeit des Interpolationstakts beträgt vorzugsweise 1 ms.The first speed profile includes the analytical relationship between distance, speed, acceleration and jerk and has a large number of predetermined interpolation points for determining a current path, i.e. current target values for distance, speed and acceleration are calculated in each interpolation cycle based on the course of the first speed profile and jerk determined. In addition to the constant limit values for speed, acceleration and jerk, the limit speed profile and the currently valid transition conditions from the first zone to the second zone are taken into account. The cycle time of the interpolation cycle is preferably 1 ms.

Wenn das erste Geschwindigkeitsprofil eine der Vielzahl von Übergangsbedingungen verletzt, erfolgt an jedem Interpolationspunkt des ersten Geschwindigkeitsprofils ein Berechnen eines zweiten Geschwindigkeitsprofils für den Übergang von der ersten Zone in die zweite Zone, wobei das zweite Geschwindigkeitsprofil jeweils abhängig von einer ermittelten Geschwindigkeit in einem Interpolationspunkt und einer zugehörigen Übergangsbedingung berechnet wird. Mit anderen Worten wird in jedem Interpolationstakt die aktuelle Geschwindigkeit basierend auf dem Verlauf des ersten Geschwindigkeitsprofils ermittelt und, ausgehend von dieser Geschwindigkeit, der Verlauf des zweiten Geschwindigkeitsprofils derart berechnet, dass die für die aktuelle Geschwindigkeit gültige Übergangsbedingung so weit wie möglich eingehalten wird. Somit liegt in jedem Interpolationstakt neben dem ersten Geschwindigkeitsprofil ein weiteres zweites Geschwindigkeitsprofil vor, das sich von Takt zu Takt ändert, und einen aktuellen Geschwindigkeitsverlauf von der ersten Zone in die zweite Zone unter Berücksichtigung der Vielzahl von Übergangsbedingungen darstellt.If the first speed profile violates one of the plurality of transition conditions, a second speed profile is calculated at each interpolation point of the first speed profile for the transition from the first zone to the second zone, with the second speed profile depending on a determined speed in an interpolation point and a associated transition condition is calculated. In other words, the current speed is determined in each interpolation cycle based on the course of the first speed profile and, based on this speed, the course of the second speed profile is calculated in such a way that the transition condition applicable to the current speed is maintained as far as possible. Thus, in each interpolation cycle, in addition to the first speed profile, there is another second speed profile that changes from cycle to cycle and represents a current speed profile from the first zone to the second zone, taking into account the multitude of transition conditions.

Vorzugsweise erfolgt die Berechnung des zweiten Geschwindigkeitsprofils analog zu dem ersten Geschwindigkeitsprofil anhand des Siebenphasenprofils bzw. der vorab beschriebenen Alternativen dazu. Es ist ebenso möglich, dass das zweite Geschwindigkeitsprofil immer berechnet wird, d. h. auch wenn das erste Geschwindigkeitsprofil keine der Übergangsbedingungen verletzt.Preferably, the second speed profile is calculated analogously to the first speed profile using the seven-phase profile or the alternatives described above. It is also possible that the second speed profile is always calculated, i. H. even if the first velocity profile does not violate any of the transition conditions.

Das erste und/oder das zweite Geschwindigkeitsprofil sind vorzugsweise ausgewählt aus einer Menge, welche enthält: Geschwindigkeitsprofil zum Erreichen einer Sollgeschwindigkeit, Geschwindigkeitsprofil zum Erreichen einer Übergangsbedingung, Geschwindigkeitsprofil entlang des Grenzgeschwindigkeitsprofils und Geschwindigkeitsprofil zum Erreichen eines lokalen Geschwindigkeitsminimums oder des Stillstands.The first and/or the second speed profile are preferably selected from a set that contains: speed profile for reaching a target speed, speed profile for reaching a transition condition, speed profile along the limit speed profile and speed profile for reaching a local speed minimum or standstill.

Ein Wechsel von dem ersten Geschwindigkeitsprofil auf das zweite Geschwindigkeitsprofil erfolgt jedoch erst, wenn das zweite Geschwindigkeitsprofil, das an einem aktuellen Interpolationspunkt berechnet wurde, eine der Vielzahl von Übergangsbedingungen verletzt. In diesem Fall wird von dem ersten Geschwindigkeitsprofil auf ein neues Geschwindigkeitsprofil gewechselt, welches auf dem zweiten Geschwindigkeitsprofil basiert, das an einem direkt vorangegangenen Interpolationspunkt berechnet wurde. Mit anderen Worten wird ein Objekt so lange basierend auf dem ersten Geschwindigkeitsprofil verfahren, bis beim Übergang von der ersten Zone in die zweite Zone eine Übergangsbedingung verletzt würde.However, a change from the first speed profile to the second speed profile only takes place when the second speed profile, which is based on a current interpolation point has been calculated, one of a variety of transition conditions is violated. In this case, there is a change from the first speed profile to a new speed profile which is based on the second speed profile which was calculated at a directly preceding interpolation point. In other words, an object is moved on the basis of the first speed profile until a transition condition is violated during the transition from the first zone to the second zone.

Dies bedeutet, dass die maximale Geschwindigkeit so lange wie möglich aufrechterhalten und beim Zonenübergang nur so weit wie nötig reduziert wird. Das am vorangegangenen Interpolationspunkt ermittelte, zweite Geschwindigkeitsprofil entspricht dabei aufgrund der kurzen Taktzeit bereits weitgehend dem erreichbaren Geschwindigkeitsoptimum unter Einhaltung der Übergangsbedingungen. Das zweite Geschwindigkeitsprofil kann neben dem beschriebenen Übergangsgeschwindigkeitsprofil von einer ersten in eine zweite Zone auch ein Geschwindigkeitsprofil entlang dem Grenzgeschwindigkeitsprofil und/oder ein Geschwindigkeitsprofil zu einem lokalen Geschwindigkeitsminimum bzw. zum Stillstand sein.This means that the maximum speed is maintained for as long as possible and only reduced as much as necessary at the zone transition. Due to the short cycle time, the second speed profile determined at the preceding interpolation point already largely corresponds to the achievable optimum speed while complying with the transition conditions. In addition to the described transition speed profile from a first to a second zone, the second speed profile can also be a speed profile along the limit speed profile and/or a speed profile to a local speed minimum or to a standstill.

Zur Ermittlung des aktuellen Bahnwegs nach dem Wechsel von dem ersten auf das zweite Geschwindigkeitsprofil werden Interpolationspunkte entlang des zweiten Geschwindigkeitsprofils festgelegt, an denen dann bis zum Erreichen des Übergangs von der ersten in die zweite Zone die aktuellen Werte für Weg, Geschwindigkeit, Beschleunigung und Ruck ermittelt werden.To determine the current path after the change from the first to the second speed profile, interpolation points are defined along the second speed profile, at which the current values for path, speed, acceleration and jerk are then determined until the transition from the first to the second zone is reached will.

Das erfindungsgemäße Verfahren erzeugt glatte, ruckbegrenzte und annähernd zeitoptimale Geschwindigkeitsprofile für Bahnsteuerungen ohne eine Filterung der Bewegungsgrößen Geschwindigkeit, Beschleunigung und/oder Ruck vorzunehmen. Durch die einmal ermittelten Übergangsbedingungen und den Entfall einer komplett neuen Vorausberechnung ergibt sich nur ein geringer Rechenmehraufwand im Falle von Änderungen zur Laufzeit, der durch die zonenbasierte Berechnung der Bewegungsgrößen nochmals reduziert wird. Diese ermöglicht eine gekapselte Betrachtung von Bewegungssegmenten zur Laufzeit und vermeidet aufwändige iterative Rechenschritte.The method according to the invention generates smooth, jerk-limited and approximately time-optimal speed profiles for path controls without filtering the movement variables speed, acceleration and/or jerk. Due to the fact that the transition conditions are determined once and that a completely new precalculation is no longer necessary, there is only a small amount of additional computing effort in the event of changes at runtime, which is further reduced by the zone-based calculation of the movement variables. This enables an encapsulated view of motion segments at runtime and avoids time-consuming iterative calculation steps.

Bevorzugt werden an jedem Interpolationspunkt des ersten und zweiten Geschwindigkeitsprofils basierend auf dem ermittelten aktuellen Bahnweg aktuelle Sollwerte für die Positionen einzelner Achsen einer Maschine oder Anlage berechnet und an die betreffende Maschine oder Anlage gesendet. Mit anderen Worten wird der aktuelle Bahnweg auf die einzelnen Achsen einer Maschine oder Anlage transformiert, woraus die Sollwerte für die Positionen der einzelnen Achsen resultieren, welche dann an die entsprechenden Antriebe der Maschine/Anlage gesendet werden.Current target values for the positions of individual axes of a machine or system are preferably calculated at each interpolation point of the first and second speed profile based on the determined current path and sent to the relevant machine or system. In other words, the current path is transformed to the individual axes of a machine or system, which results in the target values for the positions of the individual axes, which are then sent to the corresponding drives of the machine/system.

Vorzugsweise wird das Grenzgeschwindigkeitsprofil mittels einer Vorwärtsberechnung und einer Rückwärtsberechnung von zulässigen Maximalgeschwindigkeiten für die mehreren Bahnsegmente erzeugt. Dadurch kann eine Folge von Bahnsegmenten bestimmt werden, entlang derer mit einer kontinuierlichen Maximalgeschwindigkeit verfahren werden kann. Zudem ist durch die Kombination einer Vorwärtsberechnung und einer Rückwärtsberechnung gewährleistet, dass die Geschwindigkeit am Ende einer Bahn sicher null erreicht.The limit speed profile is preferably generated by means of a forward calculation and a backward calculation of permissible maximum speeds for the plurality of path segments. As a result, a sequence of path segments can be determined along which a continuous maximum speed can be used. In addition, the combination of a forward calculation and a backward calculation ensures that the speed at the end of a path safely reaches zero.

Bevorzugt umfasst die Vorwärtsberechnung der zulässigen Maximalgeschwindigkeiten für die mehreren Bahnsegmente zunächst eine Prüfung, ob eine zulässige Maximalgeschwindigkeit eines zweiten Bahnsegments eingehalten wird, wenn ein Übergang von einem ersten Bahnsegment auf das zweite Bahnsegment mit einer zulässigen Maximalgeschwindigkeit des ersten Bahnsegments angefahren wird. Unter einem ersten und zweiten Bahnsegment sollen zwei beliebige aufeinanderfolgende Bahnsegmente verstanden werden. Bei der zulässigen Maximalgeschwindigkeit des ersten und zweiten Bahnsegments handelt es sich bevorzugt um die vorab festgelegten konstanten Grenzwerte für die zulässige Geschwindigkeit in den einzelnen Bahnsegmenten, die die Grenzwerte der einzelnen Achsen der Maschine einhalten.The forward calculation of the permissible maximum speeds for the multiple path segments preferably firstly includes a check as to whether a permissible maximum speed of a second path segment is being observed when a transition from a first path segment to the second path segment is approached at a permissible maximum speed of the first path segment. A first and second path segment should be understood to mean any two consecutive path segments. The permissible maximum speed of the first and second path segment is preferably the predefined constant limit values for the permissible speed in the individual path segments, which comply with the limit values of the individual axes of the machine.

Wird die die zulässige Maximalgeschwindigkeit des zweiten Bahnsegments überschritten, erfolgt ein Absenken der Maximalgeschwindigkeit des ersten Bahnsegments an einem Beginn des zweiten Bahnsegments, d.h. beim Übergang von dem ersten auf das zweite Bahnsegment. Bevorzugt wird die Maximalgeschwindigkeit am Beginn des zweiten Bahnsegments soweit abgesenkt, dass der konstante Grenzwert für die zulässige Geschwindigkeit des zweiten Bahnsegments erreicht, aber nicht überschritten wird.If the permissible maximum speed of the second path segment is exceeded, the maximum speed of the first path segment is reduced at the beginning of the second path segment, i.e. at the transition from the first to the second path segment. The maximum speed at the start of the second path segment is preferably lowered to such an extent that the constant limit value for the permissible speed of the second path segment is reached but not exceeded.

Vorzugsweise wird nachfolgend eine Minimalgeschwindigkeit an einem Ende des zweiten Bahnsegments ausgehend von der Maximalgeschwindigkeit am Beginn des zweiten Bahnsegments ermittelt. Erfolgte ein Absenken der Maximalgeschwindigkeit am Beginn des zweiten Bahnsegments, so wird die Minimalgeschwindigkeit am Ende des zweiten Bahnsegments ausgehend von der abgesenkten Maximalgeschwindigkeit ermittelt, ansonsten wird die ursprünglich vorliegende Maximalgeschwindigkeit verwendet.Preferably, a minimum speed at one end of the second path segment is then determined based on the maximum speed at the beginning of the second path segment. If the maximum speed was reduced at the start of the second path segment, the minimum speed at the end of the second path segment is determined on the basis of the reduced maximum speed, otherwise the maximum speed originally present is used.

Ist die Minimalgeschwindigkeit am Ende des zweiten Bahnsegments größer null, werden die vorstehenden Schritte in einem dritten Bahnsegment und nachfolgenden Bahnsegmenten wiederholt, bis die Minimalgeschwindigkeit an einem Ende eines Bahnsegments null erreicht. Dies bedeutet, dass ausgehend von der gegebenenfalls abgesenkten Maximalgeschwindigkeit des zweiten Bahnsegments am Übergang von dem zweiten Bahnsegment in ein weiteres, drittes Bahnsegment überprüft wird, ob die Maximalgeschwindigkeit des dritten Bahnsegments überschritten wird. Sofern dies der Fall ist, wird die Maximalgeschwindigkeit zu Beginn des dritten Bahnsegments erneut abgesenkt, bevorzugt bis der konstante Grenzwert für die zulässige Geschwindigkeit des dritten Bahnsegments erreicht, aber nicht überschritten wird. Ausgehend von dieser abgesenkten Maximalgeschwindigkeit wird dann die erreichbare Minimalgeschwindigkeit am Ende des dritten Bahnsegments ermittelt. Kann am Ende des dritten Bahnsegments eine Geschwindigkeit von null erreicht werden, so ist die Vorwärtsberechnung abgeschlossen, ansonsten werden die beschriebenen Schritte in einem weiteren Bahnsegment wiederholt, bis am Ende eines Bahnsegments die ermittelte Minimalgeschwindigkeit null beträgt oder das Ende der Bahn erreicht wird, an dem die Geschwindigkeit zwangsläufig auf null gesetzt ist.If the minimum speed at the end of the second path segment is greater than zero, the above steps are repeated in a third path segment and subsequent path segments until the minimum speed at an end of a path segment reaches zero. This means that based on the possibly reduced maximum speed of the second path segment at the transition from the second path segment into a further, third path segment, a check is made as to whether the maximum speed of the third path segment is being exceeded. If this is the case, the maximum speed is lowered again at the beginning of the third path segment, preferably until the constant limit value for the permissible speed of the third path segment is reached but not exceeded. Based on this reduced maximum speed, the minimum speed that can be achieved at the end of the third path segment is then determined. If a speed of zero can be reached at the end of the third path segment, the forward calculation is complete, otherwise the steps described are repeated in a further path segment until the determined minimum speed is zero at the end of a path segment or the end of the path is reached at which the speed is forced to zero.

Vorzugsweise umfasst die Vorwärtsberechnung zusätzlich eine Prüfung, ob eine zulässige Maximalbeschleunigung des zweiten Bahnsegments eingehalten wird, wenn ein Übergang von dem ersten Bahnsegment auf das zweite Bahnsegment mit einer zulässigen Maximalbeschleunigung des ersten Bahnsegments angefahren wird. Wird die zulässige Maximalbeschleunigung des zweiten Bahnsegments überschritten, erfolgt ein Absenken der Maximalbeschleunigung des ersten Bahnsegments am Beginn des zweiten Bahnsegments, d.h. beim Übergang von dem ersten auf das zweite Bahnsegment. Bevorzugt wird die Maximalbeschleunigung am Beginn des zweiten Bahnsegments soweit abgesenkt, dass der konstante Grenzwert für die zulässige Beschleunigung des zweiten Bahnsegments erreicht, aber nicht überschritten wird.The forward calculation preferably also includes a check as to whether a permissible maximum acceleration of the second path segment is maintained when a transition from the first path segment to the second path segment is approached with a permissible maximum acceleration of the first path segment. If the permissible maximum acceleration of the second path segment is exceeded, the maximum acceleration of the first path segment is reduced at the beginning of the second path segment, i.e. at the transition from the first to the second path segment. The maximum acceleration at the start of the second path segment is preferably lowered to such an extent that the constant limit value for the permissible acceleration of the second path segment is reached but not exceeded.

Vorzugsweise wird nachfolgend die Minimalgeschwindigkeit am Ende des zweiten Bahnsegments ausgehend von der Maximalgeschwindigkeit und der Maximalbeschleunigung am Beginn des zweiten Bahnsegments ermittelt. Erfolgte ein Absenken der Maximalgeschwindigkeit und/oder der Maximalbeschleunigung am Beginn des zweiten Bahnsegments, so wird die Minimalgeschwindigkeit am Ende des zweiten Bahnsegments ausgehend von der abgesenkten Maximalgeschwindigkeit und/oder der abgesenkten Maximalbeschleunigung ermittelt, ansonsten wird die ursprünglich vorliegende Maximalgeschwindigkeit und oder Maximalbeschleunigung verwendet.The minimum speed at the end of the second path segment is then preferably determined on the basis of the maximum speed and the maximum acceleration at the start of the second path segment. If the maximum speed and/or the maximum acceleration was reduced at the start of the second path segment, the minimum speed at the end of the second path segment is determined on the basis of the reduced maximum speed and/or the reduced maximum acceleration, otherwise the maximum speed and/or maximum acceleration originally present is used.

Diese Schritte werden in einem dritten Bahnsegment und gegebenenfalls in weiteren folgenden Bahnsegmenten wiederholt, wenn die Minimalgeschwindigkeit am Ende des zweiten Bahnsegments größer null ist. Die Vorwärtsberechnung ist abgeschlossen, wenn die Geschwindigkeit am Ende eines Bahnsegments null erreicht.These steps are repeated in a third path segment and possibly in further following path segments if the minimum speed at the end of the second path segment is greater than zero. The forward calculation is complete when the velocity reaches zero at the end of a path segment.

Bevorzugt umfasst die Rückwärtsberechnung der zulässigen Maximalgeschwindigkeiten für die mehreren Bahnsegmente zunächst eine Ermittlung eines Bahnsegments, an dessen Beginn die Maximalgeschwindigkeit während der Vorwärtsberechnung zum letzten Mal abgesenkt wurde. Erfolgten während der Vorwärtsberechnung eine oder mehrere Absenkungen der Maximalgeschwindigkeit am Beginn eines Bahnsegments, so beginnt die Rückwärtsberechnung am Beginn des letzten, während der Vorwärtsberechnung gefundenen Bahnsegments mit einer Geschwindigkeitsabsenkung.The backward calculation of the permissible maximum speeds for the plurality of path segments preferably firstly includes a determination of a path segment at the start of which the maximum speed was last reduced during the forward calculation. If one or more reductions in the maximum speed at the beginning of a path segment occurred during the forward calculation, the backward calculation begins with a speed reduction at the beginning of the last path segment found during the forward calculation.

Die Berechnung neuer zulässiger Maximalgeschwindigkeiten für alle dem ermittelten Bahnsegment vorangegangenen Bahnsegmente (bis zurück zum Beginn des ersten Bahnsegments) erfolgt dann ausgehend von der abgesenkten Maximalgeschwindigkeit am Beginn des ermittelten Bahnsegments. Bevorzugt wird die Beschleunigung zu Beginn der Rückwärtsberechnung auf null gesetzt und während der Rückwärtsberechnung werden die konstanten Grenzwerte der einzelnen Bahnsegmente für Geschwindigkeit, Beschleunigung und Ruck berücksichtigt.The new permissible maximum speeds for all path segments preceding the determined path segment (back to the start of the first path segment) are then calculated on the basis of the lowered maximum speed at the start of the determined path segment. The acceleration is preferably set to zero at the beginning of the backward calculation and the constant limit values of the individual path segments for speed, acceleration and jerk are taken into account during the backward calculation.

Wenn es während der Vorwärtsberechnung mindestens zu einer Geschwindigkeitsabsenkung kam, ergibt sich in der Rückwärtsberechnung für das Ende des ersten Bahnsegments eine Maximalgeschwindigkeit, die kleiner ist als die ursprünglich zu Beginn der Vorwärtsrechnung angenommene Maximalgeschwindigkeit.If there was at least one drop in speed during the forward calculation, the backward calculation for the end of the first path segment results in a maximum speed that is lower than the maximum speed originally assumed at the beginning of the forward calculation.

Sind die neu berechneten zulässigen Maximalgeschwindigkeiten für die einzelnen Bahnsegmente mittels der Rückwärtsberechnung bestimmt, kann daraus das Grenzgeschwindigkeitsprofil erzeugt werden. Das Grenzgeschwindigkeitsprofil kann nachfolgend in die vorne beschriebenen Zonen konstanter zulässiger Geschwindigkeit, konstanter zulässiger Beschleunigung oder konstanten zulässigen Rucks aufgeteilt werden, woraufhin die Übergangsbedingungen an den Zonenübergängen ermittelt werden können. Mit anderen Worten wird mittels der Vorwärts- und Rückwärtsberechnung ein Grenzgeschwindigkeitsprofil erzeugt, das für mehrere aufeinanderfolgende Bahnsegmente gültig ist und Bereiche mit konstanten Grenzwerten für Geschwindigkeit, Beschleunigung oder Ruck enthält. Anhand dieser Bereiche erfolgt die Aufteilung des Grenzgeschwindigkeitsprofils in einzelne Zonen an deren Übergängen Zonenübergangsbedingungen eingehalten werden müssen, um das Grenzgeschwindigkeitsprofil in der nachfolgenden Zone nicht zu verletzen.If the newly calculated permissible maximum speeds for the individual path segments are determined by means of the backward calculation, the limit speed profile can be generated from this. The limit speed profile can subsequently be divided into the previously described zones of constant permissible speed, constant permissible acceleration or constant permissible jerk, whereupon the transition conditions at the zone transitions can be determined. In other words, a limit speed profile is generated by means of the forward and backward calculation, which is valid for several consecutive path segments and areas with constant limit values for contains velocity, acceleration or jerk. Based on these areas, the speed limit profile is divided into individual zones at the transitions of which zone transition conditions must be observed in order not to violate the speed limit profile in the subsequent zone.

Da ausgehend von der letzten Geschwindigkeitsabsenkung immer auf Stillstand abgebremst werden kann, haben alle etwaig noch folgenden weiteren Bahnsegmente keinen Einfluss mehr auf die davorliegenden Bahnsegmente und beeinflussen somit auch die Erzeugung des Grenzgeschwindigkeitsprofils nicht.Since it is always possible to decelerate to a standstill starting from the last speed reduction, any further path segments that may follow no longer have any influence on the preceding path segments and therefore also do not influence the generation of the limit speed profile.

Erfolgte während der Vorwärtsberechnung keine Absenkung der Maximalgeschwindigkeit an einem Beginn eines Bahnsegments, so kann die Rückwärtsberechnung entfallen.If the maximum speed at the beginning of a path segment is not reduced during the forward calculation, the backward calculation can be omitted.

Vorzugsweise umfasst die Vielzahl von Übergangsbedingungen Wertepaare für Geschwindigkeit und Beschleunigung, wobei die Wertepaare für Geschwindigkeit und Beschleunigung an dem Übergang von der ersten Zone in die zweite Zone derart gewählt werden, dass die Grenzwerte der zweiten Zone (und weiterer nachfolgender Zonen) nicht überschritten werden. Handelt es sich bei der zweiten Zone beispielsweise um eine Zone mit konstanter zulässiger Verzögerung, so ist ein Wertepaar bereits durch den Verlauf des Grenzgeschwindigkeitsprofils am Zonenübergang bestimmt, nämlich durch die maximal mögliche Geschwindigkeit am Zonenende mit der dort maximal möglichen Verzögerung (negativen Beschleunigung).The plurality of transition conditions preferably includes value pairs for speed and acceleration, the value pairs for speed and acceleration at the transition from the first zone to the second zone being selected in such a way that the limit values of the second zone (and further subsequent zones) are not exceeded. If, for example, the second zone is a zone with a constant permissible deceleration, then a pair of values is already determined by the course of the limit speed profile at the zone transition, namely by the maximum possible speed at the end of the zone with the maximum possible deceleration there (negative acceleration).

Vorzugsweise geben weitere Wertepaare an, bei welcher maximalen Geschwindigkeit die Zone mit maximal möglicher Beschleunigung verlassen werden darf und bei welcher maximalen Geschwindigkeit die Zone noch mit einem Beschleunigungswert von null verlassen werden darf. Um den Zusammenhang zwischen möglicher Geschwindigkeit und Beschleunigung am Zonenübergang möglichst genau zu beschreiben, kann es sinnvoll sein, weitere Wertepaare zu bestimmen. Für Werte, die nicht explizit während des Vorbereitungsteils ermittelt wurden, kann zur Laufzeit eine Bewertung mittels Zwischeninterpolation erfolgen.Further pairs of values preferably indicate at which maximum speed the zone may be left with the maximum possible acceleration and at which maximum speed the zone may still be left with an acceleration value of zero. In order to describe the connection between possible speed and acceleration at the zone transition as precisely as possible, it can be useful to determine further pairs of values. Values that were not explicitly determined during the preparatory part can be evaluated at runtime using intermediate interpolation.

Vorzugsweise wird das erste Geschwindigkeitsprofil in jedem Interpolationspunkt an die vorbestimmte Sollgeschwindigkeit und eine vorbestimmte Sollbeschleunigung angepasst. Mit anderen Worten kann sich der Verlauf des ersten Geschwindigkeitsprofils ändern, wenn in einem Interpolationspunkt eine Änderung der vorbestimmten Sollgeschwindigkeit festgestellt wird. Das angepasste erste Geschwindigkeitsprofil wird dabei bevorzugt an den innerhalb der aktuellen Zone noch zur Verfügung stehenden Weg angepasst.The first speed profile is preferably adapted to the predetermined target speed and a predetermined target acceleration in each interpolation point. In other words, the course of the first speed profile can change if a change in the predetermined setpoint speed is detected at an interpolation point. The adapted first speed profile is preferably adapted to the path that is still available within the current zone.

Eine erfindungsgemäße Recheneinheit, z.B. ein Steuergerät einer Produktionsmaschine oder -anlage, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.A computing unit according to the invention, e.g. a control unit of a production machine or system, is set up, in particular in terms of programming, to carry out a method according to the invention.

Auch die Implementierung eines erfindungsgemäßen Verfahrens in Form eines Computerprogramms oder Computerprogrammprodukts mit Programmcode zur Durchführung aller Verfahrensschritte ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich.The implementation of a method according to the invention in the form of a computer program or computer program product with program code for carrying out all method steps is advantageous because this causes particularly low costs, especially if an executing control unit is also used for other tasks and is therefore available anyway. Suitable data carriers for providing the computer program are, in particular, magnetic, optical and electrical memories, such as hard drives, flash memories, EEPROMs, DVDs, etc. It is also possible to download a program via computer networks (Internet, intranet, etc.).

Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.Further advantages and refinements of the invention result from the description and the attached drawing.

Es versteht sich, dass die vorstehend genannten und die nachfolgend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.It goes without saying that the features mentioned above and those still to be explained below can be used not only in the combination specified in each case, but also in other combinations or on their own, without departing from the scope of the present invention.

Die Erfindung ist anhand eines Ausführungsbeispiels in den Zeichnungen schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnungen ausführlich beschrieben.The invention is shown schematically in the drawings using an exemplary embodiment and is described in detail below with reference to the drawings.

Figurenlistecharacter list

  • 1 zeigt eine Ausführungsform der erfindungsgemäßen Recheneinheit, 1 shows an embodiment of the computing unit according to the invention,
  • 2 zeigt ein Beispiel für eine Vorwärtsberechnung zur Ermittlung eines Grenzgeschwindigkeitsprofils mit dem erfindungsgemäßen Verfahren, 2 shows an example of a forward calculation for determining a limit speed profile using the method according to the invention,
  • 3 zeigt ein Beispiel für eine Rückwärtsberechnung zur Ermittlung des Grenzgeschwindigkeitsprofils basierend auf der in 2 beschriebenen Vorwärtsberechnung, 3 shows an example of a backward calculation to determine the limit speed profile based on the in 2 described forward calculation,
  • 4 zeigt ein Beispiel für die Aufteilung des in 3 ermittelten Grenzgeschwindigkeitsprofil in die einzelnen Zonen, 4 shows an example of the division of the in 3 determined limit speed profile in the individual zones,
  • 5 zeigt ein Beispiel für verschiedene Übergangsbedingungen an einem Zonenübergang des Grenzgeschwindigkeitsprofils entsprechend dem erfindungsgemäßen Verfahren, 5 shows an example of different transition conditions at a zone transition the limit speed profile according to the method according to the invention,
  • 6 zeigt anhand eines Flussdiagramms ein Beispiel für die Berechnung eines aktuellen Bahnwegs entsprechend dem erfindungsgemäßen Verfahren, und 6 shows an example for the calculation of a current path according to the method according to the invention using a flowchart, and
  • 7 zeigt ein Beispiel für die Ermittlung eines zweiten Geschwindigkeitsprofils mit dem erfindungsgemäßen Verfahren. 7 shows an example for the determination of a second speed profile with the method according to the invention.

Detaillierte Beschreibung der ZeichnungDetailed description of the drawing

1 zeigt eine Ausführungsform einer erfindungsgemäßen Recheneinheit 10, die mehrere Subeinheiten 1, 2, 3 aufweist. 1 shows an embodiment of a computing unit 10 according to the invention, which has a plurality of sub-units 1, 2, 3.

In einer ersten Subeinheit 1 werden im Rahmen eines Vorbereitungsteils die nicht echtzeitfähigen Berechnungen zur Ermittlung eines Grenzgeschwindigkeitsprofils, von Übergangsbedingungen und eines ersten Geschwindigkeitsprofils durchgeführt. Die Aufteilung des Grenzgeschwindigkeitsprofils in einzelne Zonen mit jeweils konstanter zulässiger Geschwindigkeit, Beschleunigung oder Ruck erfolgt ebenfalls in der ersten Subeinheit 1.In a first sub-unit 1, the non-real-time calculations for determining a limit speed profile, transition conditions and a first speed profile are carried out as part of a preparatory part. The splitting of the limit speed profile into individual zones, each with a constant permissible speed, acceleration or jerk, also takes place in the first sub-unit 1.

Die ermittelten Größen werden an die zweite Subeinheit 2 gesendet, welche die Berechnungen zur Laufzeit vorzugsweise in einem festen Interpolationstakt, der beispielsweise 1 ms betragen kann, ausführt. Die zweite Subeinheit passt in jedem Interpolationstakt das erste Geschwindigkeitsprofil an eine von außen (z.B. durch einen Maschinenbediener) vorgegebene Sollgeschwindigkeit an und berechnet dann den aktuellen Bahnweg anhand des ersten Geschwindigkeitsprofils unter Berücksichtigung der Übergangsbedingungen und des Grenzgeschwindigkeitsprofils. Dazu berechnet die Subeinheit 2 in jedem Interpolationstakt ein zweites Geschwindigkeitsprofil, das einen zeitoptimalen Übergang von einer ersten Zone in eine zweite Zone des Grenzgeschwindigkeitsprofils ermöglicht. Die in der Subeinheit 2 ausgeführten Berechnungsschritte im Interpolationsteil des erfindungsgemäßen Verfahrens werden nachfolgend anhand von 6 genauer erläutert.The variables determined are sent to the second sub-unit 2, which carries out the calculations at runtime, preferably in a fixed interpolation cycle, which can be 1 ms, for example. In each interpolation cycle, the second sub-unit adjusts the first speed profile to an externally specified target speed (eg by a machine operator) and then calculates the current path using the first speed profile, taking into account the transition conditions and the limit speed profile. For this purpose, the sub-unit 2 calculates a second speed profile in each interpolation cycle, which allows a time-optimized transition from a first zone into a second zone of the limit speed profile. The calculation steps carried out in subunit 2 in the interpolation part of the method according to the invention are described below with reference to FIG 6 explained in more detail.

Die zweite Subeinheit 2 sendet den in jedem Interpolationstakt berechneten Bahnweg einschließlich der aktuellen Geschwindigkeit, der aktuellen Beschleunigung und des aktuellen Rucks an eine dritte Subeinheit 3, die daraus die Positionswerte für die einzelnen Achsen (insbesondere angetrieben durch Elektromotoren) einer Maschine/Anlage (nicht gezeigt) berechnet und diese Werte an eine Antriebssteuerung 4 der Maschine/Anlage sendet.The second sub-unit 2 sends the path calculated in each interpolation cycle, including the current speed, the current acceleration and the current jerk, to a third sub-unit 3, which calculates the position values for the individual axes (in particular driven by electric motors) of a machine/system (not shown). ) is calculated and these values are sent to a drive controller 4 of the machine/system.

2 zeigt ein Beispiel für eine Vorwärtsberechnung (Index v) zur Ermittlung eines Grenzgeschwindigkeitsprofils 1 mit einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens. Dabei ist ein Zusammenhang zwischen einer Geschwindigkeit auf der Ordinate und einer Zeit (die für eine gegebene Wegstrecke benötigt wird) auf der Abszisse aufgetragen. Ein Grenzgeschwindigkeitsprofil stellt die maximale Geschwindigkeit dar, mit der eine vorgegebene Bahn abgefahren werden kann, ohne dass die maschinen-/anlagenbedingten und technologischen Grenzwerte für Geschwindigkeit, Beschleunigung und/oder Ruck überschritten werden. Ausgehend vom Ende eines Bewegungssegments einer Bahn mit einem angenommenen Zeitpunkt tk,v wird eine Grenzgeschwindigkeitsprofil 1 ermittelt, welches die Maximalgeschwindigkeit darstellt, mit der unter Einbehaltung der segmentweisen ermittelten Grenzwerte für Geschwindigkeit, Beschleunigung und Ruck verfahren werden kann. Unter einem Bewegungssegment soll dabei eine Bewegung mit Geschwindigkeit, Beschleunigung und Ruck auf einem Bahnsegment verstanden werden. 2 shows an example of a forward calculation (index v) for determining a limit speed profile 1 with a preferred embodiment of the method according to the invention. A relationship between a speed on the ordinate and a time (which is required for a given distance) is plotted on the abscissa. A limit speed profile represents the maximum speed with which a specified path can be traversed without exceeding the machine/system-related and technological limit values for speed, acceleration and/or jerk. Starting from the end of a movement segment of a path with an assumed point in time t k,v , a limit speed profile 1 is determined, which represents the maximum speed that can be used while maintaining the limit values for speed, acceleration and jerk determined segment by segment. A movement segment should be understood to mean a movement with speed, acceleration and jerk on a path segment.

Das betrachtete Bewegungssegment soll mit einer vorgegebenen Geschwindigkeit Vk_soll verfahren werden. Diese Geschwindigkeit wurde zuvor so ermittelt, dass sie die oben genannten Grenzwerte für das betrachtete Bahnsegment einhält.The movement segment under consideration is to be moved at a specified speed V k_soll . This speed was previously determined in such a way that it adheres to the above limit values for the track segment under consideration.

Während der Vorwärtsberechnung wird geprüft, ob die nachfolgenden Bewegungssegmente, die zu den Zeitpunkten tk,v , tk+1,v bzw. tk+2v beginnen, es erlauben die Geschwindigkeit v(t) bis zum Stillstand abzubremsen, ohne dabei die ermittelten Grenzwerte dieser nachfolgenden Bahnsegmente zu verletzen. Im vorliegenden Beispiel kann die Geschwindigkeit v(t) in dem ersten nachfolgenden Bewegungssegment bis tk+1,v nicht auf Stillstand abgebremst werden, daher wird zunächst zum Zeitpunkt tk+1,v geprüft, ob die sich ergebende Geschwindigkeit am Übergang von dem aktuell betrachteten, ersten Bewegungssegment auf das nachfolgende, zweite Bewegungssegment zulässig ist. Zum Zeitpunkt tk+1,v sollte maximal die Geschwindigkeit vloc,min,1 herrschen, es kann aber unter Berücksichtigung der maximalen Werte für Verzögerung und Ruck nur auf die Geschwindigkeit vloc,1,v abgebremst werden. Daher muss die Geschwindigkeit v(tk+1) auf die Geschwindigkeit vloc,min,1 abgesenkt werden und der Übergang wird als „verletzt“ markiert. Bevorzugt wird zum Zeitpunkt tk+1,v ebenfalls geprüft, ob die Beschleunigung a an dem Übergang von dem ersten auf das zweite Bahnsegment zulässig ist, und diese bei Überschreitung ebenfalls abgesenkt.During the forward calculation, it is checked whether the following movement segments, which begin at the times t k,v , t k+1,v or t k+2v , allow the speed v(t) to be braked to a standstill without the to violate the determined limit values of these subsequent path segments. In the present example, the speed v(t) cannot be slowed down to a standstill in the first subsequent movement segment up to t k+1, v currently considered, first movement segment to the subsequent, second movement segment is permissible. At time t k+1,v , the maximum velocity v loc,min,1 should prevail, but taking into account the maximum values for deceleration and jerk, it can only be decelerated to velocity v loc,1,v . Therefore the speed v(t k+1 ) has to be lowered to the speed v loc,min , 1 and the transition is marked as “violated”. At time t k+1,v it is preferably also checked whether the acceleration a at the transition from the first to the second path segment is permissible, and if it is exceeded it is also reduced.

Da auch im zweiten Bewegungssegment die Geschwindigkeit v(t) nicht auf null abgesenkt werden kann, muss auch dort überprüft werden, ob die Geschwindigkeit v(tk+2) beim Übergang vom zweiten auf das dritte Bewegungssegment zu einer Überschreitung der zulässigen Geschwindigkeit v(t) im dritten Bahnsegment führt. Zum Zeitpunkt tk+2,v sollte maximal die Geschwindigkeit vloc,min,2 herrschen, es kann aber unter Berücksichtigung der maximalen Werte für Verzögerung und Ruck nur auf die Geschwindigkeit vloc,2,v abgebremst werden. Daher erfolgt zum Zeitpunkt tk+2,v eine weitere Geschwindigkeitsabsenkung auf die Geschwindigkeit vloc,min,2 und auch dieser Übergang wird als „verletzt“ markiert. Ausgehend von der Geschwindigkeit vloc,min,2 kann dann im dritten Bewegungssegment die Geschwindigkeit v(t) auf Stillstand abgebremst werden.Since the speed v(t) cannot be reduced to zero in the second movement segment either, it must also be checked there whether the speed v(t k+2 ) at the transition from the second to the third movement segment leads to an over exceeding the permissible speed v(t) in the third track segment. At time t k+2,v the maximum velocity v loc,min,2 should prevail, but taking into account the maximum values for deceleration and jerk it can only be decelerated to velocity v loc,2,v . Therefore, at time t k+2,v there is a further reduction in speed to speed v loc,min,2 and this transition is also marked as “violated”. Starting from the speed v loc,min,2 , the speed v(t) can then be braked to a standstill in the third movement segment.

Damit ist eine Folge von Bewegungssegmenten gefunden, an deren Ende die Geschwindigkeit auf null abgesenkt werden kann, und die Vorwärtsberechnung ist für den betrachteten Bewegungsabschnitt abgeschlossen. Sollte tk+2,v nicht das Bahnende sein, beginnt an der Stelle tk+2,v ein nächster Bewegungsabschnitt, d.h. an dieser Stelle startet die Vorwärtsberechnung für den nächsten Bewegungssegmente erneut.A sequence of movement segments has thus been found, at the end of which the speed can be reduced to zero, and the forward calculation is complete for the movement section under consideration. If t k+2,v is not the end of the path, a next movement section begins at point t k+2,v , ie the forward calculation for the next movement segment starts again at this point.

3 zeigt ein Beispiel für eine Rückwärtsberechnung (Index r) zur Ermittlung des Grenzgeschwindigkeitsprofils basierend auf der in 2 beschriebenen Vorwärtsberechnung. Die Berechnung beginnt an der Stelle tk+2,r. Diese entspricht dem letzten Übergang, der in der Vorwärtsberechnung als „verletzt“ markiert wurde. Die Rückwärtsberechnung startet mit der dort innerhalb der Vorwärtsberechnung ermittelten Grenzgeschwindigkeit vloc,min,2 und einem Beschleunigungswert von null und ermittelt anhand der zwischen tk+1,r und tk+2,r geltenden Grenzwerte für Geschwindigkeit, Beschleunigung und Ruck die maximal mögliche Geschwindigkeit zum Zeitpunkt tk+1,r zu vloc,1r. 3 shows an example of a backward calculation (index r) to determine the limit speed profile based on the in 2 described forward calculation. The calculation starts at the point t k+2,r . This corresponds to the last transition marked as "violated" in the forward calculation. The backward calculation starts with the limit speed v loc,min,2 determined there within the forward calculation and an acceleration value of zero and uses the limit values for speed, acceleration and jerk applicable between t k+1,r and t k+2,r to determine the maximum possible speed at time t k+1,r to v loc,1r .

Ausgehend von der maximal möglichen Geschwindigkeit vloc,1,r bei tk+1,r wird nachfolgend anhand der zwischen tk,r und tk+1,r geltenden Grenzwerte für Geschwindigkeit, Beschleunigung und Ruck die maximal mögliche Geschwindigkeit an der Stelle tk,r zu vend,max berechnet. Da es innerhalb des betrachteten Bereichs während der Vorwärtsberechnung zu zwei Geschwindigkeitsabsenkungen kam, ergibt sich in der Rückwärtsberechnung an der Stelle tk,r eine Grenzgeschwindigkeit vend,max die kleiner als die ursprünglich zu Beginn der Vorwärtsberechnung angenommene Geschwindigkeit vk_soll ist, sowie eine negative Beschleunigung.Based on the maximum possible speed v loc,1,r at t k+1,r , the maximum possible speed at the point is subsequently calculated using the limit values for speed, acceleration and jerk applicable between t k,r and t k+1,r t k,r to v end,max calculated. Since there were two speed reductions within the area under consideration during the forward calculation, the backward calculation at point t k,r results in a limit speed v end,max that is lower than the speed v k_soll originally assumed at the beginning of the forward calculation, and a negative one Acceleration.

Ausgehend von der maximal möglichen Geschwindigkeit vend,max bei tk,r und dieser negativen Beschleunigung wird nachfolgend anhand der geltenden Grenzwerte für Geschwindigkeit, Beschleunigung und Ruck für das ausgangs betrachtete Bahnsegment das Geschwindigkeitsprofil zum Erreichen von vk,soll,r berechnet.Based on the maximum possible speed v end,max at t k,r and this negative acceleration, the speed profile for reaching v k,soll,r is then calculated using the applicable limit values for speed, acceleration and jerk for the path segment considered at the beginning.

Das Grenzgeschwindigkeitsprofil 1 für die betrachteten Bewegungssegmente ist damit gefunden. Da ausgehend von der letzten Geschwindigkeitsabsenkung auf die Geschwindigkeit vloc, min,2 in der Vorwärtsberechnung immer auf einen Stillstand abgebremst werden kann und da diese Geschwindigkeit auch nicht überschritten werden darf, haben alle etwaig noch folgenden weiteren Bewegungssegmente keinen weiteren Einfluss mehr auf die betrachteten Bewegungssegmente.The limit speed profile 1 for the movement segments under consideration is thus found. Since, starting from the last speed reduction to the speed v loc , min,2, in the forward calculation it is always possible to decelerate to a standstill and since this speed must not be exceeded, any further movement segments that may follow no longer have any further influence on the movement segments considered .

4 zeigt ein Beispiel für die Aufteilung des in 3 ermittelten Grenzgeschwindigkeitsprofil 1 in einzelne Zonen 1a-1g. Die Aufteilung erfolgt dabei derart, dass jede Zone 1a-1g exakt einem Abschnitt des ermittelten Grenzgeschwindigkeitsprofils 1 mit einem konstanten Grenzwert entspricht. Dabei setzt sich das dargestellte Grenzgeschwindigkeitsprofil 1 aus einer Zone mit konstanter Geschwindigkeit 1a, Zonen mit konstantem negativen Ruck 1b, 1c zum Aufbau einer Verzögerung (negative Beschleunigung), Zonen mit konstanter Verzögerung 1d und 1f und Zonen mit konstantem positiven Ruck 1e, 1g zum Abbau einer Verzögerung zusammen. Die Zonen 1a-1g werden derart gebildet, dass jeweils die für den Abschnitt charakteristische Größe Ruck, Verzögerung oder Geschwindigkeit ihren maximal zulässigen Grenzwert erreicht. 4 shows an example of the division of the in 3 determined limit speed profile 1 in individual zones 1a-1g. The division takes place in such a way that each zone 1a-1g corresponds exactly to a section of the determined limit speed profile 1 with a constant limit value. The illustrated limit speed profile 1 consists of a zone with constant speed 1a, zones with constant negative jerk 1b, 1c to build up a deceleration (negative acceleration), zones with constant deceleration 1d and 1f and zones with constant positive jerk 1e, 1g to reduce it a delay together. The zones 1a-1g are formed in such a way that the variable jerk, deceleration or speed characteristic of the section reaches its maximum permissible limit value.

5 zeigt ein Beispiel für verschiedene Übergangsbedingungen an einem Zonenübergang tz eines beliebigen Abschnitts des Grenzgeschwindigkeitsprofils 1 entsprechend einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens. Die Übergangsbedingungen definieren insbesondere, mit welcher Beschleunigung a = alim in Abhängigkeit von der Geschwindigkeit eine Zone zur Laufzeit verlassen werden darf, ohne dass in den nachfolgenden Zonen die Gefahr besteht, deren Grenzwert gemäß dem Grenzgeschwindigkeitsprofil 1 zu verletzten. Des Weiteren sind in 5 Wertepaare für Geschwindigkeit und Beschleunigung dargestellt, die angeben, bei welcher maximalen Geschwindigkeit man die Zone noch mit Beschleunigungswert a = 0 verlassen darf und bei welcher maximalen Geschwindigkeit man die Zone mit einer maximal möglichen Beschleunigung a = amax verlassen darf. Die weiteren dargestellten Wertepaare ermöglichen es, den Zusammenhang zwischen zulässiger Geschwindigkeit und Beschleunigung am Zonenübergang tz noch genauer zu beschreiben. Je mehr Übergangsbedingungen an einem Zonenübergang tz vorliegen, desto optimaler kann das entsprechende Geschwindigkeitsprofil berechnet werden. 5 shows an example of different transition conditions at a zone transition t z of any section of the limit speed profile 1 according to a preferred embodiment of the method according to the invention. In particular, the transition conditions define with which acceleration a = a lim depending on the speed a zone may be left at runtime without the risk of violating the limit value according to limit speed profile 1 in the following zones. Furthermore, in 5 Pairs of values for speed and acceleration are shown, which indicate the maximum speed at which the zone can still be left with an acceleration value a = 0 and the maximum speed at which the zone can be left with a maximum possible acceleration a = a max . The other pairs of values shown make it possible to describe the relationship between permissible speed and acceleration at the zone transition t z in even greater detail. The more transition conditions present at a zone transition t z , the more optimally the corresponding speed profile can be calculated.

6 zeigt anhand eines Flussdiagramms ein Beispiel für die Berechnung eines aktuellen Bahnwegs im Interpolationsteil einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens. Zum Start der Berechnung liegt bereits ein Grenzgeschwindigkeitsprofil für mehrere Bahnsegmente einer vorgegebenen Bahn vor, welches in Zonen aufgeteilt ist, die jeweils konstante Grenzwerte für Geschwindigkeit, Beschleunigung oder Ruck aufweisen. Ebenso liegen Übergangsbedingungen vor, die an einem Übergang von einer Zone auf eine nachfolgende Zone eingehalten werden müssen, um den Grenzwert der nachfolgenden Zone nicht zu verletzen. Mit anderen Worten wurde bereits eine Vielzahl von Übergangsbedingungen an einem Übergang von einer ersten Zone auf eine zweite Zone basierend auf einem Grenzwert der zweiten Zone ermittelt. 6 shows an example of the calculation of a current path in the interpolation part of a preferred embodiment of the method according to the invention using a flow chart rens. At the start of the calculation, there is already a limit speed profile for several path segments of a specified path, which is divided into zones that each have constant limit values for speed, acceleration or jerk. There are also transition conditions that must be met at a transition from one zone to a subsequent zone in order not to violate the limit value of the subsequent zone. In other words, a large number of transition conditions at a transition from a first zone to a second zone have already been determined based on a limit value of the second zone.

Der folgende Ablauf starte in einem Schritt S100.The following flow starts in a step S100.

Zu Beginn wird eine erste Zone, z = 1, gewählt (S101) und ein erstes Geschwindigkeitsprofil, V = V1, vorzugsweise anhand des vorne beschriebenen ruckbegrenzten Siebenphasenprofils ermittelt und als aktuelles Geschwindigkeitsprofil initialisiert (S102). Mit anderen Worten wird ein erstes Geschwindigkeitsprofil V = V1 für eine erste Zone z = 1 zum Erreichen einer vorbestimmten Sollgeschwindigkeit vsoll berechnet, wobei das erste Geschwindigkeitsprofil phasenweise in Form von Bewegungsgleichungen vorliegt und eine Vielzahl vorbestimmter Interpolationspunkte zur Ermittlung eines aktuellen Bahnwegs aufweist.At the beginning, a first zone, z=1, is selected (S101) and a first speed profile, V=V 1 , preferably determined using the jerk-limited seven-phase profile described above and initialized as the current speed profile (S102). In other words, a first speed profile V=V1 is calculated for a first zone z=1 to reach a predetermined setpoint speed v set , the first speed profile being present in phases in the form of equations of motion and having a large number of predetermined interpolation points for determining a current path.

Es wird ein erster Interpolationstakt, i = 1, gestartet (S103) und zunächst geprüft, ob sich die Sollgeschwindigkeit vsoll(i) gegenüber der Sollgeschwindigkeit im letzten Interpolationstakt vsoll(i-1) geändert hat. Ist dies der Fall, Zweig „1“, so wird das erste Geschwindigkeitsprofil V1 an die geänderte Sollgeschwindigkeit angepasst (S104), ansonsten, Zweig „0“, bleibt es unverändert (S105).A first interpolation cycle, i=1, is started (S103) and a check is first made as to whether the setpoint speed v setpoint (i) has changed compared to the setpoint speed in the last interpolation cycle v setpoint (i-1). If this is the case, branch "1", then the first speed profile V 1 is adapted to the changed target speed (S104), otherwise, branch "0", it remains unchanged (S105).

Im nachfolgenden Schritt S106 werden dann die aktuellen Werte für Weg x(i), Geschwindigkeit v(i), Beschleunigung a(i) und Ruck j(i) mit Hilfe des in der Initialisierung ermittelten ersten Geschwindigkeitsprofils V1 berechnet. Verletzt das erste Geschwindigkeitsprofil V1 eine der Übergangsbedingungen am Ende der ersten Zone (V1(imax) > ÜB(imax)), Zweig „1“, wird in demselben Interpolationstakt eine zweites Geschwindigkeitsprofil V2 als Funktion der aktuellen Geschwindigkeit v(i) und der aktuellen Beschleunigung a(i) mittels der zugehörigen Übergangsbedingungen berechnet (S107). Ansonsten wird die Interpolation auf dem ersten Geschwindigkeitsprofil V1 bis zum Ende der Zone fortgeführt, Zweig „0“. Es wird in Schritt S107 also ein zweites Geschwindigkeitsprofil für den Übergang von der ersten Zone in die zweite Zone an jedem Interpolationspunkt des ersten Geschwindigkeitsprofils berechnet, wobei das zweite Geschwindigkeitsprofil jeweils abhängig von einer ermittelten Geschwindigkeit in einem Interpolationspunkt und einer zugehörigen Übergangsbedingung berechnet wird.In the subsequent step S106, the current values for distance x(i), speed v(i), acceleration a(i) and jerk j(i) are then calculated using the first speed profile V 1 determined in the initialization. If the first speed profile V 1 violates one of the transition conditions at the end of the first zone (V 1 (i max ) > ÜB(i max )), branch "1", a second speed profile V 2 is generated in the same interpolation cycle as a function of the current speed v( i) and the current acceleration a(i) is calculated using the associated transition conditions (S107). Otherwise the interpolation is continued on the first speed profile V 1 up to the end of the zone, branch "0". In step S107, a second speed profile for the transition from the first zone to the second zone is calculated at each interpolation point of the first speed profile, with the second speed profile being calculated depending on a determined speed in an interpolation point and an associated transition condition.

Anschließend wird geprüft, ob die Geschwindigkeit des zweiten Geschwindigkeitsprofils V2 im Zonenübergang die Übergangsbedingung ÜB(i) verletzt. Verletzt die Geschwindigkeit des zweiten Geschwindigkeitsprofils V2 im Zonenübergang die Übergangsbedingung ÜB(i), Zweig „1“, so findet ein Wechsel des aktuellen Geschwindigkeitsprofils V auf das zweite Geschwindigkeitsprofil V2(i-1), das im vorangegangenen Interpolationstakt i-1 ermittelt wurde, statt (S109), ansonsten, Zweig „0“, wird weiter entlang des ersten Geschwindigkeitsprofils V1 interpoliert (S108). Mit anderen Worten findet ein Wechsel von dem ersten Geschwindigkeitsprofil V1 auf das zweite Geschwindigkeitsprofil V2, das an einem direkt vorangegangenen Interpolationspunkt (i-1) berechnet wurde, statt, wenn das zweite Geschwindigkeitsprofil V2, das an einem aktuellen Interpolationspunkt i berechnet wurde, eine der Übergangsbedingungen verletzt.It is then checked whether the speed of the second speed profile V 2 in the zone transition violates the transition condition ÜB(i). If the speed of the second speed profile V 2 violates the transition condition ÜB(i), branch "1" in the zone transition, the current speed profile V changes to the second speed profile V 2 (i-1), which was determined in the previous interpolation cycle i-1 was, instead of (S109), otherwise, branch "0" is further interpolated along the first velocity profile V 1 (S108). In other words, a change from the first speed profile V 1 to the second speed profile V 2 calculated at a directly preceding interpolation point (i-1) takes place when the second speed profile V 2 calculated at a current interpolation point i , one of the transition conditions is violated.

Da das interpolierte zweite Geschwindigkeitsprofil V2(i-1) im letzten Interpolationstakt i-1 gültig war, das zweite Geschwindigkeitsprofil des aktuellen Taktes V2(i) jedoch zu einer Verletzung der Übergangsbedingung ÜB geführt hat, muss das Optimum hinsichtlich der maximal zulässigen Geschwindigkeit beim Zonenübergang zwischen diesen beiden Geschwindigkeitsprofilen V2 liegen. Da die üblichen Taktzeiten für die Interpolation klein sind (1 ms ist ein typischer Wert), liegt das zweite Geschwindigkeitsprofil des letzten Taktes V2(i-1) schon sehr nah am Optimum und kann ggf. mit einfachen Modifikationen an das tatsächliche Geschwindigkeitsoptimum angenähert werden.Since the interpolated second speed profile V 2 (i-1) was valid in the last interpolation cycle i-1, but the second speed profile of the current cycle V 2 (i) led to a violation of the transition condition ÜB, the optimum with regard to the maximum permissible speed lie between these two speed profiles V 2 at the zone transition. Since the usual cycle times for the interpolation are small (1 ms is a typical value), the second speed profile of the last cycle V 2 (i-1) is already very close to the optimum and can be approximated to the actual speed optimum with simple modifications if necessary .

Sind noch weitere Interpolationspunkte in der ersten Zone vorhanden, i < imax, wird zum nächsten Interpolationspunkt i+1 gewechselt (S110). Falls in Schritt S109 ein Umschalten auf das zweite Geschwindigkeitsprofil des letzten Interpolationstaktes V2(i-1) stattgefunden hat, erfolgt die weitere Bestimmung von Interpolationspunkten entlang des zweiten Geschwindigkeitsprofils V2. Nach Erreichen des letzten Interpolationspunkts der ersten Zone (i = imax) erfolgt der Eintritt in die nachfolgende Zone (S111), in der erneut das erste Geschwindigkeitsprofil V1 initialisiert wird. Die Berechnung wird fortgesetzt, bis alle Zonen der betrachteten Bahnsegmente durchfahren wurden (z = zmax), dann ist das Ende des Verfahrens erreicht (S112).If further interpolation points are still present in the first zone, i<i max , a change is made to the next interpolation point i+1 (S110). If a switchover to the second speed profile of the last interpolation cycle V 2 (i-1) has taken place in step S109, the further determination of interpolation points along the second speed profile V 2 takes place. After reaching the last interpolation point of the first zone (i=i max ), the next zone (S111) is entered, in which the first speed profile V 1 is initialized again. The calculation is continued until all zones of the path segments considered have been traversed (z=z max ), then the end of the method is reached (S112).

In der letzten Zone zmax entspricht das zweite Geschwindigkeitsprofil V2 einem Geschwindigkeitsprofil, das eine Abbremsung zum Stillstand ermöglicht.In the last zone z max , the second speed profile V 2 corresponds to a speed profile that enables braking to a standstill.

In 7 ist ein Beispiel dargestellt, welches die Umschaltung zwischen dem ersten und zweiten Geschwindigkeitsprofil V1 und V2 illustriert. Die gerade durchgezogene Linie stellt dabei das Grenzgeschwindigkeitsprofil 1 der Zone dar, nämlich ein Grenzgeschwindigkeitsprofil 1 mit konstanter Verzögerung. Die waagerechte gestrichelte Linie zeigt die vorgegebene Sollgeschwindigkeit vsoll, die in dem vorliegenden Beispiel während der gesamten Interpolation entlang des ersten Geschwindigkeitsprofils konstant bleibt. Die Pfeile an dem beispielhaften Zonenübergang tz symbolisieren die ermittelten Zonenübergangsbedingung.In 7 an example is shown which illustrates switching between the first and second speed profiles V 1 and V 2 . The straight solid line represents the limit speed profile 1 of the zone, namely a limit speed profile 1 with constant deceleration. The horizontal dashed line shows the specified target speed v set , which in the present example remains constant throughout the interpolation along the first speed profile. The arrows on the exemplary zone transition t z symbolize the determined zone transition conditions.

Am Beginn der Zone seien Geschwindigkeit und Beschleunigung jeweils null (Stillstand).At the beginning of the zone, the speed and acceleration are both zero (standstill).

Am Beginn einer Zone wird in der Regel von einem ersten Geschwindigkeitsprofil V1 zum Erreichen der Sollgeschwindigkeit ausgegangen, welches im Rahmen der Initialisierung berechnet wird. Insbesondere stammt die Sollgeschwindigkeit aus einer externen Vorgabe. Bei dem ersten Geschwindigkeitsprofil kann es sich wieder um das bereits genannte ruckbegrenzte Siebenphasenprofil handeln.At the beginning of a zone, a first speed profile V 1 is generally assumed to reach the target speed, which is calculated during the initialization. In particular, the setpoint speed comes from an external specification. The first speed profile can again be the jerk-limited seven-phase profile already mentioned.

Entlang dieses ersten Geschwindigkeitsprofils V1 wird jetzt zyklisch interpoliert. In jedem Interpolationstakt wird ein zweites Geschwindigkeitsprofil (Übergangsgeschwindigkeitsprofil) V2-1-V2-5 berechnet und gegen die Zonenübergangsbedingungen (Pfeile am Zonenübergang tz) geprüft. Das zweite Geschwindigkeitsprofil V2-1-V2-5 basiert ebenfalls auf dem bereits beschriebenen Siebenphasenprofil und kann aus einer Menge an vorbestimmten Profilen ausgewählt werden, welche neben dem o.g. Geschwindigkeitsprofil zum Erreichen einer Sollgeschwindigkeit weiterhin ein Geschwindigkeitsprofil zum Erreichen einer Übergangsbedingung, ein Geschwindigkeitsprofil entlang des Grenzgeschwindigkeitsprofils und ein Geschwindigkeitsprofil zum Erreichen des Stillstands aufweistCyclic interpolation is now carried out along this first speed profile V 1 . A second speed profile (transition speed profile) V 2-1 -V 2-5 is calculated in each interpolation cycle and checked against the zone transition conditions (arrows at the zone transition t z ). The second speed profile V 2-1 -V 2-5 is also based on the seven-phase profile already described and can be selected from a number of predefined profiles which, in addition to the above-mentioned speed profile for reaching a target speed, also include a speed profile for reaching a transition condition, along a speed profile of the limit speed profile and a speed profile for reaching standstill

Bei der Berechnung eines Geschwindigkeitsprofils auf eine Übergangsbedingung werden die Übergangsbedingungen am Zonenübergang in der Reihenfolge „maximal zulässige Beschleunigung“, „erreichbare konstante Geschwindigkeit“ und „maximal zulässige Verzögerung“ berücksichtigt. Dies bedeutet, dass zunächst ein Übergangprofil auf die maximal zulässige Beschleunigung am Zonenübergang berechnet wird. Verletzt dieses Übergangsgeschwindigkeitsprofil eine Übergangsbedingung, so wird als nächstes ein Übergangsgeschwindigkeitsprofil auf die erreichbare konstante Geschwindigkeit am Zonenübergang berechnet. Verletzt auch dieses Übergangsgeschwindigkeitsprofil eine Übergangsbedingung, so wird als letztes ein Übergangsgeschwindigkeitsprofil auf die maximal zulässige Verzögerung ermittelt.When calculating a speed profile for a transition condition, the transition conditions at the zone transition are taken into account in the order "maximum permissible acceleration", "achievable constant speed" and "maximum permissible deceleration". This means that a transition profile to the maximum permissible acceleration at the zone transition is first calculated. If this transition speed profile violates a transition condition, then a transition speed profile is calculated next to the achievable constant speed at the zone transition. If this transitional speed profile also violates a transitional condition, then a transitional speed profile to the maximum permissible deceleration is determined as the last step.

Im Hinblick auf die dargestellten Übergangsgeschwindigkeitsprofile V2-1 und V2-2, die eine konstante Geschwindigkeit (a = 0) am Zonenübergang tz aufweisen, bedeutet dies, dass ein zuerst berechnetes Übergangsgeschwindigkeitsprofil auf die maximal zulässige Beschleunigung am Zonenübergang zu einer Verletzung geführt hat, und daraufhin jeweils ein Übergangsgeschwindigkeitsprofil auf die erreichbare konstante Geschwindigkeit ermittelt wurde. Dieses führt in beiden Fällen zu keiner Verletzung der Übergangsbedingungen, da die Geschwindigkeit in den entsprechenden Interpolationspunkten unterhalb der Geschwindigkeit liegt, bis zu der ein Zonenübergang mit einer Beschleunigung von null (a = 0) zulässig ist, aber oberhalb der Geschwindigkeit, mit der ein Zonenübergang mit maximaler Beschleunigung (a = amax) möglich ist.With regard to the transition speed profiles V 2-1 and V 2-2 shown, which have a constant speed (a = 0) at the zone transition t z , this means that a first calculated transition speed profile to the maximum permissible acceleration at the zone transition led to an injury and then a transition speed profile to the achievable constant speed was determined. In both cases, this does not lead to a violation of the transition conditions, since the speed at the corresponding interpolation points is below the speed up to which a zone transition with zero acceleration (a = 0) is permissible, but above the speed at which a zone transition is permissible with maximum acceleration (a = a max ) is possible.

Da die Übergangsgeschwindigkeitsprofile V2-1 und V2-2 die Zonenübergangsbedingungen nicht verletzen, erfolgt die Interpolation weiterhin entlang des ersten Geschwindigkeitsprofils V1.Since the transition speed profiles V 2-1 and V 2-2 do not violate the zone transition conditions, the interpolation continues along the first speed profile V1.

Die Geschwindigkeiten in den Interpolationspunkten der Übergangsgeschwindigkeitsprofile V2-3 bis V2-5 liegen oberhalb der Geschwindigkeit, die einen Zonenübergang mit konstanter Geschwindigkeit (a = 0) erlaubt, so dass diese Übergangsgeschwindigkeitsprofile gemäß der zugehörigen Übergangsbedingung eine konstante Verzögerung (a = alim) am Zonenübergang zeigen. Dies bedeutet für die Übergangsgeschwindigkeitsprofile V2-3 und V2-4, dass jeweils die beiden zunächst ermittelten Übergangsgeschwindigkeitsprofile auf maximal zulässige Beschleunigung und erreichbare konstante Geschwindigkeit zu einer Verletzung der Übergangsbedingungen geführt haben und nur das Übergangsgeschwindigkeitsprofil mit maximal zulässiger Verzögerung ausgehend von den betreffenden Interpolationspunkten zu keiner Verletzung der Übergangsbedingungen führt.The speeds at the interpolation points of the transition speed profiles V 2-3 to V 2-5 are above the speed that allows a zone transition with constant speed (a = 0), so that these transition speed profiles have a constant deceleration (a = a lim ) show at the zone transition. For the transition speed profiles V 2-3 and V 2-4 , this means that the two initially determined transition speed profiles to the maximum permissible acceleration and achievable constant speed led to a violation of the transition conditions and only the transition speed profile with the maximum permissible deceleration starting from the relevant interpolation points does not lead to a violation of the transition conditions.

Das Übergangsgeschwindigkeitsprofil mit maximal zulässige Verzögerung V2--5 verletzt jedoch die Zonenübergangsbedingung a = alim, da die am Zonenende erreichte Verzögerung zu gering ist und dadurch auch das Grenzgeschwindigkeitsprofil 1 am Zonenübergang überschritten wird (siehe eingezeichneter Blitz). Das im Schritt zuvor ermittelte Übergangsgeschwindigkeitsprofil V2-4 verletzt die Bedingungen noch nicht und existiert zum aktuellen Zeitpunkt noch. Daher erfolgt ein Wechsel auf das Übergangsgeschwindigkeitsprofil V2-4, auf welchem die Zone dann fertig interpoliert werden kann. Neben der Umschaltung auf ein Übergangsgeschwindigkeitsprofil V2-1-V2-5 kann in gleicher Weise ein Wechsel auf ein Geschwindigkeitsprofil entlang der Grenzgeschwindigkeit und/oder ein Wechsel auf ein Geschwindigkeitsprofil zum Stillstand erfolgen.However, the transition speed profile with maximum permissible deceleration V 2--5 violates the zone transition condition a = a lim , since the deceleration achieved at the end of the zone is too low and thus the limit speed profile 1 at the zone transition is exceeded (see lightning bolt shown). The transition speed profile V 2-4 determined in the previous step does not yet violate the conditions and still exists at the current time. There is therefore a change to the transition speed profile V 2-4 , on which the zone can then be completely interpolated. In addition to switching to a transition speed profile V 2-1 -V 2-5 , a change to a speed profile along the limit speed and/or a change to a speed profile to a standstill.

Zusammenfassend ermöglicht es das erfindungsgemäße Verfahren, glatte, ruckbegrenzte und annähernd zeitoptimale Geschwindigkeitsprofile für Bahnsteuerungen zu erzeugen, ohne dass eine Filterung der Bewegungsgrößen Geschwindigkeit, Beschleunigung und/oder Ruck notwendig ist. Durch die zonenbasierte Berechnung der Bewegungsgrößen entfällt die Notwendigkeit weiterer aufwendiger Vorausberechnungen zur Interpolationszeit im Falle von zur Laufzeit eintretenden Veränderungen bezüglich der Sollgeschwindigkeit und/oder der Sollbeschleunigung. Zugleich entfallen durch den Wegfall der Filterung aufwendige Synchronisationsalgorithmen. Das Verfahren ermöglicht eine gekapselte Betrachtung von Bewegungssegmenten zur Laufzeit und erfordert keine weiteren aufwändigen iterativen Rechenschritte.In summary, the method according to the invention makes it possible to generate smooth, jerk-limited and approximately time-optimal velocity profiles for path controls without the need for filtering the movement variables velocity, acceleration and/or jerk. The zone-based calculation of the movement variables eliminates the need for further complex advance calculations for the interpolation time in the event of changes in the setpoint speed and/or the setpoint acceleration occurring during the runtime. At the same time, there is no need for complex synchronization algorithms because there is no filtering. The method enables an encapsulated view of motion segments at runtime and does not require any further complex iterative calculation steps.

Claims (11)

Verfahren zur Generierung eines Geschwindigkeitsprofils für eine Bahnsteuerung umfassend die Schritte: - Erzeugen eines Grenzgeschwindigkeitsprofils (1) für mehrere Bahnsegmente einer vorgegebenen Bahn, - Aufteilen des Grenzgeschwindigkeitsprofils (1) in Zonen (1a-1g), die jeweils konstante Grenzwerte für Geschwindigkeit, Beschleunigung oder Ruck aufweisen, - Ermitteln einer Vielzahl von Übergangsbedingungen an einem Übergang von einer ersten Zone (1a-1g) auf eine zweite Zone (1a-1g) basierend auf einem Grenzwert der zweiten Zone (1 a-1 g), - Berechnen eines ersten Geschwindigkeitsprofils (2) für die erste Zone (1 a-1 g) zum Erreichen einer vorbestimmten Sollgeschwindigkeit vsoll), wobei das erste Geschwindigkeitsprofil (2) eine Vielzahl vorbestimmter Interpolationspunkte zur Ermittlung eines aktuellen Bahnwegs aufweist, und, wenn das erste Geschwindigkeitsprofil eine der Vielzahl von Übergangsbedingungen verletzt: - Berechnen eines zweiten Geschwindigkeitsprofils (3.1-3.5) für den Übergang von der ersten Zone (1a-1g) in die zweite Zone (1a-1g) an jedem Interpolationspunkt des ersten Geschwindigkeitsprofils (2), wobei das zweite Geschwindigkeitsprofil (3.1-3.5) jeweils abhängig von einer ermittelten Geschwindigkeit in einem Interpolationspunkt und einer zugehörigen Übergangsbedingung berechnet wird, - Wechsel von dem ersten Geschwindigkeitsprofil (2) auf das zweite Geschwindigkeitsprofil (3.1-3.5), das an einem direkt vorangegangenen Interpolationspunkt berechnet wurde, wenn das zweite Geschwindigkeitsprofil (3.1-3.5), das an einem aktuellen Interpolationspunkt berechnet wurde, eine der Vielzahl von Übergangsbedingungen verletzt, und - Bestimmen von Interpolationspunkten entlang des zweiten Geschwindigkeitsprofils (3.1-3.5) zur Ermittlung des aktuellen Bahnwegs. Method for generating a speed profile for a path control, comprising the steps: - generating a limit speed profile (1) for a plurality of path segments of a specified path, - dividing the limit speed profile (1) into zones (1a-1g), each of which has constant limit values for speed, acceleration or jerk, - determining a plurality of transition conditions at a transition from a first zone (1a-1g) to a second zone (1a-1g) based on a limit value of the second zone (1a-1g), - calculating a first velocity profile (2) for the first zone (1 a-1 g) to reach a predetermined setpoint speed v set ) , the first speed profile (2) having a large number of predetermined interpolation points for determining a current path, and if the first speed profile has one of the large number violated by transition conditions: - Calculation of a second velocity profile (3.1-3.5) for the Ü Transition from the first zone (1a-1g) to the second zone (1a-1g) at each interpolation point of the first speed profile (2), the second speed profile (3.1-3.5) each depending on a determined speed in an interpolation point and an associated transition condition is calculated, - change from the first speed profile (2) to the second speed profile (3.1-3.5), which was calculated at a directly preceding interpolation point, if the second speed profile (3.1-3.5), which was calculated at a current interpolation point, violates one of the plurality of transition conditions, and - determining interpolation points along the second speed profile (3.1-3.5) to determine the current path. Verfahren gemäß Anspruch 1, wobei an jedem Interpolationspunkt des ersten und zweiten Geschwindigkeitsprofils (2, 3.1-3.5) basierend auf dem ermittelten aktuellen Bahnweg aktuelle Sollwerte für die Positionen einzelner Achsen einer Maschine oder Anlage berechnet und an die Maschine oder Anlage gesendet werden.procedure according to claim 1 , current setpoints for the positions of individual axes of a machine or system being calculated at each interpolation point of the first and second speed profile (2, 3.1-3.5) based on the determined current path and sent to the machine or system. Verfahren gemäß Anspruch 1 oder 2, wobei das Grenzgeschwindigkeitsprofil (1) mittels einer Vorwärtsberechnung und einer Rückwärtsberechnung von zulässigen Maximalgeschwindigkeiten für die mehreren Bahnsegmente erzeugt wird.procedure according to claim 1 or 2 , wherein the limit speed profile (1) is generated by means of a forward calculation and a backward calculation of permissible maximum speeds for the plurality of path segments. Verfahren gemäß Anspruch 3, wobei die Vorwärtsberechnung der zulässigen Maximalgeschwindigkeiten für die mehreren Bahnsegmenten folgende Schritte umfasst: - Prüfen, ob eine zulässige Maximalgeschwindigkeit eines zweiten Bahnsegments eingehalten wird, wenn ein Übergang von einem ersten Bahnsegment auf das zweite Bahnsegment mit einer zulässigen Maximalgeschwindigkeit des ersten Bahnsegments angefahren wird, - Absenken der Maximalgeschwindigkeit des ersten Bahnsegments an einem Beginn des zweiten Bahnsegments, wenn die zulässige Maximalgeschwindigkeit des zweiten Bahnsegments überschritten wird, - Ermitteln einer Minimalgeschwindigkeit an einem Ende des zweiten Bahnsegments ausgehend von der Maximalgeschwindigkeit am Beginn des zweiten Bahnsegments, und - Wiederholen der vorstehenden Schritte in einem dritten Bahnsegment und nachfolgenden Bahnsegmenten ausgehend von der Maximalgeschwindigkeit am Beginn des zweiten Bahnsegments, wenn die Minimalgeschwindigkeit am Ende des zweiten Bahnsegments größer null ist, bis die Minimalgeschwindigkeit an einem Ende eines Bahnsegments null erreicht.procedure according to claim 3 , wherein the forward calculation of the permissible maximum speeds for the multiple path segments includes the following steps: - Checking whether a permissible maximum speed of a second path segment is maintained when a transition from a first path segment to the second path segment is approached with a permissible maximum speed of the first path segment, - Lowering the maximum speed of the first track segment at a start of the second track segment if the permissible maximum speed of the second track segment is exceeded, - determining a minimum speed at an end of the second track segment based on the maximum speed at the start of the second track segment, and - repeating the above steps in a third path segment and subsequent path segments starting from the maximum speed at the start of the second path segment if the minimum speed at the end of the second path segment is greater than zero, until the minimum speed at one end of a path segment reaches zero. Verfahren gemäß Anspruch 4, ferner umfassend die Schritte: - Prüfen, ob eine zulässige Maximalbeschleunigung des zweiten Bahnsegments eingehalten wird, wenn ein Übergang von dem ersten Bahnsegment auf das zweite Bahnsegment mit einer zulässigen Maximalbeschleunigung des ersten Bahnsegments angefahren wird, - Absenken der Maximalbeschleunigung des ersten Bahnsegments am Beginn des zweiten Bahnsegments, wenn die zulässige Maximalbeschleunigung des zweiten Bahnsegments überschritten wird, und - Ermitteln der Minimalgeschwindigkeit an einem Ende des zweiten Bahnsegments ausgehend von der Maximalgeschwindigkeit und der Maximalbeschleunigung am Beginn des zweiten Bahnsegments.procedure according to claim 4 , further comprising the steps: - checking whether a permissible maximum acceleration of the second path segment is observed when a transition from the first path segment to the second path segment is approached with a permissible maximum acceleration of the first path segment, - reducing the maximum acceleration of the first path segment at the beginning of the second path segment if the permissible maximum acceleration of the second path segment is exceeded, and - determining the minimum speed at one End of the second path segment based on the maximum speed and the maximum acceleration at the beginning of the second path segment. Verfahren gemäß Anspruch 4 oder 5, wobei die Rückwärtsberechnung der zulässigen Maximalgeschwindigkeiten für die mehreren Bahnsegmenten folgende Schritte umfasst: - Ermitteln eines Bahnsegments, an dessen Beginn die Maximalgeschwindigkeit während der Vorwärtsberechnung zum letzten Mal abgesenkt wurde, - Berechnen neuer zulässiger Maximalgeschwindigkeiten für alle dem ermittelten Bahnsegment vorangegangenen Bahnsegmente ausgehend von der abgesenkten Maximalgeschwindigkeit am Beginn des ermittelten Bahnsegments, und - Erzeugen des Grenzgeschwindigkeitsprofils aus den neu berechneten zulässigen Maximalgeschwindigkeiten.procedure according to claim 4 or 5 , wherein the backward calculation of the permissible maximum speeds for the several path segments comprises the following steps: - determining a path segment at the start of which the maximum speed was last reduced during the forward calculation, - calculating new permissible maximum speeds for all path segments preceding the determined path segment, starting from the reduced one maximum speed at the start of the path segment determined, and - generation of the limit speed profile from the newly calculated permissible maximum speeds. Verfahren gemäß einem der vorstehenden Ansprüche, wobei die Vielzahl von Übergangsbedingungen Wertepaare für Geschwindigkeit und Beschleunigung umfasst und die Wertepaare an dem Übergang von der ersten Zone (1a-1h) in die zweite Zone (1a-1h) derart gewählt werden, dass ein Grenzgeschwindigkeitsprofil der zweiten und nachfolgenden Zonen (1a-1h) nicht überschritten wird.Method according to one of the preceding claims, wherein the plurality of transition conditions comprises pairs of values for velocity and acceleration and the pairs of values at the transition from the first zone (1a-1h) to the second zone (1a-1h) are selected such that a limit speed profile of the second and subsequent zones (1a-1h) is not exceeded. Verfahren gemäß einem der vorstehenden Ansprüche, wobei das erste Geschwindigkeitsprofil (2) in jedem Interpolationspunkt an die vorbestimmte Sollgeschwindigkeit (vsoll) und eine vorbestimmte Sollbeschleunigung angepasst wird.Method according to one of the preceding claims, in which the first speed profile (2) is adapted to the predetermined desired speed (v desired ) and a predetermined desired acceleration at each interpolation point. Recheneinheit (10), die dazu eingerichtet ist, ein Verfahren nach einem der vorstehenden Ansprüche durchzuführen.Arithmetic unit (10) which is set up to carry out a method according to one of the preceding claims. Computerprogramm, das eine Recheneinheit (10) veranlasst, ein Verfahren nach einem der Ansprüche 1 bis 8 durchzuführen, wenn es auf der Recheneinheit (10) ausgeführt wird.Computer program that causes a computing unit (10) to use a method according to one of Claims 1 until 8th perform when it is executed on the computing unit (10). Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 10.Machine-readable storage medium with a computer program stored on it claim 10 .
DE102021211819.4A 2021-10-20 2021-10-20 Method for generating a speed profile for a path control Active DE102021211819B3 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102021211819.4A DE102021211819B3 (en) 2021-10-20 2021-10-20 Method for generating a speed profile for a path control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021211819.4A DE102021211819B3 (en) 2021-10-20 2021-10-20 Method for generating a speed profile for a path control

Publications (1)

Publication Number Publication Date
DE102021211819B3 true DE102021211819B3 (en) 2023-01-05

Family

ID=84492445

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021211819.4A Active DE102021211819B3 (en) 2021-10-20 2021-10-20 Method for generating a speed profile for a path control

Country Status (1)

Country Link
DE (1) DE102021211819B3 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DD289832A5 (en) 1989-11-29 1991-05-08 Fz Des Werkzeugmaschinenbaues,De CIRCUIT ARRANGEMENT FOR FOLLOWING TAX ON TRANSACTION INTERVENTION
DE102009049172A1 (en) 2009-10-13 2011-06-16 Kuka Roboter Gmbh Method and device for controlling a manipulator
EP2996003A1 (en) 2014-09-11 2016-03-16 Robert Bosch Gmbh Device and method for moving an object

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DD289832A5 (en) 1989-11-29 1991-05-08 Fz Des Werkzeugmaschinenbaues,De CIRCUIT ARRANGEMENT FOR FOLLOWING TAX ON TRANSACTION INTERVENTION
DE102009049172A1 (en) 2009-10-13 2011-06-16 Kuka Roboter Gmbh Method and device for controlling a manipulator
EP2996003A1 (en) 2014-09-11 2016-03-16 Robert Bosch Gmbh Device and method for moving an object

Similar Documents

Publication Publication Date Title
DE60035651T2 (en) Control system for the synchronous cooperative operation of a plurality of robots
EP0384925B1 (en) Control method for a digital machine tool or a robot
DE102016204136A1 (en) Method and device for automated longitudinal motion control of a motor vehicle
WO2019137665A1 (en) Method for the computer-assisted planning of a working sequence that can be carried out by a robot
EP2028368A2 (en) Wind farm with a number of wind plants and method for operating a wind farm
DE102014103370A1 (en) Method and device for discrete-time control of a manipulator
EP2209596B1 (en) Industrial robot and method for controlling the movement of an industrial robot
DE102015009247B4 (en) Smoothing numerical control to smooth out speed variations due to abrupt changes in positional deviation
DE102016012634B4 (en) Numerical control with curvature and curvature change dependent speed control
WO2020074650A1 (en) Method for data processing and programmable logic controller
DE102021211819B3 (en) Method for generating a speed profile for a path control
AT519253A4 (en) Control unit for a molding machine
EP0768587A1 (en) Clock-synchronised motion control in discrete-time sampling systems
EP0791193B1 (en) Speed control for any override range effective over a plurality of blocks
DE102018110297B4 (en) Method and device for jerk-limited trajectory planning and real-time control of a movement
EP0988584A1 (en) Method and device for controlling a tool feed
DE102016220577A1 (en) Method for optimizing the motion contours of a manipulator
DE102019204884A1 (en) Adjustment device and adjustment program
EP3314761B1 (en) Filter switching method for a machine control
WO2020015951A1 (en) Method for determining a rough trajectory from a predetermined contour
DE3335924A1 (en) METHOD AND DEVICE FOR CONTROLLING A STEPPER MOTOR
WO1994028470A1 (en) Regulating device
EP3887911B1 (en) Method for controlling an automation process in real time
EP2148255B1 (en) Method for operating a regulator and regulator
WO2001033304A2 (en) Control system for electric drive mechanisms and method for controlling a trajectory

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
R020 Patent grant now final