Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MOVEMENT CONTROLLER FOR ELASTIC ROBOT STRUCTURES
Document Type and Number:
WIPO Patent Application WO/2008/141730
Kind Code:
A1
Abstract:
The invention relates to a control method for a painting robot, comprising the following steps: (a) a robot path is set using several path points that are to be traversed by a reference point of the robot and are each defined by space coordinates; (b) the space coordinates of the individual path points are converted into corresponding axis coordinates according to inverse robot kinematics, said axis coordinates reproducing the position of the individual robot axes in the respective path points; (c) axis-related regulators for the individual robot axes are triggered according to the converted axis coordinates; (d) axis-related driving motors are triggered in the individual robot axes by means of the associated axis-related regulators; (e) corrective path values for the individual path points are calculated according to a dynamic robot model, said corrective path values taking into account the elasticity and/or friction and/or inertia of the robot; (f) corrected axis coordinates for the individual path points are calculated from the non-corrected axis coordinates of the individual path points and the corrective path values; (g) the axis-related regulators are triggered using the corrected axis coordinates.

Inventors:
HAECKER JENS (DE)
SCHOELL BJOERN (DE)
MEISSNER ALEXANDER (DE)
Application Number:
PCT/EP2008/003674
Publication Date:
November 27, 2008
Filing Date:
May 07, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
DUERR SYSTEMS GMBH (DE)
HAECKER JENS (DE)
SCHOELL BJOERN (DE)
MEISSNER ALEXANDER (DE)
International Classes:
B25J9/16
Domestic Patent References:
WO2006056349A12006-06-01
Foreign References:
DE102004056861A12006-06-08
DE69829559T22005-08-18
DE102004008406A12004-12-30
EP1173801B12004-11-24
DE10342471A12005-04-14
Other References:
WELLS R L ED - INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS: "A study of path errors due to servo dynamics and link flexibilities in a two-coordinate robotic manipulator", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON SYSTEMS, MAN AND CYBERNETICS. LE TOUQUET, OCT. 17 - 20, 1993; [PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON SYSTEMS, MAN AND CYBERNETICS], NEW YORK, IEEE, US, vol. -, 17 October 1993 (1993-10-17), pages 705 - 709, XP010132341, ISBN: 978-0-7803-0911-1
ENGENE TUNG ET AL: "Low velocity friction compensation and feedforward solution based on repetitive control", 19910601, 1 June 1991 (1991-06-01), pages 2615 - 2620, XP031108188
PROCEEDINGS OF THE 2005 IEEE CONFERENCE ON CONTROL ALGORITHMS, 28 August 2005 (2005-08-28), pages 1170 - 1175
PROCEEDINGS OF IFAC SYMPOSIUM ON ROBOT CONTROL, pages 485 - 490
PROCEEDINGS OF THE 1992 IEEE CONFERENCE ON ROBOTICS AND AUTOMATION, May 1992 (1992-05-01), pages 1429 - 1435
IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, vol. 12, no. 6, November 2004 (2004-11-01), pages 904 - 919
ROBERT LINDSAY WELLS: "A Study of Path Errors Due to Servo Dynamics and Link Flexibilities in a Two-Coordinate Robotic Manipulator", PROCEEDINGS OF THE 1993 INTERNATIONAL CONFERENCE ON SYSTEMS, MAN AND CYBERNETICS, vol. 17, pages 705 - 709
Attorney, Agent or Firm:
BEIER, Ralph (Akademiestrasse 7, München, DE)
Download PDF:
Claims:

ANSPRüCHE

1. Steuerungsverfahren für einen mehrachsigen Roboter, insbesondere für einen Lackierroboter, mit den folgenden Schritten: a) Vorgabe (Sl) einer Roboterbahn durch mehrere Bahnpunkte, die von einem Referenzpunkt des Roboters durchfah- ren werden sollen, wobei die einzelnen Bahnpunkte jeweils durch Raumkoordinaten definiert sind, b) Umrechnung (S2) der Raumkoordinaten der einzelnen Bahnpunkte gemäß einer inversen Roboterkinematik in entsprechende Achsenkoordinaten {&) , wobei die Achsenkoor- dinaten {&) die Stellung der einzelnen Roboterachsen in den jeweiligen Bahnpunkten wiedergeben, c) Ansteuerung (SlO) von achsenbezogenen Reglern (2) für die einzelnen Roboterachsen entsprechend den umgerechneten Achsenkoordinaten (θ) , d) Ansteuerung (Sil) von achsenbezogenen Antriebsmotoren (1) in den einzelnen Roboterachsen durch die zugehörigen achsenbezogenen Regler (2), gekennzeichnet durch folgende Schritte: e) Berechnung (S3-S7) von Bahnkorrekturwerten {δθ) für die einzelnen Bahnpunkte auf der Roboterbahn gemäß einem dynamischen Robotermodell (5), wobei die Bahnkorrekturwerte {δθ) Elastizität und/oder Reibung und/oder Trägheit des Roboters berücksichtigen, f) Berechnung (S8) korrigierter Achsenkoordinaten (δθ KORR ) für die einzelnen Bahnpunkte aus den unkorrigierten

