-
STAND DER TECHNIK
-
Technisches Gebiet
-
Die vorliegende Offenbarung bezieht sich allgemein auf ein Verfahren, um Robotern das Greifen von Teilen durch menschliche Demonstration beizubringen, und insbesondere auf ein Verfahren, um Robotern Griffe beizubringen, bei dem ein Mensch das Greifen eines Teils demonstriert, Bilder der Demonstration ausgewertet werden, um eine Handpose relativ zu dem Teil zu definieren, eine Greifregion auf dem Teil bestimmt wird, indem eine Handebene durch das Teil bewegt wird und nahegelegene Oberflächenpunkte ausgewählt werden, und eine Griffoptimierung angewendet wird, um einen besten Griff zu bestimmen, der der menschlichen Demonstration entspricht.
-
Erörterung der verwandten Technik
-
Die Verwendung von Industrierobotern zur Durchführung eines breiten Spektrums von Herstellungs-, Montage- und Materialbewegungstätigkeiten ist gut bekannt. Eine solche Anwendung ist ein Pick-and-Place-Vorgang, bei dem ein Roboter beispielsweise einzelne Teile aus einem Behälter aufnimmt und jedes Teil an einem vorgeschriebenen Ort für die weitere Verarbeitung oder die Verpackung absetzt. Ein spezifisches Beispiel eines Pick-and-Place-Vorgangs ist die Maschinenbeschickungsanwendung, bei der Teile oder Werkstücke in den Behälter fallen gelassen werden und von dem Roboter gegriffen und in einer Bearbeitungsstation platziert werden müssen. Die Bearbeitungsstation muss das Teil normalerweise in einer bestimmten Weise aufnehmen, um die Ausführung der Maschinenbearbeitungsvorgänge (Bohren, Fräsen, Gewindeschneiden usw.) an dem Teil zu ermöglichen. Dies wirkt sich darauf aus, wie der Beschickungsroboter das Teil greifen kann, um es in die Bearbeitungsstation zu laden.
-
Ein anderes Beispiel eines Pick-and-Place-Vorgangs besteht darin, dass der Roboter ein einzelnes Teil aus einem Behälter mit Teilen aufnimmt und das Teil auf einem Förderer zur Beförderung zu einer nachfolgenden Station oder in einem Transportbehälter für den Versand platziert. In diesen Fällen ist es weiterhin vorteilhaft, wenn der Roboter das Teil in einer Weise greift, die dazu geeignet ist, das Teil in einer festgelegten Pose auf dem Förderer oder in dem Transportbehälter zu platzieren. Aus diesem Grund werden bestimmte Regionen des Teils für das Greifen durch den Pick-and-Place-Roboter bevorzugt.
-
Bei Anwendungen wie den oben beschriebenen wird normalerweise ein Sichtsystem (eine oder mehrere Kameras) verwendet, um die Position und Orientierung von einzelnen Teilen in dem Behälter zu erkennen. Dann wird ein spezifischer Griff eines Roboters bestimmt, der bei einem ausgewählten Teil verwendet werden soll, wobei der Griff aus einer vorberechneten Datenbank von Griffen ausgewählt werden kann, die für die jeweilige Teilegeometrie und die jeweilige Greifergeometrie generiert wurden.
-
Verfahren zur Griffgenerierung sind aus dem Stand der Technik bekannt. Beim manuellen Teachen von Griffen wird ein Fertigungsroboter verwendet, und ein fachkundiger Bediener verwendet entweder ein Lehrgerät oder eine Handführung, um dem Roboter beizubringen, das Teil zu greifen. Dies muss viele Male durchgeführt werden, um geeignete Griffe für das Teil in vielen verschiedenen Orientierungen im Behälter zu definieren. Dieses manuelle Teach-Verfahren ist langsam und ineffizient und auch sehr kostenaufwendig, weil es eine vollständige Arbeitszelle (beispielsweise mit Roboter und Bearbeitungsstation) zum Teachen erfordert, was wiederum die Nutzung der Arbeitszelle für die eigentliche Teilefertigung verhindert.
-
Es sind andere Verfahren zur Griffgenerierung bekannt, mit denen automatisch zahlreiche Greifkandidaten generiert werden können. Diese Verfahren haben jedoch Nachteile, wie z. B. extrem rechenintensiv und langsam zu sein oder Vereinfachungen vorzunehmen, die in berechneten Griffen mit geringer Greifqualität resultieren. Darüber hinaus gibt es bei vielen existierenden Verfahren keine automatisierte Methode, um der Tatsache Rechnung zu tragen, dass der Roboter das Teil in einer bestimmten Weise greifen muss, um es anschließend wie verlangt platzieren zu können.
-
Obwohl in letzter Zeit Verfahren entwickelt wurden, die die oben beschriebenen Probleme mit der automatischen Griffgenerierung überwinden, können auch diese Verfahren zur Griffgenerierung Umgebungsfaktoren im Zusammenhang mit dem Vorgang der Aufnahme eines Teils - wie umliegende Teile und Behälterwände, Hindernisse wie Tische und Spannzeuge, Nuancen der Teileform usw. - nicht Rechnung tragen.
-
In Anbetracht der oben beschriebenen Umstände besteht ein Bedarf an einem Verfahren, um Robotern Griffe beizubringen, das sich das Wissen eines menschlichen Fachmanns über geeignete Griffe für eine bestimmte Anwendung zunutze macht und Griffoptimierungsverfahren verwendet, um einen entsprechenden stabilen Griff hoher Qualität zu identifizieren.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Entsprechend der Lehre der vorliegenden Offenbarung wird ein Verfahren vorgestellt, um Robotern Griffe durch menschliche Demonstration beizubringen. Ein Mensch demonstriert einen Griff an einem Werkstück, während eine Kamera Bilder der Demonstration bereitstellt, die ausgewertet werden, um eine Handpose relativ zu dem Werkstück zu identifizieren. Die Handpose wird in eine Ebene überführt, die beispielsweise zwei Finger eines Greifers repräsentiert. Die Handebene wird verwendet, um eine Greifregion auf dem Werkstück zu bestimmen, die der menschlichen Demonstration entspricht. Die Greifregion und die Handpose werden in einer Optimierungsberechnung verwendet, die wiederholt mit Randomisierung ausgeführt werden kann, um mehrere Griffe zu generieren, die der Demonstration nahekommen, wobei jeder der optimierten Griffe ein stabiler Griff hoher Qualität mit Oberflächenkontakt zwischen dem Greifer und dem Werkstück ist. Anschließend wird ein bester der generierten Griffe ausgewählt und zu einer Griffdatenbank hinzugefügt. Die menschliche Demonstration kann an verschiedenen Stellen des Werkstücks wiederholt werden, um mehrere verschiedene Griffe in der Datenbank bereitzustellen.
-
Weitere Merkmale der hier offenbarten Verfahren werden aus der nachstehenden Beschreibung und den beigefügten Patentansprüchen in Verbindung mit den begleitenden Zeichnungen ersichtlich.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
- 1 ist eine Darstellung eines Systems zum Teachen von Griffen und Greifen von Teilen gemäß einer Ausführungsform der vorliegenden Offenbarung, bei dem ein Mensch Griffe an einem Werkstück demonstriert, die optimiert und zu einer Griffdatenbank hinzugefügt werden, und ein Industrieroboter unter Verwendung der Griffe aus der Datenbank ein Werkstück aus einem Behälter aufnimmt und das Werkstück für eine weitere Verarbeitung platziert;
- 2 ist eine Veranschaulichung der Grundprinzipien, die bei einem Verfahren zum Teachen von Griffen durch menschliche Demonstration gemäß einer Ausführungsform der vorliegenden Offenbarung zur Anwendung kommen;
- 3 ist ein bebildertes Flussdiagramm von Schritten, die in einem Prozess gemäß einer Ausführungsform der vorliegenden Offenbarung enthalten sind, der zum Teachen von Griffen durch menschliche Demonstration verwendet wird, umfassend Griffdemonstration, Bestimmung der Greifregion, Griffoptimierung und Auswahl eines besten Griffs;
- 4 ist eine Darstellung eines Verfahrens zum Auswerten von Bildern einer menschlichen Hand, um eine entsprechende Position und Orientierung eines fingerartigen Robotergreifers gemäß einer Ausführungsform der vorliegenden Offenbarung zu bestimmen;
- 5 ist eine Darstellung eines Verfahrens zum Identifizieren einer Greifregion auf einem Werkstück auf der Grundlage einer anhand von Kamerabildern einer Griffdemonstration bestimmten Handpose gemäß einer Ausführungsform der vorliegenden Offenbarung;
- 6 ist eine Darstellung der Griffoptimierungsberechnung gemäß einer Ausführungsform der vorliegenden Offenbarung, die im Kasten der Griffoptimierung von 3 angewendet wird, umfassend Oberflächenanpassung, Kollisionsvermeidung und die Verwendung der identifizierten Greifregion auf dem Teil;
- 7 ist eine Darstellung eines Verfahrens, das gemäß einer Ausführungsform der vorliegenden Offenbarung zum Identifizieren eines besten Griffs anhand der mehreren Griffergebnisse, die durch die in 3 dargestellte Griffoptimierung hervorgebracht wurden, verwendet wird;
- 8 ist eine Darstellung eines Fingergreifers, der sowohl Außengriffe als auch Innengriffe ausführt, wie sie in dem Prozess zum Teachen von Griffen durch menschliche Demonstration gemäß Ausführungsformen der vorliegenden Offenbarung verwendet werden können; und
- 9 ist ein Flussdiagramm eines Verfahrens, um Robotern Griffe durch menschliche Demonstration beizubringen, gemäß einer Ausführungsform der vorliegenden Offenbarung.
-
DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
Die nachstehende Erörterung der Ausführungsformen der Offenbarung, die ein Verfahren, um Robotern Griffe durch menschliche Demonstration beizubringen, betrifft, ist nur beispielhafter Natur und soll die offenbarten Techniken oder ihre Anwendungen und Verwendungen in keiner Weise beschränken.
-
Die Verwendung von Industrierobotern zum Aufnehmen von Teilen von einer Quelle und zum Platzieren dieser Teile an einem Zielort ist gut bekannt. Bei einem typischen Pick-and-Place-Vorgang wird ein Teilevorrat in einem Behälter bereitgestellt, beispielsweise einem Behälter, der einen ungeordneten Haufen von Teilen enthält, die gegossen oder teilweise zusammengebaut wurden, wobei die Teile aus ihren zufälligen Posen in dem Behälter aufgenommen und mit einer bestimmten Pose an einem Zielort platziert werden müssen. Bei der Maschinenbeschickung handelt es sich um eine Art der robotischen Teileaufnahme und -platzierung, die einzigartige Anforderungen stellt, während andere Bin-Picking- und Platzierungsanwendungen normalerweise ebenfalls die Platzierung des Teils in einer bestimmten Pose am Zielort erfordern.
-
1 ist eine Darstellung eines robotischen Systems zum Teachen von Griffen und Greifen von Teilen gemäß einer Ausführungsform der vorliegenden Offenbarung. Bei dem System von 1 demonstriert ein Mensch verschiedene Griffe an einem Teil oder Werkstück, werden optimierte Griffe auf der Grundlage der menschlichen Demonstration berechnet und zu einer Griffdatenbank hinzugefügt und nimmt dann ein Industrieroboter unter Verwendung der Griffe aus der Datenbank Teile aus einem Behälter auf und platziert die Teile an einer Zielposition für eine weitere Verarbeitung.
-
Bei einer Anwendung des Systems von 1 nimmt ein Industrieroboter 100 ein Teil aus einem Behälter 110 auf und platziert das Teil in einer Bearbeitungsstation 130 für die Verarbeitung, nimmt dann nach der Verarbeitung das fertige Teil aus der Bearbeitungsstation 130 und platziert das fertige Teil auf einem Förderer 140, wo es für die weitere Verarbeitung oder die Verpackung wegtransportiert wird. Bei einer anderen Anwendung des Systems nimmt der Roboter 100 ein Teil aus dem Behälter 110 auf und platziert das Teil direkt auf dem Förderer 140 für den Wegtransport. Der Roboter 100 hat einen Greifer 120 mit Fingern, die sich öffnen und schließen, um ein Teil zu greifen. Die Finger haben normalerweise eine gekrümmte Kontaktfläche, die sich zum Greifen der Teile eignet, die vom Roboter 100 gehandhabt werden. Die Greiferfingerform wird weiter unten erörtert.
-
Die Bewegung des Roboters 100 wird von einer Steuerung 150 gesteuert, die über ein Kabel (dargestellt) oder drahtlos mit dem Roboter 100 kommuniziert. Die Steuerung 150 erteilt dem Roboter 100 Gelenkbewegungsbefehle und empfängt Gelenkpositionsdaten von Gebern in den Gelenken des Roboters 100, wie aus dem Stand der Technik bekannt. Die Steuerung 150 erteilt außerdem Befehle zum Steuern des Betriebs des Greifers 120 (Befehle zum Greifen/Lösen und Greiferöffnungsweite).
-
Während der Echtzeit-Bin-Picking-Tätigkeiten durch das System von 1, sei es bei einer Maschinenbeschickung oder bei einer anderen Pick-and-Place-Anwendung, muss der Roboter 100 ein ausgewähltes Teil aus dem Behälter 110 - auf der Grundlage von Bildern des Behälters 110 von einer Kamera 170 - derart greifen, dass der Greifer 120 seine Finger auf dem ausgewählten Teil in Übereinstimmung mit einem gewählten stabilen Griff schließt. Der Griff umfasst die Position und Orientierung des Greifers 120 in Bezug auf das ausgewählte Teil mitsamt einer Greiferfingerweite. Es ist bekannt, dass zur Maximierung der Bin-Picking-Produktivität eine Griffdatenbank, die viele stabile Griffe hoher Qualität enthält, im Voraus berechnet wird und für jedes Teil, das während dem Echtzeit-Bin-Picking ausgewählt wird, einer der Griffe aus der Datenbank gewählt wird.
-
Ein Computer 160, der einen Prozessor und einen Speicher/Datenspeicher umfasst, steht in Verbindung mit der Steuerung 150. Der Computer ist dazu eingerichtet, die Griffdatenbank auf der Grundlage der Griffdemonstration durch einen Anwender 180 zu befüllen. Die Berechnung der Griffdatenbank ist der Gegenstand der vorliegenden Offenbarung und wird unten im Einzelnen erörtert.
-
Bei einer Ausführungsform des Echtzeit-Bin-Picking führt die Steuerung 150 die Teileauswahl und die Griffberechnung auf der Grundlage der Bilder von der Kamera 170 und unter Verwendung der vom Computer 160 übertragenen Griffdatenbank aus. Mithilfe der Griffdaten berechnet die Steuerung 150 Roboterbewegungsanweisungen, die bewirken, dass der Greifer 120 ein Teil greift und das Teil in die Bearbeitungsstation 130 oder an einen anderen Zielort befördert. Die Steuerung 150 erteilt dem Roboter 100 dann Anweisungen, der das ausgewählte Teil aufnimmt und platziert. Bei dieser Ausführungsform wird der Computer 160 nicht für die robotischen Bin-Picking-Tätigkeiten verwendet; vielmehr wird der Computer 160 nur für die Griffgenerierung verwendet und stellt der Steuerung 150 die Griffdatenbank im Vorfeld der robotischen Tätigkeiten bereit.
-
Bei einer anderen Ausführungsform führt der Computer 160 die Echtzeit-Teileauswahl und -Griffberechnung auf der Grundlage der Bilder von der Kamera 170 und unter Verwendung der Griffdatenbank aus, die auf dem Computer 160 residiert. Bei dieser Ausführungsform übermittelt der Computer 160 die Griffdaten (Position/Orientierung/Weite des Greifers) für jede einzelne Aufnahme aus dem Behälter an die Steuerung 150, und die Steuerung 150 berechnet Roboterbewegungsbefehle und erteilt dem Roboter 100 Anweisungen, der das ausgewählte Teil aufnimmt und platziert.
-
Beide oben beschriebenen Ausführungsformen können für eine bestimmte Anwendung auf der Grundlage spezifischer Anwendungsanforderungen, der Rechenleistung der Steuerung 150 usw. verwendet werden. Im weiteren Verlauf der folgenden Erörterung wird der Computer 160 in der Beschreibung für das Teachen von Griffen durch menschliche Demonstration gemäß der vorliegenden Offenbarung verwendet, während die Steuerung 150 in der Beschreibung einen Griff in Echtzeit unter Verwendung der Griffdatenbank berechnet und den Roboter steuert, damit er den Griff ausführt.
-
Die Kamera 170 ist üblicherweise eine dreidimensionale (3D) Kamera, die sowohl Farbbilddaten als auch Pixel-Tiefenkartendaten bereitstellt, doch kann es sich auch um eine andere Art von 3D-Sensor handeln, der geeignete Daten zum Bestimmen der Pose (Position und Orientierung) von Teilen in dem Behälter 110 bereitstellt. Mehr als eine der Kameras 170 können verwendet werden, um robustere Tiefen- und Bilddaten bereitzustellen, die bei der Bestimmung der Teilepose helfen und auch nicht vertikale Annäherungswinkel des Greifers ermöglichen. Bei einigen Anwendungen kann der Behälter 110 nur ein Teil enthalten, das eine beliebige Position und Orientierung haben könnte. Dies wäre der Fall, wenn die Teile von der Bearbeitungsstation 130 mit der gleichen Geschwindigkeit verarbeitet werden, mit der sie in dem Behälter 110 ankommen. Alternativ kann der Behälter 110 mehrere Teile (wie in 1 gezeigt) oder einen beträchtlichen Teilehaufen enthalten. In jedem Fall wird ein Griffkandidat mit der besten Qualität aus der im Voraus berechneten Griffdatenbank auf der Grundlage der Bilddaten von der Kamera 170 ausgewählt.
-
Während des Echtzeit-Betriebs greift der Roboter 100 ein Teil aus dem Behälter 110 und platziert das Teil entweder in der Bearbeitungsstation 130 oder auf dem Förderer 140 (oder an einem anderen Zielort wie in einem Versandcontainer); dann kehrt er zu dem Behälter 110 zurück, um ein anderes Teil unter Verwendung eines Griffs auszuwählen, der auf der Grundlage neuer Bilddaten berechnet wird, die von der Kamera 170 bereitgestellt werden.
-
Einem Roboter beizubringen, ein einzelnes Teil in einem mit Teilen gefüllten Behälter in Echtzeit zu erkennen und zu greifen, war schon immer eine Herausforderung. Um die Geschwindigkeit und die Zuverlässigkeit von robotischen Teileaufnahmevorgängen zu verbessern, ist es bekannt, Griffe für einen spezifizierten Greifer, der ein bestimmtes Teil mit unterschiedlichen Posen greift, im Voraus zu berechnen. Dieses Vorberechnen von Griffen ist als Griffgenerierung bekannt, und die vorberechneten (generierten) Griffe werden dann verwendet, um während der robotischen Teileaufnahmevorgänge in Echtzeit Entscheidungen zu treffen.
-
Verfahren zur Griffgenerierung sind aus dem Stand der Technik bekannt, weisen jedoch verschiedene Unzulänglichkeiten auf, wie zuvor erörtert. Die vorliegende Offenbarung überwindet die Unzulänglichkeiten existierender Verfahren zur Griffgenerierung, indem das Teachen von Griffen durch menschliche Demonstration ermöglicht wird, bei dem ein Mensch einen Griff an einem Werkstück demonstriert und ein optimierter stabiler Griff hoher Qualität anhand der Bilder der menschlichen Demonstration berechnet wird. Dieses offenbarte Verfahren macht sich das intuitive Verständnis eines Menschen davon zunutze, wie ein Teil gegriffen werden sollte, während es außerdem das Leistungsvermögen der Griffoptimierungsberechnung nutzt, um einen Griff zu berechnen, der gegenüber Ungenauigkeiten bei der Erfassung der genauen Kontaktstellen zwischen Finger und Werkstück unempfindlich ist.
-
Bei dem Verfahren zum Teachen von Griffen durch menschliche Demonstration wird die Kamera 170 (oder ein anderes Beispiel einer Kamera 170) verwendet, um Bilder der Griffdemonstration durch einen Menschen 180 bereitzustellen. Die Griffdemonstration ist in Kasten 182 dargestellt. Unter Verwendung der Bilder der menschlichen Hand und des Werkstücks aus der menschlichen Demonstration wird bei den hier offenbarten Verfahren ein stabiler Griff hoher Qualität für jede Demonstration berechnet. Der Mensch 180 kann mehrere Griffe an verschiedenen Teilen des Werkstücks demonstrieren, um mehrere optimierte Griffe in einer Griffdatenbank zur späteren Verwendung durch den Roboter 100 und die Steuerung 150 bereitzustellen.
-
Verschiedene Konfigurationen des in 1 dargestellten Systems können verwendet werden. Beispielsweise kann die menschliche Demonstration mit ihrer Kamera und ihrem Computer an einem von der Arbeitszelle, wo der Roboter 100 mit seiner Steuerung 150 arbeitet, getrennten Ort ausgeführt werden; in diesem Fall werden die demonstrierten und optimierten Griffe zu einer Griffdatenbank hinzugefügt, die der Computer 160 der Steuerung 150 für Echtzeit-Robotertätigkeiten bereitstellt. Alternativ könnte die menschliche Demonstration in der Roboterarbeitszelle unter Verwendung derselben Kamera und desselben Computers ausgeführt werden, die für die Echtzeit-Robotertätigkeiten verwendet werden.
-
2 ist eine Veranschaulichung der Grundprinzipien, die bei einem Verfahren zum Teachen von Griffen durch menschliche Demonstration gemäß einer Ausführungsform der vorliegenden Offenbarung zur Anwendung kommen. In Kasten 210 demonstriert der Mensch 180 (von 1) einen Griff an einem Werkstück, während Bilder der Hand und des Werkstücks aufgenommen werden. Die dreidimensionalen (3D) Positionen der Knochen der Finger werden in den Kamerabildern detektiert (diese Technik wird unten erörtert) und ein Hand-Koordinatenrahmen wird auf der Grundlage der 3D-Fingerpositionen berechnet. Die Position und Orientierung des Werkstücks wird ebenfalls in den Bildern detektiert oder im Demonstrationsarbeitsraum vorher festgelegt, sodass die Position und Orientierung des Hand-Koordinatenrahmens relativ zum Werkstück bekannt ist. Der Hand-Koordinatenrahmen wird mit einem Greifer-Koordinatenrahmen gleichgesetzt, der wiederum eine Greifpose definiert, das heißt, eine Pose mit sechs Freiheitsgraden, die drei Positionen und drei Orientierungswinkel des Greifers relativ zum Werkstück umfasst.
-
Die Greifpose von Kasten 210 wird bei Kasten 220 in einem Schritt verwendet, der eine Greifregion auf dem Werkstück bestimmt. Die Greifpose ist im Kasten 220 als Koordinatenrahmen-Triade bei 222 dargestellt. Eine Handebene 224 wird aus der Greifpose 222 berechnet. Im Fall eines Parallelfingergreifers wird die Handebene 224 als die Ebene berechnet, die zwei parallele Finger enthält. Bei dem offenbarten Verfahren können auch andere Greiferarten verwendet werden, wie etwa ein Vakuumgreifer (Saugnapfgreifer), wobei die Handebene ebenfalls anhand der Finger der menschlichen Demonstration berechnet würde, und der Mensch würde einen Griff demonstrieren, wobei die Handebene im Wesentlichen perpendikular zu einer planen Oberfläche des Werkstücks ist. Die Detektion einer Handpose und die Berechnung einer entsprechenden Greiferpose werden weiter unten erörtert.
-
Im Kasten 220 wird ein Punktwolkenmodell des Werkstücks zusammen mit der Handebene 224 verwendet, um eine Greifregion 226 auf dem Werkstück zu berechnen. Die Greifregion 226 wird bestimmt, indem die Handebene 224 durch die Punktwolke bewegt wird und eine Punktmenge innerhalb eines bestimmten Schwellenabstands zur Handebene 224 ausgewählt wird. Dies wird unten im Einzelnen erörtert. Die resultierende Greifregion 226 stellt eine Punktmenge auf der Oberfläche des Werkstücks in einem Bereich dar, wo der Greifer das Werkstück gemäß der menschlichen Demonstration greifen sollte.
-
Bei Kasten 230 wird eine Griffoptimierungsberechnung unter Verwendung der Greifregion 226 von Kasten 220 und der anhand der Demonstration bei Kasten 210 bestimmten Greifpose durchgeführt. Die Griffoptimierungsschritte werden ebenfalls unten erörtert, umfassend die Berechnung mehrerer optimierter Griffe anhand von zufällig ausgewählten Ausgangskonfigurationen und die Auswahl eines zu einer Griffdatenbank hinzuzufügenden besten der Griffe, wobei jeder Griff stabil mit einem Oberflächenkontakt hoher Qualität ist.
-
Das offenbarte Verfahren zum Teachen von Griffen durch menschliche Demonstration - dargestellt auf einer hohen Ebene in 2 - ermöglicht die Demonstration von Griffen durch einen Menschen in einer einfachen und intuitiven Weise, während es sich die Vorteile von Verfahren zur Griffoptimierungsberechnung zunutze macht, die stabile Griffe hoher Qualität hervorbringen. Einzelheiten jedes Schritts des offenbarten Verfahrens werden unten in Verbindung mit den folgenden Figuren erörtert.
-
3 ist ein bebildertes Flussdiagramm 300 von Schritten, die in einem Prozess gemäß einer Ausführungsform der vorliegenden Offenbarung enthalten sind, der zum Teachen von Griffen durch menschliche Demonstration verwendet wird, umfassend Griffdemonstration, Bestimmung der Greifregion, Griffoptimierung und Auswahl eines besten Griffs. Das Flussdiagramm 300 von 3 bietet zusammen mit den zusätzlichen Details, die in den 4-7 dargestellt sind, eine vollständige Erläuterung des offenbarten Verfahrens zum Teachen von Griffen durch menschliche Demonstration, das oben in 2 umrissen wurde.
-
Bei Kasten 310 werden Modelle des Werkstücks und des Greifers bereitgestellt. Das Werkstückmodell ist ein 3D-Oberflächenmodell oder ein Volumenmodell des Teils, das von dem Roboter 100 (von 1) aus dem Behälter 110 aufgenommen werden soll. Das Werkstückmodell wird normalerweise in einem System zum rechnerunterstützten Konstruieren (Computer Aided Design, CAD) erzeugt. Das im Kasten 310 gezeigte Werkstückmodell stellt ein Leitungsventil dar, das im Großteil der restlichen vorliegenden Offenbarung als Beispiel für das Teil verwendet wird.
-
Das Greifermodell umfasst Oberflächen- oder Volumenkörperdaten für Greiferfinger eines Greifers. Das Greifermodell in 3 stellt einen 2-Finger-Parallelgreifer dar, doch können andere Arten von Greiferkonstruktionen verwendet werden. Die Greiferfinger umfassen normalerweise Fingerspitzen, die normalerweise eine konkave Form der Innenfläche (Greiffläche) aufweisen, die so gewählt wird, dass sie dem Teil (z.B. dem Leitungsventil) entspricht, das vom Roboter gegriffen wird. Das heißt, dass die Fingerspitzen an vielen verschiedenen Teilen des Leitungsventils - wie etwa dem Knebel, dem Anschlusskörper, der Ventilspindel usw. - einen stabilen Griff zustande bringen können. Verschiedene Greifer mit unterschiedlichen Ausgestaltungen der Fingerspitzen können auf der Grundlage der Form des Teils, das gegriffen wird, verwendet werden, einschließlich eines Greifers, der an einer Innenfläche eines Werkstück angreift, der in einer späteren Figur gezeigt wird. Die Form der Fingerspitzen (d.h. der Kontaktflächen) wird in den unten erörterten Greifqualität-Optimierungsberechnungen verwendet.
-
Das Greifermodell umfasst außerdem Greiferbetätigungsparameter, wie etwa die geometrische Definition eines Aktuators, der eine Achse aufweist, entlang der sich die Finger verschieben, um eine Griffweite der Finger bereitzustellen, die der Abstand ist, um den die Finger vom Greiferaktuator auseinanderbewegt werden. Die Griffweite kann von der Steuerung 150 (1) derart gesteuert werden, dass sie vor dem Greifen des Teils zunimmt und zum Greifen des Teils abnimmt. Die Montageausrichtung des Greiferaktuators auf dem Handgelenk des Roboters 100 ist bekannt und der Drehwinkel des Handgelenks ist bekannt, was bedeutet, dass die Translationsachse der Finger relativ zum Roboterhandgelenk bekannt ist, was wiederum die Berechnung der Orte der Fingerspitzen im Raum auf der Grundlage der Griffweite ermöglicht.
-
Bei Kasten 320 wird die menschliche Demonstration durchgeführt und in Bildern erfasst, wie oben mit Bezug auf Kasten 210 von 2 beschrieben. Die menschliche Demonstration eines Greifvorgangs bei Kasten 320 wird in einer Arbeitszelle mit einer Kamera durchgeführt, die mit einem Computer verbunden ist, wie die Kamera 170, die mit dem Computer 160 verbunden ist, wie in 1 dargestellt. Das Werkstückmodell von Kasten 310 wird dem Computer bereitgestellt, sodass die Pose der Hand relativ zur Pose des Werkstücks bei Kasten 320 in Bildern erfasst werden kann.
-
Verfahren zum Detektieren einer Position einer Hand in Bildern und zum Berechnen eines Hand-Koordinatenrahmens und eines entsprechenden Greifer-Koordinatenrahmens wurden in der am 8.4.2020 eingereichten
US- Patentanmeldung Nr. 16/843,185 mit dem Titel „ROBOT TEACHING BY HUMAN DEMONSTRATION“ (Teachen eines Roboters durch menschliche Demonstration) offenbart, die gemeinsam mit der vorliegenden Anmeldung übertragen wurde und hierin in ihrer Gesamtheit durch Bezugnahme aufgenommen wird. Die oben erwähnte Anmeldung wird im Folgenden als „'185er Anmeldung“ bezeichnet.
-
4 ist eine Darstellung eines Verfahrens zum Auswerten von Bildern einer menschlichen Hand, um eine entsprechende Position und Orientierung eines fingerartigen Robotergreifers gemäß einer Ausführungsform der vorliegenden Offenbarung zu bestimmen. Die in 4 dargestellten Verfahren werden mitsamt einem ähnlichen Verfahren zum Berechnen eines Koordinatenrahmens für einen Vakuumgreifer und Einzelheiten von Schritten zur Bestimmung der 3D-Koordinaten von Keypoints auf der Hand des Vorführers in der `185er Anwendung offenbart.
-
Eine Hand 410 hat einen Hand-Koordinatenrahmen 420, der als an ihr festgemacht definiert ist, wobei die räumliche Position und Orientierung des Hand-Koordinatenrahmens 420 anhand von Bildern der Hand berechnet wird, wie hier und in der '185er Anwendung erörtert. Die Hand 410 umfasst einen Daumen 412 mit einer Daumenspitze 414 und einen Zeigefinger 416 mit einer Zeigefingerspitze 418. Es können auch andere Punkte auf dem Daumen 412 und dem Zeigefinger 416 in den Kamerabildern identifiziert werden, wie etwa Stellen des Ansatzes des Daumens 412 und des Zeigefingers 416 und der erste Knöchel des Daumens 412 und des Zeigefingers 416 usw.
-
Ein Punkt 422 befindet sich in der Mitte zwischen dem Ansatz des Daumens 412 und dem Ansatz des Zeigefingers 416, wobei der Punkt 422 als der Ursprung des Hand-Koordinatenrahmens 420 definiert ist. Die Orientierung des Hand-Koordinatenrahmens 420 kann unter Verwendung einer beliebigen Konvention festgelegt werden, die für eine Korrelation mit der Orientierung des Robotergreifers geeignet ist. Beispielsweise kann die y-Achse des Hand-Koordinatenrahmens 420 als senkrecht zur Ebene des Daumens 412 und des Zeigefingers 416 definiert werden (wobei diese Ebene durch die Punkte 414, 418 und 422 definiert wird). Dementsprechend liegen die Achsen x und z in der Ebene des Daumens 412 und des Zeigefingers 416. Ferner kann die z-Achse als den Winkel, der durch den Daumen 412 und den Zeigefinger 416 gebildet wird (der Winkel 414-422-418), halbierend definiert werden. Die Orientierung der x-Achse kann dann durch die Rechte-Hand-Regel anhand der bekannten Achsen y und z gefunden werden. Wie oben erwähnt, sind die hier definierten Konventionen nur beispielhafter Natur und es können stattdessen andere Orientierungen des Koordinatenrahmens verwendet werden. Der Punkt ist, dass eine Koordinatenrahmenposition und -orientierung auf der Grundlage von wesentlichen erkennbaren Punkten auf der Hand definiert werden kann und dass die Koordinatenrahmenposition und -orientierung mit einer Robotergreiferposition und -orientierung korreliert werden kann.
-
Eine Kamera (die Kamera 170 in 1) wird verwendet, um Bilder der Hand 410 bereitzustellen, wobei die Bilder dann ausgewertet werden können, um die räumlichen Positionen (beispielsweise in einem Arbeitszellenkoordinatenrahmen) des Daumens 412 und des Zeigefingers 416, einschließlich der Daumenspitze 414 und der Zeigefingerspitze 418 mitsamt der Knöchel, und somit die Lage des Ursprungs 422 und die Orientierung des Hand-Koordinatenrahmens 420 zu bestimmen. In 4 ist die Position und Orientierung des Hand-Koordinatenrahmens 420 mit einem Greifer-Koordinatenrahmen 440 eines Greifers 450 korreliert, der an einem Roboter 460 befestigt ist. Der Greifer-Koordinatenrahmen 440 hat einen Ursprung 442, der dem Ursprung 422 des Hand-Koordinatenrahmens 420 entspricht, sowie Punkte 444 und 446, die der Zeigefingerspitze 418 beziehungsweise der Daumenspitze 414 entsprechen. Somit befinden sich die zwei Finger des Fingergreifers 450 in der xz-Ebene des Greifer-Koordinatenrahmens 440, wobei die z-Achse den Winkel 446-442-444 halbiert.
-
Der Ursprung 442 des Greifer-Koordinatenrahmens 440 ist auch als der Werkzeugmittelpunkt des Roboters 460 definiert. Der Werkzeugmittelpunkt ist ein Punkt, dessen Position und Orientierung der Robotersteuerung bekannt ist, wobei die Steuerung Befehlssignale für den Roboter 460 bereitstellen kann, um den Werkzeugmittelpunkt und seinen zugeordneten Koordinatenrahmen (den Greifer-Koordinatenrahmen 440) in eine festgelegte Position und Orientierung zu bewegen. Der Roboter 460 und der Greifer 450 von 4 entsprechen dem Roboter 100 und dem Greifer 120 von 1. Wenn somit während Echtzeit-Robotertätigkeiten von der Robotersteuerung 150 ein Griff aus der Griffdatenbank ausgewählt wird, weiß die Steuerung, wie der Roboter 100 zu positionieren ist, damit der Greifer 120 richtig in Übereinstimmung mit dem gewählten Griff positioniert und orientiert ist. Die Griffe in der Datenbank werden durch menschliche Demonstration eingelernt, wie hierin offenbart, einschließlich der Auswertung von Positionen der Hand des Vorführers, wie in 4 dargestellt.
-
Es wird betont, dass der wie in 4 dargestellt bestimmte Hand-Koordinatenrahmen bei dem gegenwärtig offenbarten Verfahren nicht direkt zum Berechnen eines Griffs verwendet wird. Zurückkommend auf 3, wird der anhand der Demonstrationsbilder bei Kasten 320 berechnete Hand-Koordinatenrahmen für Kasten 330 bereitgestellt, wo eine Greifregion auf dem Werkstück berechnet wird. Das Werkstückmodell und das Greifermodell von Kasten 310 werden ebenfalls für Kasten 330 bereitgestellt. Die bei Kasten 330 berechnete Greifregion ist kein endgültiger Griff, der zu einer Griffdatenbank hinzugefügt werden soll. Vielmehr ist die bei Kasten 330 berechnete Greifregion im Wesentlichen eine Zielregion auf der Oberfläche des Werkstücks, die in einer späteren Griffoptimierungsberechnung verwendet wird, die schließlich zu einem zur Datenbank hinzuzufügenden Griff führt. All dies wird unten erörtert.
-
5 ist eine Darstellung eines Verfahrens zum Identifizieren einer Greifregion auf einem Werkstück auf der Grundlage einer anhand von Kamerabildern einer Griffdemonstration bestimmten Handpose gemäß einer Ausführungsform der vorliegenden Offenbarung. 5 stellt die Schritte im Einzelnen dar, die zur Bestimmung einer Greifregion im Kasten 330 von 3 verwendet werden.
-
Die Identifizierung der Greifregion beginnt mit dem Bereitstellen einer Punktwolke 510, die das Werkstück darstellt. Die Punktwolke 510 kann anhand des Werkstückmodells bei Kasten 310 bestimmt werden. Das in 5 gezeigte Objekt ist ein einfaches Hexaeder, das aus Gründen der Klarheit der Darstellung verwendet wird. Es versteht sich, dass die Punktwolke 510 in tatsächlichen Berechnungen die 3D-Form des Werkstücks repräsentiert, für das ein Griff berechnet wird (wie etwa das Leitungsventil).
-
Wenn die Punktwolke 510 bereitgestellt wurde, besteht der erste Schritt (bei 520 gezeigt) darin, Punkte des Objekts zu finden, die sich in einem bestimmten Abstand zur Handebene 530 befinden. Die Handebene 530 ist eine Ebene, die eine Pose der Hand während der menschlichen Demonstration des Griffs definiert, wie mit Bezug auf 2, Kasten 220, erörtert. Im Fall eines Zweifinger-Greifers wäre die Handebene 530 beispielsweise die Ebene, die den Daumen und den Zeigefinger enthält. Der Ursprung des Hand-Koordinatenrahmens wird durch die Triade 532 dargestellt. Die Handebene 530 wird durch die Punktwolke 510 des Objekts 540 (als Kontur dargestellt) bewegt, und alle Punkte (x, y, z) innerhalb eines Toleranzabstands d1 zur Handebene 530 werden ausgewählt.
-
Die für diesen ersten Punktauswahlschritt verwendete Gleichung lautet:
Wobei die Konstanten A, B C und D anhand der Gleichung der Handebene 530 (Ax + By + Cz + D = 0) bestimmt werden, jeder evaluierte Punkt (der Punktwolke 510) Koordinaten (x, y, z) hat und d
1 der Toleranzabstand ist.
-
Die Ergebnisse des ersten Punktauswahlschritts werden in der Darstellung bei 520 gezeigt, wobei ein Teilbereich 550 das Volumen ist, das Punkte aus der Punktwolke 510 enthält, die sich innerhalb des Toleranzabstands d1 zur Handebene 530 befinden.
-
Ein zweiter Punktauswahlschritt (bei 560 dargestellt) beinhaltet die Auswahl nur der Punkte aus dem Teilbereich 550, die sich auf der Oberfläche des Objekts 540 befinden und innerhalb eines zweiten Toleranzabstands d2 zum Ursprung des Hand-Koordinatenrahmens 532 liegen. Dieser zweite Punktauswahlschritt stellt Objektoberflächenpunkte bereit, die zur Griffoptimierung verwendet werden.
-
Die für diesen zweiten Punktauswahlschritt verwendete Gleichung lautet:
Wobei jeder evaluierte Punkt (aus dem Teilbereich 550 der Punktwolke 510) Koordinaten (x, y, z) hat, der Hand-Koordinatenrahmen 532 Ursprungskoordinaten (x
0, y
0, z
0) hat und d
2 der zweite Toleranzabstand ist.
-
Die Ergebnisse des zweiten Punktauswahlschritts werden in der Darstellung bei 560 gezeigt, wobei nur die Punkte aus dem Teilbereich 550 auf den Seitenflächen des Objekts 540 in der Darstellung beibehalten wurden. Die Auswahl der bei 560 gezeigten Punkte kann weiter verfeinert werden, um stärker örtlich begrenzte Greifregionen wie durch Ellipse 570 angegeben zu erhalten, wie etwa durch Auswahl nur der Punkte auf der Oberfläche des Objekts 540, die innerhalb eines Toleranzabstands zum Daumenspitzenpunkt 414 (repräsentiert durch die Ellipse 570) und zum Fingerspitzenpunkt 418 (repräsentiert durch eine Ellipse auf der Rückseite des Teilbereich 550, nicht dargestellt) liegen.
-
5 veranschaulicht ein Verfahren zur Auswahl von Punkten auf der Oberfläche des Objekts 540, die eine bei der Griffoptimierung zu verwendende Greifregion definieren. Es können andere Verfahren verwendet werden, wenn sie als geeignet angesehen werden. Ziel ist es, Greifregionenpunkte auf dem Objekt 540 (Werkstück) zu identifizieren, die der menschlichen Demonstration des Griffs entsprechen, und dann die Greifregionenpunkte in einer Optimierungsberechnung zu verwenden.
-
Zurückkommend auf 3, wird die bei Kasten 330 berechnete Greifregion (in 5 im Einzelnen dargestellt) für Kasten 340 bereitgestellt, wo eine Griffoptimierungsberechnung durchgeführt wird. Zusätzlich zu der Greifregion auf dem Werkstück wird in der Griffoptimierungsberechnung bei Kasten 340 auch die Greiferpose relativ zum Werkstück verwendet (wobei der Greifer-Koordinatenrahmen anhand des Hand-Koordinatenrahmens bestimmt wird, wie oben mit Bezug auf 4 erörtert).
-
Verfahren zum Ausführen einer Griffoptimierung unter Verwendung eines Werkstück-Punktwolkenmodells und eines Greifers mit einer Ausgangsposition und -orientierung wurden in der am 17.2.2022 eingereichten
US- Patentanmeldung Nr. 17/651,485 mit dem Titel „REGION-BASED GRASP GENERATION“ (Regionbasierte Griffgenerierung) offenbart, die gemeinsam mit der vorliegenden Anmeldung übertragen wurde und hierin in ihrer Gesamtheit durch Bezugnahme aufgenommen wird. Die oben erwähnte Anmeldung wird im Folgenden als „'485er Anmeldung“ bezeichnet.
-
6 ist eine Darstellung der Griffoptimierungsberechnung gemäß einer Ausführungsform der vorliegenden Offenbarung, die im Kasten 340 der Griffoptimierung von 3 angewendet wird, umfassend Oberflächenanpassung, Kollisionsvermeidung und die Verwendung der identifizierten Greifregion auf dem Teil. Die in 6 dargestellten Verfahren wurden in der '485er Anmeldung offenbart.
-
Bei Kasten 610 werden eine Konfiguration von Greiferteilen 612a und 612b relativ zu einem Objekt 614, Greiferoberflächenpunkte pi und entsprechende nächstgelegene Nachbarpunkte auf dem Objekt 614 definiert. Die 3D-Posen der Greiferteile 612a und 612b werden anhand des Greifermodells (von Kasten 310) und des Greifer-Koordinatenrahmens aus der menschlichen Demonstration (von Kasten 320) bestimmt. Die nächstgelegenen Nachbarpunkte auf dem Objekt 614 werden aus der in Kasten 330 definierten Greifregion ausgewählt. Alle Positionen und Orientierungen in der Optimierungsberechnung von 6 können in einem Weltkoordinatenrahmen W definiert werden, der in Kasten 610 dargestellt ist.
-
Die Szene in Kasten 610 stellt eine Anfangskonfiguration des Greifers in Bezug auf die Greifregion des Objekts dar, wobei die Ausgangspose des Greifers in Bezug auf das Objekt zufällig relativ zur nominalen Greiferpose (aus dem Hand-Koordinatenrahmen 532) innerhalb eines bestimmten Bereichs von translatorischen Abständen, Drehwinkeln und Greiferöffnungsweiten definiert ist. Anders gesagt ist die Ausgangsposition und - orientierung der Greiferfinger innerhalb eines bestimmten vordefinierten Abtastraums um die Punkte in der Greifregion des Objekts 614 definiert. Die zufällige anfängliche Greiferpose stellt sicher, dass jede Optimierungsberechnung gegen einen geringfügig verschiedenen Griff konvergiert.
-
In der gesamten Erörterung der Optimierungsberechnung werden die durch die Punkte pi definierten Oberflächen des Greifers (Fingers) mit Sf bezeichnet, während die Objektoberfläche (alle Abtastpunkte innerhalb der Greifregion auf dem Objekt und die nächstgelegenen Nachbarpunkte im Besonderen) mit So bezeichnet wird. Die Ziel-Greifregion auf dem Objekt wird mit St bezeichnet.
-
Kasten 620 enthält eine allgemeine Darstellung davon, wie Kollisionen zwischen einer der Greiferfingeroberflächen Sf und der Objektoberfläche So erkannt werden. Bei einer Ausführungsform wird ein allgemeines Punktnetz pi an die Greiferfingeroberfläche Sf angelegt, die Innenflächen der Greiferfinger 612 (den Bereich des Greifers, der am häufigsten zum Greifen eines Objekts verwendet wird) sowie auch Außenflächen und Seitenflächen der Greiferfinger umfasst, falls sie vom Anwender auf dem Greifermodell gekennzeichnet wurden. Aus Gründen der bildlichen Anschaulichkeit umfasst die Darstellung in Kasten 620 nur Berührungspunkte auf den Innenflächen des Fingers 612, und 6 umfasst 2D-Darstellungen des Greifers und des Objekts, Kollisionen und Kontakte. Es versteht sich, dass die Greifer- und Teilemodelle, Punktkoordinaten und Transformationen in den tatsächlichen Optimierungsberechnungen der vorliegenden Offenbarung alle dreidimensionaler Natur sind.
-
Im Kasten 620 werden ein Greiferteil 622 und ein Objekt 624 gezeigt. Das Objekt 624 kann selbstverständlich eine beliebige allgemeine Form haben, wie dargestellt. Zu Zwecken der Störungsprüfung repräsentiert das Objekt 624 das ganze Teil (z.B. die Punktwolke 510), nicht nur die Greifregion, die zuvor berechnet wurde. Da das Teil/Objekt und der Greifer durch die zuvor erörterten 3D-Modelle 310 und 320 definiert werden, weist jeder der Punkte auf der Greiferfingeroberfläche Sf und der Objektoberfläche So eine lokale Flächennormale auf, wie durch die Vektoren 626 beziehungsweise 628 dargestellt. Die lokalen Flächennormalenvektoren werden bei einer Ausführungsform der Berechnungen für die Kollisionsvermeidung verwendet, wobei die Vektoren verwendet werden, um einen Betrag der Eindringung des Greifers in das Objekt und umgekehrt zu berechnen, wobei diese Eindringung oder Störung in einer Nebenbedingungsfunktion bestraft wird. Die lokalen Flächennormalenvektoren werden auch in Berechnungen der Greifqualität verwendet, da auch in Abwesenheit von Reibung Normalkräfte vorhanden sind, wobei Tangentialkräfte eine Funktion des Reibungskoeffizienten sind.
-
Bei einer anderen, bevorzugten Ausführungsform der Kollisionsvermeidungs- oder Störungsprüfungsberechnungen wird ein Verfahren auf der Basis von vorzeichenbehafteten Distanzfeldern verwendet. Bei dem Verfahren auf der Basis von vorzeichenbehafteten Distanzfeldern wird das gesamte Greiferteil 622 als 3D-Gitter aus Zellen oder Voxeln modelliert. Das Vorzeichenbehaftetes-Distanzfeld-Gitter erstreckt sich auch auf einen Teil des Raums, der den Greifer umgibt. Beispielsweise könnte jeder der Greiferfinger 612 in einem quaderförmigen Hexaeder aus vorzeichenbehafteten Distanzfeldzellen enthalten sein. Die vorzeichenbehafteten Distanzfeldzellen, die sich auf der Oberfläche des Greifers befinden, haben einen Abstandswert d von Null. Vorzeichenbehaftete Distanzfeldzellen, die sich innerhalb des Greifers befinden, haben einen negativen Wert von d, der angibt, um wie viele Zellen sie von der Oberfläche entfernt sind, während Zellen, die sich außerhalb des Greifers befinden, einen positiven Wert von d haben, der angibt, um wie viele Zellen sie von der Greiferoberfläche entfernt sind. Diese Konventionen für die Modellierung auf der Basis von vorzeichenbehafteten Distanzfeldern sind aus dem Stand der Technik bekannt.
-
Das Objekt 624 wird mithilfe der oben erörterten Abtastpunkte modelliert. Unter Verwendung des Verfahrens auf der Basis von vorzeichenbehafteten Distanzfeldern wird bei jeder Iteration (Pose des Greifers in Bezug auf das Objekt) jeder Abtastpunkt auf dem Objekt 624 geprüft, um zu bestimmen, welche Zelle des vorzeichenbehafteten Distanzfelds des Greifers er gegebenenfalls belegt. Diese Berechnung kann sehr schnell für alle Abtastpunkte auf dem Objekt 624 ausgeführt werden und führt zu einer Bestimmung der Punkte auf dem Objekt 624, die sich mit dem Greifer 622 überlagern, sowie des Betrags der Eindringung des Greifers in das Objekt. Der Betrag der Überlagerung oder Eindringung wird auf der Grundlage des negativen Werts von d für Zellen innerhalb des Greifers bestimmt, die einen oder mehr Abtastpunkte auf dem Objekt 624 enthalten. So liefert das Verfahren auf der Basis von vorzeichenbehafteten Distanzfeldern Störungsprüfungsergebnisse, die in dem Gesamtoptimierungsmodell von 6 verwendet werden können.
-
Die Darstellung im Kasten 620 zeigt kein Vorzeichenbehaftetes-Distanzfeld-Gittermodell des Greifers 622. Doch sollte die Darstellung im Kasten 620 als allgemein repräsentativ für den die Kollisionsvermeidung oder Störungsprüfung betreffenden Teil der Optimierungsberechnung angesehen werden, die in dem vorliegend offenbarten Griffgenerierungsverfahren verwendet wird, unabhängig davon, ob die Oberflächenpunkt- (erste) -Ausführungsform oder die Vorzeichenbehaftetes-Distanzfeld- (zweite) -Ausführungsform verwendet wird.
-
In Kasten 630 wird das Problem der Griffsuche als Optimierung modelliert und es wird eine Iteration berechnet. Um stabile Griffe zu berechnen, wird die Oberflächenkontaktfläche in der Optimierung maximiert. Eine Greifer-Objekt-Kollision wird in der Optimierung ebenfalls bestraft, um eine Eindringung zu vermeiden, wie oben beschrieben wurde. Für die Vermeidung einer Kollision mit dem Greifer wird das gesamte Objekt berücksichtigt, während der Greifkontakt nur in Form derjenigen Punkte auf dem Objekt definiert wird, die zur Greifregion gehören, nicht des gesamten Teils. Die in Kasten 630 gezeigte Optimierungsformulierung wird unten in Form der Gleichungen (3a)-(3e) wiedergegeben und in den folgenden Abschnitten erörtert.
so, dass
-
Die Optimierungsformulierung beinhaltet eine Zielfunktion (Gl. 3a) in Kasten 632, die so definiert ist, dass die Greifqualität Qg maximiert wird, wobei die Greifqualität Qg eine Funktion der Kontaktflächen Sf und So ist. Die Greifqualität Qg kann in jeder geeigneten Weise definiert werden. Bei einer repräsentativen Ausführungsform ist die Greifqualität Qg das Negativum des Gesamtabstands zwischen den Punkten pi auf der Greiferfingeroberfläche Sf und den zugeordneten nächstgelegenen Nachbarpunkten NN auf der Objektoberfläche So. Das heißt, dass Qg = -Σpi∥pi - NN∥, wobei eine kleinere Gesamtsumme der Abstände eine größere Greifqualität Qg ergibt, was eine bessere Flächenpassung zwischen dem Greifer und dem Objekt bedeutet. Anders gesagt hat ein Griff guter Qualität einen kleinen negativen Wert von Qg, und ein Griff schlechter Qualität hat einen großen negativen Wert von Qg. In praktischer Hinsicht ist ein Griff guter Qualität stabil, wenn jede geringfügige Bewegung des Objekts im Greifer schnell durch Reibungs- und/oder Normalkräfte gestoppt wird und nicht zu Griffverlust führt.
-
Die Optimierungsformulierung aus den Gleichungen (3a)-(3e) enthält in Kasten 634 Nebenbedingungsfunktionen. Eine Nebenbedingungsfunktion (Gl. 3b) definiert die Greiferfingeroberfläche Sf in Form der Transformationen (R, t, q). Eine Nebenbedingungsfunktion (Gl. 3c) definiert die Objektoberfläche So in Form der nächstgelegenen Nachbarpunkte NN innerhalb der Ziel-Greifregion (St) in Bezug auf die Greiferfingeroberfläche Sf. Die Nebenbedingungsfunktionen in Kasten 634 (Gleichungen 3b und 3c) führen mitsamt der Zielfunktion in Kasten 632 gemeinsam zu einer besseren Oberflächenanpassung der Greifer- (Finger-) -Oberfläche Sf an die Objektoberfläche So, einschließlich der Verschiebung der Punkte pi auf dem Greifer in Richtung ihrer nächstgelegenen Nachbarn in der Ziel-Greifregion auf dem Objekt. Dies ist in Kasten 650 dargestellt. Das heißt, dass die anhand der Nebenbedingungsfunktionen in Kasten 634 bestimmten Transformationen bewirken, dass sich die Greiferfinger hin zu einem verbesserten Oberflächenanpassungszustand innerhalb der Ziel-Greifregion bewegen.
-
Eine Nebenbedingungsfunktion (Gl. 3d) in Kasten 636 schreibt vor, dass die transformierte Greiferfingeroberfläche
nicht in das Objekt
eindringen sollte; das heißt, dass der Abstand größer oder gleich null sein sollte. Wie oben erwähnt, kann die Greifer-Objekt-Kollision oder - Eindringung mit dem Verfahren auf der Basis von vorzeichenbehafteten Distanzfeldern oder mit einem Punkt/Oberfläche-Modell berechnet werden. Diese Nebenbedingung in Kasten 636 erbringt eine verbesserte Kollisionsvermeidung bei der nächsten Iteration, wie in Kasten 660 dargestellt. Die Gleichung (3e) gibt schließlich an, dass die Transformationen
Elemente der realisierbaren Menge
von Transformationen sind (bei einer Ausführungsform kann R einen beliebigen Rotationswert haben, muss t innerhalb einer Bounding-Box-Größe des Objekts liegen und wird q durch den Greifbereich begrenzt, der im Greifermodell von Kasten 310 definiert ist).
-
Die Nebenbedingungsfunktionen der oben (in den Kästen 634 und 636 von 4) beschriebenen Gleichungen (3b)-(3d) finden bei Strafmethoden Berücksichtigung, wobei die Nebenbedingungsverletzungen bei der Berechnung der Greifqualität als Verlustfunktion behandelt werden. Das heißt, je größer die Nebenbedingungsverletzungen sind, desto größer ist die Verlustfunktion und desto geringer ist die Greifqualität. Indem Nebenbedingungen in die Kosten gegen die Greifqualität gesetzt werden, kann die in Kasten 630 gezeigte Optimierungsformulierung mit der Methode der kleinsten Quadrate gelöst werden.
-
Eine einschrittige Berechnung nach der Methode der kleinsten Quadrate mithilfe linearer Algebra wird an den Optimierungsgleichungen in Kasten 630 durchgeführt, um die Transformationen
zu bestimmen, die die Greiferfinger in eine Richtung einer verbesserten Greifqualität auf der Ziel-Greifregion bewegen und zugleich die Nebenbedingungsfunktionen erfüllen. Pfeil 670 zeigt, dass das Griffoptimierungsverfahren nach Berechnung der Transformationen
wieder zum Kasten 610 (wo die Position der transformierten Greiferteile relativ zum Objekt bestimmt wird und nächstgelegene Nachbarpunkte auf dem Objekt, die den Greiferoberflächenpunkten p
i entsprechen, definiert werden) und zum Kasten 620 (erkannte Kollisionen) zurückkehrt. Dieser Prozess wird wiederholt, bis die Greifposition gegen eine lokale höchste Greifqualität konvergiert.
-
Nach der Konvergenz gegen einen Qualitätsgriff wird der Prozess mit einer neuen zufälligen Anfangskonfiguration für dieselbe Ziel-Greifregion von vorne begonnen, und dies wird wiederholt, bis eine anwenderdefinierte Anzahl von Griffen (z.B. 20) für die aktuelle (durch die menschliche Demonstration definierte) Ziel-Greifregion erreicht wurde. Jede zufällige Anfangskonfiguration kann eine Greifer-Objekt-Überlagerung beinhalten oder nicht. Die Anfangskonfiguration der Greiferteile in Bezug auf das Objekt, die im Kasten 610 von 6 dargestellt ist, wird für jeden neuen Griffberechnungszyklus zufällig variiert, sodass eine andere Menge von Griffen auf der Ziel-Greifregion erhalten wird. Alle auf diese Weise berechneten Qualitätsgriffe werden für die weitere Verarbeitung in einem temporären Griff-Array gespeichert, wie unten mit Bezug auf Kasten 350 von 3 erörtert wird.
-
Die in 6 dargestellte und oben beschriebene Optimierungsberechnung ist ein Beispiel eines Griffoptimierungsverfahrens. Es können gegebenenfalls andere Griffoptimierungs- oder Rechenformulierungen verwendet werden, solange Ziel-Griffregionen als geometrische Regionen eines Teils definiert werden können, wo die Greiferfinger zugreifen sollen.
-
Zurückkommend auf 3, wird das oben mit Bezug auf Kasten 6 beschriebene Griffoptimierungsverfahren in Kasten 340 von 3 durchgeführt. Wie oben erörtert, kann die Optimierungsberechnung mehrere Male mit Anfangskonfigurationen durchgeführt werden, die im Verhältnis zur nominalen Greiferpose, die anhand der Handpose bei der menschlichen Demonstration bestimmt wurde, zufällig variiert werden. Die bei Kasten 340 berechneten mehreren stabilen Griffe werden im Kasten 350 gezeigt. Jeder dieser Griffe basiert auf der Greifregion, die bei Kasten 330 anhand der menschlichen Demonstration bestimmt wurde. Wegen der für die Optimierungsberechnung zufällig variierten Anfangskonfiguration wird jeder der Griffe im Kasten 350 eine etwas andere Greiferposition und -orientierung relativ zum Werkstück haben.
-
7 ist eine Darstellung eines Verfahrens, das gemäß einer Ausführungsform der vorliegenden Offenbarung zum Identifizieren eines besten Griffs anhand der mehreren Griffergebnisse, die durch die in den Kästen 340 und 350 gezeigte Griffoptimierung hervorgebracht wurden, verwendet wird. Der beste Griff ist als derjenige definiert, der der menschlichen Demonstration am ähnlichsten ist, wie auf der Grundlage von drei Parametern bestimmt wird.
-
Der erste Parameter ist die Differenz der Position (Koordinaten x, y, z) zwischen dem berechneten Griff und der menschlichen Demonstration. Es sei daran erinnert, dass die Auswertung der Bilder aus der menschlichen Demonstration in einem Hand-Koordinatenrahmen und einem entsprechenden Greifer-Koordinatenrahmen resultierte. Die aus der Optimierungsberechnung (Kasten 340 und 6) hervorgegangenen Griffe unterscheiden sich geringfügig vom demonstrierten Greifer-Koordinatenrahmen, sowohl aufgrund der randomisierten Initialisierung als auch deswegen, weil die berechneten Griffe im Hinblick auf den Greifer-Objekt-Oberflächenkontakt optimiert wurden. Für jeden der berechneten Griffe (von Kasten 350) ist der erste Parameter in der Verlustfunktion die Differenz der Position (z.B. die Quadratwurzel der Quadratsumme der Differenzen in Koordinaten x, y, z) zwischen dem Koordinatenrahmenursprung des berechneten Griffs und dem Ursprung des Greifer-Koordinatenrahmens aus der menschlichen Demonstration.
-
Der zweite Parameter in der Verlustfunktion ist die Differenz der Drehorientierung (Gieren, Nicken und Rollen oder Winkel w, p, r) zwischen dem berechneten Griff und der menschlichen Demonstration. Dieser Parameter wird sehr ähnlich wie der erste Parameter in der Verlustfunktion berechnet. Das heißt, dass für jeden der berechneten Griffe (von Kasten 350) der zweite Parameter die Differenz der Drehung (z.B. die Quadratwurzel der Quadratsumme der Differenzen in Winkeln w, p, r) zwischen dem Koordinatenrahmen des berechneten Griffs und dem Greifer-Koordinatenrahmen aus der menschlichen Demonstration ist.
-
Der dritte Parameter in der Verlustfunktion ist der Kehrwert einer Überlappungsfläche Sarea zwischen der Greifregion auf dem Werkstück und der Greiferoberfläche. Dies ist in Kasten 710 dargestellt. Die Überlappungsfläche Sarea wird bestimmt, indem (für den bestimmten evaluierten Griff) alle Punkte in der Greifregion (aus der menschlichen Demonstration) identifiziert werden, die innerhalb eines Schwellenabstands zu einem Punkt auf der Greiferoberfläche liegen. Die Greifregion wird durch die Ellipse 570 (von 5) in Kasten 710 angegeben. Der entsprechende Greiferfinger ist mit dem Bezugszeichen 720 dargestellt. Die Überlappungsfläche Sarea wird dann gefunden, indem die identifizierten Punkte innerhalb des Abstandsschwellenwerts umschrieben werden. Die Überlappungsfläche Sarea ist als kleinere Ellipse 730 dargestellt. Diese Überlappungsfläche Sarea dient als Maß des Betrags des Kontakts zwischen den Greiferfingern (für einen bestimmten Griff von Kasten 350) und der Greifregion (die anhand der menschlichen Demonstration bestimmt wurde). Der Kehrwert der Überlappungsfläche wird in der Verlustfunktion verwendet, weil eine größere Überlappungsfläche besser ist.
-
Unter Verwendung der oben beschriebenen drei Parameter lautet ein Beispiel einer Verlustfunktion für die Auswahl eines besten der Griffe wie folgt:
-
Wobei diffdist(x,y,z) die Differenz der Position zwischen dem berechneten Griff und der menschlichen Demonstration ist, diffangle(w, p, r) die Differenz der Drehorientierung zwischen dem berechneten Griff und der menschlichen Demonstration ist, Sarea die Überlappungsfläche zwischen der Greifregion auf dem Werkstück und der Greiferoberfläche ist und w1-w3 Gewichtungsfaktoren sind. Der Griff mit dem kleinsten Wert der Verlustfunktion von Gleichung 4 wird bei Kasten 360 von 3 als der beste Griff ausgewählt und zu einer Griffdatenbank hinzugefügt.
-
Bei dem Verfahren der vorliegenden Offenbarung wird für jede Ausführung der menschlichen Demonstration nur ein Griff (der wie oben erläutert bestimmte beste Griff) zu der Griffdatenbank hinzugefügt. Um eine Griffdatenbank mit vielen verschiedenen Griffen (an unterschiedlichen Stellen des Werkstücks und aus verschiedenen Greiferorientierungswinkeln) aufzubauen, kann die menschliche Demonstration so viele Male ausgeführt werden, wie es nötig ist, um jeden der gewünschten Griffe einzeln einzulernen.
-
Die Berechnungen, die bei allen in 3 gezeigten Schritten, einschließlich der in den 4-7 beschriebenen Einzelheiten, ausgeführt werden, können auf dem Computer 160 von 1 oder auf einem beliebigen anderen geeigneten Computer ausgeführt werden, einschließlich der Robotersteuerung 150 bei einigen Ausführungsformen.
-
8 ist eine Darstellung eines Fingergreifers, der sowohl Außengriffe als auch Innengriffe ausführt, wie sie in dem Prozess zum Teachen von Griffen durch menschliche Demonstration gemäß Ausführungsformen der vorliegenden Offenbarung verwendet werden können. In Kasten 810 ist ein Greifer 820 dazu eingerichtet, einen Außengriff auszuführen, das heißt, dass die Finger des Greifers 820 an einer Außenfläche eines Werkstück angreifen. Greiferoberflächen sind auf Innenseiten der Greiferfinger definiert, wie bei 822 dargestellt. Dies ist eine herkömmliche Greifkonfiguration und sie ist repräsentativ für die Beispiele, die oben erörtert und veranschaulicht wurden.
-
In Kasten 830 ist ein Greifer 840 dazu eingerichtet, einen Innengriff auszuführen, das heißt, dass die Finger des Greifers 840 an einer Innenfläche eines Werkstück angreifen. Greiferoberflächen sind auf Außenseiten der Greiferfinger definiert, wie bei 842 dargestellt. Ein Beispiel eines Innengriffs ist in Kasten 850 dargestellt, wobei der Greifer 840 ein Werkstück 860 (ein Zahnrad) greift, indem er die Greiferfinger in einem Loch oder einer Öffnung in dem Zahnrad spreizt.
-
Sowohl Innen- als auch Außengriffarten werden bei den vorliegend offenbarten Verfahren zum Teachen von Griffen durch menschliche Demonstration unterstützt, wobei die Griffart (innen oder außen) als eine Konfigurationseinstellung festgelegt und auch in das in Kasten 310 bereitgestellte Greifermodell einbezogen werden kann. Ein Innengriff kann in einfacher, intuitiver Weise von dem Menschen demonstriert werden, indem er die Spitzen des Daumens und des Zeigefingers in der Öffnung in dem Werkstück platziert und den Daumen und den Zeigefinger zum Greifen des Werkstücks auseinanderspreizt.
-
9 ist ein Flussdiagramm 900 eines Verfahrens, um Robotern Griffe durch menschliche Demonstration beizubringen, gemäß einer Ausführungsform der vorliegenden Offenbarung. Bei Kasten 902 werden Modelle des Werkstücks und des Greifers für einen/auf einem Computer bereitgestellt, der den Algorithmus des Verfahrens zum Teachen von Griffen ausführt. Der Computer, der den Algorithmus des Verfahrens zum Teachen von Griffen ausführt, kann der Computer 160 von 1 oder die Robotersteuerung 150 sein. Das Werkstückmodell ist ein 3D-Modell des Teils, für das Griffe eingelernt werden sollen, und das Greifermodell umfasst sowohl die 3D-Geometrie des Greifers als auch Betätigungsparameter (z.B. 2-Finger-Parallelgreifer mit einer durch eine Griffweite definierten Fingerposition).
-
Bei Kasten 904 wird die menschliche Demonstration des Griffs ausgeführt, und Bilder der Demonstration werden von einer Kamera aufgenommen und dem Computer bereitgestellt, der den Algorithmus ausführt. Das Verfahren zum Auswerten der Bilder zum Bestimmen einer Handebene und eines Greifer-Koordinatenrahmens wurde in Bezug auf 4 erörtert. Die menschliche Demonstration gibt in einer für den Vorführer einfachen und intuitiven Weise eine Greifpose und eine Greifregion auf dem Werkstück an, und die Greifpose und die Greifregion werden dann in weiteren Berechnungen verwendet, um einen stabilen Griff hoher Qualität zu berechnen, der der Demonstration entspricht.
-
Bei Kasten 906 wird die Greifregion auf dem Werkstück anhand der Handebene und des Ursprungs des Hand-Koordinatenrahmens bestimmt, wie zuvor mit Bezug auf 5 beschrieben. Die Greifregion ist eine Fläche auf der Oberfläche (oder auf entgegengesetzten Oberflächen im Fall eines Zweifinger-Greifers) des Werkstücks, die den Berührungspunkten des Fingers/Daumens entspricht, die anhand der Handebene berechnet wurden. Bei Kasten 908 wird unter Verwendung der Greifregion auf dem Werkstück und des Hand-Koordinatenrahmens eine Griffoptimierungsberechnung durchgeführt. Die Griffoptimierungsberechnung - die mit Bezug auf 6 ausführlich beschrieben wurde - kann mehrere Male mit zufällig ausgewählten Anfangskonfigurationen ausgeführt werden, um mehrere geringfügig verschiedene Griffe bereitzustellen, die der einzelnen menschlichen Demonstration entsprechen.
-
Bei Kasten 910 wird der beste Griff aus den mehreren Optimierungsergebnissen ausgewählt. Wie zuvor in Bezug auf 7 erörtert, ist der beste Griff derjenige, von dem anhand einer Verlustfunktionsberechnung bestimmt wurde, dass er dem von dem Menschen demonstrierten Griff am ähnlichsten ist. Bei einer Ausführungsform evaluiert die Verlustfunktion drei Parameter, eine Positionsdifferenz (zwischen jedem berechneten Griff und dem Hand-Koordinatenrahmen aus der Demonstration), eine Griff-Drehungsdifferenz und eine Überlappungsfläche zwischen den berechneten Greiferoberflächen und der Greifregion.
-
Bei Kasten 912 wird der beste Griff von Kasten 910 in einer Griffdatenbank zur späteren Verwendung durch einen Roboter bei Echtzeit-Teilegreifvorgängen gespeichert. Die menschliche Demonstration von Kasten 904 stellt schließlich einen einzelnen robusten Griff hoher Qualität bereit. Um die Griffdatenbank mit einer anderen Menge von Griffen (an anderen Teilen des Werkstücks und mit anderen Greiferorientierungen) zu füllen, kann die menschliche Demonstration so viele Male wie nötig wiederholt werden, wie der Pfeil anzeigt, der von Kasten 912 zu Kasten 904 zurückkehrt.
-
Das oben erörterte Verfahren zum Teachen von Griffen anhand einer menschlichen Demonstration bietet mehrere Vorteile gegenüber existierenden Verfahren. Die offenbarten Verfahren bieten Full-DoF-Griffe hoher Qualität mit Oberflächenkontakten; somit sind die generierten Griffe robust gegenüber Unsicherheiten und Störungen. Das Griffgenerierungsverfahren ist leicht auszuführen und läuft automatisch in einer Offline-Umgebung, ohne dass es eines Roboters bedarf. Darüber hinaus werden bei dem offenbarten Griffgenerierungsverfahren Griffe berechnet, die auf dem intuitiven Verständnis eines Menschen von der für eine bestimmte Anwendung erforderlichen Greifpose basieren, wobei es zugleich die einfache und intuitive Ausführung der menschlichen Demonstration ermöglicht.
-
In der gesamten vorstehenden Erörterung werden verschiedene Computer und Steuerungen beschrieben und vorausgesetzt. Es versteht sich, dass die Softwareanwendungen und -module dieser Computer und Steuerungen auf einer oder mehreren Rechenvorrichtungen ausgeführt werden, die einen Prozessor und ein Speichermodul haben. Hierzu gehört insbesondere ein Prozessor in der Robotersteuerung 150, die den Roboter 100 steuert, der das Greifen des Objekts ausführt, und in dem Computer 160, der die Berechnungen für die menschliche Demonstration und die Griffgenerierung durchführt. Wie zuvor erörtert, sind verschiedene Konfigurationen des Systems möglich, wobei die Steuerung 150 oder der Computer 160 dazu eingerichtet sein können, Vorgänge wie die Berechnungen für die menschliche Demonstration und die Erkennung von Objekten zum Greifen bei Echtzeitvorgängen auszuführen.
-
Zwar wurde oben eine Reihe beispielhafter Aspekte und Ausführungsformen des Verfahrens zum Teachen von Griffen durch menschliche Demonstration erörtert, doch erkennt der Fachmann Modifikationen, Permutationen, Hinzufügungen und Unterkombinationen hiervon. Es ist daher beabsichtigt, dass die folgenden beigefügten Patentansprüche und hiernach eingeführten Patentansprüche so ausgelegt werden, dass sie alle Modifikationen, Permutationen, Hinzufügungen und Unterkombinationen einschließen, die ihrem wahren Geist und Umfang entsprechen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 16843185 [0037]
- US 17651485 [0054]