-
Die Erfindung betrifft ein Verfahren zur Steuerung eines aktorisch angetriebenen Robotermanipulators mit einem Endeffektor, eine Vorrichtung zur Steuerung eines aktorisch angetriebenen Robotermanipulators mit einem Endeffektor, sowie einen Roboter mit einer ebensolchen Vorrichtung.
-
Im Stand der Technik ist es bekannt, aus einer erfassten Kraft oder aus einem erfassten Moment auf eine Kollision eines Robotermanipulators mit einem Objekt aus der Umgebung des Robotermanipulators zu schließen. Weiterhin sind im Stand der Technik verschiedene Verfahren zur Bahnplanung für einen Robotermanipulator bekannt.
-
So betrifft die
DE 10 2008 010 983 A1 ein Verfahren zum optimierten endkonturnahen Fräsen mittels eines rotationssymmetrischen Werkzeugs.
-
Die
DE 10 2007 060 680 A1 betrifft ein Verfahren zur Steuerung eines Manipulator, insbesondere eines Roboters.
-
Die
DE 10 2011 111 758 A1 betrifft ein Steuerverfahren für einen Roboter mit mehreren beweglichen Roboterachsen, insbesondere für einen Lackierroboter oder einen Handhabungsroboter, wobei die Roboterachsen jeweils in einer bestimmten Schwenkebene schwenkbar sind.
-
Die
DE 10 2014 103 240 A1 betrifftein Verfahren zur Einrichtung und/oder Überwachung von Betriebsparametern einer Werkstückbearbeitungsmaschine, die einen Werkzeughalter und Mittel zum relativen Bewegen eines Werkstückes und des Werkzeughalters zueinander jedenfalls entlang einer ersten Achse aufweist.
-
Die
EP 2 954 986 A1 betrifft eine Vorrichtung zum Steuern und Regeln einer Bewegung eines Systems mit mehreren, kinematisch zusammenwirkenden Einzelkörpern, von denen mindestens einer mit einem Antrieb bewegbar ist.
-
Die
EP 1 403 746 B1 betrifft ein Überwachungsverfahren für ein Antriebssystem eines Roboters, insbesondere eines Lackierroboters, mit einem Motor und einem von dem Motor angetriebenen beweglichen Teil.
-
Die
US 2011 0270443 A1 betrifft eine Vorrichtung zum Detektieren einer Kontakposition, an der der Roboter Kontakt mit einem Objekt hat.
-
Aufgabe der Erfindung ist es, Kollisionen eines Robotermanipulators insbesondere während der Ausführung einer Aufgabe durch den Robotermanipulator besser zu erkennen und dadurch die Aufgabe besser auszuführen.
-
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 zur Steuerung eines aktorisch angetriebenen Robotermanipulators mit einem Endeffektor, bei dem der Endeffektor eine vorgegebene Sollbewegung ausführt und während der Ausführung der Sollbewegung eine Aufgabe innerhalb eines vorgegebenen geometrischen Bereichs B um einen Ort P ausführt, aufweisend die Schritte:
- - während der Ausführung der Sollbewegung Ermitteln eines in den Robotermanipulator eingebrachten externen Kraftwinders Kext , wobei Kext einen Vektor Fext zumindest einer externen Kraft und/oder einen Vektor Mext zumindest eines externen Moments aufweist,
- - Detektieren einer unerwünschten Kollision des Robotermanipulators, wenn Kext einen vordefinierten ersten Grenzwert überschreitet während sich der Endeffektor außerhalb des vorgegebenen geometrischen Bereichs B um den Ort P befindet,
- - Detektieren einer fehlerhaften Ausführung der Aufgabe, wenn Kext einen vordefinierten zweiten Grenzwert überschreitet oder wenn Kext<Kdes ist, jeweils während sich der Endeffektor innerhalb des vorgegebenen geometrischen Bereichs B um den Ort P befindet, wobei Kdes ein erwarteter und/oder erwünschter Kraftwinder innerhalb des vorgegebenen geometrischen Bereichs B ist, wobei Kdes einen Vektor Fdes zumindest einer erwarteten und/oder erwünschten Kraft und/oder einen Vektor Mdes zumindest eines erwarteten und/oder erwünschten Moments aufweist, wobei der ermittelte Kraftwinder Kext um den erwarteten und/oder gewünschten Kraftwinder Kdes kompensiert und der kompensierte Kraftwinder mit dem zweiten Grenzwert verglichen wird, und
- - Ansteuern des Robotermanipulators in einem Fehlermodus, wenn eine unerwünschte Kollision des Robotermanipulators und/oder eine fehlerhafte Ausführung der Aufgabe detektiert wird.
-
Unter einer Sollbewegung wird vorteilhaft ein kinematischer Datensatz zur Vorgabe der Bewegung des Endeffektors des Robotermanipulators verstanden. Vorteilhaft wird die Sollbewegung über einen gewünschten Bewegungspfad definiert, das heißt mittels einer Abfolge von gewünschten Positionen eines bestimmten Referenzpunktes auf dem Robotermanipulator, insbesondere eines Referenzpunktes auf dem Endeffektor des Robotermanipulators oder auf dem distalen Ende des Robotermanipulators, und weiterhin vorteilhaft mittels einer zu dieser gewünschten Abfolge von Positionen zugehörigen Geschwindigkeit und/oder einer Beschleunigung des Referenzpunktes. Dementsprechend ist von dem Begriff der Sollbewegung auch ein gewünschter Stillstand dieses betrachteten Referenzpunktes umfasst. Dann gilt für diesen Fall des gewünschten Stillstands eine über die Zeit konstante Sollposition, sowie eine Sollgeschwindigkeit von Null und eine Sollbeschleunigung von Null des Referenzpunktes.
-
Der Endeffektor wird auch als solcher bezeichnet, wenn er selbst nicht aktuiert ist, das heißt selbst keine bewegbaren oder anderweitig ansteuerbaren Stellglieder aufweist. Wird von einer Position oder einer Geschwindigkeit oder einer Beschleunigung des Endeffektors gesprochen, so ist insbesondere die jeweilige Größe an einem Referenzpunkt auf dem Endeffektor definiert.
-
Der Ort P ist insbesondere derjenige Ort, an dem eine Ausführung der Aufgabe erwartet wird. In manchen praktischen Anwendungen ist dieser nicht ganz exakt bestimmbar, sodass innerhalb des vorgegebenen geometrischen Bereichs eine Ausführung der Aufgabe erwartet wird. Dies ist beispielsweise beim Greifen oder Stapeln von Gegenständen der Fall, deren Ausmaße in unbekanntem Ausmaße variieren. Vorteilhaft wird hierzu die Ausführung der Aufgabe ausgelöst, wenn ein gewünschter Kontakt mit einem zu bearbeitenden oder zu transportierenden etc. Objekt der Umgebung festgestellt wird. Der Ort P variiert daher vorteilhaft insbesondere dann über die Zeit, wenn sich die Erwartung der Ausführung der Aufgabe ändert, das heißt der Ort P zu einem zweiten Zeitpunkt woanders vermutet wird als zu einem ersten Zeitpunkt. Eine solche Zeitvarianz wird bevorzugt aus den Informationen aus Umgebungssensoren, aus einer am Endeffektor oder am distalen Ende des Robotermanipulators oder weiterhin bevorzugt aus einer an einem anderen Referenzpunkt auf dem Robotermanipulator gemessenen oder geschätzten Beschleunigung und/oder Geschwindigkeit abgeleitet.
-
Unter externen Kräften und Momenten werden bevorzugt solche verstanden, welche nicht durch die Antriebe entstehen, die mit dem Robotermanipulator in Verbindung stehen. Bevorzugt weisen die Gelenke des Robotermanipulators als Antriebe elektrische Motoren zum Erzeugen von Momenten zwischen den Robotergliedern auf, die jeweils durch das Gelenk verdrehbar miteinander verbunden sind. Diese Momente, die sich durch Division eines entsprechenden zu betrachtenden Radius äquivalent in eine Kraft überführen lassen, sind im Gegensatz zu den oben erwähnten externen Kräften und Momenten interne Kräfte und Momente.
-
Der Vergleich von Kext mit Kdes und von Kext mit dem ersten und zweiten Grenzwert erfolgen bevorzugt komponentenweise des im Allgemeinen vektoriellen Kext und des im Allgemeinen vektoriellen Kdes , sodass jeweils Skalare mit Skalaren verglichen werden. Alternativ bevorzugt werden skalare Vektornormen ||Kext|| sowie ||Kdes|| gebildet und diese miteinander und mit dem ersten und dem zweiten Grenzwert verglichen. Bevorzugt wird als Vektornorm die 2-Norm, das heißt ||Kext||2 sowie ||Kdes||2 verwendet, die als Zeitintegral der quadrierten Vektorkomponenten eine energiegleiche Norm bildet, oder alternativ bevorzugt dazu als Vektornorm die ∞-Norm, das heißt ||Kext||∞ sowie ||Kdes||∞ verwendet, die den jeweils größten Wert aller Vektorkomponenten über die Zeit angibt.
-
Bevorzugt erfolgt das Ermitteln des externen Kraftwinders Kext mittels Sensoren, insbesondere mittels Kraftsensoren und/oder Momentensensoren. Insbesondere die Momentensensoren werden bevorzugt bereits im Gelenk zusammen mit dem im jeweiligen Gelenk befindlichen Motor verbaut. Weiterhin bevorzugt werden Kraftsensoren auf einem Strukturbauteil eines Roboterglieds angeordnet, wobei diese Art von Kraftsensoren über die Materialdehnung des Roboterglieds und der bekannten Materialkonstanten, insbesondere des E-Moduls, eine Spannung bzw. eine Kraft in dem jeweiligen Roboterglied ermittelt. Ferner bevorzugt werden elektrische Stromsensoren verwendet, die den elektrischen Strom durch einen elektrischen Motor des Robotermanipulators messen, um von Änderungen im elektrischen Strom auf eine anormale Momentenänderung am Motor und damit auf eine sich in einer externen Kraft oder in einem externen Moment äußernde Kollision zu schließen.
-
Das Detektieren einer unerwünschten Kollision des Robotermanipulators besteht insbesondere in einem Detektieren einer unerwünschten Kollision des Robotermanipulators mit einem Objekt der Umgebung, mit einem am Endeffektor aufgegriffenen Objekt, oder durch Kollision zwischen zwei Glieder des Robotermanipulators.
-
Insbesondere ist der externe Kraftwinder Kext ein Vektor, der die erfassten Kräfte Fext als Spaltenvektor und die erfassten Momente Mext als Spaltenvektor kombiniert und zusammen in einem bevorzugt sechsdimensionalen Spaltenvektor notiert, da sowohl Fext als auch Mext insbesondere in einem kartesischen Koordinatensystem je drei Einträge für drei aufeinander jeweils orthogonal stehende Raumrichtungen erfasst. Werden insbesondere nur externe Kräfte ermittelt, so enthalten die Komponenten dieses Vektors in allen Einträgen für die externen Momente eine Null. Bevorzugt, und im allgemeinsten Fall, gilt daher für den externen Kraftwinder Kext=[Fext T,Mext T]T, wobei das hochgestellte „T“ in Form von ,,(·)T“ den Transponierten-Operator angibt, durch den ein Zeilenvektor zum Spaltenvektor wird und umgekehrt.
-
Der erwartete und/oder gewünschte Kraftwinder Kdes kommt insbesondere durch einen gewünschten Kontakt mit der Umgebung des Robotermanipulators mit einem Objekt aus der Umgebung zu Stande, beispielsweise beim Bearbeiten eines Gegenstandes durch den Endeffektor, beim Greifen eines Gegenstands durch den Endeffektor, beim Bearbeiten eines Werkstücks durch den Endeffektor, zum Beispiel beim Schweißen, Bohren, Fräsen, Lackieren, oder Ähnlichem. Durch solche Tätigkeiten entsteht gemäß dem Newtonschen Gesetz „Actio ist gegengleich Reactio“ eine Kraft auf insbesondere den Endeffektor, die jedoch nicht als unerwünschte Kollision gewertet werden soll. Daher wird dieser erwartete und/oder gewünschte Kraftwinder Kdes wie oben beschrieben mit berücksichtigt, wobei insbesondere ein gewünschter Kraftwinder Kdes bevorzugt aus einer Kraft-Regelung des Robotermanipulators herrührt und ein erwarteter Kraftwinder Kdes bevorzugt aus einer Schätzung einer Kontaktkraft einer Manipulationsaufgabe entsteht. Wiederum gilt für den erwarteten und/oder gewünschten Kraftwinder Kdes die Vektoreigenschaft analog zum externen Kraftwinder Kext , wobei Kdes die erwarteten und/oder gewünschten Kräfte Fdes als Spaltenvektor und die erwarteten und/oder gewünschten Momente Mdes als Spaltenvektor kombiniert und zusammen in einem sechsdimensionalen Spaltenvektor notiert, da sowohl Fdes als auch Mdes insbesondere in einem kartesischen Koordinatensystem je drei Einträge für drei aufeinander jeweils orthogonal stehende Raumrichtungen erfasst. Werden insbesondere nur erwartete und/oder gewünschte Kräfte ermittelt, so enthalten die Komponenten dieses Vektors in allen Einträgen für die externen Momente eine Null. Bevorzugt, und im allgemeinsten Fall, gilt daher für den erwarteten und/oder gewünschten Kraftwinder Kdes=[Fdes T,Mdes T]T, wobei das hochgestellte „T“ in Form von „(·)T“ den Transponierten-Operator angibt, durch den ein Zeilenvektor zum Spaltenvektor wird und umgekehrt.
-
Der Fehlermodus besteht bevorzugt darin, dass die Aufgabe zunächst abgebrochen wird und anschließend ein neuer Versuch zum Ausführen der Aufgabe mit geänderten Parametern wiederholt wird. Alternativ bevorzugt besteht der Fehlermodus in einem Abbruch der momentanen Bewegung bis zum Stillstand des Robotermanipulators, das heißt, in einem sogenannten „Sicheren Stopp“. Weiterhin alternativ bevorzugt besteht die Ausführung des Fehlermodus in einer Änderung der Parameter einer Nachgiebigkeitsregelung. Eine solche Nachgiebigkeitsregelung erzeugt ein künstliches Feder-Masse-Dämpfer Modell des Robotermanipulators und definiert dieses Modell als Wunschverhalten, welches der Regler des Robotermanipulators erzeugen soll. Bevorzugt besteht diese Änderung der Nachgiebigkeitsregelung in dem Fehlermodus in einer geringeren Federkraftkonstante mit entsprechend verringerter Dämpfung des Feder-Masse-Dämpfer Modells. Ein weiterer alternativ bevorzugter Fehlermodus besteht in einem aktiven Ausweichen vor dem externen Kraftwinder Kext . In diesem Fall wird ein Regler des Robotermanipulators aktiv entsprechend gesteuert und mit entsprechenden Sollwerten von Position und/oder Geschwindigkeit und/oder Beschleunigung beaufschlagt, sodass dem ermittelten externen Kraftwinder Kext aktiv ausgewichen wird. Vorteilhaft wird hierzu ein Verfahren zum Ermitteln eines einwirkenden Orts, das heißt Lokalisation, von externen Kräften bzw. externen Momenten angewendet. Alternativ bevorzugt besteht die Ausführung des Fehlermodus in der Ausgabe einer Warnung an einen Benutzer oder an eine andere Person. Allgemein formuliert sind vorteilhaft für den Fehlermodus drei generelle Möglichkeiten zu beachten, nämlich eine aktive Reaktion, eine passive Reaktion, oder ein Stoppen der Bewegung des Robotermanipulators auf den jeweiligen Grenzwert überschreitenden externen Kraftwinder Kext .
-
Es ist eine vorteilhafte Wirkung der Erfindung, dass eine Kollision eines Robotermanipulators genauer erkannt werden kann. Diese vorteilhafte Wirkung tritt insbesondere dadurch ein, dass eine Unterscheidung zwischen einem vorgegebenen geometrischen Bereich B um einen Ort P der erwarteten Aufgabenausführung und der Umgebung außerhalb des Bereichs B getroffen wird, und für eine Bewegung eines Referenzpunktes auf dem Robotermanipulator, insbesondere für eine Bewegung eines Referenzpunktes auf dem Endeffektor, innerhalb des Bereichs Bein anderer Grenzwert zur Erkennung von unerwünschten Kollisionen verwendet wird, als außerhalb. Dies geschieht vor dem Hintergrund, dass innerhalb des Bereichs B bei der Ausführung einer Aufgabe ein erwarteter und/oder gewünschter Kraftwinder in Erscheinung tritt, der jedoch erfindungsgemäß zumindest teilweise und zumindest implizit berücksichtigt wird und dadurch geringeren oder keinen Einfluss auf die Detektion von unerwünschten Kollisionen ausübt, wodurch Fehldetektionen von unerwünschten Detektionen leichter verhindert werden können.
-
Gemäß einer vorteilhaften Ausführungsform wird zumindest für das Detektieren einer fehlerhaften Ausführung der Aufgabe der ermittelte Kraftwinder Kext um den erwarteten und/oder gewünschten Kraftwinder Kdes kompensiert und der kompensierte Kraftwinder mit dem zweiten Grenzwert verglichen, während der Endeffektor bzw. ein Referenzpunkt auf dem Endeffektor sich innerhalb des Bereichs B befindet. Diese Ausführungsform wird insbesondere bei bekanntem oder vorgegebenem Kraftwinder Kdes durchgeführt. Demnach wird vorteilhaft lediglich die Differenz zwischen dem Kraftwinder Kdes und dem Kraftwinder Kext mit dem zweiten Grenzwert verglichen. Vorteilhaft wird hierdurch eine Unsicherheit, welchen Anteil in dem Kraftwinder Kext tatsächlich der Kraftwinder Kdes einnimmt, herausgenommen, wodurch ein Vergleich mit dem zweiten Grenzwert verlässlichere Ergebnisse liefert.
-
Gemäß einer vorteilhaften Ausführungsform ist der vorgegebene geometrische Bereich B ein sich an den Ort P anschließender Abschnitt eines sich aus der Sollbewegung ergebenden Sollbewegungspfades.
-
Vorteilhaft wird mittels dieser Ausführungsform ein hinterer, das heißt zeitlich späterer durchlaufener, Teil des sich aus der Sollbewegung ergebenden Sollbewegungspfades des Endeffektors bzw. eines Referenzpunktes auf dem Endeffektor als vorgegebener geometrischer Bereich B definiert. Bevorzugt wird der Bereich B als hinterer prozentualer Anteil des sich aus der Sollbewegung ergebenden Sollbewegungspfades definiert, beispielsweise die letzten geometrischen 20% des Sollbewegungspfades werden als vorgegebener geometrischer Bereich B definiert.
-
Alternativ bevorzugt ist der vordefinierte Bereich B kugelförmig, wobei der Ort P im Zentrum des kugelförmigen Bereichs B angeordnet ist.
-
Gemäß einer weiteren vorteilhaften Ausführungsform ist der Bereich B zeitvariant und abhängig von der Sollbewegung und/oder abhängig von der Aufgabe.
-
Vorteilhaft kann hierüber der Bereich B den aktuellen Umständen, insbesondere dem aktuellen Fortschritt der Ausführung der Aufgabe und an einen kinematischen Zustand des Robotermanipulators oder des Endeffektors oder eines Referenzpunktes auf dem Robotermanipulator oder auf dem Endeffektor angepasst werden.
-
Gemäß einer weiteren vorteilhaften Ausführungsform wird der externe Kraftwinder Kext mittels eines Impulsbeobachters ermittelt.
-
Der Impulsbeobachter erfasst insbesondere die auf Basis der Motormomente geschätzten Winkelbeschleunigungen der Gelenke zwischen den Robotergliedern des Robotermanipulators. Diese können mit den tatsächlichen Winkelbeschleunigungen der Gelenke verglichen werden und vorteilhaft somit bei Abweichungen auf externe Kräfte und Momente geschlossen werden.
-
Gemäß einer weiteren vorteilhaften Ausführungsform werden der erste und/oder der zweite Grenzwert von einem Nutzer vorgegeben und sind vom Nutzer anpassbar.
-
Gemäß einer weiteren vorteilhaften Ausführungsform sind der erste und/oder der zweite Grenzwert zusammen mit der Aufgabe definiert.
-
Gemäß einer weiteren vorteilhaften Ausführungsform ist der erste Grenzwert und/oder der zweite Grenzwert zeitvariant und abhängig vom Fortschritt im Verlauf der Ausführung der Aufgabe.
-
Gemäß einer weiteren vorteilhaften Ausführungsform werden der erste und/oder der zweite Grenzwert durch maschinelles Lernen ermittelt und angepasst.
-
Unter „maschinellem Lernen“ wird bevorzugt ein parametrisches Anpassen des ersten Grenzwertes und/oder des zweiten Grenzwertes verstanden. Das parametrische Anpassen erfolgt bevorzugt gradientenbasiert oder auf Grundlage einer allgemeinen Kosten- oder Energiefunktion, wobei der jeweilige Parameter oder auch Grenzwert selbst zumindest quadratisch in die Energiefunktion oder die Kostenfunktion eingeht, sodass beim Bilden einer zeitlichen Ableitung der Kosten- oder Energiefunktion der Wert der jeweiligen Funktion über die Zeit abnimmt und damit eine Konvergenz des jeweiligen Grenzwertes oder Parameters zu niedrigeren Werten der Kostenfunktion aufweist. Alternativ bevorzugt werden für das maschinelle Lernen eine oder mehrere statistische Funktionen benutzt, um insbesondere einen Erwartungswert für den ersten oder zweiten Grenzwert abhängig von den vergangenen ersten oder zweiten Grenzwerten zu bilden. Ferner bevorzugt stützt sich das maschinelle Lernen auf die Verwendung von neuronalen Netzen oder damit verwandten trainierbaren Konstrukten, die insbesondere über überlagerte und angepasste Sigmoidfunktionen ein Eingangs-/Ausgangs Verhalten abhängig von Umgebungsparametern als Eingangswerten abbilden, und somit abhängig von der jeweiligen Situation, die insbesondere Umgebungsbedingungen und Parameter der jeweiligen Aufgabe erfasst, einen ersten und/oder zweiten Grenzwert als jeweiligen Ausgangswert des neuronalen Netzes ermitteln. Weiterhin bevorzugt stützt sich das maschinelle Lernen auf eine lineare Regression, um die jeweiligen Linearfaktoren eines linearen Gleichungssystems statistisch derart anzupassen, dass das Ergebnis des linearen Gleichungssystems den ersten oder den zweiten Grenzwert bereitstellt.
-
Gemäß einer weiteren vorteilhaften Ausführungsform ist der erste Grenzwert kleiner als der zweite Grenzwert.
-
Vorteilhaft wird hierdurch eine unerwünschte Kollision außerhalb des vorgegebenen geometrischen Bereichs B durch einen sensibleren Grenzwert erkannt, als eine fehlerhafte Ausführung der Aufgabe, die ebenfalls durch eine unerwünschte Kollision hervorgerufen werden kann, jedoch nur unter Betrachtung des Inneren des vorgegebenen geometrischen Bereichs B. Im Inneren des vorgegebenen geometrischen Bereichs B sind nämlich Stöße und andere Störungen durch die Ausführung der Aufgabe wahrscheinlicher als außerhalb und können als erwarteter und/oder gewünschter Kraftwinder Kdes ausgedrückt werden.
-
Ein weiterer Aspekt der Erfindung betrifft eine Vorrichtung zur Steuerung eines aktorisch angetriebenen Robotermanipulators mit einem Endeffektor, wobei der Endeffektor zum Ausführen einer vorgegebenen Sollbewegung und zum Ausführen einer Aufgabe innerhalb eines vorgegebenen geometrischen Bereichs B um einen Ort P während der Ausführung der Sollbewegung ausgeführt ist, aufweisend:
- - eine Kraftbestimmungseinheit, die zum Ermitteln eines in den Robotermanipulator eingebrachten externen Kraftwinders Kext während der Ausführung der Sollbewegung ausgeführt ist, wobei Kext einen Vektor Fext zumindest einer externen Kraft und/oder einen Vektor Mext zumindest eines externen Moments aufweist,
- - eine Recheneinheit, die dazu ausgeführt ist, eine unerwünschte Kollision des Robotermanipulators zu detektieren, wenn Kext einen vordefinierten ersten Grenzwert überschreitet während sich der Endeffektor außerhalb des vorgegebenen geometrischen Bereichs B um den Ort P befindet, und dazu ausgeführt ist, eine fehlerhafte Ausführung der Aufgabe zu detektieren, wenn Kext einen vordefinierten zweiten Grenzwert überschreitet oder wenn Kext<Kdes ist, jeweils während sich der Endeffektor innerhalb des vorgegebenen geometrischen Bereichs B um den Ort P befindet, wobei Kdes ein erwarteter und/oder erwünschter Kraftwinder innerhalb des vorgegebenen geometrischen Bereichs B ist, wobei Kdes einen Vektor Fdes zumindest einer erwarteten und/oder erwünschten Kraft und/oder einen Vektor Mdes zumindest eines erwarteten und/oder erwünschten Moments aufweist, wobei der ermittelte Kraftwinder Kext um den erwarteten und/oder gewünschten Kraftwinder Kdes kompensiert und der kompensierte Kraftwinder mit dem zweiten Grenzwert verglichen wird, und
- - eine Steuereinheit, die dazu ausgeführt ist, den Robotermanipulator in einem Fehlermodus anzusteuern, wenn die Recheneinheit eine unerwünschte Kollision des Robotermanipulators und/oder eine fehlerhafte Ausführung der Aufgabe detektiert.
-
Gemäß einer weiteren vorteilhaften Ausführungsform weist die Vorrichtung weiterhin eine Benutzerschnittstelle zum Vorgeben des ersten Grenzwerts und/oder des zweiten Grenzwerts auf.
-
Vorteile und bevorzugte Weiterbildungen der vorgeschlagenen Vorrichtung ergeben sich durch eine analoge und sinngemäße Übertragung der im Zusammenhang mit dem vorgeschlagenen Verfahren vorstehend gemachten Ausführungen.
-
Ein weiterer Aspekt der Erfindung betrifft einen Roboter mit einer Vorrichtung wie oben und im Folgenden beschrieben.
-
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 zur Steuerung eines aktorisch angetriebenen Robotermanipulators mit einem Endeffektor gemäß einem Ausführungsbeispiel der Erfindung,
- 2 einen Roboter mit einer Vorrichtung zur Steuerung eines aktorisch angetriebenen Robotermanipulators gemäß einem weiteren Ausführungsbeispiel der Erfindung,
- 3 einen sich aus der Sollbewegung ergebenden Sollbewegungspfad des Endeffektors und einen vorgegebenen geometrischen Bereich B nach einem Verfahren gemäß einem weiteren Ausführungsbeispiel der Erfindung, und
- 4 einen sich aus der Sollbewegung ergebenden Sollbewegungspfad des Endeffektors und einen vorgegebenen geometrischen Bereich B nach einem Verfahren gemäß einem weiteren Ausführungsbeispiel der Erfindung.
-
Die Darstellungen in den Figuren sind schematisch und nicht maßstäblich.
-
1 zeigt ein Verfahren zur Steuerung eines aktorisch angetriebenen Robotermanipulators 1 mit einem Endeffektor 3, bei dem der Endeffektor 3 eine vorgegebene Sollbewegung ausführt und während der Ausführung der Sollbewegung eine Aufgabe innerhalb eines vorgegebenen geometrischen Bereichs B um einen Ort P ausführt. In einem ersten Schritt des Verfahrens erfolgt während der Ausführung der Sollbewegung ein Ermitteln S1 eines in den Robotermanipulator 1 eingebrachten externen Kraftwinders Kext , wobei Kext einen Vektor Fext von externen Kräften und/oder einen Vektor Mext von externen Momenten aufweist. Im weiteren Schritt erfolgt ein Detektieren S2 einer unerwünschten Kollision des Robotermanipulators 1, wenn Kext einen vordefinierten ersten Grenzwert überschreitet während sich der Endeffektor 3 außerhalb des vorgegebenen geometrischen Bereichs B um den Ort P befindet. Ferner erfolgt ein Detektieren S3 einer fehlerhaften Ausführung der Aufgabe, wenn Kext einen vordefinierten zweiten Grenzwert überschreitet oder wenn Kext<Kdes ist, jeweils während sich der Endeffektor 3 innerhalb des vorgegebenen geometrischen Bereichs B um den Ort P befindet, wobei Kdes ein erwarteter und/oder erwünschter Kraftwinder innerhalb des vorgegebenen geometrischen Bereichs B ist. Im abschließenden Schritt erfolgt ein Ansteuern des Robotermanipulators 1 in einem Fehlermodus, wenn eine unerwünschte Kollision des Robotermanipulators 1 und/oder eine fehlerhafte Ausführung der Aufgabe detektiert wird.
-
2 zeigt einen Roboter 200 mit einer Vorrichtung 100 zur Steuerung eines aktorisch angetriebenen Robotermanipulators 1 mit einem Endeffektor 3, wobei der Endeffektor 3 zum Ausführen einer vorgegebenen Sollbewegung und zum Ausführen einer Aufgabe innerhalb eines vorgegebenen geometrischen Bereichs B um einen Ort P während der Ausführung der Sollbewegung ausgeführt ist. Die Vorrichtung 100 weist eine Kraftbestimmungseinheit 5 auf, die zum Ermitteln eines in den Robotermanipulator 1 eingebrachten externen Kraftwinders Kext während der Ausführung der Sollbewegung ausgeführt ist, wobei Kext einen Vektor Fext von externen Kräften und/oder einen Vektor Mext von externen Momenten aufweist. Diese kommen in der gezeigten 2 von einem Bohrvorgang, durch den eine Vortriebskraft am Bohrer und die entgegengesetzt auf den Endeffektor 3 wirkende Gegenkraft entstehen. Ferner weist die Vorrichtung 100 eine Recheneinheit 7 auf, die dazu ausgeführt ist, eine unerwünschte Kollision des Robotermanipulators 1 zu detektieren, wenn Kext einen vordefinierten ersten Grenzwert überschreitet während sich der Endeffektor 3 außerhalb des vorgegebenen geometrischen Bereichs B um den Ort P befindet, und dazu ausgeführt ist, eine fehlerhaften Ausführung der Aufgabe zu detektieren, wenn Kext einen vordefinierten zweiten Grenzwert überschreitet oder wenn Kext<Kdes ist, jeweils während sich der Endeffektor 3 innerhalb des vorgegebenen geometrischen Bereichs B um den Ort P befindet, wobei Kdes ein erwarteter und/oder erwünschter Kraftwinder innerhalb des vorgegebenen geometrischen Bereichs B ist. Wird der externe Kraftwinder Kext ermittelt und ist dieser als die gewünschte Vortriebskraft in Kdes , so kann von einer fehlerhaften Ausführung der Aufgabe „Bohren“ ausgegangen werden, beispielsweise wenn das zu bohrende Werkstück verrutscht ist, und der Bohrvorgang trotz Vorschub des Endeffektors 3 nicht eintritt. Ferner weist die Vorrichtung 100 eine Steuereinheit 9 auf, die dazu ausgeführt ist, den Robotermanipulator 1 in einem Fehlermodus anzusteuern, wenn die Recheneinheit 7 eine unerwünschte Kollision des Robotermanipulators 1 und/oder eine fehlerhafte Ausführung der Aufgabe detektiert. Der vorgegebene geometrische Bereich B ist hierbei kugelförmig und der Ort P ist im Zentrum dieser virtuellen Kugel angeordnet. Alternativen für den vorgegebenen geometrischen Bereich sind hierbei in 3 und 4 gezeigt. Der Bereich B ist ferner zeitvariant und abhängig von der Aufgabe. Der erste und der zweite Grenzwert wurden zusammen mit der Aufgabe definiert, da die Vortriebskraft beim Bohren einer Sollkraft entspricht, die der Endeffektor 3 auf das Bauteil beim Bohren ausübt und damit bekannt ist. Der erste Grenzwert wird außerdem kleiner gewählt als der zweite Grenzwert, da beim Bohren mit Störungen zu rechnen ist und diese nicht gleich als unerwünschte Kollision zu interpretieren sind.
-
3 zeigt einen sich aus der Sollbewegung ergebenden Sollbewegungspfad des Endeffektors 3. Der vorgegebene geometrische Bereich B ist eine Kugel mit Zentrum P.
-
4 zeigt einen sich aus der Sollbewegung ergebenden Sollbewegungspfad des Endeffektors 3. Der vorgegebene geometrische Bereich B ist ein sich an den Ort P anschließender Abschnitt des sich aus der Sollbewegung ergebenden Sollbewegungspfades. Der Schnittpunkt einer virtuellen Kugel um den Punkt P definiert hierbei den Beginn des Bereichs B auf dem sich aus der Sollbewegung ergebenden Sollbewegungspfad des Endeffektors 3.
-
Bezugszeichenliste
-
- 1
- Robotermanipulator
- 3
- Endeffektor
- 5
- Kraftbestimmungseinheit
- 7
- Recheneinheit
- 9
- Steuereinheit
- 100
- Vorrichtung
- 200
- Roboter
- S1
- Ermitteln
- S2
- Detektieren
- S3
- Detektieren
- S4
- Ansteuern