DE102014103370A1 - Verfahren und Vorrichtung zur zeitdiskreten Steuerung eines Manipulators - Google Patents

Verfahren und Vorrichtung zur zeitdiskreten Steuerung eines Manipulators Download PDF

Info

Publication number
DE102014103370A1
DE102014103370A1 DE102014103370.1A DE102014103370A DE102014103370A1 DE 102014103370 A1 DE102014103370 A1 DE 102014103370A1 DE 102014103370 A DE102014103370 A DE 102014103370A DE 102014103370 A1 DE102014103370 A1 DE 102014103370A1
Authority
DE
Germany
Prior art keywords
soll
trajectories
axes
manipulator
target
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.)
Granted
Application number
DE102014103370.1A
Other languages
English (en)
Other versions
DE102014103370B4 (de
Inventor
Friedrich Lange
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.)
Deutsches Zentrum fuer Luft und Raumfahrt eV
Original Assignee
Deutsches Zentrum fuer Luft und Raumfahrt eV
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 Deutsches Zentrum fuer Luft und Raumfahrt eV filed Critical Deutsches Zentrum fuer Luft und Raumfahrt eV
Priority to DE102014103370.1A priority Critical patent/DE102014103370B4/de
Publication of DE102014103370A1 publication Critical patent/DE102014103370A1/de
Application granted granted Critical
Publication of DE102014103370B4 publication Critical patent/DE102014103370B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/416Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40454Max velocity, acceleration limit for workpiece and arm jerk rate as constraints
    • 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/43062Maximum acceleration, limit
    • 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/43065Limitation of jerk

Landscapes

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

Abstract

Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur zeitdiskreten Steuerung einer Anzahl N antreibbarer Achsen eines Manipulators. Das Verfahren ist dadurch gekennzeichent dass, in einem aktuellen Zeitschritt k Zustände ZN(k - τ) der N Achsen des Manipulators hinsichtlich der jeweiligen Positionen qN(k – τ), Geschwindigkeiten, vN(k – τ), Beschleunigungen aN(k – τ) und/oder Rucke jN(k – τ) der Achsen bereitgestellt werden, wobei gilt: τ = 0, 1, 2, ..., TE und TE vorgegeben ist, für jede der Achsen ein Positionsgrenzwert qG,N, ein Geschwindigkeitsgrenzwert vG,N, ein Beschleunigungsgrenzwert aG,N und/oder ein Ruckgrenzwert jG,N vorgegeben wird, für jede der Achsen im Zeitschritt k eine Soll-Trajektorie Tsoll,N(k) vorgegeben wird, welche die Soll-Positionen qsoll,N(k + κ) der Achse für den aktuellen und künftige Zeitschritte k, k + 1, k + 2, ... angibt, wobei gilt κ = 0, 1, 2, ..., κE und κE vorgegeben ist, basierend auf den bekannten Zuständen ZN(k – τ) und den vorgegebenen Soll-Trajektorien Tsoll,N(k) prädiktiv für die Zeitschritte k, k + 1, ..., k + κE geprüft wird, ob eine Umsetzung der Soll-Trajektorien Tsoll,N(k) zu einer Überschreitung eines der Grenzwerte qG,N, vG,N, aG,N und/oder jG,N führt, und bejahendenfalls die Soll-Trajektorien Tsoll,N(k) iterativ solange korrigiert werden, bis Soll-Trajektorien T*soll,N(k) erzeugt sind, welche keinen der vorgegebenen Grenzwerte qG,N, vG,N, aG,N, jG,N für den aktuellen oder die künftigen Zeitschritte überschreiten, und die N antreibbaren Achsen des Manipulators basierend auf den Soll-Trajektorien T*soll,N(k) gesteuert werden, oder andernfalls die N antreibbaren Achsen des Manipulators basierend auf den Soll-Trajektorien Tsoll,N(k) gesteuert werden.

