-
Die vorliegende Erfindung 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, ein Verfahren zum manuell geführten Bewegen des Roboters, wobei ein so ermittelter Bewegungsbefehl ausgeführt wird, eine Robotersteuerung und ein Computerprogrammprodukt zur Durchführung eines der Verfahren sowie eine Roboteranordnung mit der Robotersteuerung.
-
Aus der
DE 10 2013 218 823 A1 ist ein Verfahren zum manuell geführten Verstellen der Pose bzw. Bewegen eines Industrieroboters bekannt, bei dem eine von einem Bediener auf den Roboter aufgebrachte Führungskraft erfasst und die Antriebe des Roboters kraftgeregelt derart angesteuert werden, dass ein Verstellen einer roboterfesten Referenz nur in derjenigen Freiheit eines Referenz-Koordinatensystems erfolgt, in deren Richtung die Führungskraft ihre größte Kraftrichtungskomponente aufweist.
-
Hierdurch kann beispielsweise durch entsprechend starkes vertikales Ziehen nach unten und anschließendes horizontales Schieben mehr in eine von zwei Koordinatenachsenrichtungen des Referenz-Koordinatensystems der TCP exakt in Richtung zunächst der vertikalen X-Achse und anschließend exakt in Richtung der horizontalen Y- oder Z-Achse handgeführt bewegt werden.
-
Die
WO 2014/043702 A1 schlägt eine nachgiebige Regelung vor, in der Federkräfte einer virtuellen Fesselung an eine kanonische Pose in den Nullraum des kinematisch redundanten Roboters projeziert werden.
-
Aufgabe der vorliegenden Erfindung ist es, eine Befehlseingabe für einen Roboter durch manuelles Ausüben einer externen Kraft auf den Roboter, insbesondere ein manuell geführtes Bewegen des Roboters, zu verbessern.
-
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 bzw. 11 gelöst. Ansprüche 12–14 stellen eine Robotersteuerung zur Durchführung eines hier beschriebenen Verfahrens, eine Roboteranordnung mit der Robotersteuerung bzw. ein Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
-
Nach einem Aspekt der vorliegenden Erfindung wird ein Eingabebefehl für einen Roboter, der durch manuelles Ausüben einer externen Kraft auf den Roboter eingegeben wird, automatisiert auf Basis desjenigen Anteils von bzw. an durch die externe Kraft aufgeprägten Gelenkkräften ermittelt, der bzw. welcher eine Bewegung des Roboters nur in einem für diesen Eingabebefehl spezifischen Unterraum des Gelenkkoordinatenraums des Roboters zu bewirken sucht bzw. bewirkt, bzw. wird ein Eingabebefehl für einen Roboter, der durch manuelles Ausüben einer externen Kraft auf den Roboter eingegeben wird, automatisiert auf Basis eines bzw. des eine Bewegung des Roboters nur in einem für diesen Eingabebefehl spezifischen Unterraum des Gelenkkoordinatenraums des Roboters zu bewirken suchenden bzw. bewirkenden Anteils von bzw. an durch die externe Kraft aufgeprägten Gelenkkräften ermittelt.
-
Durch die Ermittlung auf Basis der Gelenkkräfte bzw. ihres Anteils können in einer Ausführung der vorliegenden Erfindung vorteilhaft dieselben physikalischen Dimensionen zugrunde gelegt werden, während beispielsweise in der eingangs genannten
DE 10 2013 218 823 A1 aufgrund der Projektion in den Arbeitsraum [N] und [Nm] verglichen und hierzu geeignet gewichtet werden müssen.
-
Zusätzlich oder alternativ kann die Ermittlung auf Basis der Gelenkkräfte bzw. ihres Anteils in einer Ausführung präziser und/oder zuverlässiger erfolgen als im Arbeitsraum, insbesondere in der Nähe singulärer Posen aufgrund der dortigen Sensitivität in der Jacobimatrix.
-
Zusätzlich oder alternativ kann die Ermittlung auf Basis der Gelenkkräfte bzw. ihres Anteils in einer Ausführung bei Redundanzen, insbesondere kinematisch redundanten Robotern mit wenigstens sieben Gelenken und/oder Arbeitsräumen mit weniger als sechs Dimensionen vorteilhaft sein. Durch die Projektion in den Arbeitsraum in der eingangs genannten
DE 10 2013 218 823 A1 ergibt sich eine Informationsreduktion.
-
Insbesondere kann in einer Ausführung eine bewusste Bewegung im kinematischen Nullraum aufgrund der Ermittlung auf Basis der Gelenkkräfte bzw. ihres Anteils vorteilhaft erkannt und somit insbesondere das Risiko einer fehlerhaften Interpretation reduziert werden.
-
Der Roboter weist in einer Ausführung wenigstens drei, insbesondere wenigstens sechs, insbesondere wenigstens sieben Gelenke, insbesondere aktuierbare bzw. aktuierte Gelenke, insbesondere durch je wenigstens einen Elektroantrieb, insbesondere -motor, aktuierbare bzw. aktuierte Gelenke, insbesondere Drehgelenke, sowie Glieder auf, die jeweils durch eines der Gelenke miteinander verbunden sind, insbesondere eine Basis, ein Karussell, eine Schwinge, einen Arm, eine Hand, einen (Werkzeug)Flansch und/oder einen Endeffektor. Durch einen Roboter mit wenigstens sieben Gelenken bzw. (Bewegungs)Achsen können vorteilhaft dieselbe dreidimensionale Lage und Orientierung eines Endglieds mit unterschiedlichen Posen bzw. Gelenkstellungen dargestellt und so vorteilhafte, beispielsweise kollisionsfreie, Posen ausgewählt werden.
-
In einer Ausführung ist bzw. wird der Roboter zum Ermitteln eines Eingabebefehls, insbesondere zum manuell geführten Bewegen, durch manuelles Ausüben einer externen Kraft auf den Roboter nachgiebig, insbesondere gravitationskompensiert, geregelt, insbesondere positions- und/oder kraftgeregelt, insbesondere admittanz- oder impedanzgeregelt, beispielsweise wie in der eingangs genannten
DE 10 2013 218 823 A1 oder
WO 2014/043702 A1 beschrieben, auf die ergänzend vollinhaltlich Bezug genommen wird.
-
Zur kompakteren Darstellung werden vorliegend antiparallele Kräftepaare, d. h. Drehmomente, in fachüblicher Weise verallgemeinernd ebenfalls als Kräfte bezeichnet.
-
Unter Gelenkkräften werden vorliegend insbesondere in fachüblicher Weise Kräfte, insbesondere also Drehmomente, verstanden, die in einem Gelenk bzw. zwischen zwei durch das Gelenk verbundenen Glieder des Roboters, insbesondere in einem bzw. auf einen Aktuator bzw. Antrieb des Gelenks, wirken. Beispielsweise prägt die Gewichtskraft eines horizontal gehaltenen Arms in dessen proximalen Drehgelenk eine entsprechende Gelenkkraft in Form eines Halte(dreh)moments auf bzw. ein, eine manuell auf diesen ausgeübte externe Kraft vertikal nach unten ein entsprechendes (zusätzliches) Drehmoment.
-
Die durch die externe Kraft aufgeprägten Gelenkkräfte, die bzw. deren Anteil zur Ermittlung des Eingabebefehls genutzt werden, können in einer Ausführung Gelenkkräfte in allen, insbesondere aktuierbaren bzw. aktuierten, Gelenken des Roboters oder auch (nur) Gelenkkräfte in einer (echten) Teilmenge dieser Gelenken umfassen, insbesondere sein. Unter dem Anteil der Gelenkkräfte, der eine Bewegung des Roboters (nur) in einem eingabebefehlspezifischen Unterraum des Gelenkkoordinatenraums des Roboters zu bewirken sucht, wird vorliegend insbesondere derjenige Anteil der Gelenkkräfte verstanden, der (nur) auf eine Bewegung des Roboters in diesem eingabebefehlspezifischen Unterraum hinwirkt. So sucht beispielsweise im Sinne der vorliegenden Erfindung der horizontale Anteil einer Kraft auf einen Klotz, der den Klotz auf einer horizontalen Ebene verschiebt, eine Bewegung des Klotzes in der horizontalen Ebene zu bewirken, während der vertikale Anteil der Kraft, der diesen Klotz gegen die Ebene presst, im Sinne der vorliegenden Erfindung eine vertikale Bewegung des Klotzes in Richtung auf die Ebene hin zu bewirken sucht.
-
Der Gelenkkoordinatenraum des Roboters ist in einer Ausführung in fachüblicher Weise der (mathematische) Raum, der durch die Gelenkkoordinaten des Roboters aufgespannt und durch die Gelenkkoordinatenbereiche begrenzt ist, bei einem siebenachsigen bzw. -gelenkigen Knickarm- bzw. Drehgelenkroboter beispielsweise der siebendimensionale Raum der Gelenkwinkel q1, ..., q7.
-
In einer Ausführung umfasst ein zu ermittelnder Eingabebefehl einen Bewegungsbefehl zum Bewegen des Roboters in dem eingabebefehlspezifischen Unterraum, er kann insbesondere ein solcher Bewegungsbefehl sein, insbesondere ein Befehl einer translatorischen Verschiebung in einer vorgegebenen Richtung oder Ebene und/oder eine Drehung um eine oder mehrere vorgegebene Achsen. Somit kann in einer Ausführung der Roboter durch manuelles Ausüben einer externen Kraft auf den Roboter manuell geführt werden, insbesondere in Abhängigkeit von, insbesondere proportional zu, einem Betrag der externen Kraft, insbesondere des Anteils der externen Kraft in einer vorgegebenen Richtung oder Ebene und/oder um eine vorgegebene Achse bzw. in Abhängigkeit von, insbesondere proportional zu, einem Betrag des Anteils der durch diese externe Kraft aufgeprägten Gelenkkräfte in dem eingabebefehlspezifischen Unterraum.
-
Zusätzlich oder alternativ kann ein zu ermittelnder Eingabebefehl auch andere Aktionen des Roboters beeinflussen bzw. kommandieren, beispielsweise ein Aktivieren und/oder Deaktivieren eines robotergeführten Werkzeugs, ein Abspeichern einer Pose („Touch-up”) oder dergleichen.
-
In einer Ausführung wird der Eingabebefehl nur als umzusetzender Eingabebefehl ermittelt bzw. jedenfalls (nur) umgesetzt, sofern der Anteil der durch die externe Kraft aufgeprägten Gelenkkräfte in dem eingabebefehlspezifischen Unterraum einen vorgegebenen Schwellwert übersteigt. Hierdurch kann vorteilhaft insbesondere das Risiko einer unbeabsichtigten Fehleingabe reduziert werden. In einer Weiterbildung ist der Schwellwert vom Benutzer bzw. variabel vorgeb- bzw. einstellbar. Hierdurch kann dieser vorteilhaft an unterschiedliche Einsatzbedingungen angepasst werden.
-
In einer Ausführung können wahlweise zwei oder mehr unterschiedliche Eingabebefehle eingegeben werden, für die jeweils unterschiedliche eingabebefehlspezifische Unterräume des Gelenkkoordinatenraums vorgegeben sind bzw. werden, insbesondere Bewegungen in unterschiedlichen Unterräumen oder dergleichen. Insbesondere dann wird in einer Ausführung von zwei oder mehr (möglichen bzw. auswählbaren) Eingabebefehlen mit unterschiedlichen, für den jeweiligen Eingabebefehl spezifischen Unterräumen des Gelenkkoordinatenraums derjenige Eingabebefehl als eingegebener Eingabebefehl ermittelt, in dessen eingabebefehlspezifischem Unterraum die durch die externe Kraft aufgeprägten Gelenkkräfte den größeren, insbesondere den größten, Anteil aufweisen.
-
Dabei kann die Größe des Anteils in einer Ausführung durch eine Norm, insbesondere Betrags- oder Maximumnorm, ermittelt werden, insbesondere eine (Betrags- oder Maximum)Norm über den Anteil, insbesondere den mit dem Betrag der Gelenkkräfte skalierten Anteil oder über eine Differenz zwischen dem Anteil und dem Betrag der Gelenkkräfte.
-
Zur kompakteren Darstellung wird vorliegend auch kein bzw. ein Nicht-Befehl, insbesondere der Befehl keiner Bewegung bzw. eines Haltens einer Pose des Roboters, verallgemeinernd als einer von wenigstens zwei eingebbaren Eingabebefehlen verstanden, d. h. die Menge möglicher Eingabebefehle umfasst neben wenigstens einem aktiven Befehl, beispielsweise einer Bewegung in einem vorgegebenen Unterraum, auch das Element „kein Befehl”, insbesondere „keine Bewegung”. Somit kann insbesondere in einer Ausführung dann, wenn der Anteil der Gelenkkräfte in demjenigen Unterraum, der diesem Nicht-Befehl zugeordnet ist, am größten ist, erkannt werden, dass der Benutzer keinen Befehl eingeben will und etwaige externe Kräfte somit nicht der gewollten Befehlseingabe dienen und daher ignoriert werden.
-
In einer Ausführung ist ein eingabebefehlspezifischer Unterraum des Gelenkkoordinatenraums des Roboters ein bzw. der kinematische Nullraum des Roboters, in dem der Roboter ohne Veränderung seiner Endgliedposition bewegbar ist.
-
Hierdurch kann in einer Ausführung vorteilhaft eine reine oder überwiegende manuell geführte Nullraumbewegung des Roboters vorteilhaft zur Befehlseingabe genutzt werden, beispielsweise die Ablage eines Ellbogens eines siebenachsigen Knickarmroboters wie des KUKA LBR iiwa.
-
Zusätzlich oder alternativ können in einer Ausführung ein oder mehrere eingabebefehlspezifische Unterräume des Gelenkkoordinatenraums des Roboters (jeweils) durch eine benutzer(vor)definiert eingeschränkte Bewegungsmöglichkeit des Roboters, insbesondere einer roboterfesten Referenz wie insbesondere des Tool Center Points (TCP), in einem Arbeitsraum möglicher Posen des Roboters, insbesondere in einem Arbeitsraum möglicher, insbesondere dreidimensionaler, Lagen bzw. Abständen zu einem Bezugssystem und/oder, insbesondere dreidimensionaler, Orientierungen bzw. Verdrehungen um, insbesondere drei, Achsen relativ zu einem Bezugssystem, insbesondere EULER- oder Kardanwinkel, der Referenz, vorgegeben sein bzw. werden.
-
In einer Ausführung sind ein oder mehrere eingeschränkte Bewegungsmöglichkeiten und/oder eingabebefehlspezifische Unterräume durch den Benutzer vorgebbar, insbesondere aus vorgegebenen Bewegungsmöglichkeiten bzw. Unterräumen auswählbar, insbesondere aus einer vorgegebenen Bibliothek.
-
Insbesondere kann in einer Ausführung die bzw. eine der benutzerdefiniert eingeschränkte(n) Bewegungsmöglichkeit(en) eine, insbesondere reine bzw. ausschließliche, Translation längs einer, insbesondere geraden, Kurve, insbesondere längs einer Koordinatenachse der Referenz, umfassen, insbesondere sein. Hierdurch kann der Roboter in einer Ausführung vorteilhaft präzise entlang der Kurve, insbesondere in Richtung der Koordinatenachse, handgeführt bewegt werden.
-
Zusätzlich oder alternativ kann in einer Ausführung die bzw. eine der benutzerdefiniert eingeschränkte(n) Bewegungsmöglichkeit(en) eine, insbesondere reine bzw. ausschließliche, Translation auf bzw. in einer, insbesondere ebenen, dreidimensionalen Fläche, insbesondere einer (durch zwei Koordinatenachsen aufgespannten) Koordinatenebene der Referenz, umfassen, insbesondere sein. Hierdurch kann der Roboter in einer Ausführung vorteilhaft präzise entlang der Fläche, insbesondere parallel zu einer Koordinaten(achsen)ebene, handgeführt bewegt werden.
-
Zusätzlich oder alternativ kann in einer Ausführung die bzw. eine der benutzerdefiniert eingeschränkte(n) Bewegungsmöglichkeit(en) eine, insbesondere reine bzw. ausschließliche, Rotation um eine, zwei oder drei, insbesondere zueinander senkrechte, Achsen, insbesondere Koordinatenachsen der Referenz umfassen, insbesondere sein. Hierdurch kann der Roboter in einer Ausführung vorteilhaft präzise um eine oder mehrere Drehachsen, insbesondere Koordinatenachsen, handgeführt verdreht werden.
-
Insbesondere kann in einer Ausführung die bzw. eine der benutzerdefiniert eingeschränkte(n) Bewegungsmöglichkeit(en) eine Translation längs einer Geraden, insbesondere einer Koordinatenachse der Referenz, sowie eine Rotation bzw. (Ver)Drehung um diese Gerade und/oder eine oder zwei, insbesondere hierzu und/oder zueinander senkrechte, Achsen, insbesondere eine oder zwei (weitere) Koordinatenachse der Referenz umfassen, insbesondere sein. Hierdurch kann in einer Ausführung vorteilhaft ein robotergeführtes Werkzeug, insbesondere ein (minimalinvasives) chirurgisches Instrument, vierdimensional durch einen kardanischen Punkt, insbesondere einen Trokarpunkt, geschoben und um diesen verdreht werden.
-
In einer Ausführung werden die durch die externe Kraft aufgeprägten Gelenkkräfte ermittelt. In einer Weiterbildung werden diese Gelenkkräfte modellgestützt bzw. basierend auf einem (mechanischen bzw. mathematischen Ersatz)Modell des Roboters und/oder auf Basis erfasster Kräfte in Gelenken des Roboters ermittelt, insbesondere auf Basis einer Differenz zwischen, insbesondere direkt, insbesondere durch Sensoren, oder indirekt, insbesondere auf Basis von Strömen, Spannungen, Leistungen der Antriebe oder dergleichen, erfassten aktuellen (Gesamt)Gelenkkräften und modellgestützt bzw. -basiert ermittelten bzw. abgeschätzten Gelenkkräften, insbesondere Gravitations-, Reibungs-, Trägheits- und/oder Prozesskräften. Bis auf Modellfehler entsprechen diese Differenzen dann den – im Modell nicht abgebildeten – Kräften, die durch die (manuell ausgeübte) externe Kraft auf den Roboter (zusätzlich) in den Gelenken aufgeprägt werden bzw. sind.
-
In einer Ausführung wird derjenige Anteil der durch die externe Kraft aufgeprägten Gelenkkräfte, der eine Bewegung des Roboters nur in einem vorgegebenen, für diesen Eingabebefehl spezifischen Unterraum des Gelenkkoordinatenraums des Roboters zu bewirken sucht bzw. bewirkt, auf Basis einer mathematischen Projektion der Gelenkkräfte in diesen Unterraum, insbesondere auf Basis einer Pseudoinversen, insbesondere der Moore-Penose-Pseudoinversen, ermittelt. Hierdurch können, insbesondere bei kinematisch redundanten Robotern, vorteilhaft die höherdimensionalen, insbesondere wenigstens siebendimensionalen, Gelenkkräfte vorteilhaft in einen geringerdimensionalen Unterraum projiziert werden. Allgemein weisen in einer Ausführung der bzw. die eingabebefehlspezifischen Unterräume jeweils eine geringere Dimension auf als der Gelenkwinkelraum, in einer Ausführung weisen ein oder mehrere der Unteräume auch eine geringere Dimension auf als sechs.
-
Wie vorstehend erläutert, können durch ein hier beschriebenes Verfahren vorteilhaft insbesondere Bewegungsbefehle zum handgeführten Bewegen des hierzu vorzugsweise nachgiebig geregelten Roboters eingegeben werden. Entsprechend wird nach einem Aspekt der vorliegenden Erfindung ein Bewegungsbefehl, der durch manuelles Ausüben einer externen Kraft auf den Roboter eingegeben wird, nach einem hier beschriebenen Verfahren automatisiert ermittelt und anschließend ausgeführt, insbesondere, indem auf Basis des Anteils der durch die externe Kraft aufgeprägten Gelenkkräfte, insbesondere proportional zu dessen Betrag und/oder Richtung, eine Sollbewegung, insbesondere Soll-Bewegungsrichtung, Soll-Bewegungsgeschwindigkeit und/oder anzufahrende Soll-Position, und/oder entsprechende Soll-Antriebskräfte des Roboters ermittelt und an die Antriebe bzw. Aktuatoren kommandiert werden.
-
Nach einem Aspekt der vorliegenden Erfindung ist eine Robotersteuerung hard- und/oder software- bzw. programmtechnisch zur Durchführung eines hier beschriebenen Verfahrens eingerichtet und/oder weist auf:
Mittel zum automatisierten Ermitteln eines bzw. des Eingabebefehls, insbesondere Bewegungsbefehls, für einen bzw. den Roboter, der durch manuelles Ausüben einer externen Kraft auf den Roboter eingegeben wird, auf Basis desjenigen Anteils von bzw. an durch die externe Kraft aufgeprägten Gelenkkräften, der bzw. welcher eine Bewegung des Roboters nur in einem für diesen Eingabebefehl spezifischen Unterraum des Gelenkkoordinatenraums des Roboters zu bewirken sucht bzw. bewirkt;
Mittel zum Vergleichen des Anteils mit einem vorgegebenen Schwellwert und Ermitteln des Eingabebefehls als umzusetzender Eingabebefehl nur, sofern der Anteil einen vorgegebenen Schwellwert übersteigt;
Mittel zum Vergleichen der Anteile der Gelenkkräfte in wenigstens zwei für verschiedene Eingabebefehle spezifischen Unterräumen des Gelenkkoordinatenraums und zum Ermitteln desjenigen Eingabebefehls als eingegebenen Eingabebefehl, in dessen eingabebefehlspezifischem Unterraum die Gelenkkräfte den größeren, insbesondere größten, Anteil aufweisen;
Mittel zum Vorgeben, insbesondere Auswählen, wenigstens eines eingabebefehlspezifischen Unterraums des Gelenkkoordinatenraums des Roboters durch Vorgeben, insbesondere Auswählen, einer benutzerdefiniert eingeschränkten Bewegungsmöglichkeit des Roboters, insbesondere einer roboterfesten Referenz, in einem Arbeitsraum möglicher Posen des Roboters, insbesondere in einem Arbeitsraum möglicher Lagen und/oder Orientierungen der Referenz;
Mittel zum Ermitteln der durch die externe Kraft aufgeprägten Gelenkkräfte, insbesondere modellgestützt und/oder auf Basis erfasster Kräfte in Gelenken des Roboters;
Mittel zum Ermitteln desjenigen Anteils der durch die externe Kraft aufgeprägten Gelenkkräfte, der eine Bewegung des Roboters nur in einem vorgegebenen, für diesen Eingabebefehl spezifischen Unterraum des Gelenkkoordinatenraums des Roboters zu bewirken sucht bzw. bewirkt, auf Basis einer mathematischen Projektion der Gelenkkräfte in den Unterraum, insbesondere auf Basis einer Pseudoinversen; und/oder
Mittel zum Ausführen des ermittelten Bewegungsbefehls, insbesondere durch Kommandieren bzw. Ansteuern der Antriebe bzw. Aktuatoren des Roboters.
-
Ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere eine, vorzugsweise mit einem Speicher- und/oder Bussystem daten- bzw. signalverbundene, insbesondere digitale, Verarbeitungs-, insbesondere Mikroprozessoreinheit (CPU) und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die CPU 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 CPU die Schritte solcher Verfahren ausführen kann und damit insbesondere den Eingabebefehl ermitteln, insbesondere den Roboter entsprechend steuern, kann.
-
Nach einem Aspekt der vorliegenden Erfindung weist eine Roboteranordnung einen hier beschriebenen Roboter und eine hier beschriebene Robotersteuerung auf, die den Roboter insbesondere nach einem hier beschriebenen Verfahren steuert, insbesondere regelt, bzw. hierzu eingerichtet ist.
-
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
-
1: eine Roboteranordnung mit einer Robotersteuerung nach einer Ausführung der vorliegenden Erfindung; und
-
2: ein Verfahren zum manuell geführten Bewegen des Roboters nach einer Ausführung der vorliegenden Erfindung.
-
1 zeigt eine Roboteranordnung 1 mit einem Roboter 2 und einer Robotersteuerung 3 nach einer Ausführung der vorliegenden Erfindung.
-
Der Roboter weist Glieder 5–12, insbesondere eine Basis 5 und ein Endglied in Form eines Werkzeugflansches 12, auf, die paarweise durch sieben aktuierte Drehgelenke 4 miteinander verbunden sind, er ist somit kinematisch redundant.
-
Der Roboter führt im Ausführungsbeispiel exemplarisch ein Werkzeug 13 und weist eine roboterfeste Referenz in Form seines TCPs mit den Referenz-Koordinatenachsen x (in Werkzeugachsen- bzw. -längs- bzw. –stoßrichtung) y, z (senkrecht zueinander und zur x-Achse) auf.
-
Der Roboter 2 wird durch die Steuerung 3 nachgiebig geregelt, beispielsweise impedanzgeregelt.
-
Die Steuerung 3 führt dabei ein nachfolgend mit Bezug auf 2 erläutertes Verfahren zum manuell geführten Bewegen des Roboters nach einer Ausführung der vorliegenden Erfindung durch bzw. ist hierzu durch ein entsprechendes Computerprogrammprodukt programmtechnisch eingerichtet.
-
In einem ersten Schritt S10 ermittelt die Steuerung 3 auf Basis von Kräften in Form von Drehmomenten in den Gelenken 4 des Roboters 2, die beispielsweise durch Drehmomentsensoren oder auf Basis von Motorströmen erfasst werden, und eines Modells des Roboters, das die durch seine Masse, Trägheit und Reibung in den Gelenken 4 auftretenden Drehmomente modelliert, die Gelenkkräfte Te, die durch manuelles Ausüben einer externen Kraft F auf den Roboter durch einen Benutzer 15 aufgeprägt werden: Te = Te(F). Hierzu subtrahiert die Steuerung beispielsweise von den erfassten Gelenkkräften die auf Basis des Modells ermittelten Gelenkkräfte. Gleichermaßen könnte die Kraft F beispielsweise auch durch einen sechsachsigen Kraft(-Momenten-)Sensor gemessen und auf Basis der Gelenkwinkel q1, ..., q7 durch die Jacobimatrix J in den Gelenkkoordinatenraum projiziert werden.
-
In einem zweiten Schritt S20 ermittelt die Steuerung denjenigen Anteil TN der durch die externe Kraft aufgeprägten Gelenkkräfte Te, der eine Bewegung des Roboters 2 nur in seinem kinematischen Nullraum, d. h. ohne Veränderung der Lage und Orientierung seines Endglieds 12, zu bewirken sucht bzw. bewirkt.
-
Hierzu ermittelt die Steuerung
3 die transponierte Jacobimatrix
mit der Lage (X, Y, Z) und Orientierung (α, β, γ) des TCPs und den Gelenkwinkel q
1, ..., q
7 der sieben Gelenke
4, die transponierte Moore-Penrose-Pseudoinverse J hieraus die Projektion N
N = 1 – J
T·J
+T in diesen Unterraum des Gelenkkoordinatenraums mit der Einheitsmatrix
1, und daraus den Anteil T
N = N
N·T
e.
-
Darüber hinaus ermittelt die Steuerung im zweiten Schritt S20 denjenigen Anteil TZ,1 der Gelenkkräfte Te, der eine Bewegung des Roboters 2 nur in einem ersten weiteren Unterraum des Gelenkkoordinatenraums des Roboters zu bewirken sucht bzw. bewirkt, der durch eine eingeschränkte Bewegungsmöglichkeit des TCPs längs der x-Koordinatenachse des TCPs vorgegeben ist.
-
Hierzu ermittelt die Steuerung
3 die entsprechend reduzierte transponierte Jacobimatrix
hieraus mit der entsprechenden transponierten Moore-Penrose-Pseudoinverse J
Z,1 +T die Projektion N
Z,1 = [1 – J
Z,1 T·J
Z,1 +T]·J
T·J
+T in diesen ersten weiteren Unterraum des Gelenkkoordinatenraums, und daraus den Anteil T
Z,1 = N
Z,1·T
e.
-
Darüber hinaus ermittelt die Steuerung im zweiten Schritt S20 auch noch denjenigen Anteil TZ,2 der Gelenkkräfte Te, der eine Bewegung des Roboters 2 nur in einem zweiten weiteren Unterraum des Gelenkkoordinatenraums des Roboters zu bewirken sucht bzw. bewirkt, der durch eine eingeschränkte Bewegungsmöglichkeit des TCPs in bzw. auf der y-z-Koordinateneben des TCPs vorgegeben ist.
-
Hierzu ermittelt die Steuerung
3 die entsprechend reduzierte transponierte Jacobimatrix
hieraus mit der entsprechenden transponierten Moore-Penrose-Pseudoinverse J
Z,2 +T die Projektion N
Z,2 = [1 – J
Z,2 T·J
Z,2 +T]·J
T·J
+T in diesen zweiten weiteren Unterraum des Gelenkkoordinatenraums, und daraus den Anteil T
Z,2 = N
Z,2·T
e.
-
Nun ermittelt die Steuerung 3 in einem Schritt S30 den größten Anteil T dieser Anteile TN, TZ,1 und TZ,2: T = max{TN, TZ,1, TZ,2}, wobei als Größe eines Anteils Tu beispielsweise die Betragsnorm ||TN||2 verwendet werden kann.
-
Ist beispielsweise der erste weitere Anteil TZ,1 am größten, bedeutet dies, dass der Benutzer 15 sozusagen am stärksten in Richtung der x-Achse des TCPs drückt. Daraus kann die Steuerung 3 erkennen, dass eine handgeführte Bewegung nur in diesem Unterraum des Gelenkwinkelraums gewünscht ist.
-
Ist andererseits der zweite weitere Anteil TZ,2 am größten, bedeutet dies, dass der Benutzer 15 sozusagen am stärksten in Richtung der y-z-Ebene des TCPs drückt. Daraus kann die Steuerung 3 erkennen, dass eine handgeführte Bewegung nur in diesem Unterraum des Gelenkwinkelraums gewünscht ist.
-
Ist entsprechend der Anteil TN am größten, bedeutet dies, dass die durch den Benutzer 15 aufgebrachte Kraft F sozusagen am stärksten im kinematischen Nullraum des Roboters 2 wirkt, beispielsweise bei festgehaltenem TCP den Ellbogen umpositioniert. Daraus kann die Steuerung 3 erkennen, dass eine handgeführte Bewegung nur im kinematischen Nullraum des Roboters 2 gewünscht ist.
-
In analoger Weise können weitere Unterräume geprüft werden.
-
Zusätzlich oder alternativ ist es auch möglich, beispielsweise den Anteil TN im kinematischen Nullraum des Roboters 2 mit den Gelenkkräften selber zu vergleichen und auf dieser Basis zu entscheiden, ob eine handgeführte Bewegung im kinematischen Nullraum oder eine handgeführte Bewegung des TCPs eingegeben wird.
-
So kann beispielsweise eine handgeführte Bewegung im kinematischen Nullraum erkannt werden, falls eine Bewertungsgröße H = ||TN||/||Te| einen vorgegebenen Grenzwert übersteigt.
-
Man erkennt, dass die reduzierten Jacobimatrizen sich vorteilhaft jeweils durch Streichung der entsprechenden eingeschränkten Bewegungsmöglichkeit(en) des TCPs ergeben. In einer Abwandlung kann alternativ die reduzierte Jacobimatrix auch nur die entsprechende eingeschränkte Bewegungsmöglichkeit des TCPs beschreiben, beispielsweise also
mit entsprechend angepasster Projektion.
-
Dann vergleicht in einem Schritt S40 die Steuerung den so gefundenen Anteil T mit einem vorgebbaren Schwellwert Tmin. Ist der Anteil T größer als dieser (S40: „Y”), wird der Eingabebefehl in einem Schritt S50 umgesetzt, indem Soll-Momente Td der Antriebe der Gelenke 4 des Roboters 2 auf Basis des Anteils T bestimmt werden, beispielsweise proportional zu diesem Anteil T. Anschließend kehrt das Verfahren zu Schritt S10 zurück.
-
Bleibt auch der größte Anteil T unter dem Schwellwert Tmin (S40: „N”), wird eine Befehlseingabe durch die manuell aufgebrachte externe Kraft F verworfen und das Verfahren kehrt direkt zu Schritt S10 zurück.
-
Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist. Außerdem sei darauf hingewiesen, dass es sich bei den exemplarischen Ausführungen lediglich um Beispiele handelt, die den Schutzbereich, die Anwendungen und den Aufbau in keiner Weise einschränken sollen. Vielmehr wird dem Fachmann durch die vorausgehende Beschreibung ein Leitfaden für die Umsetzung von mindestens einer exemplarischen Ausführung gegeben, wobei diverse Änderungen, insbesondere in Hinblick auf die Funktion und Anordnung der beschriebenen Bestandteile, vorgenommen werden können, ohne den Schutzbereich zu verlassen, wie er sich aus den Ansprüchen und diesen äquivalenten Merkmalskombinationen ergibt.
-
Bezugszeichenliste
-
- 1
- Roboteranordnung
- 2
- Roboter
- 3
- Robotersteuerung
- 4
- (Dreh)Gelenk
- 5
- Basis
- 6–11
- Roboterglied
- 12
- Werkzeugflansch (Endglied)
- 13
- Werkzeug
- 15
- Benutzer
- F
- externe Kraft
- Td
- Soll-Moment (Eingabebefehl)
- Te
- durch die externe Kraft aufgeprägte Gelenkkräfte
- Tmin
- Schwellwert
- TN; TZ,1; TZ,2;
- Anteile in einem Unterraum
- TCP
- Tool Center Point
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- DE 102013218823 A1 [0002, 0008, 0010, 0013]
- WO 2014/043702 A1 [0004, 0013]