Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR CALIBRATING A ROBOT
Document Type and Number:
WIPO Patent Application WO/2011/110279
Kind Code:
A1
Abstract:
The invention relates to a method for calibrating a robot which is equipped by the manufacturer with an operating program, wherein under the control of said operating program the tool centre point (TCP) is guided on a trajectory defined by a plurality of support points. For this purpose, the support points (Si) which are relevant for a specific application are determined. Before or after this, the errors of the robot are ascertained by measurement. Then it is calculated which real points (Sr) are actually actuated by the TCP if the ideal support points (Si) are input into the operating program. The vectors (V1, V2) which connect the real support points (Sr) to the ideal support points (Si) are computationally doubled via the ideal support points (Si), whereby the coordinates of substitute support points (Se) are obtained. If the coordinates of said substitute support points (Se) are input into the operating program, in spite of the existing robot errors the TCP passes through the desired ideal trajectory.

Inventors:
EHRENLEITNER, Franz (Sommerhalde 36, Altensteig-Walddorf, 72213, DE)
MEYER, Carsten (Am Weißdorn 7, Neustadt, 31535, DE)
KAUFMANN, Robin (Riegeläckerstr. 18, CaIw, 75365, DE)
Application Number:
EP2011/000726
Publication Date:
September 15, 2011
Filing Date:
February 16, 2011
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
EISENMANN AG (Tübinger Str. 81, Böblingen, 71032, DE)
EHRENLEITNER, Franz (Sommerhalde 36, Altensteig-Walddorf, 72213, DE)
MEYER, Carsten (Am Weißdorn 7, Neustadt, 31535, DE)
KAUFMANN, Robin (Riegeläckerstr. 18, CaIw, 75365, DE)
International Classes:
B25J9/16; G05B19/408
Attorney, Agent or Firm:
OSTERTAG, Ulrich et al. (Ostertag & Partner, Epplestr. 14, Stuttgart, 70597, DE)
Download PDF:
Claims:
Patentansprüche

1. Verfahren zum Kalibrieren eines Roboters, der vom

Hersteller mit einem Betriebsprogramm ausgestattet ist, unter dessen Regime sein "Tool-Center-Point" (TCP) auf einer durch eine Mehrzahl von Stützpunkten definierten Trajektorie geführt wird; dadurch gekennzeichnet, dass die Stützpunkte (S^) im konkreten Anwendung

bestimmt werden; die Fehler des Roboters durch Messung ermi

werden; c) errechnet wird, welche realen Stützpunkte (S )

vom TCP tatsächlich angefahren werden, wenn

iiddeeaalleenn SSttüüttzzpptuunkte (S.) in das Betriebsprogramm eingegeben sind; d) die Vektoren (V^ V^) , welche die realen Stützpunkte (Sr) mit den idealen Stützpunkten (S^) verbinden, über die idealen Stützpunkte (S^) hinaus rechnerisch verdoppelt werden, wodurch die Koordinaten von Ersatzstützpunkten (Se) gewonnen werden; e) zur Durchführung der Bewegung des TCP unter Einsatz - bedingungen die Koordinaten der Ersatzstützpunkte (Se) in das vom Hersteller bereitgestellte Betriebsprogramm eingegeben werden.

2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die baureihenspezifischen Fehler und die Indivi- dualfehler des Roboters getrennt ermittelt und rechnerisch berücksichtigt werden.

3. Verfahren nach Anspruch 2, dadurch gekennzeichnet,

dass bei den Individualfehlern nur Achslagen- und

Längenfehler berücksichtigt werden. 4. Verfahren nach einem der vorhergehenden Ansprüche,

dadurch gekennzeichnet, dass zur Ermittlung der

Achslagenfehler der Roboterarm um jede Achse gedreht wird und jeweils drei auf einem Kreisbogen liegende

Punkte vermessen werden, woraus die Achslagen und die Achsrichtungen errechnet werden können.

5. Verfahren nach Anspruch 4, dadurch gekennzeichnet,

