[go: up one dir, main page]

DE102011122434B4 - Verfahren zur Steuerung einer Bewegung von mechanischen Vorrichtungen unter Verwendung nacheinander interpolierter Verfahrsätze - Google Patents

Verfahren zur Steuerung einer Bewegung von mechanischen Vorrichtungen unter Verwendung nacheinander interpolierter Verfahrsätze Download PDF

Info

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
Application number
DE102011122434.7A
Other languages
English (en)
Other versions
DE102011122434A1 (de
Inventor
Jose Pedro Magalhaes Reboredo
Sebastian Pröll
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 DE102011122434.7A priority Critical patent/DE102011122434B4/de
Publication of DE102011122434A1 publication Critical patent/DE102011122434A1/de
Application granted granted Critical
Publication of DE102011122434B4 publication Critical patent/DE102011122434B4/de
Expired - Fee Related 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43043Normal 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 (jmax) 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.

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.
  • Es soll eine Strecke der Länge s abgefahren werden, die in n Teilstücke aufgeteilt ist. In diesen sogenannten Verfahrsätzen gelten jeweils Beschränkungen für die Maximalgeschwindigkeit Vmax, die maximale und minimale Beschleunigung amax bzw. amin , sowie den maximalen und minimalen Ruck jmax bzw. jmin .
  • 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 1 gezeigt.
  • Gemäß dem Stand der Technik verschwindet die Beschleunigung im Übergang zweier Verfahrsätze, so dass keine Übergangsbeschleunigung stattfindet.
  • DE 10 2009 024 130 A1 , DE 10 2008 029 657 A1 , DE 10 2010 025 271 A1 EP 2 022 608 B1 , US 6 216 058 B1 , US 5 811 952 A zeigen jeweils ein Verfahren zum Steuern einer Vorrichtung mit Verfahrsätzen.
  • 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.
  • 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.
  • 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.
  • 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.
  • Vorteilhafte Ausführungsformen und Weiterbildungen sind Gegenstand der Unteransprüche.
  • 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.
  • Zudem ist vorteilhaft die maximale Änderungsrate der Beschleunigung - der sogenannte Ruck - begrenzt.
  • Die Beschränkungen umfassen dabei vorzugsweise zumindest
    eine Maximalgeschwindigkeit vmax , welche vorzugsweise die Einheit [mm/s] aufweist,
    eine Maximalbeschleunigung amax , welche vorzugsweise die Einheit [mm/s2] aufweist,
    eine Minimalbeschleunigung amin , welche einer Maximalverzögerung entspricht und ebenso vorzugsweise die Einheit [mm/s2] aufweist,
    einen maximalen Ruck jmax und
    einen minimalen Ruck jmin , welcher jeweils vorzugsweise die Einheit [mm/s3] aufweist.
  • 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: a ( t ) = 0 t j ( τ ) d τ + a 0
    Figure DE102011122434B4_0001
    v ( t ) = 0 t a ( τ ) d τ + v 0
    Figure DE102011122434B4_0002
    s ( t ) = 0 t v ( τ ) d τ + s 0
    Figure DE102011122434B4_0003
  • Dabei sind a0 , v0 , s0 die Werte zu Beginn der Bewegung. Die Position bzw. der Weg bzw. die Strecke s weist dabei vorzugsweise die Einheit [mm] auf.
  • 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.
  • Für einen zeitlich konstanten Ruck können folgende Integrale direkt angeben werden: a ( t ) = 0 t j d τ + a 0 = j * t + a 0
    Figure DE102011122434B4_0004
    v ( t ) = 0 t j * τ + a 0 d τ + v 0 = 1 2 j t 2 + a 0 t + v 0
    Figure DE102011122434B4_0005
    s ( t ) = 0 t 1 2 j * τ 2 + a 0 * τ + v 0 d τ + s 0 = 1 6 j t 3 + 1 2 a 0 t 2 + v 0 t + s 0
    Figure DE102011122434B4_0006
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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 vLA zu ermitteln, die es erlaubt, bis zum Ende der Strecke auf v =0 (und a =0) abzubremsen. Somit muss vorteilhaft folglich ermittelt werden, wie viel Geschwindigkeit bei einer gegebenen Anfangsgeschwindigkeit vstart in einem Verfahrsatz unter Einhaltung der geltenden Beschränkungen jmax , jmin , amin abgebaut werden kann. Dies hängt bevorzugt von der Anfangsbeschleunigung ab. Zu Beginn eines Verfahrsatzes, welcher sich beispielsweise in der Beschleunigungsphase befindet, gilt folglich: astart > 0. D.h., dass zunächst diese Beschleunigung abgebaut und anschließend eine Verzögerung aufgebaut werden muss. Demzufolge kann also in diesem Fall weniger Geschwindigkeit abgebaut werden, als wenn sich die Bewegung bereits im Verzögerungsvorgang mit astart < 0 befinden würde.
  • Dies bedeutet im Fall der ersten Verfahrensanweisung, dass vorzugsweise neben einer Endgeschwindigkeit vLA auch eine Endbeschleunigung aLA anzugeben ist, so dass vorteilhaft für jeden Verfahrsatz ein Endwertepaar aus Endgeschwindigkeit und Endbeschleunigung (vLA , aLA ) ermittelt wird. Dafür wird bevorzugt mittels der ersten Verfahrensanweisung ein kontinuierlicher Verzögerungsvorgang gebildet, wobei immer gilt: aLA= 0.
  • 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 v für das Verfahrsatzende des vorletzten Verfahrsatzes ermittelt, so dass unter Einhaltung der im n-ten Verfahrsatz geltenden Beschränkungen das Ende der Strecke mit (v, a) =(vLA, aLA.)n =(0, 0) erreicht werden kann.
  • 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.
  • 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 0 (v0 , a0 ) und die Endwerte bevorzugt den Index 3 (v3 , a3 ).
  • 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 jmax , jmin , |amin| müssen beachtet werden. Zudem muss ermittelt werden, welchen Wert a3 die Beschleunigung am Ende des Beschleunigungsvorganges annehmen soll.
  • Da die gesuchte Beschleunigung am Ende des Beschleunigungsvorganges, d.h. a 3 = a L A ( n 1 )
    Figure DE102011122434B4_0007
    weder die Beschränkungen des letzten noch des vorletzten Verfahrsatzes verletzen sollte, wird a3 bevorzugt zunächst wie folgt gesetzt: a 3 = min { | a min ( n ) | , | a min ( n 1 ) | } .
    Figure DE102011122434B4_0008
  • Mit diesen Voraussetzungen kann nun v 3 = v L A ( n 1 )
    Figure DE102011122434B4_0009
    berechnet werden.
  • Im Folgenden wird dazu ein erstes Beispiel aufgeführt:
  • Es seien drei Verfahrsätze im Verfahrsatzpuffer:
    s vmax amax amin jmax jmin
    Verfahrsatz 1 30 10000 4000 -4000 50000 -50000
    Verfahrsatz 2 20 10000 3000 -3000 50000 -50000
    Verfahrsatz 3 50 10000 4000 -4000 50000 -50000
  • Dann lauten die Werte der ersten Verfahrensanweisung für die Geschwindigkeit und die Beschleunigung wie folgt:
    vLA aLA
    Verfahrsatz 1 706.8083379333484 3000
    Verfahrsatz 2 616.0990291262135 3000
    Verfahrsatz 3 0 0
  • Um die Endwerte bzw. das Endwertpaar aus Endgeschwindigkeit und Endbeschleunigung von Verfahrsatz 1 zu bestimmen, wird vorzugsweise im Wesentlichen genauso verfahren wie bei der Bestimmung des Endwertpaares für den Verfahrsatz 2. D.h., dass die berechneten Endwerte des Endwertpaares des zweiten Verfahrsatzes als Startwerte bzw. Anfangswerte bei der Berechnung der Endwerte des ersten Verfahrsatzes verwendet werden und folglich „rückwärts beschleunigt“ wird. Dabei wird die Endbeschleunigung, wie oben beschrieben, gebildet: a L A ( 1 ) : = min { | a min ( 2 ) | , | a min ( 1 ) | } = 3000.
    Figure DE102011122434B4_0010
  • Jedoch ist es ebenso möglich, dass die gewünschte Beschleunigung aLA gar nicht erreicht werden kann, wie folgendes zweites Beispiel zeigt:
    s vmax amax amin jmax jmin
    Verfahrsatz 1 30 10000 4000 -4000 50000 -50000
    Verfahrsatz 2 20 10000 4000 -4000 50000 -50000
    Verfahrsatz 3 20 10000 4000 -4000 20000 -50000
  • Ausgehend von (vLA, aLA)3=(0, 0) wird nur eine Endbeschleunigung von a 3 = a L A ( 2 ) = 3634.2411856642   79
    Figure DE102011122434B4_0011
    anstatt des vorläufigen Wertes a3=4000 erreicht.
  • 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:
    vLA aLA
    Verfahrsatz 1 517.8025359433898 4000
    Verfahrsatz 2 330.1927248894627 3634.241185664279
    Verfahrsatz 3 0 0
  • 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.
  • Problematisch wird dies jedoch beispielsweise bei der Konstellation, wie es das dritte Beispiel zeigt:
    s vmax amax amin jmax jmin
    Verfahrsatz 1 30 10000 1000 -1000 50000 -50000
    Verfahrsatz 2 10 10000 4000 -4000 20000 -20000
    Verfahrsatz 3 50 10000 4000 -4000 20000 -50000
  • Nach der ersten Berechnung ergeben sich für Endbeschleunigung und -geschwindigkeit des zweiten Verfahrsatzes a L A ( 2 ) : = 4000  und  v L A ( 2 ) : = 625.6729729729   73.
    Figure DE102011122434B4_0012
  • Werden diese Werte zur Berechnung der Endwerte des ersten Verfahrsatzes herangezogen, wird eine Endbeschleunigung von a L A ( 1 ) : = 3694.84849   8478164
    Figure DE102011122434B4_0013
    errechnet, obwohl nur eine Beschleunigung von 1000 erlaubt ist.
  • 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: a L A ( 2 ) : = min { | a min ( 3 ) | , | a min ( 2 ) | } a Δ = 1305.151501521836.
    Figure DE102011122434B4_0014
  • Jetzt kann, wie bekannt, weitergerechnet werden, wobei folgende Endwerte erhalten werden:
    vLA aLA
    Verfahrsatz 1 581.8476387081914 1000
    Verfahrsatz 2 561.3371315246402 1305.151501521836
    Verfahrsatz 3 0 0
  • 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:
    s vmax amax amin jmax jmin
    Verfahrsatz 1 100 10000 6000 -6000 50000 -50000
    Verfahrsatz 2 250 1500 6000 -6000 20000 -50000
  • Als Endwerte für den ersten Verfahrsatz wird vorläufig v L A ( 1 ) : = 1719.53481478148   15  und  a L A ( 1 ) : = 4600
    Figure DE102011122434B4_0015
    erhalten. Demnach verletzt die Endgeschwindigkeit des ersten Verfahrsatzes v L A ( 1 )
    Figure DE102011122434B4_0016
    die zulässige Maximalgeschwindigkeit des zweiten Verfahrsatzes. In diesem Fall sollte die berechnete Beschleunigung vorzugsweise nicht übernommen werden und die Geschwindigkeit nicht einfach auf die zulässige Maximalgeschwindigkeit gesetzt werden, also (vLA, aLA)1 =(1500, 6000), da folglich, ausgehend von diesen Anfangswerten, die Beschleunigung bzw. die Verzögerung nicht abgebaut werden kann, bevor die Geschwindigkeit auf Null reduziert wurde.
  • Des Weiteren ist es nicht ausreichend die Endbeschleunigung vom Verfahrsatz 2 auf Null und die Endgeschwindigkeit auf v = min { v max ( 1 ) , v max ( 2 ) } = 1500
    Figure DE102011122434B4_0017
    zu setzen, da beim Starten mit diesen Werten in den letzten Verfahrsatz die Distanz von 250 folglich nicht ausreichen würde, um die Bewegung vollständig abbremsen zu können. Der Bremsweg betrüge im vorliegenden Fall 277.5.
  • Vorzugsweise wird stattdessen wie im Folgenden beschrieben vorgegangen:
  • 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:
    vLA aLA
    Verfahrsatz 1 1409.067567567568 0
    Verfahrsatz 2 0 0
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Diese neuen Werte (dNewPos, dNewVel, dNewAcc) sind bevorzugt gültig, wenn sichergestellt ist, dass:
    1. 1. sämtliche Beschränkungen in diesem und allen folgenden Verfahrsätzen eingehalten werden; und
    2. 2. bis zum Streckenende vollständig abgebremst werden kann.
  • 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.
  • 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.
  • Vorzugsweise muss bei diesem Verzögerungsvorgang darauf geachtet werden, dass sämtliche Beschränkungen eingehalten werden, d.h., dass beispielsweise nicht die Minimalbeschleunigung amin (bzw. die maximale Verzögerung) eines Verfahrsatzes unterschritten wird. Diese Problematik wurde auch schon bei der Beschreibung der ersten Verfahrensanweisung dargelegt, wo iterativ dort für jeden Verfahrsatz Beschleunigungsendwerte aLA bestimmt wurden, welche es ermöglichen, die Beschleunigungsgrenze amin in jedem Verfahrsatz einzuhalten. Dies soll demnach auch im Folgenden berücksichtigt werden.
  • Die zweite Verfahrensanweisung (DecCheck-Algorithmus) wird vorteilhaft mittels zweier Methoden, nämlich einer Verzögerungs-Methode (Decelerate) und einer Bremsstreckenberechnungs-Methode (CalcBrakeDistance) erfüllt.
  • 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.
  • 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).
  • 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.
  • Befindet sich folglich die Bewegung gerade im Verfahrsatz an der Position x und ist die Gesamtstrecke des Verfahrsatzes s, dann steht eine Strecke s - x für die Verzögerung der Bewegung bzw. der Geschwindigkeit und/oder der Beschleunigung zur Verfügung.
  • Um zu bestimmen, welche Endbeschleunigung nun der Verzögerungs-Methode übergeben werden soll, wird die Verzögerung aLA (bzw. die negative Beschleunigung), welche in der ersten Verfahrensanweisung ermittelt wurde, verwendet, da diese sicherstellt, dass die Beschränkungen für die Minimalbeschleunigung amin in jedem Verfahrsatz eingehalten werden können.
  • 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.
  • 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.
  • Dazu folgendes fünftes Beispiel:
  • Es seien eine Strecke der Länge s =30 und die Beschränkung jmin =-20000 gegeben. Die Anfangswerte lauten v0 =800 und a0 =3000. Die gewünschte Endbeschleunigung ist a3 =4000. Dann wäre eine Strecke s =320.8333 notwendig, um diese Endbeschleunigung zu erreichen. Innerhalb der Strecke s könnte dagegen die Beschleunigung auf a3=2293.160855222864 abgebaut werden. Die Endgeschwindigkeit lautet dann in diesem Fall v3 =893.5353323018386. Diese Endgeschwindigkeit v3 ist dann im vorliegenden Fall gleichzeitig die maximal erreichte Geschwindigkeit.
  • Die Verzögerungs-Methode liefert folglich die Ausgangsparameter der Endgeschwindigkeit (EndVel), der Endbeschleunigung (EndAcc) und der Anfangsbeschleunigung bzw. - geschwindigkeit (LimVel) zurück.
  • D.h., dass die durch die Verzögerungs-Methode ermittelte Endbeschleunigung immer größer gleich der Beschleunigung aLA ist.
  • Demnach werden folglich vorzugsweise mittels der Verzögerungs-Methode ermittelte Verfahrsatz-Endwerte für die Geschwindigkeit (v3 ) und die Beschleunigung (a3 ) mit den ermittelten Endwerten (vLA , aLa ) der ersten Verfahrensanweisung verglichen, wobei immer gilt: a 3 = a LA .
    Figure DE102011122434B4_0018
  • Dadurch ergeben sich folgende Fallunterscheidungen:
    v3>vLA Werte sind ungültig.
    v3=vLA; a3=aLA Werte sind gültig.
    v3=vLA; a3>aLA Es kann keine Aussage über die Gültigkeit der Werte gemacht werden.
  • 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 vLA führt unvorteilhaft dazu, dass nicht mehr innerhalb der Strecke abgebremst werden kann. Deshalb sind die vorläufigen Werte in diesem Fall ungültig.
  • Ist die Geschwindigkeit v3 dagegen kleiner gleich der Geschwindigkeit der ersten Verfahrensanweisung, müssen die Beschleunigungen vorzugsweise miteinander verglichen werden. Sind dagegen a3 und aLA identisch, dann kann folglich bevorzugt innerhalb der gesamten Strecke abgebremst werden.
  • Ist a3 größer als aLA kann dagegen keine Aussage über die Gültigkeit der Werte gemacht werden. Dann werden die durch die Verzögerungs-Methode ermittelten Werte der Endgeschwindigkeit (EndVel) und der Endbeschleunigung (EndAcc) dem nächsten Verfahrsatz, welcher seinerseits mit diesen Anfangswerten einen Verzögerungsvorgang bildet, übergeben. D.h., dass am Anfang des nächsten Verfahrsatzes die Gesamtdistanz des darauffolgenden Verfahrsatzes der nächsten Verzögerungs-Methode übergeben werden, so dass wiederum Endwerte bzw. Endwertpaare erhalten werden, welche mit den entsprechenden Werten der ersten Verfahrensanweisung verglichen werden. Falls dann jedoch immer noch nicht über die Gültigkeit der vorläufigen Werte entschieden werden kann, wird mit dem übernächsten Verfahrsatz weitergerechnet. Dies wird solange fortgeführt, bis eine Entscheidung getroffen werden kann.
  • 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.
  • 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 v3 erreicht wird, wird die bis dahin erreichte Verzögerung zurückgegeben.
  • Dazu folgendes sechstes Beispiel:
  • Es seien v0 =300, a0 =0, a3 =-4000=amin , jmax =50000=-jmin und s=50. Setzt man v3 =0, dann wird ein Bremsweg SB = 17.2125 ermittelt.
  • Zusätzlich zur Bildung eines Verzögerungsvorgangs und dem anschließenden Vergleichen der Wertepaare (v3 , a3 ) und (vLA , aLA ), kann auch beispielsweise mit der Bremsstreckenberechnungs-Methode auf das Wertepaar (vLA , aLA ) verzögert werden, um zu überprüfen, ob die dazu benötigte Strecke größer oder kleiner gleich der verbleibenden Distanz bis zum Verfahrsatzende ist.
  • 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.
  • 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.
  • 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.
    dBrakeDist = dRestDist Werte sind gültig.
    dBrakeDist > dRestDist Umschalten auf die Verzögerungs-Methode (DecCheckLow =FALSE).
  • 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).
  • 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.
  • 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 amin der einzelnen Verfahrsätze verletzt, so dass folglich diese Beschränkung im Wesentlichen stets eingehalten wird.
  • In einer bevorzugten Ausführungsform wird der Ruck zumindest teilweise und besonders bevorzugt stets frei gewählt, so dass im Allgemeinen auch jmax . und jmin im Wesentlichen immer eingehalten werden. Folglich fehlen lediglich noch die Beschränkungen amax und vmax .
  • 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.
  • Demnach wird vorzugsweise zu Beginn jedes Verfahrsatzes mittels der zweiten Verfahrensanweisung geprüft, ob die Anfangsgeschwindigkeit des jeweiligen Verfahrsatzes die Maximalbeschleunigung amax überschreitet.
  • 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.
  • 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.
    Rückgabe-Wert Bedeutung
    0 Keine Verletzung; Werte sind gültig.
    1 Bremsweg reicht nicht aus.
    2 Maximalgeschwindigkeit wurde überschritten.
    3 Maximalbeschleunigung wurde überschritten.
  • 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.
  • 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.
  • 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 ()).
  • 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.
  • 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.
  • 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.
  • 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.
    a0 aLA
    >0 =0
    =0 =0
    <0 =0
    >0 <0
    =0 <0
    <0 <0
  • 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.
  • Weitere Vorteile, Ziele und Eigenschaften der vorliegenden Erfindung werden anhand nachfolgender Beschreibung anliegender Zeichnung erläutert.
  • 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.
  • 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 zeigt ein Diagramm zur beispielhaften Abbildung des zeitlichen Verlaufs von der Geschwindigkeit v, der Beschleunigung a und des Rucks j einer Bewegung, wobei der Ruck j für Bewegungen nicht über die gesamte Zeit des Bewegungsablaufs durch einen geschlossenen Funktionsterm dargestellt werden kann. Stattdessen wird der Ruck j abschnittsweise definiert.
  • Wie in 1 deutlich zu erkennen ist, teilt sich die Bewegung in sieben Abschnitte auf, innerhalb derer der Ruck j jeweils konstant. ist. Die Bewegung beginnt zum Zeitpunkt T0 =0 und endet zum im Wesentlichen festgelegten Zeitpunkt T7 bzw. bei der Abschnittsgrenze T7 . Die Abschnitte sind folglich von t0 bis t6 nummeriert. Der i-te Abschnitt wird begrenzt durch die Zeitpunkte bzw. Abschnittsgrenzen Ti und Ti+1, i =0, ... ,6.
  • Der i-te Abschnitt hat dann die Länge ti =Ti+1 -TI. Umgekehrt gilt Ti+1 =Ti + ti, i =0, ..., 6.
  • Der Ruck j wird nun abschnittsweise angegeben durch: j ( t ) = j i , T i < t = T i+1 , i = 0 , , 6 .
    Figure DE102011122434B4_0019
  • Dabei sind j0 , ... j6 reelle Zahlen. Gemäß 1 gilt z.B.: j 0 = j 6 = j max ,
    Figure DE102011122434B4_0020
    j 1 = j 3 = j 5 = 0 ,
    Figure DE102011122434B4_0021
    j 2 = j 4 = j min .
    Figure DE102011122434B4_0022
  • Um die Beschleunigung a zu einer beliebigen Zeit t bzw. zu einem beliebigen Zeitwert t, welcher einem Zeitpunkt t entspricht, zu erhalten, muss der Ruck j beispielsweise über mehrere Abschnitte integriert werden. Liegt t im i-ten Abschnitt, d. h. Ti < t = Ti+1, dann ist a ( t ) = a 0 + 0 t j ( τ ) d τ = a 0 + T 0 T 1 j 0 d τ + T 1 T 2 j 1 d τ + + T 1 T j 1 d τ
    Figure DE102011122434B4_0023
  • Dabei ist: d a i : = T i T i + 1 j i d τ = j i * t i ,
    Figure DE102011122434B4_0024
    i=0,...,6
    die Änderung der Beschleunigung a im i-ten Abschnitt. Die Beschleunigung an den Abschnittsgrenzen wird dabei mit ai=a(Ti) bezeichnet,
    Für diese gilt: a i + 1 : = a i + d a i = a 0 + k = 0 i d a k ,
    Figure DE102011122434B4_0025
    i=0,...,6
  • Somit lautet die Beschleunigung a zu einer beliebigen Zeit t im i-ten Abschnitt: a ( t ) = a 0 + da 0 + da 1 + + da i 1 + j i * ( t T i ) = a i + j i * ( t T i ) .
    Figure DE102011122434B4_0026
  • Für Geschwindigkeit v und Position s werden analoge Größen eingeführt. So ist: d v i : = T 1 T i + 1 a ( τ ) d τ = T 1 T i + 1 a 1 + j i ( τ T i ) d τ = [ a i τ + 1 2 j i ( τ T i ) 2 ] t i T i + 1 = a i T i + 1 + 1 2 t i 2 a i T i = a i t i + 1 2 j i t i 2
    Figure DE102011122434B4_0027
    die Geschwindigkeitsänderung im i-ten Abschnitt und vi :=v(Ti) =vi-1, + dvi-1 die Geschwindigkeit zum Zeitpunkt Ti. Für eine beliebige Zeit t ∈ [Ti, Ti+1] lautet die Geschwindigkeit v ( t ) = v i + a i ( t T i ) + 1 2 j i ( t T i ) 2 .
    Figure DE102011122434B4_0028
  • Die Positionsänderung im i-ten Abschnitt erhält man durch d s i : = T i T i + 1 v ( τ ) d τ = T i T i + 1 v i + a i ( τ T i ) + 1 2 j i ( τ T i ) 2 d τ = [ v i τ + 1 2 a i ( τ T i ) 2 + 1 6 j i ( τ T i ) 3 ] T i T i + 1 = v i t i + 1 2 a i t i 2 + 1 6 j t t i 3
    Figure DE102011122434B4_0029
  • Die Position an den Abschnittsgrenzen ist si:=s(Ti)=sI-1+dsI-1 und für eine beliebige Zeit t ∈ [Ti, Ti+1] schließlich s ( t ) = s i + v i ( t T i ) + 1 2 a i ( t T i ) 2 + 1 6 j i ( t T i ) 3 .
    Figure DE102011122434B4_0030
  • In der 2 ist ein Diagramm zur Abbildung des Bremsvorganges mit positiver Anfangs- und verschwindender Endbeschleunigung gezeigt. D.h., dass die aktuelle Beschleunigung a0>0 und die Beschleunigung aus der ersten Verfahrensanweisung aLA=0 ist.
  • 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: T2 =0.
  • Es wird nun die dritte Verfahrensanweisung und vorzugsweise die Methode BuildAccSections (StartVel, StartAcc, TargetVel) aufgerufen, um dieser die aktuellen Werte für die Geschwindigkeit (=v2 ) und die Beschleunigung (=a2) zu übergeben.
  • 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 j2 =jmin zu a3 =0 zu gelangen. Die Endwerte lauten dann T3 , s3 , v3 , a3=0.
  • Zu der Beschleunigung der ersten Verfahrensanweisung aLA=0 gehört auch eine Geschwindigkeit vLA , welche bevorzugt am Ende des Verfahrsatzes erreicht werden soll. D.h., dass von einer Geschwindigkeit v3 auf eine Geschwindigkeit vLA<v3 verzögert wird.
  • 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 vLA verwendet. Hierbei werden anfänglich die Startwerte T4 =0 und s4 =0 angewandt, wobei erst später die korrekten Werte gespeichert werden.
  • Folglich wurden bisher die Strecken berechnet, welche für den Abbau bzw. die Reduzierung der Beschleunigung auf vLA , d.h. der Geschwindigkeit der ersten Verfahrensanweisung benötigt werden. Werden nun die beiden Streckenstücke und die aktuelle Position addiert, so erhält man im Wesentlichen die Distanz des aktuellen Verfahrsatzes. Jedoch ist es möglich, dass eine kleine Differenz beispielsweise aus folgendem Grund entstehen könnte: Das Bilden von Sektionen wurde, wie zuvor beschrieben, deshalb erforderlich, da bei einer weiteren Beschleunigung mit den Werten im nächsten Interpolationsschritt ein zu langer Bremsweg benötigt worden wäre, um auf vLA abzubremsen. Mit den aktuellen Werten hingegen ist ein Verzögern noch möglich. Der Grenzfall, bei dem ein Verzögern auf vLA gerade bis zum Endpunkt des Verfahrsatzes noch möglich ist, wird irgendwo zwischen den aktuellen Werten und den Werten im nächsten Schritt erreicht.
  • Nachdem die Zeit t3 für diesen Abschnitt berechnet wurde, werden die Zeiten und Positionen am Anfang jedes einzelnen Abschnitts angepasst. Die Werte am Ende der letzten berechneten Sektion werden abgespeichert (zusätzlich in den Größen c_dS. c_dV, c_dA. c_dJ, c_dTFinal).
  • Darauf folgend wird die zweite Verfahrensanweisung deaktiviert.
  • Immer wenn die Endbeschleunigung der ersten Verfahrensanweisung aLA=0 ist, kann die Endgeschwindigkeit vLA exakt erreicht werden. Ist dagegen aLA negativ, wie in 3 dargestellt, wird dann die Beschleunigung innerhalb der Sektionen so weit wie möglich verzögert, um zu versuchen am Ende des Verfahrsatzes aLA zu erreichen. Einen dritten Abschnitt gibt es in diesem Fall also nicht.
  • Zum Bilden der Sektionen 4 bis 6 wird die dritte Verfahrensanweisung (BuildDecSections mit StartVel, StartAcc, EndAcc, Distance) aufgerufen, welcher dann die aktuellen Werte für die Geschwindigkeit und die Beschleunigung übergeben werden. Dabei ist aLA die Endbeschleunigung und die verbleibende Wegstrecke ist die Distanz, die sich dadurch ergibt, dass von der Gesamtdistanz des Verfahrsatzes die aktuelle Wegstrecke abgezogen wird, welche bei der Funktion der dritten Verfahrensanweisung (BuildAccSections()) verbraucht wurde.
  • 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 4 gezeigt, gebildet.
  • Ist die Anfangsbeschleunigung negativ, was beispielsweise dann passieren kann, wenn über mehrere Verfahrsätze hinweg verzögert wird, können die in den 5 und 6 gezeigten Fälle auftreten.
  • Der Fall a0<0, aLA<0 (5) ist ähnlich wie der Fall a0>0, aLA<0 (ähnlich zu 2), nur dass hier die Beschleunigungssektionen (AccSections) entfallen, so dass es nur die Abschnitte 4 bis 6 gibt.
  • Einen weiteren Fall zeigt 6. Generell liegt die Geschwindigkeit bei der Bahninterpolation stets etwas unterhalb der durch die erste Verfahrensanweisung berechneten Geschwindigkeit. Das führt im Fall a0<0, aLA=0 dazu, dass die gewünschte Endgeschwindigkeit vLA erreicht wird, bevor das Verfahrsatzende erreicht ist. Die übrige Strecke wird dann mit dieser Geschwindigkeit weiter abgefahren. Jedoch werden dabei keine Sektionen bis zum Verfahrsatzende gebildet, sondern es erfolgt ein Austreten aus den vorausberechneten Sektionen und ein Setzen beim Austreten aus den Sektionen der Werte.
  • In den 7 und 8 wird jeweils der Fall aufgezeigt, dass in einem Verfahrsatz die Maximalgeschwindigkeit erreicht werden soll oder bereits erreicht worden ist.
  • Sollen Sektionen gebildet werden, dann können diese - falls aLA=0 ist - bis zum Verfahrsatzende geplant werden (siehe 7). Dieser Bahnverlauf berechnet sich analog zu dem in 2, nur muss jetzt keine Beschleunigung abgebaut werden, so dass die Abschnitte 0 bis 2 entfallen.
  • In 8 wird zunächst in der zweiten Verfahrensanweisung mit konstanter (Maximal-) Geschwindigkeit verfahren, wie durch die gestrichelte Linie angedeutet. Gibt die zweite Verfahrensanweisung im Verlauf der Interpolation einen Wert größer Null zurück, werden Sektionen bis zum Verfahrsatzende gebildet.
  • In den 8 und 10 wird zudem der Fall gezeigt, dass die Sektionsbildung mit positiver Startbeschleunigung aufgerufen wird, wobei es das Ziel ist die Maximalgeschwindigkeit zu erreichen.
  • 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 10 gezeigt, werden zunächst die Beschleunigungssektionen (AccSections), d.h. die Abschnitte 0 bis 2 gebildet, um die Maximalgeschwindigkeit zu erreichen. Dann wird zuerst im Modus der zweiten Verfahrensanweisung verfahren und später noch einmal Sektionen gebildet, nämlich die Abschnitte 4 bis 6. Dieser Fall entspricht folglich im Wesentlichen dem Fall aus 8.
  • 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.
  • 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.
  • Der andere Sonderfall betrifft den allerletzten Verfahrsatz im Verfahrsatzpuffer, für welchen stets vLA=0 und aLA=0 gilt. In 6 wurde die Situation aufgezeigt, dass auf eine konstante Geschwindigkeit vLA>0 abgebremst werden soll und die verbleibende Distanz des Verfahrsatzes im Modus der zweiten Verfahrensanweisung mit dieser Geschwindigkeit verfahren werden soll. Diese Lösung funktioniert jedoch nicht, wenn vLA=0 ist, denn hier kann die verbliebene Strecke nicht mehr aufgeholt werden, da bereits vollständig abgebremst wurde. Stattdessen müssen die Sektionen vorteilhaft so geplant werden, dass mit den vorhandenen Bedingungen die Restdistanz verfahren werden kann.
  • Alle diese Bedingungen können erfüllt werden, wenn der Ruck im letzten Abschnitt bzw. im letzten Verfahrsatz, wie in der 11 gezeigt, angepasst wird.
  • 12 zeigt ein Diagramm zur Abbildung von Zeiten beim Verfahrsatzübergang. Für die Bahninterpolation wird in jedem Interpolationsschritt die Interpolationsberechnungs-Methode mit den aktuellen Werten für die Position, die Geschwindigkeit, die Beschleunigung und den Ruck aufgerufen und liefert die Werte für den nächsten Schritt zurück. Die Schrittweite wird durch die Zykluszeit bestimmt. Der Interpolationsberechnungs-Methode wird die aktuelle Zeit übergeben. Zu dem Zeitpunkt, an welchem Sektionen gebildet werden, wird diese Zeit vorzugsweise temporär zwischengespeichert (Offset-Wert). Das ist insbesondere deshalb erforderlich, weil der Anfangszeitpunkt der Sektionen auf T=0 festgelegt wurde, und nicht, wie es bevorzugt sein müsste, auf die aktuelle Zeit.
  • 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.
  • 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.
  • Bezugszeichenliste
  • a
    Beschleunigung
    amax
    maximale Beschleunigung
    amin
    minimale Beschleunigung
    j
    Ruck
    jmax
    maximaler Ruck
    jmin
    minimaler Ruck
    s
    Position
    t
    Zeit
    t0, t1, t2, t3, t4, t5, t6
    Abschnitte
    T1, T2, T3, T4, T3, T6
    Zeitpunkte
    vmax
    Maximale Geschwindigkeit
    v,v2, v3, V4, v5,v6, v7
    Geschwindigkeit

