-
Die vorliegende Erfindung betrifft ein Verfahren zum automatisierten Optimieren von Parametern, insbesondere für einen robotergestützten Greif-Vorgang, ein Verfahren zum Steuern eines Greif-Roboters, ein System zum automatisierten Optimieren von Parametern, sowie ein Computerprogramm bzw. Computerprogrammprodukt.
-
Im Stand der Technik werden technische Systeme teilweise in Simulationsumgebungen trainiert. Hierfür werden üblicherweise simulierte Daten in beliebiger Menge generiert. Diese simulierten Daten sind aber nur ein qualitatives Abbild der Realität. Der Unterschied zwischen Simulation und Realität wird üblicherweise auch als Simulation-zu-Realitäts-Lücke (englisch: „Sim2Real-Gap“) bezeichnet.
-
Aufgabe der vorliegenden Erfindung ist es insbesondere die Simulation-zu-Realitäts-Lücke zu verkleinern, weiter insbesondere eine Parametrierung der Simulation zu optimieren.
-
Die Lösung dieser Aufgabe wird gemäß der Lehre der unabhängigen Ansprüche erreicht. Verschiedene Ausführungsformen und Weiterbildungen der Erfindung sind Gegenstand der Unteransprüche.
-
In einer Ausführung der vorliegenden Erfindung wird ein Verfahren zum automatischen Optimieren von Parametern, insbesondere für einen robotergestützten Greif-Vorgang bereitgestellt. In einer Ausführung weist das Verfahren ein Ermitteln von Greif-Realdaten auf, wobei die Greif-Realdaten wenigstens einen Greiferfolg einer Griffposition beschreiben, insbesondere an einem durch einen Greif-Roboter zu greifenden Objekts bzw. an einem durch einen Greif-Roboter gegriffenen Objekt. Alternativ oder zusätzlich weist das Verfahren ein Ermitteln von Halte-Realdaten auf, wobei die Halte-Realdaten wenigstens eine Kraft beschreiben, insbesondere eine Kraft am durch einen Greif-Roboter gegriffenen Objekt und/oder am Greifer des Greif-Roboters, der insbesondere ein zu greifendes Objekt (erfolgreich) gegriffen hat. In einer Ausführung beschreiben die Halte-Realdaten wenigstens eine für den Bestand des Griffs am gegriffenen Objekt relevanten Parameter bzw. relevante Eigenschaft, insbesondere einen mit dem Griff in Verbindung stehenden Parameter bzw. Eigenschaft. In einer Ausführung ist ein relevanter Parameter bzw. eine Eigenschaft eine Kraft, insbesondere eine Normalkraft, eine Reibkraft, insbesondere eine Reibung bzw. einen Reibkoeffizient, wie insbesondere (für) eine Haftreibung, eine Wälzreibung, eine Rollreibung (englisch: „rolling friction“), Bohrreibung(englisch: „spinning friction“), und/oder Gleitreibung (englisch: „lateral friction“), die am Greifobjekt und/oder an wenigstens einem Greiferfinger wirkt, insbesondere eine Schließkraft des wenigstens einen Greiferfingers, und/oder eine Masse, Trägheit und/oder Lage eines Masseschwerpunkts des Greifobjekts und/oder des wenigstens einen Greiferfingers. In einer Ausführung weist das Verfahren ferner, insbesondere in einem Schritt, ein Simulieren, insbesondere ein Replizieren, weiter insbesondere in einer Simulationsumgebung, auf, wobei wenigstens ein Greif-Vorgang, insbesondere ein Griff, in der Simulationsumgebung basierend auf dem den ermittelten Greif-Realdaten und/oder den ermittelten Halte-Realdaten zu Grunde liegenden Greif-Vorgang, insbesondere Griff. In einer Ausführung weist da Verfahren ferner, insbesondere in einem Schritt, ein datenbasiertes Optimieren von Parametern des simulierten Greif-Vorgangs, insbesondere des simulierten Griffs, auf. Alternativ oder zusätzlich weist das Verfahren ein Optimieren der Parameter des simulierten Greif-Vorgangs, insbesondere des simulierten Griffs, basierend auf den ermittelten Greif-Realdaten und/oder basierend auf den ermittelten Halte-Realdaten auf.
-
Hierdurch können vorteilhafterweise, in einer Ausführung, optimierte Parameter ermittelt werden, insbesondere vorteilhafterweise eine verbesserte Simulationsumgebung erreicht werden, weiter insbesondere eine realistischere bzw. realitätsnahe/realitätsnähere Simulation bzw. Simulationsumgebung, insbesondere im Vergleich mit Simulationen bzw. Simulationsumgebungen, die nicht basierend auf Greif-Realdaten und/oder Halte-Realdaten optimieren bzw. optimiert werden.
-
Der Begriff „Greif-Realdaten“, wie hierin verwendet, soll insbesondere als, weiter insbesondere digitale, Information verstanden werden, die Daten eines realen Greif-Vorgangs, insbesondere eines real durchgeführten Griffs beschreiben. Insbesondere soll der Begriff, in einer Ausführung, als Pendant zu „Greif-Simulationsdaten“ verstanden werden, wobei sich die „Greif-Simulationsdaten“ auf Information, die Daten eines simulierten Greif-Vorgangs, insbesondere eines simulierten Griffs, in einer Simulationsumgebung beschreiben.
-
Der Begriff „Halte-Realdaten“, wie hierin verwendet, soll insbesondere als, weiter insbesondere digitale, Information verstanden werden, die Daten eines Haltens bei bzw. während eines real durchgeführten Greif-Vorgangs, insbesondere bei bzw. während eines real durchgeführten Griffs, beschreiben. Insbesondere soll der Begriff, in einer Ausführung, als Pendant zu „Halte-Simulationsdaten“ verstanden werden.
-
In einer Ausführung beschreiben die „Realdaten“ und die „Simulationsdaten“ jeweils die gleiche Sache bzw. Information, entsprechend für die Realität und die Simulation, bzw. die Simulationsumgebung.
-
In einer Ausführung weist das datenbasierte Optimieren ein automatisches Anpassen der Parameter, insbesondere ein automatisches Anpassen einer simulierten Masse der Simulation, ein automatisches Anpassen von (simulierten) Dynamikparametern und/oder einer simulierten Kraft, insbesondere Reibkraft bzw. Reibung, auf. In einer Ausführung basiert das automatische Anpassen der Parameter auf wenigstens einer Auswertung einer Kostenfunktion, die der Optimierung zugrunde liegt bzw. auf Basis derer optimiert wird.
-
In einer Ausführung basiert das datenbasierte Optimieren, insbesondere das Optimieren der Parameter auf einer Kostenfunktion von Greif-Realdaten und Greif-Simulationsdaten und/oder Halte-Realdaten und Halte-Simulationsdaten. In einer Ausführung beschreiben die Greif-Simulationsdaten wenigstens einen simulierten Greifparameter, insbesondere einen Greiferfolg einer Griffposition in der Simulation. In einer Ausführung beschreiben die Halte-Simulationsdaten wenigstens einen simulierten Halteparameter, insbesondere eine Kraft des simulierten Griffs. In einer Ausführung kann die Kostenfunktion auf einem Vergleich übereinstimmender Einträge in Vektoren erfolgreicher Griffe in der Realität und der Simulation basieren, insbesondere eine Kostenfunktion c = Summe(Betrag(Greiferfolg_real - Greiferfolg_sim)), wobei Greiferfolg_real einem Vektor für einen Greiferfolg in der Realität, insbesondere bei einem real ausgeführten Griff entspricht und Greiferfolg_sim einem Vektor für einen Greiferfolg bei einem entsprechenden Griff in der Simulationsumgebung. Dabei können in einer Ausführung die Einträge in den Vektoren 1 oder 0 sein, entsprechend einem erfolgreichen Griff oder einem nicht erfolgreichen Griff. In einer Ausführung umfasst das datenbasierte Optimieren das Anpassen von, insbesondere abstrakten, Parametern, wie insbesondere Zeitschritte der Simulation, Löser-Iterationen (englisch: „solver-iterations“) oder dergleichen, weiter insbesondere „lateral friction“, „rolling friction“, „spinning friction“ des Greifobjekts und/oder „lateral friction“, „rolling friction“, „spinning friction“ des Greifers, insbesondere wenigstens eines Greiferfingers, eine Masse, eine Trägheit und/oder einen Masseschwerpunkt des Greifobjekts, oder dergleichen.
-
Hierdurch kann, in einer Ausführung, vorteilhafterweise ermöglicht werden, dass Entscheidungen bezüglich der Parameter, insbesondere Dynamikparameter, basierend auf Auswertungen der Kostenfunktion geschätzt werden können bzw. werden. So kann, in einer Ausführung, wenn insbesondere ein Griff nah am Rand des Objekts liegt und/oder an den Fingerspitzen der Greiferfinger und wenn das Objekt nicht gehalten werden kann bzw. aus dem Greifer fällt oder an den Fingerspitzen heraus rutscht, das Objekt in der Simulation schwerer gemacht werden oder ein Reibungsparameter angepasst werden, insbesondere vorteilhafterweise automatisch und/oder datenbasiert.
-
In einer Ausführung wird das Optimieren, insbesondere das datenbasierte Optimieren, mittels einem gradientenfreien Optimierer durchgeführt. In einer Ausführung basiert der Optimierungsalgorithmus auf einem Monte-Carlo-Algorithmus bzw. ist der Optimierungsalgorithmus ein Monte-Carlo-Algorithmus, insbesondere eine Kovarianzmatrix-Anpassung Evolutionsstrategie (englisch: „Covariance Matrix Adaptation Evolution Strategy“; CMA-ES) oder dergleichen.
-
Hierdurch kann, in einer Ausführung, ermöglicht werden, dass eine Optimierung der Parameter schnell(er) durchgeführt werden kann bzw. wird. Vorteilhafterweise kann hierdurch in einer Ausführung automatisch optimiert werden.
-
In einer Ausführung weist das Ermitteln von Greif-Realdaten ein Ermitteln von mehreren, insbesondere kollisionsfreien und/oder greifbaren, Griffpositionen an dem zu greifenden (realen) Objekt auf. In einer Ausführung weist das Ermitteln von Greif-Realdaten ferner ein Ermitteln von mehreren, insbesondere kollisionsfreien und/oder greifbaren, Griffpositionen auf. In einer Ausführung weist das Ermitteln von Greif-Realdaten ferner ein Selektieren einer der ermittelten Griffpositionen auf. In einer Ausführung weist das Ermitteln von Greif-Realdaten ferner ein Greifen des Objekts, insbesondere mit einem bzw. dem Greifroboter auf, basierend auf der selektierten Griffposition. In einer Ausführung weist das Ermitteln von Greif-Realdaten ferner ein Speichern des Greiferfolgs zur selektierten Griffposition auf, insbesondere zur selektierten Griffposition am zu greifenden Objekt und zu einer Pose des zu greifenden Objekts, insbesondere auf einer Arbeitsfläche des Greif-Roboters.
-
In einer Ausführung weist das Ermitteln von Greif-Realdaten einen, insbesondere vorgelagerten, Schritt mit randomisiertem Platzieren eines bzw. des zu greifenden Objekts auf, insbesondere mit dem Greif-Roboter.
-
In einer Ausführung weist das Ermitteln von Greif-Realdaten ferner ein Wiederholen der zum Ermitteln von Greif-Realdaten hierin beschriebenen Verfahrensschritte auf.
-
In einer Ausführung wird das zu greifende Objekt vom Roboter, insbesondere nach dem Ermitteln von Greif-Realdaten, an eine zufällige Position gefahren, insbesondere an eine zufällige Position im Arbeitsbereich des Greif-Roboters, und anschließend fallen gelassen.
-
Hierdurch kann, in einigen Ausführungen, ermöglicht werden, dass das zu greifende Objekt in zufälligen Posen, insbesondere auf einer Arbeitsfläche des Roboters, landet. Entsprechend werden, in einigen Ausführungen, Griffpositionen ermittelt, die der zufälligen Pose des zu greifenden Objekts entsprechen.
-
Vorteilhafterweise kann hierdurch ferner, in einigen Ausführungen, eine, insbesondere nach Greiferfolg, vorsortierte Menge an Griffen für das Objekt erhalten werden.
-
In einer Ausführung der vorliegenden Erfindung wird ein Verfahren zum Optimieren eines Griff-Samplers bereitgestellt. Das Verfahren weist in einer Ausführung, zumindest im Wesentlichen, dieselben Schritte wie das Ermitteln von Greif-Realdaten auf, insbesondere mit einem Selektieren einer der ermittelten Greifpositionen basierend auf einer Selektions-Häufigkeit der Griffpositionen, wie hierin beschrieben. Vorteilhafterweise kann, in einer Ausführung, mittels der Ermittelten Greif-Realdaten ein Griff-Sampler optimiert werden, insbesondere schnell(er) ein Griff mit einem hohen bzw. höheren Greiferfolg, insbesondere vom Greif-Sampler ermittelt werden, weiter insbesondere basierend auf den ermittelten, insbesondere gespeicherten Greif-Realdaten.
-
In einer Ausführung basiert das Selektieren einer der ermittelten Griffpositionen, insbesondere beim Wiederholen der hierin beschriebenen Verfahrensschritte zum Ermitteln von Greif-Realdaten, auf einer Selektions-Häufigkeit der ermittelten Griffpositionen, insbesondere wird die ermittelte Griffposition mit der niedrigsten Selektions-Häufigkeit von den ermittelten Griffpositionen selektiert.
-
Hierdurch kann vorteilhafterweise eine vorsortierte Menge an Griffpositionen für ein zu greifendes Objekt, insbesondere schnell(er), erhalten werden.
-
In einer Ausführung weist das Ermitteln von Halte-Realdaten ein Ermitteln einer Halte-Griffposition, insbesondere an einem gegriffenen Objekt auf, wobei die Halte-Griffposition derart am zu greifenden Objekt und/oder am gegriffenen Objekt angeordnet ist, dass über die Halte-Griffposition eine Kraft auf das zu greifende und/oder auf das gegriffene Objekt ausgeübt werden kann, die entgegengesetzt zu wenigstens einer Kraft am zu greifenden Objekt und/oder am gegriffenen Objekt wirken kann bzw. wirkt, insbesondere entgegengesetzt zu einer Greifrichtung des Greif-Roboters. In einer Ausführung weist das Ermitteln von Halte-Realdaten ferner ein Greifen, insbesondere Halten, des Objekts an der ermittelten Halte-Griffposition auf, insbesondere durch einen vom Greif-Roboter verschiedenen Halte-Roboter. Dies kann in einer Ausführung ein Kompensieren der Gravitation, die auf das gegriffene Objekt wirkt, umfassen, insbesondere dann, wenn es sich bei dem Objekt um ein großes, im Vergleich zum Greifer oder Greifroboter, und/oder um ein schweres Objekt, insbesondere im Vergleich zur Maximalkraft des Greifroboters, handelt. In einer Ausführung weist das Ermitteln von Halte-Realdaten ferner ein Ausüben einer Kraft, insbesondere über die Halte-Griffposition, weiter insbesondere mittels des Halte-Roboters, auf das Objekt, insbesondere einer Kraft, die entgegengesetzt zu einer Kraft am gegriffenen Objekt wirkt, weiter insbesondere einer Kraft, die entgegengesetzt zu einer vom Greif-Roboter (nicht vom Halte-Roboter) auf das Objekt aufgeprägten Kraft wirkt, insbesondere entgegengesetzt zu einer Greifrichtung des Greif-Roboters.
-
Hierdurch kann, in einer Ausführung, vorteilhafterweise ermöglicht werden, dass Parameterwerte für eine Simulation genau(er), insbesondere schnell(er), bestimmt bzw. ermittelt werden können bzw. werden. Vorteilhafterweise kann hierdurch, in einer Ausführung, ermöglicht werden, dass insbesondere rotatorische Kräfte, weiter insbesondere rotatorische Reibwerte, besser bestimmt werden können bzw. werden, als insbesondere ohne den Einsatz eines Halteroboters oder als nur basierend auf einer Simulationsumgebung.
-
In einer Ausführung weist das Ausüben der Kraft, insbesondere mittels des Halte-Roboters, ein sukzessives Erhöhen der Kraft mit vorbestimmten Schritten auf, insbesondere bis der Greif-Roboter das gegriffene Objekt verliert und/oder bis eine, insbesondere vorbestimmte, Maximalkraft überschritten wird bzw. ist. In einer Ausführung weist das Ausüben der Kraft eine (numerische) Messung der ausgeübten Kraft auf.
-
Hierdurch kann, in einer Ausführung, vorteilhafterweise ermöglicht werden, dass Parameter für eine Simulation genau(er), insbesondere schrittweise, ermittelt werden können bzw. werden. Ferner kann in einer Ausführung vorteilhafterweise ermöglicht werden, dass genau(er) bestimmt werden kann, bei welcher aufgebrachten Kraft der Griff verloren wurde.
-
In einer Ausführung weist das Ermitteln von Greif-Realdaten und/oder von Halte-Realdaten ein Aufnehmen des Objekts mittels einer Aufnahmevorrichtung auf. In einer Ausführung weist das Aufnehmen des Objekts ein Ermitteln einer Pose des Objekts, insbesondere über die Zeit, auf, weiter insbesondere eine Lokalisierung des gegriffenen Objekts, insbesondere im Greifer (englisch: „In-Hand-Localization“), und/oder eine Objektverfolgung (englisch: „tracking“) des Objekts, insbesondere solange es gegriffen ist.
-
In einer Ausführung kann, insbesondere durch das Aufnehmen des Objekts mit der Aufnahmevorrichtung, weiter insbesondere mittels tracking, eine Kostenfunktion in einer Ausführung auf c = Summe(Betrag(traj-sim - traj_real)), wobei sich traj_sim auf eine aufgenommene Trajektorie des Objekts in der Simulationsumgebung bezieht, insbesondere diese Trajektorie beschreibt, und wobei sich traj_real auf eine aufgenommene Trajektorie des Objekts in der Realität bezieht, insbesondere diese Trajektorie beschreibt, geändert bzw. diese Kostenfunktion für die Optimierung angewendet werden. In einer Ausführung kann, insbesondere durch das Aufnehmen des Objekts mit der Aufnahmevorrichtung, wenigstens eine Startposition des Objekts, insbesondere ein Start-Frame, und eine Endposition des Objekts, insbesondere ein End-Frame, für eine Kostenfunktion verwendet werden.
-
Hierdurch kann in einer Ausführung vorteilhafterweise ermöglicht werden, dass die Parameterschätzung für die Optimierung verbessert werden kann bzw. wird, insbesondere weil die Trajektorie des Objekts mehr Informationen beinhaltet als insbesondere eine Greiferfolgsvariable, die den Erfolg oder Misserfolg des Griffs angibt bzw. beschreibt.
-
In einer Ausführung kann, alternativ oder zusätzlich, über die Endposition des Halte-Roboters eine Bewegung des Objekts approximiert werden und insbesondere in die Kostenfunktion mit aufgenommen werden.
-
Hierdurch können, in einer Ausführung, vorteilhafterweise Informationen über den Greifvorgang gewonnen werden, die über den Informationsgehalt des Greiferfolgs hinausgehen, insbesondere eine verbesserte Kostenfunktion bieten können bzw. bieten.
-
In einer Ausführung der Erfindung wird ein Verfahren zum Steuern eines Greif-Roboters bereitgestellt. In einer Ausführung weist das Verfahren ein Ermitteln von Steuerdaten basierend auf den optimierten Parametern nach einer hierin beschriebenen Ausführung auf, insbesondere zum robotergestützten Greifen, weiter insbesondere für einen robotergestützten Greif-Vorgang. In einer Ausführung weist das Verfahren ein Steuern und/oder Bewegen des Greifroboters basierend auf den optimierten Steuerdaten auf.
-
Hierdurch kann in einer Ausführung ermöglicht werden, dass eine Bewegung und/oder Steuern des Roboters in einer Simulationsumgebung zuerst optimiert werden kann und dann auf den Roboter übertragen wird, insbesondere um ein zu greifendes Objekt besser und/oder schnell(er) zu greifen. Ferner kann hierdurch, in einer Ausführung, ermöglicht werden, dass der Griff, insbesondere eine Schließkraft der Greiferfinger oder dergleichen optimiert(er) verwendet werden kann bzw. wird.
-
In einer Ausführung sind Ausführungen eines hierin beschriebenen Verfahrens auf Anwendungen mit mehreren Objekten, insbesondere Anwendungen mit mehreren zu greifenden Objekten in einem Behälter, anwendbar bzw. übertragbar, sofern technisch sinnvoll und/oder anwendbar. Insbesondere können, in einer Ausführung, die für freiliegende Objekte ermittelten Parameter auf einen Greifprozess mit mehreren Objekten in einem Behälter übertragen werden, insbesondere angewendet werden, weiter insbesondere anhand der optimierten Parameter Steuerdaten für einen Greifroboter ermittelt werden, der wenigstens ein Objekt aus mehreren, insbesondere in einem Behälter angeordneten, Objekten greifen soll bzw. greift.
-
In einer Ausführung der Erfindung wird ein System zum Betreiben und/oder Überwachen wenigstens eines Roboters bereitgestellt. In einer Ausführung weist das System einen Greif-Roboter auf und Mittel zum Ermitteln von mehreren, insbesondere kollisionsfreien und/oder greifbaren, Griffpositionen, insbesondere einen Griff-Sampler (englisch: „grasp sampler“). In einer Ausführung weist das System und/oder seine Mittel Mittel zum Selektieren einer der ermittelten Griffpositionen, insbesondere eine Verarbeitungseinheit, die dazu eingerichtet ist, eine der ermittelten Griffpositionen zu selektieren. In einer Ausführung weist das System und/oder seine Mittel Mittel zum Greifen des Objekts auf. In einer Ausführung weist das System und/oder seine Mittel Mittel zum Speichern des Greiferfolgs auf, insbesondere eine Verarbeitungseinheit und/oder insbesondere einen Speicher, insbesondere in Datenverbindung mit der Verarbeitungseinheit.
-
In einer Ausführung weist das System Mittel zum Ermitteln von Greif-Realdaten und/oder Mittel zum Ermitteln von Halte-Realdaten auf, insbesondere wenigstens einen Sensor, der eingerichtet ist, wenigstens einen für die Greif-Realdaten relevanten Parameter zu erfassen und/oder einen für die Halte-Realdaten relevanten Parameter zu erfassen. In einer Ausführung weist das System Mittel zum Simulieren, insbesondere zum Replizieren, von wenigstens einem Greif-Vorgang, insbesondere Griff, eines Greif-Roboters auf, in einer Simulationsumgebung. In einer Ausführung weist das System Mittel zum datenbasierten Optimieren von Parametern, insbesondere der Simulationsumgebung, auf, insbesondere eine bzw. die Verarbeitungseinheit.
-
In einer Ausführung weist das System einen Greif-Roboter und einen Halte-Roboter auf. In einer Ausführung weist das System Mittel zum Ermitteln einer Halte-Griffposition auf, insbesondere eine bzw. die Verarbeitungseinheit. In einer Ausführung weist das System, insbesondere der Halte-Roboter, Mittel zum Greifen, insbesondere Halten, der Halte-Griffposition auf. In einer Ausführung weist das System, insbesondere der Halte-Roboter, Mittel zum Ausüben einer Kraft auf das Objekt auf.
-
In einer Ausführung weist das System eine Aufnahmevorrichtung auf. Eine Aufnahmevorrichtung, wie hierin beschrieben, umfasst besonders bevorzugt eine Aufnahmevorrichtung zum Aufnehmen von digitalen und/oder zweidimensionalen, insbesondere dreidimensionalen, Bildern, kann insbesondere wenigstens eine 2D-Kamera, 3D-Kamera und/oder wenigstens zwei räumlich voneinander beabstandete Kameras und/oder wenigstens einen Scannner, vorzugsweise zum dreidimensionalen Scannen, aufweisen. In einer Ausführung ist die Aufnahmevorrichtung dazu eingerichtet eine Punktewolke und/oder Farbinformation, vorzugsweise eine dreidimensionale Punktewolke, weiter insbesondere eine Punktewolke mit Farbinformation, insbesondere den Punkten der Punktewolke zugeordnet, aufzunehmen. Entsprechend wird insbesondere eine mithilfe einer Aufnahmevorrichtung aufgenommene dreidimensionale Punktewolke und/oder Farbinformation als (mithilfe der Aufnahmevorrichtung aufgenommenes) Frame bzw. Bild bezeichnet, welches allgemein in einer Ausführung ein dreidimensionales Bild und/oder ein Bild mit Farbinformation ist.
-
In einer Ausführung ist die Aufnahmevorrichtung wenigstens einem der Roboter angeordnet. In einer Ausführung ist die Aufnahmevorrichtung alternativ oder zusätzlich entfernt vom Roboter angeordnet, insbesondere derart, dass die Aufnahmevorrichtung ein zu greifendes Objekt und/oder ein gegriffenes Objekt aufnehmen, insbesondere tracken, kann bzw. aufnimmt, insbesondere trackt.
-
Ein System und/oder ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere wenigstens eine, vorzugsweise mit einem Speicher- und/oder Bussystem daten- bzw. signalverbundene, insbesondere digitale, Verarbeitungs-, insbesondere Mikroprozessoreinheit (CPU), Graphikkarte (GPU) oder dergleichen, und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die Verarbeitungseinheit 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 Verarbeitungseinheit die Schritte solcher Verfahren ausführen kann und damit insbesondere den Roboter betreiben bzw. überwachen kann.
-
Ein Computerprogrammprodukt kann in einer Ausführung ein, insbesondere computerlesbares und/oder nicht-flüchtiges, Speichermedium zum Speichern eines Programms bzw. von Anweisungen bzw. mit einem darauf gespeicherten Programm bzw. mit darauf gespeicherten Anweisungen aufweisen, insbesondere sein. In einer Ausführung veranlasst ein Ausführen dieses Programms bzw. dieser Anweisungen durch ein System bzw. eine Steuerung, insbesondere einen Computer oder eine Anordnung von mehreren Computern, das System bzw. die Steuerung, insbesondere den bzw. die Computer, dazu, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen, bzw. sind das Programm bzw. die Anweisungen hierzu eingerichtet.
-
In einer Ausführung werden ein oder mehrere, insbesondere alle, Schritte des Verfahrens vollständig oder teilweise automatisiert durchgeführt, insbesondere durch die Steuerung bzw. ihr(e) Mittel.
-
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
- 1: Ein System nach einer Ausführung der vorliegenden Erfindung;
- 2: ein System nach einer alternativen bzw. zusätzlichen Ausführung; und
- 3: schematisch ein Blockdiagramm eines Verfahrens nach einer Ausführung.
-
1 zeigt schematisch System 1 mit einen Greif-Roboter 2, der einen Greifer 3 zum Greifen von einem zu greifenden Objekt 5 aufweist. Das zu greifende Objekt 5 ist auf einer schematischen Arbeitsplatte 6 des Systems 1 dargestellt, wobei ein einzelnes zu greifendes Objekt 5 mit durchgezogenen Linien dargestellt ist. In einer Ausführung ist das System 1 für das Greifen von mehreren Objekten 5, 5` (gestrichelt dargestellt) in einem Behälter (nicht dargestellt) eingerichtet, insbesondere, um ein hierin beschriebenes Verfahren durchzuführen. Das System 1 kann in einer Ausführung eine Aufnahmevorrichtung 8 aufweisen, die, wie in 1 gestrichelt dargestellt, nicht am Roboter 2 angeordnet ist. In einer Ausführung kann die Aufnahmevorrichtung am Roboter 2 angeordnet sein, insbesondere an einem Flansch des Roboters 2. Ferner weist das System in 1 eine Verarbeitungseinheit 7 auf, die in Datenverbindung mit dem Roboter 2 steht und insbesondere dazu eingerichtet ist, den Roboter 2 zu steuern bzw. zu überwachen. Der Roboter 2 ist ferner dazu eingerichtet, das zu greifende Objekt 5 basierend auf einer ermittelten Griffposition zu greifen. Wird der Greifvorgang des Roboters 2 wiederholt und der Greiferfolg der Griffposition aufgezeichnet, können die Greiferfolge entsprechend der Griffposition und/oder der Pose, insbesondere Lage, des Objekts geordnet werden und insbesondere anhand dieser Aufzeichnung eine Sortierung der Griffpositionen nach Greiferfolg abgeleitet werden. Hierzu kann insbesondere jeweils die Griffposition gewählt werden, die (bisher) am wenigsten gegriffen wurde. Entsprechend lassen sich Daten, insbesondere zum Grifferfolg möglicher Griffpositionen, die insbesondere mittels Griff-Sampler ermittelt werden bzw. wurden, ermitteln und speichern. Diese Daten können insbesondere für eine Simulation des Systems 1 in einer Simulationsumgebung verwendet werden, wobei das System 1 in der Simulationsumgebung, zumindest im Wesentlichen, die Komponenten des realen Systems 1 aufweist. Somit lässt sich mittels der am realen System 1 gewonnen Daten eine Optimierung der Parameter in der Simulationsumgebung erreichen, insbesondere basierend auf den in der Realität ermittelten Daten, insbesondere Greif-Realdaten.
-
2 zeigt schematisch ein System 1 mit einem Halte-Roboter 10. Ferner ist in 2 ein Roboter 2 gezeigt, der ein zu greifendes Objekt 5 gegriffen hat. 2 zeigt in gestrichelten Linien angedeutet, vergleichbar zu 1, eine Aufnahmevorrichtung 8 und ebenso eine Verarbeitungseinheit 7, die mit dem Roboter 2 und insbesondere mit dem Halte-Roboter 10 datenverbunden ist (ebenfalls in gestrichelten Linien dargestellt). Der Halte-Roboter 10 ist in 2 derart gezeigt, dass dieser eine ermittelte Halte-Griffposition gegriffen hat und das vom Greif-Roboter bereits gegriffene Objekt in zur Greifrichtung des Greif-Roboters 2 entgegengesetzten Richtung hält. Der Halte-Roboter 10 kann dabei in Ausführungen, insbesondere bei schweren und/oder großen Objekten, die Schwerkraft kompensieren. In 2 ist ferner durch Pfeile angedeutet, dass der Halte-Roboter 10 eine Kraft auf das Objekt 5 aufbringen kann, insbesondere sukzessive, die entgegen einer vom Roboter 2 ausgeübten Kraft wirkt. Eine derartige Kraft kann in Ausführungen rotatorisch (entgegengesetzt zur rotatorischen Kraft des Roboters 2) sein, und insbesondere solange sukzessive erhöht werden, bis der Roboter 2 das Objekt verliert bzw. fallen lässt. Aus der eingesetzten Maximalkraft können in Ausführungen Werte für die Parametrierung der Simulationsumgebung bzw. der Simulation des Griffs abgeleitet werden, insbesondere diese Werte in die Simulation übertragen werden. Dies ist in 2 durch die Datenverbindungen in gestrichelten Linien zur Verarbeitungseinheit 7 angedeutet. Ferner kann das gegriffene Objekt 5 während des oben beschriebenen Vorgangs bzw. Verfahrens von einer Aufnahmevorrichtung 8 getrackt werden, insbesondere eine Trajektorie des Objekt aufgezeichnet werden, in Ausführungen insbesondere kontinuierlich und/oder in Zeitschritten. Die Aufnahmevorrichtung 8 kann, wie in 2 durch die Strichelung angedeutet extern angebracht sein bzw. nicht an wenigstens einem der Roboter 2, 10 angeordnet sein, oder in Ausführungen an einem Flansch wenigstens eines Roboters 2, 10 angeordnet sein. Das in 2 gezeigte System 1 kann dann in der Simulationsumgebung, zumindest im Wesentlich, gleich aufgebaut sein, so dass sich ein simulierter (gehaltener) Griff an einem Objekt dem Griff am Objekt in der Realität nachstellen lassen kann bzw. nachgestellt wird, insbesondere in Ausführungen so lange wiederholt wird, bis der simulierte Griff dem realen Griff, zumindest im Wesentlichen (bzw. in vorbestimmten Grenzen für eine Genauigkeit der Reproduktion) gleicht.
-
In 3 ist schematisch ein Blockdiagramm eines Verfahrens 30. Das Verfahren weist einen Schritt S1 mit Ermitteln von Daten (in der Realität) auf. Dabei können Greif-Realdaten S10 ermittelt werden und/oder Halte-Realdaten S20 ermittelt werden. Das Ermitteln von Greif-Realdaten S10 umfasst insbesondere ein mit S12 dargestelltes Ermitteln von Griffpositionen am zu greifenden Objekt 5, wobei in Ausführungen dem ein Randomisiertes Platzieren des zu greifenden Objekts vorgeordnet sein kann bzw. ist. Ferner ist in 3 ein Schritt mit Selektieren einer der ermittelten Griffpositionen S14 schematisch dargestellt. S16 in 3 bezieht sich insbesondere auf ein Greifen des Objekts 5 basierend auf der in S14 selektierten Griffposition. S18 stellt schematisch ein Speichern des Greiferfolgs zur selektierten Griffposition, insbesondere in einer Datenbank bzw. einem Speicher dar. Diese Schritte können, wie insbesondere durch den gestrichelten Pfeil dargestellt, wiederholt werden. In Ausführungen können Greif-Realdaten auch eingeständig ermittelt werden und können bereits eine Optimierung, insbesondere allein auf den gespeicherten Daten zum Greiferfolg für eine Verbesserung bzw. Optimierung des Griff-Samplers verwendet werden.
-
Ferner ist in 3 mit S20 ein Ermitteln von Halte-Realdaten schematisch dargestellt. Das Ermitteln von Halte-Realdaten S20 weist in der dargestellten Ausführung ein Ermitteln einer Halte-Griffposition S22 an einem von einem Greif-Roboter gegriffenen Objekt 5 auf. Wie zuvor in 2 angedeutet, ist die Griffposition des Halte-Roboters 10 derart angeordnet, dass in einer Ausführung eine Kraft auf das Objekt eingebracht werden kann, die entgegengesetzt zu einer Kraft am Objekt 5 ist, die vom Greif-Roboter 2 aufgebracht wird bzw. ist. Ferner folgt, wie beispielhaft dargestellt, ein Greifen S24 an der ermittelten Halte-Griffposition durch insbesondere den Halte-Roboter 10. Hierauf folgt, wie beispielhaft in 3 dargestellt, ein Ausüben einer Kraft S26, insbesondere auf das Objekt 5, in entgegengesetzter Richtung einer Kraft des Greif-Roboters 2 am Objekt 5 wirkt.
-
In Ausführungen kann das Ermitteln von Halte-Realdaten S20 an das Greifen des Objekts S16 oder das Speichern S18 des Ermittelns von Greif-Realdaten S10 anschließen, wie insbesondere durch den gestrichelten Pfeil zwischen S18 und S20 angedeutet.
-
Ferner ist in 3 ein Simulieren S30 von wenigstens einem der vorangegangenen bzw. oben beschriebenen (realen) Greif-Vorgänge dargestellt. Beim Simulieren S30 wird in einer Ausführung versucht, den realen Greif-Vorgang, insbesondere möglichst nah, abzubilden, innerhalb einer Simulationsumgebung. Mit S32 ist in 3 ein Optimieren der Parameter beispielhaft dargestellt. Das Optimieren S32 basiert auf den zuvor ermittelten Greif-Realdaten und/oder den ermittelten Halte-Realdaten.
-
Ferner kann das Verfahren, wie gestrichelt dargestellt, einen Schritt mit Steuern, Bewegen und/oder Überwachen S40 eines Roboters, 2, 10 insbesondere beim Greifen, umfassen, basierend auf den ermittelten optimierten Parametern, die dafür in einer Ausführung in Steuerdaten für den Roboter 2, 10 übertragen werden.
-
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
- System
- 2
- Greif-Roboter
- 3
- Greifer
- 5, 5'
- zu greifendes Objekt
- 6
- Arbeitsfläche
- 7
- Verarbeitungseinheit
- 8
- Aufnahmevorrichtung
- 10
- Halte-Roboter
- 30
- Verfahren
- S10
- Ermitteln von Greif-Realdaten
- S12
- Ermitteln von Griffpositionen
- S14
- Selektieren einer ermittelten Griffposition
- S16
- Greifen des Objekts
- S18
- Speichern des Greiferfolgs
- S20
- Ermitteln von Halte-Realdaten
- S22
- Ermitteln einer Halte-Griffposition
- S24
- Greifen an der Halte-Griffposition
- S26
- Ausüben einer Kraft
- S30
- Simulieren
- S32
- Optimieren
- S40
- Steuern/Bewegen eines Roboters