Achsenkoordinaten (θ) der einzelnen Bahnpunkte und den Bahnkorrekturwerten {δθ) , und

g) Ansteuerung (SlO) der achsenbezogenen Regler (2) mit den korrigierten Achsenkoordinaten (δθ K O R R) •

2. Steuerungsverfahren nach Anspruch 1, gekennzeichnet durch folgende Schritte: a) Berechnung (S6) von inneren Drehmomentwerten (M INNEN ) und/oder äußeren Drehmomentwerten (M AU B EN ) aus den un- korrigierten Achsenkoordinaten (θ) der Bahnpunkte gemäß dem dynamischen Robotermodell (5), wobei die inneren Drehmomentwerte (M I NN EN ) das innere Drehmoment der Antriebsmotoren (1) und der zugehörigen Roboterachsen wiedergeben, b) Berechnung (S7) der Bahnkorrekturwerte (δθ) aus den inneren Drehmomentwerten (M INNEN ) und den äußeren Drehmo- mentwerten (M A U BE N) •

3. Steuerungsverfahren nach Anspruch 2, dadurch gekennzeichnet, dass die inneren Drehmomentwerte (M INλffiN , M imEN ,i) folgende Anteile enthalten: a) einen statischen Reibungsterm, der aus dem Vorzeichen der unkorrigierten Achsenkoordinaten (θ) der Bahnpunkte und einer statischen Reibungskonstanten (-f 2 sta ) berechnet wird, und/oder b) einen dynamischen Reibungsterm, der aus der ersten zeitlichen Ableitung (q t ) der unkorrigierten Achsenkoordinaten (θ) der Bahnpunkte und einer dynamischen Reibungskonstanten (f λ vis ) berechnet wird, und/oder c) einen Trägheitsterm, der aus der zweiten zeitlichen Ableitung ((J 1 ) der unkorrigierten Achsenkoordinaten (θ) der Bahnpunkte und einer Trägheitskonstanten (J 2 ) berechnet wird.

4. Steuerungsverfahren nach einem der vorhergehenden Ansprüche, gekennzeichnet durch folgende Schritte: a) Messung (S4) einer Umgebungstemperatur (T), b) Auslesen (S5) von Modellparametern {fi Sta , fi vis , Ji) des dynamischen Robotermodells entsprechend der gemessenen Umgebungstemperatur (T) aus einem Parameterspeicher, c) Berechnung (S7) der Bahnkorrekturwerte (δθ) mit den ausgelesenen Modellparametern (-fi Sta , fi Vls , Ji) des dyna- mischen Robotermodells.

5. Steuerungsverfahren nach Anspruch 3 und Anspruch 4, dadurch gekennzeichnet, dass die temperaturabhängig ausgelesenen Modellparameter folgende Größen umfassen: a) die statische Reibungskonstante (fi Sta ) und/oder b) die dynamische Reibungskonstante (fi Vls ) und/oder c) die Trägheitskonstante (Ji).

6. Steuerungsverfahren nach einem der Ansprüche 2 bis 5, dadurch gekennzeichnet, dass die Bahnkorrekturwerte (δθ) aus den inneren Drehmomentwerten (M INNEN ) und/oder den äußeren Drehmomentwerten (M AUßEN ) berechnet werden mittels a) eines P-Glieds (9), und/oder b) eines PTl-Glieds (10), und/oder c) eines PT2-Glieds (11).

7. Steuerungsverfahren nach einem der Ansprüche 2 bis 6, dadurch gekennzeichnet, dass die Bahnkorrekturwerte (δθ) unter Berücksichtigung der Elastizität der Roboterachsen aus den inneren Drehmomentwerten (M imEN ) und/oder den äußeren Drehmomentwerten (M AUßEN ) berechnet werden.

8. Steuerungsverfahren nach einem der vorhergehenden Ansprüche, gekennzeichnet durch folgenden Schritt:

Filterung (S9) der korrigierten Achsenkoordinaten (δθ KORR ) der Bahnpunkte vor der Ansteuerung der achsenbezogenen Regler (2) zur Glättung der Korrektur.

9. Steuerungsverfahren nach Anspruch 8, dadurch gekennzeichnet:, dass die korrigierten Achsenkoordinaten (δθ KORR ) durch folgenden Filtertyp gefiltert werden: a) Mittelwertfilter, b) Mittelwertfilter, der einen gewichteten Mittelwert be- stimmt, c) Phasenanhebendes Filter, d) FIR-Filter, e) Bandpassfilter und/oder f) Tiefpassfilter.

10. Steuerungsverfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Bahnkorrekturwerte

(δθ) bei der Korrektur zu den unkorrigierten Achsenkoordinaten (θ) der Bahnpunkte addiert werden.

11. Robotersteuerung, die zum Ausführen eines Steuerungsverfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist.