Description

  • Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur zeitdiskreten Steuerung einer Anzahl N antreibbarer Achsen eines Manipulators, insbesondere eines Industrieroboters. Die Erfindung findet Anwendung in der Robotik sowie auch in der Steuerungs- und Automatisierungstechnik.
  • Die (Soll-)Trajektorien antreibbarer Achsen eines Manipulators werden typischerweise offline geplant bzw. berechnet, und dienen dann als Grundlage der Steuerung des Manipulators. Unter dem Begriff „Trajektorie” wird vorliegend eine Funktion der Achspositionen (Bahnpunkte) für eine Achse in Abhängigkeit der Zeit verstanden. Bei Vorhandensein und Verwendung von Sensoren zur Erfassung einer Umgebung des Manipulators, können Änderung der ursprünglich geplanten Trajektorien in Abhängigkeit der von den Sensoren erfassten Umgebung auch online durchgeführt werden. Die Manipulatorbewegung wird in letzterem Fall abhängig von den gemessenen Sensorwerten und der ursprünglich geplanten Trajektorien gesteuert, indem zu einem Zeitpunkt neue Soll-Trajektorien ermittelt und vorgegeben werden. Dabei sind bei der Steuerung typischerweise für jede Achse des Manipulators vorgegebene Grenzwerte für die Geschwindigkeit und die Beschleunigung einzuhalten. Zusätzlich ist die Vorgabe und Einhaltung von Grenzwerten für den Ruck für jede Achse bekannt, um die mechanischen Belastungen der Bauteile des Manipulators zu begrenzen. Unter dem Begriff „Ruck” versteht man vorliegend die 3. Ableitung der jeweiligen Achsposition nach der Zeit.
  • Ein gattungsgemäßes Verfahren zur zeitdiskreten Steuerung einer Anzahl N antreibbarer Achsen eines Manipulators ist beispielsweise aus der EP 0 583 487 A1 bekannt. Darin wird ein Verfahren offenbart, bei dem das aktuelle Steuerkommando jeder Achse so abgeändert wird, dass es die Beschränkungen von Geschwindigkeit und Beschleunigung erfüllt. Die dabei nicht ausgeführten Anteile der jeweiligen Achs-Bewegung entsprechend der ursprünglich geplanten Trajektorien werden in den folgenden Zeitschritten nachgeholt. Zur Erhöhung der Bahntreue der Bewegung wird die Bewegung aller Achsen gleich skaliert, so wird beispielsweise eine in einer Achse erforderliche Skalierung der Geschwindigkeit auf 80% auch in den anderen Achsen übernommen. Dies ergibt grundsätzlich eine bahntreue Bewegung. Dagegen führt die gleichmäßige Skalierung von Beschleunigung oder Ruck nicht immer zu einer bahntreuen Bewegung.
  • Unter Berücksichtigung des Rucks und in Anbetracht von immer geringer werdenden Abtastzeiten (Zeit-Inkrementen) kommen die bisherigen Verfahren zur Steuerung eines Manipulators an ihre Grenzen. So kommt es beispielsweise beim Anfahren eines Bewegungsablaufs eines Manipulators vor, dass die Achsen des Manipulators über zehn oder mehr Schritte in der vorgegebenen Begrenzung der Beschleunigung oder des Rucks liegen, bis die vorgegebenen Zieltrajektorien (= Soll-Trajektorien) erreicht sind. Dann ist aber die Geschwindigkeit einzelner Achsen jedoch meist höher als gefordert, was zu einem Überschwingen der Bewegung führt. Dadurch kann sich eine schwach gedämpfte Schwingung um die Zieltrajektorie ergeben. Bei engen Grenzen für den Ruck oder bei geringen Abtastzeiten kann die Skalierung der Beschleunigung und des Rucks sogar zu aufklingenden Positionssollwerten führen (Instabilität).
  • Deshalb werden anstelle der reinen Skalierung des aktuellen Bewegungskommandos, wie vorstehend erläutert, Verfahren zur Trajektoriengenerierung, wie beispielsweise in der DE 10 2009 024 130 A1 vorgeschlagen. Diese Verfahren skalieren eine geometrisch vorgegebene Bahn im Laufe ihres Durchfahrens zeitlich so, dass eine ausführbare Trajektorie entsteht. Allerdings sind sie nicht auf Beschränkungen auf der Basis der Achsen des Manipulators anwendbar, da sie sich auf den 3-dimensionalen kartesischen Raum beziehen und die Orientierungen nicht berücksichtigen. Aus DE 10 2008 029 657 A1 ist ein Verfahren bekannt, das für jede Achse eine geringstmögliche Zeit zum Erreichen des Zielzustands berechnet und die Gesamtbewegung aufgrund der Achse bestimmt, die zum Erreichen des Zielzustands am längsten braucht. Die Generierung solcher skalierter Trajektorien lehnt sich dabei an die bekannten Verfahren zur offline-Generierung von Trajektorien für Achsen eines Manipulators an, die die vorgegebenen Positionen meist zeitoptimal (d. h. in geringstmöglicher Zeit) unter Berücksichtigung vorgegebener Grenzwerte verbinden. Nachteilig bei diesen Verfahren ist, dass sich die ermittelten Trajektorien zeitoptimal auf die Soll-Bahn hin entwickeln, so dass diese in minimaler Zeit ausgeführt bzw. erreicht wird. Die Bewegung auf zeitlich angepassten Trajektorien, d. h. die Synchronisierung mit den vorgegebenen Soll-Trajektorien ist jedoch nicht vorgesehen. Weiterhin nachteilig ist, dass Zwischen-Zeitschritte zwischen einem aktuellen Zeitschritt und dem Zeitschritt, in dem die Soll-Trajektorien erreicht werden, nicht betrachtet werden. Insofern kann keine Angabe zur Bahntreue gemacht werden. Eine bahntreue Bewegung wird daher nur in Ausnahmefällen erreicht. Weiterhin nachteilig ist, dass Beschleunigungen am oder kurz nach Erreichen der Soll-Trajektorien nicht berücksichtigt werden und somit dort zu einem Verlassen der Zieltrajektorien führen können. Schließlich ist nachteilig, dass die Soll-Trajektorien unabhängig von der Stärke der Beschränkung aus wenigen Abschnitten mit jeweils konstanter Beschleunigung oder konstantem Ruck bestehen, ähnlich der zeitoptimalen Steuerung von zeitdiskreten Regelungssystemen (Dead-beat Regelung). Dies ist gegenüber einer robusten Regelung als ungünstig bekannt, sofern Störungen existieren. Insbesondere können Zwischenzustände erreicht werden, die weit von einer direkten Verbindung zwischen Start- und Zielpunkt einer Trajektorie liegen.
  • Andere bekannte Verfahren erlauben darüber hinaus weder die Berücksichtigung der aktuellen Geschwindigkeit und Beschleunigung noch die Spezifikation einer Geschwindigkeit am Zielpunkt der Soll-Trajektorie. Wiederum andere Verfahren sind so rechenintensiv, dass sie zur online Generierung von Trajektorien bei kleinen Abtastzeiten nicht geeignet sind.
  • Die Aufgabe der Erfindung ist es, ein Verfahren und eine Vorrichtung zur zeitdiskreten Steuerung einer Anzahl N antreibbarer Achsen eines Manipulators bereit zu stellen, die die vorstehend genannten Nachteile zumindest weitgehend überwinden.
  • Die Erfindung ergibt sich aus den Merkmalen der unabhängigen Ansprüche. Vorteilhafte Weiterbildungen und Ausgestaltungen sind Gegenstand der abhängigen Ansprüche. Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung, sowie der Erläuterung von Ausführungsbeispielen der Erfindung, die in den Figuren dargestellt sind.
  • Ein Aspekt der Erfindung betrifft ein Verfahren zur zeitdiskreten Steuerung einer Anzahl N antreibbarer Achsen eines Manipulators, bei dem in einem aktuellen Zeitschritt k Zustände ZN(k – τ) der N Achsen des Manipulators hinsichtlich der jeweiligen Positionen qN(k – τ), Geschwindigkeiten vN(k – τ), Beschleunigungen aN(k – τ) und/oder Rucke jN(k – τ) der Achsen bereitgestellt werden, wobei gilt: τ = 0, 1, 2, ..., τE und τE vorgegeben ist. Die Zustände ZN(k – τ) der N Achsen des Manipulators werden vorteilhaft zunächst von entsprechenden Bewegungssensoren erfasst, wobei Zustände vergangener Zeitschritte k – τ mit: τ = 1, 2, ..., τE vorteilhaft in einem Speichermedium gespeichert und von diesem bereitgestellt werden.
  • Weiterhin wird für jede der Achsen ein Positionsgrenzwert qG,N, ein Geschwindigkeitsgrenzwert vG,N, ein Beschleunigungsgrenzwert aG,N und/oder ein Ruckgrenzwert jG,N vorgegeben. Diese Grenzwerte werden vorteilhaft derart ausgewählt, dass mechanische Belastungen des Manipulators in zulässigen Grenzen gehalten werden und ggf. weitere betrieblich motivierte Grenzbedingungen eingehalten werden. Weiterhin wird für jede der Achsen des Manipulators im Zeitschritt k eine Soll-Trajektorie Tsoll,N(k) vorgegeben, welche die Soll-Positionen qsoll,N(k + κ) der Achse für den aktuellen und künftige Zeitschritte k, k + 1, k + 2, ... angibt, wobei gilt κ = 0, 1, 2, ..., κE und κE vorgegeben ist. Diese Soll-Trajektorien Tsoll,N(k) können beispielsweise durch eine offline-Planung, oder in Abhängigkeit von Sensoren zur Erfassung einer Umgebung des Manipulators, oder durch eine manuelle Eingabe eines Bedieners erzeugt sein. Die Soll-Trajektorien Tsoll,N(k) geben somit die Soll-Positionen qsoll,N(k + κ) der N Achsen für den aktuellen und die künftigen Zeitschritte gilt κ = 0, 1, 2, ..., κE vor. Die Wahl κE, d. h. die Anzahl der dabei zu berücksichtigenden künftigen Zeitschritte hängt unter anderem von der jeweiligen Aufgabenstellung, den Zeitinkrementen und der verfügbaren Rechenleistung ab und ist entsprechend zu wählen.
  • Erfindungsgemäß wird nun basierend auf den bekannten Zuständen ZN(k – τ) und den vorgegebenen Soll-Trajektorien Tsoll,N(k) prädiktiv für die Zeitschritte k, k + 1, ..., k + κE geprüft, ob eine Umsetzung der Soll-Trajektorien Tsoll,N(k) zu einer Überschreitung eines der Grenzwerte qG,N, vG,N, aG,N und/oder jG,N führt. Ist dies der Fall, d. h. wird vorausschauend bei der Umsetzung der Soll-Trajektorien Tsoll,N(k) ein solcher Grenzwert überschritten, dann werden die Soll-Trajektorien Tsoll,N(k) iterativ solange korrigiert, bis Soll-Trajektorien T*soll,N(k) erzeugt sind, welche keinen der vorgegebenen Grenzwerte qG,N, vG,N, aG,N, jG,N für den aktuellen oder die künftigen Zeitschritte überschreiten. Die N antreibbaren Achsen des Manipulators werden in diesem Fall basierend auf den ermittelten Soll-Trajektorien T*soll,N(k) gesteuert. Wird bei der vorstehend angeführten prädiktiven Prüfung, ob eine Umsetzung der Soll-Trajektorien Tsoll,N(k) zu einer Überschreitung eines der Grenzwerte qG,N, vG,N, aG,N und/oder jG,N führt, festgestellt, dass dabei keine Überschreitung der vorgegebenen Grenzwerte erfolgt, dann werden die N antreibbaren Achsen des Manipulators basierend auf den Soll-Trajektorien Tsoll,N(k) gesteuert.
  • Das vorgeschlagene Verfahren berechnet somit in jedem aktuellen Zeitschritt k die den gemessenen Sensordaten [Zustände ZN(k – τ)] entsprechenden Sollpositionen zur Übergabe bspw. an Lageregelkreise der Manipulatorachsen eines Roboters. Dabei handelt sich jeweils um den ersten Zeitschritt einer neu geplanten Soll-Trajektorie T*soll,N(k), die den Manipulator vom aktuellen Zustand auf die durch die Sensordaten ermittelte Soll-Trajektorie überführt. Im aktuellen Zeitschritt k werden die Sensordaten, die erst in diesem Zeitschritt k verfügbar sind, bereits zur Bestimmung der Soll-Trajektorien T*soll,N(k) ab dem Schritt k verwendet.
  • Eine besonders bevorzugte Weiterbildung des Verfahrens zeichnet sich dadurch aus, dass die iterativ erzeugten Soll-Trajektorien T*soll,N(k) bahntreu sind. Das bedeutet, dass die Soll-Trajektorien T*soll,N(k) die durch die ursprünglich vorgegebenen Soll-Trajektorien Tsoll,N(k) definierte räumliche Bahn nicht.
  • Gemäß einer Weiterbildung des Verfahrens umfasst die Ermittlung der iterativ erzeugten Soll-Trajektorien T*soll,N(k) Vorwärts- und Rückwärtsiterationen. Das bedeutet, dass bei der iterativen Ermittlung der Soll-Trajektorien T*soll,N(k) sowohl Iterationen mit Schritten k* – > k* + 1 als auch Iterationen mit Schritte k* -> k* – 1 umfasst sind. Dies erzeugt robustere Ergebnisse für die Soll-Trajektorien T*soll,N(k).
  • Gemäß einer Weiterbildung des Verfahrens werden die einzelnen Soll-Positionen q*soll,N(k + κ) der erzeugten Soll-Trajektorien T*soll,N(k) auf Basis einer Skalierung der Geschwindigkeiten vsoll,N(k + κ – i) ermittelt, die sich aus den vorgegebenen Soll-Trajektorien Tsoll,N(k) oder aus bisher ermittelten Soll-Trajektorien T*soll,N(k) ergeben, wobei i für jeden Zeitpunkt k + κ geeignet gewählt wird.
  • Gemäß einer Weiterbildung des Verfahrens wird die Einhaltung der Grenzwerte aG,N und jG,N für den Zeitschritt k + κ durch iterative Verschiebung der bisher erzeugten vorangegangenen oder folgenden Positionen q*soll,N(k + κ + i) erreicht, wobei i in jedem Korrekturschritt geeignet gewählt wird.
  • Das vorgeschlagene Verfahren wird bevorzugt in Echtzeit ausgeführt.
  • Die Aufgabe wird weiterhin gelöst durch ein Computersystem, mit einer Datenverarbeitungsvorrichtung, wobei die Datenverarbeitungsvorrichtung derart ausgestaltet ist, dass ein Verfahren, wie vorstehend beschrieben, auf der Datenverarbeitungsvorrichtung ausgeführt wird.
  • Zudem wird die Aufgabe gelöst durch ein digitales Speichermedium mit elektronisch auslesbaren Steuersignalen, wobei die Steuersignale so mit einem programmierbaren Computersystem zusammenwirken können, dass ein Verfahren, wie vorstehend beschrieben, ausgeführt wird.
  • Ferner wird die Aufgabe gelöst durch ein Computer-Programm-Produkt mit auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung des Verfahrens, wie vorstehend beschrieben, wenn der Programmcode auf einer Datenverarbeitungsvorrichtung ausgeführt wird.
  • Schließlich betrifft die Erfindung ein Computer-Programm mit Programmcodes zur Durchführung des Verfahrens, wie vorstehend beschrieben, wenn das Programm auf einer Datenverarbeitungsvorrichtung abläuft. Dazu kann die Datenverarbeitungsvorrichtung als ein beliebiges aus dem Stand der Technik bekanntes Computersystem ausgestaltet sein.
  • Ein weitere Aspekt der Erfindung betrifft eine Vorrichtung zur zeitdiskreten Steuerung einer Anzahl N antreibbarer Achsen eines Manipulators, umfassend ein erstes Mittel, mit dem in einem aktuellen Zeitschritt k Zustände ZN(k – τ) der N Achsen des Manipulators hinsichtlich der jeweiligen Positionen qN(k – τ), Geschwindigkeiten, vN(k – τ), Beschleunigungen aN(k – τ) und/oder Rucke jN(k – τ) der Achsen bereitgestellt werden, wobei gilt: τ = 0, 1, 2, ..., τE und τ E vorgegeben ist, ein zweites Mittel, mit dem für jede der Achsen ein Positionsgrenzwert qG,N, ein Geschwindigkeitsgrenzwert vG,N, ein Beschleunigungsgrenzwert aG,N und/oder ein Ruckgrenzwert jG,N vorgegeben wird, ein drittes Mittel, mit dem für jede der Achsen im Zeitschritt k eine Soll-Trajektorie Tsoll,N(k) vorgegeben wird, welche die Soll-Positionen qsoll,N(k + κ) der Achse für den aktuellen und künftige Zeitschritte k, k + 1, k + 2, ... angibt, wobei gilt κ = 0, 1, 2, ..., κE und κE vorgegeben ist, und ein viertes Mittel, mit dem basierend auf den bekannten Zuständen ZN(k – τ) und den vorgegebenen Soll-Trajektorien Tsoll,N(k) prädiktiv für die Zeitschritte k, k + 1, ..., k + κE geprüft wird, ob eine Umsetzung der Soll-Trajektorien Tsoll,N(k) zu einer Überschreitung eines der Grenzwerte qG,N, vG,N, aG,N und/oder jG,N führt, und bejahendenfalls die Soll-Trajektorien Tsoll,N(k) iterativ solange korrigiert werden, bis Soll-Trajektorien T*soll,N(k) erzeugt sind, welche keinen der vorgegebenen Grenzwerte qG,N, vG,N, aG,N, jG,N für den aktuellen oder die künftigen Zeitschritte überschreiten, und die N antreibbaren Achsen des Manipulators basierend auf den Soll-Trajektorien T*soll,N(k) gesteuert werden, oder andernfalls die N antreibbaren Achsen des Manipulators basierend auf den Soll-Trajektorien Tsoll,N(k) gesteuert werden.
  • Vorteilhaft ist das vierte Mittel derart ausgeführt, dass die iterativ erzeugten Soll-Trajektorien T*soll,N(k – 1) bahntreu sind.
  • Vorteile und vorteilhafte Weiterbildungen der vorgeschlagenen Vorrichtung ergeben sich durch eine analoge und sinngemäße Übertragung der vorstehend zu dem erfindungsgemäßen Verfahren gemachten Ausführungen.
  • Schließlich betrifft die Erfindung einen Roboter mit einer Vorrichtung, wie sie vorstehend beschrieben ist.
  • Weitere Vorteile, Merkmale und Einzelheiten ergeben sich aus der nachfolgenden Beschreibung, in der – gegebenenfalls unter Bezug auf die Zeichnung – zumindest ein Ausführungsbeispiel im Einzelnen beschrieben ist. Gleiche, ähnliche und/oder funktionsgleiche Teile sind mit gleichen Bezugszeichen versehen. Es zeigen:
  • 1 ein schematisiertes Ablaufschema eines erfindungsgemäßen Verfahrens,
  • 2 einen schematisierten Aufbau einer erfindungsgemäßen Vorrichtung,
  • 3 ein erstes Simulationsergebnis zur Verdeutlichung des Verfahrens
  • 4 ein zweites Simulationsergebnis zur Verdeutlichung des Verfahrens
  • 1 zeigt ein schematisiertes Ablaufschema eines erfindungsgemäßen Verfahrens zur zeitdiskreten Steuerung einer Anzahl N antreibbarer Achsen eines Manipulators, mit folgenden Schritten. In einem ersten Schritt 101 erfolgt in einem aktuellen Zeitschritt k ein Vorgeben von Zuständen ZN(k – τ) der N Achsen des Manipulators hinsichtlich der jeweiligen Positionen qN(k – τ), Geschwindigkeiten, vN(k – τ), Beschleunigungen aN(k – τ) und/oder Rucke jN(k – τ) der Achsen, wobei gilt: τ = 0, 1, 2, ..., τE und τE vorgegeben ist. Die Zustände werden von entsprechenden Sensoren erfasst und auf einer Speichereinheit gespeichert und von dieser bereitgestellt. In einem Schritt 102 werden für jede der Achsen ein Positionsgrenzwert qG,N, ein Geschwindigkeitsgrenzwert vG,N, ein Beschleunigungsgrenzwert aG,N und/oder ein Ruckgrenzwert jG,N vorgegeben. In einem Schritt 103 wird für jede der Achsen im Zeitschritt k eine Soll-Trajektorie Tsoll,N(k) vorgegeben, welche die Soll-Positionen qsoll,N(k + κ) der Achse für den aktuellen und künftige Zeitschritte k, k + 1, k + 2, ... angibt, wobei gilt κ = 0, 1, 2, ..., κE und κE vorgegeben ist. In einem Schritt 104 wird basierend auf den bekannten Zuständen ZN(k – τ) und den vorgegebenen Soll-Trajektorien Tsoll,N(k) prädiktiv für die Zeitschritte k, k + 1, ..., k + κE geprüft, ob eine Umsetzung der Soll-Trajektorien Tsoll,N(k) zu einer Überschreitung eines der Grenzwerte qG,N, vG,N, aG,N und/oder jG,N führt. Ist diese Prüfung positiv, d. h. wird eine Überschreitung mindestens eines Grenzwertes festgestellt, so werden in einem Schritt 105 die Soll-Trajektorien Tsoll,N(k) iterativ solange korrigiert werden, bis Soll-Trajektorien T*soll,N(k) erzeugt sind, welche keinen der vorgegebenen Grenzwerte qG,N, vG,N, aG,N, jG,N für den aktuellen oder die künftigen Zeitschritte überschreiten. Dabei erfolgt vorteilhaft eine Vorwärts- und eine Rückwärtsiteration.
  • Liegen die Soll-Trajektorien T*soll,N(k) vor, so werden in einem Schritt 106 die N antreibbaren Achsen des Manipulators basierend auf den Soll-Trajektorien T*soll,N(k) gesteuert. Ist die prädiktive Prüfung negativ, d. h. wird keine Überschreitung eines Grenzwertes festgestellt, so werden in einem Schritt 107 die N antreibbaren Achsen des Manipulators basierend auf den ursprünglichen Soll-Trajektorien Tsoll,N(k) gesteuert.
  • Das Verfahren wird online ausgeführt.
  • 2 zeigt einen schematisierten Aufbau einer erfindungsgemäßen Vorrichtung zur zeitdiskreten Steuerung einer Anzahl N antreibbarer Achsen eines Manipulators, umfassend: ein erstes Mittel 201, mit dem in einem aktuellen Zeitschritt k Zustände ZN(k – τ) der N Achsen des Manipulators hinsichtlich der jeweiligen Positionen qN(k – τ), Geschwindigkeiten, vN(k – τ), Beschleunigungen aN(k – τ) und/oder Rucke jN(k – τ) der Achsen bereitgestellt werden, wobei gilt: τ = 0, 1, 2, ..., τE und τE vorgegeben ist, ein zweites Mittel 202, mit dem für jede der Achsen ein Positionsgrenzwert qG,N, ein Geschwindigkeitsgrenzwert vG,N, ein Beschleunigungsgrenzwert aG,N und/oder ein Ruckgrenzwert jG,N vorgegeben wird, ein drittes Mittel 203, mit dem für jede der Achsen im Zeitschritt k eine Soll-Trajektorie Tsoll,N(k) vorgegeben wird, welche die Soll-Positionen qsoll,N(k + κ) der Achse für den aktuellen und künftige Zeitschritte k, k + 1, k + 2, ... angibt, wobei gilt κ = 0, 1, 2, ..., κE und κE vorgegeben ist, und ein viertes Mittel 204, mit dem basierend auf den bekannten Zuständen ZN(k – τ) und den vorgegebenen Soll-Trajektorien Tsoll,N(k) prädiktiv für die Zeitschritte k, k + 1, ..., k + κE geprüft wird, ob eine Umsetzung der Soll-Trajektorien Tsoll,N(k) zu einer Überschreitung eines der Grenzwerte qG,N, vG,N, aG,N und/oder jG,N führt, und bejahendenfalls die Soll-Trajektorien Tsoll,N(k) iterativ solange korrigiert werden, bis Soll-Trajektorien T*soll,N(k) erzeugt sind, welche keinen der vorgegebenen Grenzwerte qG,N, vG,N, aG,N, jG,N für den aktuellen oder die künftigen Zeitschritte überschreiten, und die N antreibbaren Achsen des Manipulators basierend auf den Soll-Trajektorien T*soll,N(k) gesteuert werden, oder andernfalls die N antreibbaren Achsen des Manipulators basierend auf den Soll-Trajektorien Tsoll,N(k) gesteuert werden.
  • Im Folgenden wird ein Ausführungsbeispiel des vorgeschlagenen Verfahrens detailliert beschrieben. Das Verfahren gemäß dieses Ausführungsbeispiels berechnet die Soll-Positionen qsoll,N(k + κ) der Soll-Trajektorien Tsoll,N(k) der einzelnen Achsen des Manipulators für den aktuellen Zeitschritt k prädiktiv. Dabei wird nach Möglichkeit bahntreu skaliert, so dass die künftige Bewegungen des Manipulators die Soll-Trajektorien Tsoll,N(k) nicht verlassen werden. Dies ist bei Bewegungen mit reinen Beschleunigungen meist möglich, nicht aber bei Verzögerungen einzelner Achsen, z. B. bei einer abrupten Änderung der Bewegungsrichtung. Dazu werden die aktuellen Soll-Trajektorien Tsoll,N(k) prädiktiv ausgewertet, so dass zukünftige Überschreitungen von Grenzwerten bereits im aktuellen Zeitschritt k berücksichtigt werden. Dadurch wird die Gefahr von Instabilitäten vermieden. Außerdem kann dadurch eine weitgehend bahntreue Bewegung des Manipulators erreicht werden. Konkret werden die berechneten Soll-Trajektorien T*soll,N(k) durch Rückrechnung von zukünftig erforderlichen Skalierungen iterativ so lange korrigiert, bis die gesamten Trajektorien T*soll,N(k) bahntreu die vorgegebenen Begrenzungen für Geschwindigkeit, Beschleunigung und Ruck erfüllen, oder bis ein vorgegebenes Abbruchkriterium erreicht ist, das vermuten lässt, dass eine solche Lösung nicht gefunden werden kann. Weiterhin werden in der Iteration neben den Schritten der Rückrechnung auch eine Vorwärtsrechnung oder mehrere Iterationen mit Rück- und/oder Vorwärtsrechnung verwendet, um eine sonst nicht erreichbare Lösung zu finden oder die Konvergenz zu beschleunigen.
  • Im Folgenden wird qd(k), vd(k), ad(k) und jd(k) für die Sollposition qsoll,N(k) und deren Ableitungen eingeführt, so wie qc(k), vc(k), ac(k) und jc(k) für die korrigierte Sollposition q*soll,N(k) und deren Ableitungen. Die vergangenen Positionen qN(k – τ) werden auch durch qd(k – τ) beschrieben. Das Gleiche gilt für deren Ableitungen. Die Grenzwerte vG,N, aG,N und jG,N werden als v, a und j bezeichnet.
  • Zunächst wird die Skalierung für einen Zeitschritt beschrieben. Dabei sei die gewünschte Achsposition qd(k) der Eingang des jeweiligen Iterationsschrittes, der in ein Kommando qc(k) verändert wird, um die vorgegebenen Restriktionen (Grenzwerte) zu erfüllen. Der Übersichtlichkeit halber wird dies in drei Schritten erklärt, nämlich getrennt für die Begrenzung der Geschwindigkeit, der Beschleunigung, und des Rucks. Die Iterationen werden jedoch vorzugsweise in einer einzigen Schleife erfolgen, die alle Restriktionen berücksichtigt. Dadurch wird verhindert, dass beispielweise eine Skalierung des Rucks einer Achse i1 zu einer unzulässigen Beschleunigung in einer anderen Achse i2 führt. Bei den folgenden Erläuterung wird die Abtastzeit, d. h. das Zeitinkrement, der Einfachheit halber auf T0 = 1 gesetzt und in den Gleichungen weggelassen, was bedeutet, dass die Zeit in Zeitschritten anstelle von Sekunden ausgedrückt wird.
  • Nach der Skalierung der Geschwindigkeit muss die folgende Ungleichung erfüllt sein. |vc(k)| = |qc(k) – qc(k – 1)| ≤ v (1)
  • Wenn die gewünschte Position diese Restriktion auch nur in einer Achse i verletzt, wenn also gilt: |vdi(k)| = |qdi(k) – qdi(k – 1) > v i, dann muss die Geschwindigkeit skaliert werden. Eine Skalierung der Geschwindigkeit zwischen den Zeitpunkten (k – 1) und k ergibt immer eine bahntreue Trajektorie.
  • Diese Änderung erfolgt in zwei Schritten: Zuerst wird der Skalierungsfaktor α aus
    Figure DE102014103370A1_0002
    berechnet. Dies ist immer möglich und ergibt α > 1. Dann wird die Geschwindigkeit in allen Achsen durch qc(k) = qd(k – 1) + vd(k)/α. (3) skaliert.
  • Nach der Skalierung der Beschleunigung muss folgende Ungleichung erfüllt sein. |ac(k)| = |qc(k) – 2qc(k – 1) + gc(k – 2)| ≤ a. (4)
  • Wenn die gewünschte Position diese Restriktion auch nur in einer Achse i verletzt, wenn also gilt: |adi(k)| = |qdi(k) – 2qdi(k – 1) + qdi(k – 2)| > a i, dann wird die Geschwindigkeit skaliert.
  • Aus Gleichung (3) ergibt sich: |qd(k – 1) + vd(k)/α – 2qd(k – 1) + qd(k – 2)| ≤ a (5) und somit den Skalierungsfaktor
    Figure DE102014103370A1_0003
  • Das Vorzeichen von a i ist positiv, wenn adi(k) > a i, es ist negativ, wenn gilt:
    αdi(k) < –α i. Andernfalls trägt Achse i nicht zur Berechnung von α bei, da (4) für diese Komponente i erfüllt ist.
  • Wenn α > 1 ist, erfüllt die Änderung (3) die Restriktion (4) in allen Achsen. Diese Änderung ist bahntreu. Aber die Bedingung für α ist nicht immer erfüllt. Die Skalierung einer Achse i1 kann eine Begrenzung in einer anderen Achse i2 hervorrufen, da, der Wert von qc(k), der durch (3) verändert wurde, nun in (4) eingesetzt werden muss. Vereinfacht gesagt, wenn die Geschwindigkeit aufgrund einer großen Sollbeschleunigung in Achse i1 reduziert wird, kann diese Reduktion in einer Achse i2 die maximale zulässige Verzögerung übertreffen. Daher muss die Skalierung iterativ erfolgen, bis eine Lösung gefunden ist, die alle Restriktionen erfüllt.
  • Wenn so eine Lösung nicht gefunden wird, ist die Änderung der Trajektorie nicht bahntreu. In dem Fall kann die Beschleunigung direkt skaliert werden, um die Restriktionen zu erfüllen.
  • Der Skalierungsfaktor wird dabei durch
    Figure DE102014103370A1_0004
    berechnet. Die Skalierung erfolgt dann durch qc(k) = qd(k – 1) + vd(k – 1) + ad(k)/α. (8)
  • Diese Änderung der Solltrajektorie ist immer möglich, da α > 1, sofern ohne Skalierung eine Beschleunigungsgrenze verletzt wäre. Die Skalierung ergibt eine Position zwischen der Position, die ohne Beschleunigung erreicht würde und der Sollposition, die nicht erreichbar ist.
  • Nach der Skalierung des Rucks muss folgende Ungleichung erfüllt sein. |jc(k)| = |qc(k) – 3qc(k – 1) + 3qc(k – 2) – qc(k – 3)| ≤ j. (9)
  • Eine Skalierung ist erforderlich, wenn die gewünschte Position diese Restriktion auch nur in einer Achse i verletzt, wenn also gilt: |jdi(k)| = qdi(k) – 3qdi(k – 1) + 3qdi(k – 2) – qdi(k – 3)| > j i.
  • Wie bei der Beschleunigung wird zunächst versucht, die Änderung der Solltrajektorie bahntreu auszuführen, also durch Skalierung der Geschwindigkeit. (3) ergibt |qd(k – 1) + vd(k)/α – 3qd(k – 1) + 3qd(k – 2) – qd(k – 3)| ≤ j. (10)
  • Somit kann der Skalierungsfaktor
    Figure DE102014103370A1_0005
    berechnet und in (3) eingesetzt werden. Wie bei der Beschleunigung muss dies so lange wiederholt werden, bis eine Lösung gefunden wird, die alle Restriktionen erfüllt.
  • Auch hier ist es möglich, dass keine Lösung gefunden wird. Dann kann der Ruck direkt durch:
    Figure DE102014103370A1_0006
    skaliert werden. Dies ergibt immer dann α > 1, wenn ohne Skalierung eine Begrenzung auftritt. Daher ergibt sich: qc(k) = qd(k – 1) + vd(k – 1) + ad(k – 1) + jd(k)/α. (13) beschreibt immer eine zulässige Trajektorie. Auf diese Weise wird immer ein zulässiges Kommando qc(k) gefunden, sofern dies theoretisch überhaupt möglich ist. Es ist aber nicht gewährleistet, dass die Änderung der Sollposition auch bahntreu ist.
  • In der gleichen Weise wie qd(k) verändert wird, können auch Änderungen für zukünftige Sollpositionen qd(k + κ) berechnet werden, sofern diese bekannt sind. Dadurch können Abweichungen von der Sollbahn vermieden werden, also Änderungen der Sollposition, die nicht bahntreu ausgeführt werden können. Beispielsweise wird eine starke Verzögerung zum Zeitpunkt k + κ ein Überschwingen hervorrufen, sofern dies nicht durch rechtzeitiges Abbremsen verhindert wird. Auf diese Weise kann eine Reduktion der Geschwindigkeit bahntreu ausgeführt werden.
  • Dabei wird folgendermaßen wird vorgegangen. Ab dem aktuellen Zeitpunkt k werden die Sollpositionen auf Begrenzungen überprüft und bahntreu verändert, soweit möglich. Sofern das nicht möglich ist, werden die Sollpositionen der vorangegangenen Zeitschritte skaliert. Dies wird Rückrechnung genannt. Danach müssen die Zeitschritte, in denen die Sollposition verändert wurde, noch einmal überprüft werden. Dadurch ergibt sich ggf. eine weitere Rückrechnung. Andernfalls kann zum nächsten Zeitschritt übergegangen werden. Die Iteration wird beendet, wenn alle verfügbaren zukünftigen Sollpositionen überprüft und ggf. so verändert wurden, dass sich eine zulässige Trajektorie ergibt. Außerdem wird die Iteration abgebrochen, wenn eine vorgegebene Zahl an Iterationsschritten erreicht ist oder wenn der Algorithmus versucht, vergangene Positionen zu verändern, also bspw. qc(k – 1).
  • Sofern es in einem Zeitschritt k + κ nicht möglich ist, eine Begrenzung der Beschleunigung durch bahntreue Skalierung zu verhindern, erfolgt eine Rückrechnung von qd(k + κ) und qd(k + κ – 1). Dies ist immer möglich und begrenzt die Beschleunigung auf a(k + κ) = qc(k + κ) – 2qc(k + κ – 1) + qc(k + κ – 2). Zur Vereinfachung wird k + κ im Folgenden durch k ersetzt. Dann wird die Veränderung durch zwei Skalierungen der Geschwindigkeit qc(k) = qd(k – 1) + vd(k)/αk (14) qc(k – 1) = qd(k – 2) + vd(k – 1)/αk-1. (15) vorgenommen. Zur Reduktion der Rechenzeit werden diese beiden Skalierungen durch eine Skalierung mit αk = α und
    Figure DE102014103370A1_0007
    ersetzt. Daraus folgt: qc(k) = qd(k – 1) + vd(k)/α, (16) und qc(k – 1) = qd(k – 2) + vd(k – 1)·(1 + 1/α)/2, (17) was α aus (7) ergibt. Für α → ∞ konvergiert das zu qc(k) = qd(k – 1), (18) und qc(k – 1) = (qd(k – 2) + qd(k – 1))/2 (19) und liefert somit eine Beschleunigung qc(k) – 2qc(k – 1) + qc(k – 2) von Null.
  • Für die kritische Achse, aus der a berechnet wurde, ergibt sich dann qci(k) = qdi(k – 1) + vdi(k)·a i/|adi(k)|, (20) und
    Figure DE102014103370A1_0008
    und somit: qci(k) – 2qci(k – 1) + qci(k – 2) = ±a i. (22)
  • In ähnlicher Weise ist eine bahntreue Änderung von qd(k + κ), qd(k + κ – 1) und qd(k + κ – 2) immer möglich und erfüllt die Begrenzungen des Rucks jc(k + κ) = qc(k + κ) – 3qc(k + κ – 1) + 3qc(k + κ – 2) – qc(k + κ – 3). Auch hier wird k + κ durch k ersetzt. Die Veränderung erfolgt durch qc(k) = qd(k – 1) + vd(k)/αk (23) qc(k – 1) = qd(k – 2) + vd (k – 1)/αk-1 (24) qc(k – 2) = qd(k – 3) + vd(k – 2)/αk-2. (25)
  • Die Wahl von
    Figure DE102014103370A1_0009
    ergibt: qc(k) = qd(k – 1) + vd(k)/α (26) qc(k – 1) = qd(k – 2) + vd(k – 1)·(1 + 2/α)/3 (27) qc(k – 2) = qd(k – 3) + vd(k – 2)·(2 + 1/α)/3. (28)
  • Das α ergibt sich aus (12). Für α → ∞ konvergiert das zu qc(k) = qd(k – 1) (29) qc(k – 1) = (2qd(k – 2) + qd(k – 1))/3, (30) und qc(k – 2) = (qd(k – 3) + 2qd(k – 2))/3, (31) was einem Ruck von qc(k) – 3qc(k – 1) + 3qc(k – 2) – qc(k – 3) von Null entspricht.
  • Für die kritische Achse, aus der a berechnet wurde, ergibt sich:
    Figure DE102014103370A1_0010
    und somit: qci(k) – 3qci(k – 1) + 3qci(k – 2) – qci(k – 3) = ±j i·(35)
  • Die Rückrechnung wird abgebrochen, wenn der Zeitschritt k + κ mit κ = 0 nicht bahntreu verändert werden kann. Dann erfolgt eine Skalierung nach Gleichung (7) und (8) oder nach Gleichung (12) und (13), damit zumindest die Restriktionen erfüllt sind, wenn auch nicht bahntreu.
  • Neben der beschriebenen Rückrechnung ist es auch möglich, die Trajektorien durch Vorwärtsrechnung zu verändern, da die Rückrechnung allein in manchen Fällen keine bahntreue Trajektorie ergibt. Insbesondere bei Trajektorien, in denen einzelne Achsen beschleunigt werden, während andere verzögert werden, ist eine Kombination aus Vorwärts- und Rückrechnung hilfreich.
  • Zur Unterscheidung von anderen Verfahren kann festgestellt werden, dass der beschriebene Algorithmus keine Auswahl aus einer endlichen Zahl an Basistrajektorien sowie deren Parametrisierung vornimmt. Es werden auch keine abschnittsweise konstanten Stellgrößen (meist Beschleunigung oder Ruck) verwendet. Stattdessen wird die gegebene Solltrajektorie verändert, soweit dies aufgrund der Restriktionen nötig ist. Dabei wird bewusst auf vollständige Optimierungsverfahren verzichtet, da diese die Echtzeitbedingungen meist nicht einhalten können.
  • 3 zeigt ein erstes Simulationsergebnis zur Verdeutlichung des zuvor beschriebenen Verfahrens am Beispiel einer Simulation einer eindimensionalen kartesischen z-Achsen-Bewegung eines 6-achsigen Industrieroboters. Dabei wird die zunächst konstante Sollgeschwindigkeit in Zeitschritt 3400 aufgrund von Sensorwerten durch eine konstante Sollposition (z-Position = 639,0 mm vgl. dicke schwarze Linie) ersetzt. 3 zeigt, dass das Steuerverfahren mit der beschriebenen prädiktiven Rückrechnung kein Überschwingen (gestrichelte Linie) bewirkt, während bisherige Verfahren ohne prädiktive Rückrechnung ein Überschwingen zeigt (dünne schwarze Linie).
  • 4 zeigt ein zweites Simulationsergebnis zur Verdeutlichung des zuvor beschriebenen Verfahrens am Beispiel einer Simulation einer eindimensionalen kartesischen z-Achsen-Bewegung eines 6-achsigen Industrieroboters. Dabei wird die zunächst konstante Sollgeschwindigkeit in Zeitschritt 3400 aufgrund von Sensorwerten auf eine zeitvariante Soll-Position umgeschaltet (vgl. dicke schwarze Linie). Auch hier zeigt das beschriebene Verfahren mit der prädiktiven Rückrechnung kein Überschwingen, sondern ein Erreichen der Soll-Trajektorie bei Zeitschritt 3415.
  • Insgesamt ermöglicht das vorgeschlagene Verfahren eine spürbar verbesserte Steuerung von insbesondere mehrachsigen Manipulatoren.
  • Obwohl die Erfindung im Detail durch bevorzugte Ausführungsbeispiele näher illustriert und erläutert wurde, so ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen. Es ist daher klar, dass eine Vielzahl von Variationsmöglichkeiten existiert. Es ist ebenfalls klar, dass beispielhaft genannte Ausführungsformen wirklich nur Beispiele darstellen, die nicht in irgendeiner Weise als Begrenzung etwa des Schutzbereichs, der Anwendungsmöglichkeiten oder der Konfiguration der Erfindung aufzufassen sind. Vielmehr versetzen die vorhergehende Beschreibung und die Figurenbeschreibung den Fachmann in die Lage, die beispielhaften Ausführungsformen konkret umzusetzen, wobei der Fachmann in Kenntnis des offenbarten Erfindungsgedankens vielfältige Änderungen beispielsweise hinsichtlich der Funktion oder der Anordnung einzelner, in einer beispielhaften Ausführungsform genannter Elemente vornehmen kann, ohne den Schutzbereich zu verlassen, der durch die Ansprüche und deren rechtliche Entsprechungen, wie etwa weitergehenden Erläuterung in der Beschreibung, definiert wird.
  • Bezugszeichenliste
  • 101–107
    Verfahrensschritte
    201
    erstes Mittel
    202
    zweites Mittel
    203
    drittes Mittel
    204
    viertes Mittel
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • EP 0583487 A1 [0003]
    • DE 102009024130 A1 [0005]
    • DE 102008029657 A1 [0005]

Claims (10)

  1. Verfahren zur zeitdiskreten Steuerung einer Anzahl N antreibbarer Achsen eines Manipulators, bei dem – in einem aktuellen Zeitschritt k Zustände ZN(k – τ) der N Achsen des Manipulators hinsichtlich der jeweiligen Positionen qN(k – τ), Geschwindigkeiten, vN(k – τ), Beschleunigungen aN(k – τ) und/oder Rucke jN(k – τ) der Achsen bereitgestellt werden, wobei gilt: τ = 0, 1, 2, ..., τE und τE vorgegeben ist, – für jede der Achsen ein Positionsgrenzwert PG,N, ein Geschwindigkeitsgrenzwert VG,N, ein Beschleunigungsgrenzwert AG,N und/oder ein Ruckgrenzwert JG,N vorgegeben wird, – für jede der Achsen im Zeitschritt k eine Soll-Trajektorie Tsoll,N(k) vorgegeben wird, welche die Soll-Positionen qsoll,N(k + κ) der Achse für den aktuellen und künftige Zeitschritte k, k + 1, k + 2, ... angibt, wobei gilt κ = 0, 1, 2, ..., κE und κE vorgegeben ist, – basierend auf den bekannten Zuständen ZN(k – τ) und den vorgegebenen Soll-Trajektorien Tsoll,N(k) prädiktiv für die Zeitschritte k, k + 1, ..., k + κE geprüft wird, ob eine Umsetzung der Soll-Trajektorien Tsoll,N(k) zu einer Überschreitung eines der Grenzwerte qG,N, vG,N, aG,N und/oder jG,N führt, und – bejahendenfalls die Soll-Trajektorien Tsoll,N(k) iterativ solange korrigiert werden, bis Soll-Trajektorien T*soll,N(k) erzeugt sind, welche keinen der vorgegebenen Grenzwerte qG,N, vG,N, aG,N, jG,N für den aktuellen oder die künftigen Zeitschritte überschreiten, und die N antreibbaren Achsen des Manipulators basierend auf den Soll-Trajektorien T*soll,N(k) gesteuert werden, oder – andernfalls die N antreibbaren Achsen des Manipulators basierend auf den Soll-Trajektorien Tsoll,N(k) gesteuert werden.
  2. Verfahren nach Anspruch 1, bei dem die iterativ erzeugten Soll-Trajektorien T*soll,N(k) bahntreu sind.
  3. Verfahren nach Anspruch 1 oder 2, bei dem die Ermittlung der iterativ erzeugten Soll-Trajektorien T*soll,N(k) Vorwärts- und Rückwärtsiterationen umfasst.
  4. Verfahren nach einem der Ansprüche 1 bis 3, bei dem die einzelnen Soll-Positionen q*soll,N(k + κ) der erzeugten Soll-Trajektorien T*soll,N(k) durch Skalierung der Geschwindigkeiten vsoll,N(k + κ – i) ermittelt werden, die sich aus den vorgegebenen Soll-Trajektorien Tsoll,N(k) oder aus vorläufig ermittelten Soll-Trajektorien T*soll,N(k) ergeben, wobei i für jeden Zeitpunkt k + κ geeignet gewählt wird.
  5. Verfahren nach einem der Ansprüche 1 bis 4, bei dem die Einhaltung der Grenzwerte aG,N und jG,N für den Zeitschritt k + κ durch iterative Verschiebung der soweit erzeugten vorangegangenen oder folgenden Positionen q*soll,N(k + κ + i) erreicht wird, wobei i in jedem Korrekturschritt geeignet gewählt wird.
  6. Verfahren nach einem der Ansprüche 1 bis 5, bei dem das Verfahren in Echtzeit ausgeführt wird.
  7. Computer-Programm-Produkt mit auf einem maschinenlesbaren Träger gespeicherten Programmcode zur Durchführung des Verfahrens nach einem der vorhergehenden Ansprüche, wenn der Programmcode auf einer Datenverarbeitungsvorrichtung ausgeführt wird.
  8. Vorrichtung zur zeitdiskreten Steuerung einer Anzahl N antreibbarer Achsen eines Manipulators, umfassend – ein erstes Mittel, mit dem in einem aktuellen Zeitschritt k Zustände ZN(k – τ) der N Achsen des Manipulators hinsichtlich der jeweiligen Positionen qN(k - τ), Geschwindigkeiten, vN(k – τ), Beschleunigungen aN(k – τ) und/oder Rucke jN(k – τ) der Achsen bereitgestellt werden, wobei gilt: τ = 0, 1, 2, ..., τE und τE vorgegeben ist, – ein zweites Mittel, mit dem für jede der Achsen ein Positionsgrenzwert qG,N, ein Geschwindigkeitsgrenzwert vG,N, ein Beschleunigungsgrenzwert aG,N und/oder ein Ruckgrenzwert jG,N vorgegeben wird, – ein drittes Mittel, mit dem für jede der Achsen im Zeitschritt k eine Soll-Trajektorie Tsoll,N(k) vorgegeben wird, welche die Soll-Positionen qsoll,N(k + κ) der Achse für den aktuellen und künftige Zeitschritte k, k + 1, k + 2, ... angibt, wobei gilt κ = 0, 1, 2, ..., κE und κE vorgegeben ist, und – ein viertes Mittel, mit dem basierend auf den bekannten Zuständen ZN(k – τ) und den vorgegebenen Soll-Trajektorien Tsoll,N(k) prädiktiv für die Zeitschritte k, k + 1, ..., k + κE geprüft wird, ob eine Umsetzung der Soll-Trajektorien Tsoll,N(k) zu einer Überschreitung eines der Grenzwerte qG,N, vG,N, aG,N und/oder jG,N führt, und – bejahendenfalls die Soll-Trajektorien Tsoll,N(k) iterativ solange korrigiert werden, bis Soll-Trajektorien T*soll,N(k) erzeugt sind, welche keinen der vorgegebenen Grenzwerte qG,N, vG,N, aG,N, jG,N für den aktuellen oder die künftigen Zeitschritte überschreiten, und die N antreibbaren Achsen des Manipulators basierend auf den Soll-Trajektorien T*soll,N(k) gesteuert werden, oder – andernfalls die N antreibbaren Achsen des Manipulators basierend auf den Soll-Trajektorien Tsoll,N(k) gesteuert werden.
  9. Vorrichtung nach Anspruch 8, bei der das vierte Mittel derart ausgeführt ist, dass die iterativ erzeugten Soll-Trajektorien T*soll,N(k – 1) bahntreu sind.
  10. Roboter mit einer Vorrichtung nach einem der Ansprüche 8 oder 9.
DE102014103370.1A 2014-03-12 2014-03-12 Verfahren und Vorrichtung zur zeitdiskreten Steuerung eines Manipulators Active DE102014103370B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102014103370.1A DE102014103370B4 (de) 2014-03-12 2014-03-12 Verfahren und Vorrichtung zur zeitdiskreten Steuerung eines Manipulators

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014103370.1A DE102014103370B4 (de) 2014-03-12 2014-03-12 Verfahren und Vorrichtung zur zeitdiskreten Steuerung eines Manipulators

Publications (2)

Publication Number Publication Date
DE102014103370A1 true DE102014103370A1 (de) 2015-09-17
DE102014103370B4 DE102014103370B4 (de) 2017-08-24

Family

ID=54010024

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014103370.1A Active DE102014103370B4 (de) 2014-03-12 2014-03-12 Verfahren und Vorrichtung zur zeitdiskreten Steuerung eines Manipulators

Country Status (1)

Country Link
DE (1) DE102014103370B4 (de)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015103451A1 (de) 2015-03-10 2016-09-15 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum zeitdiskreten Kontrollieren antreibbarer Achsen, Computerprogrammprodukt und Vorrichtung zur Durchführung eines derartigen Verfahrens
DE102015103452A1 (de) 2015-03-10 2016-09-15 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum zeitdiskreten Anhalten antreibbarer Achsen, Computerprogrammprodukt und Vorrichtung zur Durchführung eines derartigen Verfahrens
DE102016224564A1 (de) * 2016-12-09 2018-06-14 Robert Bosch Gmbh Verfahren zum Bereitstellen einer Bewegungskontur für einen Manipulator
DE102017102749A1 (de) 2017-02-13 2018-08-16 Festo Ag Automatische Trajektorienerzeugung zur Ansteuerung eines Antriebssystems
DE102017010244A1 (de) * 2017-11-03 2019-05-09 Kuka Deutschland Gmbh Verfahren und Steuermittel zum Steuern einer Roboteranordnung
WO2019110244A1 (de) * 2017-12-08 2019-06-13 Kuka Deutschland Gmbh Abfahren einer vorgegebenen arbeitsbahn mit einem roboter
DE102019118897B3 (de) * 2019-07-12 2020-10-29 Franka Emika Gmbh Kollisionsdetektion für einen Robotermanipulator
DE102021000814A1 (de) 2020-03-03 2021-09-09 Sew-Eurodrive Gmbh & Co Kg Verfahren zum Abbremsen eines Objekts und Maschine
DE102021102619A1 (de) 2021-02-04 2022-08-04 Carl Zeiss Industrielle Messtechnik Gmbh Steuereinheit und steuerungsverfahren
DE102018110297B4 (de) 2018-04-27 2023-02-09 Carl Zeiss Industrielle Messtechnik Gmbh Verfahren und Vorrichtung zur ruckbegrenzten Trajektorieplanung und Echtzeit-Steuerung einer Bewegung

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0583487A1 (de) 1992-07-21 1994-02-23 Siemens Aktiengesellschaft Verfahren zur zeitoptimalen bahntreuen Abbremsung der Achsantriebe von numerisch gesteuerten Maschinen
DE19914245A1 (de) * 1998-03-30 1999-10-07 Denso Corp Roboter-Steuervorrichtung
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
DE69828530T2 (de) * 1997-12-02 2005-06-30 Lacent Technologies Inc., Edmonton Auf einen wagen montierte laserdüse und verfahren zur laserpositionierungssteuerung
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
EP0583487A1 (de) 1992-07-21 1994-02-23 Siemens Aktiengesellschaft Verfahren zur zeitoptimalen bahntreuen Abbremsung der Achsantriebe von numerisch gesteuerten Maschinen
DE69828530T2 (de) * 1997-12-02 2005-06-30 Lacent Technologies Inc., Edmonton Auf einen wagen montierte laserdüse und verfahren zur laserpositionierungssteuerung
DE19914245A1 (de) * 1998-03-30 1999-10-07 Denso Corp Roboter-Steuervorrichtung
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
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 (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015103452B4 (de) 2015-03-10 2022-06-02 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum zeitdiskreten Anhalten antreibbarer Achsen, Computerprogrammprodukt und Vorrichtung zur Durchführung eines derartigen Verfahrens
DE102015103452A1 (de) 2015-03-10 2016-09-15 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum zeitdiskreten Anhalten antreibbarer Achsen, Computerprogrammprodukt und Vorrichtung zur Durchführung eines derartigen Verfahrens
DE102015103451A1 (de) 2015-03-10 2016-09-15 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum zeitdiskreten Kontrollieren antreibbarer Achsen, Computerprogrammprodukt und Vorrichtung zur Durchführung eines derartigen Verfahrens
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
DE102016224564A1 (de) * 2016-12-09 2018-06-14 Robert Bosch Gmbh Verfahren zum Bereitstellen einer Bewegungskontur für einen Manipulator
DE102017102749A1 (de) 2017-02-13 2018-08-16 Festo Ag Automatische Trajektorienerzeugung zur Ansteuerung eines Antriebssystems
US10981274B2 (en) 2017-02-13 2021-04-20 Festo Ag & Co. Kg Automatic trajectory generation for controlling a drive system
DE102017010244A1 (de) * 2017-11-03 2019-05-09 Kuka Deutschland Gmbh Verfahren und Steuermittel zum Steuern einer Roboteranordnung
US11826912B2 (en) 2017-11-03 2023-11-28 Kuka Deutschland Gmbh Method and control means for controlling a robot assembly
WO2019110244A1 (de) * 2017-12-08 2019-06-13 Kuka Deutschland Gmbh Abfahren einer vorgegebenen arbeitsbahn mit einem roboter
DE102018110297B4 (de) 2018-04-27 2023-02-09 Carl Zeiss Industrielle Messtechnik Gmbh Verfahren und Vorrichtung zur ruckbegrenzten Trajektorieplanung und Echtzeit-Steuerung einer Bewegung
DE102019118897B3 (de) * 2019-07-12 2020-10-29 Franka Emika Gmbh Kollisionsdetektion für einen Robotermanipulator
WO2021175487A1 (de) 2020-03-03 2021-09-10 Sew-Eurodrive Gmbh & Co. Kg Verfahren zum abbremsen eines objekts und maschine
DE102021000814A1 (de) 2020-03-03 2021-09-09 Sew-Eurodrive Gmbh & Co Kg Verfahren zum Abbremsen eines Objekts und Maschine
DE102021102619A1 (de) 2021-02-04 2022-08-04 Carl Zeiss Industrielle Messtechnik Gmbh Steuereinheit und steuerungsverfahren

Also Published As

Publication number Publication date
DE102014103370B4 (de) 2017-08-24

Similar Documents

Publication Publication Date Title
DE102014103370B4 (de) Verfahren und Vorrichtung zur zeitdiskreten Steuerung eines Manipulators
EP3285975B1 (de) Steuern und/oder regeln von motoren eines roboters
DE68909574T2 (de) Roboterachsensteuerung mit und ohne rückkuppelung.
DE102015103451B4 (de) Verfahren zum zeitdiskreten Kontrollieren antreibbarer Achsen und Computerprogrammprodukt
DE3344633A1 (de) Verfahren und vorrichtung zur steuerung eines roboters
DE102017205791B4 (de) Servoregelungsvorrichtung zum Antreiben einer Vielzahl von Motoren
DE102010012424A1 (de) Servo-Steuergerät mit zweifacher Stellungsrückkopplung
EP0998700B1 (de) Verfahren zur generierung von ankopplungsbahnen, verwendbar zur führung eines fahrzeugs zu einer vorgegebenen zielbahn
DE102006055917A1 (de) Industrieroboter und Verfahren zum Erkennen eines ungenau parametrierten Robotermodells
DE102014118001A1 (de) Verfahren zur Bewegungssimulation eines Manipulators
DE102014003631A1 (de) Motorsteuervorrichtung, die eine Spannungssättigung erkennt
DE102008029657A1 (de) Positionsgesteuerter Mechanismus und Verfahren zur Steuerung von in mehreren Bewegungsfreiheitsgraden beweglichen Mechanismen
DE102020121561B3 (de) Steuerungsverfahren für ein bilaterales Teleoperationssystem, Controller, Teleoperationssystem und Verwendung des Controllers und/oder des Teleoperationssystems
DE102009003003A1 (de) Numerische Steuerung mit der Funktion einer Koordinatentransformation der Werkzeugphase
DE102013016019B3 (de) Verfahren zum Betreiben eines mehrgliedrigen Manipulators
DE112004001083T5 (de) Positionssteuerung und Steuerverfahren dafür
DE102018203078B3 (de) Verfahren zum automatischen Erzeugen einer Bewegungstrajektorie und zugehöriges Computerprogrammprodukt
EP0931283B1 (de) Verfahren und regelungsstruktur zur momentenvorsteuerung numerisch geregelter, elastischer und damit schwingungsfähiger mehrmassensysteme
WO2019002587A1 (de) Regelungseinheit, mechatronisches system und verfahren zum regeln eines mechatronischen systems
EP3438773B1 (de) Bearbeitung von werkstücken mit modellgestützter fehlerkompensation
EP3139221A1 (de) Autonomer l1-adaptiver regler mit exakter polvorgabe
DE102020200165B4 (de) Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters
EP3542229B1 (de) Einrichtung und verfahren zur bestimmung der parameter einer regeleinrichtung
DE102022209555A1 (de) Verfahren und Reglereinheit zur Regelung eines mechatronischen Systems
WO2001033304A2 (de) Regelsystem für elektrische antriebe und verfahren zur bahnregelung

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