-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung bezieht sich allgemein auf ein Verfahren zur Erzeugung von Qualitäts-Greifstellungen (im Sinne von hochgenau) für das Greifen von Objekten durch Roboter und insbesondere auf ein Verfahren zum Erlernen des Greifens durch Roboter, das eine zufällige Initialisierung, bei der zufällige Objekte und Greifer aus einer großen Objektdatenbank ausgewählt werden, eine iterative Optimierung, bei der viele Hunderte von Greifbewegungen für jedes Objekt mit Oberflächenkontakt zwischen dem Objekt und dem Greifer berechnet werden, und eine Simulation der physikalischen Umgebung beinhaltet, bei der die Greifbewegungen für jedes Objekt auf simulierte Haufen oder Stapel von Objekten in einem Behälter angewendet werden.
-
STAND DER TECHNIK
-
Der Einsatz von Industrierobotern zur Durchführung einer breiten Palette von Fertigungs-, Montage- und Materialbewegungsvorgängen ist allgemein bekannt. Eine solche Anwendung ist ein Pick-and-Place-Vorgang, bei dem ein Roboter einzelne Objekte aus einem Behälter aufnimmt und auf einen Förderer oder in einen Versandbehälter legt. Ein Beispiel für diese Anwendung wäre, wenn Objekte, die geformt oder bearbeitet wurden, in den Behälter fallen und in zufälligen Positionen und Ausrichtungen zu liegen kommen, und der Roboter die Aufgabe hat, jedes Objekt aufzunehmen und es in einer vordefinierten Ausrichtung (Position) auf einem Förderer abzulegen, der die Objekte zur Verpackung oder Weiterverarbeitung transportiert. Ein weiteres Beispiel sind Lagerhallen für E-Commerce-Bestellungen, in denen viele verschiedene Größen und Formen von Artikeln zuverlässig gehandhabt werden müssen. Je nachdem, wie stark die Objekte im Behälter zu einem Haufen zusammengeschoben sind, können als Roboterwerkzeug Fingergreifer oder Sauggreifer eingesetzt werden. Ein Bildverarbeitungssystem (eine oder mehrere Kameras) wird typischerweise eingesetzt, um die Position und Orientierung der einzelnen Objekte im Behälter zu erkennen.
-
Herkömmliche Greifbewegungs-Erzeugungsverfahren lehren manuell Entnahmepunkte auf bekannte 3D-Merkmalen oder Objekten. Diese Verfahren erfordern einen erheblichen Zeitaufwand für die Entwicklung von Heuristiken, um die besten Greifstellungen zu ermitteln, und manuell entwickelte Heuristiken funktionieren möglicherweise nicht bei unbekannten Objekten oder Verdeckungen. Aufgrund der Schwierigkeiten bei der Verwendung von Heuristiken zum Erlernen des Greifens sind lernbasierte Verfahren zur Greiferkennung aufgrund ihrer Fähigkeit, sich an unbekannte Objekte anzupassen, populär geworden.
-
Allerdings haben die bestehenden lernbasierten Verfahren zur Grifferkennung auch ihre Nachteile. Ein bekanntes lernbasiertes Verfahren verwendet eine mathematisch strenge Greifqualität, um nach Greifkandidaten / -möglichkeiten zu suchen, bevor diese Kandidaten an einen Klassifikator eines neuronalen Faltungs-Netzes (CNN) weitergeleitet werden. Dieses Verfahren ist jedoch in der Regel rechenintensiv und die Lösung ist in der realen Welt aufgrund der in der Optimierung enthaltenen Vereinfachung möglicherweise nicht optimal. Um realistische Greifbewegungen zu erzeugen, verwendet ein anderes Verfahren empirische Versuche, um Daten zu sammeln, aber dieses Verfahren erfordert normalerweise Zehntausende von Roboterstunden mit komplizierten Kraftkontrollen, und jede Änderung des Greifers erfordert eine Wiederholung des gesamten Prozesses.
-
In Anbetracht der oben beschriebenen Umstände ist eine Roboter-Greif-Lerntechnik notwendig, die qualitativ hochwertige Greifkandidaten / -Möglichkeiten ohne manuelles Lehren erzeugt, rechnerisch effizient ist und Greifszenarien liefert, die auf reale Situationen mit durcheinanderliegenden Objekten und Kollisionsvermeidung zwischen Roboterarm und Behälterseiten anwendbar sind.
-
In Übereinstimmung mit den Lehren der vorliegenden Erfindung wird eine Greifbewegungs-Erzeugungstechnik für das robotergestützte Aufnehmen von Objekten vorgestellt. Für alle zu bewertenden Objekte und Greifer wird eine Datenbank mit Festkörper- oder Flächenmodellen bereitgestellt. Es werden ein Greifer ausgewählt und eine zufällige Initialisierung durchgeführt, wobei zufällige Objekte aus der Objektdatenbank ausgewählt und zufällige Stellungen initiiert werden. Anschließend wird eine iterative Optimierungsberechnung durchgeführt, bei der für jedes Objekt mit Oberflächenkontakt zwischen dem Objekt und dem Greifer viele Hunderte von Greifbewegungen berechnet werden und Stichproben für die Greifvielfalt und die globale Optimierung genommen werden. Schließlich wird eine physikalische Umgebungssimulation durchgeführt, bei der die Greifbewegungen für jedes Objekt auf simulierte Haufen oder Stapel von Objekten in einem Behälterszenario abgebildet werden. Die Greifpunkte und Annäherungsrichtungen aus der Simulation der physikalischen Umgebung werden dann verwendet, um neuronale Netze für das Erlernen des Greifens in realen Roboteroperationen zu trainieren, wobei die Simulationsergebnisse mit Kameratiefenbilddaten korreliert werden, um einen qualitativ hochwertigen Griff zu identifizieren.
-
Weitere Merkmale des hier vorgestellten Verfahrens werden aus der folgenden Beschreibung in Verbindung mit den beigefügten Zeichnungen ersichtlich.
-
Figurenliste
-
- 1 ist ein Flussdiagramm eines Greifbewegungs-Erzeugungsprozesses, der optimierte Greifbewegungen für einzelne Objekte berechnet und die berechneten Greifbewegungen auf Objekte in simulierten Objekthaufen anwendet, gemäß einer Ausführungsform der vorliegenden Erfindung;
- 2 ist ein Flussdiagramm von Schritten, die in dem iterativen Optimierungsfeld des Greifbewegungs-Erzeugungsprozesses von 1 enthalten sind, gemäß einer Ausführungsform der vorliegenden Erfindung;
- 3 ist ein Flussdiagramm von Schritten, die in dem Feld der Simulation der physikalischen Umgebung des Greifbewegungs-Erzeugungsprozesses von 1 enthalten sind, gemäß einer Ausführungsform der vorliegenden Erfindung; und
- 4 ist ein Blockdiagramm eines Roboter-Objektentnahmesystems, das ein neuronales Netzsystem zur Greifberechnung verwendet, wobei das neuronale Netzsystem unter Verwendung der Greifbewegungen, die durch die Prozesse der 1 bis 3 erzeugt wurden, gemäß einer Ausführungsform der vorliegenden Erfindung trainiert wird.
-
BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
-
Die folgende Beschreibung der Ausführungsformen der Erfindung, die auf eine optimierungsbasierte Greifbewegungs-Erzeugungstechnik gerichtet sind, ist lediglich beispielhafter Natur und soll in keiner Weise die erläuterten Techniken oder ihre Anwendungen oder Verwendungen einschränken.
-
Der Einsatz von Industrierobotern zur Entnahme von Objekten aus einer Quelle und deren Ablage an einem Zielort ist allgemein bekannt. In einer gängigen Anwendung wird ein Vorrat an Objekten in einem Behälter bereitgestellt, z.B. ein Behälter, der einen zufälligen Haufen oder Stapel von Objekten enthält, die gerade gegossen oder geformt wurden, wobei die Objekte von dem Behälter zu einem Förderer oder einem Versandbehälter bewegt werden müssen. Einem Roboter beizubringen, ein einzelnes Objekt in einem Behälter voller Objekte in Echtzeit zu erkennen und zu ergreifen, war schon immer eine Herausforderung.
-
Um die Geschwindigkeit und Zuverlässigkeit der Roboterteileentnahme zu verbessern, ist es bekannt, Greifbewegungen für einen bestimmten Greifer, der ein bestimmtes Objekt in einer Vielzahl von Stellungen greift, vorauszuberechnen. Diese Vorausberechnung von Greifbewegungen wird als Greifbewegungs-Erzeugung bezeichnet, und die vorausberechneten (erzeugten) Greifbewegungen werden dann verwendet, um während der robotergestützten Entnahme von Objekten Entscheidungen in Echtzeit zu treffen.
-
Bei herkömmlichen Greifbewegungs-Erzeugungsverfahren werden die Entnahmepunkte manuell auf bekannte 3D-Merkmale der Objekte eingelernt. Diese Verfahren erfordern einen erheblichen Zeitaufwand für die Entwicklung von Heuristiken, um die besten Greifpositionen zu ermitteln, und diese manuell entwickelten Heuristiken funktionieren möglicherweise nicht bei unbekannten Objekten oder Verdeckungen. Aufgrund der Schwierigkeiten bei der Verwendung von Heuristiken zum Erlernen von Greifstellungen sind lernbasierte Verfahren zur Greiferkennung aufgrund ihrer Fähigkeit, sich an unbekannte Objekte anzupassen, populär geworden.
-
Allerdings haben die bestehenden lernbasierten Greifbewegungs-Erzeugungsverfahren auch Nachteile. Ein bekanntes lernbasiertes Verfahren verwendet eine mathematisch rigorose Greifqualität, um nach Greifkandidaten / -möglichkeiten zu suchen, bevor diese Kandidaten einem CNN-Klassifikator zugeführt werden, ist jedoch rechenintensiv und die Lösung ist in realen Situationen aufgrund von Vereinfachungen bei der Optimierung möglicherweise nicht optimal. Ein anderes Verfahren verwendet empirische Versuche, um Daten zu sammeln, die realistische Greifbewegungen erzeugen, aber dieses Verfahren erfordert in der Regel Zehntausende von Roboterstunden mit komplizierten Kraftkontrollen, und jede Änderung des Greifers erfordert eine Wiederholung des gesamten Prozesses. Darüber hinaus sind einige bestehende Greifbewegungs-Erzeugungsverfahren in den Arten von Greifstellungen, die sie erkennen können, begrenzt, z.B. nur auf eine direkte Anfahrrichtung von oben nach unten beschränkt.
-
Die vorliegende Erfindung beschreibt eine Technik, die automatisch auf eine beliebige Kombination von Greifern und Teil/Objekt-Designs angewendet werden kann, eine große Anzahl realistischer Greifbewegungen in der Simulation mit minimalem Rechenaufwand erzeugt und darüber hinaus die Komplikation des Greifens eines einzelnen Objekts aus einem Haufen von Objekten, die in einem Behälter durcheinander liegen, simuliert, wie es in der realen Welt bei der robotergestützten Objektentnahme häufig vorkommt. Um die Robustheit der Greifbewegungen zu erhöhen, wird eine mathematisch strenge Greifqualität verwendet, und die Kontakte werden als Flächen modelliert. Ein speziell entwickelter Solver wird verwendet, um die Optimierung effizient zu lösen. Schließlich werden die erzeugten Greifbewegungen in einem Simulationsschritt für die physische Umgebung getestet und verfeinert, um die Interferenzen zwischen Greifern und Objekten zu berücksichtigen, die in einer unübersichtlichen Umgebung auftreten. Die auf diese Weise generierten und evaluierten Greifbewegungen werden dann in der realen robotergestützten Objektentnahme eingesetzt, um ein Zielobjekt und eine Greifstellung aus 3D-Kamerabildern zu identifizieren.
-
1 ist ein Flussdiagramm 100 eines Greifbewegungs-Erzeugungsprozesses, der optimierte Greifbewegungen an einzelnen Teilen/Objekten berechnet und die berechneten Greifbewegungen auf Objekte in simulierten Objekthaufen gemäß einer Ausführungsform der vorliegenden Erfindung anwendet. Im Feld 110 wird eine Datenbank 112 mit dreidimensionalen (3D) Objektmodellen bereitgestellt. Die Objektmodell-Datenbank 112 kann viele hundert verschiedene Objekte enthalten, für die Greifbewegungen zu erzeugen sind, wobei für jedes Objekt 3D-Volumen- oder Oberflächendaten (typischerweise aus einem CAD-Modell) bereitgestellt werden. Die Objektmodell-Datenbank 112 kann auch Daten aus einem weithin verfügbaren gemeinsamen Quellenspeicher wie ShapeNet enthalten.
-
Im Feld 110 wird auch eine Greifer-Datenbank 114 bereitgestellt, die sowohl 3D-Geometrie- als auch Artikulationsdaten für jeden Greifer enthält. Ein bestimmter Greifer könnte beispielsweise drei mechanische Finger haben, wobei jeder Finger zwei Knöchelgelenke und zwei Fingersegmente aufweist. Die 3D-Geometrie dieses Greifers würde in einer bestimmten Konfiguration bereitgestellt, beispielsweise mit vollständig geöffneten Knöchelgelenken, und die Geometrie der Gelenkachse würde ebenfalls bereitgestellt. In der Greifer-Datenbank 114 können viele verschiedene Arten von Greifer enthalten sein, z.B. Greifer mit Zwei- und Dreifinger-Gelenken, Greifer mit parallelen Kiefergelenken, Greifer im Stil einer ganzen menschlichen Hand, Greifer mit unterdrückter Betätigung, Greifer im Stil eines Saugnapfes (mit einem oder mehreren Saugnäpfen), usw.
-
Im Zufallsinitialisierungsfeld 120 wird eine Gruppe von Objekten (z.B. 10-30 Objekte) zufällig aus der Objektmodell-Datenbank 112 ausgewählt, und ein Greifer für jedes Objekt wird ebenfalls aus der Greifer-Datenbank 114 ausgewählt. Als Beispiel werden ein Kaninchen 122 (z.B. ein geformtes Plastikspielzeug) und ein entsprechender Greifer 124 mit drei Fingern gezeigt, wobei das Kaninchen 122 einfach eines der Objekte aus der Objektdatenbank 112 und der Greifer 124 einer der Greifer aus der Greifer-Datenbank 114 sind.
-
Als weiteres Beispiel ist eine Teekanne als Objekt 126 mit demselben Greifer 124 dargestellt. Zur Verdeutlichung: Jedes im Zufallsinitialisierungsfeld 120 ausgewählte Objekt wird zusammen mit dem ausgewählten Greifer unabhängig analysiert, um viele robuste Greifbewegungen für das Objekt zu erzeugen, wie weiter unten im Detail erläutert wird. Zur Vereinfachung der Bedienung können mehrere Objekte (z.B. 10-30 Objekte) ausgewählt werden (nach dem Zufallsprinzip oder vom Benutzer), wobei die Berechnungen der Greifbewegungs-Erzeugung automatisch für alle im Feld 120 ausgewählten Objekte durchgeführt werden. In der bevorzugten Ausführungsform wird derselbe Greifer (in diesem Beispiel der Greifer 124) für alle im Feld 120 ausgewählten Objekte verwendet, da die spätere Analyse das Zusammenstapeln vieler oder aller verschiedenen Objekte in einem Behälter und die Entnahme der Objekte einzeln durch einen mit dem Greifer ausgestatteten Roboter beinhalten kann.
-
In Feld 130 wird eine iterative Optimierungsberechnung für jede Objekt/Greifer-Paarung durchgeführt, um viele robuste Greifbewegungen zu erzeugen und zu speichern. In einer Ausführungsform ist die iterative Optimierungsroutine so konfiguriert, dass sie 1000 Greifbewegungen für jedes Objekt und den ausgewählten Greifer berechnet. Es können natürlich auch mehr oder weniger als 1000 Greifbewegungen berechnet werden. Die iterative Optimierungsberechnung modelliert den Oberflächenkontakt zwischen dem Objekt und dem Greifer, wobei Kollisionen oder Penetrationen vermieden werden. Für die Berechnung wird ein Solver verwendet, der speziell auf Effizienz ausgelegt ist, um die einzelnen Greifbewegungen sehr schnell berechnen zu können. Die Ausgangsbedingungen (Greiferstellung relativ zum Objekt) werden variiert, um eine vielfältige Mischung robuster Greifbewegungen zu erhalten. Die iterative Optimierungsberechnung in dem Feld 130 wird weiter unten im Detail erläutert.
-
Im Feld 140 wird die im Zufallsinitialisierungsfeld 120 ausgewählte Gruppe von Objekten in einer Simulation einer physischen Umgebung verwendet (d. h. Simulation der Objekte, die nach dem Zufallsprinzip in einen Behälter fallen und in einem Haufen zu liegenkommen), und die zugehörigen Greifbewegungen aus dem Feld 130 werden auf die physische Umgebung abgebildet. Der simulierte Haufen von Objekten in einem Behälter im Feld 140 kann viele verschiedene Arten von Objekten enthalten (z.B. alle im Feld 120 ausgewählten Objekte) oder einen Behälter, der nur mit Objekten einer einzigen Art gefüllt ist. Die Simulation läuft parallel, um die Leistung jedes einzelnen Greifers in einer unübersichtlichen Umgebung zu testen. Auf die Simulation der physischen Umgebung im Feld 140 wird weiter unten ebenfalls eingegangen.
-
Im Feld 150 werden die Punktwolke, die Greifstellung und die Erfolgsrate aus der Simulation der physischen Umgebung im Feld 140 aufgezeichnet und bilden die Greifdatenbank. Ein Punktwolken-Tiefenbild 152 stellt den Haufen von Objekten aus dem Feld 140 aus einer bestimmten Perspektive oder einem bestimmten Blickwinkel dar. In einer bevorzugten Ausführungsform wird das Tiefenbild 152 aus der für einen optimalen Griff berechneten Annäherungsrichtung betrachtet. Aus dem Bild 152 wurden bei den Berechnungen im Feld 140 mehrere mögliche Greifbewegungen ermittelt, die der Greifroboter einsetzen könnte. Jede der in Frage kommenden Greifbewegungen wird durch eine Greifstellung und eine Punktkarte 154 repräsentiert, die Punkte angibt, die als Greifziel verwendet werden könnten, wobei der Annäherungswinkel durch den Blickwinkel des Bildes 152 definiert ist und ein im Feld 140 berechneter Greiferwinkel und eine Greifweite oder -Breite verwendet werden. Die im Feld 150 gespeicherten Daten beinhalten also die Tiefenkarte des gewünschten Annäherungswinkels, die Punktkarte 154 mit den x/y/z-Koordinaten der Greifbewegungen einschließlich des besten Griffs, den Greiferdrehwinkel und die Greiferbreite sowie die Greiferfolgsrate aus der physikalischen Umgebungssimulation. Die Punkte in der Punktekarte 154 wären nach Greifqualität geordnet und sollten zu einem erfolgreichen Greifen eines Objekts aus dem Haufen der Objekte in einem Behälter führen.
-
Die in der im Flussdiagramm 100 von 1 dargestellten Weise erzeugten und bewerteten Greifbewegungen, die im Feld 150 gespeichert sind, werden später verwendet, um ein Greif-Lernsystem zu trainieren, das die beste Greifstellung aus 3D-Kamerabildern eines tatsächlichen Behälters voller Objekte ermittelt.
-
2 ist ein Flussdiagramm 200 von Schritten, die in dem iterativen Optimierungsfeld 130 des Greifbewegungs-Erzeugungsprozesses von 1 gemäß einer Ausführungsform der vorliegenden Erfindung enthalten sind. Die iterative Optimierungsberechnung des Flussdiagramms 200 wird für jede Objekt/Greifer-Paarung durchgeführt, um viele robuste Greifbewegungen zu erzeugen und zu speichern.
-
Im Feld 210 werden die Flächen der Greifer und des Objekts in Punkte aufgelöst. Punkte auf den Greiferoberflächen (die Handfläche und die Innenflächen der Fingersegmente) werden als p
i bezeichnet, wobei jeder Punkt p
i einen Normalenvektor
hat. Punkte auf der Objektaußenfläche werden als q
i bezeichnet, wobei jeder Punkt q
i einen Normalvektor
hat.
-
Im Feld 220 werden auf der Grundlage einer aktuellen Greiferposition relativ zum Objekt (die später im Hinblick auf die Gesamtgreiferposition und die einzelnen Fingergelenkpositionen erörtert wird) Punktkontaktpaare und Kollisionspaare berechnet. Dies beginnt mit der Identifizierung von übereinstimmenden Punkten auf den Greifer-Oberflächen mit den nächstgelegenen Punkten auf der Objekt-Oberfläche unter Verwendung einer Technik der nächsten Nachbarn (nearest neighbor technique). Nach einer Filterung zur Entfernung von Punktpaaren, deren Abstand einen Schwellenwert überschreitet, definieren die verbleibenden Punktpaare (pi, qi) die Kontaktflächen Sf (auf dem Greifer) und So (auf dem Objekt).
-
In 222 sind ein Querschnitt des Objekts und ein Finger des Greifer mit den entsprechenden Punktpaaren (pi, qi) und den jeweiligen Flächennormalvektoren dargestellt. In der bei 222 gezeigten Position (die eine Anfangsposition oder eine andere Iteration während des Optimierungsprozesses sein kann) gibt es eine Interferenz (Kollision) zwischen dem Objekt und dem äußeren Segment des Greiferfingers. Diese Interferenz wird bei den Optimierungsberechnungen mit Hilfe einer Begrenzungsfunktion „bestraft“, um den Greifer zu veranlassen, sich vom Objekt zu entfernen, um die Interferenz zu beseitigen (siehe unten).
-
In Feld 230 werden das Problem der Greifersuche als Optimierung modelliert und eine Iteration berechnet. Um stabile Greifbewegungen zu berechnen, werden Oberflächenkontakte und rigorose mathematische Qualität in die Modellierung übernommen. Die Greifer-Objekt-Kollision wird in der Optimierung ebenfalls „bestraft“, um ein Eindringen zu vermeiden, wie oben erwähnt. Die in Feld 230 dargestellte Optimierungsformel wird hier als Gleichungen (1a)-(1f) dupliziert und in den folgenden Abschnitten diskutiert.
-
Die Optimierungsformel enthält eine objektive Funktion (Gl. 1a), die definiert ist, um die Greifqualität Q zu maximieren, wobei die Greifqualität Q mit den Kontaktflächen Sf und So und der Objektgeometrie O zusammenhängt. Die Greifqualität Q kann auf jede geeignete Weise definiert werden und wird aus den Kraftbeiträgen aller Kontaktpunkte in Bezug auf Objekteigenschaften wie Masse und Schwerpunkt berechnet. Ein stabiler Griff ist ein Griff, bei dem jede geringfügige Bewegung des Objekts im Greifer schnell durch Reibungskräfte gestoppt wird und nicht zu einem Verlust des Griffs führt.
-
Die Optimierungsformulierung der Gleichungen (1a)-(1f) enthält viele Begrenzungsfunktionen. Eine Begrenzungsfunktion (Gl. 1b) besagt, dass So eine Teilmenge der Objektoberfläche δO ist, die durch die anfängliche Objektstellung Tini,o transformiert wird, und Sf eine Teilmenge der Hand/Greifer-Oberfläche δF ist, die durch die Greiferstellung und die Gelenkpositionen (T,q) transformiert wird. Eine Begrenzungsfunktion (Gl. 1c) gibt an, dass die Objektkontaktfläche So und die Hand/Greifer-Kontaktfläche Sf identisch sind.
-
Eine Begrenzungsfunktion (Gl. 1d) gibt an, dass die Kontaktkraft / während der Greifer-Objekt-Interaktion im Reibungskegel FC bleibt. Der Reibungskegel FC ist dadurch gekennzeichnet, dass die Abweichung der Fingerkraft von der Mittellinie des Reibungskegels „bestraft“ wird, wobei der Reibungskegel ein Kegel ist, in dem sich die resultierende Kraft, die von einer Oberfläche auf eine andere ausgeübt wird, befinden muss, wenn sich beide Oberflächen in Ruhe befinden, wie durch den Haftreibungskoeffizienten bestimmt, wie in der Technik bekannt ist. Eine Begrenzungsfunktion (Gl. 1e) gibt an, dass die transformierte Handfläche T(δF; T,q)) nicht in die Umgebung ε; eindringen darf, d.h. der Abstand sollte größer oder gleich Null sein.
-
Eine Begrenzungsfunktion (Gl. 1f) gibt an, dass die Gelenkpositionen q in einem durch qmin und qmax begrenzten Raum bleiben, wobei die Gelenkpositionsgrenzen q min und qmax bekannt und für den ausgewählten Greifer gegeben sind. Die Fingergelenke des abgebildeten Dreifinger-Greifers müssen beispielsweise eine Winkelposition zwischen qmin=0° (gerade Fingerstreckung) und einem Winkel von etwa qmax ≈ 140°-180° (maximale Beugung nach innen; jedes Gelenk im Greifer hat einen bestimmten Wert von qmax in diesem Bereich).
-
Die Optimierungsformulierung der Gleichungen (1a)-(1f) bleibt aufgrund der nichtlinearen Kinematik und der Kontaktflächen in Sf ⊂ (δF; T, q) ein nichtkonvexes Problem. Um die kinematische Nichtlinearität zu lösen, wird die Suche von der Hand/Greifer-Konfiguration T,q auf ein Inkrement der Hand/Greifer-Konfiguration δT, δq geändert. Genauer gesagt, T = δT T0, q = δq + q0, wobei T0, q0 die aktuelle Hand/Greifer-Konfiguration bezeichnet. In der vorliegenden Erfindung wird δT = (R, t) als Transformation bezeichnet.
-
Um die durch Oberflächenkontakte eingeführte Nichtlinearität aufzulösen und die Gleichungen (1a)-(1f) durch gradientenbasierte Verfahren zu lösen, werden die Hand/Greifer-Oberfläche δF und die Objektoberfläche δO in Punktmengen
und
aufgelöst, wobei p
i, q
i ∈ ℝ
3,
die Punktpositionen und Normalvektoren darstellen. Die Auflösung in Punkte wurde oben im Hinblick auf die Felder 210 und 220 erörtert.
-
Unter Verwendung des oben diskutierten Ansatzes der nächstgelegenen Punktübereinstimmung zur Definition von Sf und So kann eine „Strafe“ für die Kontaktnähe formuliert werden, indem eine translatorische Jacobimatrix in einem Punkt pi verwendet und der Punktabstand in Richtung der Oberflächennormalen des Objekts beschrieben wird. Dieser Punkt-Ebenen-Abstand ermöglicht es den Punkten auf dem Greifer, sich auf der Objektoberfläche aufzuhalten und zu gleiten. Außerdem wird dadurch die Empfindlichkeit des Algorithmus gegenüber unvollständigen Punktwolkendaten verringert.
-
Die Kollisionsbeschränkung (Gl. 1e) wird „bestraft“ und so formuliert, dass die Kollision nur für die Punkte „bestraft“ wird, die sich gerade in der Penetration befinden. Die Kollisionsannäherung führt eine Differentialform in Bezug auf δT, δq ein; dadurch wird die Berechnungseffizienz erheblich verbessert. Allerdings ist die approximierte „Strafe“ diskontinuierlich, wenn sich die Hand bewegt, da es keine Vorschau gibt. Daher kann das optimierte δT, δq ein Zick-Zack-Verhalten aufweisen. Um den durch die Approximation verursachten Zickzack-Effekt zu verringern, kann die Handoberfläche vergrößert werden, um eine Vorschau auf die mögliche Kollision zu erhalten.
-
Zurück zu 2: Die vorangegangene Diskussion beschreibt die Optimierungsformulierung im Feld 230, einschließlich der konvexen Vereinfachungen, die eine sehr schnelle Durchführung der Optimierungsberechnung ermöglichen. Im Feld 240 wird die Greiferstellung in Bezug auf das Objekt aktualisiert (sowohl die Greiferstellung T als auch die Gelenkpositionen q), und die Schritte der Felder 220 (Berechnung von Kontaktpunktpaaren und Kollisionspunktpaaren) und 230 (Lösung einer Iteration des Optimierungsproblems) werden wiederholt, bis die Optimierungsformulierung zu einem vordefinierten Schwellenwert konvergiert.
-
Die im illustrierten Flussdiagramm 200 von 2 dargestellten Schritte berechnen einen einzelnen Griff des Objekts (z.B. des Kaninchens 122) durch den Greifer (z.B. 124). Das heißt, wenn die Optimierungsberechnung konvergiert, wird ein einzelner Griff mit geeigneter Qualität und ohne Interferenz/Durchdringung bereitgestellt. In dem bei 242 gezeigten Querschnitt ist zu erkennen, dass die Interferenz zwischen dem Objekt und dem Greiferfinger beseitigt wurde, indem der Winkel des Greiferfingergelenks entspannt wurde, so dass die Punktepaare (pi, qi) gerade in Kontakt sind.
-
Wie bereits erwähnt, ist es wünschenswert, viele verschiedene Greifbewegungen für jedes Objekt/Greifer-Paar zu berechnen. In einer Ausführungsform ist die iterative Optimierungsroutine so konfiguriert, dass sie 1000 Greifbewegungen für jedes Objekt unter Verwendung des ausgewählten Greifers berechnet.
-
Es ist auch wünschenswert, von verschiedenen anfänglichen Greifstellungen auszugehen, um verschiedene konvergierte Greifbewegungen zu erhalten, so dass die resultierenden Greifbewegungen beinhaltend sind. Mit anderen Worten, die Anfangsbedingungen (Greiferstellung relativ zum Objekt) werden für jede der 1000 berechneten Greifbewegungen zufällig variiert. Dies geschieht, weil die Optimierungsformel der Gleichungen (1a)-(1f) zu einem lokalen Optimum konvergiert. Um Greifbewegungen (z.B. des Kaninchens 122) an verschiedenen Teilen des Kopfes und des Körpers aus unterschiedlichen Richtungen (von vorne, von hinten, von oben und von unten usw.) zu erhalten, müssen die Anfangsbedingungen die Vielfalt der Annäherungsrichtungen und der Ziel-Griffpositionen widerspiegeln.
-
Selbst wenn die Ausgangsbedingungen so variiert werden, dass eine Vielfalt von Greifstellungen entsteht, wird es angesichts der großen Anzahl von Greifbewegungen (z.B. 500-1000), die im iterativen Optimierungsschritt berechnet werden, zwangsläufig viele sehr ähnliche Greifbewegungen geben. Man kann sich zum Beispiel leicht vorstellen, dass viele ähnliche Greifbewegungen des Kaninchens 122 am Kopf, von vorne, berechnet werden. Aus diesem Grund werden, nachdem die 500-1000 Greifbewegungen für ein Objekt berechnet sind, die Greifbewegungen nach ähnlicher Stellung gruppiert, und ein Durchschnitt berechnet. In einer Ausführungsform der Greifbewegungs-Erzeugung Methodik wird nur der Durchschnittswert gespeichert. Mit anderen Worten, zum Beispiel werden alle Greifbewegungen des Kaninchens 122 durch den Kopf, von vorne, in eine einzige gespeicherte Greifbewegung gemittelt. Gleiches gilt für andere Annäherungsrichtungen und Greifstellen. Auf diese Weise können die 500-1000 berechneten Greifbewegungen auf eine Anzahl gespeicherter Greifbewegungen in einem Bereich von 20-50 reduziert werden, wobei sich jede der gespeicherten Greifbewegungen signifikant von den anderen gespeicherten Greifbewegungen unterscheidet.
-
3 ist ein Flussdiagramm 300 von Schritten, die in der physikalischen Umgebungssimulation Feld 140 des Greifbewegungs-Erzeugungsprozesses von 1 gemäß einer Ausführungsform der vorliegenden Erfindung enthalten sind. In Feld 310 wird ein Satz von optimierten Greifbewegungen an einzelnen Objekten (für einen bestimmten Greifer) bereitgestellt. Die optimierten Greifbewegungen werden durch den iterativen Optimierungsprozess des Feldes 130 (1) und des Flussdiagramms 200 von 2 berechnet und bereitgestellt. Wie bereits erwähnt, handelt es sich bei den optimierten Greifbewegungen vorzugsweise um die gespeicherten Greifbewegungen (20-50 an der Zahl), die eine Vielzahl von Greifpositionen/-winkeln repräsentieren, wobei sich jede der gespeicherten Greifbewegungen deutlich von den anderen unterscheidet.
-
Im Feld 320 wird ein simulierter Haufen von Objekten bereitgestellt. Die Objekte können alle vom gleichen Typ sein (dargestellt im Feld 322), oder die Objekte können viele verschiedene Typen beinhalten (wie die, die im Zufallsinitialisierungsschritt im Feld 120 von 1 bereitgestellt werden - und im Feld 324 dargestellt sind). Die Greifbewegungen, die im Feld 310 bereitgestellt werden, müssen alle Objekttypen (wenn es mehr als einen gibt) im simulierten Haufen enthalten, wobei derselbe Greifer verwendet wird. Der simulierte Haufen von Objekten wird im Feld 320 durch eine tatsächliche dynamische Simulation der Objekte bereitgestellt, die in zufälligen Ausrichtungen in einen Behälter fallen, auf dem Boden des Behälters landen, mit anderen Objekten kollidieren, die bereits gelandet sind, an den Seiten des wachsenden Haufens herunterfallen, bis sie eine Gleichgewichtsposition erreichen, usw. Die dynamische Simulation des Objekthaufens beinhaltet die tatsächlichen Objekteformen, die Größe/Form des Behälters und die Simulation des Kontakts von Oberfläche zu Oberfläche für mehr Realismus.
-
Nachdem der simulierte Haufen von Objekten in einem Behälter im Feld 320 bereitgestellt wurde, werden die im Feld 310 bereitgestellten Greifbewegungen (aufgezeichnete optimierte Greifbewegungen) auf den simulierten Haufen von Objekten abgebildet. Dieser Schritt wird im Feld 330 angezeigt. Da der simulierte Haufen von Objekten bekannte Positionen der einzelnen Objekte enthält, können Objektstellung und -identität verwendet werden, um die optimierten Greifbewegungen auf die simulierten Objekthaufen abzubilden. Das Ergebnis ist ein simulierter Griff eines Objekts, einschließlich der 3D-Tiefenkarte des Objekthaufens, der Identität des ausgewählten Objekts, des entsprechenden Annäherungswinkels, des Greifpunkts in drei Dimensionen, des Greiferwinkels und der Greiferbreite (oder der Fingergelenkpositionen).
-
Die exponierten Oberflächen des simulierten Haufens von Objekten werden als 3D-Punktwolke oder Tiefenkarte modelliert. Da der simulierte Haufen von Objekten bekannte Positionen der einzelnen Objekte enthält, kann eine 3D-Tiefenkarte von jedem geeigneten Standpunkt aus berechnet werden (Winkel, die für das Greifen durch den Roboter geeignet sind, z.B. innerhalb von 30° zur Senkrechten). Die 3D-Tiefenkarte aus dem Blickwinkel jedes simulierten Griffs kann dann analysiert werden, um die Korrelation zwischen den exponierten Teilen der Objekte in der 3D-Tiefenkarte und dem entsprechenden simulierten Griff unter Verwendung einer der gespeicherten optimierten Greifbewegungen zu finden.
-
Die Bereitstellung eines simulierten Haufens von Objekten (das Feld 320) kann für einen gegebenen Satz von optimierten Greifbewegungen viele Male wiederholt werden. Jeder simulierte Haufen von Objekten verwendet einen anderen zufälligen Strom von Objekten und Ausrichtungen, die fallen gelassen werden; daher werden die simulierten Haufen alle unterschiedlich sein und unterschiedliche Perspektiven für die Greifbestimmung bieten. Genauer gesagt, kann für jeden zufälligen Haufen von Objekten eine Greifrichtung zufällig gewählt werden, und ein Griff, der nahe an dieser Richtung liegt, kann in der Simulation getestet werden. Die Simulation des Greifens der einzelnen Objekte (Feld 330) kann für jeden simulierten Haufen von Objekten wiederholt werden, bis alle Objekte (in der Simulation) gegriffen und aus dem Behälter entfernt wurden.
-
Durch die Wiederholung der Schritte in den Feldern 320 und 330 kann jeder Griff unter verschiedenen Bedingungen simuliert werden - einschließlich miteinander verhedderter Objekte, teilweise exponierter Objekte, die jedoch durch andere Objekte im Haufen eingeklemmt sind, und Behälterseiten/Ecken. Darüber hinaus können Variationen und Unsicherheiten in die Greifsimulation einbezogen werden, darunter Objektstellungsunsicherheiten, sensorische Unsicherheiten, Reibungsunsicherheiten und unterschiedliche Umgebungen (Behälter, Objekte). Durch die Durchführung von Greifversuchen in diesen verschiedenen Situationen ist es möglich, die Robustheit jedes Griffs unter Unsicherheiten, Variationen und Störungen zu simulieren und zu erfassen.
-
Um zu 1 zurückzukehren, werden Feld 150, die Punktwolke, die Greifstellung und die Erfolgsrate aus der physikalischen Umweltsimulation im Feld 140 (und oben in Bezug auf 3 diskutiert) aufgezeichnet, um die Greifdatenbank zu bilden. Das Punktwolken-Tiefenbild 152 stellt den Haufen von Objekten aus dem Feld 140 aus einer bestimmten Perspektive oder unter einem bestimmten Blickwinkel dar. Aus dem Bild 152 wurden bei den Berechnungen im Feld 140 mehrere Kandidaten für Greifbewegungen ermittelt, die vom Greifroboter eingesetzt werden können. Jede der in Frage kommenden Greifbewegungen wird durch einen Bereich in der Punktkarte 154 dargestellt, der Punkte angibt, die als Greifziel verwendet werden könnten, wobei der Anfahrwinkel durch den Blickwinkel des Bildes 152 definiert ist und ein im Feld 140 berechneter Greiferwinkel und eine Greifbreite verwendet werden. Die Punkte in der Punktkarte 154 sind nach ihrer Greifqualität geordnet und sollten zu einem erfolgreichen Greifen eines Objekts aus dem Haufen der Objekte in einem Behälter führen.
-
Die in der im Flussdiagramm 100 von 1 dargestellten Weise erzeugten und ausgewerteten Greifbewegungen, die im Feld 150 gespeichert sind, werden später als Trainingsmuster für ein neuronales Netzsystem verwendet, das in der tatsächlichen robotergestützten Objektentnahme eingesetzt wird, um eine Ziel-Greifstellung aus 3D-Kamerabildern eines mit Objekten gefüllten Behälters zu identifizieren. Dies wird im Folgenden anhand von 4 erläutert.
-
4 ist eine Darstellung eines Blockdiagramms eines robotergestützten Objektentnahmesystems, das ein neuronales Netzsystem zur Greifberechnung verwendet, wobei das neuronale Netzsystem unter Verwendung der Greifbewegungen trainiert wird, die durch die Verfahren der 1 bis 3 gemäß einer Ausführungsform der vorliegenden Erfindung erzeugt wurden. Ein Roboter 400 mit einem Greifer 402 arbeitet in einem Arbeitsraum, in dem der Roboter 400 Teile oder Objekte von einem ersten Ort (einem Behälter) zu einem zweiten Ort (einem Förderer) bewegt. Der Greifer 402 ist der Greifer, der auf dem Feld 120 in 1 zu sehen ist.
-
Die Bewegung des Roboters 400 wird von einer Steuerung 410 gesteuert, die normalerweise über ein Kabel 412 mit dem Roboter 400 kommuniziert. Die Steuerung 410 gibt dem Roboter 400 Bewegungsbefehle für die Gelenke und empfängt die Positionsdaten der Gelenke von den Encodern in den Gelenken des Roboters 400, wie es aus dem Stand der Technik bekannt ist. Die Steuerung 410 liefert auch Befehle zur Steuerung des Greifers 402 (Drehwinkel und -breite sowie Befehle zum Greifen/Loslassen).
-
Ein Computer 420 steht mit der Steuerung 410 in Verbindung. Der Computer 420 beinhaltet einen Prozessor und einen Speicher, der so konfiguriert ist, dass er einen hochwertigen Griff für einen mit Objekten gefüllten Behälter in Echtzeit auf eine von zwei Arten berechnen kann. In einer bevorzugten Ausführungsform benutzt der Computer 420 ein neuronales Netzsystem, das im Voraus für das Erlernen des Greifens unter Verwendung der Greifdatenbank aus dem Feld 150 trainiert wird. Das neuronale Netzsystem berechnet dann die Greifbewegungen in Echtzeit auf der Grundlage von Live-Bilddaten. In einer anderen Ausführungsform berechnet der Computer 420 die Greifbewegungen während des Live-Robotereinsatzes direkt aus der Greifdatenbank des Feldes 150 - einschließlich Punktwolken, Greifstellungen und Erfolgsraten aus der Simulation der physikalischen Umgebung. Bei dem Computer 420 kann es sich um denselben Computer handeln, der auch alle Berechnungen der Greifbewegungs-Erzeugung durchgeführt hat, die oben in Bezug auf die 1-3 beschrieben wurden.
-
Ein Paar von 3D-Kameras 430 und 432 kommuniziert mit dem Computer 420 und liefert Bilder des Arbeitsraums. Insbesondere liefern die Kameras 430/432 Bilder von Objekten 440 in einem Behälter 450. Die Bilder (einschließlich der Tiefendaten) von den Kameras 430/432 liefern Punktwolkendaten, die die Positionen und Ausrichtungen der Objekte 440 im Behälter 450 definieren. Da zwei der 3D-Kameras 430 und 432 unterschiedliche Perspektiven haben, ist es möglich, eine 3D-Tiefenkarte der Objekte 440 im Behälter 450 aus jedem geeigneten Blickwinkel zu berechnen oder zu projizieren.
-
Die Aufgabe des Roboters 400 ist es, eines der Objekte 440 aus dem Behälter 450 zu entnehmen und das Objekt zu einem Förderer 460 zu bewegen. Im gezeigten Beispiel wird ein Einzelteil 442 ausgewählt, vom Greifer 402 des Roboters 400 gegriffen und entlang eines Pfades 480 zum Förderer 460 bewegt. Bei jeder Objektentnahme erhält der Computer 420 von den Kameras 430/432 Bilder der Objekte 440 im Behälter 450. Aus den Kamerabildern berechnet der Computer 420 Tiefenkarten des Haufens von Objekten 440 im Behälter 450. Da die Kamerabilder aus zwei verschiedenen Perspektiven geliefert werden, können die Tiefenkarten des Haufens von Objekten 440 aus verschiedenen Blickwinkeln berechnet werden.
-
In der bevorzugten Ausführungsform enthält der Computer 420 ein neuronales Netzsystem, das für das Erfassungslernen trainiert wird. Das neuronale Netzsystem wird durch überwachtes Lernen mit den Daten aus der Greifdatenbank des Feldes 150 (Punktwolken, Greifstellungen und Erfolgsraten aus der physikalischen Umweltsimulation) trainiert. Die Verfahren der 1-3 der vorliegenden Erfindung liefern die Menge und Vielfalt an Daten, die für ein vollständiges Training eines neuronalen Netzsystems benötigt werden. Dazu gehören viele verschiedene Greifbewegungen für jedes Objekt und viele verschiedene zufällige Haufen von Objekten mit Ziel-Griff-DOF und Greiferfolgsraten. Alle diese Daten in der Greifdatenbank des Feldes 150 können zum automatischen Training des neuronalen Netzsystems verwendet werden. Das neuronale Netzsystem im Computer 420 wird dann während des Live-Roboterbetriebs in einem Inferenzmodus ausgeführt, in dem das neuronale Netzsystem auf der Grundlage der Objekthaufenbilddaten der Kameras 430/432 einen hochwertigen Griff berechnet.
-
In einer anderen Ausführungsform identifiziert der Computer 420 während des Live-Roboterbetriebs direkt einen Griff auf der Grundlage der Greifdatenbank des Feldes 150. In dieser Ausführungsform weiß der Computer 420 im Voraus, welche Arten von Objekten 440 im Behälter 450 enthalten sind, da diese Informationen in der Greifdatenbank aus dem Feld 150 enthalten sind (zusammen mit Punktwolken, Greifstellungen und Erfolgsraten aus der Simulation der physischen Umgebung). Wenn eine Tiefenkarte gefunden wird, die ein Objekt (z.B. das Objekt 442) in einer Position für einen qualitativ hochwertigen Griff gemäß der zuvor erstellten Greifdatenbank enthält, liefert der Computer 420 die individuellen Objekt-Greifdaten an die Steuerung 410, die dann dem Roboter 400 befiehlt, das Objekt zu greifen und zu bewegen.
-
In beiden oben beschriebenen Ausführungsformen beinhalten die vom Computer 420 an die Steuerung 410 gelieferten Greifdaten die 3D-Koordinaten des Greifzielpunkts, den vom Greifer 402 zu verfolgenden Annäherungswinkel, sowie den Drehwinkel und die Breite des Greifers (oder die Positionen aller Fingergelenke). Anhand der Greifdaten kann die Steuerung 410 Bewegungsanweisungen für den Roboter berechnen, die den Greifer 402 veranlassen, ein Objekt (z.B. das Objekt 442) zu ergreifen und das Objekt entlang eines kollisionsfreien Pfades (des Pfades 480) zum Zielort zu bewegen.
-
Anstelle des Förderers 460 könnte es sich bei dem Zielort auch um einen Versandcontainer handeln, in dem die Objekte in einzelnen Fächern untergebracht sind, oder um eine andere Fläche oder Vorrichtung, auf der die Objekte in einem nachfolgenden Arbeitsgang weiterverarbeitet werden.
-
Nachdem das Objekt 442 zum Förderer 460 transportiert wurde, werden von den Kameras 430/432 neue Bilddaten geliefert, da sich der Haufen der Objekte 440 nun verändert hat. Der Rechner 420 muss dann anhand der neuen Bilddaten und der zuvor erzeugten Greifdatenbank einen neuen Zielgriff identifizieren. Der neue Zielgriff muss vom Computer 420 sehr schnell identifiziert werden, da die Greifidentifikation und die Pfadberechnung in Echtzeit durchgeführt werden müssen, und zwar so schnell, wie der Roboter 400 eines der Objekte 440 bewegen und zum Aufnehmen des nächsten zurückkehren kann. Die Generierung der Datenbank von Qualitäts-Greifbewegungen - einschließlich der entsprechenden Tiefenbilddaten, des Greifpunkts und des Annäherungswinkels sowie der Greiferkonfiguration für jeden Griff - ermöglicht das Vortraining des neuronalen Netzsystems, um die Echtzeitberechnungen während der tatsächlichen Roboteroperationen sehr schnell und effizient durchzuführen. Die beschriebenen Verfahren erleichtern die Generierung der Greifdatenbank für viele Objekte und entsprechende Greifer einfach und automatisch.
-
Die oben beschriebene Greifbewegungs-Erzeugungstechnik bietet mehrere Vorteile gegenüber bestehenden Verfahren. Das beschriebene Verfahren bietet eine qualitativ hochwertige, full-DOF Greifbewegungs-Erzeugung. Die Verfahren erzeugen plausible Greifbewegungen mit Oberflächenkontakten, wodurch die erzeugten Greifbewegungen robuster gegenüber Unsicherheiten und Störungen sind. Darüber hinaus sind die beschriebene Optimierungsformulierung und der angepasste iterative Solver hocheffizient und berechnen Greifbewegungen in Zeiten von 0,06 Sekunden für Greifer mit einem Gelenk bis zu 0,5 Sekunden für eine Hand mit 22 Gelenken und mehreren Fingern. Die physikalische Simulation ist 10-100 mal schneller als reale Versuche und ist in der Lage, die Greifversuche innerhalb von 0,01-0,05 Sekunden zu testen und eine Million Greifbewegungen in 10 Stunden zu erzeugen.
-
Darüber hinaus generiert das vorgestellte Verfahren vielfältige Greifdaten, einschließlich verschiedener Variationen und Interferenzen. Die Generierungspipeline simuliert die Greifleistung unter Variationen (Objektformvariationen, Positionsunsicherheiten) und Störungen (Verwicklungen, Verklemmungen und Ecken). Daher kann der spätere Lernalgorithmus eine robuste Greifstrategie auf der Grundlage dieser Greifdaten erlernen. Der Optimierungsrahmen funktioniert bei Sauggreifern, konventionellen Fingergreifern, angepassten Greifern, mehrfingrigen Händen und weichen Greifern mit geringer Anpassung. Es funktioniert auch bei einer unterbetätigten Hand und einer vollbetätigten Hand. Schließlich sind die beschriebenen Verfahren mathematisch fundiert und einfach zu lösen und optimieren die rigorose Greifqualität, um plausible Greifbewegungen zu erzeugen. Trotz der rigorosen Qualitäten und aller Nebenbedingungen kann der Algorithmus mit einfacher linearer Algebra iterativ gelöst werden.
-
In der vorangegangenen Diskussion werden verschiedene Computer und Steuerungen beschrieben und angedeutet. Es ist zu verstehen, dass die Softwareanwendungen und -module dieser Rechner und Steuerungen auf einem oder mehreren Rechengeräten mit Prozessor und Speichermodul ausgeführt werden. Dazu gehört insbesondere ein Prozessor in der Robotersteuerung 410, die den Roboter 400 steuert, der das Greifen von Objekten durchführt, und in dem Computer 420, der die Greifbewegungs-Erzeugung durchführt und Objekte zum Greifen im Echtzeitbetrieb identifiziert.
-
Während oben eine Reihe von beispielhaften Aspekten und Ausführungsformen der optimierungsbasierten Greifbewegungs-Erzeugungstechnik erörtert wurden, werden Fachleute Modifikationen, Permutationen, Ergänzungen und Unterkombinationen davon erkennen. Es ist daher beabsichtigt, dass die Beschreibung so interpretiert wird, dass sie alle derartigen Modifikationen, Permutationen, Ergänzungen und Unterkombinationen beinhaltet, die im Sinn und Umfang der Erfindung liegen.