dass der Winkelabstand zwischen den beiden am weitesten voneinander entfernten, zu vermessenden Punkten mindestens 90°, vorzugsweise mindestens 120° beträgt.

6. Verfahren nach Anspruch 4 oder 5 , dadurch gekennzeichnet, dass der Roboterarm bei der Verdrehung in solchen Messposen gehalten wird, bei welchen sonstige vorhandene Individualfehler keinen nennenswerten Einfluss auf die vom "Tool-Center-Point" (TCP) durchlaufene Kreisbahn besitzen.

Description:
Verfahren zum Kalibrieren eines Roboters

Die Erfindung betrifft ein Verfahren zum Kalibrieren eines Roboters, der vom Hersteller mit einem Betriebsprogramm ausgestattet ist, unter dessen Regime sein "Tool- Center-Point" (TCP) auf einer durch eine Mehrzahl von Stützpunkten definierten Trajektorie geführt wird.

Beim Einsatz von Industrierobotern unterscheidet man zwischen direkter und indirekter Programmierung. Die direkte Programmierung, auch "On-line-Programmierung" genannt, arbeitet hauptsächlich nach teach-in-Verfahren. Hier wird mittels einer Tastatur, zum Beispiel eines Programmierhandgeräts, der Industrieroboter in einem kartesischen Koordinatensystem oder auch achsspezifisch an die Sollpositionen herangefahren und die Ergebnisse werden in der Steuerung abgelegt. Die Vorteile dieses direkten Programmierverfahrens . , sind, ^ dass der Industrieroboter anhand des Werkstückes positioniert werden kann und dass zusätzliche Anweisungen direkt eingegeben werden können. Nachteilig ist, dass der Industrieroboter während der Programmerstellung für die Produktion ausfällt.

Deshalb wurde schon frühzeitig versucht, die Programmierung in Bereiche außerhalb der Fertigung zu verlagern und eine indirekte Programmierung, auch "Off-line-Program- mierung" genannt, vorzunehmen. Seit circa 20 Jahren gibt es Systeme, welche die graphisch-interaktive Simulation und Programmierung von Industrierobotern in einer 3 -dimensionalen Darstellung erlauben. Hier wird ein

Modell des Industrieroboters, der Fertigungszelle, in welcher der Industrieroboter angeordnet ist, und der Werkstücke erstellt, mit dessen Hilfe dann Programmieraufgaben durchgeführt werden können.

Die Off -line-Simulationssysteme gestatten die direkte

Beschreibung der Sollbahn im Basiskoordinatensystem

des Industrieroboters. Allerdings ist eine direkte Übernahme der durch Simulation erstellten Programme in die Fertigung oft nicht möglich, da Realität und ideales Modell aufgrund von Ungenauigkeiten und Modellierungsfehlern stark differieren.

Aus diesem Grunde ist es erforderlich, Industrieroboter zu kalibrieren, um die erforderliche hohe Absolutgenauigkeit zu erzielen. Dabei ist die Anwendung automatisierter Messverfahen mit hinreichender Auflösung unabdingbar.

Zur Ermittlung der Roboterparameter aus den Messdaten werden bisher fast ausschließlich systemtheoretische

Ansätze verwendet. Hierbei werden die Parameter des

Gesamtmodells mit Hilfe numerischer Verfahren identifi- ziert. Dazu werden die Abweichungen des Roboters von

der Sollposition an einer hinreichenden Anzahl von Raumpositionen vermessen. Danach wird versucht, die euklid- sche Form der Gesamtabweichung - ausgehend vom Idealmo ¬ dell - durch Variation der Modellparameter zu minimieren. Die erreichbare Grenzgenauigkeit hängt einerseits von der Anzahl und von der Lage der Raumpositionen und andererseits von den Ergebnisvariablen, zum Beispiel den Armlängen, Winkelabweichungen, Achssteifigkeiten usw. ab. Dieses bekannte Verfahren zum Kalibrieren erfordert

nicht nur einen sehr hohen Messaufwand. Darüber hinaus ist auch die mathematische Bearbeitung außerordentlich aufwendig und setzt darüber hinaus die Möglichkeit voraus, in das vom Hersteller des Roboters bereitgestellte Be- triebsprogramm eingreifen zu können. Aufgabe der vorliegenden Erfindung ist es, ein Verfahren der eingangs genannten Art so auszugestalten, dass es einfach und grundsätzlich auch ohne Eingriff in das vom Hersteller bereitgestellte Betriebsprogramm durchgeführt werden kann.

Diese Aufgabe wird erfindungsgemäß dadurch gelöst, a) die Stützpunkte im konkreten Anwendungsfall bestimmt werden; b) die Fehler des Roboters durch Messung ermittelt

werden; c) errechnet wird, welche realen Stützpunkte (S ) vom TCP tatsächlich angefahren werden, wenn die idealen

SSttüüttzz;punkte (S.) in das Betriebsprogramm eingegeben sind; die Vektoren, welche die realen Stützpunkte (S^) mit den idealen Stützpunkten (S^) verbinden, über die idealen Stützpunkte (S^) hinaus rechnerisch verdoppelt werden, wodurch die Koordinaten von Ersatz Stützpunkten (S e ) gewonnen werden,- zur Durchführung der Bewegung des TCP unter Einsatz- bedingungen die Koordinaten der Ersatzstützpunkte (S e ) in das vom Hersteller bereitgestellte Betriebs ¬ programm eingegeben werden.

Erfindungsgemäß wird also davon abgesehen, den gesamten Arbeitsraum, der vom TCP des Roboters erreicht werden kann, gewissermaßen im Voraus zu kalibrieren. Vielmehr erfolgt die Kalibrierung im Blick auf eine ganz bestimmte durch konkrete Stützpunkte für einen einzelnen Anwendungs fall festgelegte Trajektorie. Unter Berücksichtigung der Fehler des Roboters wird ermittelt, welche Stützpunkte vom Roboter angefahren würden, würden tatsächlich die Koordinaten der gewünschten Stützpunkte unverändert in das Betriebsprogramm eingegeben. Aus der auf diese Weise ermittelten Abweichung der realen Stützpunkte von den idealen Stützpunkten lassen sich die Koordinaten von solchen Punkten, hier "Ersatzstützpunkte S e " genannt, ermitteln, bei deren Eingabe in das Betriebsprogramm des Roboters dann wirklich die idealen Stützpunkte trotz der vorhandenen Roboterfehler erreicht werden.

Das erfindungsgemäße Verfahren hat den großen Vorteil, dass die Bedienung des Roboters durch den aschinenbedie- ner in der für ihn gewohnten Weise erfolgen kann und dass insbesondere ein Eingriff in das vom Hersteller bereitgestellte Betriebsprogramm des Roboters nicht erforderlich ist. Sind die Fehler eines bestimmten Roboters einmal ermittelt, kann ein dem Betriebsprogramm des Roboters vorgeschaltetes Hilfsprogramm aufgestellt werden, bei dem es genügt, nur die im einzelnen Anwendungsfall gewünschten Stützpunkte einzugeben. Dieses Hilfsprogramm errechnet dann automatisch die Ersatzstützpunkte und leitet diese dem Betriebsprogramm des Rechners zu.

Zweckmäßigerweise werden die baureihenspezifischen Fehler und die Individualfehler des Roboters getrennt ermittelt und rechnerisch berücksichtigt. Dies hat den Vorteil, dass die Kalibrierung mehrerer Roboter, die zur selben Baureihe gehören und alle denselben baureihenspezifischen Fehler aufweisen, vereinfacht ist: Da die baureihenspezifischen Fehler - getrennt - bereits bekannt sind, genügt es, für die weiteren Roboter derselben Baureihe nur noch die Individualfehler zu ermitteln und einzurechnen.

Es hat sich gezeigt, dass es in vielen Fällen ausreicht, bei den Individualfehlern nur Achslagen- und Längenfehler zu berücksichtigen. Erfahrungsgemäß tragen diese Fehler den größten Anteil zu den Individualfehlern bei. Reduziert man die Berücksichtigung von Individualfehlern auf Achs- lagen- und Längenfehler oder gar nur auf Achslagenfehler, so verringert sich der messtechnische Aufwand deutlich; die mathematische Behandlung kann in vielen Fällen geschlos sen erfolgen, was zu einer Erhöhung der Genauigkeit

und Verringerung des Rechenaufwandes beiträgt.

Zur Ermittlung der Achslagenfehler genügt es, wenn der Roboterarm um jede Achse gedreht und jeweils drei auf einem Kreisbogen liegende Punkte vermessen werden, woraus die Achslagen und Ausrichtungen errechnet werden können. Dies bedeutet insgesamt, dass bei sechs Achsen nur 18

Messpunkte vermessen werden müssen.

Zur Erzielung einer ausreichenden Genauigkeit ist es wünschenswert, dass der Winkelabstand zwischen den beiden am weitesten voneinander entfernten, zu vermessenden

Punkten mindestens 90°, vorzugsweise mindestens 120° beträgt .

Grundsätzlich ist es denkbar, dass die Vermessung eines Individualfehlers durch andere Individualfehler beein- flusst wird, so dass also die Beiträge unterschiedlicher Individualfehler nicht mehr getrennt gehalten werden können. Dies erschwert die rechnerische Berücksichtigung der Individualfehler . Ein derartiges "Übersprechen"

von anderen Individualfehlern als demjenigen, der gerade vermessen werden soll, ist daher tunlichst zu vermeiden. Bei der Ermittlung der Achslagenfehler kann dies insbeson- dere dadurch geschehen, dass der Roboterarm bei der

Verdrehung in einer solchen Messpose gehalten wird, bei welcher sonstige vorhandene Individualfehler keinen nennenswerten Einfluss auf die durchlaufene Kreisbahn besitzen. Entscheidend ist, dass die anderen Individual- fehler, die im Detail nicht bekannt sind, die Kreisbahn als solche nicht nennenswert verfälschen, wobei die

Position der einzelnen Messpunkte auf der Kreisbahn

sich durchaus verändern können, ohne nennenswerten Ein- fluss auf die ermittelte Achslage zu haben.

Ein Ausführungsbeispiel der Erfindung wird nachstehend anhand der Zeichnung näher erläutert; es zeigen Figur 1 ein Flussdiagramm des erfindungsgemäßen Kalibrierverfahrens ;

Figur 2 und 3

Messposen, welche ein Roboterarm zur Vermessung von Fehlern des zu kalibrierenden Roboters einnehmen kann;

Figur 4 das Modell eines fehlerbehafteten Roboters. Das erfindungsgemäße und nachfolgend anhand der Figur

1 erläuterte Verfahren dient der Kalibrierung eines

Roboters, der entweder neu vom Hersteller ausgeliefert wurde oder an dem Änderungen vorgenommen wurden, so

dass eine Kalibrierung erforderlich wird. Der Roboter kann dabei insbesondere zu einer bestimmten Baureihe gehören, wie dies im Allgemeinen der Fall ist.

Der Roboter wird nicht in dem gesamten Arbeitsraum,

der von seinem "Tool-Center-Point" (TCP) angefahren

werden kann, geeicht. Vielmehr wird in einem Verfahrens- schritt 1 eine Mehrzahl von bestimmten, "idealen" Stützpunkten festgelegt, welche eine vom TCP zu durchfahrende Trajektorie definieren. Der Roboter ist regelmäßig vom Hersteller mit einem Betriebsprogramm versehen, welches zwischen den Stützpunkten eine Trajektorie interpoliert und Steuersignale erzeugt, welche den TCP entlang dieser errechneten Trajektorie führen.

Zunächst werden die Fehler, die der reale Roboter bei der Ansteuerung der idealen macht, wie folgt ermittelt:

Die Vielzahl von Fehlern, mit denen Roboter behaftet

sein können, werden grob auf zwei Gruppen aufgeteilt: Zur ersten Gruppe von Fehlern gehören all diejenigen, die durch die Baureihe bestimmt werden, die also allen

Robotern gemeinsam sind, die zu einer bestimmten Baureihe gehören und die durch diese Baureihe konstruktionsbedingt sind. Dazu gehören beispielsweise Gelenkelastizitäten mit und ohne Last oder Armelastizitäten. Diese Fehler werden hier "baureihenspezifisch" genannt.

Die andere Gruppe von Fehlern betreffen Individualfehler des einzelnen Roboters, also solche Fehler, in denen

sich der betrachtete Roboter auch von Robotern derselben

Baureihe unterscheidet. Dazu gehören insbesondere Achslagenfehler, Armlängen- und Winkelfehler, Temperatureinflüsse, Getriebefehler und stochastische Fehler. In dem durch den Kasten 2 repräsentierten Verfahrensschritt werden zunächst alle baureihenspezifischen Fehler durch Vermessen ermittelt. Dies kann in bekannter Weise geschehen, worauf hier nicht im Einzelnen eingegangen wird. In einem Rechenschritt, dargestellt durch den Kasten 3, wird

ermittelt, wo beim realen Roboter bei Ansteuerung der gewünschten Stützpunkte S^ der TCP bei Berücksichtigung der baureihenspezifischen Fehler liegen würde. Die tat ¬ sächliche Lage dieser "realen" Stützpunkte wird sich

im Allgemeinen von der Solllage unterscheiden. Dies sowie die rechnerische Korrektur sei anhand der Figur 4 erläutert:

In dieser Figur 4 ist der Roboterarm schematisch in

drei verschiedene Positionen dargestellt. Die mittlere

Position, dargestellt durch durchgezogene Linien, stellt den "idealen" Roboter dar, wie er in dem vom Hersteller stammenden Modell des Roboters niedergelegt ist. Idealerweise sollte der TCP am Ende des Roboterarmes den Stützpunkt S^ erreichen. Tatsächlich ergibt die Rechnung

unter Berücksichtigung der baureihenspezifischen Fehler, die im Schritt 2 ermittelt wurden, dass bei Eingabe

der Werte des Stützpunktes S^ in das vom Hersteller bereit ¬ gestellte Programm der Stützpunkt S erreicht wird.

Von dem realen Stützpunkt führt ein Vektor V zum

idealen Stützpunkt S^. Verdoppelt man nunmehr den Vek- tor V 1 von S^ über S^ hinaus, so gelangt man zu einem

Stützpunkt S e , der hier "Ersatzstützpunkt" genannt

wird. Der Name "Ersatzstützpunkt" rührt daher, dass bei Eingabe seiner Koordinaten in das Betriebsprogramm des

Computers der ideale Stützpunkt S^ vom TCP erreicht

wird.

Im Rechenschritt 3 werden in entsprechender Weise für alle Stützpunkte S^, die im Verfahrensschritt 1 festgelegt wurden, die Ersatzstützpunkte S g bestimmt.

Die geschilderten Messungen (Kasten 2) und Rechnungen

(Kasten 3) brauchen für alle Roboter einer Baureihe

nur einmal durchgeführt zu werden. Dies bedeutet, dass nach der ersten Kalibrierung eines Roboters aus einer

bestimmten Baureihe die diesbezüglichen Korrekturen für einen zweiten oder dritten Roboter derselben Baureihe schon bekannt sind.

Der nächste Schritt, dargestellt durch den Kasten 4, ist die Ermittlung der Individualfehler des jeweils zu kalibrierenden Roboters. Wie diese im Einzelnen vermessen werden, ist grundsätzlich bei der Durchführung der Erfin ¬ dung irrelevant. Es ist aber wünschenswert, dass die Zahl der Messungen und der rechnerisch zu verarbeitenden Größen so gering wie möglich gehalten wird. Messungen und Versuche haben ergeben, dass alleine die Achslagenfehler zu 80 bis 90 Prozent zu den Individualfehlern des Roboters beitragen, während Armlängen- und Winkelfehler 5 bis 10 Prozent des Gesamtfehlers beisteuern. Es ist daher im Allgemeinen möglich, in dem Schritt 4 zur Vorbereitung des mathemati ¬ schen Schrittes 5 nur die genannten Fehler zu vermessen.