12. Roboter, insbesondere Lackierroboter, mit einer Robotersteuerung nach Anspruch 11.

* * * * *

Description:

BESCHREIBUNG

BewegungsSteuerung für elastische Roboterstrukturen

Die Erfindung betrifft ein Steuerungsverfahren für einen mehrachsigen Roboter, insbesondere für einen Lackierroboter, gemäß dem Hauptanspruch.

Aus DE 103 42 471 Al ist eine Robotersteuerung für einen mehrachsigen Lackierroboter bekannt, die einen Tool Center Point (TCP) entlang einer vorgegebenen Roboterbahn bewegt. Diese bekannte Robotersteuerung kann mechanische Elastizitäten der einzelnen Roboterachsen berücksichtigen und ausgleichen, um die Positionierungsgenauigkeit des Lackierroboters zu verbessern. Hierbei werden die einzelnen Roboterachsen des Lackierroboters durch jeweils einen Achsregler angesteuert, wobei die mechanische Elastizität des Lackierroboters dadurch be- rücksichtigt wird, dass die Regelabweichung des Achsreglers einer relativ nachgiebigen Roboterachse im Rahmen einer achsenübergreifenden Koppelung auf einen Achsregler einer relativ steifen Achse wirkt.

Diese bekannte Robotersteuerung hat sich bereits als vorteilhaft erwiesen, jedoch ist es insbesondere bei hochdynamischen Roboterbewegungen wünschenswert, mechanische Elastizitäten des Lackierroboters noch besser zu berücksichtigen und zu kompensieren, um die Positionierungsgenauigkeit zu erhöhen.

Aus US 2004/0093119 Al ist eine Robotersteuerung bekannt, die reibungsbedingte Positionierungsfehler des Roboters bei der Antriebsregelung in den einzelnen Roboterachsen korrigiert, wobei die vorgegebene Roboterbahn jedoch nicht verändert

wird. Die Positionierungsgenauigkeit des Roboters wird deshalb durch diese Robotersteuerung nicht in ausreichendem Maß verbessert, was insbesondere für einen hochdynamischen Betrieb des Roboters gilt.

Ferner ist zum Stand der Technik noch hinzuweisen auf DE 10 2004 056 861 Al; "Proceedings of the 2005 IEEE Conference on Control Algorithms", August 28-31, 2000, S. 1170-1175; "Proceedings of IFAC Symposium on Robot Control", September 19- 21, 1994, S. 485-490; DE 698 29 559 T2; DE 10 2004 008 406

Al; "Proceedings of the 1992 IEEE Conference on Robotics and Automation", May 1992, S. 1429-1435; "IEEE Transactions on Control Systems Technology", Vol. 12, No. 6, November 2004, S. 904-919 and EP 1 173 801 Bl. Auch bei diesem Stand der Technik ist die Positionierungsgenauigkeit des Roboters jedoch unbefriedigend.

Der Erfindung liegt deshalb die Aufgabe zugrunde, ein Steuerungsverfahren für einen mehrachsigen Roboter anzugeben, das Elastizitäten des Roboters möglichst gut kompensiert, um die Positionierungsgenauigkeit des Roboters zu verbessern.

Diese Aufgabe wird durch ein erfindungsgemäßes Steuerungsverfahren gemäß dem Hauptanspruch gelöst.

Die Erfindung umfasst die allgemeine technische Lehre, bei der Steuerung eines mehrachsigen Roboters entlang einer vorgegebenen Roboterbahn Bahnkorrekturwerte zu berechnen, die Elastizität, Reibung und/oder Trägheit des Roboters berück- sichtigen, so dass die Ansteuerung des Roboters mit einer entsprechend korrigierten Roboterbahn die dynamischen Positionierungsfehler (z.B. überschwingen, elastische Verbiegung der Roboterachsen) kompensiert.

Im Rahmen des erfindungsgemäßen Steuerungsverfahrens wird für einen Referenzpunkt des Roboters, wie beispielsweise den sogenannten Tool Center Point (TCP) , eine Roboterbahn durch mehrere Bahnpunkte vorgegeben, die von dem Referenzpunkt durchfahren werden sollen. Die einzelnen Bahnpunkte auf der Roboterbahn werden hierbei vorzugsweise durch Raumkoordinaten definiert, welche die Position der einzelnen Bahnpunkte in den drei Raumrichtungen festlegen. Beispielsweise kann für jeden Bahnpunkt ein Koordinatensatz oder Positionsvektor mit drei Koordinaten vorgegeben werden, die die Position des jeweiligen Bahnpunkts in einem dreidimensionalen kartesischen Koordinatensystem angeben.

Die Raumkoordinaten der einzelnen Bahnpunkte der vorgegebenen Roboterbahn werden dann im Rahmen des erfindungsgemäßen Steuerungsverfahrens in herkömmlicher Weise gemäß einer inversen Roboterkinematik in entsprechende Achsenkoordinaten umgerechnet, wobei die Achsenkoordinaten die Stellung der einzelnen Roboterachsen in den jeweiligen Bahnpunkten wiedergeben. Die Umrechnung der Raumkoordinaten gemäß der inversen Roboterkinematik in die entsprechenden Achsenkoordinaten ist an sich aus dem Stand der Technik bekannt und muss deshalb nicht weiter beschrieben werden. Die umgerechneten Achsenkoordinaten der einzelnen Bahnpunkte liegen dann vorzugsweise als Positi- onsvektor in einem Achsenkoordinatensystem vor.

Die umgerechneten Achsenkoordinaten der einzelnen Bahnpunkte dienen dann zur Ansteuerung von achsenbezogenen Reglern für die einzelnen Roboterachsen, was an sich ebenfalls aus dem Stand der Technik bekannt ist, wie beispielsweise aus der bereits eingangs zitierten Patentanmeldung DE 103 42 471 Al, so dass der Inhalt dieser Patentanmeldung der vorliegenden Beschreibung in vollem Umfang zuzurechnen ist.

Die achsenbezogenen Regler für die einzelnen Roboterachsen steuern dann die Antriebsmotoren in den einzelnen Roboterachsen so an, dass der Referenzpunkt (z.B. der Tool Center Point) nacheinander die einzelnen Bahnpunkte der vorgegebenen Roboterbahn durchfährt .

Die Erfindung sieht nun zusätzlich zu den vorstehend beschriebenen herkömmlichen Verfahrensschritten vor, dass für die einzelnen Bahnpunkte auf der Roboterbahn Bahnkorrektur- werte gemäß einem dynamischen Robotermodell berechnet werden, wobei die Bahnkorrekturwerte Elastizität, Reibung und/oder Trägheit des Roboters berücksichtigen und dadurch eine Kompensation dynamischer Positionierungsfehler ermöglichen.

Die Bahnkorrekturwerte dienen dann zur Berechnung von korrigierten Achsenkoordinaten für die einzelnen Bahnpunkte der vorgegebenen Roboterbahn. Vorzugsweise werden die Bahnkorrekturwerte zur Berechnung der korrigierten Achsenkoordinaten einfach zu den unkorrigierten Achsenkoordinaten der jeweili- gen Bahnpunkte addiert, so dass die Bahnkorrekturwerte einen Offset bilden.

Schließlich werden die einzelnen achsenbezogenen Regler dann mit den korrigierten Achsenkoordinaten angesteuert, wodurch die dynamischen Positionierungsfehler kompensiert werden.

In einem bevorzugten Ausführungsbeispiel der Erfindung ist ein dynamisches Robotermodell vorgesehen, um die sogenannten inneren Kräfte und Drehmomente für die bewegten Massen des Roboters zu berechnen, wobei die Berechnung vorzugsweise in Echtzeit ("Online") entsprechend einem Starrkörpermodell erfolgt.

Hierbei sieht das erfindungsgemäße Steuerungsverfahren vorzugsweise vor, dass aus den unkorrigierten Achsenkoordinaten der einzelnen Bahnpunkte gemäß dem dynamischen Robotermodell innere Drehmomentwerte berechnet werden, wobei die inneren Drehmomentwerte das innere Drehmoment der Antriebsmotoren und der zugehörigen Roboterachsen wiedergeben. Beispielsweise können die so berechneten inneren Drehmomentwerte einen statischen Reibanteil, einen viskosen Reibanteil und/oder die Massenträgheit des Antriebsstrangs der einzelnen Roboterach- sen berücksichtigen, wie noch detailliert beschrieben wird.

Bei diesem Ausführungsbeispiel der Erfindung werden die Bahnkorrekturwerte dann vorzugsweise aus den inneren Drehmomenten und den bekannten äußeren Drehmomenten berechnet, wobei vor- zugsweise die Elastizität der einzelnen Roboterachsen berücksichtigt wird, indem die einzelnen Roboterachsen im einfachsten Fall als elastische Drehfeder nullter Ordnung betrachtet werden. Die Bahnkorrekturwerte ergeben sich dann entsprechend einem linearem Zusammenhang aus einer vorgegebenen Drehfeder- konstanten und den Gesamtmomenten als Summe aus den inneren Drehmomenten und den äußeren Drehmomenten.

Im Rahmen der Erfindung können die inneren Drehmomentwerte einen statischen Reibungsterm M fr i CfStat enthalten, der eine geschwindigkeitsunabhängige Reibung wiedergibt, die in Drehrichtung des jeweiligen Antriebsmotors wirkt und beispielsweise aus dem Vorzeichen der unkorrigierten Achsenkoordinaten der Bahnpunkte und einer vorgegebenen statischen Reibungskonstanten berechnet werden kann. Der statische Reibungsterm M fr ic stat lässt sich hierbei nach folgender Formel aus der statischen Reibungskonstanten fi ξta und den unkorrigierten Achsenkoordinaten q± berechnen, wobei der Index i die jeweilige Roboterachse angibt:

Mfric. stat. i = fi sta ' sgn (<?, ) .

Weiterhin umfassen die im Rahmen des dynamischen Robotermodells berechneten inneren Drehmomentwerte vorzugsweise einen dynamischen Reibungsterm M fr i C/dyn , wobei es sich um einen linearen Term handelt, der proportional zur Drehgeschwindigkeit des jeweiligen Antriebsmotors wirkt. Beispielsweise kann der dynamische Reibungsterm nach folgender Formel aus einer dynamischen Reibungskonstanten fi vis und der ersten zeitlichen Ab- leitung q, der unkorrigierten Achsenkoordinaten der Bahnpunkte berechnet werden:

Mfric, dyn, i = fi V1S ' <7,

Schließlich umfassen die im Rahmen des dynamischen Robotermodells berechneten inneren Drehmomentwerte vorzugsweise auch einen Trägheitsterm M inert , der die mechanische Trägheit des Antriebsstrangs der jeweiligen Roboterachse wiedergibt und proportional zur Drehbeschleunigung des jeweiligen Antriebs- motors ist. Der Trägheitsterm M inert kann hierbei aus der zweiten zeitlichen Ableitung q\ der unkorrigierten Achsenkoordinaten der Bahnpunkte und einer Trägheitskonstante J ± nach folgender Formel berechnet werden:

M inert = Ji ' q, .

In einem bevorzugten Ausführungsbeispiel der Erfindung wird die Temperaturabhängigkeit der vorstehend erwähnten Reibungs- terme berücksichtigt. Hierzu wird im Rahmen des erfindungsge- mäßen Steuerungsverfahrens die Umgebungstemperatur gemessen, wobei die Modellparameter (z.B. die statische Reibungskonstante, die dynamische Reibungskonstante und die Trägheitskonstante) dann in Abhängigkeit von der gemessenen Temperatur

aus einem Parameterspeicher ausgelesen werden. Die Bahnkorrekturwerte werden dann mit den ausgelesenen Modellparametern des dynamischen Robotermodells berechnet, also unter Berücksichtigung der aktuellen Temperatur. Diese Temperaturanpas- sung der Modellparameter des dynamischen Robotermodells bietet den Vorteil, dass Temperaturabhangigkeiten des mechanischen Roboterverhaltens im Rahmen des erfindungsgemaßen Steuerungsverfahrens berücksichtigt werden können.

Die "inneren" Parameter fi Sta , f λ vls und J 1 werden vorzugsweise für jede Achse experimentell durch ein spezielles Fahrprogramm des Roboters und ein Optimierungsverfahren ermittelt. Wahrend dieser Fahrt werden dabei die auftretenden Motormomente von den Antrieben gelesen und gleichzeitig werden die Motormomente berechnet, welche sich rein durch die Massen des Roboters ergeben. Aus der jeweils resultierenden Momentendifferenz werden über ein "Least Squares Verfahren" die inneren Parameter berechnet. Der ermittelte Parametersatz gilt für die aktuelle Temperatur des Motor/Getriebe-Strangs der jewei- ligen Achse. Die Betriebstemperatur des Roboters wird in diskrete Schritte unterteilt. Der Roboter wird sukzessive durch Fahren erwärmt. Nach Erreichen des jeweils nächsten Temperaturniveaus wird das o.g. Identifikationsverfahren zur Ermittlung der Parameter f x sta , f ± vls und J 1 durchgeführt und gleich- zeitig die zugehörige Temperatur gespeichert. So erhalt man für jede Achse für jeden Temperaturschritt den zugehörigen Parametersatz. Im Betrieb spater wird zyklisch für jede Achse der aktuelle Temperaturwert ausgelesen und daraufhin der dazugehörige Parametersatz online gesetzt.

Nach der vorstehend beschriebenen Berechnung der inneren

Drehmomentwerte entsprechend dem dynamischen Robotermodell werden die Bahnkorrekturwerte dann - wie bereits vorstehend erwähnt - aus den inneren Drehmomentwerten und den bekannten

äußeren Drehmomentwerten berechnet, wobei diese Berechnung im einfachsten Fall entsprechend einem einfachen Zusammenhang zwischen Drehmoment und Drehwinkel erfolgen kann, wenn man als Modell für die einzelnen Roboterachsen jeweils eine elas- tische Drehfeder nullter Ordnung zugrunde legt. Vorzugsweise werden die Bahnkorrekturwerte jedoch mittels eines P-Glieds, eines PTl-Glieds und/oder eines PT2-Glieds aus den inneren Drehmomentwerten berechnet, was eine optimale Modellierung ermöglicht .

In dem bevorzugten Ausführungsbeispiel der Erfindung werden die mit den Bahnkorrekturwerten korrigierten Achsenkoordinaten der einzelnen Bahnpunkte vor der Ansteuerung der achsenbezogenen Regler gefiltert, um die Achsenkoordinaten zu glät- ten. Bei dieser Filterung kann beispielsweise ein Mittelwert oder ein gewichteter Mittelwert gebildet werden. Weiterhin kann die Filterung durch ein phasenanhebendes Filter oder durch ein FIR-Filter (FIR: Finite Impulse Response) erfolgen. Andere mögliche Filtertypen zur Filterung der korrigierten Achsenkoordinaten vor der Ansteuerung der achsenbezogenen Regler sind Bandpassfilter oder Tiefpassfilter.

Ferner ist zu erwähnen, dass die Erfindung nicht auf das vorstehend beschriebene Steuerungsverfahren beschränkt ist, son- dern hardwarebezogen auch eine Robotersteuerung umfasst, die zur Ausführung dieses Steuerungsverfahrens geeignet und entsprechend eingerichtet ist.

Schließlich umfasst die Erfindung auch einen mehrachsigen Ro- boter, insbesondere einen Lackierroboter, der von einer derartigen Robotersteuerung entsprechend dem erfindungsgemäßen Steuerungsverfahren angesteuert wird.

Andere Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet oder werden nachstehend zusammen mit der Beschreibung des bevorzugten Ausführungsbeispiels der Erfindung anhand der Figuren näher erläutert. Es zeigen:

Figur 1 eine schematische Darstellung einer erfindungsgemäßen Robotersteuerung zur Ansteuerung eines mehrachsigen Lackierroboters,

Figuren 2A und 2B das erfindungsgemäße Steuerungsverfahren in Form eines Flussdiagramms,

Figur 3 die Recheneinheit der Robotersteuerung aus Figur 1 zur Berechnung der Bahnkorrekturwerte aus den inneren Drehmomentwerten,

Figur 4 ein Diagramm zur Berechnung der inneren Reibung in Abhängigkeit von der zeitlichen Ableitung der Achsenkoordinaten,

Figur 5 eine schematische Darstellung zur Bestimmung der Modellparameter des dynamischen Robotermodells im Rahmen eines Kalibrierungsprozesses,

Figur 6 eine Abwandlung der Darstellung aus Figur 5, bei der die Modellparameter in anderer Weise berechnet werden sowie

Figur 7 eine Abwandlung der Darstellung aus Figur 5, bei der eine Roboterachse zur Ermittlung der Modellparameter des dynamischen Robotermodells festgebremst wird.

Die Zeichnung in Figur 1 zeigt eine vereinfachte, schematische Darstellung einer erfindungsgemäßen Robotersteuerung zur Ansteuerung eines mehrachsigen Lackierroboters.

Hierbei werden die einzelnen Roboterachsen durch Antriebsmotoren 1 angetrieben, was an sich aus der bereits eingangs zitierten Patentanmeldung DE 103 42 471 Al bekannt ist.

Die Antriebsmotoren 1 in den einzelnen Roboterachsen werden hierbei von jeweils einem Achsregler 2 für die einzelnen Roboterachsen mit einem vorgegebenen Stromwert I angesteuert, wobei die unterstrichenen Werte hierbei und im Folgenden jeweils Vektoren kennzeichnen, die für die einzelnen Roboterachsen jeweils eine Komponente enthalten.

Weiterhin weist die erfindungsgemäße Robotersteuerung einen Bahninterpolator 3 auf, der als Eingangsgröße eine vorgegebene Roboterbahn durch mehrere Bahnpunkte erhält, wobei die einzelnen Bahnpunkte von dem Tool Center Point (TCP) des La- ckierroboters durchfahren werden sollen und jeweils durch einen dreidimensionalen Positionsvektor definiert werden, wobei die einzelnen Komponenten des Positionsvektors die Raumkoordinaten der Bahnpunkte in einem dreidimensionalen, kartesi- schen Koordinatensystem wiedergeben.

Der Bahninterpolator 3 rechnet die Raumkoordinaten der einzelnen Bahnpunkte der vorgegebenen Roboterbahn dann gemäß einer vorgegebenen inversen Roboterkinematik in Achsenkoordinaten um, welche die Stellung der einzelnen Roboterachsen des Lackierroboters in den jeweiligen Bahnpunkten der vorgegebenen Roboterbahn wiedergeben. Der Bahninterpolator gibt also einen mehrdimensionalen Positionsvektor θ aus, wobei die Anzahl der Dimensionen des Positionsvektors θ der Anzahl der Roboterachsen entspricht, so dass die einzelnen Komponenten

qi des Positionsvektors θ die Stellungen der einzelnen Roboterachsen des Lackierroboters in den jeweiligen Bahnpunkten wiedergeben.

Der Positionsvektor θ wird dann einer Recheneinheit 4 zugeführt, die die erste zeitliche Ableitung άθ/dt und die zweite zeitliche Ableitung ά(?/dt 2 des Positionsvektors θ berechnet, d.h. die Geschwindigkeit und die Beschleunigung in dem Achsenkoordinatensystem.

Weiterhin weist die Robotersteuerung ein in Software realisiertes dynamisches Robotermodell 5 auf, das aus dem achsenbezogenen Positionsvektor θ, der ersten zeitlichen Ableitung άθ/dt und der zweiten zeitlichen Ableitung d(?/dt 2 des Posi- tionsvektors θ einen Momentenvektor M berechnet, der aus der Summe aus dem äußeren Drehmoment M AUßEN und dem inneren Drehmoment M I N NEN besteht, wobei das innere Drehmoment MIN NE N die Reibung und Trägheit in den einzelnen Roboterachsen berücksichtigt und nach folgender Formel berechnet werden:

M INNEN ., = f, sta ■ sgn{q, )+ f vιs ■ q, + J 1 q,

Der Momentenvektor M =_MimEN + M AUBEN wird dann einer Recheneinheit 6 zugeführt, die aus dem Momentenvektor M einen Bahn- korrekturvektor δθ berechnet, der anschließend zur Bahnkorrektur verwendet wird, wie noch detailliert beschrieben wird. Der Bahnkorrekturvektor δθ wird hierbei nach folgender Formel aus dem Momentenvektor M berechnet:

M,

δθ,(s) = s 2 θ+s-D+K

Der unkorrigierte Positionsvektor θ wird dann zusammen mit dem Bahnkorrekturvektor δθ einem Addierer 7 zugeführt, der einen korrigierten Positionsvektor ß( 0RR berechnet, wobei der korrigierte Positionsvektor ß( 0RR dynamische Bahnabweichungen bei der Robotersteuerung kompensiert.

Der korrigierte Positionsvektor θκ 0RR wird dann einem Filter 8 zugeführt, das den Positionsvektor ß( 0RR filtert, um den Positionsvektor ß (0RR zu glätten. Das Filter 8 gibt also einen ge- glätteten Positionsvektor (t K om aus, wobei die einzelnen Komponenten des korrigierten und geglätteten Positionsvektors θ* KORR d en einzelnen Achsreglern 2 für die einzelnen Roboterachsen zugeführt werden.

Das Flussdiagramm in den Figuren 2A und 2B verdeutlicht das Betriebsverfahren der vorstehend beschriebenen Robotersteuerung.

In einem ersten Schritt Sl wird für den Bahninterpolator 3 eine Bahnkurve aus mehreren Bahnpunkten vorgegeben, die von dem Tool Center Point (TCP) des Lackierroboters nacheinander durchfahren werden sollen, wobei die einzelnen Bahnpunkte der vorgegebenen Bahnkurve durch kartesische Raumkoordinaten definiert sind.

Die Raumkoordinaten der einzelnen Bahnpunkte werden dann von dem Bahninterpolator 3 in einem Schritt S2 in entsprechende Achsenkoordinaten θ umgerechnet, wobei die Achsenkoordinaten die Stellung der einzelnen Roboterachsen in den einzelnen Bahnpunkten wiedergeben.

In einem weiteren Schritt S3 berechnet dann die Recheneinheit 4 die erste zeitliche Ableitung άθ/dt und die zweite zeitliche

Ableitung άtf/dt 2 des Positionsvektors θ in den Achsenkoordinaten.

Weiterhin wird in einem Schritt S4 die Umgebungstemperatur T gemessen, da das dynamische Robotermodell 5 temperaturabhängig ist, wie noch detailliert beschrieben wird.

Der Schritt S5 sieht dann vor, dass in Abhängigkeit von der zuvor gemessenen Umgebungstemperatur T dann Modellparameter des dynamischen Robotermodells 5 aus einem Parameterspeicher ausgelesen werden, wobei es sich bei den Modellparametern um eine statische Reibungskonstante .fi Sta , eine dynamische Reibungskonstante fi vis und eine Trägheitskonstante Ji handelt.

In einem Schritt S6 wird dann in dem dynamischen Robotermodell 5 das Gesamtmoment M als Summe aus dem inneren Moment M INNEN und dem äußeren Moment M AUBEN berechnet, um Reibung und Trägheit des Roboters zu berücksichtigen.

Schritt S7 sieht dann vor, dass das entsprechend dem dynamischen Robotermodell berechnete Gesamtmoment M entsprechend der Elastizität der Roboterachsen in entsprechende Bahnkorrekturwerte Aθ für die einzelnen Bahnpunkte in den Achsenkoordinaten umgerechnet wird.

In dem Schritt S8 werden dann die korrigierten Achsenkoordinaten θκ 0RR der einzelnen Bahnpunkte berechnet, indem der Addierer 7 die Bahnkorrekturwerte δθ zu den unkorrigierten Achsenkoordinaten θ addiert.

Weiterhin sieht der Schritt S9 vor, dass die korrigierten Achsenkoordinaten ^ Oflfl von dem Filter 8 zu Glättungszwecken gefiltert werden.

Ferner erfolgt in dem Schritt SlO eine Ansteuerung der einzelnen Achsregler 2 mit den korrigierten und gefilterten Achsenkoordinaten θ* KORR .

Schließlich erfolgt dann in Schritt Sil eine Regelung der einzelnen Antriebsmotoren 1 in den einzelnen Achsen durch die Achsregler 2.

Figur 3 zeigt ein Ausführungsbeispiel für die Recheneinheit 6 aus Figur 1, die aus dem Momentenvektor M den Bahnkorrekturvektor 4# berechnet. In diesem Ausführungsbeispiel besteht die Recheneinheit 6 aus einem P-Element 9, einem PTl-Element 10, einem PT2-Element 11 und einem Addierer 12, wobei das P- Element 9, das PTl-Element 10 und das PT2-Element 11 ein- gangsseitig den Momentenvektor M aufnehmen und ausgangsseitig mit dem Addierer 12 verbunden sind, der die Ausgangssignale des P-Elements 9 des PTl-Elements 10 und des PT2-Elements 11 addiert, um den Bahnkorrekturvektor δθ zu berechnen.

Das P-Element ist an sich aus dem Stand der Technik bekannt und wird auch als P-Glied bezeichnet. Das P-Element 9 weist also ein proportionales übertragungsverhalten auf.

Das PTl-Element 10 ist an sich ebenfalls aus dem Stand der

Technik bekannt und weist ein proportionales übertragungsverhalten mit einer Verzögerung erster Ordnung auf.

Schließlich ist auch das PT2-Element 11 aus dem Stand der Technik an sich bekannt und verfügt über ein proportionales übertragungsverhalten mit einer Verzögerung zweiter Ordnung.

Die einzelnen Komponenten δQx des Bahnkorrekturvektors δθ werden also von der Recheneinheit 6 nach folgender übertragungsfunktion berechnet:

M

δθ,(s) = s 2 -θ+s-D+K .

Figur 4 zeigt ein Diagramm zur Berechnung des inneren Moments M fr i in Abhängigkeit von der ersten zeitlichen Ableitung q der Achsenkoordinaten. Daraus ist ersichtlich, dass das Reib- moment M fr ± in einer Totzone um den Nullpunkt gesondert behandelt wird, indem die Werte des Reibmoments M fr ι c zwischen Anfang und Ende der Totzone linear interpoliert werden.

Figur 5 zeigt eine vereinfachte Darstellung zur Berechnung der vorstehend erwähnten Modellparameter des dynamischen Robotermodells. Hierbei ist exemplarisch nur eine einzige Roboterachse 13 mit einem Endeffektor 14 und einem Getriebean- schluss 15 dargestellt.

Der Getriebeanschluss 15 kann mittels eines Antriebsmotors über eine Anregungseinheit 16 transient, periodisch oder sto- chastisch angeregt werden.

An dem Endeffektor 14 wird dann von einer Messeinheit 17 die Auslenkung gemessen und an eine Auswertungseinheit 18 weitergeleitet, wobei die Auswertungseinheit 18 die gemessene Auslenkung des Endeffektors einer Fourieranalyse oder einer Korrelationsanalyse unterzieht, um das mechanische übertragungsverhalten der Roboterachse 13 zu berechnen.

Die Darstellung in Figur 6 stimmt weitgehend mit der Darstellung in Figur 5 überein, so dass zur Vermeidung von Wiederho-

lungen auf die vorstehende Beschreibung zu Figur 5 verwiesen wird.

Eine Besonderheit dieses Ausführungsbeispiels besteht darin, dass die Messeinheit 17 ausgangsseitig mit einer Bewertungseinheit 19 verbunden ist, die die gemessene Auslenkung mit einem Gütekriterium vergleicht und einen Korrekturansatz in einer Korrektureinheit 20 entsprechend anpasst. Die Korrektureinheit 20 ist wiederum mit einem Rechenmodell 21 verbun- den, welches das Gütekriterium in der Bewertungseinheit 19 beeinflusst .

Schließlich zeigt Figur 7 eine Abwandlung von Figur 5, wobei der Endeffektor 14 hierbei festgebremst wird. Die Anregungs- einheit 16 dreht den Antriebsmotor hierbei schrittweise weiter und misst dabei das Drehmoment an dem Antriebsmotor, um daraus die Federsteifigkeit der Achse 13 zu berechnen.

Die Erfindung ist nicht auf die vorstehend beschriebenen be- vorzugten Ausführungsbeispiels beschränkt. Vielmehr ist eine Vielzahl von Varianten und Abwandlungen möglich, die von dem Erfindungsgedanken Gebrauch machen und deshalb in den Schutzbereich fallen.

Bezugszeichenliste :

1 Antriebsmotoren

2 Achsregler

3 Bahninterpolator

4 Recheneinheit

5 Robotermodell

6 Recheneinheit

7 Addierer

8 Filter

9 P-Element

10 PTl-Element

11 PT2-Element

12 Addierer

13 Roboterachse

14 Endeffektor

15 Getriebeanschluss

16 Anregungseinheit

17 Messeinheit

18 Auswertungseinheit

19 Bewertungseinheit

20 Korrektureinheit

21 Rechenmodell

* * * * *