-
Die Erfindung betrifft ein Verfahren zum Kalibrieren eines virtuellen Kraftsensors eines Robotermanipulators sowie ein Robotersystem mit einem Roboterarm und mit einer Steuereinheit zum Anwenden dieser Kablibrierung.
-
Im Stand der Technik sind eine Vielzahl von Robotersystemen und entsprechende Verfahren zum Steuern der Robotersysteme bekannt.
-
Die
DE 20 2019 102 430 U1 betrifft dazu ein Robotersystem aufweisend einen Robotermanipulator und eine mit dem Robotermanipulator verbundene Recheneinheit, wobei der Robotermanipulator eine Vielzahl von durch Gelenke miteinander verbundenen Gliedern aufweist und wobei ein jeweiliges der Gelenke einen Drehmomentsensor aufweist, wobei der jeweilige Drehmomentsensor zum Erfassen eines jeweiligen Moments zwischen den jeweiligen beiden am jeweiligen Gelenk anliegenden Gliedern des Robotermanipulators und zum Übermitteln des jeweiligen erfassten Moments an die Recheneinheit ausgeführt ist, wobei die Recheneinheit dazu ausgeführt ist: Einen Vektor aus den erfassten Momenten mit erwarteten Momenten zu einem Vektor aus externen Momenten zu kompensieren, eine vorgegebene Jacobimatrix zu faktorisieren und unterhalb eines vorgegebenen Invertierbarkeitsmaßes liegende Elemente aus zumindest einem der Faktoren zu identifizieren, die identifizierten Elemente des zumindest einen Faktors auf einen vorgegebenen Wert zu setzen zum Erzeugen von modifizierten Faktoren, aus den modifizierten Faktoren eine modifizierte Pseudoinverse einer Transponierten der Jacobimatrix zu ermitteln, den Vektor der externen Momente mittels der modifizierten Pseudoinversen in einen Vektor eines externen Kraftwinders zu transformieren, und ein Steuerprogramm auf Basis des externen Kraftwinders auszuführen und Aktuatoren des Robotermanipulators anhand des Steuerprogramms anzusteuern.
-
Die
DE 10 2015 205 176 B3 betrifft ein Verfahren zum Steuern eines Manipulators, insbesondere eines Gelenkarmroboters, aufweisend: Erkennen eines Freigabewunsches basierend auf einer Kraftausübung auf den Manipulator durch eine Bedienperson; und Freigeben des Manipulators in Reaktion auf das Erkennen des Freigabewunsches; wobei das Erkennen des Freigabewunsches ein Überwachen des Verlaufs zumindest eines einen Zustand des Manipulators charakterisierenden Messwerts umfasst; wobei der zumindest eine einen Zustand des Manipulators charakterisierende Messwert ein Drehmoment des Manipulators umfasst und/oder eine Position des Manipulators umfasst; wobei das Erkennen des Freigabewunsches ein Erkennen, dass eine Differenz zwischen einem gemessenen Drehmoment und einem Referenzdrehmoment bzw. zwischen einer gemessenen Position und einer Referenzposition eine vorgegebene Fehlerschranke betragsmäßig überschreitet umfasst; wobei das Referenzdrehmoment bzw. die Referenzposition durch einen Mittelwert von zuvor gemessenen Drehmomenten bzw. Positionen berechnet wird, oder wobei das Referenzdrehmoment bzw. die Referenzposition durch einen Snapshot-Messwert gebildet wird.
-
Die
DE 10 2015 012 959 B4 betrifft ein Robotersystem mit zumindest einem Roboterarm, einer Steuereinheit zur Steuerung des Roboterarms und einer Roboterarm-Sensorik, wobei die Steuerung und Roboterarm-Sensorik so ausgelegt sind, dass sie auf vorherbestimmte, über Berührung durch einen Benutzer aufbringbare Kräfte und Momente, die auf den Roboterarm wirken, so reagieren, dass das Robotersystem mindestens eine vorherbestimmte Operation ausführt, die diesen Kräften und Momenten zugeordnet ist, wobei die Kräfte und Momente einer Steuerung auf der graphischen Benutzeroberfläche einer Anzeigevorrichtung des Robotersystems zugeordnet sind.
-
Die
DE 10 2015 009 151 A1 betrifft ein Verfahren zum automatisierten Ermitteln eines Eingabebefehls für einen Roboter, der durch manuelles Ausüben einer externen Kraft auf den Roboter eingegeben wird, wobei der Eingabebefehl auf Basis desjenigen Anteils von durch die externe Kraft aufgeprägten Gelenkkräften ermittelt wird, der eine Bewegung des Roboters nur in einem für diesen Eingabebefehl spezifischen Unterraum des Gelenkkoordinatenraums des Roboters zu bewirken sucht.
-
Die
DE 10 2013 019 450 A1 betrifft ein Verfahren zum Vermeiden einer Kollision eines wenigstens zwei Bewegungsachsen aufweisenden Roboters mit einem vom Roboter unterschiedlichen Objekt, mit den Schritten: - Erfassen wenigstens eines eine auf den Roboter an einer ersten der Bewegungsachsen wirkende Kraft charakterisierenden ersten Werts mittels zumindest eines ersten Sensors, - Erfassen wenigstens eines eine auf den Roboter an der zweiten Bewegungsachse wirkende Kraft charakterisierenden zweiten Werts mittels zumindest eines zweiten Sensors, - Beziehen der Werte auf wenigstens einen in einem kartesischen Koordinatensystem liegenden Punkt, - Aufsummieren der auf den Punkt (P1 = bezogenen Werte, - Vermeiden der Kollision, wenn die Summe der aufsummierten Werte einen vorgebbaren Schwellenwert überschreitet.
-
Und die
DE 10 2013 010 290 A1 betrifft ein Verfahren zum Überwachen eines kinematisch redundanten Roboters, mit den Schritten: Erfassen von Gelenkkräften, die in Gelenken des Roboters wirken; Ermitteln von einer externen Wirkkraft zwischen einer roboterfesten Referenz und einer Umgebung auf Basis der erfassten Gelenkkräfte; Ermitteln von einer weiteren Überwachungsgröße, die wenigstens im Wesentlichen unabhängig von einer auf die roboterfeste Referenz wirkenden externen Kraft ist, auf Basis der erfassten Gelenkkräfte; und Überwachen der ermittelten externen Wirkkraft und der ermittelten weiteren Überwachungsgröße.
-
Aufgabe der Erfindung ist es, das Ausführen eines virtuellen Kraftsensors an einem Robotermanipulator bzw. Roboterarm zu verbessern.
-
Die Erfindung ergibt sich aus den Merkmalen der unabhängigen Ansprüche. Vorteilhafte Weiterbildungen und Ausgestaltungen sind Gegenstand der abhängigen Ansprüche.
-
Ein erster Aspekt der Erfindung betrifft ein Verfahren zum Kalibrieren eines virtuellen Kraftsensors eines Robotermanipulators, wobei der virtuelle Kraftsensor zum Ermitteln eines auf den Robotermanipulator wirkenden externen Kraftwinders auf Basis von durch Drehmomentsensoren in Gelenken des Robotermanipulators ermittelten Momenten dient, wobei der Robotermanipulator in eine Vielzahl von Posen verfahren oder manuell geführt wird und in jeder der Posen die folgenden Schritte ausgeführt werden:
- - Aufbringen eines jeweiligen vorgegebenen externen Kraftwinders auf den Robotermanipulator,
- - Ermitteln einer jeweiligen Schätzung des externen Kraftwinders auf Basis einer Invertierten oder Pseudoinvertierten der Transponierten der für die aktuelle Pose geltenden Jacobimatrix und auf Basis eines Vektors externer Drehmomente, wobei der Vektor externer Drehmomente auf Basis der durch die Drehmomentsensoren in den Gelenken des Robotermanipulators ermittelten Momente und auf Basis von auf den Robotermanipulator wirkenden erwarteten Momenten ermittelt wird,
- - Ermitteln einer jeweiligen Kostenfunktion auf Basis einer Norm einer Differenz aus der ermittelten Schätzung des externen Kraftwinders und dem vorgegebenen externen Kraftwinder oder auf Basis einer Differenz einer Norm der ermittelten Schätzung des externen Kraftwinders und einer Norm des vorgegebenen externen Kraftwinders,
- - Ermitteln einer jeweiligen Kalibrierfunktion durch Minimieren der jeweiligen Kostenfunktion, wobei die Kalibrierfunktion zum Anpassen eines im späteren Betrieb aktuell ermittelten externen Kraftwinders dient, und
- - Abspeichern der jeweiligen Kalibrierfunktion in einen Datensatz aller Kalibrierfunktionen unter Zuordnung der jeweiligen Kalibrierfunktion zu der jeweiligen Pose, für die die jeweilige Kalibrierfunktion ermittelt wurde.
-
Eine Pose des Robotermanipulators gibt dabei insbesondere die Gesamtheit der Positionen und der Orientierungen aller Glieder einschließlich eines Endeffektors, sofern vorhanden, des Robotermanipulators an. Sind die vollständigen Informationen über eine Pose bekannt, kann der Robotermanipulator durch alle Antriebe insbesondere an seinen Gelenken in eine eindeutige „Haltung“ verfahren werden.
-
Ein externer Kraftwinder gibt Kräfte und/oder Momente an, die von der Umgebung ausgehend auf den Robotermanipulator und umgekehrt wirken, wobei der externe Kraftwinder im Allgemeinen drei Komponenten für Kräfte und drei Komponenten für Momente aufweist. Bevorzugt ist der vorgegebene externe Kraftwinder über alle Posen des Robotermanipulators der gleiche Kraftwinder, das heißt konstant. Alternativ bevorzugt ist für zumindest zwei der Posen ein unterschiedlicher Kraftwinder vorgesehen, was vorteilhaft auch solchen Posen Rechnung trägt, die bei einem konstanten Kraftwinder sich zumindest zum Teil singulär verhalten würden, das heißt, dass in zumindest manchen der die Glieder verbindenden Gelenken des Robotermanipulators eine externe Kraft des Kraftwinders, ohne ein Moment im Gelenk zu erzeugen, linear durch dieses Gelenk in Richtung des nächstliegenden proximalen Gliedes geleitet wird. Ein Beispiel für eine solche singuläre Pose ist, wenn alle Glieder des Robotermanipulators auf einer gemeinsamen Geraden ausgerichtet sind und der externe Kraftwinder nur einen Kraftvektor in Richtung eben genau dieser gemeinsamen Geraden zur Basis des Robotermanipulators aufweist.
-
Während dieser externe Kraftwinder auf den Robotermanipulator aufgebracht wird, wird durch den virtuellen Kraftsensor eine Schätzung dieses externen Kraftwinders ermittelt. Dies erfolgt mithilfe von insbesondere, aber nicht notwendigerweise ausschließlich, an den Gelenken angeordnet Drehmomentsensoren. Die Drehmomentsensoren an den Gelenken sind aus der Vielzahl der im Stand der Technik bekannten Drehmomentsensoren auswählbar. Insbesondere sind die Drehmomentsensoren mechanische Drehmomentsensoren, in denen eine Dehnung eines flexibel elastischen Materials, beispielsweise in Speichen des jeweiligen Drehmomentsensors, erfasst wird, wobei durch Kenntnis der Materialkonstanten auf ein anliegendes Moment geschlossen werden kann. Weiterhin insbesondere möglich ist es, eine in einem elektrischen Motor vorliegende Stromstärke zu messen und von diesem auf ein im Gelenk vorliegendes Moment zu schließen. Das so erfasste jeweilige Moment in einem Gelenk setzt sich typischerweise aus einer Vielzahl von Ursachen zusammen. Ein erster Teil des Moments ergibt sich im Falle einer Bewegung des Robotermanipulators aus den kinematischen Kräften und Momenten, insbesondere der Coriolisbeschleunigung sowie der Zentrifugalbeschleunigung. Ein weiterer Teil des gemessenen Moments ist, unabhängig von der Bewegung des Robotermanipulators, einem Schwerkrafteinfluss zuzurechnen.
-
Während an den Gelenken durch die Drehmomentsensoren die Momente insbesondere direkt oder indirekt durch eine Messung erfasst werden, so führen diese durch Schwerkrafteinfluss und kinematisch verursachten Kräfte und Momente zu den erwarteten Momenten. Das heißt, abhängig von der aktuellen Bewegungsgeschwindigkeit, von der aktuellen Beschleunigung des Robotermanipulators, und von der Masseverteilung und der aktuellen Pose des Robotermanipulators (Schwerkrafteinfluss) können diese Momente an den Drehmomentsensoren des Robotermanipulators der Theorie nach als erwartete Momente ermittelt werden und von den gemessenen Momenten an den jeweiligen Drehmomentsensoren abgezogen werden. Dies erfolgt bevorzugt in einem Impulsbeobachter, dessen Ergebnis die externen Momente sind.
-
Um von den so ermittelten externen Momenten auf eine Schätzung des vorgegebenen externen Kraftwinders mit seinem aktuellen Bezugspunkt zu schließen, ist die (Pseudo-)inverse der Transponierten der Jacobimatrix erforderlich. Die Pseudoinverse (anstelle der Inversen selbst) ist insbesondere dann erforderlich, wenn es sich bei dem Robotermanipulator um einen redundanten Manipulator handelt, das heißt, dass zumindest zwei der die Glieder verbindenden Gelenke zueinander redundante Freiheitsgrade aufweisen. In einem redundanten Robotermanipulator können insbesondere Glieder des Robotermanipulators bewegt werden, ohne dass sich eine Orientierung und/oder eine Position des Endeffektors des Robotermanipulators verändern würde.
-
Die Jacobimatrix verknüpft grundsätzlich die Winkelgeschwindigkeiten an den Gelenken zu der translatorischen und rotatorischen Geschwindigkeit an einem beliebigen Punkt, insbesondere an einem distalen Ende des Robotermanipulators. Prinzipiell ist es jedoch unerheblich, ob tatsächlich Geschwindigkeiten betrachtet werden; so kann die Jacobimatrix auch für den Zusammenhang zwischen den Momenten an den Gelenken und den Kräften und Momenten an dem jeweiligen beliebigen Punkt verwendet werden. Die Transponierte der Jacobimatrix J, nämlich J
T, vermittelt zwischen dem externen Kraftwinder F
ext zu dem Vektor der ermittelten externen Drehmomente τ
ext wie folgt:
-
Nach Umstellung dieser Gleichung mit Hilfe der (Pseudo)inversen der Transponierten von J, bezeichnet als (J
T)
# , gilt für die Schätzung des externen Kraftwinders F
ext,est auf Basis des Vektors der ermittelten externen Drehmomente τ
ext :
-
Die Richtung und der Betrag des vorgegebenen externen Kraftwinders sind per Definition bekannt, da der bekannte Betrag der Vorgabe der externen Kraftwinder auch aufgebracht wird. Mit obiger Rechnung ist auch die Schätzung des externen Kraftwinders in jeder einzelnen Pose des Robotermanipulators, in der ein externer Kraftwinder aufgebracht wird, bekannt. Hierauf erfolgt das Ermitteln einer jeweiligen Kostenfunktion auf Basis einer Norm einer Differenz aus der ermittelten Schätzung des externen Kraftwinders und dem vorgegebenen externen Kraftwinder oder auf Basis einer Differenz einer Norm der ermittelten Schätzung des externen Kraftwinders und einer Norm des vorgegebenen externen Kraftwinders.
-
Im ersten Fall, nämlich wenn das Ermitteln einer jeweiligen Kostenfunktion auf Basis einer Norm einer Differenz aus der ermittelten Schätzung des externen Kraftwinders und dem vorgegebenen externen Kraftwinder erfolgt, wird eine Kostenfunktion K nach folgendem Schema ermittelt:
-
Im zweiten Fall, nämlich wenn das Ermitteln einer jeweiligen Kostenfunktion auf Basis einer Differenz einer Norm der ermittelten Schätzung des externen Kraftwinders und einer Norm des vorgegebenen externen Kraftwinders erfolgt, wird eine Kostenfunktion nach dem folgendem Schema ermittelt:
-
Während der erste Fall für den allgemeinen Fall von mehreren Komponenten von Kräften und/oder Momenten im externen Kraftwinder bevorzugt verwendet wird, eignet sich der zweite Fall insbesondere für die Betrachtung einer einzelnen Komponente, insbesondere dann, wenn der vorgegebene externe Kraftwinder in die immer gleiche Richtung zeigt, was insbesondere beim Anhängen einer externen Last mit vorgegebener Masse der Fall ist.
-
Ferner folgt das Ermitteln einer jeweiligen Kalibrierfunktion durch Minimieren der jeweiligen Kostenfunktion, wobei die Kalibrierfunktion zum Anpassen eines im späteren Betrieb aktuell ermittelten externen Kraftwinders dient, das heißt, Ziel ist die Lösung der Vorschrift min K (x) nach den Variablen und/oder Parametern x der Kalibrierfunktion.
-
Bevorzugt erfolgen die Schritte des Ermittelns einer Schätzung des externen Kraftwinders, des Ermittelns einer jeweiligen Kalibrierfunktion durch Ermitteln einer jeweiligen Kostenfunktion und Minimieren dieser, und des Abspeicherns der jeweiligen Kalibrierfunktion jeweils durch eine Recheneinheit. Die Recheneinheit ist insbesondere mit dem Robotermanipulator verbunden. Besonders bevorzugt ist die Recheneinheit am Robotermanipulator selbst, insbesondere an einem Sockel oder einer Basis des Robotermanipulators, angeordnet.
-
Es ist eine vorteilhafte Wirkung der Erfindung, dass anstelle der Kalibrierung jedes einzelnen der Drehmomentsensoren des Robotermanipulators die Gesamtheit aller Drehmomentsensoren in ihrer Funktion als virtueller Kraftsensor unter Berücksichtigung der erwarteten Momente auf den Robotermanipulator posenabhängig kalibriert werden, und somit alle Unsicherheiten in der Masseverteilung des Robotermanipulators, Eigenheiten der Drehmomentsensoren und andere Effekte allesamt berücksichtigt werden. Durch den Datensatz aller Kalibrierfunktionen ist es somit möglich, eine für eine bestimmte Pose des Robotermanipulators individuelle Kalibrierung auf den virtuellen Kraftsensor des Robotermanipulators anzuwenden.
-
Gemäß einer vorteilhaften Ausführungsform erfolgt das Aufbringen des vorgegebenen externen Kraftwinders auf den Robotermanipulator an einem distalen Ende des Robotermanipulators. Am distalen Ende des Robotermanipulators ist bevorzugt ein Endeffektor angeordnet. Da Kontaktkräfte des Robotermanipulators, abgesehen von unerwarteten Kollisionen, typischerweise zwischen dem Endeffektor und einem Objekt aus der Umgebung des Robotermanipulators stattfinden, berücksichtigt diese Ausführungsform vorteilhaft diesen Umstand, sodass die Kalibrierung insbesondere mit Bezug auf einen Kraftwinder zwischen dem Endeffektor am distalen Ende des Robotermanipulators und der Umgebung des Robotermanipulators erfolgt.
-
Bevorzugt wird die Vielzahl von Posen des Robotermanipulators durch ein äquidistantes Gitter von Positionen für einen Referenzpunkt des Robotermanipulators gegenüber einem erdfesten Koordinatensystem festgelegt, wodurch vorteilhaft sämtliche mögliche Positionen des Referenzpunktes des Robotermanipulators (unter Umständen mit mehreren Posen je Gitterpunkt für einen redundanten Robotermanipulator) zumindest näherungsweise berücksichtigt werden, allerdings auch eine sehr hohe Anzahl von Gitterpunkten zu berücksichtigen ist.
-
Gemäß einer weiteren vorteilhaften Ausführungsform wird daher eine Aufgabe für den Robotermanipulator vorgegeben, die Aufgabe analysiert, und abzufahrende Arbeitspunkte werden bei der Ausführung der Aufgabe identifiziert, wobei die jeweiligen Posen des Robotermanipulators so gewählt werden, dass jeweils einer der Arbeitspunkte und ein Referenzpunkt des Robotermanipulators in einer jeweiligen Pose übereinstimmen. Der Referenzpunkt des Robotermanipulators ist insbesondere ein Referenzpunkt an dem distalen Ende des Robotermanipulators, und insbesondere am Endeffektor gedacht angeordnet. Der Referenzpunkt ist insbesondere körperfest mit dem Robotermanipulator, insbesondere mit einem Ort auf der Oberfläche des Robotermanipulators gedacht verbunden, das heißt, er führt gegenüber diesem ausgewählten Ort keine Relativbewegung auch bei einer Bewegung des Robotermanipulators durch. Vorteilhaft wird mit dieser Ausführungsform die Kalibrierung speziell auf eine vom Robotermanipulator durchzuführende Aufgabe abgestimmt und die Zahl der Gitterpunkte deutlich reduziert.
-
Gemäß einer weiteren vorteilhaften Ausführungsform ist der Robotermanipulator ein redundanter Robotermanipulator und die Schätzung des externen Kraftwinders wird unter Verwendung der Pseudoinversen der Transponierten der für die jeweilige Pose des Robotermanipulators aktuellen Jacobimatrix ermittelt. Ein redundanter Robotermanipulator weist zueinander redundante Freiheitsgrade auf. Das heißt insbesondere, dass sich Glieder des Robotermanipulators bewegen können, ohne dass sich dabei eine Orientierung eines bestimmten Gliedes, insbesondere eines Endeffektors des Robotermanipulators, und/oder eine Position eines vorgegebenen Referenzpunktes, insbesondere an dem distalen Ende des Robotermanipulators, ändert.
-
Gemäß einer weiteren vorteilhaften Ausführungsform wird zumindest für eine Teilmenge der Vielzahl von Posen des Robotermanipulators der redundante Robotermanipulator in seinem Nullraum über eine Vielzahl von Posen verfahren und für jede der Vielzahl von Posen wird eine eigene Kalibrierfunktion ermittelt und abgespeichert. Vorteilhaft werden durch diese Ausführungsform auch sich ändernde Ungenauigkeiten bei der Schätzung eines externen Kraftwinders durch eine Posen-Änderung des Robotermanipulators in seinem Nullraum berücksichtigt.
-
Gemäß einer weiteren vorteilhaften Ausführungsform erfolgt das Minimieren der jeweiligen Kostenfunktion durch ein gradienenbasiertes Verfahren. Die Aufgabe der Minimierung der Kostenfunktion, das heißt min K(x) , wird dabei insbesondere mit Hilfe eines Suchschrittes s = - α∇K ausgeführt, wobei α die Länge des aktuellen Suchschrittes, s die Suchrichtung, und ∇ den Gradienten der Kostenfunktion K(x) , abhängig von Variablen und/oder Parametern x der Kalibrierfunktion K (x) angibt. Bevorzugt wird der Parameter α mithilfe eines Liniensuchverfahrens, dem sogenannten „line search“ bestimmt, sodass in dem unter Umständen höherdimensionalen Parameterraum von x nach Bestimmung der Suchrichtung entlang dieser Suchrichtung das lokale Minimum gesucht wird und bei Erreichen dieses lokalen Minimums eine neue Suchrichtung durch Ermittlung eines neuen aktuellen Gradienten der dort ermittelten Kostenfunktion (∇K) ermittelt wird. Alternativ bevorzugt wird das gradientenbasierte Suchverfahren um Krümmungsinformationen der Kostenfunktion erweitert und somit eine quadratische Optimierung verwendet. Vorteilhaft ist durch die Verwendung eines gradientenbasierten Verfahrens ein deterministischer Algorithmus mit ausreichend schneller Konvergenz in Richtung eines lokalen oder idealerweise globalen Optimums der Kostenfunktion zur Minimierung dieser gegeben.
-
Gemäß einer weiteren vorteilhaften Ausführungsform erfolgt das Minimieren der jeweiligen Kostenfunktion durch ein genetisches oder evolutorisches Verfahren. Genetische Algorithmen bzw. Evolutionsalgorithmen basieren insbesondere auf dem Zufallsprinzip, nach dem Startpunkte von x mehr oder weniger zufällig gewählt werden und/oder Werte von x mit Potential zur Konvergenz zu einem lokalen oder globalen Minimum rekombiniert werden. Während genetische und evolutionäre Algorithmen eine höhere Chance aufweisen, das globale Minimum (im Gegensatz zu einem lokalen Minimum) zu finden, kann deren Rechenzeit die gradientenbasierten Verfahren erheblich übersteigen.
-
Gemäß einer weiteren vorteilhaften Ausführungsform erfolgt das Aufbringen des vorgegebenen externen Kraftwinders am Robotermanipulator durch Anhängen einer Last mit vorgegebener Masse an den Robotermanipulator. Bei konstanter und bekannter Schwerkraft ist durch Anhängen einer Last mit vorgegebener Masse sehr zuverlässig sichergestellt, dass der externe Kraftwinder immer in die gleiche Richtung bezüglich eines erdfesten Koordinatensystems und in immer gleicher Stärke wirkt.
-
Gemäß einer weiteren vorteilhaften Ausführungsform erfolgt das Aufbringen des vorgegebenen externen Kraftwinders am Robotermanipulator durch Verbinden einer mechanischen Feder des Robotermanipulators mit einem Auflager so, dass die mechanische Feder vorgespannt ist und eine Kraft auf den Robotermanipulator ausübt. Das mechanische Auflager ist bevorzugt an einem zweiten Manipulator angeordnet, bevorzugt an einem Endeffektor des zweiten Manipulators. Vorteilhaft können durch die Verwendung einer Feder durch Dehnung der Feder über einen bestimmten linearen Bereich der Feder kontinuierlich beliebige Werte einer Kraftkomponente des externen Kraftwinders vorgegeben werden.
-
Gemäß einer weiteren vorteilhaften Ausführungsform erfolgt das Aufbringen des vorgegebenen externen Kraftwinders am Robotermanipulator durch Bewegen des Robotermanipulators, sodass vorgegebene Beschleunigungen am Robotermanipulator durch die träge Masse des Robotermanipulators auftreten. Gemäß dieser Ausführungsform werden bei den erwarteten Momenten die Momente aus der Bewegung des Robotermanipulators entsprechend nicht berücksichtigt, da genau diese Momente erfasst werden sollen und daraus eine Schätzung des externen Kraftwinders ermittelt wird. Vorteilhaft ist gemäß dieser Ausführungsform weder eine Last mit zusätzlicher Masse am Robotermanipulator noch das Verbinden mit einer Feder noch das Aufbringen sonstiger externer Kräfte und/oder Momente notwendig, da alleine die durch den Robotermanipulator selbst ausführbare Bewegung zum Kalibrieren des virtuellen Kraftsensors dient.
-
Ein weiterer Aspekt der Erfindung betrifft ein Robotersystem mit einem Roboterarm und mit einer Steuereinheit, wobei die Steuereinheit dazu ausgeführt ist, einen virtuellen Kraftsensor am Roboterarm auszuführen, wobei der virtuelle Kraftsensor zum Ermitteln eines auf den Robotermanipulator wirkenden externen Kraftwinders dient und der externe Kraftwinder auf Basis von durch Momentensensoren in Gelenken des Roboterarms ermittelten Momenten und auf Basis von auf den Roboterarm wirkenden erwarteten Momenten und auf Basis der Invertierten oder Pseudoinvertierten der Transponierten der jeweils posenabhängigen aktuellen Jacobimatrix ermittelt wird, wobei die Steuereinheit dazu ausgeführt ist, auf den aktuell ermittelten externen Kraftwinder eine posenabhängige Kalibrierung anzuwenden, und die Kalibrierung aus dem nach einem Verfahren erzeugten Datensatz aller Kalibrierfunktionen durch Auswählen einer bestimmten der jeweiligen aktuellen Pose des Roboterarms zugeordneten Kalibrierfunktion oder durch Erzeugen einer Interpolation zumindest zwei der Kalibrierfunktionen zu erzeugen, wobei die jeweiligen Posen der zumindest zwei bestimmten der Kalibrierfunktionen der jeweiligen aktuellen Pose des Roboterarms am nächsten liegen.
-
Vorteile und bevorzugte Weiterbildungen des vorgeschlagenen Robotersystems ergeben sich durch eine analoge und sinngemäße Übertragung der im Zusammenhang mit dem vorgeschlagenen Verfahren vorstehend gemachten Ausführungen.
-
Weitere Vorteile, Merkmale und Einzelheiten ergeben sich aus der nachfolgenden Beschreibung, in der - gegebenenfalls unter Bezug auf die Zeichnung - zumindest ein Ausführungsbeispiel im Einzelnen beschrieben ist. Gleiche, ähnliche und/oder funktionsgleiche Teile sind mit gleichen Bezugszeichen versehen.
-
Es zeigen:
- 1 ein Verfahren zum Kalibrieren eines virtuellen Kraftsensors eines Robotermanipulators gemäß einem Ausführungsbeispiel der Erfindung,
- 2 einen Robotermanipulator, auf dem das Verfahren nach 1 ausgeführt wird, und
- 3 ein Robotersystem zum Verwenden des Ergebnisses der Kalibrierung nach 1 gemäß einem weiteren Ausführungsbeispiel der Erfindung.
-
Die Darstellungen in den Figuren sind schematisch und nicht maßstäblich.
-
1 zeigt ein Verfahren zum Kalibrieren eines virtuellen Kraftsensors eines Robotermanipulators
1. Der Robotermanipulator
1 wird in eine Vielzahl von Posen durch entsprechende Ansteuerung seiner Antriebe verfahren. Hierbei handelt es sich um einen redundanten Robotermanipulator
1. Daher werden für eine gemeinsame Position des distalen Endes
5 des Robotermanipulators
1 eine Vielzahl von Posen des Robotermanipulators
1 eingenommen, indem der redundante Robotermanipulator
1 in seinem Nullraum über eine Vielzahl von Posen verfahren wird. In jeder der Posen wird der Robotermanipulator
1 für eine gewisse Zeitspanne bewegungsfrei gehalten, um die folgenden Schritte wiederholt, das heißt an jeder der Posen, auszuführen: Zunächst wird ein vorgegebener externer Kraftwinder mit vorgegebenen Kräften und Momenten auf das distale Ende
5 des Robotermanipulators
1 aufgebracht S1. Dies erfolgt durch eine externe Prüfeinheit (nicht in
1 dargestellt). Daraufhin erfolgt das Ermitteln
S2 einer Schätzung des externen Kraftwinders F
ext,est auf Basis einer Pseudoinversen der Transponierten der für die aktuelle Pose geltenden Jacobimatrix, das heißt (J
T)
# und auf Basis eines Vektors externer Drehmomente τ
ext, wobei der Vektor externer Drehmomente τ
ext auf Basis der durch die Drehmomentsensoren
3 in den Gelenken des Robotermanipulators
1 ermittelten Momente und auf Basis von auf den Robotermanipulator
1 wirkenden erwarteten Momenten ermittelt wird:
-
Die Pseudoinverse der Transponierten der für die aktuelle Pose geltenden Jacobimatrix, das heißt (
J T)
# statt (
J T)
-1 , wird dabei verwendet, da es sich um einen redundanten Robotermanipulator
1 handelt. Hierauf erfolgt das Ermitteln
S3 einer jeweiligen Kostenfunktion auf Basis einer Norm einer Differenz aus der ermittelten Schätzung des externen Kraftwinders und dem vorgegebenen externen Kraftwinder. Die Kostenfunktion wird für jede der Posen des Robotermanipulators
1 jeweils ermittelt als:
-
Das heißt, die Zweinorm der Differenz zwischen der Schätzung des externen Kraftwinders Fext,est und der a-priori bekannten Vorgabe des externen Kraftwinders Fext,real wird zum Quadrat genommen. Das skalare Ergebnis dieser Vorschrift entspricht der Kostenfunktion. Ferner folgt das Ermitteln S4 einer jeweiligen Kalibrierfunktion durch Minimieren der jeweiligen Kostenfunktion durch ein gradienenbasiertes Verfahren. Die Aufgabe minK(x) wird dabei insbesondere mit Hilfe eines Suchschrittes s= - α∇K ausgeführt, wobei α die Länge des aktuellen Suchschrittes, s der Suchrichtung, und ∇ den Gradienten der Kostenfunktion K (x), abhängig von Variablen und/oder Parametern x der Kalibrierfunktion L (x) angibt. Bevorzugt wird der Parameter α mithilfe der eines Liniensuchverfahrens, dem sogenannten „line search“ bestimmt, sodass in dem unter Umständen höherdimensionalen Parameterraum von x nach Bestimmung der Suchrichtung entlang dieser Suchrichtung das lokale Minimum gesucht wird und bei Erreichen dieses lokalen Minimums seine neue Suchrichtung durch Ermittlung von Gradienten der Kostenfunktion (∇K) ermittelt. Damit steht im Ergebnis ein Variablensatz und/oder Parametersatz x0 zur Verfügung, der, wenn mit seiner Hilfe die Schätzung des externen Kraftwinders Fext,est mit der Kalibrierfunktion L (x0) angepasst wird, zu einer minimalen Kostenfunktion K(x0) führt. Schließlich erfolgt das Abspeichern S5 der jeweiligen für die jeweilige Pose des Robotermanipulators 1 gültigen Kalibrierfunktion in einen Datensatz aller Kalibrierfunktionen unter Zuordnung der jeweiligen Kalibrierfunktion zu der jeweiligen Pose, für die die jeweilige zweite Kalibrierfunktion ermittelt wurde. Ein solcher Robotermanipulator 1, an dem dieses Verfahren ausgeführt wird, ist in der 2 gezeigt. Die Bezugszeichen der 2 gelten dabei auch für die obige Erklärung der 1.
-
2 zeigt einen solchen Robotermanipulator 1 mit seinen Komponenten, den Drehmomentsensoren 3 und seinem distalen Ende 5 des Robotermanipulators 1. Die redundanten Freiheitsgrade des Robotermanipulators 1 sind dabei symbolisch durch eine Vielzahl von Gelenken mit zueinander parallelen Gelenksachsen symbolisiert. An diesem Robotermanipulator 1 wird das Verfahren wie unter 1 beschrieben ausgeführt. Es wird dabei auf die Erläuterungen zur 1 verwiesen.
-
3 zeigt ein Robotersystem 10 mit einem Roboterarm 12 und mit einer Steuereinheit 14. Das Robotersystem 10 ist dabei symbolisch mit einem anderen Roboterarm 12 in der 3 dargestellt, als der Robotermanipulator 1 aus der 1. Dies verdeutlicht, dass die Kalibrierung gemäß den Erklärungen zur 1 sowie zur 2 auf ein weiteres Robotersystem 10 übertragen werden können, ohne dass an diesem selbst die Kalibrierung stattgefunden hat. Die Steuereinheit 14 des Robotersystems 10 ist dabei an einer Basis des Roboterarms 12 angeordnet und führt einen virtuellen Kraftsensor am Roboterarm 12 aus, wobei der virtuelle Kraftsensor zum Ermitteln eines aktuell auf den Roboterarm 12 wirkenden externen Kraftwinders dient, und der externe Kraftwinder auf Basis von durch Momentensensoren 13 in Gelenken des Roboterarms 12 ermittelten Momenten und auf Basis von auf den Roboterarm 12 wirkenden erwarteten Momenten und auf Basis der Inversen oder Pseudoinversen der Transponierten der jeweils posenabhängigen aktuellen Jacobimatrix ermittelt wird. Die Steuereinheit 14 wendet ferner auf den aktuell ermittelten externen Kraftwinder eine posenabhängige Kalibrierfunktion an, wobei die Kalibrierfunktion aus dem nach den Erläuterungen zur 1 erzeugten Datensatz aller zweiter Kalibrierungsmatritzen durch Auswählen einer bestimmten, der jeweiligen aktuellen Pose des Roboterarms 12 zugeordneten, das heißt am nächsten liegenden, Kalibrierfunktion bestimmt wird.
-
Bezugszeichenliste
-
- 1
- Robotermanipulator
- 3
- Drehmomentsensoren
- 5
- distales Ende des Robotermanipulators
- 10
- Robotersystem
- 12
- Roboterarm
- 13
- Momentensensoren
- 14
- Steuereinheit
- S1
- Aufbringen
- S2
- Ermitteln
- S3
- Ermitteln
- S4
- Ermitteln
- S5
- Abspeichern