DE102011122434B4 - Method for controlling movement of mechanical devices using sequentially interpolated traversing blocks - Google Patents
Method for controlling movement of mechanical devices using sequentially interpolated traversing blocks Download PDFInfo
- Publication number
- DE102011122434B4 DE102011122434B4 DE102011122434.7A DE102011122434A DE102011122434B4 DE 102011122434 B4 DE102011122434 B4 DE 102011122434B4 DE 102011122434 A DE102011122434 A DE 102011122434A DE 102011122434 B4 DE102011122434 B4 DE 102011122434B4
- Authority
- DE
- Germany
- Prior art keywords
- acceleration
- traversing
- speed
- values
- instruction
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 120
- 230000033001 locomotion Effects 0.000 title claims abstract description 59
- 230000001133 acceleration Effects 0.000 claims abstract description 158
- 230000036461 convulsion Effects 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 8
- 230000009467 reduction Effects 0.000 claims abstract description 6
- 238000004364 calculation method Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 description 34
- 238000010586 diagram Methods 0.000 description 15
- 230000003111 delayed effect Effects 0.000 description 8
- 230000007704 transition Effects 0.000 description 8
- 238000013507 mapping Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/416—Numerical 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/43—Speed, acceleration, deceleration control ADC
- G05B2219/43043—Normal and maximum deceleration mode, switch as function of position deviation, error
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
Abstract
Verfahren zur Steuerung einer Bewegung einer mechanischen Vorrichtung unter Verwendung nacheinander interpolierter Verfahrsätze, mittels einer durch eine Steuerungseinrichtung durchgeführten Bahnplanung zur Sicherstellung der Einhaltung der in jedem Verfahrsatz gültigen Beschränkungen und zum Abbau einer Geschwindigkeit und einer Beschleunigung bis zu einer vorgegebenen Endposition der Bewegung unter Verwendung zumindest einer ersten Verfahrensanweisung, welche zumindest in einer Phase einer Verfahrsatzvorbereitung für jeden Verfahrsatz eine noch erlaubte Endgeschwindigkeit berechnet, bei welcher ein Anhalten bis zum Streckenende garantiert wird, wobei in der Phase einer Verfahrsatzabarbeitung die berechnete Endgeschwindigkeit zum Ermitteln des eigentlichen Geschwindigkeitsverlaufes verwendet wird, und wobei ausgehend von den aktuellen Werten der Position (s), Geschwindigkeit (v), und Beschleunigung (a), mittels der ersten Verfahrensanweisung der maximale Ruck (j) gesetzt und dadurch neue Werte der Position (s), Geschwindigkeit (v) und Beschleunigung (a) durch Interpolation ermittelt werden; sowie mittels zumindest einer zweiten Verfahrensanweisung, welche eine Gültigkeit von zumindest während einer Verfahrsatzabarbeitung durch die erste Verfahrensanweisung ermittelten Werte verifiziert, indem mit Hilfe der zweiten Verfahrensanweisung geprüft wird, ob die neuen Werte der Position (s), der Geschwindigkeit (v) und der Beschleunigung (a) gültig sind, und mittels zumindest einer dritten Verfahrensanweisung, welche beim Überschreiten einer Beschränkung und/oder bei unzureichendem Bremsweg eines Verfahrsatzes, einen Bremsvorgang einleitet, indem für die verbliebene Strecke bis zum Verfahrsatzende Sektionen gebildet werden, welche für den Abbau der Beschleunigung und das Abbremsen auf den durch die erste Verfahrensanweisung ermittelten Endgeschwindigkeitswert benötigt werden, wobei die Bewegung mit einer Anfangsgeschwindigkeit und einer Anfangsbeschleunigung beginnt und an einem Endpunkt anhält.A method of controlling a movement of a mechanical device using successively interpolated traversing blocks, by means of a path planning performed by a controller to ensure compliance with the limits in each traversing set and to reduce a speed and an acceleration up to a predetermined end position of the movement using at least one first method instruction, which calculates a still permissible final speed for each traversing block at least in one phase of a traversing block preparation in which stopping is guaranteed until the end of the traverse, wherein in the traversing processing phase the calculated final speed is used to determine the actual velocity trajectory, and starting from the current values of the position (s), velocity (v), and acceleration (a), the maximum jerk (j) set and dadu by means of the first procedural instruction new values of position (s), velocity (v) and acceleration (a) can be determined by interpolation; and by means of at least one second method instruction which verifies a validity of values determined by the first method instruction at least during a method block processing by checking with the aid of the second method instruction whether the new values of position (s), speed (v) and acceleration (a) are valid, and by means of at least a third procedural instruction, which initiates braking when exceeding a restriction and / or insufficient braking distance of a movement set by forming for the remaining distance to Verfahrsatzende sections, which for the reduction of acceleration and braking is required to the final velocity value determined by the first procedural instruction, the motion starting at an initial velocity and an initial acceleration and stopping at an endpoint.
Description
Die vorliegende Erfindung bezieht sich auf ein Verfahren zur Steuerung einer Bewegung einer mechanischen Vorrichtung, wie insbesondere einem Industrieroboter, unter Verwendung nacheinander und insbesondere zusammenhängender und aufeinanderfolgend interpolierter Verfahrsätze, mittels einer durch eine Steuerungseinrichtung durchgeführten Bahnplanung zur Sicherstellung der Einhaltung der in jedem Verfahrsatz gültigen Beschränkungen und zum Abbau einer Geschwindigkeit auf v=0 und einer Beschleunigung auf a=0 bis zu einer vorgegebenen Endposition der Bewegung.The present invention relates to a method for controlling a movement of a mechanical device, in particular an industrial robot, using sequentially and in particular contiguous and successively interpolated traversing sets, by means of a control device carried out path planning to ensure compliance with the valid in each traversing restrictions and for reducing a speed to v = 0 and an acceleration to a = 0 up to a predetermined end position of the movement.
Es soll eine Strecke der Länge
Innerhalb eines Verfahrsatzes sei das Beschleunigungsprofil stetig und stückweise linear. Daraus ergeben sich Profile für Position, Geschwindigkeit, Beschleunigung und Ruck, wie in der
Gemäß dem Stand der Technik verschwindet die Beschleunigung im Übergang zweier Verfahrsätze, so dass keine Übergangsbeschleunigung stattfindet.According to the prior art, the acceleration disappears in the transition of two traversing blocks, so that no transition acceleration takes place.
Demnach ist es die Aufgabe der vorliegenden Erfindung, die Bewegungsdynamik durch beispielsweise mehr Laufruhe und höhere Geschwindigkeiten zu verbessern und die Anregung der Vorrichtung bzw. Maschine bzw. Roboters durch eine entsprechende Bahninterpolation für einen möglichst glatten Geschwindigkeitsverlauf zu vermindern bzw. zu verhindern, so dass unter Einhaltung von vorgegebenen Beschränkungen ein zeitoptimales Geschwindigkeitsprofil errechnet werden kann, um die Strecke in möglichst kurzer Zeit abzufahren.Accordingly, it is the object of the present invention to improve the dynamics of movement, for example, more smoothness and higher speeds and to reduce or prevent the excitation of the device or machine or robot by means of a corresponding web interpolation for the smoothest possible velocity course, so that under Adhering to predetermined restrictions, a time-optimal speed profile can be calculated in order to travel the route in as short a time as possible.
Diese Aufgabe löst die vorliegende Erfindung mittels eines Verfahrens zur Steuerung einer Bewegung von mechanischen Vorrichtungen unter Verwendung nacheinander interpolierter Verfahrsätze gemäß dem Anspruch 1.This object is achieved by the present invention by means of a method for controlling a movement of mechanical devices using sequentially interpolated traversing sets according to
Vorteilhaft wird dabei über die vorhandenen Bewegungsabschnitte eine Bremswegrampe berechnet. Die resultierenden Wertepaare für die Bremsverzögerung und die Geschwindigkeit werden dann vorzugsweise tabellarisch abgelegt. Während der Sollwertvorgabe wird der nächste Stützpunkt berechnet, wobei hierbei die Grenzwerte der Folgeabschnitte mit berücksichtigt werden. Bevorzugt arbeitet der Mechanismus dabei für Echtzeit-Steuerungen optimiert.Advantageously, a brake ramp is calculated via the existing movement sections. The resulting value pairs for the braking deceleration and the speed are then preferably stored in a table. During the setpoint specification, the next interpolation point is calculated, taking into account the limit values of the following sections. The mechanism preferably works optimally for real-time control.
Demnach wird ein Verfahren zur Steuerung einer Bewegung einer mechanischen Vorrichtung, wie insbesondere einem Industrieroboter, unter Verwendung nacheinander interpolierter Verfahrsätze, mittels einer durch eine Steuerungseinrichtung durchgeführten Bahnplanung zur Sicherstellung der Einhaltung der in jedem Verfahrsatz gültigen Beschränkungen und zum Abbau einer Geschwindigkeit auf v=0 und einer Beschleunigung auf a=0 bis zu einer vorgegebenen Endposition der Bewegung unter Verwendung zumindest einer ersten Verfahrensanweisung, welche zumindest in einer Phase einer Verfahrsatzvorbereitung für jeden Verfahrsatz eine noch erlaubte Endgeschwindigkeit berechnet, bei welcher ein Anhalten bis zum Streckenende garantiert wird; sowie mittels zumindest einer zweiten Verfahrensanweisung, welche eine Gültigkeit von zumindest während einer Verfahrsatzabarbeitung durch die erste Verfahrensanweisung ermittelten Werte verifiziert, und/oder mittels zumindest einer dritten Verfahrensanweisung, welche beim Überschreiten einer Beschränkung und/oder bei unzureichendem Bremsweg eines Verfahrsatzes, einen Bremsvorgang einleitet, indem für die verbliebene Strecke bis zum Verfahrsatzende Sektionen gebildet werden, welche für den Abbau der Beschleunigung und das Abbremsen auf den durch die erste Verfahrensanweisung ermittelten Endgeschwindigkeitswert benötigt werden, wobei die Bewegung mit einer Anfangsgeschwindigkeit und einer Anfangsbeschleunigung beginnt und an einem Endpunkt anhält, beansprucht, wie in Anspruch 1 angegeben.Accordingly, a method for controlling movement of a mechanical device, such as an industrial robot, using successively interpolated traversing sets, by means of a controller carried out path planning to ensure compliance with the valid restrictions in each traversing set and to reduce a speed to v = 0 and an acceleration to a = 0 up to a predetermined end position of the movement, using at least a first method instruction which calculates a still permissible final speed at which at least one phase of a movement set preparation is guaranteed for each movement set, at which a stop is guaranteed until the end of the travel; and by means of at least one second method instruction, which verifies a validity of values determined by the first method instruction at least during a method block processing, and / or by means of at least one third method instruction, which initiates a braking operation when a limitation and / or insufficient braking distance of a positioning block is exceeded; forming sections for the remaining distance up to the end of travel, which are required for the reduction of the acceleration and the deceleration to the final speed value determined by the first method instruction, the movement starting with an initial speed and an initial acceleration and stopping at an end point, as specified in
Vorteilhafte Ausführungsformen und Weiterbildungen sind Gegenstand der Unteransprüche.Advantageous embodiments and further developments are the subject of the dependent claims.
Es wird ein bewegliches, insbesondere mechanisches System bzw. Vorrichtung betrachtet, welches eine Strecke im Raum abfahren soll. Die Bewegung startet dabei mit einer Anfangsgeschwindigkeit und einer Anfangsbeschleunigung und soll an einem vorzugsweise definierten Endpunkt anhalten. Äußere Faktoren, wie z. B. die Mechanik und/oder die Masse des zu bewegenden Systems oder auch die Bewegungsrichtung geben dabei die Beschränkungen für die Beschleunigung und die Geschwindigkeit vor, welche nicht über- bzw. unterschritten werden können bzw. dürfen.It is considered a movable, in particular mechanical system or device which is intended to travel a distance in space. The movement starts with an initial speed and an initial acceleration and should stop at a preferably defined end point. External factors, such as As the mechanics and / or the mass of the system to be moved or the direction of motion specify the limits for acceleration and speed, which can not be exceeded or fallen below or may.
Zudem ist vorteilhaft die maximale Änderungsrate der Beschleunigung - der sogenannte Ruck - begrenzt.In addition, advantageously, the maximum rate of change of acceleration - the so-called jerk - limited.
Die Beschränkungen umfassen dabei vorzugsweise zumindest
eine Maximalgeschwindigkeit
eine Maximalbeschleunigung
eine Minimalbeschleunigung
einen maximalen Ruck
einen minimalen Ruck
a maximum speed
a maximum acceleration
a minimum acceleration
a maximum jerk
a minimal jerk
Ist der zeitliche Verlauf des Rucks j:R+ → R,t → j(t) bekannt, dann ergeben sich die Werte für die Beschleunigung, die Geschwindigkeit und die Position wie folgt:
Dabei sind
Im Folgenden sind die Angaben der Geschwindigkeit, Beschleunigung, Ruck und Position zur vereinfachten und verständlichen Darstellung jedoch ohne Einheiten aufgeführt, wobei die oben genannten Einheiten jederzeit bei der Betrachtung herangezogen werden können.In the following, however, the figures of the speed, acceleration, jerk and position are shown without units for the sake of simplicity and comprehensibility, with the above-mentioned units being able to be consulted at any time.
Für einen zeitlich konstanten Ruck können folgende Integrale direkt angeben werden:
Unter Einhaltung der oben genannten Beschränkungen soll die Strecke vorteilhaft in der kürzest möglichen Zeit abgefahren werden. Die gesamte Bewegung teilt sich dabei vorzugsweise in mindestens drei Phasen auf. In der ersten Phase, nämlich der Beschleunigungsphase, wird zunächst eine gewisse Maximalgeschwindigkeit aufgebaut, während in der zweiten Phase, nämlich der Konstantphase dann mit dieser Geschwindigkeit weiter verfahren wird und schließlich in der dritten Phase, nämlich der Verzögerungsphase, die Bewegung bzw. die Geschwindigkeit bis zum Stillstand abgebremst bzw. verzögert bzw. reduziert wird. Dabei soll die Beschleunigung vorzugsweise über die Zeit stetig und stückweise linear sein. Daraus ergibt sich ein stückweise konstanter Ruck.In compliance with the above restrictions, the route should advantageously be run in the shortest possible time. The entire movement is preferably divided into at least three phases. In the first phase, namely the acceleration phase, a certain maximum speed is initially set up, while in the second phase, namely the constant phase, this speed is then continued, and finally in the third phase, namely the deceleration phase, the movement or the speed to slowed down to a standstill or delayed or reduced. The acceleration should preferably be continuous over time and piecewise linear. This results in a piecewise constant jerk.
Die Bahnplanung hat dabei die Aufgabe, wie oben bereits erwähnt, zum Einen die Einhaltung der in jedem Verfahrsatz gültigen Beschränkungen sicherzustellen und zum Anderen bis zur vorgegebenen Endposition die Geschwindigkeit auf v =0 und die Beschleunigung auf a =0 abzubauen bzw. zu reduzieren. The path planning has the task, as already mentioned above, on the one hand to ensure compliance with the valid restrictions in each traversing set and on the other to reduce the speed to v = 0 and the acceleration to a = 0 to the predetermined end position or reduce.
Vorzugsweise wird dabei die Einhaltung der zweiten Bedingung, nämlich die Geschwindigkeit und die Beschleunigung bis zu einer vorgegebenen Position im Wesentlichen vollständig abzubauen in zwei Schritten, nämlich dem Schritt der Verfahrsatzvorbereitung und dem Schritt der Verfahrsatzabarbeitung realisiert.Preferably, the compliance with the second condition, namely the speed and the acceleration to a predetermined position is substantially completely reduced in two steps, namely the step of Verfahrsatzvorbereitung and the step of Verfahrsatzabarbeitung realized.
In der Verfahrsatzvorbereitung ermittelt vorzugsweise die erste Verfahrensanweisung, welche auch als „Look Ahead-Algorithmus“ bezeichnet werden kann, für jeden Verfahrsatz eine noch erlaubte Endgeschwindigkeit, mittels welcher bis zum Ende der Gesamtstrecke, d.h. bis zum Erreichen des letzten Verfahrsatzes die Bewegung bzw. die Geschwindigkeit der Bewegung bzw. Beschleunigung vollständig abgebremst bzw. reduziert werden kann. Beim Verfahren der Verfahrsätze im Schritt der Verfahrsatzabarbeitung werden dann diese Werte zum Ermitteln des eigentlichen Geschwindigkeitsverlaufs verwendet.In the positioning block preparation, the first method instruction, which may also be referred to as the "look-ahead algorithm", preferably determines a still permissible final speed for each traversing block by means of which the end of the total distance, i. until the last traversing block has been reached, the movement or the speed of the movement or acceleration can be completely decelerated or reduced. When moving the traversing blocks in the step of traversing processing, these values are then used to determine the actual course of the velocity.
Vorzugsweise soll die tatsächliche Geschwindigkeit am Ende aller Verfahrsätze stets kleiner gleich der Geschwindigkeit der ersten Verfahrensanweisung sein, um so sicherstellen zu können, dass das System bzw. die Bewegung der Vorrichtung bzw. Maschine bis zum Erreichen des Endpunktes bis zum Stillstand verzögert werden kann.Preferably, the actual speed at the end of all traversing sets should always be less than or equal to the speed of the first procedural instruction, so as to be able to ensure that the system or the movement of the device or machine can be delayed until reaching the end point to a standstill.
Demzufolge wird vorzugsweise in der Phase einer Verfahrsatzabarbeitung die berechnete Endgeschwindigkeit zum Ermitteln des eigentlichen Geschwindigkeitsverlaufes verwendet, wobei ausgehend von den aktuellen Werten der Position (c_dCurrentPos), Geschwindigkeit (c_dCurrentVel) und/oder Beschleunigung (c_dCurrentAcc), mittels zumindest der ersten Verfahrensanweisung der maximale Ruck gesetzt und dadurch neue Werte der Position (dNewPos), Geschwindigkeit (dNewVel) und/oder Beschleunigung (dNewAcc) durch Interpolation ermittelt werden.Consequently, the calculated final velocity is preferably used to determine the actual velocity profile in the phase of a procedural processing, wherein starting from the current values of the position (c_dCurrentPos), velocity (c_dCurrentVel) and / or acceleration (c_dCurrentAcc), the maximum jerk is determined by means of at least the first procedural instruction and thereby new values of the position (dNewPos), speed (dNewVel) and / or acceleration (dNewAcc) are determined by interpolation.
Vorzugsweise hat demnach die erste Verfahrensanweisung bzw. der „Look Ahead-Algorithmus“ die Aufgabe, für jeden der n Verfahrsätze, wobei vorzugsweise eine Mehrzahl an Verfahrsätzen und insbesondere mindestens ein Verfahrsatz angewandt wird, im Verfahrsatzpuffer eine Endgeschwindigkeit
Dies bedeutet im Fall der ersten Verfahrensanweisung, dass vorzugsweise neben einer Endgeschwindigkeit
Um nun für jeden Verfahrsatz das Endwertepaar (vLA, aLA)i, i=1, ... , n, auszurechnen, beginnend am Endpunkt der Strecke, an welchem nach Voraussetzung v=0 und a=0 gelten muss, wird (vLA, aLA)n =(0, 0) gesetzt. Ausgehend von diesen Endbedingungen (v=0; a=0) wird nun ein Endwertepaar (vLA, aLA)n-1 mit maximaler Geschwindigkeit
Dieser Verzögerungsvorgang ist zeitlich rückwärts betrachtet demnach ein Beschleunigungsvorgang, wobei die zulässige Maximalbeschleunigung gerade dem Betrag der zulässigen Maximalverzögerung |amin| entspricht. Vorzugsweise wird mittels der ersten Verfahrensanweisung stets mit den Beträgen von Verzögerungen gerechnet, so dass alle ermittelten Werte für die Beschleunigung bzw. Verzögerung „a“ ein positives Vorzeichen besitzen.This deceleration process is considered an acceleration process with regard to time in reverse, the permissible maximum acceleration being just the magnitude of the permissible maximum deceleration | a min | equivalent. Preferably, the amounts of delays are always calculated by means of the first method instruction, so that all determined values for the acceleration or deceleration "a" have a positive sign.
Wie oben bereits erwähnt, besteht ein Beschleunigungsvorgang aus bis zu drei Abschnitten bzw. Segmenten bzw. Sektionen. Folglich erhalten in den Berechnungen die Anfangswerte vorzugsweise den Index
Am Anfang der Beschleunigung ist v0=0 und a0=0. Des Weiteren muss die Länge des n-ten Satzes s(n) in die Berechnung einfließen und die im Verfahrsatz geltenden Beschränkungen
Da die gesuchte Beschleunigung am Ende des Beschleunigungsvorganges, d.h.
Mit diesen Voraussetzungen kann nun
Im Folgenden wird dazu ein erstes Beispiel aufgeführt:The following is a first example:
Es seien drei Verfahrsätze im Verfahrsatzpuffer:
Dann lauten die Werte der ersten Verfahrensanweisung für die Geschwindigkeit und die Beschleunigung wie folgt:
Um die Endwerte bzw. das Endwertpaar aus Endgeschwindigkeit und Endbeschleunigung von Verfahrsatz
Jedoch ist es ebenso möglich, dass die gewünschte Beschleunigung
Ausgehend von (vLA, aLA)3=(0, 0) wird nur eine Endbeschleunigung von
Beim Eintreten dieses Falls wird die maximal erreichbare Beschleunigung als Endbeschleunigung der ersten Verfahrensanweisung (mit der entsprechend zugehörigen Geschwindigkeit) des vorliegenden Verfahrsatzes gesetzt. Es ergeben sich demnach folgende Werte:
Vorzugsweise gilt ganz allgemein, dass je kürzer der Verfahrsatz, je größer die Geschwindigkeit und/oder je kleiner der Ruck ist, desto weniger Beschleunigung kann innerhalb einer festgelegten Strecke auf- oder abgebaut werden.In general, it is generally the case that the shorter the travel rate, the greater the speed and / or the smaller the jerk, the less acceleration can be built up or taken down within a defined distance.
Problematisch wird dies jedoch beispielsweise bei der Konstellation, wie es das dritte Beispiel zeigt:
Nach der ersten Berechnung ergeben sich für Endbeschleunigung und -geschwindigkeit des zweiten Verfahrsatzes
Werden diese Werte zur Berechnung der Endwerte des ersten Verfahrsatzes herangezogen, wird eine Endbeschleunigung von
Die Differenz aΔ =3694.848498478164 - 1000 =2694.848498478164 muss deshalb vorher schon abgebaut werden. Dazu wird nachträglich die Endbeschleunigung des zweiten Verfahrsatzes reduziert, um die Beschränkungen des ersten Verfahrsatzes einhalten zu können. Als neue Endbeschleunigung wird gesetzt:
Jetzt kann, wie bekannt, weitergerechnet werden, wobei folgende Endwerte erhalten werden:
Ein viertes Beispiel soll aufzeigen, was erforderlich ist, sofern die berechnete Endgeschwindigkeit die zulässige Maximalgeschwindigkeit verletzt, wobei dabei folgende zwei Verfahrsätze betrachtet werden:
Als Endwerte für den ersten Verfahrsatz wird vorläufig
Des Weiteren ist es nicht ausreichend die Endbeschleunigung vom Verfahrsatz
Vorzugsweise wird stattdessen wie im Folgenden beschrieben vorgegangen:Preferably, the procedure is instead as described below:
Verletzt eine berechnete Geschwindigkeit der ersten Verfahrensanweisung die zulässige Maximalgeschwindigkeit, so wird die letzte Berechnung nochmals durchgeführt, jedoch dieses Mal mit a3=0, wodurch folgende Werte erhalten werden:
Läge die Maximalgeschwindigkeit noch niedriger als der aktuell berechnete Wert, so wird schließlich die Maximalgeschwindigkeit als Look Ahead-Geschwindigkeit bzw. als Geschwindigkeit der ersten Verfahrensanweisung gesetzt.If the maximum speed is still lower than the currently calculated value, the maximum speed is finally set as the look-ahead speed or as the speed of the first procedural instruction.
Im Übergang zweier Verfahrsätze ist folglich in diesem Fall bzw. bei dieser ersten Verfahrensanweisung die Geschwindigkeit immer konstant. Die von der ersten Verfahrensanweisung ermittelten Endgeschwindigkeiten werden vorzugsweise dauerhaft gespeichert.In the transition between two traversing blocks, the speed is always constant in this case or in this first procedural instruction. The terminal speeds determined by the first method instruction are preferably stored permanently.
Vorzugsweise wird mit Hilfe der zweiten Verfahrensanweisung (im Folgenden auch als „DecCheck“-Algorithmus bezeichnet) geprüft, ob die neuen Werte der Position (dNewPos), der Geschwindigkeit (dNewVel) und der Beschleunigung (dNewAcc) gültig sind.Preferably, with the aid of the second method instruction (also referred to below as "DecCheck" algorithm), it is checked whether the new values of the position (dNewPos), the speed (dNewVel) and the acceleration (dNewAcc) are valid.
D.h., dass in der Verfahrsatzvorbereitung bzw. in der Satzvorbereitung zuerst mit der ersten Verfahrensansweisung für jeden Verfahrsatz eine Endgeschwindigkeit (mit zugehöriger Endbeschleunigung) ermittelt wurde, welche die maximal erlaubte Geschwindigkeit am Ende des jeweiligen Verfahrsatzes darstellt, um bis zum Ende der Gesamtstrecke die Bewegung abbremsen zu können, während in der Verfahrsatzabarbeitung diese Werte wiederum genutzt werden, um den tatsächlichen Geschwindigkeitsverlauf zu bestimmen.This means that in the positioning block preparation or in block preparation, a final speed (with associated final acceleration) was first determined for each traversing block, which represents the maximum permitted speed at the end of the respective traversing block, in order to decelerate the movement until the end of the overall route while in traversing processing these values are in turn used to determine the actual course of the velocity.
Zu Beginn der Bewegung, d.h. in der Beschleunigungsphase soll eine Geschwindigkeit aufgebaut werden. Ausgehend von den aktuellen Werten für die Position, die Geschwindigkeit und die Beschleunigung (c_dCurrentPos, c_dCurrentVel, c_dCurrentAcc) wird der maximale positive Ruck gesetzt, wodurch die Werte im nächsten Interpolationsschritt erhalten werden. Diese ergeben sich einfach aus den oben aufgeführten Formeln (1), indem die Zykluszeit eingesetzt wird.At the beginning of the movement, i. in the acceleration phase, a speed is to be built up. Based on the current position, velocity, and acceleration values (c_dCurrentPos, c_dCurrentVel, c_dCurrentAcc), the maximum positive jerk is set, which preserves the values in the next interpolation step. These are simply given by formulas (1) above by using the cycle time.
Diese neuen Werte (dNewPos, dNewVel, dNewAcc) sind bevorzugt gültig, wenn sichergestellt ist, dass:
- 1. sämtliche Beschränkungen in diesem und allen folgenden Verfahrsätzen eingehalten werden; und
- 2. bis zum Streckenende vollständig abgebremst werden kann.
- 1. all restrictions in this and all following traverses are complied with; and
- 2. can be braked completely to the end of the track.
Ob die „neue“ Beschleunigung (dNewAcc) die Maximalbeschleunigung im selben Verfahrsatz verletzt, wird vorzugsweise gleich nach deren Berechnung überprüft. Danach wird, wie oben erwähnt, mit Hilfe der zweiten Verfahrensanweisung geprüft, ob die neuen Werte gültig sind.Whether the "new" acceleration (dNewAcc) violates the maximum acceleration in the same traversing block is preferably checked immediately after its calculation. Thereafter, as mentioned above, it is checked with the aid of the second method statement whether the new values are valid.
Um ermitteln zu können, ob die Bewegung bis zum Streckenende angehalten werden kann, wird bevorzugt ein Verzögerungsvorgang mit den vorläufigen neuen Werten (dNewPos, dNewVel, dNewAcc) als Startwerte gebildet.In order to be able to determine whether the movement can be stopped until the end of the journey, it is preferable to form a delay process with the provisional new values (dNewPos, dNewVel, dNewAcc) as starting values.
Vorzugsweise muss bei diesem Verzögerungsvorgang darauf geachtet werden, dass sämtliche Beschränkungen eingehalten werden, d.h., dass beispielsweise nicht die Minimalbeschleunigung
Die zweite Verfahrensanweisung (DecCheck-Algorithmus) wird vorteilhaft mittels zweier Methoden, nämlich einer Verzögerungs-Methode (Decelerate) und einer Bremsstreckenberechnungs-Methode (CalcBrakeDistance) erfüllt.The second method instruction (DecCheck algorithm) is advantageously fulfilled by means of two methods, namely a deceleration method and a braking distance calculation method (CalcBrakeDistance).
D.h., dass vorzugsweise der Verzögerungsvorgang mit den neuen Werte der Position (dNewPos), der Geschwindigkeit (dNewVel) und der Beschleunigung (dNewAcc), welche als Start- bzw. Anfangswerte dienen, unter Einsatz der Verzögerungs-Methode, bei welcher eine Endgeschwindigkeit unter einer vorgegeben Strecke ermittelt wird, und der Bremsstreckenberechnungs-Methode, bei welcher eine Strecke unter einer vorgegebenen Endgeschwindigkeit ermittelt wird, gebildet wird.That is, preferably, the deceleration process with the new values of the position (dNewPos), the velocity (dNewVel), and the acceleration (dNewAcc) serving as start and initial values, respectively, using the deceleration method in which a final velocity is below a determined predetermined distance, and the braking distance calculation method in which a distance is determined below a predetermined final speed is formed.
Demnach werden, um einen Verzögerungsvorgang zu ermöglichen, neben den Anfangswerten für die Geschwindigkeit und die Beschleunigung auch die Werte bezüglich einer gewünschten Endbeschleunigung und einer Strecke benötigt, auf welcher die Bewegung verzögert werden soll. Dies entspricht den Eingangsparametern der Verzögerungs-Methode (Decelerate: StartVel, StartAcc, EndAcc, Distance).Thus, in order to enable a deceleration process, in addition to the initial values for the velocity and the acceleration, the values with respect to a desired final acceleration and a distance at which the movement is to be delayed are also required. This corresponds to the input parameters of the deceleration method (Decelerate: StartVel, StartAcc, EndAcc, Distance).
Ein einziger Verzögerungsvorgang kann vorzugsweise nicht über Verfahrsatzgrenzen hinweg gebildet werden, da sich im Allgemeinen die Beschränkungen in den einzelnen Verfahrsätzen unterscheiden. Stattdessen wird bevorzugt für jeden Verfahrsatz ein eigener Verzögerungsvorgang gebildet.A single deceleration process preferably can not be formed across traversing block boundaries, since in general the restrictions in the individual traversing blocks differ. Instead, a separate delay process is preferably formed for each positioning record.
Befindet sich folglich die Bewegung gerade im Verfahrsatz an der Position x und ist die Gesamtstrecke des Verfahrsatzes
Um zu bestimmen, welche Endbeschleunigung nun der Verzögerungs-Methode übergeben werden soll, wird die Verzögerung
Als Ergebnis der Berechnung in der Verzögerungs-Methode wird vorteilhaft eine Endgeschwindigkeit (EndVel) ermittelt. Daneben gibt vorzugsweise die Verzögerungs-Methode auch die während des Verzögerungsvorgangs maximal erreichte Geschwindigkeit (LimVel) aus. Falls nämlich die Anfangsbeschleunigung (StartAcc) positiv ist, muss diese folglich zunächst erst abgebaut werden, damit anschließend verzögert werden kann. Solange die Beschleunigung „a“ jedoch positiv ist, wird weiterhin Geschwindigkeit aufgebaut, so dass die maximal erreichte Geschwindigkeit größer als die Anfangsbeschleunigung bzw. - geschwindigkeit ist.As a result of the calculation in the deceleration method, an end velocity (EndVel) is advantageously determined. Besides, preferably, the deceleration method also outputs the maximum speed (LimVel) achieved during the deceleration process. If, in fact, the initial acceleration (StartAcc) is positive, it must first be reduced before it can be delayed. However, as long as the acceleration "a" is positive, speed is still built up so that the maximum speed achieved is greater than the initial acceleration or speed.
Weiterhin ist es denkbar, dass die gewünschte Endbeschleunigung (EndAcc) gar nicht erreicht wird. Auch diese Situation kann bereits beim Beschleunigungsvorgang in der ersten Verfahrensanweisung auftreten.Furthermore, it is conceivable that the desired final acceleration (EndAcc) is not achieved. This situation can already occur during the acceleration process in the first procedural instruction.
Dazu folgendes fünftes Beispiel: The following fifth example:
Es seien eine Strecke der Länge
Die Verzögerungs-Methode liefert folglich die Ausgangsparameter der Endgeschwindigkeit (EndVel), der Endbeschleunigung (EndAcc) und der Anfangsbeschleunigung bzw. - geschwindigkeit (LimVel) zurück. The delay method thus returns the output parameters of the final speed (EndVel), the final acceleration (EndAcc) and the initial acceleration (VelVel).
D.h., dass die durch die Verzögerungs-Methode ermittelte Endbeschleunigung immer größer gleich der Beschleunigung
Demnach werden folglich vorzugsweise mittels der Verzögerungs-Methode ermittelte Verfahrsatz-Endwerte für die Geschwindigkeit (
Dadurch ergeben sich folgende Fallunterscheidungen:
Die erste Verfahrensanweisung hat für die Endpositionen der einzelnen Verfahrsätze die maximalen Geschwindigkeiten ermittelt, welche ein Anhalten der Bewegung, d.h. ein Reduzieren der Geschwindigkeit und der Beschleunigung auf den Wert Null, bis zum Streckenende garantieren. Jede größere Geschwindigkeit als die Endgeschwindigkeit gemäß der ersten Verfahrensanweisung
Ist die Geschwindigkeit
Ist
Die zweite Methode der zweiten Verfahrensanweisung ist die Bremsstreckenberechnungs-Methode (CalcBrakeDistance). Während bei der Verzögerungs-Methode eine Strecke vorgegeben wird und eine Endgeschwindigkeit ermittelt wird, benötigt die Bremsstreckenberechnungs-Methode eine Endgeschwindigkeit und liefert die Strecke zurück, welche erforderlich ist, um auf diese Endgeschwindigkeit zu verzögern.The second method of the second procedure is the brake distance calculation method (CalcBrakeDistance). While in the deceleration method a distance is specified and a final speed is determined, the braking distance calculation method requires a final speed and returns the distance required to decelerate to that final speed.
Ebenso wie die Verzögerungs-Methode berechnet die Bremsstreckenberechnungs-Methode die beim Verzögerungsvorgang erreichte Maximalgeschwindigkeit (LimVel). Ebenso muss eine Endbeschleunigung angegeben werden, welche am Ende der Verzögerung erreicht werden soll. Kann diese Endbeschleunigung nicht erreicht werden bevor die Geschwindigkeit
Dazu folgendes sechstes Beispiel: The following sixth example:
Es seien
Zusätzlich zur Bildung eines Verzögerungsvorgangs und dem anschließenden Vergleichen der Wertepaare (
Ist die Strecke kleiner gleich der verbleibenden Distanz bis zum Verfahrsatzende, dann sind die Werte gültig, anderenfalls ungültig. Für aLA≠0 ist diese Berechnung jedoch nicht immer so einfach durchführbar. So kann der Fall auftreten, dass das Wertepaar der ersten Verfahrensanweisung mit den gegebenen Startwerten nicht erreicht wird. Daher wird diese Methode vorzugsweise immer nur dann angewendet, wenn gilt aLA=0.If the distance is less than or equal to the remaining distance up to the end of the movement, the values are valid, otherwise they are invalid. For a LA ≠ 0, however, this calculation is not always so easy to perform. Thus, the case may arise that the value pair of the first procedural instruction with the given starting values is not reached. Therefore, this method is preferably always applied only when a LA = 0.
Mit der ersten Verfahrensanweisung wurden in der Verfahrsatzvorbereitung Werte für Endgeschwindigkeiten ermittelt, mit denen bis zum Streckenende verzögert werden kann. Bei diesen Werten galt, dass die zugehörige Beschleunigung stets gleich Null ist.With the first procedural instruction, values for final velocities were determined in the positioning block preparation, with which it is possible to delay to the end of the distance. For these values, the associated acceleration was always zero.
Mit diesen Werten kann vorteilhaft die Bremsstrecke ermittelt werden (dNewVel, dNewAcc, c_dConstEndVeILA, 0.0, dBrakeDist, dLimVel), wobei bevorzugt verglichen wird, ob die Bremsdistanz (dBrakeDist) größer oder kleiner gleich der Distanz bis zum Verfahrsatzende (dRestDist) ist.
Ist der Bremsweg kleiner gleich der Reststrecke bis zum Verfahrsatzende sind die Werte gültig. Jedoch muss es umgekehrt nicht sein, dass die Werte ungültig sind, wenn der Bremsweg größer ist. Das „Bremsweg-Kriterium“ ist also hinreichend, jedoch nicht notwendig für die Gültigkeit der Werte der Position, der Geschwindigkeit und/oder der Beschleunigung (dNewPos, dNewVel, dNewAcc).If the braking distance is less than or equal to the remaining distance up to the end of the traversing stroke, the values are valid. However, conversely, the values need not be invalid when the braking distance is greater. The "braking distance criterion" is therefore sufficient, but not necessary for the validity of the values of position, speed and / or acceleration (dNewPos, dNewVel, dNewAcc).
Gilt in einem Verfahrsatz aLA=0, dann wird vorzugsweise die Bremsstreckenberechnungs-Methode angewandt, wobei die Verzögerungs-Methode dabei bevorzugt nicht zum Einsatz kommt, so dass folglich das Bremswegkriterium erforderlich ist. Das bedeutet, dass wenn der Bremsweg größer als die Distanz bis zum Verfahrsatzende ist, muss bevorzugt abgebremst werden, wobei die Werte jedoch dann ungültig sind.If a LA = 0 applies in a travel record, then preferably the brake distance calculation method is used, the deceleration method preferably not being used, and consequently the braking distance criterion is required. This means that if the braking distance is greater than the distance up to the end of the traversing stop, it is preferable to decelerate, but the values are then invalid.
Mittels der zweiten Verfahrensanweisung wurde folglich eine Methodik entwickelt, die nachweist oder auch widerlegt, dass mit den vorläufigen Werten der Position, Geschwindigkeit und Beschleunigung (dNewPos, dNewVel, dNewAcc) das Abbremsen bis zum Ende der Gesamtstrecke möglich ist. Des Weiteren wird mittels dieser zweiten Verfahrensanweisung im Wesentlichen nie die Minimalbeschleunigung
In einer bevorzugten Ausführungsform wird der Ruck zumindest teilweise und besonders bevorzugt stets frei gewählt, so dass im Allgemeinen auch
Da in der zweiten Verfahrensanweisung ein kontinuierlicher Verzögerungsvorgang gebildet wird, werden positive Beschleunigungen zuerst vorzugsweise vollständig abgebaut. Die maximale Beschleunigung wird bei diesem Vorgang also immer am Anfang eines Verfahrsatzes angenommen.Since a continuous deceleration process is formed in the second process instruction, positive accelerations are preferably first completely degraded. The maximum acceleration is thus always assumed at the beginning of a traversing block in this process.
Demnach wird vorzugsweise zu Beginn jedes Verfahrsatzes mittels der zweiten Verfahrensanweisung geprüft, ob die Anfangsgeschwindigkeit des jeweiligen Verfahrsatzes die Maximalbeschleunigung
Des Weiteren wird auf die Maximalgeschwindigkeit geachtet, indem nach dem Aufrufen der Bremsstreckenberechnungs-Methode und/oder der Verzögerungs-Methode beispielsweise immer die Werte der Anfangsbeschleunigung bzw. -geschwindigkeit (LimVel) mit den Werten der maximalen Geschwindigkeit (c_dMaxVel) verglichen werden.Furthermore, attention is paid to the maximum speed by, for example, always comparing the values of the initial acceleration (LimVel) with the values of the maximum speed (c_dMaxVel) after calling up the braking distance calculation method and / or the deceleration method.
Somit werden in der zweiten Verfahrensanweisung vorzugsweise alle Beschränkungen in die Betrachtung einbezogen. Wird eine Beschränkung verletzt, liefert beispielsweise die zweite Verfahrensanweisung einen Wert größer Null zurück. Anderenfalls ist mit dem Rückgabewert gleich 0 alles in Ordnung.
Wird während des Ablaufs der zweiten Verfahrensanweisung festgestellt, dass die Maximalbeschleunigung oder die Maximalgeschwindigkeit eines Verfahrsatzes verletzt wurde und/oder der Bremsweg nicht ausreicht, dann muss folglich vorzugsweise ein Bremsvorgang eingeleitet werden.If, during the course of the second process instruction, it is determined that the maximum acceleration or the maximum speed of a positioning record has been violated and / or the braking distance is insufficient, then a braking operation must therefore preferably be initiated.
Um jedoch korrekt verzögern zu können, werden für die verbleibende Strecke bis zum Verfahrsatzende Sektionen gebildet. D.h., dass jeder Verfahrsatz eine Vielzahl, jedoch mindestens eine Sektion und vorzugsweise mindestens zwei Sektionen aufweisen kann.However, in order to be able to decelerate correctly, sections are formed for the remaining distance up to the traversing set. That is, each traversing set may have a plurality but at least one section, and preferably at least two sections.
Folglich gibt es auch eine Vielzahl von verschiedenen Methoden-Bestandteilen bzw. Abschnitten, welche für das Bilden von Sektionen zuständig sind (BuildSections(), BuildAccSections(), BuildDecSections(), RemoveAcc (), BuildEndOfMove (), BuildFinalMove ()).Consequently, there are also a variety of different method components or sections that are responsible for forming sections (BuildSections (), BuildAccSections (), BuildDecSections (), RemoveAcc (), BuildEndOfMove (), BuildFinalMove ()).
Vorzugsweise werden beim Bilden der Sektionen die Anfangswerte (c_dSi, c_dVi, c_dAi) und die Rücke (c_dJi) in jeder einzelnen Sektion gespeichert. Zudem muss bevorzugt bekannt sein, wie lange das Verfahren jeder einzelnen Sektion andauert, so dass die Zeitpunkte (c_dTi), welche die Anfangszeit angeben, bei welcher die Sektion „i“ beginnt, gespeichert werden.Preferably, in forming the sections, the initial values (c_dSi, c_dVi, c_dAi) and the back (c_dJi) are stored in each individual section. In addition, it must be preferred to know how long the process of each individual section lasts, so that the times (c_dTi), which indicate the start time at which the section "i" begins, are stored.
Vor dem Bilden der Sektionen werden zudem die aktuelle Zeit (c_dTimeOffset) und Position (c_dPosOffset) gespeichert. Das hat den Vorteil, dass in den folgenden Berechnungen die Anfangswerte für die Zeit und die Position auf T=0 und s=0 gesetzt werden können.Before forming the sections, the current time (c_dTimeOffset) and position (c_dPosOffset) are also saved. This has the advantage that in the following calculations the initial values for the time and the position can be set to T = 0 and s = 0.
Um die korrekten Werte zu erhalten, werden dann wieder die Offset-Werte addiert. Wie viele und welche der vorzugsweise sieben Sektionen benötigt werden, ist von verschiedenen Faktoren abhängig. Wurde beispielsweise die Maximalgeschwindigkeit in einem Verfahrsatz verletzt, so wird beim Bilden der Sektionen in diesem Verfahrsatz folglich vorzugsweise versucht, exakt diese Maximalgeschwindigkeit zu erreichen.In order to obtain the correct values, the offset values are then added again. How many and which of the preferably seven sections are needed depends on several factors. If, for example, the maximum speed was violated in one traversing block, when forming the sections in this traversing block, it is therefore preferable to attempt to reach exactly this maximum speed.
Ein Ziel der vorliegenden Erfindung ist dabei demnach schnellstmöglich Geschwindigkeit abzubauen, wobei hierbei mehrere Fälle hinsichtlich der Anfangs- und Endbeschleunigung, wie die folgende Tabelle zeigt, unterschieden werden.
In einer bevorzugten Ausführungsform wird des Weiteren mit jedem Aufruf der dritten Verfahrensanweisung der Zeitpunkt (c_dTFinal), welcher das zeitliche Ende der Sektionen speichert, gesetzt, wobei dabei die Werte für die Position, die Geschwindigkeit, die Beschleunigung und den Ruck zurückgeliefert werden, welche der nachfolgende Verfahrsatz im ersten Interpolationsschritt wiederum als Anfangswerte verwendet.Furthermore, in a preferred embodiment, each time the third method instruction is called, the time (c_dTFinal), which stores the end of the period of the sections, is set, thereby returning the position, velocity, acceleration, and jerk values subsequent positioning record in the first interpolation step again used as initial values.
Weitere Vorteile, Ziele und Eigenschaften der vorliegenden Erfindung werden anhand nachfolgender Beschreibung anliegender Zeichnung erläutert.Further advantages, objects and characteristics of the present invention will be explained with reference to the following description of the appended drawings.
Komponenten, welche in den Figuren wenigstens im Wesentlichen hinsichtlich ihrer Funktion übereinstimmen, können hierbei mit gleichen Bezugszeichen gekennzeichnet sein, wobei diese Komponenten nicht in allen Figuren gekennzeichnet und erläutert sein müssen. Components which at least substantially coincide in the figures with respect to their function may in this case be identified by the same reference symbols, these components not having to be identified and explained in all figures.
In den Figuren zeigen:
-
1 ein Diagramm zur beispielhaften Abbildung des zeitlichen Verlaufs von Geschwindigkeit, Beschleunigung und Ruck einer Bewegung; -
2 ein Diagramm zur Abbildung des Bahnverlaufs eines Bremsvorganges mit positiver Anfangs- und verschwindender Endbeschleunigung (a0>0, aLA=0): -
3 ein Diagramm zur Abbildung des Bahnverlaufs eines Bremsvorganges, bei welcher innerhalb der Sektionen die Bewegung verzögert wird; -
4 ein Diagramm zur Abbildung des Bahnverlaufs eines Bremsvorganges mittels der Bildung lediglich einer zweiten Sektion; -
5 ein Diagramm zur Abbildung des Bahnverlaufs eines Bremsvorganges mit negativer Anfangs- und negativer Endbeschleunigung (a0<0, aLA<0); -
6 ein Diagramm zur Abbildung des Bahnverlaufs eines Bremsvorganges mit negativer Anfangs- und verschwindender Endbeschleunigung(a0<0, aLA=0); -
7 ein Diagramm zur Abbildung des Bahnverlaufs eines Bremsvorganges mit verschwindender Anfangs- und verschwindender Endbeschleunigung (a0=0, aLA=0); -
8 ein Diagramm zur Abbildung des Bahnverlaufs eines Bremsvorganges mit verschwindender Anfangs- und negativer Endbeschleunigung (a0=0, aLA<0); -
9 ein Diagramm zur Abbildung des Bahnverlaufs eines Bremsvorganges mit positiver Anfangsbeschleunigung und dem Ziel die Maximalgeschwindigkeit zu erreichen, für den Fall a0=0, aLA=0; -
10 ein Diagramm zur Abbildung des Bahnverlaufs eines Bremsvorganges mit positiver Anfangsbeschleunigung und dem Ziel die Maximalgeschwindigkeit zu erreichen, für den Fall a0=0, aLA<0; -
11 ein Diagramm zur Abbildung der Ruckanpassung im letzten Verfahrsatz; und -
12 ein Diagramm zur Abbildung von Zeiten beim Verfahrsatzübergang.
-
1 a diagram for exemplifying the time course of speed, acceleration and jerk of a movement; -
2 a diagram illustrating the trajectory of a braking process with positive initial and vanishing final acceleration (a 0 > 0, a LA = 0): -
3 a diagram illustrating the trajectory of a braking process, in which the movement is delayed within the sections; -
4 a diagram for illustrating the trajectory of a braking operation by means of the formation of only a second section; -
5 a diagram illustrating the trajectory of a braking process with negative initial and negative final acceleration (a 0 <0, a LA <0); -
6 a diagram illustrating the trajectory of a braking process with negative initial and vanishing final acceleration (a 0 <0, a LA = 0); -
7 a diagram illustrating the trajectory of a braking process with vanishing initial and vanishing final acceleration (a 0 = 0, a LA = 0); -
8th a diagram illustrating the trajectory of a braking process with vanishing initial and negative final acceleration (a 0 = 0, a LA <0); -
9 a diagram for mapping the trajectory of a braking process with positive initial acceleration and the goal to reach the maximum speed, for the case a 0 = 0, a LA = 0; -
10 a diagram for mapping the trajectory of a braking process with positive initial acceleration and the goal to reach the maximum speed, for the case a 0 = 0, a LA <0; -
11 a diagram for mapping the jerk adjustment in the last traversing block; and -
12 a diagram for the representation of times during the movement record transition.
Wie in
Der i-te Abschnitt hat dann die Länge ti =Ti+1 -TI. Umgekehrt gilt Ti+1 =Ti + ti, i =0, ..., 6.The i-th section then has the length t i = T i + 1 -T I. Conversely, T i + 1 = T i + t i , i = 0, ..., 6.
Der Ruck
Dabei sind
Um die Beschleunigung
Dabei ist:
die Änderung der Beschleunigung
Für diese gilt:
the change of acceleration
For these applies:
Somit lautet die Beschleunigung
Für Geschwindigkeit
Die Positionsänderung im i-ten Abschnitt erhält man durch
Die Position an den Abschnittsgrenzen ist si:=s(Ti)=sI-1+dsI-1 und für eine beliebige Zeit
In der
Die Bewegung befindet sich beim Bilden der Sektionen also gerade in einem Beschleunigungsvorgang, so dass zunächst die vorhandene Beschleunigung abgebaut werden muss. D.h. die Bewegung befindet sich folglich im zweiten Segment, wobei gilt:
Es wird nun die dritte Verfahrensanweisung und vorzugsweise die Methode BuildAccSections (StartVel, StartAcc, TargetVel) aufgerufen, um dieser die aktuellen Werte für die Geschwindigkeit (=
Da keine bestimmte Geschwindigkeit erreicht wird, sondern lediglich vorzugsweise so schnell wie möglich die Beschleunigung abgebaut werden soll, wird die Zielgeschwindigkeit bzw. die Endgeschwindigkeit auf Null gesetzt (TargetVel =0). Folglich wird berechnet, welche Zeit und Strecke benötigt wird, um bei Wirkung von
Zu der Beschleunigung der ersten Verfahrensanweisung aLA=0 gehört auch eine Geschwindigkeit
Um den Verzögerungsvorgang zu planen, wird demnach bevorzugt die dritte Verfahrensanweisung (StartVel, StartAcc, EndVel) mit den Startwerten v3(=v4), a3=0(=a4) und der gewünschten Endgeschwindigkeit
Folglich wurden bisher die Strecken berechnet, welche für den Abbau bzw. die Reduzierung der Beschleunigung auf
Nachdem die Zeit
Darauf folgend wird die zweite Verfahrensanweisung deaktiviert.Subsequently, the second procedure is deactivated.
Immer wenn die Endbeschleunigung der ersten Verfahrensanweisung aLA=0 ist, kann die Endgeschwindigkeit
Zum Bilden der Sektionen
Auch wäre es denkbar, dass es gar nicht möglich ist, alle Sektionen (DecSections) zu bilden, da bis zum Ende des Verfahrsatzes die Beschleunigung nicht auf a=0 abgebaut werden kann. In diesem Fall wird lediglich die zweite Sektion, wie in
Ist die Anfangsbeschleunigung negativ, was beispielsweise dann passieren kann, wenn über mehrere Verfahrsätze hinweg verzögert wird, können die in den
Der Fall a0<0, aLA<0 (
Einen weiteren Fall zeigt
In den
Sollen Sektionen gebildet werden, dann können diese - falls aLA=0 ist - bis zum Verfahrsatzende geplant werden (siehe
In
In den
Gilt folglich a0>0 und aLA=0, können wie gewohnt bis zum Verfahrsatzende Sektionen gebildet werden. Im Fall mit a0>0 und aLA<0, wie in der
Zu erwähnen sind zudem zwei weitere Sonderfälle. So kann es möglich sein, dass ein Verfahrsatz komplett im Modus der zweiten Verfahrensanweisung (DecCheckModus) verfahren wird, ohne dass Sektionen gebildet werden müssen. Das stellt sich vor allem am Anfang einer Bewegung ein, wenn das System beschleunigt. Um einen korrekten Übergang von einem Verfahrsatz zum nächsten Verfahrsatz zu gewährleisten, müssen aber die Werte für die Zeit, die Geschwindigkeit und die Beschleunigung berechnet werden, welche exakt am Verfahrsatzübergang (d. h. bei Position c_dDistance) gelten. Diese Position wird im Allgemeinen natürlich nicht auf einem Interpolationspunkt, sondern zwischen zwei Interpolationspunkten liegen.Also worth mentioning are two other special cases. It may thus be possible for a traversing block to be traversed completely in the mode of the second method instruction (DecCheck mode) without sections having to be formed. This is especially true at the beginning of a movement as the system accelerates. In order to ensure a correct transition from one positioning block to the next traversing block, however, the values for the time, velocity and acceleration must be calculated, which apply exactly at the traversing block transition (ie at position c_dDistance). Of course, this position will generally not lie on an interpolation point, but between two interpolation points.
Wird bei der Berechnung des nächsten Interpolationspunktes festgestellt, dass die neue Position größer als die Position am Verfahrsatzübergang ist (dNewPos> c_dDistance), dann werden jedoch nur für das letzte bzw. verbliebene Stück des Verfahrsatzes noch Sektionen gebildet, wobei der Verfahrensanweisung die aktuellen Werte für die Geschwindigkeit und die Beschleunigung sowie die verbleibende Strecke bis zum Verfahrsatzende (c_dDistance; c_dCurrentPos) übermittelt werden.If, during the calculation of the next interpolation point, it is determined that the new position is greater than the position at the traversing block transition (dNewPos> c_dDistance), then sections are still formed only for the last or remaining part of the traversing block, whereby the method statement contains the current values for the speed and the acceleration as well as the remaining distance are transmitted up to the end of the traversing end (c_dDistance; c_dCurrentPos).
Der andere Sonderfall betrifft den allerletzten Verfahrsatz im Verfahrsatzpuffer, für welchen stets vLA=0 und aLA=0 gilt. In
Alle diese Bedingungen können erfüllt werden, wenn der Ruck im letzten Abschnitt bzw. im letzten Verfahrsatz, wie in der
Wenn später innerhalb der berechneten Sektionen verfahren wird, wird folglich von der aktuellen Zeit der Offset-Wert abgezogen. Vergleichbar wird ebenso mit der Position verfahren.If you move later within the calculated sections, the offset value will be subtracted from the current time. The same procedure is used for the position.
Beim Bilden der Sektionen wird demnach die Positionsdifferenz zwischen der aktuellen Position und der gespeicherten Position auf den gespeicherten Positionswert aufaddiert. Überschreitet während der Interpolation zu irgendeinem Zeitpunkt die Position die Gesamtdistanz des Verfahrsatzes, so wird vermerkt, dass die Bewegung am Verfahrsatzende angekommen ist und sich eigentlich bereits im nächsten Verfahrsatz befindet. An dieser Stelle wird vorzugsweise ein „Zwischenschritt“ bei der Interpolation eingefügt. Bei jedem Aufruf der dritten Verfahrensanweisung (BuildSections-Methode) wird der Zeitpunkt (c_dTFinal) gesetzt, der das zeitliche Ende der Sektionen speichert. Werden Sektionen bis zum Verfahrsatzende gebildet, dann markiert dieser Zeitpunkt auch das zeitliche Ende des Verfahrsatzes. Es können folglich die Werte für die Position, die Geschwindigkeit, die Beschleunigung und den Ruck am Verfahrsatzende zurückgeliefert werden. Vorzugsweise wird außerdem die Restzeit temporär gespeichert, die bis zum nächsten reguIären Interpolationspunkt fehlt. Der nächste Satz verwendet vorzugsweise nun im ersten Interpolationsschritt nicht die übliche Zykluszeit, sondern diese gespeicherte Restzeit und ermittelt damit die Werte für die Position, die Geschwindigkeit, die Beschleunigung und den Ruck. Damit ist die Bewegung im neuen Verfahrsatz angekommen.When forming the sections, therefore, the position difference between the current position and the stored position is added to the stored position value. If the position exceeds the total distance of the positioning record during the interpolation at any time, it is noted that the movement has arrived at the end of the positioning block and is actually already in the next positioning block. At this point, an "intermediate step" is preferably inserted in the interpolation. Each time the third method statement is called (BuildSections method), the time (c_dTFinal) is set, which stores the end of the period of the sections. If sections are formed up to the end of the traversing block, then this point in time also marks the end of the traversing block. Consequently, the values for the position, the velocity, the acceleration and the jerk at the end of the motion set can be returned. Preferably, the remaining time, which is missing until the next regulatory interpolation point, is also temporarily stored. The next sentence preferably now uses in the first interpolation step not the usual cycle time, but this stored residual time and thus determines the values for the position, the velocity, the acceleration and the jerk. This means that the movement has arrived in the new traversing block.
BezugszeichenlisteLIST OF REFERENCE NUMBERS
- aa
- Beschleunigungacceleration
- amax a max
- maximale Beschleunigungmaximum acceleration
- amin a min
- minimale Beschleunigungminimal acceleration
- jj
- Ruckshock
- jmax j max
- maximaler Ruckmaximum jerk
- jmin min
- minimaler Ruckminimal jerk
- ss
- Positionposition
- tt
- ZeitTime
- t0, t1, t2, t3, t4, t5, t6 t 0 , t 1 , t 2 , t 3 , t 4 , t 5 , t 6
- Abschnittesections
- T1, T2, T3, T4, T3, T6 T 1 , T 2 , T 3 , T 4 , T 3 , T 6
- Zeitpunktetimings
- vmax v max
- Maximale GeschwindigkeitMaximum speed
- v,v2, v3, V4, v5,v6, v7 v, v 2, v 3, V4, v 5, v 6 v 7
- Geschwindigkeitspeed
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102011122434.7A DE102011122434B4 (en) | 2011-12-24 | 2011-12-24 | Method for controlling movement of mechanical devices using sequentially interpolated traversing blocks |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102011122434.7A DE102011122434B4 (en) | 2011-12-24 | 2011-12-24 | Method for controlling movement of mechanical devices using sequentially interpolated traversing blocks |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102011122434A1 DE102011122434A1 (en) | 2013-06-27 |
DE102011122434B4 true DE102011122434B4 (en) | 2019-07-04 |
Family
ID=48575634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102011122434.7A Expired - Fee Related DE102011122434B4 (en) | 2011-12-24 | 2011-12-24 | Method for controlling movement of mechanical devices using sequentially interpolated traversing blocks |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102011122434B4 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102021000814A1 (en) | 2020-03-03 | 2021-09-09 | Sew-Eurodrive Gmbh & Co Kg | Method for braking an object and machine |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102015103451B4 (en) * | 2015-03-10 | 2021-09-23 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Method for the time-discrete control of drivable axes and computer program product |
CN107671859B (en) * | 2017-10-20 | 2018-11-02 | 山东大学 | Moving target Dynamic Tracking, system and device based on S curve acceleration and deceleration |
EP3556521B1 (en) * | 2018-04-18 | 2023-05-24 | B&R Industrial Automation GmbH | Brake path monitoring of a kinematic |
CN111660314B (en) * | 2020-05-09 | 2022-08-16 | 北京配天技术有限公司 | Robot stop buffer division method, device and storage device |
CN113501012A (en) * | 2021-06-29 | 2021-10-15 | 湖南千盟工业智能系统股份有限公司 | Automatic efficient traveling and accurate alignment method for coking locomotive |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5811952A (en) | 1995-06-29 | 1998-09-22 | Fanuc Ltd. | Method of setting accelerating/decelerating motion of robot |
US6216058B1 (en) | 1999-05-28 | 2001-04-10 | Brooks Automation, Inc. | System of trajectory planning for robotic manipulators based on pre-defined time-optimum trajectory shapes |
EP2022608A2 (en) | 2007-07-31 | 2009-02-11 | Rockwell Automation Technologies, Inc. | Improved blending algorithm for trajectory planning |
DE102008029657A1 (en) | 2008-06-24 | 2009-12-31 | Technische Universität Carolo-Wilhelmina Zu Braunschweig | Position-controlled mechanism and method for controlling mechanisms movable in multiple degrees of freedom of movement |
DE102009024130A1 (en) | 2009-05-29 | 2010-12-02 | Technische Universität Ilmenau | Method for real-time capable path planning of continuous, jerk-free setpoint trajectories |
DE102010025271A1 (en) | 2010-06-28 | 2011-12-29 | Sew-Eurodrive Gmbh & Co. Kg | Method for determining path curve of e.g. load over two- or multi-axis machine, involves providing zero-crossover in acceleration curve during falling movement, and determining prevailing acceleration at summit level |
-
2011
- 2011-12-24 DE DE102011122434.7A patent/DE102011122434B4/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5811952A (en) | 1995-06-29 | 1998-09-22 | Fanuc Ltd. | Method of setting accelerating/decelerating motion of robot |
US6216058B1 (en) | 1999-05-28 | 2001-04-10 | Brooks Automation, Inc. | System of trajectory planning for robotic manipulators based on pre-defined time-optimum trajectory shapes |
EP2022608A2 (en) | 2007-07-31 | 2009-02-11 | Rockwell Automation Technologies, Inc. | Improved blending algorithm for trajectory planning |
DE102008029657A1 (en) | 2008-06-24 | 2009-12-31 | Technische Universität Carolo-Wilhelmina Zu Braunschweig | Position-controlled mechanism and method for controlling mechanisms movable in multiple degrees of freedom of movement |
DE102009024130A1 (en) | 2009-05-29 | 2010-12-02 | Technische Universität Ilmenau | Method for real-time capable path planning of continuous, jerk-free setpoint trajectories |
DE102010025271A1 (en) | 2010-06-28 | 2011-12-29 | Sew-Eurodrive Gmbh & Co. Kg | Method for determining path curve of e.g. load over two- or multi-axis machine, involves providing zero-crossover in acceleration curve during falling movement, and determining prevailing acceleration at summit level |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102021000814A1 (en) | 2020-03-03 | 2021-09-09 | Sew-Eurodrive Gmbh & Co Kg | Method for braking an object and machine |
WO2021175487A1 (en) | 2020-03-03 | 2021-09-10 | Sew-Eurodrive Gmbh & Co. Kg | Method for decelerating an object and machine |
Also Published As
Publication number | Publication date |
---|---|
DE102011122434A1 (en) | 2013-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102011122434B4 (en) | Method for controlling movement of mechanical devices using sequentially interpolated traversing blocks | |
DE102014223000B4 (en) | Adjustable trajectory planning and collision avoidance | |
EP2421736B1 (en) | Method for operating a rail vehicle | |
DE102005061570A1 (en) | Method for determining position-led approximate path to be traveled e.g. by processing machines and machine tools, involves using scalar path parameter in start function | |
DE112013002882T5 (en) | Vehicle travel control device | |
EP3071501B1 (en) | Method for operating a lift control device | |
DE102015205099B4 (en) | Braking a rail vehicle | |
EP3676139B1 (en) | Method and equipment for determining braking-relevant actual values of a rail vehicle for the performance of controlled-retardation braking with distributed sensors | |
WO2020260048A1 (en) | Method and device for the dynamic optimization of a braking distance of vehicles, in particular of rail vehicles | |
DE102018110297B4 (en) | Method and device for jerk-limited trajectory planning and real-time control of a movement | |
DE2631540C3 (en) | Device for optimizing the driving speed in a track-bound vehicle | |
EP2527221A1 (en) | Method for operating a longitudinally guiding driver assistance system of a motor vehicle and motor vehicle | |
DE2643148C2 (en) | ||
DE102014018974B4 (en) | Control device for an injection molding machine | |
EP2135143B1 (en) | Method and device for guiding the movement of a movable machine element of a numerically controlled machine | |
DE102017106559B4 (en) | Design or implementation of a movement task of a moving mass in a mechanical system along at least one axis of movement | |
DE102016220577A1 (en) | Method for optimizing the motion contours of a manipulator | |
DE2944571C2 (en) | Device for optimizing the mountain performance of a drainage system | |
DE3016081C2 (en) | Device for the precise braking of track-bound vehicles | |
DE102021103126B4 (en) | Method for accelerating a handling machine | |
EP2278425B1 (en) | Method and device for controlling a movement cycle of a machine element | |
EP2202597B1 (en) | Method for operating a packing machine with at least two mobile units and packing machine | |
DE3938083C2 (en) | ||
DE102012014012B4 (en) | Method for controlling the longitudinal movement of a rail vehicle, cornering control device and rail vehicle | |
EP2319730A1 (en) | Method for operating a predictive adaptive light system in a motor vehicle and motor vehicle |
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 | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |