DE69220504T2 - Verfahren und vorrichtung zum eichen der bewegungsachsen eines industriroboters - Google Patents

Verfahren und vorrichtung zum eichen der bewegungsachsen eines industriroboters

Info

Publication number
DE69220504T2
DE69220504T2 DE69220504T DE69220504T DE69220504T2 DE 69220504 T2 DE69220504 T2 DE 69220504T2 DE 69220504 T DE69220504 T DE 69220504T DE 69220504 T DE69220504 T DE 69220504T DE 69220504 T2 DE69220504 T2 DE 69220504T2
Authority
DE
Germany
Prior art keywords
robot
calibration
axes
axis
calibration body
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69220504T
Other languages
English (en)
Other versions
DE69220504D1 (de
Inventor
John-Erik Snell
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
Asea Brown Boveri 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 Asea Brown Boveri AB filed Critical Asea Brown Boveri AB
Publication of DE69220504D1 publication Critical patent/DE69220504D1/de
Application granted granted Critical
Publication of DE69220504T2 publication Critical patent/DE69220504T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50026Go to reference plane, cube

Landscapes

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

Description

    Verfahren und Vorrichtung zur Eichung der Bewegungsachsen eines Industrieroboters
  • Die Erfindung bezieht sich auf ein Verfahren zur Eichung einer Anzahl von Bewegungsachsen eines Industrieroboters, der eine Vielzahl von Bewegungsachsen mit einem Positionsübertrager für jede Achse hat, welcher Positionsübertrager ein Ausgangssignal liefert, welches die gegenwärtige Position der Achse definiert, und welcher Industrieroboter eine Roboterhand zumtragen eines werkzeugs hat.
  • Stand der Technik
  • Ein typischer Industrieroboter ist bereits bekannt aus den US-A-3 909 600 und US-A-3 920 972. Ein solcher Roboter hat einen Ständer, der drehbar auf einem Fuß angeordnet ist und der einen ersten Roboterarm trägt, der relativ zum Ständer drehbar ist. Am äußeren Ende dieses Armes und drehbar relativ zu diesem ist ein zweiter Roboterarm angeordnet. An seinem äußeren Ende trägt dieser zweite Arm eine Hand, die mit einer Werkzeugbefestigung versehen ist und die in zwei oder dreifreiheitsgraden relativ zu dem anderen Arm drehbar ist. Der Roboter ist mit einer Steuervorrichtung zur Steuerung der Position und Orientierung der Roboterhand versehen. Für jede der oben genannten Drehachsen ist eine Servovorrichtung vorhanden, zu der ein Antriebsmotor und ein Positionsübertrager gehören, wobei der Positionsübertrager ein Signal liefert, welches ein Maß für den Drehwinkel der betreffenden Achse gegenüber einer Bezugsposition ist. Dem Servosystem jeder Achse wird ein Sollwert für den Drehwinkel der Achse zugeführt, und der Antriebsmotor der Achse bewegt die betreffende Achse des Roboters bis die von dem Positionsübertrager angezeigte Winkellage der Achse dem Sollwert entspricht, welche dem Servosystem zugeführt wurde. Damit die Position und die Orientierung der Roboterhand der gewünschten Position und Orientierung entspricht, müssen der mechanische Aufbau des Roboters und die Daten, die diesen beschreiben, mit großer Genauigkeit bekannt sein. Dies bedeutet, daß es nicht ausreicht, daß das nominale Robotermodell bekannt ist, sondern daß auch die individuellen Abweichungen von dem nominalen Modell (den Nenndaten) bekannt sein müssen. Solche Abweichungen können sein: Variationen in der Armlängen, Abweichungen in den Orientierungen der Drehachsen der Gelenke und seitliche Versetzungen (offset) der Achsen. Diese Abweichungen entstehen bei der Herstellung der verschiedenen mechanischen Teile und bei deren Zusammenbau. Hinzuzufügen ist, daß der von dem Positionsübertrager einer Achse angezeigte Winkel mit großer Genauigkeit dem tatsächlichen Drehwinkel desjenigen mechanischen Teils des Roboters entsprechen muß, das mit Hilfe der betreffenden Achse gesteuert wird.
  • Wegen der Schwierigkeiten bei der Durchführung der Eichung in einer Weise, die ökonomisch ist und der Herstellung angepaßt ist, besteht das gegenwärtig normale Verfahren nur darin, den nominalen Aufbau des Roboters für die Beschreibung der Geometrie des Roboters zu betrachten.
  • Für die Bestimmung der Beziehung zwischen den Signalen der Positionsübertrager der Roboterachsen und den tatsächlichen Drehwinkeln der Arme des Roboters werden verschiedene Eichverfahren verwendet.
  • Bei einem dieser Eichverfahren wird der Roboter dazu gebracht, eine solche Position einzunehmen, daß die tatsächlichen Drehwinkel der verschiedenen Achsen bekannt sind, wobei die von den Positionsübertragern angezeigten Drehwinkel mit den tatsächlichen Winkeln verglichen werden. Die Positionsübertrager können danach derart justiert werden, daß die dabei angezeigten Winkel den tatsächlichen Winkeln entsprechen. Alternativ können die Abweichungen zwischen den angezeigten Winkeln und den tatsächlichen Winkeln gespeichert werden und dann während des Betriebes zur Korrektur der Ausgangssignale der Positionsübertrager verwendet werden.
  • Gemäß einem bereits bekannten Eichverfahren werden die verschiedenen Teile des Roboters mit Hilfe einer Wasserwaage in vorgegebene Ausgangspositionen gebracht, die auf für diesen Zweck genau gefertigten Vorsprüngen auf den verschiedenen Teilen des Roboters montiert wird. In der Ausgangsposition kann beispielsweise der oben genannte erste Arm vertikal ausgerichtet sein, der zweite Arm und die Hand horizontal und so weiter. In dieser sogenannten Synchronisierungsposition, in der die tatsächlichen Winkel der verschiedenen Achsen des Roboters auf diese Weise bekannt sind, können die von den Positionsübertragern angezeigten Winkel abgelesen werden, und für jede Achse kann ein sogenannter Kompensationswert bestimmt werden, der die Differenz zwischen dem bekannten, tatsächlichen Winkel und dem vom Positionsübertrager erhaltenen Winkel darstellt. Dieses Verfahren erfordert jedoch die Anbringung spezieller zusätzlicher Vorrichtungen (die Wasserwaagen). Ferner müssen die verschiedenen Teile des Roboters so konstruiert sein, daß eine genaue Anbringung der Wasserwaagen möglich ist, was zusätzliche Kosten für die mechanischen Teile des Roboters verursacht. Das Eichverfahren muß von Hand ausgeführt werden und erfordert einen relativ beachtlichen Zeitaufwand. Ferner ist die Genauigkeit des Verfahrens begrenzt.
  • Aus der schwedischen Patentanmeldung 9000273-4 ist ein Eichverfahren bekannt, bei dem ein quaderförmiger Eichkörper verwendet wird, dessen Lage im Basiskoordinatensystem des Roboters bekannt sein muß. Ein an der Roboterhand befestigtes Eichwerkzeug wird zur Berührung mit dem Eichkörper bei einer Anzahl verschiedener Roboterkonfigurationen gebracht. Danach werden die Versatzwerte der Positionsübertrager des Roboters berechnet auf der Grundlage der kinematischen Gleichungen des Roboters, eines Modells für die Beziehung zwischen der Achsposition und dem Signal des Positionsübertragers, der Koordinaten des Basissystems, welche in den Eichpositionen bekannt sind, und der abgelesenen und gespeicherten Signale der Positionsübertrager. Ein Nachteil dieses Verfahrens besteht darin, daß die Position des Eichkörpers genau bekannt sein muß. Ohne Verwendung externer Meßanordnungen ist es normalerweise schwierig, bei einer in der Praxis bestehenden Roboteranordnung den Eichkörper so anzuordnen, daß seine Seitenflächen bekannte Koordinaten haben. Ferner erhält man bei diesem Verfahren nur die Versatzwerte der Positionsübertrager. Das Verfahren basiert auf dem nominalen kinematischen Modell des Roboters und berücksichtigt nicht die Fertigungsabweichungen individueller Roboter.
  • Die Folge ist, daß die tatsächliche Position eines Roboters nicht mit der gewünschten übereinstimmt. Die Abweichungen können mehrere Millimeter betragen. Dies bedeutet unter anderem, daß ein Roboter, der in einer Produktionsstraße angeordnetist, im Falle seines Versagens nicht ersetzt werden kann, ohne das Roboterprogramm anzupassen. Dies bedeutet eine teure Totzeit für die Produktionsstraße.
  • Die Möglichkeit einer individuellen Eichung jeder Robotereinheit und Kompensation der Herstellungsfehler im Roboter und folglich eine Verbesserung der Positionierungsgenauigkeit wurde von vielen Wissenschaftlern demonstriert. Die Verfahren haben jedoch keine Akzeptanz in der Praxis gefunden. Um für die Praxis brauchbar zu sein, sollte das Verfahren in der Werkstatt anwendbar sein, ohne teure Ausrüstungen zu erfordern. Die erforderliche Ausrüstung muß leicht bewegbar sein.
  • Zusammenfassung der Erfindung
  • Der Erfindung liegt die Aufgabe zugrunde, ein Eichverfahren zu entwickeln, welches keine umfangreiche zusätzliche Ausrüstung für die Eichung erfordert, welches eine Eichung mit hoher Genauigkeit ermöglicht, welches automatisch und folglich schnell und kostengünstig durchgeführt werden kann, welches unabhängig davon ist, wie der Roboter aufgestellt ist und welches die die Möglichkeit der Kompensierung geometrischer Fehler der mechanischen Teile des Roboters bietet. Der Erfindung liegt auch die Aufgabe zugrunde, ein Industrierobotersystem mit Vorrichtungen zur Durchführung des oben genannten Verfahrens zu entwickeln.
  • Was das Verfahren und das Industrierobotersystem gemäß der Erfindung kennzeichnet, ergibt sich aus den beigefügten Ansprüchen.
  • Kurze Beschreibung der Zeichnungen
  • Im folgenden wird die Erfindung unter Bezugnahme auf die beigefügten Figuren 1 bis 8 genauer beschrieben. Es zeigen
  • Figur 1 schematisch einen Industrieroboter mit einem Eichkörper und einem Eichwerkzeug gemäß der Erfindung,
  • Figur 2 genauer ein Eichwerkzeug zur Durchführung des Verfahrens gemäß der Erfindung,
  • Figur 3 den Eichkörper im Basiskoordinatensystem des Roboters,
  • Figuren 4a - 4d Beispiele für verschiedene Positionen, die von dem Eichwerkzeug bei der Durchführung des Eichverfahrens eingenommen werden,
  • Figur 5 die Konfiguration eines Industrierobotersystems mit Einrichtungen zur Durchführung des Verfahrens gemäß der Erfindung,
  • Figur 6 in Form eines Flußdiagramms ein Beispiel eines Programmes zur automatischen Durchführung des Eichverfahrens,
  • Figur 7 in Form eines Flußdiagramms das Prinzip der Durchführung der Berechnungen, mit deren Hilfe, als ein Ergebnis des Eichverfahrens, die Eichparameter gewonnen werden,
  • Figur 8 die Eichparameter für eine Roboterachse.
  • Beschreibung der bevorzugten Ausführungsbeispiele
  • Figur 1 zeigt ein Beispiel eines an sich bekannten Industrieroboters, zu dessen Eichung das Verfahen gemäß der Erfindung mit Vorteil angewendet werden kann. Auf einer Basis (Fundament) 1 ist der Roboterfuß fest montiert. Der Roboter hat einen Ständer 3, der relativ zum Fuß 2 um eine vertikale Achse A1 drehbar ist. Am oberen Ende des Ständers ist ein erster Roboterarm 4 angelenkt und relativ zum Ständer um eine zweite A2 drehbar. Am äußeren Ende des Armes ist ein zweiter Arm 5 angelenkt und relativ zum ersten Arm um eine Achse A3 drehbar. Der Roboterarm 5 enthält zwei Teile 5a und 5b, von denen der äußere Teil 5b relativ zum inneren Teil 5a um eine Drehachse A4 drehbar ist, die mit der Längsachse des Arms zusammenfällt. An seinem äußeren Ende trägt der Arm 5 eine sogenannte Roboterhand 6, die um eine Drehachse A5 senkrecht zur Längsachse des Armes drehbar ist. Zur Roboterhand gehört eine Werkzeugbefestigung 6a. Der äußere Teil der Roboterhand und folglich die Werkzeugbefestigung 6a sind um eine Drehachse A6 relativ zum inneren Teil der Roboterhand drehbar. Die Drehwinkel der sechs Drehachsen A1 ... A 6 sind in der Figur mit θ1 ... θ6 bezeichnet. Im Arbeitsbereich des
  • Roboters ist ein Eichkörper 7 angeordnet. Dieser Körper hat die Gestalt eines Parallelpipedons (Quaders) mit ebenen Seitenflächen und mit seinen Kanten parallel zu den Achsen des sogenannten Basiskoordinatensystems des Roboters.
  • Figur 2 zeigt die Roboterhand 6, die werkzeugbefestigung 6a und das an der Werkzeugbefestigung befestigte Eichwerkzeug 8 genauer. Das Werkzeug ist im Verhältnis zu der Drehachse A6 exzentrisch an der werkzeugbefestigung befestigt. An seinem äußeren Ende trägt das Werkzeug einen kugelförmigen Kontaktkörper 8a. Es wird angenommen, daß der Radius r des Kontaktkörpers und sein Abstand a von der Werkzeugbefestigung und b von der Drehachse der Befestigung, bezogen auf die Mitte des Kontaktkörpers, bekannt sind.
  • Figur 3 zeigt das sogenannte Basiskoordinatensystem des Roboters, bei dem es sich um ein orthogonales Koordinatensystem handelt, dessen z-Achse mit der Drehachse A1 in Figur 1 zusammenfällt und dessen x-Achse und y-Achse in vorgegebene Richtungen relativ zum Roboterfuß 2 weisen. Der Eichkörper 7 ist, wie oben erwähnt, mit seinen Kanten parallel zu den Achsen des Basiskoordinatensystems ausgerichtet. Die Seitenflächen des Eichwerkzeugs werden durch folgende Beziehungen beschrieben:
  • x =x1
  • x = x4
  • y = y2
  • y = y5
  • z = z3
  • z = z6
  • Die Koordinaten x1 ... z6 brauchen nicht bekannt zu sein. Andererseits sind die Differenzen xl-x4, y2-yS, z3-z6 mit großer Genauigkeit bekannt und gleich den Kantenlängen Lx,
  • Ly, Lz des Meßkörpers. Die Längen können beispielsweise Lx = Ly = Lz = 10 cm betragen.
  • Bei dem Eichverfahren gemäß der Erfindung wird eine Anzahl von Messungen durchgeführt. Die Anzahl von Paaren von Messungen (Meßpaare) ist mindestens so groß wie die Anzahl der Eichparameter, die geeicht werden sollen. Die Anzahl der Messungen kann jedoch mit Vorteil größer sein, vorzugsweise bedeutend größer, wodurch man eine höhere Genauigkeit der Eichung erzielt. Für mindestens ein Paar gegenüberliegender Seitenflächen und zweckmäßigerweise für alle drei Paare solcher Flächen wird eine Vielzahl von Meßpaaren bei untereinander unterschiedlichen Roboterkonfigurationen durchgeführt. Das Eichverfahren gemäß der Erfindung liefert größere Genauigkeiten, je größer die Differenzen zwischen den verwendeten Konfigurationen sind.
  • Während jeder Messung wird der Roboter zuerst - von Hand oder automatisch - in eine Konfiguration gefahren, in der der Kontaktkörper 8a sich an einem Punkt in einer gewissen Entfernung von einer der Flächen des Eichkörpers befindet. Der Roboter wird dann so gefahren, daß der Kontaktkörper sich in Richtung zu der oben genannten Fläche des Eichkörpers bewegt, bis der Eichkörper diese Fläche berührt. Diese Bewegung kann in einer an sich bekannten Weise durchgeführt werden mittels eines Suchverfahrens, welches die Bewegung beim Kontakt unterbricht oder mit Hilfe einer sogenannten weichen Servovorrichtung, die an sich versucht, die Bewegung nach der Berührung fortzusetzen, die jedoch nur eine begrenzte Kraft auf das Eichwerkzeug ausüben kann. Wenn die Berührung erreicht ist, nimmt das Eichwerkzeug die im linken Teil der Figur 4a gezeigte Position ein, und die Ausgangssignale vom Positionsübertrager des Roboters werden gelesen und gespeichert. Die Messung wird dann an der gegenüberliegenden Seitenfläche wiederholt (die im rechten Teil der Figur 4a gezeigte Position). Die Differenz zwischen den betreffenden Koordinaten ist durch die Kantenlänge des Meßkörpers bekannt.
  • Messungen werden zweckmäßigerweise an so vielen Paaren von Seitenflächen des Eichkörpers wie praktisch möglich durchgeführt. Zweckmäßigerweise wird eine Vielzahl von Messungen an jedem Seitenpaar bei unterschiedlicher Konfiguration des Robots durchgeführt. Die Konfiguration des Roboters wird durch die Achsenwinkel bestimmt, und eine Konfiguration unterscheidetsich von einer anderen, wenn mindestens eine der Achsenwinkel verändert wird. Wie die Figuren 4c und 4d zeigen, können zwei Meßpaare mit dem Kontaktkörper in der im wesentlichen gleichen Position in Bezug auf das Eichwerkzeug, aber bei verschiedenen Roboterkonfigurationen durchgeführt werden.
  • Als Positionsübertrager in Industrierobotern werden gewöhnlich Drehwinkelgeber (Koordinatenwandler) verwendet, und das unten beschriebene Eichverfahren gemäß der Erfindung wird anhand eines Industrieroboters mit dieser Art von Positions übertragern beschrieben. Jedoch kann die Erfindung auch bei Robotern mit anderen Arten von Positionsübertragern angewen det werden. Die Eichparameter, die ermittelt werden müssen, sind für jeden Freiheitsgrad des Roboters (siehe Figur 8):
  • - Die Versetzungskoordinate der Armverbindung (OX, OY, OZ)
  • - Die Schrägstellung der Drehachsen der Armverbindung (Y, P)
  • -der Versatzwert des Positionsübertrager der Drehachse (K2)
  • Für einen 6-achsigen Roboter ergibt dies zusammen 36 Parameter, die ermittelt werden müssen. Somit sind zusammen 36 Po-
  • sitionspaare für die Seitenflächen des Meßkörpers erforderlich. Für jede Positionierung wird der Positionsübertrager des Roboter abgelesen, und es wird auch notiert, bezüglich welcher Flächen des Meßkörpers die Positionierung durchgeführt wurde.
  • Die Beziehung zwischen den Koordinaten der Position des Eichwerkzeugs und des Armwinkels des Roboters können wie folgt ausgedrückt werden:
  • fx (θ) = x
  • fy (θ) = y
  • fz (θ) = z
  • Der Armwinkel (θ) kann ausgedrückt werden durch die Auslenkung φ des Positionsübertragers durch
  • θ = K1 θ + K2
  • wobei K1 der Wechsel der übertragung zwischen dem Armwinkel und dem Meßübertrager ist (K1 ist bekannt),
  • K2 ein unbekannter Versetzungswert ist.
  • Durch Bildung eines Differenzpaares zwischen zwei Koordinaten und durch Beziehung dieses Differenzpaares auf die Kantenlänge des Eichkörpers kann eine Gleichung aufgestellt werden:
  • fx (θ&sub1;) - fx (θ&sub2;) = Kantenlänge Lx des Eichkörpers.
  • Nach Einsetzen des Ausdruckes für den Armwinkel θ und der ablesbaren Werte φ der Meßübertrager für das betreffende Meßwertepaar kann die Gleichung wie folgt geschrieben werden:
  • g(K21, K22, K23, K24, K25, K26,
  • OX1, OX2, OX3, OX4, OX5, OX6,
  • OY1, OY2, OY3, OY4, OY5, OY6,
  • OZ1, OZ2, OZ3, OZ4, OZ5, OZ6,
  • Y1, Y2, Y3, Y4, Y5, Y6,
  • Pl, P2, P3, P4, PS, P6) = Lx
  • oder in kompaktere Schreibweise:
  • gx(K2, OX, OY, OZ, Y, P) = Lx
  • Auf diese Weise können mindestens 36 Gleichungen aufgestellt werden.
  • Die Berechnung der unbekannten Eichparameter aus dem nichtlinearen Gleichungssystem kann in folgender Weise geschehen:
  • Zunächst werden vorläufige Werte für die Eichparameter angenommen. Die Versetzungswerte K2 kann man dadurch erhalten, daß man den Roboter in eine Anfangsposition bringt, worauf Vernier-Skalen (Feineinstellvorrichtungen) auf jeder Achse abgelesen werden und die Differenz zwischen den abgelesenen Werten und den Winkeln der Drehwinkelgeber gebildet werden. In dieser Position wird auch die anfängliche Geschwindigkeit der Drehwinkelgeber bestimmt (die Geschwindigkeit wird auf Null gesetzt). Die anderen Eichparameter werden auf Null gesetzt (nominaler Roboter). Für jedes Meßwertepaar/Konfiguration j wird die Differenz in der betreffenden Koordinate des Eichwerkzeugs berechnet, ausgehend von den abgelesenen Werten der Drehwinkelgeber und dem kinematischen Modell des Roboters. Zwischen dem so berechneten Wert und der bekannten Kantenlänge wird die Differenz j gebildet.
  • Wenn diese Differenzen für alle Meßwertepaare gebildet worden sind, hat man eine Größe
  • = ( &sub1;² + &sub2;² ... + &sub3;&sub6;²) bestimmt.
  • Die Größe wird dann mit einem vorgegebenen Toleranzwert verglichen. Wenn größer als dieser Wert ist, werden die gesetzten Werte gemäß dem Newton-Gauss-Algorithmus zur Lösung von überbestimmten nichtlinearen Gleichungssystemen angepaßt, und die obige Prozedur wird wiederholt bis kleiner als der Toleranzwert ist. Schließlich werden die so gewonnenen Eichparameter gespeichert, um während des Betriebes zur Korrektur der Position des Roboters verwendet zu werden.
  • Um die Bestimmung der unbekannten Parameter zu ermöglichen, muß die Anzahl der Meßpaare mindestens so groß sein, wie die Anzahl der zu eichenden Parameter. In dem oben beschriebenen Fall wurde angenommen, daß alle sechs Achsen des Roboters zu eichen sind, und es wurde die kleinstmögliche Anzahl von Meßpaaren, nämlich 6 x 6 = 36 angenommen. Es ist jedoch zweckmäßig, eine bedeutend größere Anzahl von Messungen bei unterschiedlichen Konfigurationen vorzunehmen, da sich gezeigt hat, daß so eine bessere Genauigkeit der Eichung erzielt wird.
  • Figur 5 zeigt im Prinzip die Konfiguration eines Industrierobotersystems mit Steuereinrichtungen zur automatischen Durchführung des oben beschriebenen Eichverfahrens. Der Roboter 2-6 ist in der oben beschriebenen Weise mit einem Eichkörper 7 und einem Eichwerkzeug 8 versehen. Zu der Steuervorrichtung 10 des Roboters gehören in bekannter Weise Computer mit dem notwendigen Speicherplatz für Programme und andere Daten, Speiseglieder für die Antriebsmotoren der verschiedenen Roboterachsen sowie die notwendige Speiseausrüstung. Die Steuervorrichtung 10 ist an eine Programmiereinheit 11 angeschlossen zur Programmierung und für andere Operationen des Roboters. Als Teil der Steuervorrichtung zeigt Figur 5 einen Programmausführer 101, der in bekannter Weise den Roboter veranlaßt, gespeicherte Progrämme auszuführen. In einem Speicher 107 ist das kinematische Modell des Roboters gespeichert. In einem Speicher 102 ist das Bewegungs programm für die Eichprozedur gespeichert. In einem Speicher 103 werden vor der automatischen Eichprozedur Werte für die vorläufigen Eichparameter gespeichert. Ein Speicherbereich 104 ist zur Speicherung der Drehwinkelgeberwerte vorgesehen, die bei der Durchführung des Eichverfahrens bei jeder Messung abgelesen werden. In einem weiteren Speicherbereich 105 werden vor der automatischen Eichprozedur die erforderlichen Basisdaten gespeichert, wie zum Beispiel die Abmessungen des Eichkörpers 7 und die Größe des Spitzenradius des Eichwerkzeuges. Ferner gehören zu der Steuervorrichtung eine Recheneinheit 106, die nach Durchführung aller Messungen auf der Grundlage der abgelesenen Drehwinkelgeberwerte, des kinematischen Modells und der Basisdaten aus dem Speicher 105 die Eichparameter in der oben beschriebenen Weise berechnet. Die Steuervorrichtung liefert die erforderlichen Steuersignale CS an den Roboter und erhält vom Roboter die Drehwinkelgeberwerte TS.
  • Vor der Eichung wird beispielsweise ein für allemal ein Eichprogramm im Speicherbereich 102 gespeichert. Das Programm ist in der Lage, die Bewegungen und andere Funktionen des Roboters während der Eichprozedur zu steuern. Ferner sind in dem Speicherbereich 103 vorläufige Werte für die Eichparameter und in dem Speicherbereich 105 die Abmessungen des Eichkörpers sowie die Größe des Spitzenradius des Eichwerkzeuges gespeichert. Die Konfiguration des Eichprogramms zeigt Figur 6. Die Größe j bezeichnet das augenblickliche Meßpaar, und es wird angenommen, daß die Messungen für M verschiedene Meßpaare durchgeführt wird. Nach dem Start des Programms - ST - wird j auf 1 gesetzt. Danach werden in dem Arbeitsspeicher der Vorrichtung die betreffende Seitenfläche und die betreffende Kantenlänge (STO Lj) sowie die Koordinaten für einen Anfangspunkt gespeichert (Block STO Pj¹). Diese Information zeigt für das betreffende Meßpaar sowohl die betreffende Seitenfläche des Eichkörpers als auch die Richtung an, in der das Eichwerkzeug vom Ausgangspunkt aus zu bewegen ist, um mit der Seitenfläche in Berührung zu kommen. Danach wird der Roboter - Block GTS - in Richtung zur Seitenfläche bewegt. Im Block CO? wird festgestellt, ob ein Kontakt mit der Seitenfläche zustande gekommen ist. Wenn die Antwort nein ist, wird die Bewegung fortgesetzt, und wenn die Antwort ja ist, werden die Drehwinkelgeberwerte φij¹ - Block STO φij¹ - im Speicherbereich 104 gespeichert. Danach wird die gleiche Prozedur für die gegenüberliegende Seitenfläche durchgeführt. Dann wird festgestellt, im Block j = M?, ob alle gewünschten Messungen durchgeführt worden sind. Wenn dies nicht der Fall ist, wird j= j + 1 gesetzt, und das nächste Meßpaar wird durchgeführt. Wenn alle Messungen durchgeführt worden sind, das heißt wenn j = M, schreitet das Programm weiter zu dem Berechnungsverfahren, DET par, durch welches die Eichparameter bestimmt werden. Die so ermittelten Parameter werden dann - STO par - für ihre spätere Verwendung beim Betrieb des Roboters gespeichert. Danach wird das Prögramm beendet - Block SP -.
  • Figur 7 zeigt genauer die Konfiguration des Funktionsblockes DET par. Die Berechnung beginnt mit einem Einlesen der augenblicklichen Werte der Eichparameter, Block RE par. Das erste Mal erhält man diese Werte aus dem Speichbereich 103, in welchem die vorläufigen Eichwerte gespeichert sind. Dann wird j auf 1 gesetzt, das heißt, das erste Meßwertepaar wird ausgewählt. Die Kantenlänge und die Seitenfläche, die zu diesem Meßwertepaar gehören, sowie die Drehwinkelgeberwerte φij¹ und φij² die für dieses Meßwertepaar abgelesen und gespeichert wurden, werden gelesen. Dies erfolgt in den Blöcken RE Lj, RE φij¹, RE φij². Danach wird für das gegenwärtige Meßwertepaar, ausgehend von dem kinematischen Modell des Roboters, die Differenz Cj zwischen den beiden Positionen des Eichwerkzeuges für die Koordinate, die den Seitenflächen des betreffenden Paares entspricht, berechnet, (Block CM Cj). Dann wird die Differenz Ej = Cj - Lj gebildet, wobei Lj die bekannte Kantenlänge ist. Dann wird - bei j = M? - geprüft, ob alle momentanen Meßwertepaare verarbeitet wurden. Wenn dies nicht der Fall ist, wird j auf j+1 gesetzt, und die entsprechende Berechnung wird für das nächste Meßwertepaar durchgeführt. Wenn alle Meßwertepaare verarbeitet worden sind, j = M, wird eine Größe E = ( &sub1;² + &sub2;² + ... m²) gebildet. Wenn diese Größe einen vorgegebenen Toleranzwert T erreicht oder ihn überschreitet, so bedeutet dies, daß die verwendeten Werte für die Eichparameter unrichtig sind. In diesem Falle werden die Werte angepaßt, zum Beispiel gemäß dem oben erwähnten Newton-Gauss-Algorithmus, im Block ADJ par, worauf die Berechnung wiederholt wird. Dieses Verfahren wird mit fortgesetzten Anpassungen der Eichparameter und anschließender Bestimmung des Fehlers wiederholt, bis die letztgenannte Größe kleiner als das vorgegebene Toleranzniveau ist. Wenn dies der Fall ist, schreitet das Programm fort zum nächsten Block in Figur 6, wo die zuletzt verwendeten Werte der Eichparameter gespeichert werden.
  • Figur 8 zeigt Eichparameter für eine Roboterachse. Die Figur zeigt das nominale Koordinatensystem des Roboters Xnom, Ynom, Znom sowie sein tatsächliches Koordinatensystem Xact, Yact, Zact. Das letztere weicht von dem ersteren durch einen Versetzungsfehler und einen Winkel- oder Orientierungsfehler (Stellungsfehler) ab.
  • Wie Figur 8a zeigt, ist die Lage des Nullpunktes der Koordinaten im tatsächlichen Koordinatensystem durch einen Vektor OE angegeben. Dieser Vektor hat drei Komponenten und wird im nominalen Koordinatensystem ausgedrückt.
  • Wie Figur 8b zeigt, hat das tatsächliche Koordinatensystem einen Stellungsfehler gegenüber dem nominalen Koordinatensystem. Es sind drei Winkel erforderlich, um das tatsächliche Koordinatensystem in übereinstimmung mit dem nominalen Koordinatensystem zu bringen, und diese drei Winkel beschreiben den Stellungsfehler.
  • Die drei Komponenten des Versetzungsvektor OE und die drei Winkel des Stellungsfehlers bilden die sechs Eichparameter der betrachteten Roboterachsen.
  • Die Erfindung wurde oben anhand eines Industrieroboters beschrieben, der nur Drehachsen hat; die Erfindung kann jedoch auch in vorteilhafter Weise bei Robotern mit ausschließlich translatorischen Achsen angewendet werden oder bei Robotern mit einer Kombination aus translatorischen und Drehachsen. Das Verfahren gemäß der Erfindung ist auch anwendbar bei Robotern mit einer Anzahl von Achsen, die von der oben genannten Anzahl abweicht. Ferner wurde oben beschrieben, wie das Verfahren zur Eichung sämtlicher Achsen des Roboters verwendet wird. Es kann manchmal zweckmäßig sein, von der Eichung einer oder mehrerer Roboterachsen abzusehen. Um die größtmögliche Variation zwischen den verwendeten Roboterkonfigurationen zu erzielen, kann der Roboter mit verschiedenen Eichkörpern versehen werden, die an verschiedenen Orten im Arbeitsbereich des Roboters angeordnet sind, wobei diese Orte so gewählt werden, daß die größtmöglichen Differenzen zwischen den Roboterkonfigurationen bei den verschiedenen Messungen erreicht werden. Bei dem oben beschriebenen bevorzugten Ausführungsbeispiel der Erfindung wird das Eichwerkzeug beim Eichen in mechansichen Kontakt mit dem Eichkörper gebracht.
  • Oben wurde ein bevorzugtes Ausführungsbeispiel der Erfindung beschrieben, bei welchem der Eichkörper mit seinen Kanten parallel zu den Achsen des Basiskoordinatensystems ausgerichtet ist. Diese Orientierung des Eichkörpers kann leicht hergestellt werden, und wenn die beiden Messungen an jedem Eichkörper an gegenüberliegenden Punkten des Eichkörper durchgeführt werden, verursacht eine geringfügige Abweichung der Orientierung des Körpers vernachlässigbare Fehler bei der Bestimmung der Eichparameter.
  • Gemäß einem alternativen Ausführungsbeispiel der Erfindung kann der Eichkörper vollständig willkürlich im Arbeitsbereich des Roboters angeordnet werden, das heißt, sowohl in einer beliebigen Stellung als auch mit einer beliebigen Orientierung. Dadurch wird das Eichverfahren vereinfacht, da keine Ausrichtung des Körpers parallel zu dem Basiskoordinatensystem erfolgen muß. Bei dieser Ausführungsform muß das oben beschriebene Gleichungssystem durch Gleichungen ergänzt werden, welche die Orientierung des Eichkörper berücksichtigen. Dies kann beschrieben werden mit Hilfe von drei Drehwinkeln in Bezug auf das Basiskoordinatensystem. Diese drei Winkel bilden dann drei weitere unbekannte Parameter, und die Anzahl der zu bestimmenden Parameter und folglich die Mindestanzahl der Paare von Messungen ist dann gleich der Anzahl der Eichparameter + 3, das heißt in dem oben beschriebenen Beispiel 36 + 3 = 39.
  • Es wurde oben beschrieben, wie sechs Eichparameter für jede Roboterachse bestimmt werden. Die Anzahl kann größer sein, beispielsweise, wenn während der Eichung auch gewünscht wird, die Nichtlinearitäten der Positionsübertrager der Achsen zu berücksichtigen. Die Anzahl kann auch kleiner sein, beispielsweise, wenn aus Erfahrung bekannt ist, daß ein oder mehrere Eichparameter bekannt oder vernachlässigbar groß sind.

Claims (5)

1. Verfahren zur Eichung eines Industrieroboters (2-6), welcher
eine Vielzahl von Bewegungsachsen (A1-A6) mit einem Positionsübertrager für jede der genannten Achsen hat, welcher Positionsübertrager ein Ausgangssignal (φ) liefert, welches die augenblickliche Position der Achse definiert, und
- eine Roboterhand (6) zur Befestigung eines Werkzeugs hat, dadurch gekennzeichnet, daß eine Anzahl von Eichparametern für den Roboter dadurch bestimmt wird,
a) daß der Roboter mit einem Eichwerkzeug (8) versehen wird, welches von der Roboterhand getragen wird,
b) daß der Roboter in Positionen gefahren wird, in denen er die zwei Seitenflächen mindestens eines Paares ebener und zueinander paralleler Seitenflächen des Eichkörpers (7) kontaktiert, wobei der Abstand zwischen den genannten Flächen genau bekannt ist,
c) daß in den Kontaktpositionen die Ausgangssignale der Positionsübertrager des Roboters abgelesen und gespeichert werden und Informationen gespeichert werden, die anzeigen, welche Seitenfläche des Eichkörpers verwendet wurde,
d) daß die Schritte b) und c) eine Anzahl von Malen wiederholt werden, welche Anzahl mindestens gleich der Anzahl der Eichparameter ist, wobei die Konfiguration des Roboters jeweils anders ist,
e) und daß, ausgehend von
1) den kinematischen Gleichungen des Roboters,
2) einem Modell der Beziehungen zwischen axialer Stellung und Signal des Positionsübertragers,
3) der bekannten Entfernung zwischen den beiden Seitenflächen jedes für Messungen verwendeten Seitenflächenpaares,
4) den abgelesenen und gespeicherten Positionsübertrager-Signalen,
und unabhängig von der Stellung des Eichkörpers relativ zum Roboter,
die Eichdaten berechnet werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß eine Vielzahl von Eichparametern für mindestens eine der genannten Achsen berechnet wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Kontaktpositionen bestimmt werden durch einen quaderförmigen Eichkörper (7) mit ebenen Flächen, die annähernd senkrecht zu den Achsen (x, y, z) eines festen, rechtwinkligen Koordinatensystems, dem Basiskoordinatensystem des Roboters, orientiert sind.
4. Verfahren nach einem der vorhergehenden Ansprüche mit einem Roboter, dessen Roboterhand (6) von einer Mehrzahl von Roboterteilen (3, 4, 5) getragen wird, die im Verhältnis zu einander beweglich sind, und bei welchem Roboter die Orientierung der Roboterhand unabhängig von der Konfiguration der Roboterarme variiert werden kann, dadurch gekennzeichnet, daß für mindestens ein Paar von Seitenflächen des Eichkörpers eine Vielzahl von Messungen mit unterschiedlichen Orientierungen der Roboterhand durchgeführt wird.
5. Verfahren nach einem der Ansprüche 1, 2, oder 4, dadurch gekennzeichnet, daß der Eichkörper mit einer beliebigen Winkelorientierung angeordnet wird.
DE69220504T 1991-12-10 1992-11-24 Verfahren und vorrichtung zum eichen der bewegungsachsen eines industriroboters Expired - Fee Related DE69220504T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
SE9103642A SE501263C2 (sv) 1991-12-10 1991-12-10 Förfarande för kalibrering av rörelseaxlar hos en industrirobot
PCT/SE1992/000804 WO1993011915A1 (en) 1991-12-10 1992-11-24 Method and device for calibration of movement axes of an industrial robot

Publications (2)

Publication Number Publication Date
DE69220504D1 DE69220504D1 (de) 1997-07-24
DE69220504T2 true DE69220504T2 (de) 1998-02-05

Family

ID=20384558

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69220504T Expired - Fee Related DE69220504T2 (de) 1991-12-10 1992-11-24 Verfahren und vorrichtung zum eichen der bewegungsachsen eines industriroboters

Country Status (8)

Country Link
US (1) US5528116A (de)
EP (1) EP0616566B1 (de)
JP (1) JP3326175B2 (de)
AU (1) AU3099492A (de)
DE (1) DE69220504T2 (de)
ES (1) ES2104957T3 (de)
SE (1) SE501263C2 (de)
WO (1) WO1993011915A1 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE501867C2 (sv) * 1993-11-15 1995-06-12 Asea Brown Boveri Förfarande och system för kalibrering av en industrirobot utnyttjande en sfärisk kalibreringskropp
DE19507227C1 (de) * 1995-03-02 1996-07-04 Qiagen Gmbh Verfahren zum Kalibrieren des Arbeitspunktes eines automatisch in einem kartesischen Koordinatensystem bewegbaren Werkzeuges
EP0896656A4 (de) * 1995-11-14 2000-11-22 Kam C Lau Maschinenmontiertes ballstabsystem und verfahren zu dessen benutzung
SE505981C2 (sv) * 1996-02-14 1997-10-27 Asea Brown Boveri Förfarande för styrning av en industrirobot med hänsyn till moment och belastning
US6445964B1 (en) 1997-08-04 2002-09-03 Harris Corporation Virtual reality simulation-based training of telekinegenesis system for training sequential kinematic behavior of automated kinematic machine
US6052611A (en) * 1997-11-28 2000-04-18 Picker International, Inc. Frameless stereotactic tomographic scanner for image guided interventional procedures
US6070109A (en) * 1998-03-10 2000-05-30 Fanuc Robotics North America, Inc. Robot calibration system
US6202031B1 (en) * 1998-04-08 2001-03-13 Mcms, Inc. Method of calibrating an automated placement machine
US6356807B1 (en) 1999-08-13 2002-03-12 Fanuc Robotics North America, Inc. Method of determining contact positions, calibration parameters, and reference frames for robot assemblies
US6812665B2 (en) 2002-04-19 2004-11-02 Abb Ab In-process relative robot workcell calibration
KR100485348B1 (ko) * 2002-07-09 2005-04-27 삼성전자주식회사 로봇의 캘리브레이션 방법
JP2005157784A (ja) * 2003-11-26 2005-06-16 Tokyo Denki Univ 小型アーティファクトを用いた運動機構の校正方法
DE102004028568B4 (de) * 2004-06-15 2011-06-16 Gerhard Klaiber Manipulierwerkzeug
WO2006086021A2 (en) * 2004-10-25 2006-08-17 University Of Dayton Method and system to provide improved accuracies in multi-jointed robots through kinematic robot model parameters determination
JP5153228B2 (ja) * 2007-06-28 2013-02-27 株式会社小坂研究所 多関節型座標測定装置のパラメータ校正方法
JP5235376B2 (ja) * 2007-10-05 2013-07-10 川崎重工業株式会社 ロボットのターゲット位置検出装置
ATE532610T1 (de) * 2008-04-30 2011-11-15 Abb Technology Ab Verfahren und system zur bestimmung der beziehung zwischen einem roboterkoordinatensystem und einem lokalen koordinatensystem, das im arbeitsbereich des roboters positioniert ist
CN102802883B (zh) * 2010-03-18 2015-07-15 Abb研究有限公司 工业机器人的基座坐标系的校准
CN103987486B (zh) * 2011-12-09 2017-03-29 戴姆勒股份公司 用于运行生产设备的方法
DE102017103938A1 (de) * 2017-02-24 2018-08-30 Carl Zeiss Industrielle Messtechnik Gmbh Vorrichtung zum Messen der Rauheit einer Werkstückoberfläche
CN107718050B (zh) * 2017-11-14 2020-07-17 深圳众为兴技术股份有限公司 Scara机器人臂长与零点标定方法、装置、介质及计算机设备
CN109032072B (zh) * 2018-07-30 2021-04-27 成都飞机工业(集团)有限责任公司 一种双并联杆钻铆设备的法矢调姿及其偏移补偿方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4362977A (en) * 1980-06-30 1982-12-07 International Business Machines Corporation Method and apparatus for calibrating a robot to compensate for inaccuracy of the robot
US4670849A (en) * 1983-03-31 1987-06-02 Hitachi, Ltd. Position error correcting method and apparatus for industrial robot
SE8304100L (sv) * 1983-07-22 1985-01-23 Ibm Svenska Ab System for automatisk kalibrering av rymdkoordinaterna hos en robotgripper i sex frihetsgrader
US4639878A (en) * 1985-06-04 1987-01-27 Gmf Robotics Corporation Method and system for automatically determining the position and attitude of an object
US4763276A (en) * 1986-03-21 1988-08-09 Actel Partnership Methods for refining original robot command signals
SE464855B (sv) * 1986-09-29 1991-06-24 Asea Ab Foerfarande vid en industrirobot foer kalibrering av en sensor
US4965499A (en) * 1987-12-31 1990-10-23 Westinghouse Electric Corp Parametric path modeling for an optical automatic seam tracker and real time robotic control system

