DE102014224193B9 - Verfahren und Vorrichtung zur Fehlerhandhabung eines Roboters - Google Patents

Verfahren und Vorrichtung zur Fehlerhandhabung eines Roboters Download PDF

Info

Publication number
DE102014224193B9
DE102014224193B9 DE102014224193.6A DE102014224193A DE102014224193B9 DE 102014224193 B9 DE102014224193 B9 DE 102014224193B9 DE 102014224193 A DE102014224193 A DE 102014224193A DE 102014224193 B9 DE102014224193 B9 DE 102014224193B9
Authority
DE
Germany
Prior art keywords
movement
robot
time
position information
axis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102014224193.6A
Other languages
English (en)
Other versions
DE102014224193B4 (de
DE102014224193A1 (de
Inventor
Michael Primessnig
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of DE102014224193A1 publication Critical patent/DE102014224193A1/de
Publication of DE102014224193B4 publication Critical patent/DE102014224193B4/de
Application granted granted Critical
Publication of DE102014224193B9 publication Critical patent/DE102014224193B9/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • 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/40164Fault recovery from task execution errors
    • 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/40373Control of trajectory in case of a limb, joint disturbation, failure
    • 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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50108Retract tool stepwise, same path, until safe boundary reached, then quick retract

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

Verfahren zur Fehlerhandhabung eines Roboters (10) mit zumindest einer ersten und einer zweiten Bewegungsachse (12a, 12b), wobei das Verfahren Folgendes umfasst:das Empfangen einer ersten Lageinformation über die erste Bewegungsachse (12a) für einen ersten Zeitpunkt (t) und einer ersten Lageinformation über die zweite Bewegungsachse (12b) für den ersten Zeitpunkt (t) und das Speichern (22) der empfangenen ersten Lageinformation als Bewegungsdatensatz;das Empfangen einer zweiten Lageinformation über die erste Bewegungsachse (12a) für einen zweiten Zeitpunkt (t) und einer zweiten Lageinformation über die zweite Bewegungsachse (12b) für den zweiten Zeitpunkt (t) und das Speichern (22) der empfangenen zweiten Lageinformation im Bewegungsdatensatz;Empfangen einer dritten Lageinformation über die erste Bewegungsachse (12a) für einen dritten Zeitpunkt (t) und einer dritten Lageinformation über die zweite Bewegungsachse (12b) für den dritten Zeitpunkt (t) und des Speicherns (22) der empfangenen dritten Information im Bewegungsdatensatz nach dem Empfangen und Speichern (22) der zweiten Lageinformation; unddas Steuern des Roboters (10) gemäß einem Fehlerablauf, wenn ein Roboterfehler detektiert wird, wobei der Fehlerablauf Folgendes umfasst:das Ansteuern des Roboters (10), die erste und die zweite Bewegungsachse (12a, 12b) in ihre jeweilige dritte Lage (P3) zu bewegen; unddas Ansteuern des Roboters (10), die erste und die zweite Bewegungsachse (12a, 12b) in ihre jeweilige zweite Lage (P2) zu bewegen; sowie das Ansteuern des Roboters (10), die erste und die zweite Bewegungsachse (12a, 12b) in ihre jeweilige erste Lage (P1) zu bewegen; wobei die zeitliche Auflösung der Aufzeichnung variable ist.

Description

  • FACHGEBIET
  • Ausführungsformen der vorliegenden Erfindung betreffen ein Verfahren zur Fehlerhandhabung bei einem Roboter, ein Speichermedium, auf dem Software gespeichert ist, die die Fehlerhandhabung ermöglicht, und eine entsprechende Vorrichtung zur Fehlerhandhabung. Weitere Ausführungsformen betreffen eine zur Fehlerhandhabung befähigte Steuerung und einen Roboter, der eine solche Steuerung umfasst.
  • Stand der Technik
  • Im Stand der Technik wurden bereits einige Robotersteuerungen charakterisiert. Beispielsweise ist auf die DE 10 2004 026 488 A1 zu verweisen, die eine Rückführeinrichtung für einen Handhabungsautomaten im Falle einer Kollision zeigt und hierbei wird der Roboter auf eine vorgegebene Sollposition gefahren. Die EP 1 801 678 B1 beschreibt eine Roboterbahnsteuerung mit Notfallevakuierungspfaden. Die DE 10 2008 024 950 A1 beschreibt ein Verfahren zur Steuerung eines Roboters mit den Schritten zum Überwachen eines Fehlerkriteriums und automatischem Verfahren des Manipulators in die Freiposition.
  • Die DE 10 2004 043 514 A1 beschreibt ein Verfahren und eine Vorrichtung zum Steuern einer sicherheitsrelevanten Funktion einer Maschine. Die EP 1 625 918 B1 beschreibt eine Programmiervorrichtung zum Zurückfahren eines Roboters in eine Wartestellung. Die Ep 1 373 993 B1 beschreibt eine Roboterintelligenz in natürlichen Umgebungen.
  • HINTERGRUND
  • Ein Roboter ist eine elektromechanische Maschine mit zumindest einem, vorzugsweise aber mehreren angetriebenen Gelenken, sodass diese dazu befähigt ist, manuelle Aufgaben, wie z.B. Fertigungsaufgaben, durchzuführen. Eine besondere Art Roboter, die häufig für industrielle Anwendungen eingesetzt wird, sind die sogenannten Knickarmroboter mit einer Vielzahl von Bewegungsachsen. Hier kann die Bewegungsachse in Serie angeordnet sein. Die Bewegungsachse kann eine Beugungsachse, eine lineare Verschiebungsachse und/oder eine Rotationsachse sein. Eine besondere Form eines Knickarmroboters ist der sogenannte kinematisch redundante Roboter mit mehr Bewegungsachsen als Freiheitsgraden. Somit kann eine Position des Roboterarms über mehrere mögliche Kombinationen der Achspositionen erreicht werden.
  • Um einen Roboter zu steuern, umfasst dieser typischerweise eine Robotersteuerung oder ist typischerweise mit einer solchen gekoppelt. Diese Robotersteuerung steuert die einzelnen Handlungselemente der Bewegungsachse, sodass der Roboter sich von der Ausgangsposition an eine weitere Position entlang einer vorbestimmten Bahnkurve (eines Bewegungspfades) und zurück bewegen kann. Diese Bahnkurve ist das Ergebnis einer Kombination aus einer Abfolge von Bewegungen der mehreren Bewegungsachsen. Im Falle eines Fehlers jedoch, z.B. eines Zusammenstoßes des Roboters mit einem anderen Gegenstand, ist der Fehlerhandhabungsablauf eher kompliziert, sodass der Fehlerhandhabungsablauf nicht automatisch durchgeführt werden kann. Der Hintergrund dessen ist, dass die beschriebenen Roboter typischerweise zur weichen Funktion befähigt sind, d.h. dass sämtliche Bewegungsachsen im Falle eines Zusammenstoßes in einen antriebskraftlosen Zustand versetzt werden. Diese weiche Funktion ermöglicht es, eine Beschädigung des Roboters oder des Gegenstands des Zusammenstoßes zu vermeiden, wobei die Endposition des Roboters (nach dem Zusammenstoß) unbekannt ist, weil dieser den bekannten Bewegungspfad verlassen hat. Es besteht daher der Bedarf nach einem verbesserten Ansatz.
  • Aufgabe der vorliegenden Erfindung ist es, die Fehlerhandhabungsprozedur eines Roboters zu verbessern.
  • Die Aufgabe wird durch den Gegenstand der unabhängigen Patentansprüche gelöst.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Ausführungsformen der Erfindung betreffen ein Verfahren zur Fehlerhandhabung eines Roboters mit zumindest einer ersten und einer zweiten Bewegungsachse. Das Verfahren umfasst den Schritt des Empfangens einer ersten Lageinformation über die erste Bewegungsachse für einen ersten Zeitpunkt und einer ersten Lageinformation über die zweite Bewegungsachse für den ersten Zeitpunkt. Die erhaltenen ersten Lageinformationen werden als Bewegungsdatensatzgespeichert. Des Weiteren umfasst das Verfahren den Schritt des Empfangens einer zweiten Lageinformation über die erste Bewegungsachse für einen zweiten Zeitpunkt und einer zweiten Lageinformation über die zweite Bewegungsachse für einen zweiten Zeitpunkt. Diese erhaltene zweite Lageinformation wird ebenfalls im Bewegungsdatensatz gespeichert. Der letzte Schritt ist das Steuern des Roboters gemäß einem Fehlerablauf, wenn ein Roboterfehler, z.B. ein Zusammenstoß, detektiert wird. Der Fehlerablauf umfasst das Ansteuern des Roboters, die erste und die zweite Bewegungsachse in ihre jeweilige zweite Lage zu bewegen, und das Ansteuern des Roboters, danach die erste und die zweite Bewegungsachse in ihre jeweilige erste Lage zu bewegen.
  • Eine weitere Ausführungsform stellt ein durch Computer lesbares digitales Speichermedium bereit, auf dem ein Computerprogramm mit einem Programmkode zur Ausführung des obigen Verfahrens zur Fehlerhandhabung des Roboters bei Ablauf auf einem Computer gespeichert ist. Die weitere Ausführungsform stellt eine Vorrichtung zur Fehlerhandhabung eines Roboters mit zumindest einer ersten und einer zweiten Achse bereit. Die Vorrichtung ist konfiguriert, die Lageinformationen über die erste und die zweite Bewegungsachse des Roboters zu empfangen, Bewegungsdaten unter Verwendung einer Speichereinheit zu speichern und, wenn der Roboter einen Fehler verursacht, den Roboter über Steuersignale zu steuern, die auf den gespeicherten Bewegungsdaten basieren. Die gespeicherten Bewegungsdaten umfassen eine erste Lageinformation über die erste Bewegungsachse für einen ersten Zeitpunkt, eine zweite Lageinformation über die erste Bewegungsachse für den zweiten Zeitpunkt, eine erste Lageinformation über die zweite Bewegungsachse für den ersten Zeitpunkt und die zweite Lageinformation über die zweite Bewegungsachse für den zweiten Zeitpunkt. Die Steuersignale umfassen ein erstes Steuersignal, das den Roboter ansteuert, die erste und die zweite Bewegungsachse in ihre jeweilige zweite Lage zu bewegen, und ein zweites Steuersignal, das den Roboter ansteuert, die erste und die zweite Bewegungsachse in ihre jeweilige erste Lage zu bewegen. Das erste Steuersignal wird ausgegeben, bevor das zweite Steuersignal ausgegeben wird, sodass ein Roboter sich in die zweite Lage bewegt, bevor er sich in die erste Lage bewegt.
  • Eine weitere Ausführungsform stellt eine Steuerung zum Steuern eines Roboters mit zumindest einer ersten und einer zweiten Bewegungsachse bereit. Die Steuerung ist konfiguriert, die erste und die zweite Bewegungsachse gemäß einem Steuerungsalgorithmus zu steuern, und ist konfiguriert, Bewegungsdaten unter Verwendung einer Speichereinheit zu speichern und, wenn der Roboter einen Fehler verursacht, den Roboter über Steuersignale zu steuern, die auf den gespeicherten Bewegungsdaten basieren. Die gespeicherten Bewegungsdaten umfassen eine erste Lageinformation über die erste Bewegungsachse für einen ersten Zeitpunkt, eine zweite Lageinformation über die erste Bewegungsachse für einen zweiten Zeitpunkt, eine erste Lageinformation über die zweite Bewegungsachse für den ersten Zeitpunkt und eine zweite Lageinformation über die zweite Bewegungsachse für den zweiten Zeitpunkt. Die Steuersignale umfassen ein erstes Steuersignal, das den Roboter ansteuert, die erste und die zweite Bewegungsachse in ihre jeweilige zweite Lage zu bewegen, und ein zweites Steuersignal, das den Roboter ansteuert, die erste und die zweite Bewegungsachse in ihre jeweilige erste Lage zu bewegen. Das erste Steuersignal wird ausgegeben, bevor das zweite Steuersignal ausgegeben wird, sodass ein Roboter sich in die zweite Lage bewegt, bevor er sich in die erste Lage bewegt.
  • Gemäß einer weiteren Ausführungsform umfasst ein Roboter eine erste Bewegungsachse, eine zweite Bewegungsachse und eine Steuerung zum Steuern der ersten und der zweiten Bewegungsachse. Des Weiteren umfasst der Roboter eine Vorrichtung zur Fehlerhandhabung, wobei die Vorrichtung konfiguriert ist, Bewegungsdaten unter Verwendung einer Speichereinheit zu speichern und, wenn der Roboter einen Fehler verursacht, den Roboter über Steuersignale zu steuern, die auf den gespeicherten Bewegungsdaten basieren. Die gespeicherten Bewegungsdaten umfassen eine erste Lageinformation über die erste Bewegungsachse für einen ersten Zeitpunkt, eine zweite Lageinformation über die erste Bewegungsachse für einen zweiten Zeitpunkt, eine erste Lageinformation über die zweite Bewegungsachse für den ersten Zeitpunkt und eine zweite Lageinformation über die zweite Bewegungsachse für den zweiten Zeitpunkt.
  • Die Steuersignale umfassen ein erstes Steuersignal, das den Roboter ansteuert, die erste und die zweite Bewegungsachse in ihre jeweilige zweite Lage zu bewegen, und ein zweites Steuersignal, das den Roboter ansteuert, die erste und die zweite Bewegungsachse in ihre jeweilige erste Lage zu bewegen. Das erste Steuersignal wird ausgegeben, bevor das zweite Steuersignal ausgegeben wird, sodass ein Roboter sich in die zweite Lage bewegt, bevor er sich in die erste Lage bewegt.
  • Figurenliste
  • Unten stehend werden Ausführungsformen der vorliegenden Erfindung im Anschluss unter Bezugnahme auf die beigefügten Zeichnungen besprochen:
    • 1a zeigt ein Flussbild eines Verfahrens zur Fehlerhandhabung eines Roboters gemäß einer ersten Ausführungsform;
    • die 1b bis 1d zeigen eine Bewegungsabfolge eines beispielhaften Roboters;
    • 1e zeigt eine Bahnkurve (in Vorwärtsrichtung) des Roboters, wie er die Bewegung wie durch die 1b bis 1d veranschaulicht ausführt;
    • 1f zeigt eine Rückbahnkurve (in Rückwärtsrichtung) des Roboters aus den 1b bis 1d gemäß einem Fehlerhandhabungsablauf;
    • 2a zeigt ein Blockdiagramm einer Vorrichtung zur Fehlerhandhabung gemäß einer Ausführungsform;
    • 2b zeigt ein Blockdiagramm eines Roboters, der eine Steuerung und eine Vorrichtung zur Fehlerhandhabung gemäß einer weiteren Ausführungsform umfasst;
    • die 3a und 3b zeigen zwei Diagramme, die die Bewegung eines Roboters beschreiben, um zwei verschiedene Arten zu veranschaulichen, die Anzahl gespeicherter Lagen des Roboters anzupassen;
    • die 4a bis 4c zeigen Diagramme einer Bahnkurve eines Roboters, um die Fehlerhandhabung gemäß einer erweiterten Ausführungsform zu veranschaulichen.
  • Unten stehend werden Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die Figuren eingehend besprochen, wobei Gegenständen oder Elementen mit einer identischen oder ähnlichen Funktion gleiche Bezugszeichen bereitgestellt sind, sodass deren Beschreibung austauschbar oder wechselseitig anwendbar ist.
  • AUSFÜHRLICHE BESCHREIBUNG VON AUSFÜHRUNGSBEISPIELEN
  • 1 zeigt ein Blockdiagramm eines Verfahrens 100, das zumindest drei Grundschritte 110, 120 und 130 umfasst. Der Schritt 110 bezeichnet einen Schritt des Empfangens einer ersten Lageinformation über die erste Bewegungsachse für einen ersten Zeitpunkt und des Empfangens einer ersten Lageinformation über eine zweite Bewegungsachse für denselben Zeitpunkt. Beispielsweise kann die jeweilige erste Lageinformation zu den zwei Bewegungsachsen einen Winkelwert für die erste Bewegungsachse und einen weiteren Winkelwert für die zweite Bewegungsachse umfassen. Die Lageinformationen können durch eine Robotersteuerung bereitgestellt oder von einem Sensorsystem des Roboters ausgelesen werden. Diese beiden Teilschritte des Empfangens der beiden Lageinformationen (über die erste und die zweite Achse) werden zu einem gemeinsamen Schritt zusammengesetzt, weil die beiden ersten Lageinformationen (oder im Allgemeinen Lageinformationen, die die Lage der Bewegungsachse für denselben Zeitpunkt angeben) typischerweise zeitgleich bereitgestellt werden. Diese ersten Lageinformationen werden als Bewegungsdaten in einem Bewegungsdatensatz gespeichert. Der nächste Schritt 120 ist ähnlich dem Schritt 110, dient aber dem Zweck, die Lageinformationen über die erste und die zweite Bewegungsachse für einen zweiten (weiteren) Zeitpunkt danach zu erheben. Dieser Zeitpunkt wird vorzugsweise so ausgewählt, dass der Roboter in dem Zeitraum vom ersten Zeitpunkt bis zum zweiten Zeitpunkt eine Bewegung ausgeführt hat. Während dieses Schrittes 120 wird auch die zweite Lageinformation zur ersten und zweiten Bewegungsachse und für den zweiten Zeitpunkt in dem Bewegungsdatensatz gespeichert. So umfasst der Bewegungsdatensatz Lageinformationen zu dem Roboter für zwei verschiedene Zeitpunkte, sodass die Bahnkurve eines Roboters rekonstruierbar ist.
  • Der letzte Grundschritt des Verfahrens 100 (nach dem Erheben der einzelnen Lageinformationen oder nach dem Erheben der Bewegungsdaten) ist der Schritt 130. Dieser Schritt des Steuerns des Roboters gemäß einem Fehlerablauf wird nur im Falle eines detektierten Fehlers ausgeführt. Diese Abhängigkeit veranschaulicht der zwischen den Schritten 120, 130 angeordnete Punkt 140. Die Detektion des Fehlers kann die Aufgabe des Roboters sein, der typischerweise einen Kollisionssensor oder ein Kollisionserfassungssystem aufweist. Nach der Detektion des Fehlers 140 stellt das Verfahren den Fehlerhandhabungsablauf 130 bereit, der zumindest zwei Teilschritte 132 und 134 umfasst, die nacheinander ausgeführt werden. Der erste Ablaufteilschritt 132 steuert den Roboter an, die erste und die zweite Bewegungsachse in ihre jeweilige zweite (letzte) Lage zu bewegen (vgl. Schritt 120). D.h. der Roboter wird so gesteuert, dass er sich in die letzte bekannte oder die letzte sichere Lage, oder, mit anderen Worten ausgedrückt, in die Lage vor dem Detektieren des Fehlers bewegt. Nach der Ausführung dieses Teilschritts 132 befindet sich der Roboter in der zweiten Lage oder, um genau zu sein, befinden sich alle Bewegungsachsen in ihrer jeweiligen zweiten Lage. Der anschließende Teilschritt ist der Schritt 134 des Ansteuerns des Roboters, die erste und die zweite Bewegungsachse in ihre jeweilige erste Lage, z.B. in die Ausgangslage des Roboters, zu bewegen. Dies führt dazu, dass der Roboter zu befähigt wurde, im Falle eines Fehlers automatisch in die Ausgangslage zurückzukehren. Diese Ausführungsform wurde unter der Annahme erläutert, dass während der Bahnkurve vor dem Eintreten des Fehlers nur zwei Lagen aufgezeichnet wurden.
  • Gemäß weiteren Ausführungsformen kann das Verfahren 100 weitere Schritte des Empfangens einer weiteren Lageinformation über die erste Bewegungsachse für einen weiteren Zeitpunkt und einer weiteren Lageinformation über die zweite Bewegungsachse für den weiteren Zeitpunkt und des Speicherns der empfangenen weiteren Lageinformationen in dem Bewegungsdatensatz umfassen, sodass die Bahnkurve genauer aufgezeichnet werden kann. Diese optionalen weiteren Schritte können zwischen dem Schritt 120 und dem Fehlerereignis 140 angeordnet werden. Gemäß dieser Ausführungsform kann der Fehlerhandhabungsablauf 130 auch weitere Schritte des Ansteuerns des Roboters, die erste und die zweite Bewegungsachse in ihre jeweiligen weiteren Lagen zu bewegen, umfassen, wobei diese optionalen weiteren Schritte vor dem Schritt 132, d.h. zwischen dem Fehlerereignis 140 und dem Ansteuerungsschritt 132 angeordnet werden.
  • Gemäß einer weiteren Ausführungsform kann das oben stehend beschriebene Verfahren in Hinblick auf die Komplexität des Roboters erweitert werden, wie unten stehend beschrieben wird.
  • 1b zeigt schematisch einen Roboterknickarm 10, der sieben Gelenke 12a bis 12g umfasst, wobei der Ort der Position des Roboterarms 10 durch das Bezugszeichen 11 (feste Lage 11) gekennzeichnet ist. Die sieben Gelenke 12a bis 12g sind seriell kinematisch angeordnet, wobei ein sogenannter Werkzeugmittelpunkt 14 mit dem letzten Gelenk 12g gekoppelt ist. Der dargestellte Roboter 10 weist zwei verschiedene Arten von Gelenken auf, nämlich die Gelenke 12a, 12c, 12e und 12g, die eine Rotation rund um eine Bewegungsachse ausführen, die sich entlang des entsprechenden Segments des Knickarms 10 erstreckt. Die Gelenke 12b, 12d und 12f sind konfiguriert, eine Winkelbewegung auszuführen. Insgesamt weist der Roboter 10 mehr Bewegungsachsen als Abmessungen auf. Somit gehört der dargestellte Roboter 10 zur Gruppe der sogenannten kinematisch redundanten Roboter.
  • Der in 1b dargestellte Roboter 10 ist in der ersten Lage P1 angeordnet, wobei die erste Lage eine Kombination aus ersten Lagen der einzelnen Gelenke 12a bis 12g ist. Hier kann jede erste Lage der Gelenke 12a bis 12g durch einen Wert beschrieben werden, z.B. einen Rotationswert oder einen Beugungswinkelwert. D.h. die erste Position des Roboters kann durch absolute Werte der einzelnen Bewegungsachsen 12a bis 12g beschrieben werden.
  • Um diese Beziehung im Detail zu veranschaulichen, zeigen die 1c und 1d denselben Roboter 10 in verschiedenen Lagen P2 und P3 im Vergleich mit der ersten Lage P1. In der zweiten Lage P2 sind die Gelenke 12b und 12f im Vergleich mit der ersten Lage P1 vertauscht. Die dritte Lage P3 unterscheidet sich von der zweiten Lage P2 bezüglich der Lagen der Gelenke 12b und 12d. Aufgrund sequenzieller und/oder paralleler Bewegung der Gelenke 12b, 12d und 12f entlang der entsprechenden Bewegungsachsen 12a bis 12g wird der Werkzeugmittelpunkt 14 entlang einer Bahnkurve, die von der Lage P1 ausgeht, bis zur Lage P3 bewegt.
  • Die Bahnkurve 18 ist in 1e dargestellt. In dem Diagramm aus 1e sind die entsprechenden Orte der Positionen 11P1 , 11P2 und 11P3 jeweils im Verhältnis zu den Lagen P1, P2 und P3 dargestellt. Die Bahnkurve 18 wie in 1e dargestellt weist eine Wellenform auf, wobei diese Bahnkurve 18 sich aus einer Kombination aus verschiedenen Bewegungen der verschiedenen Gelenke 12a bis 12g wie oben stehend beschrieben ergibt. Von einer anderen Perspektive betrachtet bedeutet das, dass die Lage des Werkzeugmittelpunkts 14 als eine Kombination aus den Lageinformationen über die einzelnen Gelenke 12a bis 12g beschrieben werden kann. Diese Art der Lageinformation hat, insbesondere im Vergleich mit Lageinformationen, die nur unter Verwendung von kartesischen Koordinaten des Werkzeugmittelpunkts 14 gegeben werden, den Vorteil, dass sich für das kinematisch redundante System selbst die Haltungslage des gesamten Roboters 10 beschreiben lässt. Der Hintergrund dessen ist, dass im Falle eines kinematisch redundanten Systems typischerweise zahlreiche verschiedene Kombinationen der Lagen der einzelnen Gelenke 12a bis 12g vorhanden sind, um den TCP (tool center point, Werkzeugmittelpunkt) 14 in einer bestimmten Lage im 3-dimensionalen Raum anzuordnen. Folglich gibt es auch mehrere Lösungen, um den Roboter von der Lage P1 in die Lage P3 oder zurück zu bewegen. Ein gängiger Ansatz besteht daher darin, vorab eine Bahnkurve von der Ausgangslage (z.B. PI) bis zur Endlage des Werkzeugmittelpunks 14 (z.B. von der Lage P3 aus) und zurück zur Ausgangslage P1 zu definieren. Im Falle eines Fehlers, z.B. eines Zusammenstoßes des Roboters 10, hält der Roboter 10 jedoch in einer undefinierten Lage irgendwo dazwischen an.
  • Um die automatische Rückkehr des Roboters 10 in die Ausgangslage P1 zu ermöglichen, werden die Zwischenlagen des Roboters 10 während der Bewegung entlang der Bahnkurve 18 (vgl. 1e) gemäß dem in 1a dargestellten Grundverfahren aufgezeichnet. Die folgende Tabelle führt das Ergebnis der Aufzeichnung der Bahnkurve an: Tabelle 1
    12a 12b 12c 12d 12e 12f 12g
    t1 43,382° 97,33° 162,352° -0,17° -63,55° 19,55° 117,19°
    t2 43,382° 101,22° 162,352° -2,33° -63,55° 17,2° 117,19°
    t3 43,382° 105,669° 162,352° -9,195° -63,55° 15,49° 117,19°
    t4 43,382° 110,5° 162,352° -16,741° -63,55° 12,98° 117,19°
    t5 43,382° 113,76° 162,352° -19,96° -63,55° 10,45° 117,19°
    ... ... ... ... ... ... ... ...
  • Die Tabelle, die auch als Bewegungsdatensatz bezeichnet wird, stellt die (numerische) Aufzeichnung der Bahnkurve 18 dar, wobei die Aufzeichnung auf einer Vielzahl von Schnappschüssen (hier: fünf oder mehr Schnappschüssen) für verschiedene Zeitpunkte t1 bis tn (hier: t5) basiert. Jede Lage für den jeweiligen Zeitpunkt t1 bis t5 umfasst sieben absolute Werte für die sieben Gelenke 12a bis 12g. Es gilt anzumerken, dass die absoluten Werte dieser Ausführungsform unter Verwendung der Einheit Grad bereitgestellt werden. Es ist klar, dass die Anzahl an aufgezeichneten Zeitpunkten pro Zeiteinheit direkten Einfluss auf die Rekonstruktion der Bahnkurve des Roboters nimmt. Folglich bedeutet das, dass die höhere Anzahl an aufgezeichneten Zeitpunkten pro Zeiteinheit zu einer besseren Auflösung für die Aufzeichnung der Bahnkurve führt. Die aufzuzeichnenden Werte sind typischerweise von der Steuerung des Roboters oder vom Roboter selbst erhältlich. Die Werte können durch den Roboter oder die Robotersteuerung für jede Bewegungsachse getrennt oder als kombinierter Datensatz bereitgestellt werden. Gemäß einem gängigen industriellen Ansatz werden die Lageinformationen oder Bewegungsinformationen unter Verwendung eines Datentyps bereitgestellt, der alle Werte der kinematischen Bewegung umfasst. Das bedeutet, dass die aufzuzeichnenden Werte leicht von der Robotersteuerung oder dem Roboter abzulesen sind. Vorzugsweise kann ein vollständiger Bewegungsdatensatz aus der Robotersteuerung oder dem Roboter ausgelesen werden.
  • Basierend auf dem aufgezeichneten Datensatz, der die Vielzahl an Lageinformationen für die Vielzahl von Zeitpunkten umfasst, kann der Roboter so gesteuert werden, dass er sich entlang der Bahnkurve (vgl. 1 e), d.h. entlang der Rückbahnkurve wie in 1f dargestellt, rückwärtsbewegt. 1f veranschaulicht die Rückbahnkurve 30' für den TCP 14 für den Fehlerhandhabungsablauf. Hier gehört die x-Achse des Diagramms zur Zeitdomäne t. Die Zeitachse umfasst eine Vielzahl von Kennungen, die jede einem Zeitpunkt einer Aufzeichnung der Bewegungslage der entsprechenden Bewegungsachse zugeordnet ist. Die drei Zeitpunkte tP1 , tP2 und tP3 für die drei Lagen P1, P2 und P3 sind mit den entsprechenden Bezugszeichen gekennzeichnet. In Rückwärtsrichtung wird der Werkzeugmittelpunkt vom Punkt P3 über den Zwischenpunkt P2 zum Punkt P1 bewegt. Für diese Bewegung werden die einzelnen Lagen, die durch den Datensatz (vgl. obige Tabelle) gespeichert sind, rückwärts ausgelesen. Diese Rückwärts-Auslesen der aufgezeichneten Bewegungsdaten führt die folgende Tabelle an: Tabelle 2
    12a 12b 12c 12d 12e 12f 12g
    ... ... ... ... ... ... ... ...
    t6 ... ... ... ... ... ... ...
    t5 43,382° 113,76° 162,352° -19,96° -63,55° 10,45° 117,19°
    t4 43,382° 110,5° 162,352° -16,741° -63,55° 12,98° 117,19°
    t3 43,382° 105,669° 162,352° -9,195° -63,55° 15,49° 117,19°
    t2 43,382° 101,22° 162,352° -2,33° -63,55° 17,2° 117,19°
    t1 43,382° 97,33° 162,352° -0,17° -63,55° 19,55° 117,19°
  • Aufgrund der Tatsache, dass die aufgezeichneten Lagen der Bewegungsachse die Grundlage für den Rückwärtspfad 18' bilden, kann dieser beschriebene Fehlerhandhabungsablauf auch im Falle eines neu definierten Pfades 18 eingesetzt werden. Aus unserer Sicht bedeutet das, dass der Fehlerhandhabungsablauf im Falle einer Neudefinition der Bahnkurve 30 nicht geändert werden muss.
  • Die obige Beschreibung wurde unter der Annahme verfasst, dass die Geschwindigkeit und somit die Beschleunigung der Bewegungen der Gelenke nicht konstant sind. Gemäß einer weiteren Ausführungsform umfasst jedoch die Aufzeichnung der Bewegungsdaten die Aufzeichnung der Geschwindigkeit Δv und/oder der Beschleunigung für jede Bewegungsachse. Dies ermöglicht es, den Roboter mit der (im Vergleich mit der Vorwärtsrichtung) gleichen (umgekehrten) Bewegung rückwärtsfahren zu lassen, besonders im Falle wechselnder Geschwindigkeit. Somit steuert gemäß dieser Ausführungsform die Steuerung den Roboter so, dass die einzelnen Lagen unter Verwendung der gespeichterten Geschwindigkeit Δv und/oder der gespeicherten Beschleunigung erreicht werden. Dieser Ansatz ist besonders im Falle einer stark wechselnden Geschwindigkeit, die zu wechselnden Distanzen Δx führt, von Vorteil.
  • Unten stehend werden die Interaktion einer Steuerung, die die Aufzeichnung und die Fehlerhandhabung ausführt, und der regulären Robotersteuerung unter Bezugnahme auf die 2a und 2b besprochen, wobei weitere Ausführungsformen der Fehlerhandhabung unter Bezugnahme auf die 3a, 3b, 4a, 4b und 4c besprochen werden.
  • 2a zeigt eine Steuerung zur Fehlerhandhabung 20, die zumindest eine Speichereinheit 22 und einen Hauptprozessor (CPU - central processing unit) 24 umfasst. Die Steuerung 20 ist mit der weiteren Steuerung für den Roboter 26 gekoppelt, die den Zweck hat, die Bewegung des Roboters zu steuern. Daher können die Fehlerhandhabungssteuerung 20 und die Robotersteuerung 26 über eine Schnittstelle 28 miteinander gekoppelt werden, die einen ersten Schnittstellenteil 28a (der Steuerung 20) und einen zweiten Schnittstellenteil 28b (der Steuerung 26) umfasst. Über diese Schnittstelle 28 können Daten zwischen den beiden Steuerungen 20 und 26 ausgetauscht werden, um die Lageinformationen aus der Steuerung 26 zu empfangen und für einen Fehlerhandhabungsablauf Steuersignale an die Steuerung 26 auszusenden. Die Speichereinheit 22 der Fehlerhandhabungssteuerung 20 ist konfiguriert, die aus der Steuerung 26 empfangenen Lageinformationen zu speichern, wobei der CPU 24 konfiguriert ist, die empfangenen Lageinformationen zu analysieren und das Speichern der Lageinformationen zu steuern, indem er z.B. die zeitliche Auflösung variiert. Des Weiteren detektiert bzw. ermittelt der CPU 24 einen Fehler und steuert im Falle eines Fehlers den Roboter über die Steuerung 26 basierend auf den gespeicherten Daten.
  • Durch die Topologie der beiden Steuerungen 20 und 26 ist veranschaulicht, dass die Steuerung 20 ein autonomer Prozessor sein kann; somit kann die Steuerung 20 als Nachrüstbauteil ausgebildet sein.
  • Gemäß weiteren Ausführungsformen kann die Steuerung wie in 2b dargestellt direkt mit dem Roboter gekoppelt sein. 2b zeigt den Roboter 10 mit der Robotersteuerung 26 und der Steuerung zur Fehlerhandhabung 20 gekoppelt. Alternativ dazu können die beiden Steuerungen 20 und 26 zu einer Steuereinheit kombiniert sein, die die Betriebssteuerung und die Fehlerhandhabung ausführt.
  • Unter Bezugnahme auf die 3a und 3b wird eine Ausführungsform besprochen, die es ermöglicht, die zeitliche Auflösung zu variieren. Ausgehend von dem Diagramm in 1f wird deutlich, dass die Varianz der zeitlichen Auflösung es ermöglicht, die Abtastauflösung der Bahnkurve 18 zu variieren. Die Zeitachse der 1f zeigt eine Vielzahl von Kennungen, die jede einem Aufzeichnungszeitpunkt zugeordnet ist. Wie zu erkennen ist, ist die Anzahl an Aufzeichnungen zwischen den Punkten tP2 und tP3 im Vergleich zur Anzahl der Kennungen zwischen den Punkten tP1 und tP2 höher. Diese Erhöhung der zeitlichen Auflösung wird vorzugsweise im Falle einer hohen Bewegungsgeschwindigkeit vorgenommen. 3a zeigt die Abhängigkeit der zurückgelegten Distanz Δx, des Zeitfensters Δt und der Geschwindigkeit v.
  • Im Detail zeigt 3a zwei Diagramme, wobei das erste Diagramm veranschaulicht, dass eine höhere Zeitdifferenz Δt zwischen zwei Aufzeichnungen bei konstanter Geschwindigkeit v (des TCP) zu einer erhöhten zurückgelegten Distanz Δx führt. Das zweite Diagramm veranschaulicht, dass eine erhöhte Geschwindigkeit v (des TCP) bei unverändert bleibender Zeitspanne Δt zu einer höheren resultierenden zurückgelegten Distanz Δx pro Zeiteinheit (Δt) führt. Eine bevorzugte Art und Weise, die Zeitfenster Δt zu definieren, besteht darin, diese auf Basis der Höchstgeschwindigkeit zu adaptieren. Eine weitere Art und Weise besteht darin, das Zeitfester Δt so auszuwählen, dass die zurückgelegte Distanz Δx im Falle einer kurvigen Bahnkurve klein genug und bei gerader Bahnkurve erhöht ist. Der Hintergrund dessen ist, dass ein gemeinsames Ziel darin besteht, die Anzahl an Aufzeichnungen zu reduzieren, um so die CPU-Last der Robotersteuerung oder des Unterbrechungssystems zu reduzieren. Diese Strategie veranschaulicht 3b.
  • Unten stehend wird unter Bezugnahme auf 4 eine weitere Ausführungsform besprochen. 4a zeigt eine beispielhafte Bahnkurve 30 in einem Zusammenbauvorgang, wobei die Bahnkurve elf vorab definierte Lagen für den TCP umfasst. Jede Lage P1 bis P11 entspricht einem Wendepunkt des TCP, d.h. einer Veränderung der Bewegungsrichtung des TCP. Wie oben stehend besprochen, geht die Bewegung des TCP und somit die Veränderung der Bewegungsrichtung auf eine Kombination verschiedener Bewegungen der Vielzahl von Gelenken des Roboters zurück. Die unten stehende Diskussion ist unter Bezugnahme auf die Bahnkurve 30 des TCP verfasst, die eine Kombination der Bewegungen der verschiedenen Gelenke darstellt. Die Bahnkurve des Roboters oder die Vielzahl unabhängiger Bewegungen, die die Bahnkurve ergeben, wird im Zuge einer Anfangseinstellung definiert. Während der Einstellung kann eine Vielzahl verschiedener Bahnkurven, z.B. die Bahnkurve 30, für verschiedene Zusammenbauvorgänge definiert werden. Hier sind die Punkte P1 bis P4 sogenannten globale Punkte, die für jede der verschiedenen Bahnkurven verwendet werden, wobei der Punkt P1 der Ausgangspunkt des Roboters ist. Der Punkt P4 kann der Punkt sein, an dem ein Werkstück in eine horizontale Lage gedreht wird. Die Punkte P5 und P6 sind herstellungsvorgangspezifisch und können somit je nach ausgewähltem Herstellungsprogramm variieren. Der Punkt P9 ist ein sogenannter strategischer Punkt der Bahnkurve 30, an dem der Spannsatz, der an dem Werkzeugmittelpunkt befestigt ist, geöffnet wird, um das Werkstück abzusetzen (dargestellt durch den Pfeil). Die Punkte P7 und P8 sind vom Punkt P9 abhängig; daher können die Lagen P7 und P8 auch als dynamische Lagen oder entsprechende Lagen bezeichnet werden. Diese dynamischen Lagen haben den Vorteil, dass eine Verschiebung der Lage P9 auch zu einer Verschiebung der vorausgehenden Lagen P7 und P8 führt. Die Punkte P10 und P11 (nach dem Absetzen des Werkstücks) definieren den Pfad des TCP aus dem Arbeitsbereich und sind auch dynamische Lagen in Abhängigkeit von der Lage P9. Die Abhängigkeit wird während des sogenannten Lehrvorgangs während der Anfangseinstellung gespeichert. Es ist zu beachten, dass dieser Bewegungspfad über die Punkte P10 und P11 typischerweise ohne das Werkstück durchlaufen wird. Die Punkte P11 und P5 der Bahnkurve, der TCP kehrt direkt vom Punkt P11 über die Punkte P5, P4, P3 und P2 zur Lage P1 zurück, ohne die Punkte P10, P9, P8, P7 und P6 zu durchlaufen. Eine solche Bahnkurve ermöglicht, dass der von der Bahnkurve 30 von P5 bis P5 eingeschlossene Bereich 32 von dem TCP nicht durchquert wird, wodurch der Bereich 32 für einen anderen Gegenstand, wie z.B. einen anderen Roboter, reserviert werden kann.
  • 4b zeigt einen Zusammenstoß des TCP auf der Bahnkurve 30. Der Zusammenstoß ist am Punkt Pk zwischen den Punkten P8 und P9 passiert. Der Zusammenstoß ist über eine integrierte Funktion des Roboters detektierbar, die es ermöglicht, den Roboter in den Weichfunktionsmodus umzuschalten. Dieser Modus hält den Roboter zwischendurch auf und aktiviert einen antriebskraftlosen Modus für jedes Gelenk, um eine Beschädigung des Roboters, des Gegenstands des Kollision oder des Werkstücks zu vermeiden. Aufgrund der weichen Funktion liegt die Position Px nach dem Zusammenstoß jedoch außerhalb der vorab definierten Bahnkurve 30. Außerdem kann der Gegenstand der Kollision letztlich auf der Bahnkurve 30 liegen, z.B. am Punkt Pk der Bahnkurve 30. Daher besteht ein Bedarf daran, den Roboter so zu steuern, dass er in die Ausgangslage P1 zurückkehrt, ohne neuerlich mit dem Gegenstand (vgl. Position Pk ) zu kollidieren.
  • Hier sind einige Binärdaten für den Rückweg angegeben: Beispielsweise darf der Bereich 32 nicht durchquert werden. Darüber hinaus kann aufgrund der Tatsache, dass das Werkstück nicht losgelassen wurde, der TCP den Abschnitt der Bahnkurve, der die Punkte P10 und P 11 umfasst, nicht verwenden. Daher besteht der bevorzugte Ansatz darin, über die Bahnkurvenpunkte P8, P7, P6, P5, P4, P3 und P2, d.h. über den aufgezeichneten Pfad wie in 4c dargestellt, in die Lage P1 zurückzukehren.
  • Um einen weiteren Zusammenstoß am Punkt Pk zu vermeiden, steuert die Fehlerhandhabungssteuerung den Roboter so, dass der TCP nicht in die letzte aufgezeichnete Lage zurückkehrt, sondern in die letzte sichere Lage Ps , z.B. die Lage, die auf der Bahnkurve 30 vor dem Punkt des Zusammenstoßes Pk liegt (d.h. zwischen die Punkte P8 und Pk ). Die genaue Lage des Punktes Ps hängt von der zeitlichen Auflösung der Aufzeichnung ab. Wie oben stehend besprochen, wird der Roboter so gesteuert, dass er sich entlang der Bahnkurve 30' in eine Rückwärtsrichtung ausgehend von den Punkten Ps oder Px und dem Punkt P1 bewegt.
  • Unter Bezugnahme auf 4b gilt es anzumerken, dass die Aufzeichnung der Bahnkurve 30 nach dem Durchlaufen eines strategischen Punktes wie des Punktes P9 (TCP-Lage, in der der Spannsatz geöffnet wird, um das Werkstück loszulassen) aufgehalten werden kann, sodass der Rückweg nach dem Durchlaufen dieses strategischen Punktes einem Abschnitt der vorab definierten Bahnkurve 30 entsprechen kann, der die Punkte P10, P11, P5, P4, P3, P2 und P1 umfasst. Folglich bedeutet das, dass ein Zusammenstoß nach dem Punkt P9 zu einem Fehlerhandhabungsablauf führt, der nicht auf den aufgezeichneten Lageinformationen beruht. Der Hintergrund dessen ist, dass vernünftigerweise angenommen werden kann, dass die Bahnkurve 30 im Bereich des Loslasspunktes P9 von dem Werkstück oder einem anderen Roboter, der das Werkstück handhabt, besetzt sein kann. Daher kann das Verfahren gemäß weiteren Ausführungsformen den Schritt des Aufhaltens der Aufzeichnung umfassen, wenn eine vorab definierte strategische Lage der Bahnkurve 30 durchlaufen wird. In solchen Fällen kann der Fehlerhandhabungsablauf ausgeführt werden, sodass der TCP sich entlang der Vorwärtsrichtung zurück auf die vorab definierte Bahnkurve 30 bewegt.
  • Unter Bezugnahme auf die Ausführungsform aus 1 gilt es anzumerken, dass der von den Tabellen veranschaulichte Bewegungsdatensatz unter Einsatz von Interpolationsrechnungen vergrößert werden kann. Diese Interpolation kann z.B. während des Fehlerhandhabungsablaufs erfolgen, also wenn der TCP entlang der Rückbahnkurve bewegt wird.
  • Unter Bezugnahme auf 1a gilt es anzumerken, dass das Kollisionserfassungssystem z.B. auf einer Analyse der Drehmomentwerte der einzelnen Bewegungsachsen basieren kann. Der Hintergrund dessen ist, dass eine Abweichung des gemessenen oder ermittelten Drehmomentwerts von den regulären (bekannten) Drehmomentwerten (um z.B. mehr als +10 % oder +5 %) auf eine Kollision hindeutet. Die Ermittlung des Drehmomentwertes kann durch Analyse der Motorströme der Gelenksaktoren für die entsprechenden Bewegungsachsen erfolgen.
  • Unter Bezugnahme auf 2a gilt es anzumerken, dass die von der Fehlerhandhabungssteuerung 20 ausgegebenen Steuersignale durch die Steuerung 26 verarbeitet werden können, sodass die von der Fehlerhandhabungssteuerung 20 ausgegebenen Steuersignale mit dem Standardsteuersignal der Steuerung 26 kombiniert werden. Dies ermöglicht eine laufruhige Bewegung des TCP.
  • Unter Bezugnahme auf 4 gilt es anzumerken, dass manche Punkte, z.B. die Punkte P1, P2, P3 oder P4, auch für den Fehlerhandhabungsablauf als globale Lagen definiert werden können. Das Definieren solcher globalen Lagen für den Fehlerhandhabungsablauf ermöglicht, dass die Rückbahnkurve 30' mit der Vorwärtsbahnkurve 30 kongruent ist. Typischerweise ist zumindest die Ausgangslage P1 als ein solcher globaler Punkt definiert. Hier kann es von Vorteil sein, die globalen Punkte von den aufgezeichneten Punkten unabhängig zu speichern.
  • Unter Bezugnahme auf die 1b - 1f gilt es anzumerken, dass die numerische Aufzeichnung der einzelnen Bewegungslagen des gesamten Roboters oder der Vielzahl von Bewegungsachsen in einem vergleichbaren Format wie durch die obige Tabelle veranschaulicht gespeichert werden kann. Des Weiteren gilt es anzumerken, dass die gespeicherten Werte (Rotationswert, Beugungswinkelwert und/oder Wert der linearen Verschiebung) absolute Werte (z.B. der Winkel zwischen zwei Roboterarmsegmenten) sein können oder von den absoluten Werten abhängige Werte sein können.
  • Wenngleich Aspekte von Ausführungsformen der Erfindung für einen Knickarmroboter (einen Roboter mit serieller Kinematik) beschrieben wurde, können diese Aspekte oder kann das gesamte Verfahren zur Fehlerhandhabung auch für Roboter mit einer anderen Form verwendet werden, etwa für einen Roboter mit einer parallelen Kinematik (vgl. humanoiden Roboter) oder eine Stewart-Plattform (vgl. Hexapod), oder für eine sonstige automatische Vorrichtung. Des Weiteren ist die Anzahl an Gelenken und somit die Anzahl an Bewegungsachsen nicht begrenzt, also kann die Anzahl im Allgemeinen n betragen, wobei n ≥ 1 ist.
  • Wenngleich manche Aspekte im Kontext einer Vorrichtung beschrieben wurden, ist klar, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, wobei ein Block oder eine Vorrichtung einem Verfahrensschritt oder einem Merkmal eines Verfahrensschritts umfasst. Analog dazu stellen im Kontext eines Verfahrensschrittes beschriebene Aspekte auch eine Beschreibung eines entsprechenden Blocks oder Elements oder Merkmals einer entsprechenden Vorrichtung dar. Manche oder alle der Verfahrensschritte können von einer Hardwarevorrichtung (oder unter deren Verwendung) ausgeführt werden, wie z.B. von einem Mikroprozessor, einem programmierbaren Computer oder einer elektronischen Schaltung. In manchen Ausführungsformen kann irgendeiner oder können mehrere der wichtigsten Verfahrensschritte von einer solchen Vorrichtung ausgeführt werden.
  • Je nach konkreten Implementierungsanforderungen können Ausführungsformen der Erfindung in Hardware oder in Software implementiert werden. Die Implementierung kann unter Verwendung eines digitalen Speichermediums ausgeführt werden, z.B. einer Diskette, einer DVD, einer Blu-Ray, einer CD, einem ROM, einem PROM, einem EPROM, einem EEPROM oder einer FLASH-Speichereinheit, auf der elektronisch lesbare Speichersignale gespeichert sind, die mit einem programmierbaren Computersystem so kooperieren (oder zu kooperieren in der Lage sind), dass das entsprechende Verfahren ausgeführt wird. Daher kann das digitale Speicher Medium durch Computer lesbar sein.
  • Manche Ausführungsformen gemäß der Erfindung umfassen einen Datenträger mit elektronisch lesbaren Steuersignalen, die dazu fähig sind, mit einem programmierbaren Computersystem zu kooperieren, sodass eines der hierin beschriebenen Verfahren ausgeführt wird.
  • Im Allgemeinen können Ausführungsformen der vorliegenden Erfindung als Computerprogrammprodukt mit einem Programmkode implementiert werden, wobei der Programmkode zur Ausführung eines der Verfahren betätigbar ist, wenn das Computerprogrammprodukt auf einem Computer abläuft. Der Programmkode kann z.B. auf einem maschinell lesbaren Träger gespeichert sein
  • Andere Ausführungsformen umfassen das Computerprogramm zur Ausführung eines der hierin beschriebenen Verfahren auf einem maschinell lesbaren Träger gespeichert.
  • In anderen Worten ist eine Ausführungsform des erfindungsgemäßen Verfahrens daher ein Computerprogramm mit einem Programmkode zur Ausführung eines der hierin beschriebenen Verfahren bei Ablauf des Computerprogramms auf einem Computer.
  • Eine weitere Ausführungsform der erfindungsgemäßen Verfahren ist daher ein Datenträger (oder ein digitales Speichermedium oder ein durch Computer lesbares Medium), der (bzw. das) das Computerprogramm zur Ausführung eines der hierin beschriebenen Verfahren darauf gespeichert umfasst. Der Datenträger, das digitale Speichermedium oder das aufgezeichnete Medium sind typischerweise dinglich und/oder nicht vorübergehend.
  • Eine weitere Ausführungsform des erfindungsgemäßen Verfahrens ist daher ein Datenstrom oder eine Abfolge von Signalen, der bzw. die das Computerprogramm zur Ausführung eines der hierin beschriebenen Verfahren darstellt. Der Datenstrom oder die Abfolge von Signalen kann z.B. konfiguriert sein, über eine Datenübermittlungsverbindung, z.B. über das Internet, übertragen zu werden.
  • Eine weitere Ausführungsform umfasst ein Verarbeitungsmittel, z.B. einen Computer oder eine programmierbare Logikvorrichtung, der bzw. die konfiguriert oder angepasst ist, eines der hierin beschriebenen Verfahren auszuführen.
  • Eine weitere Ausführungsform umfasst einen Computer, auf dem das Computerprogramm zur Ausführung eines der hierin beschriebenen Verfahren installiert ist.
  • Eine weitere Ausführungsform gemäß der Erfindung umfasst eine Vorrichtung oder ein System, die bzw. das konfiguriert ist, (z.B. elektronisch oder optisch) ein Computerprogramm zur Ausführung eines der hierin beschriebenen Verfahren auf eine Empfangseinheit zu übertragen. Die Empfangseinheit kann z.B. ein Computer, eine mobile Vorrichtung, eine Speichervorrichtung oder dergleichen sein. Die Vorrichtung oder das System kann z.B. einen Dateienserver zur Übertragung des Computerprogramms an die Empfangseinheit umfassen.
  • In manchen Ausführungsformen kann eine programmierbare Logikvorrichtung (z.B. eine feldprogrammierbare Gate-Anordnung) zur Ausführung mancher oder aller der Funktionen der hierin beschriebenen Verfahren verwendet werden. In manchen Ausführungsformen kann eine feldprogrammierbare Gate-Anordnung mit einem Mikroprozessor kooperieren, um eines der hierin beschriebenen Verfahren auszuführen. Im Allgemeinen werden die Verfahren vorzugsweise mittels einer beliebigen Hardwarevorrichtung ausgeführt.

Claims (25)

  1. Verfahren zur Fehlerhandhabung eines Roboters (10) mit zumindest einer ersten und einer zweiten Bewegungsachse (12a, 12b), wobei das Verfahren Folgendes umfasst: das Empfangen einer ersten Lageinformation über die erste Bewegungsachse (12a) für einen ersten Zeitpunkt (tP1) und einer ersten Lageinformation über die zweite Bewegungsachse (12b) für den ersten Zeitpunkt (tP1) und das Speichern (22) der empfangenen ersten Lageinformation als Bewegungsdatensatz; das Empfangen einer zweiten Lageinformation über die erste Bewegungsachse (12a) für einen zweiten Zeitpunkt (tP2) und einer zweiten Lageinformation über die zweite Bewegungsachse (12b) für den zweiten Zeitpunkt (tP2) und das Speichern (22) der empfangenen zweiten Lageinformation im Bewegungsdatensatz; Empfangen einer dritten Lageinformation über die erste Bewegungsachse (12a) für einen dritten Zeitpunkt (tP3) und einer dritten Lageinformation über die zweite Bewegungsachse (12b) für den dritten Zeitpunkt (tP3) und des Speicherns (22) der empfangenen dritten Information im Bewegungsdatensatz nach dem Empfangen und Speichern (22) der zweiten Lageinformation; und das Steuern des Roboters (10) gemäß einem Fehlerablauf, wenn ein Roboterfehler detektiert wird, wobei der Fehlerablauf Folgendes umfasst: das Ansteuern des Roboters (10), die erste und die zweite Bewegungsachse (12a, 12b) in ihre jeweilige dritte Lage (P3) zu bewegen; und das Ansteuern des Roboters (10), die erste und die zweite Bewegungsachse (12a, 12b) in ihre jeweilige zweite Lage (P2) zu bewegen; sowie das Ansteuern des Roboters (10), die erste und die zweite Bewegungsachse (12a, 12b) in ihre jeweilige erste Lage (P1) zu bewegen; wobei die zeitliche Auflösung der Aufzeichnung variable ist.
  2. Verfahren nach Anspruch 1, worin der Roboter (10) eine Vielzahl von Bewegungsachsen aufweist; worin der Schritt des Empfangens und Speicherns (22) der ersten Lageinformation über die erste Bewegungsachse (12a) und der zweiten Bewegungsachse (12b) das Empfangen und Speichern (22) der jeweiligen ersten Lageinformation weiterer Bewegungsachsen der Vielzahl von Bewegungsachsen umfasst; und worin der Schritt des Empfangens und Speicherns (22) der zweiten Lageinformation über die erste Bewegungsachse (12a) und der zweiten Bewegungsachse (12b) das Empfangen und Speichern (22) der jeweiligen zweiten Lageinformation der weiteren Bewegungsachsen umfasst.
  3. Verfahren nach Anspruch 1 oder 2, worin eine Zeitdifferenz zwischen dem ersten Zeitpunkt (tP1) und dem zweiten Zeitpunkt (tP2) gleich groß ist wie eine Zeitdifferenz zwischen dem zweiten Zeitpunkt (tP2) und dem dritten Zeitpunkt (tP3).
  4. Verfahren nach einem der Ansprüche 1 bis 3, worin eine Zeitdifferenz zwischen dem ersten Zeitpunkt (tP1) und dem zweiten Zeitpunkt (tP2) je nach Geschwindigkeit der ersten Bewegungsachse (12a) und/oder nach Geschwindigkeit der zweiten Bewegungsachse (12b) angepasst wird.
  5. Verfahren nach Anspruch 4, worin die Zeitdifferenz reduziert wird, wenn die Geschwindigkeit der ersten Bewegungsachse (12a) und/oder der zweiten Bewegungsachse (12b) hoch ist; und/oder worin die Zeitdifferenz vergrößert wird, wenn die Geschwindigkeit der ersten Bewegungsachse (12a) und/oder der zweiten Bewegungsachse (12b) hoch ist.
  6. Verfahren nach einem der Ansprüche 1 bis 5, worin die erste und die zweite Lage (P2)im Bewegungsdatensatz als absolute Werte für die erste und die zweite Achse gespeichert werden.
  7. Verfahren nach einem der Ansprüche 1 bis 6, worin die erste und die zweite Lage (P2) im Bewegungsdatensatz als Werte für die erste und die zweite Achse gespeichert werden, worin die Werte aus einer Gruppe stammen, die einen Rotationswert, einen Beugungswinkelwert und/oder einen Wert der linearen Verschiebung umfassen.
  8. Verfahren nach einem der Ansprüche 1 bis 7, das Folgendes umfasst: einen Verfahrensschritt des Empfangens einer ersten Geschwindigkeitsinformation der ersten Bewegungsachse (12a) für einen Zeitraum zwischen dem ersten Zeitpunkt (tP1) und dem zweiten Zeitpunkt (tP2) und einer ersten Geschwindigkeitsinformation der zweiten Bewegungsachse (12b) für den Zeitraum zwischen dem ersten Zeitpunkt (tP1) und dem zweiten Zeitpunkt (tP2) und des Speicherns (22) der empfangenen ersten Geschwindigkeitsinformation im Bewegungsdatensatz; und einen Ablaufschritt des Steuerns des Roboters (10), um die erste und die zweite Bewegungsachse (12a, 12b) mit entsprechenden Geschwindigkeiten gemäß der gespeicherten ersten Geschwindigkeitsinformation aus ihrer jeweiligen zweiten Lage (P2) in ihre jeweilige erste Lage (P1) zu bewegen.
  9. Verfahren nach einem der Ansprüche 1 bis 8, das Folgendes umfasst: einen Verfahrensschritt des Empfangens einer ersten Beschleunigungsinformation der ersten Bewegungsachse (12a) für einen Zeitraum zwischen dem ersten Zeitpunkt (tP1) und dem zweiten Zeitpunkt (tP2) und einer ersten Beschleunigungsinformation der zweiten Bewegungsachse (12b) für den Zeitraum zwischen dem ersten Zeitpunkt dP1) und dem zweiten Zeitpunkt (tP1) und des Speicherns (22) der empfangenen ersten Beschleunigungsinformation im Bewegungsdatensatz; und einen Ablaufschritt des Steuerns des Roboters (10), um die erste und die zweite Bewegungsachse (12a, 12b) mit jeweils umgekehrten Beschleunigungen gemäß der gespeicherten ersten Beschleunigungsinformation aus ihrer jeweiligen zweiten Lage (P2) in ihre jeweilige erste Lage (P1) zu bewegen.
  10. Verfahren nach einem der Ansprüche 1 bis 9, worin zumindest eine Lage der ersten und der zweiten Bewegungsachse (12a, 12b) für einen vordefinierten Zeitpunkt relativ zum ersten (tP1) und/oder zum zweiten Zeitpunkt (tP2) vordefiniert wird; und worin der Fehlerablauf den Schritt des Ansteuerns des Roboters (10), die erste und die zweite Bewegungsachse (12a, 12b) in die vordefinierte Lage zu bewegen, umfasst.
  11. Verfahren nach Anspruch 10, worin die vordefinierte Lage durch kartesische Koordinaten im Raum definiert wird.
  12. Verfahren nach Anspruch 10 oder 11, worin die vordefinierte Lage eine Ausgangslage des Roboters (10) ist.
  13. Verfahren nach einem der Ansprüche 10 bis 12, worin die vordefinierte Lage eine letzte aufgezeichnete Lage ohne Fehler ist.
  14. Verfahren nach Anspruch 13, worin der Schritt des Ansteuerns des Roboters (10), die erste und die zweite Bewegungsachse (12a, 12b) in die vordefinierte Lage zu bewegen, so ausgeführt wird, dass eine Lage, in der der Fehler detektiert wurde, übergangen wird.
  15. Verfahren nach einem der Ansprüche 1 bis 14, worin der detektierte Fehler ein Zusammenstoß des Roboters (10) ist, der konfiguriert ist, im Falle des Zusammenstoßes einen weich wirkenden Ablauf auszuführen.
  16. Verfahren nach einem der Ansprüche 1 bis 15, worin die Schritte des Ansteuerns des Roboters (10), die erste und die zweite Bewegungsachse (12a, 12b) in ihre jeweilige erste und zweite Lage (P1, P2) zu bewegen, Teilschritte des Ausgebens von Steuersignalen an und/oder über eine Steuereinheit des Roboters (10) umfassen, worin die Steuersignale durch die Steuereinheit nachbearbeitet werden, um dem Roboter (10) zu ermöglichen, sich gemäß einem roboterspezifischen Bewegungsprofil zu bewegen.
  17. Verfahren nach einem der Ansprüche 1 bis 16, worin der Bewegungsdatensatz in einer Tabelle mit einer ersten Dimension für die entsprechenden Bewegungsachsen und einer zweiten Dimension für die entsprechenden Zeitpunkte gespeichert ist.
  18. Computerlesbares digitales Speichermedium, auf dem ein Computerprogramm mit einem Programmkode zur Ausführung eines Verfahrens zur Fehlerhandhabung eines Roboters (10) mit zumindest einer ersten und einer zweiten Bewegungsachse (12a, 12b) bei Ablauf auf einem Computer gespeichert ist, wobei das Verfahren Folgendes umfasst: das Empfangen einer ersten Lageinformation über die erste Bewegungsachse (12a) für einen ersten Zeitpunkt (tP1) und einer ersten Lageinformation über die zweite Bewegungsachse (12b) für den ersten Zeitpunkt (tP1) und das Speichern (22) der empfangenen ersten Lageinformation als Bewegungsdatensatz; das Empfangen einer zweiten Lageinformation über die erste Bewegungsachse (12a) für einen zweiten Zeitpunkt (tP2) und einer zweiten Lageinformation über die zweite Bewegungsachse (12b) für den zweiten Zeitpunkt (tP2) und das Speichern (22) der empfangenen zweiten Lageinformation im Bewegungsdatensatz; Empfangen einer dritten Lageinformation über die erste Bewegungsachse (12a) für einen dritten Zeitpunkt (tP3) und einer dritten Lageinformation über die zweite Bewegungsachse (12b) für den dritten Zeitpunkt (tP3) und des Speicherns (22) der empfangenen dritten Information im Bewegungsdatensatz nach dem Empfangen und Speichern (22) der zweiten Lageinformation; und das Steuern des Roboters (10) gemäß einem Fehlerablauf, wenn ein Roboterfehler detektiert wird, wobei der Fehlerablauf Folgendes umfasst: das Ansteuern des Roboters (10), die erste und die zweite Bewegungsachse (12a, 12b) in ihre jeweilige dritte Lage (P2) zu bewegen; und das Ansteuern des Roboters (10), die erste und die zweite Bewegungsachse (12a, 12b) in ihre jeweilige zweite Lage (P3) zu bewegen; sowie das Ansteuern des Roboters (10), die erste und die zweite Bewegungsachse (12a, 12b) in ihre jeweilige erste Lage (P1) zu bewegen.
  19. Vorrichtung zur Fehlerhandhabung eines Roboters (10) mit zumindest einer ersten und einer zweiten Bewegungsachse (12a, 12b), wobei die Vorrichtung konfiguriert ist, eine Lageinformation über die erste und die zweite Bewegungsachse (12a, 12b) des Roboters (10) zu empfangen, um Bewegungsdaten unter Verwendung einer Speichereinheit zu speichern und, wenn der Roboter (10) einen Fehler verursacht, den Roboter (10) über Steuersignale zu steuern, die auf den gespeicherten Bewegungsdaten basieren, worin die gespeicherten Bewegungsdaten eine erste Lageinformation über die erste Bewegungsachse (12a) für einen ersten Zeitpunkt (tP1), eine zweite Lageinformation über die erste Bewegungsachse (12a) für einen zweiten Zeitpunkt (tP2), eine erste Lageinformation über die zweite Bewegungsachse (12b) für den ersten Zeitpunkt (tP1) und eine zweite Lageinformation über die zweite Bewegungsachse (12b) für den zweiten Zeitpunkt (tP2) umfassen, worin die Steuersignale ein erstes Steuersignal, das den Roboter (10) ansteuert, die erste und die zweite Bewegungsachse (12a, 12b) in ihre jeweilige zweite Lage (P2) zu bewegen, und ein zweites Steuersignal, das den Roboter (10) ansteuert, die erste und die zweite Bewegungsachse (12a, 12b) in ihre jeweilige erste Lage (P1) zu bewegen, umfassen und worin das erste Steuersignal ausgegeben wird, bevor das zweite Steuersignal ausgegeben wird, sodass der Roboter (10) sich in die zweite Lage (P2) bewegt, bevor er sich in die erste Lage (P1) bewegt.
  20. Vorrichtung nach Anspruch 19, worin die Vorrichtung die Speichereinheit umfasst, die konfiguriert ist, den Bewegungsdatensatz zu speichern (22) und/oder bereitzustellen.
  21. Vorrichtung nach Anspruch 19 oder 20, worin die Vorrichtung eine Schnittstelle zum Empfang der Lageinformationen und/oder zur Aussendung der Steuersignale umfasst.
  22. Steuerung (26) zum Steuern eines Roboters (10) mit zumindest einer ersten und einer zweiten Bewegungsachse (12a, 12b), wobei die Steuerung (26) konfiguriert ist, die erste und die zweite Bewegungsachse (12a, 12b) gemäß einem Steuerungsalgorithmus zu steuern, und konfiguriert ist, Bewegungsdaten unter Verwendung einer Speichereinheit zu speichern (22) und, wenn der Roboter (10) einen Fehler verursacht, den Roboter (10) über Steuersignale zu steuern, die auf den gespeicherten Bewegungsdaten basieren, worin die gespeicherten Bewegungsdaten eine erste Lageinformation über die erste Bewegungsachse (12a) für einen ersten Zeitpunkt (tP1, eine zweite Lageinformation über die erste Bewegungsachse (12a) für einen zweiten Zeitpunkt (tP2), eine erste Lageinformation über die zweite Bewegungsachse (12b) für den ersten Zeitpunkt (tP1) und eine zweite Lageinformation über die zweite Bewegungsachse (12b) für den zweiten Zeitpunkt (tP2) sowie eine dritte Lageinformation über die erste Bewegungsachse (12a) für einen dritten Zeitpunkt (tP3) und eine dritte Lageinformation über die zweite Bewegungsachse (12b) für den dritten Zeitpunkt (tP3) umfassen, worin die Steuersignale ein erstes Steuersignal, das den Roboter (10) ansteuert, die erste und die zweite Bewegungsachse (12a, 12b) in ihre jeweilige zweite Lage (P2) zu bewegen, und ein zweites Steuersignal, das den Roboter (10) ansteuert, die erste und die zweite Bewegungsachse (12a, 12b) in ihre jeweilige erste Lage (P1) zu bewegen, und ein weiteres Steuersignal, das den Roboter (10) ansteuert, die erste und die zweite Bewegungsachse (12a, 12b) in ihre jeweilige dritte Lage (P3) zu bewegen, umfassen und worin das weitere Steuersignal ausgegeben wird, bevor das erste Steuersignal ausgegeben wird, sodass der Roboter (10) sich in die dritte Lage (P3) bewegt, bevor er sich in die zweite Lage (P2) bewegt, und worin das erste Steuersignal ausgegeben wird, bevor das zweite Steuersignal ausgegeben wird, sodass der Roboter (10) sich in die zweite Lage (P2) bewegt, bevor er sich in die erste Lage (P1) bewegt.
  23. Roboter (10), der Folgendes umfasst: eine erste Bewegungsachse (12a); eine zweite Bewegungsachse (12b); eine Steuerung (26) zum Steuern der ersten und der zweiten Bewegungsachse (12a, 12b); und eine Vorrichtung (20) zur Fehlerhandhabung, wobei die Vorrichtung (20) konfiguriert ist, Bewegungsdaten unter Verwendung einer Speichereinheit zu speichern (22) und, wenn der Roboter (10) einen Fehler verursacht, den Roboter (10) über Steuersignale zu steuern, die auf den gespeicherten Bewegungsdaten basieren, worin die gespeicherten Bewegungsdaten eine erste Lageinformation über die erste Bewegungsachse (12a) für einen ersten Zeitpunkt (tP1, eine zweite Lageinformation über die erste Bewegungsachse (12a) für einen zweiten Zeitpunkt (tP2), eine erste Lageinformation über die zweite Bewegungsachse (12b) für den ersten Zeitpunkt (tP1) und eine zweite Lageinformation über die zweite Bewegungsachse (12b) für den zweiten Zeitpunkt (tP2) sowie eine dritte Lageinformation über die erste Bewegungsachse (12a) für einen dritten Zeitpunkt (tP3) und eine dritte Lageinformation über die zweite Bewegungsachse (12b) für den dritten Zeitpunkt (tP3) umfassen, worin die Steuersignale ein erstes Steuersignal, das den Roboter (10) ansteuert, die erste und die zweite Bewegungsachse (12a, 12b) in ihre jeweilige zweite Lage (P2) zu bewegen, und ein zweites Steuersignal, das den Roboter (10) ansteuert, die erste und die zweite Bewegungsachse (12a, 12b) in ihre jeweilige erste Lage (P1) zu bewegen,und ein weiteres Steuersignal, das den Roboter (10) ansteuert, die erste und die zweite Bewegungsachse (12a, 12b) in ihre jeweilige dritte Lage (P3) zu bewegen, umfassen und worin das weitere Steuersignal ausgegeben wird, bevor das erste Steuersignal ausgegeben wird, sodass der Roboter (10) sich in die dritte Lage (P3) bewegt, bevor er sich in die zweite Lage (P2) bewegt, und worin das erste Steuersignal ausgegeben wird, bevor das zweite Steuersignal ausgegeben wird, sodass der Roboter (10) sich in die zweite Lage (P2) bewegt, bevor er sich in die erste Lage (P1) bewegt.
  24. Roboter (10) nach Anspruch 23, worin der Roboter (10) mehr Bewegungsachsen umfasst als Freiheitsgrade.
  25. Roboter (10) nach Anspruch 23 oder 24, worin die Vorrichtung (20) zur Fehlerhandhabung in die Steuerung (26) eingebettet ist.
DE102014224193.6A 2013-11-27 2014-11-26 Verfahren und Vorrichtung zur Fehlerhandhabung eines Roboters Active DE102014224193B9 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/092,711 US9604362B2 (en) 2013-11-27 2013-11-27 Method and apparatus for failure handling of a robot
US14/092,711 2013-11-27

Publications (3)

Publication Number Publication Date
DE102014224193A1 DE102014224193A1 (de) 2015-05-28
DE102014224193B4 DE102014224193B4 (de) 2019-09-19
DE102014224193B9 true DE102014224193B9 (de) 2020-02-27

Family

ID=53045720

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014224193.6A Active DE102014224193B9 (de) 2013-11-27 2014-11-26 Verfahren und Vorrichtung zur Fehlerhandhabung eines Roboters

Country Status (3)

Country Link
US (1) US9604362B2 (de)
CN (1) CN104669264B (de)
DE (1) DE102014224193B9 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015009151A1 (de) * 2015-07-14 2017-01-19 Kuka Roboter Gmbh Ermitteln eines Eingabebefehls für einen Roboter, der durch manuelles Ausüben einer Kraft auf den Roboter eingegeben wird
CN105415375B (zh) * 2016-01-02 2017-04-05 宁波市智能制造产业研究院 一种机器人离线编程系统
CN105415376B (zh) * 2016-01-10 2017-03-29 宁波市智能制造产业研究院 一种离线编程装置
EP3587042A1 (de) * 2018-06-25 2020-01-01 Siemens Aktiengesellschaft Verfahren, vorrichtung und system zur bestimmung einer bewegungsbahn des endeffektors eines roboters
US11505436B2 (en) * 2019-07-19 2022-11-22 GM Global Technology Operations LLC Overhead system for operator-robot task collaboration
US11787054B2 (en) * 2020-12-22 2023-10-17 Intrinsic Innovation Llc Robot planning
CN114670206A (zh) * 2022-05-07 2022-06-28 法奥意威(苏州)机器人系统有限公司 机器人控制方法、装置、协作机器人和存储介质
CN114851248B (zh) * 2022-05-27 2023-03-10 中迪机器人(盐城)有限公司 一种夹取机器人的异常识别及应对处理系统及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004026488A1 (de) * 2004-05-27 2005-12-22 Sks Welding Systems Gmbh Rückführeinrichtung für einen Handhabungsautomaten
DE102004043514A1 (de) * 2004-09-08 2006-03-09 Sick Ag Verfahren und Vorrichtung zum Steuern einer sicherheitsrelevanten Funktion einer Maschine
EP1373993B1 (de) * 2001-04-05 2006-10-11 Siemens Aktiengesellschaft Roboterintelligenz in natürlichen umgebungen
DE102008024950A1 (de) * 2008-05-23 2009-11-26 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Steuerung eines Manipulators
EP1625918B1 (de) * 2004-06-29 2011-10-05 Fanuc Corporation Programmiervorrichtung zum Zurückfahren eines Roboters in seiner Wartestellung
EP1801678B1 (de) * 2005-12-20 2013-02-27 KUKA Laboratories GmbH Roboterbahnsteuerung mit Notfallevakuierungspfadsystem und -verfahren

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5280431A (en) * 1985-08-30 1994-01-18 Texas Instruments Incorporated Method for controlling the movements of a mobile robot in a multiple node factory
SE0402891D0 (sv) * 2004-11-26 2004-11-26 Abb Ab A system and a method for controlling movements of an industrial robot
US20100168914A1 (en) 2008-12-29 2010-07-01 Electronics And Telecommunications Research Institute Diagnosis and management server for multi-kinds robots
US8965561B2 (en) * 2013-03-15 2015-02-24 Cybernet Systems Corporation Automated warehousing using robotic forklifts

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1373993B1 (de) * 2001-04-05 2006-10-11 Siemens Aktiengesellschaft Roboterintelligenz in natürlichen umgebungen
DE102004026488A1 (de) * 2004-05-27 2005-12-22 Sks Welding Systems Gmbh Rückführeinrichtung für einen Handhabungsautomaten
EP1625918B1 (de) * 2004-06-29 2011-10-05 Fanuc Corporation Programmiervorrichtung zum Zurückfahren eines Roboters in seiner Wartestellung
DE102004043514A1 (de) * 2004-09-08 2006-03-09 Sick Ag Verfahren und Vorrichtung zum Steuern einer sicherheitsrelevanten Funktion einer Maschine
EP1801678B1 (de) * 2005-12-20 2013-02-27 KUKA Laboratories GmbH Roboterbahnsteuerung mit Notfallevakuierungspfadsystem und -verfahren
DE102008024950A1 (de) * 2008-05-23 2009-11-26 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Steuerung eines Manipulators

Also Published As

Publication number Publication date
DE102014224193B4 (de) 2019-09-19
CN104669264A (zh) 2015-06-03
US20150148958A1 (en) 2015-05-28
DE102014224193A1 (de) 2015-05-28
CN104669264B (zh) 2018-05-29
US9604362B2 (en) 2017-03-28

Similar Documents

Publication Publication Date Title
DE102014224193B9 (de) Verfahren und Vorrichtung zur Fehlerhandhabung eines Roboters
EP2285537B1 (de) Vorrichtung und verfahren zur rechnergestützten generierung einer manipulatorbahn
DE102011108282B4 (de) Numerische Steuerung für eine Mehrachsenmaschine zum Bearbeiten einer geneigten Bearbeitungsebene
EP2853354B1 (de) Lageregelung mit Kollisionsvermeidung und Anpassung eines Maschinenmodells an die reale Maschine
DE2735632A1 (de) Verfahren und anordnung zum steuern eines industrie-roboters
EP2324966B1 (de) Verfahren und Vorrichtung zur Planung und/oder Steuerung einer Roboterapplikation
DE3151830A1 (de) Robotersteuersystem
DE3236320A1 (de) Vorrichtung zum bewegen eines werkzeugmittelpunktes eines funktionselementes, insbesondere eines roboterarms
DE102011005513A1 (de) Roboter und Verfahren zum Betreiben eines Roboters
EP3227061A1 (de) Verfahren zur bewegungssimulation eines manipulators
EP2919081B1 (de) Bearbeitungsmaschine mit Berücksichtigung von Lagefehlern bei Kollisionsprüfung
EP3037219B1 (de) Sicherer roboter mit bahnfortschrittsvariablen
DE102020126209A1 (de) Roboter
EP3225366B1 (de) Positionsüberwachung einer kinematik
DE102010004474A1 (de) Steuerung für einen Manipulator
DE2338880A1 (de) Verfahren und vorrichtungen zur steuerung der beweglichen teile einer werkzeugmaschine durch ein numerisches umriss- oder punkt-fuer-punkt-steuerungssystem, wobei zwei teile der maschine unabhaengig voneinander entlang einer gemeinsamen achse bewegt werden koennen
DE102019216974A1 (de) Untersetzungsgetriebesystem, korrekturverfahren eines befehlswerts für eine antriebseinheit, verfahren zum erzeugen von korrekturdaten und verfahren zum herstellen des untersetzungsgetriebesystems
WO2005039836A2 (de) Verfahren zur einrichtung einer bewegung eines handhabungsgeräts und bildverarbeitung
DE102017116788B4 (de) Roboter-Steuerungsvorrichtung und Verfahren zur Steuerung derselben
DE102016009436A1 (de) Robotersteuerung, die ein Rütteln einer Werkzeugspitze bei einem Roboter verhindert, der mit einer Verfahrachse ausgestattet ist
DE102015222166A1 (de) Sensitive Roboter durch Sensorik vor der ersten Roboterachse
EP3706962B1 (de) Redundante diversitäre kollisionsüberwachung
EP4057088A1 (de) Sicherer betrieb einer mehrachskinematik
DE102022104586B3 (de) Vorrichtung für das Steuern einer Rückführung eines Roboters zu seinem Ursprung und Verfahren zum Suchen eines Rückführungspfads des Roboters zu seinem Ursprung
EP3792716B1 (de) Numerische steuerung mit pufferung von lagesollwerten

Legal Events

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