Bei der Ermittlung der Individualfehler sollte darauf geachtet werden, dass durch Einnahme entsprechender

Messposen des Roboterarmes möglichst nur eine Fehlerart erfasst wird, dass also eine Vermengung unterschiedlicher Fehlereinflüsse im Messresultat vermieden wird. Wie

dies bei der Vermessung von Achslagenfehlern erfolgen kann, wird anhand der Figuren 2 und 3 deutlich:

Zunächst wird der Roboter über das vom Hersteller zur

Verfügung gestellte System, zum Beispiel durch die vom Roboterhersteller gesetzten Null-Marken, in die Nulllage gebracht . Sodann werden die Einzelabweichungen des Roboters durch Einzelachsvermessung ermittelt. Dies geschieht dadurch, dass die Achsen des Roboters einzeln bewegt werden und aus drei Messpunkten, die auf einem Kreisbogen um die reale Achse liegen, die jeweilige reale Achslage ermittelt wird. Die dabei im Einzelnen zur Anwendung kommenden Messtechni - ken sind im vorliegenden Zusammenhang nicht von Interesse. Um eine ausreichende Genauigkeit zu erzielen, liegen die drei für jede Achse vermessenen Messpunkte in einem Winkelabstand von 60° voneinander entfernt.

Figur 2 zeigt die Vermessung der ersten Achse des Roboterarms. Die Messpose ist so gewählt, dass durch andere

Fehler als durch Abweichung der Lage der ersten Achse zwar möglicherweise die tatsächlichen Lage der Kreisbahn, die beim Vermessen durchlaufen wird, von der erwarteten Kreisbahn abweicht. Gleichwohl bleibt die vom TCP durchlaufene Bahn eine Kreisbahn, deren Achse weitestgehend

mit der realen Lage der Achse 1 übereinstimmt. Stochasti- sehe Fehler, zum Beispiel in den einzelnen Gelenken, wirken sich auf diese Weise praktisch nicht aus.

Figur 3 zeigt, wie die Achse 3 des Roboters vermessen werden kann. Auch bei der hier dargestellten Messpose ist es ersichtlich so, dass bei Vorliegen von anderen

Fehlern als Fehlern der Lage der Achse 3 zwar die einzelnen Messpunkte nicht ideal mit den gewünschten Messpunk ¬ ten übereinstimmen; die tatsächlichen Messpunkte bleiben aber im Wesentlichen auf der gewünschten Kreisbahn liegen, so dass die ermittelte Lage der Achse 3 mit der tatsäch ¬ lichen Lage der Achse 3 weitestgehend übereinstimmt.

Nachdem im Verfahrensschritt 4 die Individualfehler

ermittelt wurden, werden diese im Rechenschritt, der durch den Kasten 5 dargestellt ist, berücksichtigt.

Die Vorgehensweise ist dieselbe, die oben für den Rechenschritt, dargestellt durch den Kasten 3, erläutert wurde:

Zunächst wird gerechnet, wie sich durch die Individual- fehler die Lage des idealen Stützpunktes S. verändert. Erneut ergibt sich ein realer Stützpunkt S der durch einen Vektor V 2 mit dem idealen Stützpunkt verbunden ist. Durch Verdoppelung dieses Vektors V 2 erhält man den Ersatzstützpunkt S .

Letztendlich werden der verdoppelte Vektoren 2 ^, der mit den baureihenspezifischen Fehlern verknüpft ist, und der verdoppelte Vektor V , der auf die Individualfehler des Roboters zurückgeht, addiert. Es ergeben sich somit

Koordinaten für eine insgesamt resultierenden Ersatzstützpunkt, die im Verfahrensschritt 6 in das vom Hersteller bereitgestellte Betriebsprogramm des Roboters eingegeben werden können. Unter Verwendung dieser Ersatzstützpunkte S e erzeugt das Betriebsprogramm des Roboters die Signale, welche trotz der vorhandenen baureihenspezifischen Fehler und Individualfehler den TCP genau entlang der gewünschten Trajektorie führen.