Also Published As

Publication number Publication date
ES2104957T3 (es) 1997-10-16
JPH07501755A (ja) 1995-02-23
SE9103642D0 (sv) 1991-12-10
EP0616566B1 (de) 1997-06-18
US5528116A (en) 1996-06-18
DE69220504D1 (de) 1997-07-24
SE501263C2 (sv) 1994-12-19
SE9103642L (sv) 1993-06-11
JP3326175B2 (ja) 2002-09-17
WO1993011915A1 (en) 1993-06-24
AU3099492A (en) 1993-07-19
EP0616566A1 (de) 1994-09-28

Similar Documents

Publication Publication Date Title
DE69220504T2 (de) Verfahren und vorrichtung zum eichen der bewegungsachsen eines industriroboters
DE69411130T2 (de) Verfahren und Vorrichtung zum Eichen der Bewegungsachsen eines Industrierobotors
DE69602745T2 (de) Verfahren und einrichtung zum eichen der bewegungen eines industrieroboters
DE102015001527B4 (de) Robotersystem, das visuelle Rückmeldung verwendet
DE112016002797B4 (de) Kalibriervorrichtung und robotersystem mit einer solchen kalibriervorrichtung
DE102007010067B3 (de) Singularitätsbasiertes Maschinenprüf- und Kalibrierverfahren
EP0438095B1 (de) Korrekturverfahren für Koordinatenmessgeräte
DE69105476T2 (de) Verfahren zum kalibrieren eines optischen sensors.
DE102004026814A1 (de) Verfahren und Vorrichtung zum Verbessern der Positioniergenauigkeit eines Handhabungsgeräts
EP1602456B1 (de) Verfahren und Vorrichtung zum Steuern von Handhabungsgeräten
EP1086407B1 (de) Steuerverfahren für einen industrieroboter
EP2972078B1 (de) Verfahren zur korrektur einer winkelabweichung beim betrieb eines koordinatenmessgeräts
DE112016005365T5 (de) Direktes Lehrverfahren eines Roboters
DE102015219141A1 (de) Verfahren und Vorrichtung zur Vermessung einer numerisch gesteuerten Werkzeugmaschine
CH677745A5 (de)
EP1342051A1 (de) Kalibrierung eines messenden sensors auf einem koordinatenmessgerät mit einer kugel und zwei parameterfeldern
DE112017003961B4 (de) Steuerung für Parallelverbindungsmechanismus
EP0353585A2 (de) Verfahren zur Bahn- und Positionskorrektur eines Werkzeugs eines Roboters
DE10153049B4 (de) 3D-Koordinationssystem
DE4108939A1 (de) Verfahren zum kalibrieren von hochgenauen robotern
EP1302285A2 (de) Kalibrierverfahren für einen Roboterarm
DE102018124595B4 (de) Vorrichtung zur Erfassung einer Position und Lage eines Endeffektors eines Roboters
DE69933947T2 (de) Verfahren zur zellausrichtung und identifizierung und kalibrierung eines roboterwerkzeugs
EP3441200A1 (de) Referenzierverfahren und vorrichtung für industrieroboter
DE112016004105T5 (de) Numerische Steuervorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee