-
Die vorliegende Erfindung betrifft ein Verfahren zum Ermitteln eines Parameters einer Last mithilfe eines die Last tragenden Roboters, ein Verfahren zum Steuern des Roboters sowie ein System, Computerprogramm bzw. Computerprogrammprodukt zur Durchführung des entsprechenden Verfahrens.
-
Aus betriebsinterner Praxis ist es bekannt, einen Parameter einer robotergeführten Last zu ermitteln und diesen bei der Steuerung des lasttragenden Roboters zu berücksichtigen. Beispielsweise hängen elastische Verformungen von Robotergliedern und in Roboterantriebsgetrieben von der Masse einer robotergeführten Last ab, so dass solche Verformungen bzw. daraus resultierende Ablagen des Endeffektors bei Kenntnis der Lastmasse wenigstens teilweise kompensiert und dadurch die Genauigkeit des Roboters verbessert werden kann.
-
Die
DE 10 2019 204 564 A1 betrifft ein Verfahren zum Ermitteln eines Parameters einer auf einen Roboter wirkenden Kraft auf Basis wenigstens eines Gelenkmoments des Roboters in wenigstens einer Messpose des Roboters, wobei das Gelenkmoment auf Basis einer Differenz zwischen einer antriebs- und einer abtriebsseitigen Stellung eines Antriebsstrangs des Gelenks und/oder einer Differenz zwischen einer Messkonfiguration mit der auf den Roboter wirkenden Kraft und wenigstens einer vorab angefahrenen Referenzkonfiguration ohne diese auf den Roboter wirkenden Kraft ermittelt wird.
-
Die
DE 10 2017 003 993 B4 betrifft ein Verfahren zum Kalibrieren eines Roboters mit den Schritten: Anfahren eines Messpunktes mit einer roboterfesten Referenz, die ein Werkzeug oder ein Taster ist; Erfassen einer Ausgangspose des Roboters, in der der Messpunkt mit der Referenz angefahren ist; Entfernen der Referenz von dem Messpunkt; wobei der Roboter mit der Referenz beim Erfassen der Ausgangspose eine vorgegebene Referenzlast auf den Messpunkt ausübt und der Messpunkt nachgiebig ist; erneutes Anfahren des Messpunktes mit der roboterfesten Referenz; Erfassen einer Messpose des Roboters, in der dieser Messpunkt mit der Referenz angefahren ist, wobei der Roboter beim Erfassen der Messpose mit der Referenz die vorgegebene Referenzlast auf den Messpunkt ausübt; Vergleichen der Posen miteinander; und Rekalibrierung des Roboters.
-
Die
DE 10 2016 013 083 A1 betrifft ein Verfahren zum Kalibrieren eines Modells und/oder Betreiben eines Prozess-Roboters umfassen die Schritte: Beaufschlagen eines Kalibrier-Roboters mit einer Umgebungskontaktkraft und Ermitteln einer Kalibrierabweichung infolge des Beaufschlagens mit dieser Umgebungskontaktkraft; Beaufschlagen des Kalibrier-Roboters mit wenigstens einer weiteren Umgebungskontaktkraft und Ermitteln einer weiteren Kalibrierabweichung infolge des Beaufschlagens mit dieser Umgebungskontaktkraft in wenigstens zwei Kalibrierposen des Kalibrier-Roboters; und Kalibrieren eines Modells des Prozess-Roboters auf Basis dieser Posen, Umgebungskontaktkräfte und Kalibrierabweichungen; und/oder die Schritte: Ermitteln einer Prozesskontaktkraft; und Reduzieren einer Prozessabweichung des Prozess-Roboters infolge dieser Prozesskontaktkraft auf Basis eines, insbesondere derart, kalibrierten Modells des Prozess-Roboters für wenigstens eine Prozesspose.
-
Die
DE 11 2016 001 831 B4 betrifft ein Verfahren und eine Vorrichtung zur Steuerung/Regelung eines mittels eines Elektromotors angetriebenen Robotergelenks, wobei das Robotergelenk einen Stromsensor mit einer ersten Sensorelektronik zur Erfassung eines ersten Betriebsstroms des Elektromotors, einen ersten Positionssensor zur Erfassung einer Antriebsposition eines Antriebsstrangs des Robotergelenks, einen zweiten Positionssensor zur Erfassung einer Abtriebsposition eines Abtriebsstrangs des Robotergelenks, und einen ersten Drehmomentsensor zur Erfassung eines Drehmoments im Abtriebsstrang aufweist, wobei der Elektromotor auf Basis einer vorgegebenen Soll-Stellgröße gesteuert/geregelt wird.
-
Die
DE 10 2009 032 278 B4 betrifft ein Verfahren zum Betreiben eines Manipulators mit den Schritten: Bestimmen von Parametern eines positionsgenauen Manipulatormodells; Betreiben des Manipulators auf Basis des Manipulatormodells; wobei Parameter desselben Manipulatormodells mit verschiedenen Nennlasten bestimmt werden, und Parameter des Manipulatormodells, auf dessen Basis der Manipulator betrieben wird, in Abhängigkeit von einer Nutzlast des Manipulators vorgegeben werden.
-
Die
EP 2 324 966 B1 betrifft ein Verfahren zur Planung und/oder Steuerung einer Roboterapplikation auf Basis von System- und/oder Prozessparametern, mit den Schritten: Speichern von Parameterwerten; und Planen und/oder Steuern der Applikation auf Basis gespeicherter Parameterwerte, wobei Parameter mittels einer Graphenstruktur verwaltet werden, die einen oder mehrere Knoten, denen jeweils ein oder mehrere Parameter zugeordnet sind, und in-, sur- oder bijektive Relationen zwischen diesen Knoten umfasst wobei Parameter geclustert verwaltet werden, indem zwei oder mehr Parameter, die nur gemeinsam identifiziert werden, zu einem Knoten zusammengefasst werden.
-
Eine Aufgabe einer Ausführung der vorliegenden Erfindung ist es, einen Parameter einer Last mithilfe eines die Last tragenden Roboters zu ermitteln, insbesondere das Ermitteln und/oder einen Betrieb bzw. ein Steuern des Roboters zu verbessern.
-
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 bzw. 6 gelöst. Ansprüche 7, 8 stellen ein System bzw. Computerprogramm bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
-
Nach einer Ausführung der vorliegenden Erfindung weist ein Roboter, in einer Ausführung ein Roboterarm, mehrere, in einer Ausführung wenigstens drei, insbesondere wenigstens sechs, in einer Ausführung wenigstens sieben, Gelenke, in einer Ausführung Drehgelenke, auf. Nach einer Ausführung der vorliegenden Erfindung weist der Roboter entsprechende Antriebe zum Verstellen der Gelenke auf, wobei die Antriebe ihrerseits jeweils ein ein- oder mehrstufiges Getriebe und in einer Ausführung wenigstens einen in das jeweilige Getriebe ein- bzw. dieses antreibenden Motor, in einer Ausführung Elektromotor, aufweisen.
-
Nach einer Ausführung der vorliegenden Erfindung umfasst ein Verfahren zum Ermitteln eines ein - oder mehrdimensionalen Parameters einer Last, in einer Ausführung eines Werkzeugs oder Werkstücks, mithilfe des diese Last tragenden Roboters den Schritt:
- - Ermitteln des ein- oder mehrdimensionalen Parameters der Last auf Basis
- • getriebeeintriebsseitiger Gelenkkoordinatenwerte, die in einer ersten Stellung des Roboters ermittelt worden sind und daher im Folgenden ohne Beschränkung der Allgemeinheit auch als erste getriebeeintriebsseitige Gelenkkoordinatenwerte bezeichnet werden;
- • getriebeabtriebsseitiger Gelenkkoordinatenwerte, die in der ersten Stellung des Roboters ermittelt worden sind und daher im Folgenden ohne Beschränkung der Allgemeinheit auch als erste getriebeabtriebsseitige Gelenkkoordinatenwerte bezeichnet werden,
- • einer, in einer Ausführung von diesem Parameter abhängigen und/oder vorgegebenen, ersten Transformation zwischen getriebeeintriebsseitigen Gelenkkoordinaten und einer Pose einer roboterfesten Referenz und
- • einer, in einer Ausführung von diesem Parameter abhängigen und/oder vorgegebenen, zweiten Transformation zwischen getriebeabtriebsseitigen Gelenkkoordinaten und einer, insbesondere der, Pose der roboterfesten Referenz.
-
In einer Ausführung umfasst das Verfahren auch den (vorhergehenden) Schritt:
- - Ermitteln, in einer Ausführung, insbesondere messtechnisches, Erfassen, der (ersten) getriebeeintriebsseitigen Gelenkkoordinatenwerten und (ersten) getriebeabtriebsseitigen Gelenkkoordinatenwerten der Gelenke in der ersten Stellung des Roboters.
-
Unter getriebeeintriebsseitigen Gelenkkoordinatenwerten werden vorliegend insbesondere Gelenkkoordinatenwerte auf einer Eintriebs- bzw. Motorseite eines Getriebes verstanden, beispielsweise eine Dreh- bzw. Winkellage einer Getriebeeingangswelle oder dergleichen, unter getriebeabtriebsseitigen Gelenkkoordinatenwerten entsprechend in einer Ausführung Gelenkkoordinatenwerte auf einer Abtriebs- bzw. Ausgangsseite eines Getriebes, beispielsweise eine Dreh- bzw. Winkellage einer Getriebeabtriebs- bzw. -ausgangswelle oder dergleichen.
-
Eine Pose umfasst in einer Ausführung eine ein-, zwei- oder dreidimensionale Position und/oder eine ein-, zwei- oder dreidimensionale Orientierung der roboterfesten Referenz. Die roboterfeste Referenz umfasst in einer Ausführung einen Endeffektor bzw. TCP des Roboters, kann insbesondere hiermit identisch sein.
-
Einer Ausführung der vorliegenden Erfindung liegt folgende Idee zugrunde: insbesondere durch eine vorhergehende Kalibrierung, in einer Ausführung eines kinematischen bzw. dynamischen Modells des Roboters, kann eine Transformation, in einer Ausführung eine Vorwärtstransformation, ermittelt bzw. vorgegeben werden, die von einer vom Roboter geführten Last bzw. einem entsprechenden Parameter p abhängt und Gelenkkoordinaten und eine Pose der roboterfesten Referenz einander zuordnet, beispielsweise in der allgemeinen Form:
mit der Pose x der roboterfesten Referenz, den Gelenkkoordinaten q und der (Vorwärts)Transformation V.
-
Dabei können sowohl getriebeeintriebsseitige Gelenkkoordinaten q
e als auch getriebeabtriebsseitige Gelenkkoordinaten q
a verwendet werden, was jedoch aufgrund von Getriebeelastizitäten und dergleichen zu unterschiedlichen Transformationen führt:
-
Wie insbesondere hieraus erkennbar, kann der entsprechende Parameter p somit auf Basis der beiden Transformationen ermittelt werden. Anschaulich gesprochen wird in einer Ausführung diejenige Last bzw. derjenige Lastparameter ermittelt, für die bzw. den die beiden Transformationen V1, V2 mit den ermittelten getriebeein- und - abtriebsseitige Gelenkkoordinaten qe, qa dieselbe Pose ergeben.
-
In einer Ausführung wird der Parameter der Last (auch) auf Basis
- • getriebeeintriebsseitiger Gelenkkoordinatenwerte, die in einer oder mehreren weiteren Stellungen des Roboters ermittelt worden sind und daher im Folgenden ohne Beschränkung der Allgemeinheit entsprechend jeweils als weitere getriebeeintriebsseitige Gelenkkoordinatenwerte bezeichnet werden;
- • getriebeabtriebsseitiger Gelenkkoordinatenwerte, die in dieser bzw. diesen weiteren Stellung(en) des Roboters ermittelt worden sind und daher im Folgenden ohne Beschränkung der Allgemeinheit jeweils als weitere getriebeabtriebsseitige Gelenkkoordinatenwerte bezeichnet werden,
- • der ersten Transformation und
- • der zweiten Transformation
ermittelt.
-
In einer Ausführung umfasst das Verfahren den (vorhergehenden) Schritt:
- - Ermitteln, in einer Ausführung, insbesondere messtechnisches, Erfassen, der jeweiligen weiteren getriebeeintriebsseitigen Gelenkkoordinatenwerten und weiteren getriebeabtriebsseitigen Gelenkkoordinatenwerten der Gelenke in der bzw. den weiteren Stellung(en) des Roboters.
-
Analog zu obiger Notation lässt sich dies durch
mit den ersten getriebeeintriebsseitigen Gelenkkoordinatenwerten q
e,1, den ersten getriebeabtriebsseitigen Gelenkkoordinatenwerten q
,a1, den weiteren getriebeeintriebsseitigen Gelenkkoordinatenwerten q
e,2, q
e,3,... und den weiteren, getriebeabtriebsseitigen Gelenkkoordinatenwerten q
a,2, q
a,3,...darstellen.
-
Dadurch kann in einer Ausführung, in einer Weiterbildung mittels Mittelung, die Zuverlässigkeit verbessert werden.
-
In einer Ausführung wird der Parameter auf Basis
- - einer Differenz zwischen
- • einer auf Basis der ersten getriebeeintriebsseitigen Gelenkkoordinatenwerte und der ersten Transformation ermittelten Pose der roboterfesten Referenz und
- • einer auf Basis der ersten getriebeabtriebsseitigen Gelenkkoordinatenwerte und der zweiten Transformation ermittelten Pose der roboterfesten Referenz; und/oder
- - einer oder mehreren Differenzen zwischen (je)
- • einer auf Basis der in der bzw. einer der weiteren Stellung des Roboters ermittelten (weiteren) getriebeeintriebsseitigen Gelenkkoordinatenwerte und der ersten Transformation ermittelten Pose der roboterfesten Referenz und
- • einer auf Basis der in dieser weiteren Stellung des Roboters ermittelten (weiteren) getriebeabtriebsseitigen Gelenkkoordinatenwerte und der zweiten Transformation ermittelten Pose der roboterfesten Referenz
ermittelt.
-
Alternativ oder vorzugsweise zusätzlich wird der Parameter in einer Ausführung mithilfe wenigstens einer, gegebenenfalls gemeinsamen bzw. gleichzeitigen oder auch (jeweils) einzelnen, Minimierung, in einer Ausführung dieser Differenz(en), ermittelt, in einer Ausführung derart, dass die Differenz(en) für den Parameter, gegebenenfalls insgesamt bzw. gemeinsam oder auch jeweils bzw. einzeln, minimiert bzw. minimal wird bzw. werden.
-
Alternativ oder vorzugsweise zusätzlich wird der Parameter in einer Ausführung mithilfe wenigstens einer Mittelung, insbesondere von für verschiedene Stellungen des Roboters, in einer Ausführung mithilfe (jeweils) einer Minimierung, ermittelter Parameterwerte ermittelt.
-
In obiger Notation lässt sich das wie folgt erläutern:
- Min(V1(qe, p) - V2(qa, p)) ⇒ p (Ermittlung des Parameters mithilfe einer Minimierung und auf Basis wenigstens einer Differenz)
bzw.
- Min((V1(qe,1, p) - V2(qa,1, p), (V1(qe,2, p) - V2(qa,2, p),...) ⇒ p (Ermittlung des Parameters mithilfe einer gemeinsamen Minimierung (und auf Basis) mehrerer Differenzen)
bzw.
- Min(V1(qe,1, p) - V2(qa,1, p)) ⇒ p1; Min(V1(ge,2, p) - V2(qa,2, p)) ⇒ p2; ...; {p1, p2,...} ⇒ p (Ermittlung des Parameters mithilfe einzelner Minimierungen (und auf Basis) mehrerer Differenzen und mithilfe einer Mittelung)
-
Dabei können mehrere Differenzen gleichzeitig bzw. gemeinsam beispielsweise durch Minimierung ihrer, gegebenenfalls gewichteten, Beträge, Quadratsummen oder dergleichen minimiert werden:
oder dergleichen. Gleichermaßen kann, wie vorstehende angedeutet, auch für die erste und weitere(n) Stellung(en) jeweils, insbesondere mithilfe einer Minimierung der Differenz, ein Wert des Parameters ermittelt und der Parameter mithilfe einer Mittelung aus diesen Parameter(einzel)werten ermittelt werden.
-
Durch die Ermittlung auf Basis einer oder mehrerer Differenzen und/oder mithilfe wenigstens einer Minimierung kann in einer Ausführung die Ermittlung verbessert, insbesondere vereinfacht und/oder beschleunigt, werden. Durch die Ermittlung mithilfe wenigstens einer Mittelung kann in einer Ausführung die Zuverlässigkeit verbessert werden.
-
In einer Ausführung ist, in einer Weiterbildung wird, die erste Transformation und/oder die zweite Transformation vorab mit verschiedenen Stellungen des Roboters und/oder mithilfe einer roboterexternen Messvorrichtung und/oder mithilfe einer oder mehreren bekannten robotergeführten Kalibrierlast(en) ermittelt bzw., insbesondere in Abhängigkeit von der jeweiligen robotergeführten Last bzw. dem dieser entsprechenden Parameter, vorgegeben (worden), in einer Ausführung im Rahmen einer Kalibrierung des Roboters. In einer vorteilhaften Weiterbildung sind dabei diese verschiedenen Stellungen über den Arbeitsraum des Roboters und/oder diese mehreren robotergeführten Kalibrierlasten über den möglichen Lastbereich des Roboters verteilt, vorzugsweise derart, dass sie den gesamten Arbeitsraum bzw. Lastbereich abdecken bzw. in diesem, in einer Ausführung gleichmäßig, verteilt sind.
-
Dadurch kann in einer Ausführung die Genauigkeit verbessert werden.
-
In einer Ausführung hängt der Parameter von einer Masse und/oder Schwerpunktlage der Last, vorzugsweise relativ zur roboterfesten Referenz, ab, kann diese insbesondere angeben.
-
Für diese Lastgrößen ist die vorliegende Erfindung besonders geeignet, da sie Verformungen der Getriebe signifikant beeinflussen.
-
Nach einer Ausführung der vorliegenden Erfindung umfasst ein Verfahren zum Steuern des Roboters die Schritte:
- - Ermitteln eines Parameters einer von dem Roboter getragenen Last mithilfe eines hier beschriebenen Verfahrens; und
- - Steuern des Roboters auf Basis des ermittelten Parameters, in einer Weiterbildung zur wenigstens teilweisen Kompensation von durch die Last verursachten elastischen Verformungen des lastführenden Roboters und/oder auf Basis eines Modells des lastführenden Roboters, das mit dem ermittelten Parameter parametriert ist.
-
Wie aus obiger Notation klar wird, können beispielsweise bei ermitteltem bzw. (nun) bekanntem Lastparameter p
ist für ermittelte Gelenkkoordinatenwerte die Pose der roboterfesten Referenz ermittelt und/oder umgekehrt für eine, insbesondere gewünschte, Pose die entsprechenden (erforderlichen bzw. diese realisierenden) Gelenkkoordinatenwerte ermittelt werden:
-
Dadurch kann in einer Ausführung der Betrieb, insbesondere die Genauigkeit, verbessert werden.
-
Nach einer Ausführung der vorliegenden Erfindung ist ein System, insbesondere hard- und/oder software-, insbesondere programmtechnisch, zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist auf:
- Mittel zum Ermitteln eines ein- oder mehrdimensionalen Parameters der Last auf Basis der ermittelten, insbesondere ersten und gegebenenfalls weiteren, getriebeeintriebsseitigen Gelenkkoordinatenwerte, der ermittelte, insbesondere ersten und gegebenenfalls weiteren, getriebeabtriebsseitigen Gelenkkoordinatenwerte, einer ersten Transformation zwischen getriebeeintriebsseitigen Gelenkkoordinaten und einer Pose einer roboterfesten Referenz und einer zweiten Transformation zwischen getriebeabtriebsseitigen Gelenkkoordinaten und einer bzw. der Pose der roboterfesten Referenz.
-
In einer Ausführung weist das System bzw. sein(e) Mittel auf:
- Mittel zum Ermitteln der, insbesondere ersten und gegebenenfalls weiteren, getriebeeintriebsseitigen Gelenkkoordinatenwerte und der, insbesondere ersten und gegebenenfalls weiteren, getriebeabtriebsseitigen Gelenkkoordinatenwerte der Gelenke in der ersten bzw. gegebenenfalls weiteren Stellung(en) des Roboters; und/oder
- Mittel zum Ermitteln des Parameters mithilfe wenigstens einer Minimierung und/oder Mittelung und/oder auf Basis wenigstens einer Differenz zwischen einer auf Basis der getriebeeintriebsseitigen Gelenkkoordinatenwerte und der ersten Transformation ermittelten Pose der roboterfesten Referenz und einer auf Basis der getriebeabtriebsseitigen Gelenkkoordinatenwerte und der zweiten Transformation ermittelten Pose der roboterfesten Referenz; und/oder
- Mittel zum Ermitteln der ersten und/oder zweiten Transformation vorab mit verschiedenen Stellungen des Roboters und/oder mithilfe einer roboterexternen Messvorrichtung und/oder wenigstens einer bekannten robotergeführten Kalibrierlast; und/oder
- Mittel zum Steuern des Roboters auf Basis des ermittelten Parameters.
-
Zur kompakteren Darstellung wird vorliegend auch ein Regeln als Steuern des Roboters bezeichnet.
-
Ein System und/oder ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere wenigstens eine, vorzugsweise mit einem Speicher- und/oder Bussystem daten- bzw. signalverbundene, insbesondere digitale, Verarbeitungs-, insbesondere Mikroprozessoreinheit (CPU), Graphikkarte (GPU) oder dergleichen, und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die Verarbeitungseinheit kann dazu ausgebildet sein, Befehle, die als ein in einem Speichersystem abgelegtes Programm implementiert sind, abzuarbeiten, Eingangssignale von einem Datenbus zu erfassen und/oder Ausgangssignale an einen Datenbus abzugeben. Ein Speichersystem kann ein oder mehrere, insbesondere verschiedene, Speichermedien, insbesondere optische, magnetische, Festkörper- und/oder andere nicht-flüchtige Medien aufweisen. Das Programm kann derart beschaffen sein, dass es die hier beschriebenen Verfahren verkörpert bzw. auszuführen imstande ist, sodass die Verarbeitungseinheit die Schritte solcher Verfahren ausführen kann und damit insbesondere den Parameter ermitteln bzw. Roboter steuern kann. Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere computerlesbares und/oder nicht-flüchtiges, Speichermedium zum Speichern eines Programms bzw. von Anweisungen bzw. mit einem darauf gespeicherten Programm bzw. mit darauf gespeicherten Anweisungen aufweisen, insbesondere sein. In einer Ausführung veranlasst ein Ausführen dieses Programms bzw. dieser Anweisungen durch ein System bzw. eine Steuerung, insbesondere einen Computer oder eine Anordnung von mehreren Computern, das System bzw. die Steuerung, insbesondere den bzw. die Computer, dazu, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen, bzw. sind das Programm bzw. die Anweisungen hierzu eingerichtet.
-
In einer Ausführung werden ein oder mehrere, insbesondere alle, Schritte des Verfahrens vollständig oder teilweise automatisiert durchgeführt, insbesondere durch das System bzw. sein(e) Mittel.
-
In einer Ausführung weist das System den Roboter auf.
-
Die erste und/oder zweite Transformation kann in einer Ausführung als Funktion, tabellarisch oder dergleichen vorgegeben, insbesondere abgespeichert, sein. Beispielsweise können zu verschiedenen Roboterstellungen und verschiedenen (Kalibrier)Lasten jeweils Posen abgespeichert sein. Gleichermaßen können zum Beispiel für verschiedene Roboterstellungen und verschiedenen (Kalibrier)Lasten jeweils Kompensations- bzw. Korrekturwerte vorgegeben sein, mit denen ein Modell des unverformten Roboters korrigiert wird. Dem Fachmann sind diesbezüglich unterschiedlichste lastabhängige Transformationen zwischen Gelenkkoordinaten und einer Pose einer roboterfesten Referenz bekannt, so dass hierauf nicht weiter einzugehen ist.
-
In einer Ausführung wird das Verfahren zum Ermitteln des Parameters der Last während einer Applikation des Roboters durchgeführt, bei der der Roboter die Last trägt, in einer Ausführung (wenigstens) bei Beginn der Applikation. Alternativ oder zusätzlich, insbesondere während der Applikation, wird in einer Ausführung das Verfahren mehrfach durchgeführt.
-
Hierdurch kann in einer Ausführung die Applikation bzw. Zuverlässigkeit und/oder Sicherheit verbessert werden.
-
Alternativ oder zusätzlich, insbesondere während der Applikation, wird in einer Ausführung das Verfahren bei, insbesondere temporär während der Applikation, stillstehendem Roboter durchgeführt.
-
Dadurch kann in einer Ausführung die Genauigkeit und/oder Sicherheit verbessert werden.
-
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
- 1: ein System nach einer Ausführung der vorliegenden Erfindung;
- 2: einen Teil eines Roboters des Systems; und
- 3: ein Verfahren nach einer Ausführung der vorliegenden Erfindung.
-
1 zeigt ein System nach einer Ausführung der vorliegenden Erfindung mit einem Roboter 1, einer Robotersteuerung 2 und einer roboterexternen Messvorrichtung 3.
-
Der Roboter 1 weist sechs Glieder auf, die in Gelenken i=1,...,6 paarweise miteinander verbunden sind. Er führt eine Last L, beispielsweise ein Werkzeug oder Werkstück.
-
2 zeigt exemplarisch zwei benachbarte, in bzw. durch ein(em) Gelenk i verbundene, Glieder (i-1), i des Roboters, einen Antrieb mit einem Motor M und einem Getriebe G zum Verstellen dieses Gelenks sowie Sensoren S1, S2 zum Erfassen getriebeeintriebsseitiger Gelenkkoordinatenwerte qi,e und getriebeabtriebsseitiger Gelenkkoordinatenwerte qi,a dieses Gelenks. Die getriebeein- bzw. -abtriebsseitigen Gelenkkoordinatenwerte aller Gelenke i=1,... ,6 in einer Stellung j des Roboters 1 werden in obiger Notation als qe,j = [q1,e,j, q2,e,j,... q6,ej]T, qa,j = [q1,a,j, q2,a,j,... q6,a,j]T zusammengefasst.
-
In einem ersten Schritt S10 (vgl. 3) wird bzw. ist vorab mit verschiedenen Stellungen des Roboters 1 und verschiedenen bekannten robotergeführten Kalibrierlasten mithilfe der roboterexternen Messvorrichtung 3 eine erste Transformation x = V1(qe, p) und eine zweite Transformation x = V2(qa, p) ermittelt (worden). Hierzu erfasst die, Messvorrichtung 3 in der jeweiligen Stellung die Pose der jeweiligen robotergeführten Kalibrierlast, die Steuerung 2 mithilfe der Sensoren, von denen für das Gelenk i die Sensoren S1, S2 angedeutet sind, die jeweiligen getriebeein- bzw. -abtriebsseitigen Gelenkkoordinatenwerte. Aus diesen Datentupeln {xmess, Stellung s, pKalibirierlast k, qe/a} können die Transformationen V1(qe, p), V2(qa, p) in an sich bekannter Weise ermittelt bzw. vorgegeben werden.
-
Nun wird in einem Schritt S20 mit der unbekannten robotergeführten Last L eine erste Stellung des Roboters 1 angefahren und in dieser die getriebeein- und -abtriebsseitigen Gelenkkoordinatenwerte qe,1, qa,1 ermittelt.
-
In einem optionalen, gegebenenfalls mehrfach wiederholten Schritt S30 können mit der unbekannten robotergeführten Last L (jeweils) eine weitere Stellung des Roboters 1 angefahren und in dieser (jeweils) die getriebeein- und -abtriebsseitigen Gelenkkoordinatenwerte qe,j, qa,j , j=2,... ermittelt werden.
-
In einem Schritt S40 wird derjenige Parameter p
ist = [m, r
x, r
y, r
z] mit der Masse m und der Schwerpunktlage [r
x, r
y, r
z] ermittelt, für den die Differenz
bzw.
minimal wird bzw. ist. Gleichermaßen kann auch für jede der Stellungen j=1, 2,... jeweils mithilfe einer Minimierung ein Parameterwert und der Parameter hieraus mithilfe einer Mittelung ermittelt werden:
-
Mit diesem ermittelten Parameter p
ist wird in einem Schritt S50 anschließend der Roboter 1 gesteuert, beispielsweise für eine gewünschte Pose x
d die erforderlichen Motorwinkel
-
Bezugszeichenliste
-
- 1
- Roboter
- 2
- Steuerung
- 3
- roboterexterne Messvorrichtung
- G
- Getriebe
- qi,a
- getriebeabtriebsseitige(r) Gelenkkoordinate(nwert)
- qi,e
- getriebeeintriebsseitige(r) Gelenkkoordinate(nwert)
- L
- robotergeführte Last (Werkzeug; Werkstück)
- M
- Motor