Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
ASCERTAINING AN INPUT COMMAND FOR A ROBOT, SAID INPUT COMMAND BEING ENTERED BY MANUALLY EXERTING A FORCE ONTO THE ROBOT
Document Type and Number:
WIPO Patent Application WO/2017/008898
Kind Code:
A1
Abstract:
The invention relates to a method for automatically ascertaining an input command (Td) for a robot (1), said input command being entered by manually exerting an external force (F) onto the robot. The input command is ascertained on the basis of the joint force (Te) component attempting to cause a movement of the robot in only one robot joint coordinate sub-space which is specific to the input command, said joint forces being imprinted with the external force.

Inventors:
MEISSNER CHRISTIAN (DE)
MÖNNICH HOLGER (DE)
REICHL TOBIAS (DE)
OSAMA SHAHIN (DE)
Application Number:
PCT/EP2016/001187
Publication Date:
January 19, 2017
Filing Date:
July 11, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
KUKA ROBOTER GMBH (DE)
International Classes:
G05B19/423; B25J9/16; B25J9/18; B25J9/22
Foreign References:
EP2131257A12009-12-09
DE102013218823A12015-04-02
US20110190932A12011-08-04
EP2868445A12015-05-06
US20050222714A12005-10-06
Download PDF:
Claims:
Ansprüche

1 . Verfahren zum automatisierten Ermitteln eines Eingabebefehls (Td) für einen

Roboter (1), der durch manuelles Ausüben einer externen Kraft (F) auf den

Roboter eingegeben wird, wobei der Eingabebefehl auf Basis desjenigen Anteils von durch die externe Kraft (F) aufgeprägten Gelenkkräften (Te) ermittelt wird, der eine Bewegung des Roboters nur in einem für diesen Eingabebefehl spezifischen Unterraum des Gelenkkoordinatenraums des Roboters zu bewirken sucht.

2. Verfahren nach Anspruch 1 , wobei der Eingabebefehl einen Bewegungsbefehl (Td) zum Bewegen des Roboters in dem eingabebefehlspezifischen Unterraum umfasst.

3. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Eingabebefehl nur als umzusetzender Eingabebefehl ermittelt wird, sofern der Anteil der durch die externe Kraft (F) aufgeprägten Gelenkkräften (Te) einen vorgegebenen

Schwellwert (Tmln) übersteigt. 4. Verfahren nach einem der vorhergehenden Ansprüche, wobei von wenigstens zwei Eingabebefehlen mit unterschiedlichen, für den jeweiligen Eingabebefehl spezifischen Unterräumen des Gelenkkoordinatenraums derjenige Eingabebefehl als eingegebener Eingabebefehl ermittelt wird, in dessen

eingabebefehlspezifischem Unterraum die durch die externe Kraft (F)

aufgeprägten Gelenkkräfte (Te) den größeren Anteil aufweisen.

5. Verfahren nach einem der vorhergehenden Ansprüche, wobei ein

eingabebefehlspezifischer Unterraum des Gelenkkoordinatenraums des Roboters ein kinematischer Nullraum des Roboters ist, in dem der Roboter ohne

Veränderung seiner Endgliedposition bewegbar ist. 6. Verfahren nach einem der vorhergehenden Ansprüche, wobei wenigstens ein

eingabebefehlspezifischer Unterraum des Gelenkkoordinatenraums des Roboters durch eine benutzerdefiniert eingeschränkte Bewegungsmöglichkeit des Roboters, insbesondere einer roboterfesten Referenz (TCP), in einem Arbeitsraum möglicher Posen des Roboters, insbesondere in einem Arbeitsraum möglicher Lagen und/oder Orientierungen der Referenz, vorgegeben ist.

7. Verfahren nach Anspruch 6, wobei die benutzerdefiniert eingeschränkte

Bewegungsmöglichkeit wenigstens eines eingabebefehlspezifischen Unterraums des Roboters eine Translation längs einer, insbesondere geraden, Kurve, insbesondere längs einer Koordinatenachse (x) der Referenz, eine Translation auf einer, insbesondere ebenen, Fläche, insbesondere einer Koordinatenebene (y, z) der Referenz, und/oder eine Rotation um eine, zwei oder drei Achsen,

insbesondere Koordinatenachsen (x, y, z) der Referenz umfasst. 8. Verfahren nach einem der vorhergehenden Ansprüche, wobei die durch die

externe Kraft aufgeprägten Gelenkkräfte, insbesondere modellgestützt und/oder auf Basis erfasster Kräfte in Gelenken (4) des Roboters, ermittelt werden.

9. Verfahren nach einem der vorhergehenden Ansprüche, wobei 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, auf Basis einer mathematischen Projektion (NN, Nz, , Nz 2) der Gelenkkräfte in den Unterraum, insbesondere auf Basis einer Pseudoinversen, ermittelt wird.

10. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Roboter

wenigstens sieben Gelenke (4) aufweist.

11. Verfahren zum manuell geführten Bewegen eines Roboters (2), wobei ein durch manuelles Ausüben einer externen Kraft (F) auf den Roboter eingegebener Bewegungsbefehl (Td) nach einem Verfahren nach einem der vorhergehenden Ansprüche automatisiert ermittelt und anschließend ausgeführt wird. 12. Robotersteuerung (3), die zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche eingerichtet ist.

13. Roboteranordnung (1 ), die einen Roboter (2), insbesondere mit wenigstens sieben Gelenken (4), und eine Robotersteuerung (3) nach Anspruch 12 aufweist.

14. Computerprogrammprodukt mit einem Programmcode, der auf einem von einem Computer lesbaren Medium gespeichert ist, zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 11.

Description:
Ermitteln eines Eingabebefehls für einen Roboter, der durch manuelles Ausüben einer Kraft auf den Roboter eingegeben wird

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 irtuellen Fesselung an eine kanonische Pose in den Nullraum des kinematisch redundanten Roboters projiziert 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. 1 1 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.

Als Gelenkkraft kann insbesondere die in einem Gelenk des Roboters wirkende Kraft bzw. ein im Gelenk wirkendes Drehmoment bzw. Achsmoment verstanden werden. Zwecksmäßigerweise können Drehmomente bzw. Achsmomente in den Gelenken durch Drehmomentensensoren der Gelenke erfasst bzw. gemessen werden.

Der Unterraum des Gelenkkoordinatenraumes weist zweckmäßigerweise eine geringere Dimension auf als der Gelenkkoordinatenraum. Beispielsweise kann ein Gelenkkoordinatenraum eines 7-achsigen Knickarmroboters sieben Dimensionen aufweisen, während einer der entsprechenden Unterräume für einen Eingabebefehl sechs, fünf, vier, drei, zwei oder bevorzugt lediglich eine Dimension(en) aufweist.

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 des Roboters durch manuelle Führung im kinematischen Nullraum aufgrund der Ermittlung auf Basis der Gelenkkräfte bzw. ihres Anteils vorteilhaft erkannt und somit insbesondere das Risiko einer fehlerhaften Interpretation der manuellen Führung 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 qi,... ,q 7 . 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. Beispielsweise kann eine Endgliedposition durch sechs Koordinaten bestimmt sein und zwar drei Ortskoordinaten und drei Orientierungskoordinaten, die angeben in welcher Orientierung das Endglied im Raum positioniert ist. Ein Knickarmroboter mit sechs Gelenken weist eine eineindeutige Zuordnung zwischen den Gelenkstellungen und den sechs Koordinaten der Endgliedposition auf. Dagegen weist ein

Knickarmroboter mit sieben Gelenken einen eindimensionalen kinematischen

Nullraum auf. Dass dieser kinematische Nullraum eindimensional ist bedeutet, dass eine Funktion der Achsstellungen der sieben Gelenke von einem einzigen Parameter existiert, so dass dieser Parameter veränderbar ist und sich die Achsstellungen der Gelenke, bevorzugt aller sieben Gelenke, derart ändert, dass die sechs Koordinaten der Endgliedposition konstant bleiben, sich also das Endglied nicht im Raum bewegt. Beispielsweise kann eine Endgliedposition auch lediglich durch die drei Ortskoordinaten bestimmt sein. Ein Knickarmroboter mit sechs Gelenken weist dann entsprechend einen dreidimensionalen kinematischen Nullraum auf, ein

Knickarmroboter mit sieben Gelenken einen vierdimensionalen kinematischen

Nullraum.

Der eingabebefehlspezifischer Unterraum kann dementsprechend ein

Bewegungsraum des Roboter sein, der durch eine Anzahl von Parametern

parametrisierbar ist, die kleiner ist als die Anzahl der Gelenke des Roboters.

Insbesondere kann der eingabebefehlspezifischer Unterraum eines sechsachsigen Knickarmroboters ein, zwei, drei, vier oder fünf Dimensionen haben und durch ebensoviele Parameter parametrisierbar sein. Entsprechend kann der

eingabebefehlspezifischer Unterraum eines siebensachsigen Knickarmroboters ein, zwei, drei, vier, fünf oder sechs Dimensionen haben und durch ebensoviele

Parameter parametrisierbar sein. Bevorzugt kann die Variation eines oder mehrerer Parameter(s) des eingabebefehlspezifischen Unterraums zu einer Änderung der

Achsstellungen mehrerer Gelenke, bevorzugt mehr Gelenke als geänderte Parameter, und insbesondere aller Gelenke führen. Beispielsweise kann die Änderung des einzigen Parameters eines eindimensionalen eingabebefehlspezifischen Unterraums zu einer Änderung der Achsstellungen von zwei, drei, vier, fünf, sechs, sieben oder mehr Gelenken, insbesondere aller Gelenke des Roboters, führen. Unter einem Gelenk können dabei neben rotatorischen Gelenken eines Knickarmroboters auch translatorische Gelenke verstanden werden, also Gelenke, die eine lineare

Verlagerung ermöglichen, wie beispielsweise Linearachsen, auf denen insbesondere ein Knickarmroboter montiert sein kann. 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: Fig. 1 : eine Roboteranordnung mit einer Robotersteuerung nach einer

Ausführung der vorliegenden Erfindung; und

Fig. 2: ein Verfahren zum manuell geführten Bewegen des Roboters nach einer Ausführung der vorliegenden Erfindung.

Fig. 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 Fig. 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 T e , die durch manuelles Ausüben einer externen Kraft F auf den Roboter durch einen Benutzer 15 aufgeprägt werden: T e = T e (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 qi , ... ,q 7 durch die Jacobimatrix J in den Gelenkkoordinatenraum projiziert werden.

In einem zweiten Schritt S20 ermittelt die Steuerung denjenigen Anteil T N der durch die externe Kraft aufgeprägten Gelenkkräfte T e , 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 qt , ... ,q 7 der sieben Gelenke 4, die transponierte Moore-Penrose-Pseudoinverse J +T , 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 T z , 1 der Gelenkkräfte T e , 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 dY dY

dq ] dq n

dZ dZ

dq x dq 7

da da

dq x dq 7

dß dß

dq ] dq 7

d dy

dq x dq 7 hieraus mit der entsprechenden transponierten Moore-Penrose-Pseudoinverse J z , Γ τ die Projektion N z, 1 = [1 - Jz, i T J z, i +T ] · J T J +T in diesen ersten weiteren Unterraum des Gelenkkoordinatenraums, und daraus den Anteil T z , 1 = N z , ι · T e .

Darüber hinaus ermittelt die Steuerung im zweiten Schritt S20 auch noch denjenigen Anteil T z, 2 der Gelenkkräfte T e , 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 dX dX

dq l dq 7

da da

dq x dq 7

dß dß

dq x dq 7

dy dy

dq x dq 7 hieraus mit der entsprechenden transponierten Moore-Penrose-Pseudoinverse J z , 2 die Projektion N z , 2 = [1 - Jz, 2 T 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 N, T 2 , 1 und T z , 2. T = max{T N , T z , 1 , T z , 2}, wobei als Größe eines Anteils T u

beispielsweise die Betragsnorm || T N || 2 verwendet werden kann.

Ist beispielsweise der erste weitere Anteil T z, 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 T Z, 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 T N 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 T N 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 = || T N ||/|| T e || 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 T min . Ist der Anteil T größer als dieser (S40:„Y"), wird der Eingabebefehl in einem Schritt S50 umgesetzt, indem Soll-MomenteT d 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 T min (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-1 1 Roboterglied

12 Werkzeugflansch (Endglied)

13 Werkzeug

15 Benutzer

F externe Kraft

T d Soll-Moment (Eingabebefehl)

T e durch die externe Kraft aufgeprägte Gelenkkräfte

Tmin Schwellwert

TN! Z, Ü TZ, 2, Anteile in einem Unterraum

TCP Tool Center Point