-
Die Erfindung betrifft ein Verfahren zur Übertragung des Arbeitsprogrammes eines ersten mit Individualfehlern behafteten Roboters, unter dessen Regime der ”Tool-Center-Point” (TCP) des ersten Roboters auf einer durch eine Mehrzahl von Stützpunkten definierten Trajektorie geführt wird, auf einen zweiten mit Individualfehlern behafteten Roboter derselben Baureihe.
-
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, z. B. einem Programmierhandgerät, 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-Programmierung” genannt, vorzunehmen. Seit ca. 20 Jahren gibt es Systeme, welche die graphisch-interaktive Simulation und Programmierung von Industrierobotern in einer dreidimensionalen 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 mittels 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 Messverfahren 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 identifiziert. Dazu werden die Abweichungen des Roboters von der Sollposition an einer hinreichenden Anzahl von Raumpositionen vermessen. Danach wird versucht, die euklidsche Form der Gesamtabweichung – ausgehend vom Idealmodell – durch Variation der Modellparameter zu minimieren. Die erreichbare Grenzgenauigkeit hängt einerseits von der Anzahl und der Lage der Raumpositionen und andererseits von den Ergebnisvariablen, z. B. den Armlängen, Winkelabweichungen, Achssteifigkeiten usw. ab.
-
Insbesondere in der Automobilindustrie sind Roboter häufig in einer ”Produktionslinie” eingebunden. Hier führt der Ausfall eines Roboters unter Umständen zum Erliegen ganzer Produktionsabschnitte. Um dies zu vermeiden, werden funktional parallele ”Produktionslinien” aufgebaut, um bei Ausfall eines Roboters die Gesamtauswirkung auf die Produktion zu minimieren. Aber auch bei Wartung oder Reparatur eines Roboters in derselben Linie sollte der fragliche Roboter häufig durch einen anderen Roboter ersetzt werden können.
-
Aufgabe der vorliegenden Erfindung ist es, ein Verfahren der eingangs genannten Art so auszugestalten, dass der mathematische und messtechnische Aufwand klein gehalten wird.
-
Diese Aufgabe wird erfindungsgemäß dadurch gelöst, dass
- a) ein funktionsfähiges, mit der gewünschten Genauigkeit arbeitendes Arbeitsprogramm des ersten Roboters bereitgestellt wird;
- b) die Individualfehler des ersten Roboters durch Messung ermittelt werden;
- c) die Individualfehler des ersten Roboters aus dessen funktionsfähigem Arbeitsprogramm herausgerechnet werden, wodurch ein baureihenspezifisches Referenzprogramm gewonnen wird;
- d) die Individualfehler des zweiten Roboters durch Messung ermittelt werden;
- e) die Individualfehler des zweiten Roboter in das baureihenspezifische Referenzprogramm hineingerechnet werden, wodurch ein funktionsfähiges, mit der gewünschten Genauigkeit arbeitendes Arbeitsprogramm des zweiten Roboters gewonnen wird.
-
Die obige Reihenfolge der einzelnen Verfahrensschritte a bis e spiegelt nicht zwingend die zeitliche Abfolge dieser Verfahrensschritte wieder. Insbesondere ist es möglich, die in den Verfahrensschritten b und d angegebenen Messungen zu einem früheren Zeitpunkt durchzuführen. Ihre Ergebnisse müssen nur bereit stehen, wenn die Verfahrensschritte c und e durchgeführt werden sollen.
-
Die Erfindung macht von der Erkenntnis Gebrauch, dass sich die Vielzahl von Fehlern, mit denen Roboter behaftet sein können, grob auf zwei Gruppen aufteilen lässt:
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.
-
Mit dem erfindungsgemäßen Verfahren gestaltet sich die Übertragung eines Arbeitsprogrammes von einem ersten Roboter auf einen zweiten Roboter insbesondere deshalb besonders einfach, weil alle baureihenspezifischen Fehler unberücksichtigt bleiben können. Diese baureihenspezifischen Fehler wurden bereits bei der Erstellung des funktionsfähigen, mit ausreichender Genauigkeit arbeitenden Arbeitsprogrammes des ersten Roboters ermittelt. Werden erfindungsgemäß (nur) die Individualfehler des ersten Roboters herausgerechnet, so entsteht zunächst ein Referenzprogramm, welches hier ”baureihenspezifisch” genannt wird. Dies deshalb, weil es ein ”Grundprogramm” oder eben eine ”Referenz” darstellt, von der alle Roboter, die zu derselben Baureihe gehören, ausgehen können. Es brauchen dann nur noch die Individualfehler des zweiten Roboters, auf welchen das Arbeitsprogramm übertragen werden sollen, hineingerechnet zu werden, um das funktionsfähige, mit ausreichender Genauigkeit arbeitende Arbeitsprogramm des zweiten Roboters zu erhalten.
-
Für die Zwecke der vorliegenden Erfindung ist es irrelevant, auf welche Weise das funktionsfähige Arbeitsprogramm des ersten Roboters erhalten wird. Beispielsweise ist es möglich, dies durch ein ”Teach-in”-Verfahren zu tun. Diese Ermittlung des ersten Arbeitsprogrammes ist dann zwar mit den eingangs geschilderten Nachteilen des ”Teach-in”-Verfahrens verbunden; die Übertragung des so gewonnen, funktionsfähigen Arbeitsprogrammes auf weitere Roboter ist dann aber besonders einfach und nicht mehr mit diesen Nachteilen behaftet.
-
Alternativ kann das funktionsfähige Arbeitsprogramm des ersten Roboters auch durch Vermessen der baureihenspezifischen Fehler und der Individualfehler und mathematisches Einrechnen dieser Fehler in das vom Roboterhersteller bereitgestellte ideale Arbeitsprogramm gewonnen werden. Erneut gilt, dass für dieses erste Ermitteln eines funktionsfähigen Arbeitsprogrammes ein gewisser Aufwand getrieben werden muss; bei der Übertragung dieses funktionsfähigen Arbeitsprogrammes auf weitere Roboter ist der mathematische und messtechnische Aufwand jedoch außerordentlich klein. Wenn auf diese Weise das funktionsfähige Arbeitsprogramm des ersten Roboters gewonnen wird, sind in vielen Fällen die Individualfehler des ersten Roboters schon hieraus bekannt, so dass der Schritt b) nicht mehr extra durchgeführt werden muss.
-
Im Allgemeinen reicht es aus, wenn bei den Individualfehlern nur Achslagen- und Längenfehler berücksichtigt werden. Erfahrungsgemäß tragen diese Fehler den größten Anteil zu den Individialfehlern bei. Reduziert man die Berücksichtigung von Individualfehlern auf Achslagen- und Längenfehler oder gar nur Achslagenfehler, so verringert sich der messtechnische Aufwand noch einmal deutlich; die mathematische Behandlung kann in vielen Fällen geschlossen 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 beeinflusst wird, so dass also die Beiträge unterschiedlicher Individualfehler nicht mehr getrennt gehalten werden können. Dies erschwert die rechnerische Berücksichtigung der Individualfehler bei der Ermittlung des baureihenspezifischen Referenzprogrammes ebenso wie bei der Ermittlung des funktionsfähigen Arbeitsprogramm des zweiten Roboters. Ein derartiges ”Überlagern” von anderen Individualfehlern als demjenigen, der gerade vermessen werden soll, ist daher tunlichst zu vermeiden. Bei der Ermittlung der Achslagenfehler kann dies insbesondere 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 Individualfehler, 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 Einfluss auf die ermittelte Achslage zu haben.
-
Ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens wird nachfolgend anhand der Zeichnung näher erläutert; es zeigen
-
1 ein Flussdiagramm des erfindungsgemäßen Verfahrens;
-
2 und 3 Messposen, welche ein Roboterarm zur Vermessung von Individualfehlern eines Roboters einnehmen kann.
-
Zunächst wird auf 1 Bezug genommen. Ausgangspunkt des hier dargestellten Verfahrens ist der Kasten 1, der für ein funktionsfähiges Arbeitsprogramm eines ersten Roboters R1 steht. Unter einem ”funktionsfähigen” Arbeitsprogramm wird ein solches verstanden, das mit der geforderten Genauigkeit in der Lage ist, den sog. ”Tool-Center-Point” (TCP) entlang einer vorgegebenen, bestimmten Trajektorie zu führen, die durch eine Mehrzahl von Stützpunkten definiert ist. Zwischen diesen Stützpunkten errechnet das Programm eine Interpolationskurve. ”Hinreichend” genau bedeutet, dass die Summe aller Fehler bei der Bewegung des TCP innerhalb eines bestimmten Toleranzfensters liegt.
-
Auf welche Weise das ”funktionsfähige” Arbeitsprogramm, welches durch den Kasten 1 repräsentiert ist, gewonnen wird, ist hier ohne Belang. Ausgangspunkt bei der Gewinnung dieses funktionsfähigen Programmes ist immer das vom Hersteller des Roboters bereitgestellte und im Einzelnen nicht immer bekannte Programm. Die baureihenbedingten und individuellen Fehler des Roboters R1 wurden in geeigneter Weise korrigiert, beispielsweise durch ein ”Teach-in”-Verfahren oder durch vollständiges Ausmessen aller Fehler des Roboters R1 und rechnerische Berücksichtigung durch Abwandlung des vom Hersteller bereitgestellten Programmes. Entscheidend ist, dass der TCP des Roboters R1 unter dem durch den Kasten 1 repräsentierten Arbeitsprogramm die vorgegebene Trajektorie überall mit der gewünschten Genauigkeit abfährt.
-
Das Arbeitsprogramm des Roboters R1 soll nun auf einen zweiten Roboter R2 übertragen werden, sei dies, weil der Roboter R1 gewartet oder repariert werden muss, sei dies, weil eine zweite Produktionslinie aufgebaut werden soll, die dieselben Arbeiten ausführt wie diejenige Produktionslinie, zu welcher der erste Roboter R1 gehört.
-
Der erste Schritt bei der Übertragung des Arbeitsprogrammes vom Roboter R1 auf den Roboter R2 besteht darin, dass die Individualfehler des Roboters R1 vermessen werden. Dies ist im Kasten 2 dargestellt. Auf Einzelheiten der Vermessung dieses Individualfehlers wird weiter unten eingegangen.
-
In Kenntnis der im Schritt 2 gewonnen Individualfehler des Roboters R1 ist es nunmehr möglich, das durch den Kasten 1 repräsentierte funktionierende Arbeitsprogramm des Roboters R1 in ein bauartenspezifisches Referenzprogramm umzurechnen. Der Kasten 3 in 1 repräsentiert den Rechenvorgang, während der Kasten 4 für das erhaltene bauartenspezifische Referenzprogramm steht. Unter ”bauartenspezifischs Referenzprogramm” wird ein Programm verstanden, welches von den Individualfehlern des Roboters R1 befreit ist, aber nach wie vor die baureihenspezifischen Fehler enthält. Diese baureihenspezifischen Fehler bedürfen bei dem erfindungsgemäßen Verfahren keiner Berücksichtigung, da sie wohl dem Roboter R1 als auch dem Roboter R2 zu eigen sind und bei der Erstellung des funktionsfähigen Arbeitsprogrammes (Kasten 1) des Roboters R1 bereits eingeflossen sind.
-
Das baureihenspezifische Referenzprogramm (Kasten 4) wird nunmehr auf den Roboter R2, welcher aus der selben Baureihe wie der Roboter R1 stammt, angewandt. Auch der Roboter R2 besitzt neben den baureihenspezifischen Fehlern, die er mit dem Roboter R1 gemein hat, Individualfehler, die einer Berücksichtigung bedürfen. Diese Individualfehler des Roboters R2 müssen vermessen werden, was durch den Kasten 5 in 4 dargestellt ist. Die so ermittelten Individualfehler werden rechnerisch (Kasten 6) zur Modifikation des baureihenspezifischen Referenzprogrammes verwendet, wodurch ein funktionsfähiges Arbeitsprogramm (Kasten 7) für den Roboter R2 entsteht.
-
Bei der Durchführung dieses Verfahrens ist es ersichtlich nicht erforderlich, Kenntnis über das herstellereigene Programm der Roboter zu gewinnen. Die Korrektur der Individualfehler geschieht dadurch, dass dem Roboter R2 Stützpunkte eingegeben, deren Koordinaten mit denjenigen der gewollten Stützpunkten der Trajektorie nicht übereinstimmen, bei deren Eingabe aber aufgrund der Individualfehler der TCP des Roboters R2 gleichwohl die gewünschten Stützpunkte anfährt.
-
Zur Durchführung der mathematischen Rechnungen, die durch die Kästen 3 und 6 repräsentiert sind und in denen die Individualfehler des Roboters R1 aus dessen funktionsfähigem Arbeitsprogramm (Kasten 1) im Schritt 3 herausgerechnet werden bzw. die Individualfehler des Roboters R2 im Schritt 6 in das baureihenspezifische Referenzprogramm (Kasten 4) hineingerechnet werden, sollte aus rechentechnischen Gründen die Zahl der berücksichtigten Fehlerarten möglichst weit reduziert werden. Messungen und Versuche haben ergeben, dass alleine die Achslagenfehler zu 80 bis 90% zu den Individualfehlern des Roboters beitragen, während Armlängen- und Winkelfehler 5 bis 10% des Gesamtfehlers beisteuern. Es ist daher im Allgemeinen möglich, in den Schritten 2 und 5 zur Vorbereitung der mathematischen Schritte 3 und 6 nur die genannten Fehler zu vermessen. Dies hat nicht nur rechentechnische Vorteile; selbstverständlich ist es auch messtechnisch günstig, nur wenige Messungen bei der Bestimmung der Individualfehler durchführen zu müssen.
-
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 Vermengungen unterschiedlicher Fehlereinflüsse im Messresultat vermieden wird. Wie dies bei der Vermessung von Achslagenfehlern erfolgen kann, wird anhand der 2 und 3 deutlich:
Zunächst wird der Roboter über das vom Hersteller zur Verfügung gestellte System, z. B. durch die vom Roboterhersteller gesetzten Null-Marken, in die Null-Lage 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 Messtechniken 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.
-
2 zeigt die Vermessung der ersten Achse des Roboterarmes. Die Messpose ist so gewählt, dass durch andere Fehler als durch Abweichung der Lage der ersten Achse zwar möglicherweise die tatsächliche 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. Stochastische Fehler, z. B. in den einzelnen Gelenken, wirken sich auf diese Weise praktisch nicht aus.
-
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 Messpunkten ü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ächlichen Lage der Achse 3 weitestgehend übereinstimmt.