DE60129009T2 - Bewegungskorrektur eines industrieroboters - Google Patents

Bewegungskorrektur eines industrieroboters Download PDF

Info

Publication number
DE60129009T2
DE60129009T2 DE60129009T DE60129009T DE60129009T2 DE 60129009 T2 DE60129009 T2 DE 60129009T2 DE 60129009 T DE60129009 T DE 60129009T DE 60129009 T DE60129009 T DE 60129009T DE 60129009 T2 DE60129009 T2 DE 60129009T2
Authority
DE
Germany
Prior art keywords
path
positions
way
robot
control system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60129009T
Other languages
English (en)
Other versions
DE60129009D1 (de
Inventor
Svante Gunnarsson
Mikael Norrlof
Geir Hovland
Ulf Carlsson
Torgny Brogardh
Tommy Fort Collins SVENSSON
Stig Moberg
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.)
ABB AB
Original Assignee
ABB AB
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 ABB AB filed Critical ABB AB
Application granted granted Critical
Publication of DE60129009D1 publication Critical patent/DE60129009D1/de
Publication of DE60129009T2 publication Critical patent/DE60129009T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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/1628Programme controls characterised by the control loop
    • B25J9/1638Programme controls characterised by the control loop compensation for arm bending/inertia, pay load weight/inertia
    • 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/1641Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36415Adjust path and attitude tool by detecting path, line with a photosensor, laser
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39024Calibration of manipulator
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39033Laser tracking of end effector, measure orientation of rotatable mirror
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39056On line relative position error and orientation error calibration
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39176Compensation deflection arm
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39181Compensation of coulomb friction in joint
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39191Compensation for errors in mechanical components
    • 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/41Servomotor, servo controller till figures
    • G05B2219/41084Compensation speed axis with changing, reversing direction, quadrant circle
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/80Management or planning

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung bezieht sich auf ein Verfahren für einen Industrieroboter. Genauer bezieht sich die Erfindung auf ein Verfahren zum Erzielen einer Hochpräzisionssteuerung eines Industrieroboters. Das Verfahren weist einen iterativen Prozess auf, durch den die absolute Genauigkeit des Roboters durch ein automatisches Mittel eingestellt wird. Die Erfindung bezieht sich auch auf eine Einrichtung und ein Computerprogramm, durch die das Verfahren automatisch durchgeführt wird, sowie auf ein computerlesbares Medium, auf dem das Computerprogramm gespeichert ist. Als absolute Genauigkeit ist hier gemeint, dass der Betriebspunkt des Roboters das Erreichen der absoluten Position ist, die in der Zeichnung oder einem CAD-Modell des Werkgegenstands angegeben ist, das heißt Positionen, die in dem Bezugkoordinatensystem des Werkgegenstands definiert sind.
  • Als ein Industrieroboter ist hier ein Manipulator und ein Steuerungssystem gemeint. Der Manipulator weist normalerweise ein bis sechs Achsen auf, kann aber auch externe Achsen aufweisen, die mit einem solchen Manipulator verbunden sind, beispielsweise für eine Bewegung und Orientierung eines Werkgegenstands, eines Werkzeugs oder des Roboters selbst. Es versteht sich hier auch, dass der Manipulator auch eine Vielzahl von Manipulatoren aufweisen kann, die durch das gleiche Steuerungssystem oder durch zusammenwirkende Steuerungssysteme gesteuert werden. Beispielsweise Bearbeiten bei einer solchen Konstellation eine Vielzahl von Robotern gleichzeitig den gleichen Werkgegenstand. Ein weiteres Beispiel ist, dass ein Roboter ein Werkstück hält, wohingegen ein anderer Roboter dieses Werkstück bearbeitet.
  • Technischer Hintergrund
  • In der Industrie besteht seit langem ein Bedarf, industrielle Roboter für Prozesse zu verwenden, die Erfordernisse an höhere Genauigkeit mit sich bringen. Beispiele für solche Prozesse sind: Laserschneiden, Laserschweißen, Plasmaschneiden und Wasserschneiden, usw.
  • Jedoch weist ein Industrieroboter eine große Anzahl von Fehlerquellen auf, die es in normalen Fällen nicht zulassen, dass die Erfordernisse an Genauigkeit, die durch solche Prozesse gegeben sind, erreicht werden. Die Fehlerquellen, die auftreten können, können in statische und dynami sche Fehlerquellen eingeteilt werden. Die dynamischen Fehlerquellen können wiederum in niederfrequente Fehlerquellen und Fehlerquellen mit einer großen Bandbreite eingeteilt werden.
  • 1 zeigt ein Beispiel eines Industrieroboters mit drei Hauptachsen (Achse 1 – Achse 3) und drei Gelenkachsen (Achse 4 – Achse 6). Ein stationärer Fuß 1:1, der gewöhnlich als die Basis des Roboters bezeichnet wird, trägt einen Ständer 1:3, der mittels einer ersten Antriebseinrichtung 1:2 um eine erste Achse drehbar ist. Der Ständer trägt einen ersten Arm 1:5, der mittels einer zweiten Antriebseinrichtung 1:4 um eine zweite Achse drehbar ist. Der erste Arm trägt einen zweiten Arm 1:7, der mittels einer dritten Antriebseinrichtung 1:6 um eine dritte Achse drehbar ist. Der zweite Arm trägt ein Gelenk, das mittels einer vierten, einer fünften und einer sechsten Antriebseinrichtung um die Achsen 4, 5 und 6 drehbar ist. Das Gelenk trägt ein Werkzeug 1:9, in dem ein Betriebspunkt, der TCP (Werkzeugmittelpunkt) genannt wird, definiert ist. Jede Antriebseinrichtung weist einen Motor und ein Getriebe und Vorrichtungen zum Steuern und Messen der Bewegung auf.
  • 2 zeigt schematisch wie die Steuerung eines Industrieroboters angeordnet ist. Die Bewegung des Betriebspunkts und die Orientierung des Werkzeugs sind in einem Programm 2:1 definiert, das durch einen Interpreter 2:2 interpretiert wird, der Bezugspositionen und Bezugsorientierungen für einen Trajektoriengenerator 2:3 erzeugt. Mit Hilfe der Bezugspositionen und der Bezugsorientierungen interpoliert der Trajektoriengenerator eine Trajektorie, die eine Vielzahl von Trajektorieteilen aufweist, wie beispielsweise: Gerade Linien, Kreissegmente und parabolische Trajektorieteile. Gewöhnlich werden die Trajektorieteile in einem kartesischen Koordinatensystem bestimmt, in dem es gewünscht ist, die Position des Betriebspunkts und die Orientierung des Werkzeugs zu definieren. Mittels eines inversen kinematischen Modells 2:4 werden die Winkel, die die Roboterachsen einnehmen sollen, um die Position und die Orientierungswerte für den Betriebspunkt und das Werkzeug zu erreichen, durch den Trajektoriengenerator berechnet. Diese berechneten Roboterachswinkel werden dann als Referenzsignale für die Stellantriebeinheiten 2:5 der Achsen verwendet. Jede Achse weist ihren eigenen Stellantrieb auf, der den Motor 2:6 der Achse mit dem zugehörigen Getriebe 2:7 steuert. Jedes Getriebe bestimmt den Winkel seiner Achse und durch die mechanische gegenseitige Verbindung der Achsen gemäß 1, sehen die Ausgabewinkelgrößen der sechs Getriebe die Orientierung des Werkzeugs 2:9 und das Positionieren des Betriebspunkts (TCP) durch die Kinematik des Roboters vor.
  • Basierend auf den 1 und 2 treten die folgenden Fehlerquellen auf:
    • 1. Kinematische Fehler, die aufgrund der Tatsache entstehen, dass ein Unterschied zwischen dem kinematischen Modell, das bei den inversen kinematischen Berechnungen 2:4 verwendet wird, und der realen Kinematik 2:8 des Roboters besteht. Beispiele für kinematische Fehler sind die Schrägheit der Achsen, unkorrekte Achsabstände und unkorrekte Achsversätze.
    • 2. Übertragungsfehler, die aufgrund der Tatsache entstehen, dass sich die Beziehung zwischen Motorwinkel und Armwinkel nicht entspricht. Der Fehler kann aufgrund einer Ungenauigkeit und Spiel in Getrieben, Fehlern in der Geometrie der beweglichen Stangen entstehen, beispielsweise, wenn parallele Verbindungen für eine Übertragung von Drehmomenten an Achse 3 verwendet werden, usw.
    • 3. Messsystemfehler, die beispielsweise aufgrund der Tatsache entstehen, dass die Winkelbezugsgröße, die dem Achswinkel Null entspricht, unkorrekt ist oder, dass das Rauschlevel des Sensorsignals zu hoch ist.
    • 4. Abwärtsbiegungsfehler, die aufgrund der Tatsache entstehen, dass die Getriebe und Arme nicht vollständig starr sind. Dies ergibt eine Abwärtsabweichung des Roboters, die von den Positionen des Roboterarms und dem Gewicht des Werkzeugs abhängt. Die Situation wird durch die Tatsache verstärkt, dass beispielsweise Getriebe eine drehmomentabhängige Steifigkeitsgröße aufweisen.
    • 5. Kalibrierungsfehler, die die Fehler aufweisen, die auftreten, wenn der Roboter installiert wird. Beispiele für Kalibrierungsfehler sind die Positionsfehler und Orientierungsfehler, die auftreten, wenn die Orientierung und der Betriebspunkt des Werkzeugs relativ zu der Montageplatte des Robotergelenks zu messen sind und, wenn die Position und Orientierung des Roboterfußes relativ zu der Umgebung des Roboters zu messen sind.
    • 6. Dynamische Abweichungsfehler, die auftreten, wenn der Stellantrieb die Motorposition steuert. Da eine Messung von lediglich dem Motorwinkel durchgeführt wird, ist es schwierig, den Motor derart zu steuern, dass das Armsystem in Abhängigkeit von dem Bezugssig nal den Stellantrieb bewegt. Die Situation wird weiter durch die dynamischen Verbindungen, die zwischen den Achsen bestehen, verstärkt.
    • 7. Reibungsfehler, die aufgrund der Reibung entstehen, die der Rotation der Motorwelle und den Wellen in dem Getriebegehäuse entgegenwirken. Wenn der Stellantrieb eine Welle steuert und die Welle die Bewegungsrichtung ändert, addiert die Signalumkehr des Reibmoments, das so entsteht, eine Drehmomentstörgröße zu der Steuerung. Diese Störgröße verursacht eine flüchtige Steuerungshandlung, die einen Wegfehler erzeugt. Falls die Reibung bekannt ist, kann die Drehmomentstörgröße in dem Stellantrieb ausgeglichen werden. Da die Reibung temperaturabhängig ist, von der Drehrichtung abhängt, von dem Betrag der quer laufenden Kräfte auf die Achsen abhängt und vom Verschleiß abhängt, ist es sehr schwierig, die reale Größe der Reibung und wie die Drehmomentstörgrößen, die durch die Reibung verursacht werden, den Weg beeinflussen, vorherzusagen.
  • Eine Frequenzteilung der Fehlerquellen macht deutlich, dass die ersten fünf Fehlerquellen in der obigen Liste statischer Natur sind, dass Fehlerquelle 6 eine dynamische, niederfrequente Fehlerquelle ist, und dass Fehlerquelle 7 eine dynamische, hochfrequente Fehlerquelle ist. Die Technik, die gegenwärtig zum Kompensieren der beschriebenen Fehler verwendet wird, ist wie folgt:
    Bei den Fehlerquellen 1 bis 5 wird eine Identifikation der Fehlerparameter (25 bis 100 Parameter) von jedem individuellen Roboter durch Messen der tatsächlichen Position des Betriebspunkts für eine große Anzahl von Roboterkonfigurationen (50 bis 200 Konfigurationen) mittels eines genauen externen Messsystems durchgeführt. Mit Hilfe dieser Fehlerparameter kann dann eine bessere Übereinstimmung zwischen den inversen kinematischen Berechnungen 2:4 und der tatsächlichen Kinematik 2:8 des Roboters erzielt werden. Typischerweise kann die Summe der statischen Fehler von dem Level 7 mm auf 1 mm reduziert werden. Die Tatsache, dass es nicht möglich ist, eine genauere Kompensation der Fehler durchzuführen, besteht aufgrund der Messfehler in dem externen Messsystem, Getriebespiel der Achsen des Roboters und nicht modellierten Fehlerquellen. Ein beträchtliches Problem in diesem Zusammenhang ist, dass viele der Fehler temperaturabhängig sind.
  • Um den Effekt der Fehlerquelle 6 zu reduzieren, wird ein dynamisches Modellieren des Roboters für einen modellbasierenden Stellantrieb und eine Achsensteuerung durchgeführt. Jedoch ist es nicht möglich, eine ausreichende Genauigkeit der dynamischen Modelle zu erzielen, und es kön nen auch mit dieser Technik dynamische Wegfehler von 0,5 bis 1,0 mm des Betriebpunkts bei relativ geringen Geschwindigkeiten (0,1 bis 0,2 m/s) erhalten werden.
  • Schließlich werden Versuche zum Reduzieren des Effekts der Reibung auf die Achsensteuerung (Fehlerquelle 7) durch Einführen eines entgegenwirkenden modellierten Reibungssignals als Vorwärtskopplungs- oder Rückwärtskopplungssignal in dem Stellantrieb unternommen. Die Reibung wird dann durch Laufenlassen von jeder Achse in einer langsamen Vorwärts-/Rückwärtsbewegung identifiziert, wodurch eine Hälfte des Unterschieds des Drehmomentbezugssignals, das auf diese Weise erhalten wird, dann als eine Messung der Reibung der Achse verwendet wird. Durch Verwenden dieses Verfahrens wird der Wegfehler aufgrund der Reibung typischerweise von dem Level 1 mm auf das Level 0,5 mm reduziert.
  • Zusammenfassung der Erfindung
  • Die Aufgabe der Erfindung ist, Wege und Mittel zum Herstellen eines Steuerungssystems für einen Industrieroboter vorzuschlagen, durch das die Genauigkeit in den Bewegungen des Roboters verbessert wird. Das neue Steuerungssystem soll dem Roboter eine Schlussgenauigkeit verleihen, die auf dem Niveau der Wiederholungsgenauigkeit des Roboters ist. Das bedeutet beispielsweise, dass, falls der Roboter einer Wiederholungsgenauigkeit von 0,05 mm und eine absolute Genauigkeit von 8 mm aufweist, das neue Steuerungssystem dem Roboter eine absolute Genauigkeit von besser als 0,1 mm verleihen soll. Diese absolute Genauigkeit ist zu erreichen, wenn ein Werkzeug, das durch den Roboter getragen wird, sich entlang eines vorgegebenen Wegs bewegt, auf dem auf diese Weise der tatsächliche Werkzeugweg sowohl hinsichtlich der Orientierung, Position und Gestalt entsprechen soll. Die absolute Genauigkeit soll auch in der Lage sein, bei mehreren Robotern, die die gleiche Arbeitsaufgabe durchführen, erreicht zu werden. Die Genauigkeit soll in der Lage sein, automatisch eingestellt zu werden, und es soll möglich sein, das Einstellen am Produktionsort durchzuführen. Das Verfahren kann während einer Installation, Programmierung und während einer Wartung der Roboter durchgeführt werden und kann auch durchgeführt werden, wenn die Roboter während der Produktion verwendet werden.
  • Diese Aufgabe wird gemäß der Erfindung mittels eines Verfahrens gemäß den kennzeichnenden Merkmalen, die in dem kennzeichnendem Abschnitt des unabhängigen Anspruchs 1 beschrieben sind, und mittels eines Steuerungssystems gemäß den kennzeichnenden Merkmalen, die in dem kennzeichnendem Abschnitt des unabhängigen Anspruchs 16 beschrieben sind, gelöst. Vorteil hafte Ausführungsformen sind in den kennzeichnenden Abschnitten der abhängigen Ansprüche beschrieben.
  • Bei einem ersten Aspekt der Erfindung wird die Genauigkeit der Bewegungen eines Roboters mit einem Verfahren verbessert, bei dem ein Bezugsweg mit einem Ausgangsweg verglichen wird. Der Bezugsweg wird durch Verbinden von Positionen erzeugt, die durch das Steuerungssystem erzeugt werden. Der Ausgangsweg wird auf die gleiche Weise durch Verbinden von Positionen erzeugt, die in dem Messsystem beobachtet werden. In diesem Zusammenhang soll betont werden, dass sich die Positionen in dem Bezugsweg und dem Ausgangsweg nicht entsprechen müssen. Gewöhnlicherweise werden deutlich mehr Positionen in dem Ausgangsweg als die erzeugten Positionen in dem Bezugsweg beobachtet. Der Unterschied zwischen dem Bezugsweg und dem Ausgangsweg bildet die Wegabweichung. Bei einer ersten Ausführungsform der Erfindung bildet die Wegabweichung die Grundlage für eine Korrektur des Steuerungssystems, so dass während eines nachfolgenden Prozesses ein Bezugsweg einen Ausgangsweg ergibt, der eine verbesserte Übereinstimmung zwischen den Wegen aufweist.
  • Die Wegabweichung wird gemäß der Erfindung durch Bilden von Vektoren zwischen geometrisch festgelegten Positionen in dem entsprechenden Weg berechnet. Vor allem werden solche Vektoren angestrebt, deren Komponenten in der Richtung von jedem der Wege von minimaler Größe sind. Solche Vektoren werden beispielsweise erhalten, wenn diese zwischen Positionen in den Wegen, die geometrisch aus dem gleichen Wegindex berechnet sind, angeordnet sind. Die Vektoren, die auf diese Weise gebildet sind, bilden in sich eine Basis für eine Einstellung der Bezugsgrößen in dem Steuerungssystem. Während einer Parametereinstellung der Antriebsroutinen ist es vorteilhafter, einen Mittelwert der Vektoren in einem Intervall um eine spezifische Position zu bilden.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens wird eine Tangente an eine Position in dem Bezugsweg und eine Normalebene, die zu dieser Tangente zugehörig ist, durch die Position gebildet. Anschließend wird in dem Ausgangsweg eine Position, die in diese Normalebene fällt, interpoliert. Zu diesem Zweck können verschiedene Verfahren zur Berechnung verwendet werden, wie beispielsweise: quadratische Mittelwerte, Absolutwerte, Mittelwerte, Medianwerte oder Maximalwerte. Dann wird von der Position in dem Bezugweg zu der Position in dem Ausgangsweg ein Vektor gebildet, dessen Betrag und Richtung die Grundlage einer Einstellung der Parameter und Referenzen in dem Steuerungssystem bilden.
  • Bei einer weiteren Ausführungsform des Verfahrens wird der Ausgangsweg durch ein Messsystem, das mit dem Roboter verbunden ist, gemessen. Beispielsweise können für jede Position in dem Ausgangsweg die Achswinkel gelesen werden. Zum Vereinfachen des Verfahrens wird vorteilhafterweise ein kreisförmiger Bezugsweg verwendet, der vorzugsweise derart platziert werden kann, dass verschiedene Antriebsvorrichtungen bis zu einem Maximalausmaß beeinflusst werden. Um die Positionen in dem Bezugsweg wird ein Intervall gebildet, wobei die Mittelwerte der Differenzen zwischen den Wegen über dieses Intervall gebildet werden. Es wird im Besonderen bevorzugt, den Mittelwert über eine Position zu bilden, an der eine Antriebsvorrichtung die Richtung ändert, wenn sie sich bewegt. Wegen der Reibung wird ein Übergang in diesem Teil des Ausgangswegs erreicht. Der erhaltene Wert bildet dann eine Grundlage für eine Parametereinstellung der Steuerung der Antriebsvorrichtung. Gemäß der Erfindung wird die Parametereinstellung der Werte in einem lokalen Koordinatensystem durchgeführt, das ein kartesisches Koordinatensystem sein kann, und wird dann auf Parameter zum Steuern der Geschwindigkeitssteuerung und der Stromsteuerung eines Motors transformiert.
  • Bei einem besonders bevorzugten Verfahren ist ein spezieller Trajektoriengenerator mit dem Steuerungssystem zum Erzeugen von Wegen (oder Trajektorien) verbunden, bei dem eine Antriebsvorrichtung die Richtung ändert. Die erzeugten Wege sind bevorzugt kreisförmig. An einem Punkt, an dem die Antriebsvorrichtung die Richtung ändert, wird ein Intervall entlang des Kreises um den Punkt gebildet. Der Mittelwert der Wegabweichungen in diesem Intervall wird gebildet und das Ergebnis wird für eine Parametereinstellung der Antriebsvorrichtung verwendet.
  • Bei einer zusätzlichen vorteilhaften Ausführungsform des Verfahrens wird der Ausgangsweg durch ein externes Messsystem gemessen. Beispielsweise können Positionen in dem Ausgangsweg mit Hilfe eines laserbasierenden Messsystems gelesen werden. Auf die gleiche Weise wie bei dem oben beschriebenen Verfahren wird ein Vektor von einer Position des Bezugswegs zu einer Position in dem Ausgangsweg gebildet, welcher Vektor eine Grundlage für eine Bezugeinstellung des Steuerungssystems bildet. Die Position in dem Ausgangsweg ist eine interpolierte Position, die in einer Normalebene zu einer Tangente durch die Position in dem Bezugsweg liegt. Das externe Messsystem wird auch zum gleichzeitigen Messen des Werkstücks oder eines dazu äquivalenten Körpers zum Fixieren des Werkstücks verwendet.
  • Dem letzteren Verfahren kann gemäß der Erfindung eine Einstellung des Ausgangswegs in zwei Schritten vorangehen. Der erste Schritt weist eine Einstellung des Ausgangswegs bezüglich der Orientierung in Bezug auf den Bezugsweg auf. Bei einem nochmaligen Verfahren wird somit ein Ausgangsweg erhalten, der korrekt orientiert in Bezug auf den Bezugsweg ist. Der zweite Schritt weist eine Einstellung des orientierten Ausgangswegs bezüglich der Position des Bezugswegs auf. Bei einem nochmaligen Verfahren wird ein Ausgangsweg somit erhalten, der sowohl korrekt orientiert und mit der gleichen Position wie der Bezugsweg ist. Der Ausgangsweg, der auf diese Weise orientiert und übertragen ist, wird gemäß dem Obigen bezüglich der Gestalt in Bezug auf den Bezugsweg eingestellt.
  • Beim Orientieren der Wege wird in jedem der Wege ein Vektor zwischen geometrischen Positionen in den Wegen gebildet, die den gleichen Interpolationsindex aufweisen. Beim Verschieben des Ausgangswegs wird ein Vektor zwischen einer geometrisch berechneten Position in jedem Weg mit dem gleichen Interpolationsindex gebildet, welcher Vektor eine Referenz für die Verschiebung darstellt. Die Verschiebung kann auch durch Berechnen des Schwerpunkts für jeden der Wege und Bilden des Vektors zwischen diesen Schwerpunkten bestimmt werden.
  • Bei einem zweiten Aspekt der Erfindung wird die Genauigkeit der Bewegung des Roboters mittels eines Verfahrens verbessert, das die oben beschriebenen Verfahren enthält. Bei einem ersten Teilverfahren wird eine Einstellung der Parameter, die die Antriebsvorrichtungen steuern, gemäß dem ersten Verfahren iteriert. Bei einer zweiten Iteration wird das Ergebnis der ersten Iteration eingeführt, dessen Ergebnis dazu gebracht wird, das Steuerungssystem bei einer dritten Iteration zu beeinflussen, usw. Bei einem zweiten Teilverfahren wird der Ausgangsweg als erstes bezüglich einer Orientierung, Position und schließlich einer Gestalt iteriert. Bei einer zweiten Iteration werden die Ergebnisse, die aus der ersten Iteration erhalten wurden, dazu gebracht, das Steuerungssystem zu beeinflussen, usw. Schließlich können zum Erzielen einer höheren Genauigkeit das erste Verfahren und das zweite Verfahren ein oder mehrere zusätzliche Male iteriert werden.
  • Alle Kompensationen werden durch Ablaufenlassen der Wege, die für die Anwendung programmiert sind, und/oder von Wegen einer speziellen Art (beispielsweise Kreise), die in der Nähe der Wege platziert sind, die für die Anwendung programmiert sind, durchgeführt. Bei einer besonders geeigneten Ausführungsform werden auch die Position und die Orientierung des Werkgegenstands durch das externe Messsystem gemessen. In bestimmten Fällen kann es hier ausreichend sein, Bezugspunkte der so genannten Spannvorrichtung, die den Werkgegenstand hält, genau zu messen. Beim Verbessern der Genauigkeit einer Vielzahl von Robotern, die durch das Steuerungssystem gesteuert werden, ist es geeignet, das gleiche externe Messsystem zu verwenden, wenn alle Roboter sowie der Werkgegenstand eingestellt werden.
  • Gemäß einem zusätzlichen Aspekt der Erfindung ist das Verfahren in einem Computerprogramm enthalten, das einem Prozessor Anweisungen gibt, der das Verfahren ausführt. Das Computerprogramm ist angeordnet, dass es auf einem computerlesbaren Medium gespeichert wird. Das Computerprogramm ist auch angeordnet, dass es dem Steuerungssystem über ein Netzwerk, wie beispielsweise das Internet, zugeführt wird.
  • Kurzbeschreibung der Zeichnungen
  • Die Erfindung wird im genaueren Detail durch eine Beschreibung einer Ausführungsform unter Bezugnahme auf die beigefügten Zeichnungen erklärt, von denen
  • 1 schematisch einen Manipulator mit sechs Achsen, die einem Industrieroboter gemäß der Erfindung gehören, zeigt,
  • 2 schematisch ein Steuerungssystem mit einer Anzahl von Bauteilen, die gewöhnlich enthalten sind, zeigt,
  • 3 schematisch ein Steuerungssystem zeigt, das zusätzliche Einheiten zum Berechnen von Softwaremodulen zur Implementierung einer automatischen Parametereinstellung gemäß der Erfindung aufweist,
  • 4 einen Teil eines Steuerungssystem und das Prinzip des Berechnens der Wegabweichungen zum Erzielen eines automatischen Parameterabstimmens zeigt,
  • 5 einen Teil eines Steuerungssystem und einen besonderen Fall zum Berechnen einer Wegabweichung während eines automatischen Abstimmens von beispielsweise Reibungsparametern, zeigt,
  • 6 einen Teil eines Steuerungssystems mit Bauteilen für ein automatisches Parameterabstimmen und Stellantriebfunktionen für eine Steuerung von einer der Achsen des Roboters zeigt,
  • 7 einen Teil eines Steuerungssystems mit den Softwaremodulen zeigt, die für eine Implementierung einer automatischen Einstellung der Stellantriebreferenzen mit Hilfe eines externen Messsystems erforderlich sind,
  • 8 einen Teil eines Steuerungssystems und das Prinzip, wie die Wegabweichungen und Wegeinstellungen während einer automatischen Einstellung der Stellantriebreferenzen berechnet werden, zeigt,
  • 9 ein Beispiel, wie eine Einstellung des Bezugswegs bei einem Orientierungsschritt, einem Verschiebungsschritt und in einem Gestalteinstellungsschritt durchzuführen ist, zeigt,
  • 10 ein Beispiel des Prinzips zum Berechnen der Einstellung des Bezugswegs hinsichtlich der Orientierung zeigt,
  • 11 ein Beispiel des Prinzips zum Berechnen der Einstellung des Bezugswegs hinsichtlich der Verschiebung zeigt,
  • 12 ein Beispiel des Prinzips zum Berechnen der Einstellung des Bezugswegs hinsichtlich der Gestalt zeigt,
  • 13 ein Beispiel zeigt, wie die gemeinsam gespeicherten Einstellungen zu einem inversen Bezugsweg führen, und
  • 14 ein Beispiel einer Anordnung zeigt, die zwei Manipulatoren und ein externes Messsystem aufweist, die zum Messen der Bewegungswege, die für eine automatische Einstellung der Stellantriebreferenzen verwendet werden, verwendet werden.
  • Beschreibung der bevorzugten Ausführungsformen
  • Ein Verfahren für eine Kompensation von dynamischen Breitbandfehlerquellen gemäß der Erfindung ist in 3 gezeigt, die eine Erweiterung der 2 ist. In 3 sind die Blöcke, die Stellantriebe 2:5, Motoren 2:6 und Getriebe 2:7 darstellen, für alle Achsen eines 6-Achsenroboters gezeigt. In dem Fall, in dem die Erfindung für andere Arten von Manipulatoren verwendet wird, beispielsweise Positionseinsteller, die zwei oder drei Achsen aufweisen, wird die Erfindung für eine kleinere Anzahl von Achsen verwendet, oder in dem Fall eines koordinierten Ablaufs zwischen dem Roboter und einem externen Manipulator wird die Erfindung für die Achsen von sowohl dem Roboter als auch dem Manipulator gleichzeitig verwendet. Von jedem Stellantrieb erstreckt sich ein Pfeil zu dem entsprechenden Motor, der das Motordrehmoment darstellt, das durch den Stellantrieb gesteuert wird, und von jedem Motor erstreckt sich eine Rückkopplung zu dem entsprechenden Stellantrieb, der das gemessene Signal von der Achswinkelmesseinrichtung des Motors darstellt. Ein Modul für eine Direktkinematikberechnung 3:1 empfängt Signale von der Achswinkelmesseinrichtung des Motors zum Berechnen der Position, die der Betriebspunkt gehabt hätte, und der Orientierung, die das Werkzeug gehabt hätte, falls der Roboter nicht unter irgendeinem Fehler relativ zu dem kinematischen Modell, das bei der inversen Kinematikberechnung in Modul 2:4 verwendet wird, gelitten hätte. In einem Modul zum Berechnen der Wegabweichung 3:2 werden die Positionen und/oder die Orientierungen, die in dem Modul 3:1 berechnet werden, mit den gewünschten Positionen und/oder Orientierungen von dem Trajektoriengenerator 2:3 oder von einem besonderen Trajektoriengenerator verglichen. Es ist von äußerster Bedeutung, wenn diese Wegabweichung berechnet wird, dass die Positionen und die Orientierungen aus den Direktkinematikberechnungen im Modul 3:1 mit den korrekten entsprechenden Positionen und Orientierungen von dem Trajektoriengenerator 2:3 verglichen werden. Ein Modul zum Parameterabstimmen 3:3 empfängt das Ergebnis aus Modul 3:2 und erzeugt Kompensationsparameter für die enthaltenen Achsen.
  • 4 zeigt in einer durchgezogenen Linie einen Bezugsweg 4:1, der von dem Trajektoriengenerator erzeugt ist, und in einer gestrichelten Linie einen Ergebnisweg 4:2, der von den Motorachspositionen nach den Direktkinematikberechnungen in 3:1 erzeugt sind. In einem vergrößerten Bild 4:3 der zwei Wege ist gezeigt, wie die Wegabweichung berechnet wird. Tatsächlich bestehen die Wege 4:1 und 4:2 aus einer Sequenz von Positions- und möglicherweise Orientierungswerten, die bei verschiedenen Intervallen für 4:1 und 4:2 abgetastet werden. Für eine gegebene Position in dem Bezugsweg 4:1 mit Wegindex Sref 4:7, wird die Tangente Tang_ref 4:5 des Bezugswegs und die Ebene Norm_ref (4:4), die sich durch den Wegpunkt mit Wegindex Sref und im rechten Winkeln zu Tang_ref erstreckt, berechnet. In dem Fall, in dem die Wege in einer Ebene liegen, ist Norm_ref ganz einfach im rechten Winkel zu Tang_ref in der Ebene der Wege und in dem Wegpunkt mit Wegindex Sref. Der Wegindex, der auch als Interpolatorindex bezeichnet wird, kann beispielsweise als das Integral der Distanz entlang des Wegs von seinem Startpunkt berechnet werden. Es ist natürlich möglich, als eine äquivalente Alternative von dem Weg 4:2 zu starten und für einen gegebenen Wegindex Smot (4:6) die Tangente zu Weg 4:2 zu berechnen, und dann diejenige Ebene zu berechnen, die im rechten Winkel zu der Tangente zu 4:2 ist.
  • Nun wird, um die Position des Ergebniswegs 4:2 zu finden, die sich auf die Position des Bezugswegs in dem Wegindex Sref 4:7 bezieht, einfach diejenige Position des Wegs 4:2 berechnet, die an dem Punkt liegt, an dem der Weg 4:2 die Ebene schneidet, in dem zweidimensionalen Fall als diejenige Position, die an dem Punkt liegt, an dem 4:2 die Tangente Norm_ref in der Ebene des Wegs kreuzt, die 4:1 und 4:2 gemeinsam ist. Da der Weg 4:2 abgetastet wird, ist es erforderlich, dass der Schnittpunkt (das Kreuzen) durch Interpolation zwischen den abgetasteten Positionen von 4:2 bestimmt wird. Bei dieser Interpolation kann eine Mittelwertbildung über mehrere Abtastpositionen des Wegs 4:2 durchgeführt werden, um das Verfahren weniger geräuschempfindlich zu machen. Bei der Interpolation ist es außerdem möglich, eine Kleinstquadratanpassung der Polgnome oder Splinefunktionen zu verwenden, um mit einer so hoch wie möglichen Genauigkeit die Wegabweichung zwischen dem Bezugsweg 4:1 und dem motorerzeugten Weg 4:2 zu berechnen. In dem Fall, in dem der Weg 4:2 als der Startpunkt festgelegt ist, wird eine entsprechende Berechnung des Schneidens zwischen dem Weg 4:1 und einer Ebene, die eine Tangente an den Weg 4:2 als eine Normale aufweist, durchgeführt.
  • Ein einfacheres Verfahren, das jedoch zu einer weniger guten Genauigkeit führt, ist einfach die Differenz zwischen Positionen der Wege 4:1 und 4:2 mit dem gleichen Wegindex (Sref = Smot) zu berechnen. Da ein Wegindex normalerweise als enthaltener Abstand berechnet wird, liegen aufgrund der Wegabweichungen des Ergebniswegs 4:2 die Positionen, die verglichen werden, in diesem Fall nicht wie in dem Beispiel 4:3 orthogonal relativ zueinander, und es besteht ein Risiko, dass die Kompensation zu Geschwindigkeitsänderungen entlang des Wegs führt. Ein Abweichungswert wird dann berechnet beispielsweise als die Quadratsumme der Differenzen zwischen den Positionen der Wege 4:1 und 4:2 in einer Anzahl von Positionen entlang des Bezugwegs mit unterschiedlichen Sref. Das Modul 3:2 gibt als Ausgabesignal beispielsweise die gesamte Wegabweichung über den ganzen Weg oder die Wegabweichungen über verschiedene Teile der Wege. In den Fällen, in denen es auch gewünscht ist, die Werkzeugorientierung zu steuern, ist es möglich, beispielsweise die Quadratsumme der Differenzen in den Werkzeugorientierungen der Positionen der Wege 4:1 und 4:2, die oben berechnet wurden, zu verwenden.
  • Zur Kompensation der dynamischen Breitbandfehlerquellen und insbesondere der der Reibung, stellt es sich heraus, dass es oft ausreichend ist, einfache Endlosschleifenbezugswege, wie beispielsweise Kreise, zum Durchführen der Kompensation zu verwenden, obwohl anschließend bei der tatsächlichen Produktion andere Gestalten von Wegen bei dem Roboter ausgeführt werden. Für Kreise ist die Berechnung der Wegabweichung einfacher und stabiler. 5 zeigt einen Teil eines Steuerungssystems gemäß dem Obigen sowie einen kreisförmigen Bezugsweg 5:3 und einen Ergebnisweg 5:2. Für eine Erzeugung des Bezugswegs wird ein besondere Trajektoriengenerator 5:1 hier verwendet, der einfach den Bezugskreis 5:3 berechnet, der am besten dem Ergebnisweg 5:2 entspricht, der durch die Achswinkel des Motors aus dem Modul zur Berechnung einer direkten Kinematik 3:1 erzeugt wird. Der Bezugskreis kann beispielsweise in vier Schritten berechnet werden: Als erstes wird der Schwerpunkt 5:7 des Wegs 5:2 berechnet, dann wird die Mittelnormale zu dem Weg 5:2 berechnet, anschließend wird die Ebene, die diese Mittelnormale als eine Normale aufweist und die durch den berechneten Schwerpunkt verläuft, berechnet, und schließlich wird der Radius desjenigen Kreises, der in der berechneten Ebene liegt, der seine Mitte in dem berechneten Schwerpunkt 5:7 hat, und dessen Radius durch den Mittelradius des Wegs 5:2 gegeben ist, berechnet.
  • Eine zusätzliche Technik, die verwendet werden kann, um einen Bezugskreis 5:3 in dem besonderen Trajektoriengenerator 5:1 zu berechnen, soll die Parameter verwenden, die in dem Roboterprogramm 2:1 enthalten sind. Bei den Bewegungsanweisungen des Roboters für Kreise und Kreissegmente werden die Position und Orientierung von demjenigen Koordinatensystem, in dem der Kreis platziert ist, die Position der Mitte des Kreises, der Radius des Kreises und die Orientierung der Kreisebene gelesen. Normalerweise ist der Kreis in der xy-Ebene in dem lokalen Kreiskoordinatensystem angeordnet.
  • Zum Berechnen der Wegabweichung wird die Differenz zwischen der Position 5:5 auf dem Ergebnisweg 5:2 und die Position 5:4 auf dem Bezugsweg (Kreis) 5:3 gebildet, bei der die Wege eine radiale Linie 5:6 an dem Referenzkreis 5:3 oder möglicherweise an dem gemessenen Kreis 5:2 schneiden. Der Mittelwert der Differenzen zwischen radial befindlichen Positionen auf den zwei Wegen wird dann über die unterschiedlichen Winkelgrößen der radialen Linie 5:6 gebildet. Wenn die Position bestimmt wird, an der der Weg 5:2 die radiale Linie 5:6 schneidet, können eine Mittelwertbildung, eine Splinewegberechnung, usw. in der gleichen Weise verwendet werden, wie sie für den allgemeinen Weg in 4 beschrieben worden ist.
  • 5 zeigt auch, wie die Wegabweichung in verschiedenen Kreisintervallen berechnet werden kann. In dem Fall, in dem die Kompensation der Reibung durchzuführen ist, ist es bekannt, dass eine Reibungsstörung auftritt, wo die Geschwindigkeit das Vorzeichen der relevanten Achse ändert. Auf dem Bezugsweg 5:3 in der Figur ist eine solche Position durch den Pfeil 5:9 markiert. Hier ändert beispielsweise die Geschwindigkeit der Stellantriebreferenz oder der gemessenen Motorgeschwindigkeit das Vorzeichen. Um diesen Punkt wird ein Kreisintervall zwischen zwei Positionen, die durch die Pfeile 5:8 und 5:10 markiert sind, definiert, in denen die Reibungsstörung einen vorübergehenden Bahnfehler ergibt. In diesem Intervall wird der quadratische Mittelwert der radialen Differenzen der Positionen auf den Wegen 5:3 und 5:2 beispielsweise berechnet und diese Wegabweichungsgröße wird zum Steuern der Kompensation der Achse verwendet, deren Geschwindigkeit das Vorzeichen bei 5:9 ändert.
  • Wie die Wegabweichung zum Kompensieren bei den dynamischen Breitbandfehlerarten, und dann insbesondere die Reibung, verwendet wird, ist in 6 gezeigt. Beginnend von der Wegabweichung in demjenigen Wegintervall, in dem die relevante Achse das Vorzeichen bezüglich der Geschwindigkeit geändert hat, wird eine Einstellung in einem Reibungsmodell 6:10 von denjenigen Parametern vorgenommen, die für eine minimale Wegabweichung auf der Motorseite abzustimmen sind. In seiner einfachsten Form besteht das Reibungsmodell lediglich aus der Coulomb-Reibung und in diesem Fall muss nur ein Parameter pro Achse abgestimmt werden. Die Reibung wird dann durch einen Reibungskompensator 6:11 verwendet, der beispielsweise eine Drehmomentvorwärtskopplung an den Stellantrieb mit einem Vorzeichen durchführt, das dem Reibungsdrehmoment, das erzeugt wird, wenn die Motorwelle ihre Richtung ändert, entgegengesetzt ist. In dem einfachsten Fall mit nur der Coulomb-Reibung, sieht die Drehmomentvorwärtskopplung einen Drehmomentschritt mit einer bestimmten Zeitverzögerung relativ zu der Zeit der Änderung des Vorzeichens der Geschwindigkeit der Motorwelle und/oder des Geschwindigkeitssignals der Stellantriebreferenz vor. Die Geschwindigkeit der Motorwelle wird in einem differenzierenden Modul 6:9 berechnet und das Geschwindigkeitssignal der Stellantriebreferenz wird in einem Vorwärtskopplungsgenerator 6:2 berechnet.
  • 6 zeigt auch die Steuerkreise für eine Achse. Die Positionsreferenz (posref) 6:1 aus den inversen kinematischen Berechnungen (2:4 in 3) wird in dem Vorwärtskopplungsgenerator 6:2 zum Erzeugen einer Geschwindigkeitsreferenz für einen Summenzähler 6:5 verwendet. Die Positionsreferenz bildet auch das Bezugssignal an ein Positionssteuergerät 6:4. In einem Differenzbilder 6:3 wird der Positionsfehler, der das Positionssteuergerät steuert, berechnet und in dem Summenzähler 6:5 wird der Steuerungsfehler für ein Geschwindigkeitssteuergerät 6:6 berechnet. Das Ausgabesignal von dem Geschwindigkeitssteuergerät bildet eine Drehmomentreferenz für ein Stromsteuergerät 6:7, das die Ströme an den Motor 2:6 steuert. Anstelle des Durchführens der Kompensation der Reibungsstörungen in dem Geschwindigkeitssteuergerät 6:6 kann dies in dem Stromsteuergerät 6:7 (Drehmomentsteuerung) gemäß dem gestrichelten Linienpfeil durchgeführt werden. Die Position der Motorwelle wird durch eine Winkelmesseinrichtung 6:8 gemessen und die Geschwindigkeit der Motorwelle wird in dem differenzierenden Modul 6:9 berechnet.
  • Die Kompensation gemäß den 3 bis 6 wird iterativ für eine oder jeweils mehrere Achsen durchgeführt. Da verschiedene Achsen ihre Bewegungsrichtung an verschiedenen Teilen des Wegs ändern, können die Reibungsparameter von mehr als einer Achse während der gleichen iterativen Sequenz abgestimmt werden. Dies tritt beispielsweise auf, wenn die Intervalle 5:10 bis 5:8 in 5 für verschiedene Achsen getrennt sind. In dem einfachsten Fall kann die Iteration einfach in der Weise durchgeführt werden, dass ein minimaler Wert der Coulomb-Reibungsgröße als erstes gewählt wird, welcher Wert dann von einem Lauf zum nächsten vergrößert wird, bis eine minimale Wegabweichung für die fragliche Achse erhalten wird. Dies kann dann für alle sechs Achsen des Roboters durchgeführt werden. Um die Abstimmzeit zu reduzieren, kann ein sukzessives Annäherungsverfahren oder ein adaptives Verfahren verwendet werden, bei dem der gewählte Reibungswert von dem vorherigen Ergebnis der Änderungen des Reibungswerts abhängt. Es ist auch möglich, mit einer Grobabstimmung mit großen Schritten bei den Reibungsparametern zu beginnen, und anschließend eine Feinabstimmung um die Grobabstimmung durchzuführen, die die geringste Wegabweichung vorgesehen hat.
  • Diese Verfahren mit einer sukzessiven Einstellung der Reibungswerte sehen einen iterativen Lernprozess vor, bei dem basierend auf der Erfahrung von welchen Wegabweichungen, die zuvor gewählt wurden, sich Reibungswerte ergeben haben, die Werte der Reibungsparameter für den nächsten Lauf so optimal wie möglich bestimmt werden.
  • Zum Kompensieren der statischen und der dynamischen niederfrequenten Fehlerquellen gemäß den Punkten 1 bis 6, wird ein externes Messsystem verwendet, das direkt oder indirekt die Position des Betriebspunkts und möglichst die Orientierung des Werkzeugs misst. Beispiele für externe Messsysteme sind servo-gesteuerte Laserinterferometer, Theodolite und CCD-Kameramesssysteme. Auch können mechanische Messanlagen, wie beispielsweise 3D- Digitalisiergerätmessarme, Drahtsysteme und Koordinatenmessmaschinen, brauchbar sein. Es besteht auch eine Möglichkeit, ein Absolutmesssystem durch Relativmesssensoren, beispielsweise Hochstabilitätsbeschleunigungssensor, zu ergänzen.
  • 7 zeigt ein Steuerungssystem gemäß 2, das durch ein externes Messsystem 7:1 ergänzt ist. Das externe Messsystem misst die Position des Betriebspunkts (TCP) und möglicherweise die Orientierung des Werkzeugs 2:9 und die gemessenen Größen werden dann zum Berechnen der Wegabweichung in einem Modul 7:2 verwendet. In diesem Modul werden die Werkzeugpositionen, die von dem externen Messsystem gemessen wurden, mit entsprechenden Bezugspositionen verglichen, die entweder von dem internen Trajektoriengenerator 2:3 oder von einem externen Trajektoriengenerator 7:4 erhalten werden. Der externe Trajektoriengenerator 7:4 erhält seine Bahngeometriedaten aus dem Roboterprogramm 2:1 oder direkt aus einem CAD-System. Die berechnete Wegabweichung wird dann von einem Einstellmodul 7:3 verwendet, das eine Einstellung des Bezugswegs durchführt, so dass die Wegabweichung minimiert wird. Zum Reduzieren der Wegabweichung auf das Niveau der Wiederholungsgenauigkeit muss diese Einstellung oft iterativ durchgeführt werden, was bedeutet, dass der fragliche Weg mehr als einmal durchlaufen wird und, dass der Bezugsweg zwischen jedem Lauf eingestellt wird.
  • Die Einstellung des Bezugswegs kann entweder durch Einstellen des Wegs des internen Trajektoriengenerators 2:3 oder durch Einstellen der Positionsargumente der Bewegungsanweisungen in dem Programm 2:1 durchgeführt werden. Es muss beachtet werden, dass der Bezugsweg von dem internen oder externen Trajektoriengenerator nicht geändert werden muss, wenn der Bezugsweg für den Stellantrieb eingestellt wird. Dies bedeutet, dass der ursprüngliche Bezugsweg in dem Programmmodul 2:1 oder in irgendeinem der Trajektoriengeneratoren 2:3, 7:3 gespeichert werden muss, so dass dieser immer bei jeder Iteration einen ungestörten Bezugsweg bildet, wenn die Wegabweichung in dem Modul 7:2 berechnet wird. Es sollte auch betont werden, dass der zuletzt verwendete und eingestellte Bezugsweg für den Stellantrieb gespeichert werden sollte, da die Berechnung der Wegeinstellung stabiler durchgeführt werden kann, falls der Bezugsweg für den Stellantrieb der vorhergehenden Iteration bekannt ist.
  • Die Berechnung der Wegabweichung und der Wegeinstellung kann im Prinzip in der gleichen Weise durchgeführt werden, wie wenn die dynamischen Breitbandfehlerquellen gemäß den 4 und 5 kompensiert werden. 8 zeigt einen Teil des Steuerungssystems gemäß den 2 und 7. 8 zeigt auch in einer ununterbrochenen Linie einen Bezugsweg 8:4 und in einer unterbrochenen Linie einen gemessenen Weg 8:5. Der Bezugsweg 8:4 wird von dem internen 2:3 oder externen 7:4 Trajektoriengenerator erzeugt und der gemessene Weg 8:5 ist das Ergebnis der gemessenen Größen aus dem externen Messsystem 7:1. Auf die gleiche Weise wie in 4 und wie in dem vergrößerten Fenster 4:3 in 8 gezeigt ist, wird die Tangente 4:5 an den Bezugsweg 8:4 als diejenige Bezugsposition 4:7 berechnet, die der Startpunkt der Wegeinstellung sein soll. Anschließend wird die Ebene 4:4 berechnet, die die Tangente 4:5 als eine Normale aufweist und in der die Bezugsposition 4:7 positioniert ist. Der nächste Schritt ist, die Position des Schnittpunkts 4:6 zwischen dem gemessenen Weg 8:5 und der Ebene 4:4 zu berechnen. Die Wegabweichung ist dann der Vektor 8:2 zwischen den Positionen 4:7 und 4:6. Es sollte hier beton werden, dass in dem Fall der kreisförmigen Wege das gleiche Verfahren wie es für die Reibungseinstellung in 5 beschrieben wurde, verwendet werden kann, um eine radiale Wegabweichung zu berechnen.
  • Die Einstellung des Bezugswegs, die dann in 7:3 durchgeführt wird, ist durch einen Vektor 8:3 gegeben, der entgegengesetzt zu dem Wegabweichungsvektor 8:2 gerichtet ist und eine Länge aufweist, die eine Funktion von 8:2 und möglicherweise auch eine Funktion der Wegabweichungsvektoren vor und nach der Position 4:7 ist. In seiner einfachsten Form ist die Länge von 8:3 so lang wie die Länge von 8:2. Der Vektor 8:3 definiert dann die Bezugsposition 8:1, die an den Trajektoriengenerator 2:3 oder das Programm 2:1 gesendet wird. Falls die berechnete Bezugsposition 8:1 nicht zu einer aufeinanderfolgenden Reihenfolge führen, das heißt mit einem ansteigenden Wegindex Sref, wird entlang des neuen Bezugswegs eine Nachberechnung des neu kompensierten Bezugswegs durchgeführt. Diese Nachberechnung besteht aus Sortieren der Bezugspositionen 8:1, so dass sie immer mit ansteigendem Wegindex positioniert sind, so dass die Abstände zwischen den Positionen abgeglichen sind.
  • In dem Fall, dass auch die Werkzeugorientierung entlang des Wegs einzustellen ist, kann dann in jeder Bezugsposition 4:7 die Werkzeugorientierung des Bezugspunkts mit der gemessenen Werkzeugorientierung von dem externen Messsystem 7:1 verglichen werden. In Abhängigkeit davon, wie die Werkzeugorientierung definiert ist, wird der Orientierungsfehler berechnet und dieser Fehler mit geänderten Vorzeichen wird dann zu der Orientierung des Bezugswegs addiert, um die Orientierung des Bezugswegs bei der nächsten Iteration zu erhalten. Es sollte hier betont werden, dass eine gleichzeitige Einstellung der Werkzeugorientierung einen Positionsfehler ergibt. Eine Möglichkeit zum Lösen dieses Problems ist, als erstes bezüglich der Werkzeugorientierung zu iterieren, so dass diese korrekt wird, und dann bezüglich der Position des Betriebs punkts zu iterieren. In dem Fall der Euler-Winkel wird die Einstellung der drei Winkel der Rotation definiert und in dem Fall der Quaternionen werden die Einstellung von einem Winkel der Rotation und die Einheitskoordinaten der Rotationsachse definiert.
  • Im Fall von großen Wegfehlern ist es schwierig, den Vektor 8:2 zu berechnen. Gemäß der Erfindung wird die Berechnung der Wegabweichung in 7:2 und die Einstellung des Bezugswegs in 7:3 in drei Schritten für jede Iteration durchgeführt, die in 9 gezeigt ist. In einem ersten Schritt wird die Wegabweichung bezüglich der Orientierung des Wegs berechnet und die Orientierung des ursprünglichen Wegs 9:1 wird entsprechend der Orientierung des Bezugswegs 9:4 eingestellt, wodurch auf diese Weise ein orientierter Weg 9:2 erhalten wird. In einem zweiten Schritt wird der orientierte Weg 9:2 aus dem ersten Schritt verschoben, bis die Wegabweichung bezüglich der Position des Wegs 9:2 in Relation zu der Position des Bezugswegs 9:4 so klein wie möglich wird, wobei ein verschobener Weg 9:3 erhalten wird. In einem dritten Schritt wird die Wegabweichung zwischen dem verschobenen Weg und dem Bezugsweg gebildet, wodurch der Bezugsweg selbst erhalten wird. Das Verfahren, das in 8 beschrieben ist, kann in diesem Zusammenhang verwendet werden. Während einer iterativen Wegeinstellung können alle drei Schritte bei der ersten Iteration verwendet werden, wohingegen bei nachfolgenden Iterationen es ausreichend sein kann, lediglich Schritt 3 ablaufen zu lassen.
  • Die 10 bis 12 zeigen in einem genaueren Detail, wie die drei Schritte zum Berechnen einer Wegabweichung und für eine Wegeinstellung durchgeführt werden. In Schritt eins werden gemäß 10 zwei Positionen 10:4 und 10:5 mit einer ausreichend großen Differenz im Interpolatorindex (Sref1, Sref2) als erstes berechnet. Der Vektor 10:6 zwischen den Positionen 10:4 und 10:5 definiert nun die Orientierung des Bezugswegs. Dann werden die Positionen 10:1 und 10:2 entsprechend den Interpolatorindizes Sref1 und Sref2 für den gemessenen Weg 9:1 berechnet, und der Richtungsvektor 10:3 des gemessenen Wegs kann berechnet werden. Wie zuvor erwähnt, kann die Weglänge, die aus dem Startpunkt des Wegs berechnet wurde, als Interpolatorindex gewählt werden. Falls es Wege für eine so genannte Einführung und Durchführung mit der Absicht gibt, sanft in und aus einen geschlossenen Weg zu laufen, können die Start- und Stoppposition der Einführungs- und Durchführungswege jeweils ganz einfach für die Positionen 10:1 und 10:2 verwendet werden. Die Wegabweichung in Schritt eins wird aus der Orientierungsdifferenz zwischen den Vektoren 10:6 und 10:3 berechnet. Diese Orientierungsdifferenz kann auf verschiedene Weisen dargestellt werden, beispielsweise durch Euler-Winkel, Quaterionen usw. Die Wegabweichung für alle gemessenen Punkte in Schritt eins wird als die Differenz zwischen der Wegabweichung in dem ursprünglichen Weg 9:1 und dem reorientierten Weg 9:2 erhalten.
  • In Schritt 2 wird gemäß 11 eine Verschiebung des rotierten Wegs 9:2 zu der Position des Bezugswegs 9:4 durchgeführt. Der Verschiebungsvektor kann als ein Vektor zwischen zwei Wegpositionen mit dem gleichen Interpolatorindex der zwei Wege, beispielsweise zwischen den Positionen 11:2 und 10:5, oder als der Mittelwert über mehrere solche Vektoren für verschiedene Interpolatorindizes berechnet werden. Eine andere Möglichkeit ist, die Schwerpunkte der Wege 9:2 und 9:4 zu berechnen und dann den Verschiebungsvektor als den Vektor zwischen diesen Schwerpunkten zu definieren. Eine zusätzliche Möglichkeit ist, ganz einfach die maximalen und minimalen Werte der Wege in der x-Richtung, der y-Richtung und der z-Richtung zu berechnen und dann einen Verschiebungsvektor als die Differenz zwischen den maximalen Werten und den minimalen Werten in den drei Richtungen der Koordinaten zu definieren. Die Wegabweichung ist dann durch den Verschiebungsvektor definiert.
  • In Schritt 3 wird dann gemäß 12 das Verfahren gemäß 8 zum Berechnen der Wegabweichung des reorientierten und verschobenen gemessenen Wegs 9:3 relativ zu dem Bezugsweg 9:4 verwendet. Es kann gesagt werden, dass dieser Schritt den Gestaltungsfehler des Wegs berechnet, wohingegen Schritt eins den Orientierungsfehler des Wegs berechnet und Schritt zwei den Positionsfehler des Wegs berechnet. Wenn diese drei Fehlerverteilungen bekannt sind, kann der neue Bezugsweg berechnet werden und der ungefähre Verlauf für diesen beschriebenen Fall ist in 13 gezeigt. Bei dem Betriebspunkt wird, um dem Bezugsweg 9:4 zu folgen, eine Einstellung durchgeführt, die die Umkehr der Summe der Wegabweichungen in den Schritten 1 bis 3 ist. Dies bedeutet, dass eine entgegengesetzte Reorientierung von 9:1 als erstes durchgeführt wird, dann eine Verschiebung, die entgegengesetzt zu dem Bezugsweg 9:4 ausgerichtet ist, und schließlich eine Einstellung der Weggestalt gemäß dem Verfahren von 8 durchgeführt wird. In dem beschriebenen Fall wird dann ein neuer Bezugsweg 13:1 erhalten. Dieser Bezugsweg 13:1 wird bei der nächsten Iteration als eine Referenz für die Achsstellantriebe verwendet. Jedoch wird der ursprüngliche Bezugsweg 9:4 immer als ein Bezugsweg zum Berechnen der Wegabweichungen verwendet.
  • Es sollte betont werden, dass anstelle eines Rotierens, Verschiebens und Gestaltanpassens des gemessenen Wegs 9:1 es möglich ist, die Wegabweichung und die Wegeinstellung durch Rotie ren, Verschieben und Wegeinstellungen des Bezugswegs 9:4, bis dieser dem gemessenen Weg 9:1 entspricht, durchzuführen.
  • Im Folgenden wird gezeigt, wie die drei Schritte in dem Fall implementiert werden können, in dem die Wegeinstellung in einer Ebene (die xy-Ebene in einem Wegkoordinatensystem) durchgeführt wird. Sind die Positionen auf dem Bezugsweg durch die Endung_r und durch Positionsindex j bezeichnet, und Positionen auf dem gemessenen Weg durch die Endung_m und durch Positionsindex i bezeichnet, was die Positionskoordinaten (x_r, y_r, z_r) und (x_m, y_m, z_m) des Bezugswegs und des gemessenen Wegs jeweils ergibt.
  • Für die Berechnung des Rotationswinkels zwischen zwei Vektoren (10:3, 10:6), die sich zwischen der Start- und Endposition des Wegs (gemäß Schritt 1) erstrecken, wird dann der folgende Ausdruck erhalten:
    Figure 00200001
    bei dem α_rot der Winkel zwischen den zwei Wegen und j_begin und j_end die Indizes für die erste und letzte Position jeweils in dem Bezugsweg sind, und i_begin und i_end die Indizes für die erste und letzte Position jeweils in dem gemessenen Weg sind. Durch Messen von mehreren Positionsstichproben (x_m, y_m, z_m) kann, wenn sich der Roboter zu Beginn und an dem Ende des Wegs nicht bewegt, eine Bildung der Mittelwerte über mehrere Stichproben (in diesem Fall 10, gibt das rot an, dass diese Position zum Berechnen der Rotation verwendet werden) durchgeführt werden, um die Genauigkeit zu verbessern. Anstelle des Verwendens von Positionen zu Beginn und am Ende der Wege, können zwei Positionen an zwei anderen Stellen des Wegs gewählt werden, die durch zwei verschiedene Wegindizes definiert sind.
  • Nun können die Wegdaten, das heißt alle Positionen des Wegs, durch Rotation mittels der Matrixmultiplikation bewegt werden gemäß:
    Figure 00210001
  • Anschließend kann Schritt zwei ausgeführt und die Verschiebung wie folgt berechnet werden:
    Figure 00210002
    bei der x_trans und y_trans die erforderliche Verschiebung definieren, Nj die Gesamtanzahl der Referenzstichproben und Ni die Gesamtzahl der gemessenen Datenstichproben ist, und der Vermerk rot bedeutet, dass die gemessenen Daten gemäß der obigen Rotationsformel rotiert sind. In diesem Fall werden auf diese Weise die Verschiebungswerte mit Hilfe der maximalen und minimalen Werte in der x- und y-Richtung der zwei Wege berechnet. Um den Effekt des Rauschens bei den maximalen und minimalen Werten zu reduzieren, können diese als maximale und minimale Werte der Mittelwerte von zwei oder mehr benachbarten Positionen auf dem Weg berechnet werden. Mittelwerte um Positionen mit einem gegebenen Wegindex können natürlich zum Berechnen der Verschiebung verwendet werden.
  • Die abschließende Gestaltskorrektur in Schritt 3 wird wie folgt berechnet:
    Figure 00210003
    bei der x_formj, y_formj und z_formj die berechnete Gestaltskorrektur für die Bezugsposition j sind, und bei der x_m rot / j, y_m rot / j und z_m rot / j sowie x_transi, y_transi und z_transi die gemessenen Daten sind, die mit der entsprechenden Bezugsposition korrelieren, und X e ein Einheitsvektor entlang der Korrekturrichtung ist, die der x-Achse entspricht.
  • Um eine Form des Filters der gemessenen Daten durchzuführen, während gleichzeitig dem Phänomen entgegengewirkt wird, dass eine perfekte Übereinstimmung zwischen den zwei abgetasteten Abstandsindizes schwierig zu erhalten ist, kann eine Bildung des Mittelwerts des Fehlers aus den gemessenen Datenpunkten, die dem entsprechenden Bezugspunkt am nächsten liegen, in Schritt drei durchgeführt werden.
  • Für diese Gestaltskorrektur in Schritt drei ergibt dies:
    Figure 00220001
  • Auch kann eine Verstärkung eingeführt werden, um die Stabilität während der iterativen Wegeinstellung zu verbessern. In diesem Fall wird daher die berechnete Korrektur mit einem Verstärkungsfaktor L multipliziert, der normalerweise auf den Wert 1 festgelegt ist.
  • Und die Gesamtkorrektur wird wie folgt erhalten:
    Figure 00220002
    bei der
    Figure 00220003
    ist.
  • Mit der Folge des Betrags der Korrektur, die nun erscheint, insbesondere nach einem Paar von Iterationen, spielen sowohl die Wiederholungsgenauigkeit des Roboters als auch die Wiederholungsgenauigkeit der externen Messanlage eine zunehmend bedeutendere Rolle. Um auch diesem Phänomen in gewissem Ausmaß entgegenzuwirken, kann der fragliche Weg mehrere Male mit dem gleichen Korrektursignal vor der Wegkorrektur für die nächste Iteration durchgeführt werden. Damit kann der Mittelwert der Korrekturen aus dem entsprechenden Lauf gebildet werden und dadurch die Stabilität und Konvergenz weiter verbessert werden.
  • Bei dieser Technik wird für jeden individuellen Parameter ein Mittelwert der Werte gebildet, die aus einer Anzahl von m gemessenen Daten gemäß dem Folgenden erhalten werden.
  • Die Rotation in Schritt 1 wird nun wie folgt berechnet:
    Figure 00230001
  • Die Verschiebung in Schritt 2 wird nun wie folgt berechnet:
    Figure 00230002
  • Die Gestaltskorrektur gemäß Schritt 3 wird nun schließlich wie folgt berechnet:
    Figure 00230003
    Figure 00240001
  • Und mit der Einführung einer Verstärkung L wird die Gesamtkorrektur wie folgt erhalten:
    Figure 00240002
    ist.
  • Entsprechend der Erfindung werden die Kompensationsprozesse der statischen und der niederfrequenten dynamischen Fehlerquellen mit Hilfe eines externen Messsystems 7:1 durchgeführt. Dazu sind, um auch für mehrere Roboter zu funktionieren, globale Messungen mit dem externen Messsystem erforderlich, was für den Fall von zwei Robotern in 14 gezeigt ist. Die zwei Roboter 14:1 und 14:2 bearbeiten ein und denselben Gegenstand 14:3. Die Roboter sollen beispielsweise ein Loch 14:16 in dem Gegenstand 14:3 mittels eines Lasers schneiden. Während eines Einbaus der Roboter wird ein Messsystem 14:4 vor den Robotern und dem Gegenstand platziert. Als erstes wird die Position und Orientierung des Gegenstands gemessen und zu diesem Zweck sind wenigstens drei Messreferenzen 14:13 bis 14:15 an gut definierten Positionen an dem Gegenstand montiert. Wenn diese Positionen bekannt sind, können die Orientierungen und die Positionen der Bezugswege (zum Beispiel 14:6) auf den Gegenständen dann in dem Koordinatensystem des Messsystems 14:4 oder alternativ in einem Koordinatensystem, das Gegenstand ist, definiert werden.
  • Durch dann Montieren von Messungsreferenzen 14:11 und 14:12 an gut definierten Positionen des Werkzeugs kann die Bewegung des Betriebspunkts relativ zu den Bezugswegen gemessen werden. Das Verfahren zum Kompensieren der Fehlerquellen 1 bis 6 wird dann automatisch die Bewegung des Roboters anpassen, so dass die Wege des Betriebspunkts den gewünschten Wegen gemäß den Zeichnungen und CAD-Dokumentationen entsprechen. Es sollte beachtet werden, dass dieser Kompensationsvorgang frei im Raum durchgeführt werden kann, ohne dass der Gegenstand 14:3 in der Zelle sein muss.
  • Falls die Messungsreferenzen nicht exakt an dem Betriebspunkt platziert werden können, kann ein Messfehler aufgrund eines Fehlers in der Werkzeugorientierung erhalten werden. Dieser Fehler kann durch das Verwenden von drei Messungsreferenzen an dem Werkzeug kompensiert werden, wodurch die Orientierung des Werkzeugs mit einer hohen Genauigkeit gemessen werden kann. Diese Anordnung ist auch erforderlich, falls es gewünscht ist, eine Anpassung des Orientierungsfehlers mit dem beschriebenen Verfahren durchzuführen.
  • Normalerweise wird der Gegenstand durch einen genauen Aufsatz befestigt und damit es möglich ist, eine Einstellung der Wege mit dem beschriebenen Verfahren zu einem späteren Zeitpunkt zu wiederholen, nachdem die Messanlage 14:4 sich von der Anordnung weg bewegt hat, kann es drei Bezugspositionen an dem Aufsatz geben und diese Bezugspositionen können zum Messen der Position und Orientierung des Messsystems verwendet werden. Es wäre auch möglich, drei fixierte Bezugspunkte irgendwo sonst in der Roboterzelle aufzuweisen, so dass es möglich ist, zu kontrollieren, dass sich der Aufsatz nicht bewegt oder deformiert hat. Diese fixierten Bezugspositionen können auch benötigt werden, falls es das Messsystem nicht schafft, alle Roboter in einer Zelle von der gleichen Stelle aus zu messen, sondern während des oben beschriebenen Einstellungsprozesses in der Zelle umherbewegt werden muss. In diesem Zusammenhang werden die Positionen und Orientierungen des Messsystems relativ zu den fixierten Referenzen in der Zelle nach jeder Bewegung des Messsystems gemessen.
  • Es sollte hinzugefügt werden, dass das Verfahren auch in einem so genannten raumfesten TCP brauchbar ist, wodurch das Werkzeug an dem Boden beispielsweise befestigt wird und der Roboter den Werkgegenstand 14:3 manipuliert. In diesem Fall sollte es drei Messreferenzen auf dem Werkgegenstand zum Berechnen des Wegs, der durch den fixierten Betriebspunkt relativ zu dem Werkgegenstand gegeben ist.

Claims (25)

  1. Verfahren für einen Industrieroboter zum Erhöhen der Genauigkeit der Bewegungen des Roboters, bei dem ein Werkzeug (2:9), das von dem Roboter gehalten wird, dazu gebracht wird, eine Vielzahl von Positionen einzunehmen, die von dem Steuerungssystem erzeugt werden, die jeweils durch ein Messsystem bestimmt werden, bei dem eine Abweichung zwischen der erzeugten Position und der durch das Messsystem bestimmten Position als eine Korrektur in das Steuerungssystem zum Einstellen der Bewegung eingegeben wird, dadurch gekennzeichnet, dass die erzeugten Positionen zum Bilden eines ersten Wegs (4:1) angeordnet werden und die durch das Messsystem bestimmten Positionen zum Bilden eines zweiten Wegs (4:2) angeordnet werden, wodurch die Korrektur durch eine Wegabweichung zwischen geometrisch bestimmten Positionen in dem entsprechenden Weg bestimmt wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Wegabweichung basierend auf einem Vektor von einer ersten Position (4:7) in dem ersten Weg zu einer zweiten Position (4:6) in dem zweiten Weg berechnet wird, welche Positionen geeignet sind, dass sie sich im Wesentlichen gegenüberliegen.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die erste Position und die zweite Position aus dem gleichen Wegindex in dem Steuerungssystem extrahiert werden.
  4. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die zweite Position geeignet ist, dass sie in einer Ebene (4:4) liegt, die senkrecht zu einer Tangente (4:5) durch die erste Position ist.
  5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Berechnung der Wegabweichung einen ersten Schritt, in dem der zweite Weg (9:1) geeignet ist, die gleiche Orientierung wie der erste Weg (9:4) einzunehmen, einen zweiten Schritt, in dem der auf diese Weise orientierte zweite Weg (9:2) geeignet ist, die gleiche Position wie der erste Weg einzunehmen, und einen dritten Schritt, in dem der auf diese Weise orientierte und verschobene zweite Weg (9:3) geeignet ist, die gleiche Gestalt wie der erste Weg einzunehmen, aufweist.
  6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Messsystem ein Messsystem aufweist, das mit dem Roboter verbunden ist, und dass die Wegabweichung die Basis für eine Parametereinstellung (3:3) für die Antriebsvorrichtung bildet.
  7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass die Wegabweichung aus einem Mittelwert des Betrags des Vektors in einem Intervall (5:55:10), das entlang dem ersten Weg angeordnet ist, um eine dritte Position (5:9) berechnet wird.
  8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die dritte Position eine Position aufweist, bei der die Bewegung einer Antriebsvorrichtung die Richtung ändert.
  9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der erste Weg einen Kreis (5:3) aufweist.
  10. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Korrekturen als Werte in einem Koordinatensystem angegeben werden.
  11. Verfahren nach den Ansprüchen 1 bis 5, dadurch gekennzeichnet, dass das Messsystem ein externes Messsystem aufweist, und dass die Wegabweichung die Basis einer Referenzeinstellung des Steuerungssystems bildet.
  12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass das externe Messsystem auch zum Messen des Werkgegenstands (14:13, 14:14, 14:15) und der Werkzeugposition (14:11, 14:12) geeignet ist.
  13. Verfahren nach Anspruch 11 oder 12, dadurch gekennzeichnet, dass der erste Weg auf der Oberfläche des Werkgegenstands angeordnet ist.
  14. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der erste Weg zum Bilden eines Referenzwegs geeignet ist und der zweite Weg zum Bilden eines Ausgabewegs geeignet ist.
  15. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die eingestellten Werte die Basis eines neuen Ausgabewegs bilden, woraufhin das Verfahren für den neuen Ausgabeweg wiederholt wird.
  16. Steuerungssystem für einen Industrieroboter, mit einem Programmmodul (2:1), einem Interpretermodul (2:2), einem Trajektoriengenerator (2:3), einem Modul für eine inverse Kinematik (2:4), einem Stellglied (2:6) und einer Achse-Winkel-Messung, die jeweils für jede Antriebsvorrichtung angeordnet sind, dadurch gekennzeichnet, dass das Steuerungssystem weiter ein Modul zur Berechnung einer Wegabweichung (3:2) aufweist, das Daten von dem Trajektoriengenerator (2:3) und von einem Messmodul (3:1, 7:1) empfangt.
  17. Steuerungssystem nach Anspruch 16, dadurch gekennzeichnet, dass das Messmodul (2:6, 7:1) ein Modul für eine direkte Kinematik (3:1) aufweist, und dass das Steuerungssystem weiter ein Modul für eine Parametereinstellung (3:3) aufweist, das Ergebnisse von dem Modul zum Berechnen der Wegabweichung (3:2) empfängt und verarbeitet.
  18. Steuerungssystem nach Anspruch 16 oder 17, dadurch gekennzeichnet, dass das Modul zum Berechnen der Wegabweichung (3:2) ein binäres Suchverfahren aufweist, und dass ein Reibungskompensator (6:11), über ein Reibungsmodell (6:10), das Ergebnis aus der Berechnung der Wegabweichung empfangt.
  19. Steuerungssystem nach Anspruch 16, dadurch gekennzeichnet, dass das Messmodul (2:6, 7:1) ein externes Messsystem (7:1) aufweist, und dass das Steuerungssystem weiter ein Modul zum Einstellen des Referenzwegs in dem Trajektoriengenerator (2:3) aufweist.
  20. Verwendung eines Verfahrens nach den Ansprüchen 1 bis 15 oder eines Steuerungssystems nach den Ansprüchen 16 bis 19 zum Erhöhen der Genauigkeit einer Bewegung in einem Industrieroboter während einer Laserbearbeitung.
  21. Computerprogramm, mit Anweisungen zum Beeinflussen eines Prozessors zum Steuern eines Roboters, zum Erhöhen der Genauigkeit der Bewegungen des Roboters, wodurch ein Werkzeug, das von dem Roboter gehalten wird, dazu gebracht wird, eine Vielzahl von Positionen einzunehmen, die von dem Steuerungssystem erzeugt werden, die jeweils durch ein Messsystem bestimmt werden, bei dem eine Abweichung zwischen der erzeugten Position und der durch das Messsystem bestimmten Position als eine Korrektur in das Steuerungssystem zum Einstellen der Bewegung eingegeben wird, dadurch gekennzeichnet, dass die erzeugten Positionen und die durch das Messsystem bestimmten Positionen jeweils geeignet sind, dass sie jeweils einen ersten Weg und einen zweiten Weg bilden, wodurch die Korrektur durch eine Wegabweichung zwischen geometrisch berechneten Positionen in dem entsprechenden Weg bestimmt wird.
  22. Computerprogramm nach Anspruch 21, dadurch gekennzeichnet, dass die Anweisungen ein Berechnen der Wegabweichung basierend auf einem Vektor von einer ersten Position in dem ersten Weg zu einer zweiten Position in dem zweiten Weg aufweisen, wodurch die zweite Position geeignet ist, dass sie in einer senkrechten Ebene zu einer Tangente durch die erste Position liegt.
  23. Computerprogramm nach Anspruch 21 oder 22, dadurch gekennzeichnet, dass die Anweisungen ein Durchführen der Berechnung der Wegabweichung in einem ersten Schritt, in dem der zweite Weg geeignet ist, die gleiche Orientierung wie der erste Weg einzunehmen, in einem zweiten Schritt, in dem der auf diese Weise orientierte zweite Weg geeignet ist, die gleiche Position wie der erste Weg einzunehmen, und in einem dritten Schritt, in dem der auf diese Weise orientierte und verschobene zweite Weg geeignet ist, die gleiche Gestalt wie der erste Weg einzunehmen, aufweist.
  24. Computerprogramm nach den Ansprüchen 21 bis 23, das wenigstens teilweise über ein Netzwerk, wie beispielsweise das Internet, versehen wird.
  25. Computerlesbares Medium, dadurch gekennzeichnet, dass ein Computerprogramm, das Anweisungen zum Beeinflussen eines Prozessors zum Steuern eines Roboters zum Erhöhen der Genauigkeit der Bewegungen des Roboters aufweist, wodurch ein Werkzeug, das von dem Roboter gehalten wird, dazu gebracht wird, eine Vielzahl von Positionen, die durch das Steuerungssystem erzeugt werden, einzunehmen, die jeweils durch ein Messsystem bestimmt werden, dass die erzeugten Positionen und die durch das Messsystem bestimmten Positionen jeweils geeignet sind, dass sie jeweils einen ersten Weg und einen zweiten Weg bilden, wodurch die Korrektur durch eine Wegabweichung zwischen geometrisch berechneten Positionen in dem entsprechenden Weg bestimmt wird.
DE60129009T 2000-04-10 2001-04-09 Bewegungskorrektur eines industrieroboters Expired - Lifetime DE60129009T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE0001312A SE0001312D0 (sv) 2000-04-10 2000-04-10 Industrirobot
SE0001312 2000-04-10
PCT/SE2001/000784 WO2001076830A1 (en) 2000-04-10 2001-04-09 Pathcorrection for an industrial robot

Publications (2)

Publication Number Publication Date
DE60129009D1 DE60129009D1 (de) 2007-08-02
DE60129009T2 true DE60129009T2 (de) 2008-03-06

Family

ID=20279249

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60129009T Expired - Lifetime DE60129009T2 (de) 2000-04-10 2001-04-09 Bewegungskorrektur eines industrieroboters

Country Status (8)

Country Link
US (1) US7130718B2 (de)
EP (1) EP1274546B1 (de)
JP (1) JP2003530230A (de)
AT (1) ATE365096T1 (de)
AU (1) AU2001248950A1 (de)
DE (1) DE60129009T2 (de)
SE (1) SE0001312D0 (de)
WO (1) WO2001076830A1 (de)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
DE102014017307B4 (de) 2014-11-21 2019-08-01 Kuka Roboter Gmbh Verfahren und System zum Bearbeiten eines Bauteils mit einem robotergeführten Werkzeug
DE102019112611B3 (de) * 2019-05-14 2020-10-29 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zur Bestimmung eines Steuerungsparameters eines Aktuators sowie Aktuator zur Durchführung eines solchen Verfahrens
DE112017008009B4 (de) 2017-09-08 2022-03-31 Mitsubishi Electric Corporation Servosteuerungsvorrichtung
DE102015107436B4 (de) 2014-05-21 2023-07-06 Fanuc America Corp. Lernfähige Bahnsteuerung

Families Citing this family (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002091570A (ja) * 2000-09-20 2002-03-29 Yaskawa Electric Corp サーボ制御方法
DE10155430B4 (de) * 2001-11-12 2006-12-14 Siemens Ag Adaption von Kompensationsdaten zur Verringerung von Stellungsfehlern bei Werkzeugmaschinen und Robotern
US6845295B2 (en) * 2002-03-07 2005-01-18 Fanuc Robotics America, Inc. Method of controlling a robot through a singularity
DE10255037A1 (de) * 2002-11-26 2004-06-09 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Bearbeiten eines Werkstücks
US6822412B1 (en) * 2003-06-11 2004-11-23 Zhongxue Gan Method for calibrating and programming of a robot application
DE10349361B4 (de) * 2003-10-23 2015-07-16 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Positionieren eines Handhabungsgeräts
WO2005044522A2 (en) * 2003-10-27 2005-05-19 Abb Ab Method for controlling a robot
FR2864266B1 (fr) * 2003-12-19 2006-02-17 Staubli Sa Ets Procede et dispositif de commande des deplacements d'une partie mobile d'un robot multi-axes
US20060047363A1 (en) * 2004-08-31 2006-03-02 Farrelly Philip J Machine vision system for lab workcells
JP3977369B2 (ja) * 2004-10-01 2007-09-19 ファナック株式会社 ロボットプログラム生成装置及び解析装置
DE102004050426B4 (de) * 2004-10-15 2010-05-20 Mtu Aero Engines Gmbh Verfahren und System zur Winkelsynchronisation
DE102004056861A1 (de) * 2004-11-25 2006-06-08 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Regeln, Steuern von Manipulatoren
JP4960589B2 (ja) * 2004-12-08 2012-06-27 川崎重工業株式会社 ロボット制御装置およびロボット制御方法
JP4922584B2 (ja) * 2004-12-10 2012-04-25 株式会社安川電機 ロボットシステム
US9137417B2 (en) 2005-03-24 2015-09-15 Kofax, Inc. Systems and methods for processing video data
US9769354B2 (en) 2005-03-24 2017-09-19 Kofax, Inc. Systems and methods of processing scanned data
JP4137909B2 (ja) 2005-04-13 2008-08-20 ファナック株式会社 ロボットプログラム補正装置
US7571027B2 (en) * 2005-05-31 2009-08-04 The Boeing Company Kinematic singular point compensation systems and methods
GB0513899D0 (en) * 2005-07-06 2005-08-10 Airbus Uk Ltd Program-controlled process
JP4792901B2 (ja) * 2005-09-30 2011-10-12 日産自動車株式会社 レーザ溶接装置およびその方法、ならびに照射装置
US8036776B2 (en) * 2005-11-16 2011-10-11 Abb Ab Method and device for controlling motion of an industrial robot with a position switch
DE102005061618B4 (de) 2005-12-21 2018-12-27 Abb Ag System und Verfahren zur Ausrichtungs- und Lagekontrolle eines Roboterwerkzeugs
DE102005061570A1 (de) * 2005-12-22 2007-07-05 Siemens Ag Ermittlungsverfahren für eine lagegeführte abzufahrende Grobbahn
CN101360873B (zh) 2005-12-30 2012-07-04 高德文有限公司 一种用于由多块砖建造建筑物的自动砌砖系统
US8419717B2 (en) 2006-06-13 2013-04-16 Intuitive Surgical Operations, Inc. Control system configured to compensate for non-ideal actuator-to-joint linkage characteristics in a medical robotic system
JP4267005B2 (ja) * 2006-07-03 2009-05-27 ファナック株式会社 計測装置及びキャリブレーション方法
DE102006034270A1 (de) * 2006-07-18 2008-01-24 C. & E. Fein Gmbh Ortungssystem zur Ortung der Position eines Werkzeugs
US7974737B2 (en) * 2006-10-31 2011-07-05 GM Global Technology Operations LLC Apparatus and method of automated manufacturing
DE102007001395B4 (de) * 2007-01-09 2015-10-15 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Justieren wenigstens einer Achse
JP4941068B2 (ja) * 2007-04-16 2012-05-30 トヨタ自動車株式会社 経路作成方法及び経路作成装置
EP1990607A1 (de) * 2007-05-10 2008-11-12 Leica Geosystems AG Positionsbestimmungsverfahren für ein geodätisches Vermessungsgerät
DE102007024143A1 (de) * 2007-05-24 2008-11-27 Dürr Systems GmbH Bewegungssteuerung für elastische Roboterstrukturen
CA2732312A1 (en) * 2007-08-28 2009-03-05 Goldwing Nominees Pty Ltd System and method for precise real-time control of position and orientation of tooling
JP4291386B2 (ja) * 2007-10-04 2009-07-08 ファナック株式会社 ワーク設置誤差補正手段を有する数値制御装置
DE102007056117A1 (de) * 2007-11-15 2009-05-28 Kuka Roboter Gmbh Industrieroboter und Verfahren zum Steuern der Bewegung eines Industrieroboters
SE533198C2 (sv) * 2008-02-14 2010-07-20 Hexagon Metrology Ab Mätanordning med mäthuvud för kontrollmätning av föremål
FR2930472B1 (fr) * 2008-04-24 2010-08-13 Univ Havre Robot manipulateur et commande associee pour un positionnement fin de l'extremite terminale
US8401691B2 (en) * 2008-04-28 2013-03-19 University Of North Carolina At Charlotte Dynamic metrology methods and systems
CN102216860B (zh) * 2008-11-25 2013-07-24 Abb技术有限公司 用于标定工业机器人系统的方法和设备
US9349046B2 (en) 2009-02-10 2016-05-24 Kofax, Inc. Smart optical input/output (I/O) extension for context-dependent workflows
US9767354B2 (en) 2009-02-10 2017-09-19 Kofax, Inc. Global geographic information retrieval, validation, and normalization
US9576272B2 (en) 2009-02-10 2017-02-21 Kofax, Inc. Systems, methods and computer program products for determining document validity
US8958605B2 (en) 2009-02-10 2015-02-17 Kofax, Inc. Systems, methods and computer program products for determining document validity
US8774516B2 (en) 2009-02-10 2014-07-08 Kofax, Inc. Systems, methods and computer program products for determining document validity
WO2010098030A1 (ja) * 2009-02-25 2010-09-02 パナソニック株式会社 溶接方法および溶接システム
US8457791B2 (en) * 2009-03-10 2013-06-04 GM Global Technology Operations LLC Method for dynamically controlling a robotic arm
CN101870104B (zh) * 2009-04-25 2012-09-19 鸿富锦精密工业(深圳)有限公司 机械手臂反向运动方法
US8600552B2 (en) * 2009-10-30 2013-12-03 Honda Motor Co., Ltd. Information processing method, apparatus, and computer readable medium
DE102010010920A1 (de) * 2010-03-10 2011-09-15 Eisenmann Ag Verfahren zum Kalibrieren eines Roboters
FR2960074B1 (fr) * 2010-05-14 2012-06-15 Staubli Sa Ets Procede de commande d'une cellule de travail automatisee
FR2960808B1 (fr) * 2010-06-02 2012-05-25 Commissariat Energie Atomique Procede d'identification de frottements dans une articulation de bras de robot ou de bras manipulateur, et procede de compensation de couple faisant application
WO2012026279A1 (ja) * 2010-08-25 2012-03-01 三菱電機株式会社 軌跡制御装置
IT1403131B1 (it) * 2010-12-14 2013-10-04 Pirelli Processo ed apparato per realizzare una struttura di rinforzo di un pneumatico per ruote di veicoli.
KR101876380B1 (ko) * 2011-07-06 2018-07-11 삼성전자주식회사 매니퓰레이터 및 그 경로 생성 방법
US8989515B2 (en) 2012-01-12 2015-03-24 Kofax, Inc. Systems and methods for mobile image capture and processing
US9058580B1 (en) 2012-01-12 2015-06-16 Kofax, Inc. Systems and methods for identification document processing and business workflow integration
US9058515B1 (en) 2012-01-12 2015-06-16 Kofax, Inc. Systems and methods for identification document processing and business workflow integration
US9483794B2 (en) 2012-01-12 2016-11-01 Kofax, Inc. Systems and methods for identification document processing and business workflow integration
US10146795B2 (en) 2012-01-12 2018-12-04 Kofax, Inc. Systems and methods for mobile image capture and processing
DE102012209769C5 (de) 2012-06-12 2021-11-11 Kuka Deutschland Gmbh Verfahren zum Betreiben eines Roboters und Vorrichtung mit einem Roboter
JP6011089B2 (ja) * 2012-07-13 2016-10-19 株式会社Ihi ロボットシステム並びにロボット制御装置及び方法
DE102012015437A1 (de) * 2012-08-02 2014-05-15 Kuka Roboter Gmbh Verfahren und Programmiermittel zur Modifikation einer Roboterbahn
DE202013101050U1 (de) * 2013-03-11 2014-08-05 Deutsches Zentrum für Luft- und Raumfahrt e.V. Führungssystem für eine Roboteranordnung
US9355312B2 (en) 2013-03-13 2016-05-31 Kofax, Inc. Systems and methods for classifying objects in digital images captured using mobile devices
EP2973226A4 (de) 2013-03-13 2016-06-29 Kofax Inc Klassifizierung von objekten auf mit mobilvorrichtungen aufgenommenen digitalbildern
US9208536B2 (en) 2013-09-27 2015-12-08 Kofax, Inc. Systems and methods for three dimensional geometric reconstruction of captured image data
US20140316841A1 (en) 2013-04-23 2014-10-23 Kofax, Inc. Location-based workflows and services
JP2016518790A (ja) 2013-05-03 2016-06-23 コファックス, インコーポレイテッド モバイル装置を用いて取込まれたビデオにおけるオブジェクトを検出および分類するためのシステムおよび方法
JP2015033747A (ja) * 2013-08-09 2015-02-19 株式会社安川電機 ロボットシステム、ロボット制御装置及びロボット制御方法
WO2015069547A1 (en) 2013-11-06 2015-05-14 Siemens Healthcare Diagnostics Inc. Confirmed placement of sample tubes in a servo driven automation system using trajectory deviation
WO2015073920A1 (en) 2013-11-15 2015-05-21 Kofax, Inc. Systems and methods for generating composite images of long documents using mobile video data
US9424378B2 (en) * 2014-02-03 2016-08-23 Siemens Product Lifecycle Management Software Inc. Simulation using coupling constraints
JP6361213B2 (ja) * 2014-03-26 2018-07-25 セイコーエプソン株式会社 ロボット制御装置、ロボット、ロボットシステム、教示方法、及びプログラム
JP6311421B2 (ja) * 2014-04-10 2018-04-18 株式会社安川電機 ティーチングシステム、ロボットシステムおよびティーチング方法
EP2954986B1 (de) * 2014-06-10 2020-05-06 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Steuern und Regeln eines Mehrkörpersystems
US9760788B2 (en) 2014-10-30 2017-09-12 Kofax, Inc. Mobile document detection and orientation based on reference object characteristics
DE102014222809B3 (de) * 2014-11-07 2016-01-14 Kuka Roboter Gmbh Event-basierte Redundanzwinkelkonfiguartion für Gelenkarmroboter
DE102014226787B3 (de) * 2014-12-22 2016-03-17 Kuka Roboter Gmbh Sicherer Roboter mit Bahnfortschrittsvariablen
DE102014119532B4 (de) * 2014-12-23 2016-11-03 Ferrobotics Compliant Robot Technology Gmbh Robotergestütztes Schleifverfahren und Vorrichtung zum robotergestützten Schleifen
DE102014119654A1 (de) * 2014-12-29 2016-06-30 Brötje-Automation GmbH Verfahren zur Kompensation einer Abweichung eines Arbeitspunkts
WO2016122416A1 (en) * 2015-01-30 2016-08-04 Agency for Science,Technology and Research Mobile manipulator and method of controlling the mobile manipulator for tracking a surface
WO2016151360A1 (en) * 2015-03-23 2016-09-29 National Research Council Of Canada Multi-jointed robot deviation under load determination
JP6700669B2 (ja) * 2015-04-07 2020-05-27 キヤノン株式会社 制御方法、ロボット装置、プログラム、記録媒体、及び物品の製造方法
WO2016209818A1 (en) 2015-06-22 2016-12-29 Electro Scientific Industries, Inc. Multi-axis machine tool and methods of controlling the same
DE102015008188B3 (de) * 2015-06-25 2016-06-16 Kuka Roboter Gmbh Abfahren einer vorgegebenen Bahn mit einem Roboter
US10242285B2 (en) 2015-07-20 2019-03-26 Kofax, Inc. Iterative recognition-guided thresholding and data extraction
US9815204B2 (en) * 2016-01-22 2017-11-14 The Boeing Company Apparatus and method to optically locate workpiece for robotic operations
US9779296B1 (en) 2016-04-01 2017-10-03 Kofax, Inc. Content-based detection and three dimensional geometric reconstruction of objects in image and video data
CN105773622B (zh) * 2016-04-29 2019-04-16 江南大学 一种基于iekf的工业机器人绝对精度校准方法
JP6665040B2 (ja) * 2016-06-20 2020-03-13 三菱重工業株式会社 ロボット制御システム及びロボット制御方法
ES2899585T3 (es) 2016-07-15 2022-03-14 Fastbrick Ip Pty Ltd Pluma para transporte de material
US10635758B2 (en) 2016-07-15 2020-04-28 Fastbrick Ip Pty Ltd Brick/block laying machine incorporated in a vehicle
JP6386501B2 (ja) * 2016-08-12 2018-09-05 ファナック株式会社 レーザ加工ロボットシステム及びレーザ加工方法
EP3287244A1 (de) * 2016-08-26 2018-02-28 Siemens Aktiengesellschaft Rastmomentkompensation bei einem industrieroboter
DE102016216902A1 (de) * 2016-09-06 2018-03-08 Deckel Maho Pfronten Gmbh Werkzeugmaschine zur spanenden Bearbeitung eines Werkstücks sowie Spindelträgerbaugruppe zum Einsatz an einer derartigen Werkzeugmaschine
JP6487413B2 (ja) * 2016-12-22 2019-03-20 ファナック株式会社 レーザ加工用ヘッドおよびそれを備えたレーザ加工システム
JP6496340B2 (ja) * 2017-03-17 2019-04-03 ファナック株式会社 スキャナ制御装置、ロボット制御装置及びリモートレーザ溶接ロボットシステム
DE102017004433B4 (de) * 2017-05-08 2019-03-14 Kuka Deutschland Gmbh Roboterjustage
US11441899B2 (en) 2017-07-05 2022-09-13 Fastbrick Ip Pty Ltd Real time position and orientation tracker
EP3653347A4 (de) * 2017-07-11 2020-08-12 Panasonic Intellectual Property Management Co., Ltd. Robotersteuerungsvorrichtung
US11656357B2 (en) 2017-08-17 2023-05-23 Fastbrick Ip Pty Ltd Laser tracker with improved roll angle measurement
US20210016438A1 (en) 2017-08-17 2021-01-21 Fastbrick Ip Pty Ltd Interaction system configuration
AU2018348785A1 (en) 2017-10-11 2020-05-07 Fastbrick Ip Pty Ltd Machine for conveying objects and multi-bay carousel for use therewith
WO2019086102A1 (en) 2017-10-30 2019-05-09 Telefonaktiebolaget Lm Ericsson (Publ) Robotic method and system
US11062176B2 (en) 2017-11-30 2021-07-13 Kofax, Inc. Object detection and image cropping using a multi-detector approach
EP3731994B1 (de) * 2017-12-26 2023-10-11 ABB Schweiz AG Verfahren und vorrichtung zur roboterbearbeitung
CN108287971B (zh) * 2018-01-31 2021-08-24 广东三维家信息科技有限公司 一种基于水刀应用的cad数据生成3d模型方法
JP6857145B2 (ja) * 2018-03-09 2021-04-14 株式会社日立製作所 軌道計画装置、軌道計画方法、及び生産システム
MX2020011540A (es) 2018-04-30 2021-10-04 Path Robotics Inc Escaner láser que rechaza la reflexión.
JP7199178B2 (ja) * 2018-08-28 2023-01-05 株式会社東芝 ロボット制御装置、ロボット装置、ロボット制御のパラメータ調整方法、およびプログラム
EP3843956A4 (de) * 2018-08-30 2021-12-22 Veo Robotics, Inc. Systemidentifikation der dynamik industrieller roboter für sicherheitskritische anwendungen
CN109719722B (zh) * 2018-12-26 2021-07-23 南京埃斯顿机器人工程有限公司 一种精确标定机器人末端与视觉系统的方法
US10456915B1 (en) * 2019-01-25 2019-10-29 Mujin, Inc. Robotic system with enhanced scanning mechanism
US10870204B2 (en) 2019-01-25 2020-12-22 Mujin, Inc. Robotic system control method and controller
EP3738722A1 (de) * 2019-05-13 2020-11-18 Siemens Aktiengesellschaft Planung von trajektorien für die produktion von werkstücken
KR102356660B1 (ko) * 2019-11-01 2022-02-07 주식회사 뉴로메카 다자유도 협동 로봇의 마찰 보상 방법
CN114728411A (zh) * 2019-11-25 2022-07-08 三菱电机株式会社 控制装置和机器人系统
DE102020106998B4 (de) 2020-03-13 2023-05-25 Gottfried Wilhelm Leibniz Universität Hannover Verfahren zum Kalibrieren eines Roboters und entsprechender Roboter
US11691285B2 (en) * 2020-05-07 2023-07-04 Mujin, Inc. Method and computing system for estimating parameter for robot operation
WO2022016152A1 (en) 2020-07-17 2022-01-20 Path Robotics, Inc. Real time feedback and dynamic adjustment for welding robots
CN111965980B (zh) * 2020-08-31 2022-05-27 齐鲁工业大学 一种机器人自适应反馈学习控制方法、控制器及机器人
WO2022056765A1 (en) * 2020-09-17 2022-03-24 Abb Schweiz Ag Method and apparatus for managing robot path
JP2022084259A (ja) * 2020-11-26 2022-06-07 キヤノン株式会社 情報処理装置、情報処理方法、ロボットシステム、測定システム、ロボットシステムを用いた物品の製造方法、制御プログラム及び記録媒体
US11548162B2 (en) 2021-02-24 2023-01-10 Path Robotics, Inc. Autonomous welding robots
EP4112239A1 (de) * 2021-06-30 2023-01-04 Siemens Aktiengesellschaft Automatisierte kalibrierung einer fertigungsmaschine
CN114803472B (zh) * 2022-04-22 2023-12-26 深圳航天科技创新研究院 基于机器人的夹紧控制方法及控制系统
WO2023222206A1 (en) * 2022-05-17 2023-11-23 Abb Schweiz Ag Reducing kinematic error
CN115055856B (zh) * 2022-05-25 2023-08-29 荣良 免示教焊接方法、装置、设备及计算机可读存储介质
CN115952930B (zh) * 2023-03-14 2023-08-22 中国人民解放军国防科技大学 一种基于imm-gmr模型的社会行为体位置预测方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2530261C2 (de) * 1974-10-22 1986-10-23 Asea S.p.A., Mailand/Milano Programmiereinrichtung für einen Manipulator
US4380696A (en) * 1980-11-12 1983-04-19 Unimation, Inc. Method and apparatus for manipulator welding apparatus with vision correction for workpiece sensing
US4403281A (en) * 1981-04-03 1983-09-06 Cincinnati Milacron Industries, Inc. Apparatus for dynamically controlling the tool centerpoint of a robot arm off a predetermined path
US4675502A (en) * 1985-12-23 1987-06-23 General Electric Company Real time tracking control for taught path robots
US4920500A (en) * 1986-02-25 1990-04-24 Trallfa Robot A/S Method and robot installation for programmed control of a working tool
JP2708458B2 (ja) * 1988-04-01 1998-02-04 株式会社豊田中央研究所 倣い制御ロボット
WO1990009859A1 (en) 1989-02-23 1990-09-07 Kabushiki Kaisha Yaskawa Denki Seisakusho Method and apparatus for multi-layer buildup welding
EP0506990A1 (de) * 1991-04-02 1992-10-07 Siemens Aktiengesellschaft Verfahren zur Beschleunigungs- und Geschwindigkeitsführung mindestens einer steuerbaren Achse einer Werkzeugmaschine oder eines Roboters
EP0597637B1 (de) * 1992-11-12 2000-08-23 Applied Materials, Inc. System und Verfahren für automatische Positionierung eines Substrats in einem Prozessraum
JPH06324733A (ja) * 1993-05-12 1994-11-25 Fanuc Ltd センサ付きロボットの制御方法及び装置
JP3002097B2 (ja) * 1994-08-25 2000-01-24 ファナック株式会社 ビジュアルトラッキング方法
JPH08166813A (ja) * 1994-12-14 1996-06-25 Fanuc Ltd ウィービング動作を伴うロボットのトラッキング制御方法
US5572102A (en) * 1995-02-28 1996-11-05 Budd Canada Inc. Method and apparatus for vision control of welding robots
US6134486A (en) * 1998-04-20 2000-10-17 The United States Of America As Represented By The Secretary Of The Navy Robot and method of control for an autonomous vehicle to track a path consisting of directed straight lines and circles with positional feedback and continuous curvature
DE19857436A1 (de) * 1998-12-12 2000-06-21 Kuka Roboter Gmbh Verfahren zum Behandeln des Spannungsabfalls in der Steuerung eines Roboters und zum Wiederanfahren eines Roboters nach Spannungsabfall

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
DE102015107436B4 (de) 2014-05-21 2023-07-06 Fanuc America Corp. Lernfähige Bahnsteuerung
DE102014017307B4 (de) 2014-11-21 2019-08-01 Kuka Roboter Gmbh Verfahren und System zum Bearbeiten eines Bauteils mit einem robotergeführten Werkzeug
US10394216B2 (en) 2014-11-21 2019-08-27 Kuka Deutschland Gmbh Method and system for correcting a processing path of a robot-guided tool
DE112017008009B4 (de) 2017-09-08 2022-03-31 Mitsubishi Electric Corporation Servosteuerungsvorrichtung
US11630425B2 (en) 2017-09-08 2023-04-18 Mitsubishi Electric Corporation Servo control device
DE102019112611B3 (de) * 2019-05-14 2020-10-29 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zur Bestimmung eines Steuerungsparameters eines Aktuators sowie Aktuator zur Durchführung eines solchen Verfahrens

Also Published As

Publication number Publication date
SE0001312D0 (sv) 2000-04-10
EP1274546A1 (de) 2003-01-15
JP2003530230A (ja) 2003-10-14
AU2001248950A1 (en) 2001-10-23
EP1274546B1 (de) 2007-06-20
US7130718B2 (en) 2006-10-31
US20040093119A1 (en) 2004-05-13
ATE365096T1 (de) 2007-07-15
WO2001076830A1 (en) 2001-10-18
DE60129009D1 (de) 2007-08-02

Similar Documents

Publication Publication Date Title
DE60129009T2 (de) Bewegungskorrektur eines industrieroboters
EP1086407B1 (de) Steuerverfahren für einen industrieroboter
EP2954986B1 (de) Vorrichtung und Verfahren zum Steuern und Regeln eines Mehrkörpersystems
EP1602456B1 (de) Verfahren und Vorrichtung zum Steuern von Handhabungsgeräten
DE102014104226B4 (de) Verfahren zur Erzeugung eines Pfades eines mehrachsigen Roboters und Steuervorrichtung für den mehrachsigen Roboter
DE602006000541T2 (de) Servosteuervorrichtung und Verfahren zur Einstellung eines Servosystems
DE3344633C2 (de)
DE102014113705B4 (de) Vorrichtung zur Gewinnung der Fehlerkorrekturhöhe
DE102012025428B4 (de) Wegeanzeigevorrichtung, die Korrekturdaten berücksichtigt
DE3317263A1 (de) Manipulator mit adaptiver geschwindigkeitsgesteuerter bahnbewegung
DE102017117837A1 (de) Laserbearbeitungs-Robotersystem und Laserbearbeitungsverfahren
DE4212455C2 (de) Verfahren zur Messung von Formelementen auf einem Koordinatenmeßgerät
DE102013113165A1 (de) Kalibrierungsverfahren für Robotersystem
DE112017000203B4 (de) Numerische Steuerung und numerisches Steuerungsverfahren
DE10255037A1 (de) Verfahren und Vorrichtung zum Bearbeiten eines Werkstücks
DE10061933A1 (de) Verlustbewegungskorrektursystem und Verlustbewegungskorrekturverfahren für ein numerisch gesteuertes Maschinenwerkzeug
DE112016005365T5 (de) Direktes Lehrverfahren eines Roboters
DE19841716A1 (de) Steuerungsverfahren und numerische Steuerung zur Bewegungsführung von industriellen Bearbeitungsmaschinen
DE102020124734A1 (de) Simulationsgerät
EP3106943B1 (de) Scannereinrichtung für einen laserstrahl zur lasermaterialbearbeitung, werkzeugmaschine mit der scannereinrichtung sowie verfahren zum ansteuern der werkzeugmaschine mit der scannereinrichtung
WO2018091141A1 (de) Vermessen einer bewegungsachse eines roboters
DE112021006982T5 (de) Simulationsvorrichtung, Werkzeugmaschinensystem, Simulationsverfahren und Bearbeitungsverfahren
DE19500738C1 (de) Regelanordnung und Regelverfahren für einen motorisch betriebenen Gelenkarm
DE102008007127A1 (de) Verfahren zum Einmessen von Bauteilen
DE102020127532B3 (de) Regelungsverfahren zum Regeln des Drehmoments und/oder der Position mindestens eines elastizitätsbehafteten Gelenks einer Handhabungsvorrichtung, Drehmomentregler, Positionsregler und Verwendung des Verfahrens zur Regelung der Position und/oder des Drehmoments mindestens eines elastizitätsbehafteten Gelenks einer Handhabungsvorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition