-
TECHNICHES GEBIET
-
Die vorliegende Offenbarung betrifft das Planen des Greifens eines Roboters in Echtzeit.
-
HINTERGRUND
-
Robotergreiforgane wirken beim Ausführen einer Arbeitsaufgabe direkt auf ein Objekt ein. Beispielhafte Greiforgane umfassen Robotergreifer oder Hände. Ein derartiges Greiforgan kann beispielsweise verwendet werden, um ein Objekt in einem gegebenen Aufgabenraum zu ergreifen und zu manipulieren. Die Entwurfskomplexität eines typischen Greiforgans kann relativ einfach sein, etwa in dem Fall eines zweifingrigen parallelen Greifers, oder hochgradig fortgeschritten, etwa bei einer fünffingrigen fingerfertigen anthropomorphen Roboterhand. Zwischen diesen Komplexitätsextremen liegen andere Greiferkonstruktionen, etwa dreifingrige oder vierfingrige Hände sowie eine große Anzahl anderer Greiforgankonstruktionen.
-
Mit Robotergreifern verbundene Aufgaben variieren mit der Greiferkonstruktion, der geometrischen Komplexität des Objekts, das ergriffen wird, und mit dem Vorhandensein von Hindernissen oder anderen Beschränkungen durch die Umgebung. Das Planen des Greifens für eine gegebene Greifpose umfasst herkömmlich ein umfangreiches Programmieren eines Controllers mit vordefinierten Greiforgan-Pfadtrajektorien. Innerhalb dieser vordefinierten Trajektorien können die Position und die Geschwindigkeit des Greiforgans in einem Regelkreis kontinuierlich gemessen und gesteuert werden, während sich das Greiforgan zu einer spezifizierten Zielposition hin bewegt. Alternativ kann in einem Prozess, der als Teachen durch Demonstration bezeichnet wird, ein menschlicher Bediener eine demonstrierte Bewegung und Greifpose für den Roboter manuell rückwärts verfahren und/oder automatisch befehlen, indem er das Greiforgan physikalisch durch eine vorbestimmte Bewegung bewegt.
-
Die Druckschrift
EP 0 671 246 A2 offenbart ein Robotersystem mit einem ortsfesten Werkzeug und einem geführten Werkstück, das ein greiferbezogenes Handverfahren verwendet, bei dem der Drehpunkt bei Orientierungsänderungen des Werkstücks immer im Ursprung eines Basiskoordinatensystems liegt.
-
In der Druckschrift
DE 198 16 953 A1 ist eine Anordnung zum Erzeugen von Schwenkbewegungen an Abtriebselementen offenbart, die ein flexibles, folienartiges Element aufweist, an dem mindestens ein Abtriebselement angeordnet ist. Durch Aufbringen einer Kraft auf das folienartige Element wird dieses verformt und dadurch das mindestens eine Abtriebselement verschwenkt.
-
Die Druckschrift
DE 10 2009 017 104 A1 offenbart ein Verfahren und ein System zur Kraftrückkopplung zum Interagieren eines Benutzers mit einer virtualisierten Umgebung, bei denen ein Gegenstand mit einer verformbaren Gestalt verwendet wird, dessen Kraftrückkopplung mittels eines Computermodells des Gegenstandes ermittelt wird.
-
In der Druckschrift
DE 10 2010 018 440 A1 ist ein hierarchisches Robotersystem zum Steuern ausgewählter Freiheitsgrade eines Objekts unter Verwendung mehrerer Manipulatoren offenbart, bei dem bei jedem Grifftyp automatisch die internen Kräfte parametrisiert werden.
-
Die Druckschrift
DE 10 2006 036 490 A1 offenbart ein Verfahren und eine Vorrichtung zum Steuern eines Handhabungsgeräts, bei denen virtuelle Abbilder des Handhabungsgeräts und eines Werkstücks entsprechend einer vorgegebenen Sollposition so bewegt werden, dass die Bewegung eine Kinematikbeschreibung einhält. Das reale Handhabungsgerät und das Werkstück werden entsprechend der Bewegung des Abbilds bewegt.
-
In der Druckschrift
DE 10 2006 005 344 A1 ist ein Verfahren zur Simulation eines Montagevorgangs zur Montage eines Anbauteils an ein Fertigungsobjekt mit Hilfe eines Handhabungsautomaten offenbart, bei dem Konstruktionsmodelle des Anbauteils und des Fertigungsobjekts und ein Kinematikmodell des Handhabungsautomaten vorgegeben werden. Das Simulationsverfahren werden Relativpositionen von Anbauteil und Fertigungsobjekt zueinander und Positionskorrekturen berechnet, aus denen eine Bewegung des Anbauteil-Konstruktionsmodells und des Kinematikmodells berechnet wird.
-
Die Aufgabe der Erfindung besteht darin, eine optimale Greifpose, mit der ein Greiforgan eines Roboters ein Objekt ergreift, so zu bestimmen, dass beim Ergreifen des Objekts auftretende Verwindungen optimal ausgeglichen werden.
-
Diese Aufgabe wird durch das Verfahren gemäß Anspruch 1 sowie das Robotersystem nach Anspruch 7 gelöst.
-
ZUSAMMENFASSUNG
-
Es werden hier ein System und ein Verfahren offenbart, die gemeinsam eine alternative Herangehensweise für die vorstehend erwähnten Typen der Planung des Greifens eines Roboters bereitstellen. Das System umfasst einen Roboter mit einem Greiforgan, das ausgestaltet ist, um ein dreidimensionales Objekt zu ergreifen. Das System umfasst außerdem einen Controller, der eine optimale Greifpose des Greiforgans zum Ergreifen des Objekts für eine gegebene Aufgabe automatisch plant und wählt. Der Controller verwendet bekannte Dimensionen und eine bekannte Gestalt des Objekts als Teil eines Satzes von Steuerungseingaben. Die Steuerungseingaben werden mit Hilfe des Controllers verarbeitet, um die optimale Greifpose des Roboters sowohl hinsichtlich der Greifposition als auch der Greiforientierung zu bestimmen.
-
Insbesondere, und zentral für die vorliegende Herangehensweise, ist die optimale Greifpose, die hier bestimmt wird, diejenige spezielle Greifpose, welche die Verwindung der Aufgabe in einem statischen Gleichgewicht am besten ausgleicht. Der Begriff ”Verwindung”, bezeichnet, so wie er in dem vorliegenden Steuerungskontext verwendet wird, die Verkettung der Kraft und des Drehmoments, ein Konzept, das in der Statik gut bekannt ist. Wie außerdem in der Technik gut bekannt ist, können Systeme mit mehreren Kräften und Drehmomenten mathematisch auf ein äquivalentes System mit einer einzigen Kraft und einem einzigen Drehmoment reduziert werden, so dass das resultierende Drehmoment gemäß dem Theorem von Poinsot parallel zu der resultierenden Kraft ist. Das Ausführen des vorliegenden Verfahrens hat das beabsichtigte Ergebnis des automatischen Platzierens und Ausrichtens des Greiforgans, um die Greifverwindung und die Aufgabenverwindung optimal auszugleichen, d. h. die Verwindung, die auf das Objekt aufgrund der Ausführung des Greifens selbst (Greifverwindung) einwirkt, und die Verwindung, die auf das Objekt aufgrund der auszuführenden Aufgabe (Aufgabenverwindung) einwirkt. Ein hier verwendetes Beispiel ist das Ergreifen eines Türgriffs mit einem beispielhaften dreifingrigen Greifen, gefolgt von einem Bewegen des ergriffenen Türgriffs zu einem Türblech zur Installation.
-
In einer speziellen Ausführungsform bestimmt ein Verfahren eine optimale Greifpose eines Objekts durch ein Greiforgan eines Roboters bei der Ausführung einer Aufgabe. Das Verfahren umfasst, dass mit Hilfe eines Controllers ein Satz von Eingaben empfangen wird, der einen deskriptiven Parameter des Objekts, eine Aufgabenverwindung mit einem Referenzrahmen und eine befohlene Greifkraft des Greiforgans umfasst. Das Verfahren umfasst außerdem, dass eine Greifverwindung in dem Referenzrahmen der Aufgabenverwindung berechnet wird und dass dann die Greifpose mit Hilfe des Controllers gedreht und verschoben wird, bis die Aufgabenverwindung und die Greifverwindung optimal ausgeglichen sind, d. h., wenn die Summe aus der Aufgabenverwindung und der Greifverwindung minimiert ist, wie hier erläutert wird. Zudem zeichnet der Controller die optimale Greifpose im Speicher als diejenige Greifpose auf, bei welcher die Greifverwindung und die Aufgabenverwindung ausgeglichen sind, und er führt dann eine Steuerungsaktion mit Hilfe des Controllers unter Verwendung der optimalen Greifpose aus.
-
Das Verfahren kann umfassen, dass eine anfängliche Greifpose für das Greiforgan an dem Objekt als willkürliche Annäherungs-Greifpose gewählt wird, die das Objekt mit einem Satz von Greifkontakten ergreift, und dass die resultierende Greifverwindung der anfänglichen Greifpose berechnet wird.
-
Das Greiforgan kann eine Handfläche und mehrere Finger umfassen und die Greifpose des Greiforgans besteht aus zwei Teilen: die Position und Orientierung der Handfläche und die Positionen aller Fingergelenke. Das Berechnen der Greifpose kann umfassen, dass eine Position und Orientierung der Handfläche und/oder der Positionen der Fingergelenke mit sicheren Greifkontakten jedes der Finger berechnet werden, beispielsweise unter Verwendung bekannter Kinematiken des Greiforgans und der bekannten Dimensionen und der bekannten Position des Objekts. Das Berechnen der Greifpose kann umfassen, dass ein Annäherungsvektor, eine Richtung oder eine Trajektorie von dem Greiforgan zu dem Objekt berechnet wird bzw. werden und dass dieser Annäherungsvektor, diese Richtung oder diese Trajektorie verwendet wird bzw. werden, um eine Position und Orientierung der Handfläche und/oder der Positionen der Fingergelenke mit sicheren Greifkontakten an dem Objekt zu berechnen. Das Berechnen der Greifpose kann beliebige relevante Beschränkungen der Umgebung umfassen, etwa planare Restriktionen, die bestimmte Positionen oder Orientierungen der Handfläche oder der Fingergelenkpositionen einschränken.
-
Das Drehen und Verschieben der Greifpose des Greiforgans kann umfassen, dass nur die Position und Orientierung der Handfläche des Greiforgans gedreht und verschoben werden und dass dann alle Fingergelenkpositionen für die Greifkontakte berechnet werden. Das Drehen und Verschieben der Greifpose kann auf orthogonal zerlegten Drehmomentkomponenten beruhen, die rechtwinklig und parallel zu der Kraft sind.
-
Ein Robotersystem enthält einen Roboter mit einem Greiforgan und einen Controller mit einem Prozessor und einem konkreten nicht vorübergehenden Speicher, in dem Anweisungen aufgezeichnet sind, um eine optimale Greifpose eines Objekts für das Greiforgan beim Ausführen einer Aufgabe zu bestimmen. Das Ausführen der Anweisungen durch den Prozessor veranlasst den Controller, mit Hilfe eines Controllers einen Satz von Eingaben zu empfangen, der einen deskriptiven Parameter des Objekts, eine Aufgabenverwindung mit einem Referenzrahmen und eine befohlene Greifkraft des Greiforgans umfasst. Außerdem berechnet der Controller eine Greifverwindung in dem Referenzrahmen der Aufgabenverwindung und er dreht und verschiebt die Greifpose, bis die Aufgabenverwindung und die Greifverwindung optimal ausgeglichen sind. Der Controller zeichnet die optimale Greifpose in dem Speicher als diejenige Greifpose auf, bei welcher die Greifverwindung und die Aufgabenverwindung optimal ausgeglichen sind, und er führt mit Hilfe des Controllers unter Verwendung der aufgezeichneten optimalen Greifpose eine Steuerungsaktion aus.
-
Die vorstehenden Merkmale und Vorteile und andere Merkmale und Vorteile ergeben sich leicht aus der folgenden genauen Beschreibung und den beiliegenden Zeichnungen.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist eine schematische Darstellung eines beispielhaften Systems, das einen Roboter mit einem Greiforgan und einen Controller aufweist, der betrieben werden kann, um ein optimales Ergreifen eines Objekts durch das Greiforgan zu planen.
-
2 ist ein Flussdiagramm, das eine beispielhafte Ausführungsform eines Verfahrens zum Planen eines optimalen Ergreifens eines Objekts unter Verwendung des in 1 gezeigten Systems beschreibt.
-
3A zeigt schematisch die Greifkräfte und Greifdrehmomente, die auf ein beispielhaftes Objekt in der Form eines Türgriffs aufgebracht werden.
-
3B zeigt schematisch die Nettogreifkraft und das Nettogreifdrehmoment, die auf das in 3A gezeigte Objekt wirken.
-
4 zeigt eine orthogonale Zerlegung der Nettogreifkraft und des Nettogreifdrehmoments von 3B.
-
5 zeigt eine orthogonale Zerlegung der Aufgabenkraft und der Drehmomentverwindungen.
-
6A und 6B zeigen die gedrehte und verschobene Nettogreifkraft und das gedrehte und verschobene Nettogreifdrehmoment, die auf die Aufgabenkraft und das Aufgabendrehmoment als Teil des vorliegenden Verfahrens ausgerichtet sind.
-
GENAUE BESCHREIBUNG
-
Mit Bezug auf die Zeichnungen, bei denen gleiche Bezugszeichen gleiche oder ähnliche Komponenten in den mehreren Ansichten bezeichnen, ist in 1 ein Robotersystem 10 schematisch gezeigt. Das Robotersystem 10 enthält einen Roboter 20 und einen Controller (C) 40. Der Roboter 20 ist als beispielhafter mehrachsiger Fertigungs- oder Montageroboter mit einem Greiforgan 14 gezeigt, das an einem distalen Ende eines Roboterarms 16 angeordnet ist. Das Greiforgan 16 kann eine Roboterhand oder ein Greifer sein, die bzw. der mehrere Finger 15 aufweist, die gemeinsam betrieben werden können, um eine große Menge von Greifposen auszuführen, etwa einen Zangengriff, einen Kraftgriff der gesamten Hand unter Verwendung einer Handfläche 17 und dergleichen. Die Planung des Greifens für das Greiforgan 14 und den Roboterarm 16 wird mit Hilfe des Controllers 40 über das Ausführen von Anweisungen, die ein Verfahren 100 verkörpern, automatisch ausgeführt, wobei ein Beispiel dafür nachstehend mit Bezug auf 2 beschrieben wird. 3A–6B, welche die verschiedenen Schritte des Verfahrens 100 weiter erläutern, werden in Verbindung mit 2 beschrieben.
-
Der vorliegenden Herangehensweise bei der Steuerung liegt die Erkenntnis zugrunde, dass es für ein spezielles Objekt 12, etwa wie gezeigt für einen beispielhaften Türgriff, mehrere gültige Greifposen für das Greiforgan 14 geben kann. Eine beliebige der gültigen Greifposen kann verwendet werden, um das Objekt 12 sicher zu halten. Jedoch kann die beabsichtigte auszuführende Aufgabe variieren. Eine beispielhafte Aufgabe könnte das Ergreifen und Aufheben des Objekts 12 unter Verwendung des Greiforgans 14, gefolgt von dem Bewegen des Objekts 12 an eine andere Stelle sein. Eine andere Aufgabe könnte ein Ende 19 des Objekts 12 verwenden, um gegen eine Oberfläche eines Türblechs 13 einer Fahrzeugkarosserie 11 zu drücken und/oder Nasen 23 des Objekts 12 in passende Nuten 22 einzuführen, die von dem Blech 13 definiert werden, wenn man bei dem nicht einschränkenden beispielhaften Türgriff von 1 bleibt.
-
Ohne dass der Controller 40 über eine vorherige Kenntnis der auszuführenden speziellen Aufgabe verfügt, könnte jedoch eine beliebige der vielen gültigen Greifposen gewählt werden, um das Objekt 12 einfach zu ergreifen und zu halten. Beispielsweise kann das Objekt 12 bei dem beispielhaften Türgriff, der in den verschiedenen Figuren gezeigt ist, in seiner Mitte oder an seinem Ende 19 oder an einer anderen Stelle mit einer beliebigen Anzahl möglicher Greiforientierungen ergriffen werden. Der Controller 40 und das Verfahren 100 sind daher so programmiert oder auf andere Weise zum Lösen dieser speziellen Steuerungsherausforderung ausgestaltet, um in Echtzeit automatisch zu berechnen und zu entscheiden, welche der vielen möglichen Greifposen im Vergleich mit den anderen optimal ist, d. h. für die anstehende spezielle Aufgabe. Der Controller 40 trifft diese Entscheidung unter Verwendung der vorstehend allgemein erwähnten Herangehensweise zum Verwindungsausgleich, welche nachstehend mit Bezug auf 3A–6B in größerem Detail offengelegt wird.
-
Zum Ausführen des Verfahrens 100 empfängt der Controller 40 von 1 einen Satz von Steuerungseingaben (CCI) und er berechnet ausgestattet mit dem Vorwissen über die Konstruktion und die Kinematiken des Roboters 20 die Greifpose und damit die Greifverwindung. In einer möglichen Ausführungsform können die Steuerungseingaben (CCI) einen deskriptiven Parameter des Objekts 12, etwa die Gestalt (S) und den Aufenthaltsort (L), sowie eine bekannte oder gegebene Aufgabenverwindung (wT) und eine befohlene Greifkraft (F14) des Greiforgans umfassen. Der Controller 40 berechnet die optimale Greifpose als diejenige spezielle Pose, welche die bekannte oder gegebene Aufgabenverwindung mit der Greifverwindung am genauesten ausgleicht.
-
Sobald diese Entscheidung getroffen wurde, stellt der Controller 40 als nächstes einen Satz von Steuerungsaufgaben (CCO) für den Roboter 20 bereit, wobei die Steuerungsausgaben (CCO) das Ausführen der optimalen Greifpose befehlen. Außerdem kann in Abhängigkeit von der gewünschten Ausführungsform eine präzise Bewegungssteuerung des Roboters 20, die eine Steuerung über die feinen und groben Bewegungen umfasst, die zum Ergreifen und Manipulieren des Objekts 12 mit Hilfe des Greiforgans 14 benötigt werden, mit Hilfe des Controllers 40 oder durch ein anderes Steuerungssystem ausgeführt werden. Unabhängig von der Konstruktion des Controllers 40 kann in der Steuerungsgesamtarchitektur jedes Gelenk des Roboters 20 und andere integrierte Systemkomponenten nach Bedarf gesteuert werden, um die Bewegungen des Greiforgans 14 beim Ausführen einer Arbeitsaufgabe vollständig zu koordinieren.
-
Der Controller 40 von 1 kann mehrere digitale Computer oder Datenverarbeitungsvorrichtungen umfassen, die jeweils einen oder mehrere Prozessoren (P) und Speicher (M) einschließlich ausreichender Mengen an konkretem, nicht vorübergehendem Speicher, etwa optischen oder magnetischen Festwertspeicher (ROM) sowie Speicher mit wahlfreiem Zugriff (RAM), löschbaren, elektrisch programmierbaren Festwertspeicher (EEPROM) und dergleichen aufweisen. Der Controller 40 kann außerdem einen Hochgeschwindigkeits-Taktgeber, Analog/Digital-Schaltungen (ND-Schaltungen), Digital/Analog-Schaltungen (D/A-Schaltungen) und beliebige benötigte Eingabe/Ausgabe-Schaltungen und -Vorrichtungen (I/O-Schaltungen und -Vorrichtungen) sowie Signalaufbereitungs- und Pufferelektronik enthalten. Einzelne Steuerungsalgorithmen, die im Controller 40 vorhanden sind oder für diesen leicht zugänglich sind, können im Speicher (M) gespeichert sein und mit Hilfe des Prozessors (P) auf einer oder mehreren verschiedenen Steuerungsebenen automatisch ausgeführt werden, um die jeweilige Steuerungsfunktionalität bereitzustellen.
-
Zur Einfachheit und Konsistenz der Veranschaulichung wird das Objekt 12 hier anschließend wie eine starre dreidimensionale Komponente behandelt, etwa der nicht einschränkende beispielhafte Türgriff von 1, der in der folgenden Beschreibung verwendet wird. Außerdem können nicht starre oder flexible Objekte verwendet werden. Jedoch würde die Komplexität der Programmierung für flexible Teile zunehmen, möglicherweise erheblich, da sich die Gestalt des Objekts 12 in einem derartigen Fall in Abhängigkeit von der Orientierung der ausgeführten Greifpose wahrscheinlich verändern würde. Beispielsweise würde ein flexibler Zylinder, wenn er an seinem axialen Mittelpunkt ergriffen und aufgehoben würde, wie ein umgedrehtes U erscheinen. Wenn er an seinem Ende gehalten wird, würde die Gestalt ein Zylinder bleiben. Daher könnte sich die Gestalt eines flexiblen Teils mit dem Ort und der Orientierung der Greifpose verändern. Bei einem starren Teil würde eine derartige Gestaltvariation offensichtlich nicht auftreten. Daher kann die Anwendung des vorliegenden Verfahrens 100 auf nicht starre Teile, obwohl es möglich ist, ein umfassendes Modellieren der vielen möglichen Weisen erfordern, in welchen sich die Gestalt des Objekts und die zugehörigen Greifkräfte und Drehmomente verändern können.
-
Immer noch mit Bezug auf
1 besteht ein Ziel des vorliegenden Verfahrens
100 darin, festzustellen, wo das Greiforgan
14 das Objekt
12 halten soll, um der bekannten oder gegebenen Aufgabenverwindung mit einer Nettogreifverwindung bestmöglich entgegenzuwirken, d. h. mit der linearen Nettokraft und mit der rotatorischen Koppelkraft oder dem Drehmoment, die bzw. das durch die Greifpose ausgeübt werden. Der Controller
40 plant die Richtung der Annäherung des Greifens (Pfeil A) derart, dass die Nettogreifverwindung im Idealfall die Aufgabenverwindung ausgleicht, d. h.:
wT = wG wobei W
G und w
T die Nettogreifverwindung bzw. die Nettoaufgabenverwindung sind. Die bekannte oder gegebene Aufgabenverwindung w
T kann in einem typischen kartesischen Bezugsrahmen des Objekts
12 als sechsdimensionaler Vektor ausgedrückt werden, wobei:
wobei
f →t und τ
t jeweils die lineare Kraft und das Drehmoment sind, die während der Ausführung der Aufgabe auf das Objekt
12 ausgeübt werden, und
p →t der Positionsvektor ist, wo Kraft auf das Objekt
12 aufgebracht wird.
-
Mit Bezug auf 2 führt der Controller 40 von 1 das Verfahren 100 aus, um eine iterative Herangehensweise zur Bestimmung der optimalen Greifpose bereitzustellen, wobei dies erledigt wird, indem eine zuvor berechnete Greifpose nach Bedarf verschoben und/oder gedreht wird, um die Aufgabenverwindung und die Greifverwindung am besten/optimal auszugleichen. Bei Schritt 102 beginnend empfängt der Controller 40 den Satz von Eingaben (CCI), welcher wie vorstehend mit Bezug auf 1 erwähnt wurde, die Gestalt und den Aufenthaltsort des Objekts 12, die Aufgabenverwindung (wT) und die befohlene Greifkraft, die von dem Greiforgan 14 auf das Objekt 12 aufgebracht wird, d. h. die Greiforgan-Greifkraft umfassen kann. Dann geht der Controller 40 zu Schritt 104 weiter.
-
Bei Schritt 104 wählt der Controller 40 als nächstes einen anfänglichen Annäherungsvektor, der als Pfeil A dargestellt ist, für das Greiforgan 14 an das Objekt 12, so, als wäre keine Aufgabenanforderung vorhanden. Das heißt, dass der Controller 40 einen willkürlichen Annäherungsvektor an das Objekt 12 auswählt und danach zu Schritt 106 weitergeht.
-
Schritt 106 umfasst, dass eine Greifpose unter Verwendung des Annäherungsvektors berechnet wird, der in Schritt 104 gewählt wurde, welche sichere Greifkontakte (CG) des Greiforgans 14 an dem Objekt 12 erzeugt. Schritt 106 kann umfassen, dass die Position und die Orientierung der Handfläche 17 und Gelenkpositionen eines jeden Fingers 15 des beispielhaften Greiforgans 14, das die Greifkontakte erzeugt, berechnet werden, z. B. unter Verwendung der bekannten Kinematiken und des Annäherungsvektors.
-
Schritt 106 umfasst außerdem, dass beliebige relevante Beschränkungen durch die Umgebung bestimmt werden, etwa beliebige planare Restriktionen an dem Greiforgan 14, und dass die Greifpose beruhend auf diesen Beschränkungen durch die Umgebung justiert wird. Beispielsweise kann das Objekt 12 gerade auf einem Tisch stehen, wobei sich das Greiforgan 14 in diesem Fall dem Objekt 12 von bestimmten Richtungen aus nicht nähern kann, und/oder nicht in der Lage sein kann, seine Finger 15 vollständig um das Objekt 12 herum zu schließen, wenn bestimmte Greifposen verwendet werden, etwa ein Kraftgriff/vollständiger Griff, der alle Finger 15 und die Handfläche 17 umfasst. Mit anderen Worten umfassen die in Schritt 106 berücksichtigten Beschränkungen durch die Umgebung beliebige physikalische oder künstliche Grenzen, die den Bewegungsbereich des Greiforgans 14 einschränken.
-
Bei Schritt
108 verwendet der Controller
40 die aktuelle Greifpose, um als nächstes die resultierende Nettogreifverwindung w
G in dem gleichen Referenzrahmen wie die Aufgabenverwindung w
T zu berechnen, beispielsweise in dem gleichen kartesischen Rahmen des Objekts. Zur Veranschaulichung der Prinzipien von Schritt
108 zeigt
3A das Objekt
12 mit beispielhaften Greifkräften
F →i und
F →i+1 und beispielhaften Greifdrehmomenten
τ →i und
τ →i+1 bei Greifkontakten i und i + 1. Alle Greifkräfte und Greifdrehmomente an allen Greifkontakten werden dann mit Hilfe des Controllers
40 addiert, um die Nettogreifverwindung w
G wie folgt zu erzeugen:
-
Die summierten Kräfte und Drehmomente sind in 3B schematisch gezeigt.
-
Der Controller
40 kann die Prinzipien der orthogonalen Zerlegung verwenden, um Schritt
110 auszuführen. Wie in der Technik bekannt ist, kann ein Drehmoment wie folgt in rechtwinklige und parallele Komponenten zerlegt werden:
-
Eine derartige Zerlegung ist in 4 dargestellt. Analog kann das bekannte oder gegebene Aufgabendrehmoment ebenfalls orthogonal in τ →⊥T und τ →∥T zerlegt werden, wie in 5 gezeigt ist.
-
Wieder mit Bezug auf 2 geht das Verfahren 100, sobald der Controller 40 von 1 die resultierende Nettogreifverwindung berechnet hat, zu Schritt 110 weiter, wobei der Controller 40 die bei Schritt 108 berechnete Greifpose als nächstes dreht (ROT) und verschiebt (SH), um die Aufgabenverwindung wT besser mit der Greifverwindung wG auszugleichen. Dieser Schritt wird nun mit Bezug auf 6A und 6B beschrieben.
-
Der Controller
40 von
1 dreht die Greifkraft automatisch, sodass die Greifkraft mit der Aufgabenkraft ausgerichtet ist, und so, dass der Wert
(F →NG + F →T) minimiert ist, wenn
F →NG ≠ 0 und
F →T ≠ 0 . In diesem Ausdruck ist R eine Rotationsmatrix mit drei Winkeln mit Normalkomponenten (n), Orientierungskomponenten (o) und Annäherungskomponenten (a):
-
6A zeigt die Drehung der Nettogreifverwindung durch die Matrix R. Schritt 110 umfasst außerdem, eine Verschiebung um δ → , so dass das Greifdrehmoment optimal ausgeglichen ist, d. h.: min(RF →NG × δ → + Rτ →⊥NG + τ →⊥T)
-
6B zeigt die Drehung und Verschiebung oder Translation der Nettogreifverwindung durch die Matrix R bzw. die Translation δ → .
-
Wieder mit Bezug auf 2 wendet der Controller 40 bei Schritt 112 die in Schritt 110 berechnete Rotation ROT und Verschiebung SH auf die vorherige Orientierung und Position der Handfläche des Greiforgans 14 an. Mit dieser neu aktualisierten Orientierung und Position der Handfläche werden die Positionen der Fingergelenke für die neuen Greifkontakte (CG) mit Beschränkungen durch die Umgebung wie vorstehend mit Bezug auf Schritt 106 erläutert wurde, neu berechnet. Die aktualisierte Greifverwindung wird dann auf der Grundlage der neuen Greifkontakte neu berechnet. Schritt 112 ist notwendig, da sich aufgrund der angewendeten Drehung und Verschiebung die Greifpose in Schritt 110 verändert hat. Das Verfahren 100 geht dann zu Schritt 114 weiter.
-
Bei Schritt 114 stellt der Controller 40 fest, ob die Aufgabenverwindung und die neu aktualisierte Greifverwindung optimal ausgeglichen worden sind, d. h., ob wG + wT minimiert ist, ein Zustand, der bestimmt werden kann, indem die Werte minimiert werden, die in 6A und 6B gezeigt sind. Wenn nicht, wird Schritt 110 wiederholt, bis der minimale Wert von wG + wT erreicht ist, wobei Iterationen der Schritte 110 und 112 wiederholt werden, bis dieser optimale Ausgleich erreicht ist. Wenn der optimale Ausgleich erreicht ist, geht das Verfahren 100 zu Schritt 116 weiter.
-
Schritt 116 umfasst, dass die optimale Greifpose im Speicher aufgezeichnet wird und dass danach unter Verwendung der aufgezeichneten optimalen Greifpose eine Steuerungsaktion (CA) mit Bezug auf den Roboter 20 von 1 ausgeführt wird. Bei Schritt 116 heißt dies, dass die optimale Greifpose für die anstehende Aufgabe bekannt ist. Wenn sich die Aufgabe ändert, aktualisiert der Controller 40 automatisch den Greiftyp mit Hilfe einer weiteren Iteration des Verfahrens 100, d. h. ohne manuelles Teachen oder Trainieren des Roboters 20.
-
Obwohl die besten Arten zum Ausführen der Erfindung im Detail beschrieben wurden, wird der Fachmann auf dem Gebiet, das diese Erfindung betrifft, verschiedene alternative Konstruktionen und Ausführungsformen erkennen, um die Erfindung im Umfang der beigefügten Ansprüche in die Praxis umzusetzen.