Claims (8)

  1. 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 (jmax) 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.
  2. Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, dass die Beschränkungen zumindest eine Maximalgeschwindigkeit (vmax), eine Maximalbeschleunigung (amax), eine Minimalbeschleunigung (amin), einen maximalen Ruck (jmax) und einen minimalen Ruck (jmin) umfassen.
  3. Verfahren gemäß einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass die mechanische Vorrichtung ein Industrieroboter ist.
  4. Verfahren gemäß Anspruch 1 oder 2, dadurch gekennzeichnet, dass ein Verzögerungsvorgang mit den neuen Werten der Position (s), der Geschwindigkeit (v) und der Beschleunigung (a), welche als Startwerte dienen, unter Einsatz einer Verzögerungs-Methode, bei welcher eine Endgeschwindigkeit unter einer vorgegeben Strecke ermittelt wird, und einer Bremsstreckenberechnungs-Methode, bei welcher eine Strecke unter einer vorgegebenen Endgeschwindigkeit ermittelt wird, gebildet wird.
  5. Verfahren gemäß Anspruch 4, dadurch gekennzeichnet, dass mittels der Verzögerungs-Methode ermittelte Verfahrsatz-Endwerte für die Geschwindigkeit (v3) und die Beschleunigung (a3) mit den ermittelten Endwerten (vLA, aLa) der ersten Verfahrensanweisung verglichen werden, wobei immer gilt: a3≥aLA.
  6. Verfahren gemäß einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass zu Beginn jedes Verfahrsatzes mittels der zweiten Verfahrensanweisung geprüft wird, ob bei einer vorbestimmten Anfangsgeschwindigkeit (vstart) des jeweiligen Verfahrsatzes die zulässige Maximalbeschleunigung (amax) überschritten wird.
  7. Verfahren gemäß einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass der Ruck (j) zumindest teilweise frei gewählt wird.
  8. Verfahren gemäß einem der vorangegangenen Ansprüche, dadurch gekennzeichnet, dass mit jedem Aufruf der dritten Verfahrensanweisung der Zeitpunkt, welcher das zeitliche Ende der Sektionen speichert, gesetzt wird, wobei dabei die Werte für die Position (s), die Geschwindigkeit (v), die Beschleunigung (a) und den Ruck (j) zurückgeliefert werden, welche der nachfolgende Verfahrsatz im ersten Interpolationsschritt wiederum als Anfangswerte verwendet.
DE102011122434.7A 2011-12-24 2011-12-24 Verfahren zur Steuerung einer Bewegung von mechanischen Vorrichtungen unter Verwendung nacheinander interpolierter Verfahrsätze Expired - Fee Related DE102011122434B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102011122434.7A DE102011122434B4 (de) 2011-12-24 2011-12-24 Verfahren zur Steuerung einer Bewegung von mechanischen Vorrichtungen unter Verwendung nacheinander interpolierter Verfahrsätze

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102011122434.7A DE102011122434B4 (de) 2011-12-24 2011-12-24 Verfahren zur Steuerung einer Bewegung von mechanischen Vorrichtungen unter Verwendung nacheinander interpolierter Verfahrsätze

Publications (2)

Publication Number Publication Date
DE102011122434A1 DE102011122434A1 (de) 2013-06-27
DE102011122434B4 true DE102011122434B4 (de) 2019-07-04

Family

ID=48575634

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011122434.7A Expired - Fee Related DE102011122434B4 (de) 2011-12-24 2011-12-24 Verfahren zur Steuerung einer Bewegung von mechanischen Vorrichtungen unter Verwendung nacheinander interpolierter Verfahrsätze

Country Status (1)

Country Link
DE (1) DE102011122434B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021000814A1 (de) 2020-03-03 2021-09-09 Sew-Eurodrive Gmbh & Co Kg Verfahren zum Abbremsen eines Objekts und Maschine

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015103451B4 (de) * 2015-03-10 2021-09-23 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum zeitdiskreten Kontrollieren antreibbarer Achsen und Computerprogrammprodukt
CN107671859B (zh) * 2017-10-20 2018-11-02 山东大学 基于s曲线加减速的运动目标动态跟踪方法、系统及装置
EP3556521B1 (de) * 2018-04-18 2023-05-24 B&R Industrial Automation GmbH Bremswegüberwachung einer kinematik
CN111660314B (zh) * 2020-05-09 2022-08-16 北京配天技术有限公司 机器人停止缓冲区划分方法、设备及存储装置
CN113501012A (zh) * 2021-06-29 2021-10-15 湖南千盟工业智能系统股份有限公司 一种焦化机车自动高效走行及精准对位方法
CN117193161A (zh) * 2023-09-20 2023-12-08 苏州浩智工业控制技术有限公司 点位运动规划方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
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 (de) 2007-07-31 2009-02-11 Rockwell Automation Technologies, Inc. Verbesserter Mischalgorithmus für Trajektorienplanung
DE102008029657A1 (de) 2008-06-24 2009-12-31 Technische Universität Carolo-Wilhelmina Zu Braunschweig Positionsgesteuerter Mechanismus und Verfahren zur Steuerung von in mehreren Bewegungsfreiheitsgraden beweglichen Mechanismen
DE102009024130A1 (de) 2009-05-29 2010-12-02 Technische Universität Ilmenau Verfahren zur echtzeitfähigen Bahnplanung kontinuierlicher, rucksprungfreier Sollwerttrajektorien
DE102010025271A1 (de) 2010-06-28 2011-12-29 Sew-Eurodrive Gmbh & Co. Kg Verfahren und Maschine zum Bestimmen einer Bahnkurve

Patent Citations (7)

* Cited by examiner, † Cited by third party
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 (de) 2007-07-31 2009-02-11 Rockwell Automation Technologies, Inc. Verbesserter Mischalgorithmus für Trajektorienplanung
EP2022608B1 (de) 2007-07-31 2014-09-03 Rockwell Automation Technologies, Inc. Verbesserter Mischalgorithmus für Trajektorienplanung
DE102008029657A1 (de) 2008-06-24 2009-12-31 Technische Universität Carolo-Wilhelmina Zu Braunschweig Positionsgesteuerter Mechanismus und Verfahren zur Steuerung von in mehreren Bewegungsfreiheitsgraden beweglichen Mechanismen
DE102009024130A1 (de) 2009-05-29 2010-12-02 Technische Universität Ilmenau Verfahren zur echtzeitfähigen Bahnplanung kontinuierlicher, rucksprungfreier Sollwerttrajektorien
DE102010025271A1 (de) 2010-06-28 2011-12-29 Sew-Eurodrive Gmbh & Co. Kg Verfahren und Maschine zum Bestimmen einer Bahnkurve

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021000814A1 (de) 2020-03-03 2021-09-09 Sew-Eurodrive Gmbh & Co Kg Verfahren zum Abbremsen eines Objekts und Maschine
WO2021175487A1 (de) 2020-03-03 2021-09-10 Sew-Eurodrive Gmbh & Co. Kg Verfahren zum abbremsen eines objekts und maschine

Also Published As

Publication number Publication date
DE102011122434A1 (de) 2013-06-27

Similar Documents

Publication Publication Date Title
DE102011122434B4 (de) Verfahren zur Steuerung einer Bewegung von mechanischen Vorrichtungen unter Verwendung nacheinander interpolierter Verfahrsätze
EP2421736B1 (de) Verfahren zum betrieb eines schienenfahrzeugs
DE102015221612A1 (de) Verfahren, Computer-lesbares Medium, Fahrerassistenzsystem und Fahrzeug umfassend das Fahrerassistenzsystem zum Berechnen einer Trajektorie zum Führen eines Fahrzeugs
DE112013002882T5 (de) Fahrzeugfahrtsteuervorrichtung
EP3676139B1 (de) Verfahren und einrichtung zur ermittlung von bremsungsrelevanten ist-werten eines schienenfahrzeuges für die durchführung einer verzögerungsgeregelten bremsung mit verteilter sensorik
DE102014223000A1 (de) Einstellbare Trajektorienplanung und Kollisionsvermeidung
EP3071501B1 (de) Verfahren zum betrieb einer aufzugssteuerungseinrichtung
DE102014210174B4 (de) Bestimmen eines kritischen Fahrzeugzustands und einer Fahrzeugmindestentfernung
DE102005061570A1 (de) Ermittlungsverfahren für eine lagegeführte abzufahrende Grobbahn
DE102015205099A1 (de) Bremsen eines Schienenfahrzeugs
EP0997257A1 (de) Verfahren zum Steuern eines Bewegungsablaufs eines bewegbaren Bauteils einer Kunststoff-Spritzgiessmaschine
DE2631540C3 (de) Einrichtung zur Optimierung der Fahrgeschwindigkeit bei einem spurgebundenen Fahrzeug
EP2527221A1 (de) Verfahren zum Betrieb eines längsführenden Fahrerassistenzsystems eines Kraftfahrzeugs und Kraftfahrzeug
DE102010025271A1 (de) Verfahren und Maschine zum Bestimmen einer Bahnkurve
DE102014018974B4 (de) Steuervorrichtung für eine Spritzgussmaschine
DE102018110297B4 (de) Verfahren und Vorrichtung zur ruckbegrenzten Trajektorieplanung und Echtzeit-Steuerung einer Bewegung
DE102017106559B4 (de) Auslegung oder Durchführung einer Bewegungsaufgabe einer bewegten Masse in einer mechanischen Anlage entlang zumindest einer Bewegungsachse
DE2643148C2 (de)
EP2135143B1 (de) Verfahren und einrichtung zur bewegungsführung eines bewegbaren maschinenelements einer numerisch gesteuerten maschine
DE2944571C2 (de) Einrichtung zum Optimieren der Bergleistung einer Ablaufanlage
EP0038956A2 (de) Verfahren und Vorrichtung zum weggenauen Abbremsen spurgebundener Fahrzeuge
DE102021103126B4 (de) Verfahren zum Beschleunigen einer Handhabungs-Maschine
DE102012014012B4 (de) Verfahren zum Steuern der Längsbewegung eines schienengebundenen Fahrzeugs, Kurvenfahrtsteuerungsvorrichtung und schienengebundenes Fahrzeug
DE102022203133A1 (de) Verfahren zum Manövrieren eines Fahrzeugs in eine Parklücke
DE102004048993B4 (de) System und Verfahren zur Steuerung von schienengebundenen Fahrzeugen, insbesondere von Zügen, mittels einer Steuerzentrale, in Abhängigkeit vom Zustand des Fahrwegs, insbesondere des verfügbaren Reibwertes

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