DE102022123148A1 - Teaching eines doppelarm-roboters aus einer menschlichen zweihand-demonstration - Google Patents

Teaching eines doppelarm-roboters aus einer menschlichen zweihand-demonstration Download PDF

Info

Publication number
DE102022123148A1
DE102022123148A1 DE102022123148.8A DE102022123148A DE102022123148A1 DE 102022123148 A1 DE102022123148 A1 DE 102022123148A1 DE 102022123148 A DE102022123148 A DE 102022123148A DE 102022123148 A1 DE102022123148 A1 DE 102022123148A1
Authority
DE
Germany
Prior art keywords
image
hands
hand
images
neural network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102022123148.8A
Other languages
English (en)
Inventor
Kaimeng Wang
Tetsuaki Kato
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/502,636 external-priority patent/US20220080581A1/en
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE102022123148A1 publication Critical patent/DE102022123148A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0084Programme-controlled manipulators comprising a plurality of manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Evolutionary Computation (AREA)
  • Psychiatry (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Social Psychology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)
  • Image Analysis (AREA)

Abstract

Verfahren zum Teaching eines Doppelarm-Roboters aus einer Zweihand-Erkennung bei einer menschlichen Demonstration. Ein Kamerabild der Hände des Vorführers und von Werkstücken wird einem ersten neuronalen Netzwerk bereitgestellt, das die Identität der linken und der rechten Hand aus dem Bild bestimmt und außerdem zugeschnittene Teilbilder der erkannten Hände bereitstellt. Die zugeschnittenen Teilbilder werden einem zweiten neuronalen Netzwerk bereitgestellt, welches aus den Bildern die Stellungen sowohl der linken als auch der rechten Hand ermittelt. Die Daten der Zweihand-Stellung für eine vollständige Operation werden umgewandelt zu Robotergreifer-Stellungsdaten und zum Teaching zweier Roboterarme verwendet, um die Operation an den Werkstücken durchzuführen, wobei eine Bewegung jeder Hand einem Roboterarm zugeordnet ist. Zum Verfeinern von Roboterbewegungen kann eine Kantenerkennung aus Kamerabildern verwendet werden, um eine Lokalisierung von Teilen für Aufgaben, die Genauigkeit wie das Einsetzen eines Teils in eine Öffnung erfordern, zu verbessern.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Diese Anmeldung ist ein Antrag auf Teilweiterbehandlung der am 11. September 2020 eingereichten US-Gebrauchsmusteranmeldung, Serien-Nr. 17/018,674 , mit dem Titel ZWEIHAND-ERKENNUNG BEIM TEACHING AUS DEMONSTRATION.
  • HINTERGRUND
  • Gebiet
  • Die vorliegende Offenlegung betrifft das Gebiet der Programmierung von Industrierobotern und spezieller ein Verfahren zur Bestimmung von Identität und Stellung der linken und rechten Hand eines menschlichen Vorführers aus einer Folge von Kamerabildern, die auf Bildspuren der Handbewegung hinausläuft, welche dann zur Präzisierung von Aktionspunkten und Bahngenauigkeit verfeinert werden, und die aufbereiteten Bildspuren der Bewegung zum Teaching oder Programmieren eines Doppelarm-Robotersystems genutzt werden, um eine Operation durch menschliche Demonstration auszuführen.
  • Erörterung des Standes der Technik
  • Der Einsatz von Industrierobotern zur wiederholten Durchführung eines breiten Bereichs von Fertigungs-, Montage- und Materialbewegungsoperationen ist gut bekannt. Jedoch ist das Teaching eines Roboters, selbst eine ganz einfache Operation durchzuführen - wie das Aufnehmen eines Werkstücks in einer zufälligen Position und Ausrichtung auf einem Förderband und Bewegen des Werkstücks zu einem Behälter - mittels herkömmlicher Verfahren problematisch gewesen.
  • Ein übliches Verfahren zum Teaching von Robotern schließt eine Bedienperson ein, die ein Handprogrammiergerät zum Anweisen des Roboters verwendet, schrittweise Bewegungen zu machen - wie etwa „in X-Richtung vorrücken“ oder „Greifer um lokale Z-Achse drehen“ - bis sich der Roboter und sein Greifer in der genauen Position und Ausrichtung befinden, um eine Operation durchzuführen, anschließend die Operationsdaten zu speichern und dies häufig zu wiederholen. Ein weiteres bekanntes Verfahren zum Teaching eines Roboters, um eine Operation durchzuführen, ist der Einsatz eines Bewegungserfassungssystems in Verbindung mit einer menschlichen Demonstration. Weil beobachtet wurde, dass eine Roboterprogrammierung unter Verwendung von Handprogrammiergeräten und Bewegungserfassungssystemen nicht gefühlsmäßig, zeitaufwendig und/oder kostspielig ist, wurden Verfahren zum Teaching von Robotern aus einer menschlichen Demonstration mittels Kamerabildern entwickelt.
  • Bei einigen Typen von Operationen wie die Montage einer aus vielen Komponenten bestehenden Vorrichtung benutzt ein Mensch natürlich zwei Hände, um die Betriebsaufgaben durchzuführen. Damit das Teaching von Robotern in diesen Fällen genau wird, ist es notwendig, dass die linke und die rechte Hand des menschlichen Vorführers zuverlässig erkannt werden. Ein bekanntes Verfahren zur Bestimmung der Identität der linken und rechten Hand eines menschlichen Vorführers ist verbunden mit der Bereitstellung von Kamerabildern des gesamten Körpers des Menschen, Durchführung einer anthropomorphen Analyse der Bilder zur Erkennung des linken und rechten Arms und anschließender Erkennung der linken und rechten Hand basierend auf den Identitäten der Arme. Jedoch erfordert dieses Verfahren getrennte Kamerabilder für die Erkennung der Arme/Hände als die Bilder, die zur Erkennung der Handstellung benötigt werden und erfordert darüber hinaus zusätzliche Rechenschritte zur Analyse des Körperskeletts.
  • Andere Methoden, die zur Erkennung der linken und rechten Hand des menschlichen Vorführers genutzt werden könnten, schließen ein, dass es erforderlich ist, dass jede Hand eine relative Position bezüglich der anderen beibehält oder es erfordert, dass jede Hand für alle Lehrvorgänge innerhalb einer Lagebegrenzung verbleibt. Jedoch bringen diese Methoden unhaltbare Einschränkungen hinsichtlich der natürlichen Handbewegungen des menschlichen Vorführers mit sich und riskieren eine falsche Erkennung der Hände, falls die Einschränkungen verletzt werden.
  • Darüber hinaus nutzen einige Roboteroperationen der Teilebewegung oder Produktmontage zwei Roboterarme, wobei die zwei Roboterarme zwei verschiedene Operationen gleichzeitig durchführen, oder die zwei Roboterarme bei einer Aufgabe, wie Aufnahme, Anordnung und Installation einer Komponente zusammenwirken. Das Teaching eines Doppelarm-Roboters hat unter den oben beschriebenen Problemen, mittels üblicher Verfahren schwierig und zeitaufwendig zu sein, gelitten. Diese Probleme werden tatsächlich verschärft, wenn zwei Roboterarmen Bewegungen beigebracht werden.
  • Angesichts der oben beschrieben Umstände besteht Bedarf an einem effizienten und zuverlässigen Verfahren zum Teaching von Doppelarm-Robotern mittels Zweihand-Erkennung bei einer menschlichen Demonstration.
  • ZUSAMMENFASSUNG
  • Der technischen Lehre der vorliegenden Offenlegung entsprechend wird ein Verfahren zum Teaching eines Doppelarm-Roboters aus Zweihand-Erkennung bei menschlicher Demonstration beschrieben und dargestellt. Ein Kamerabild der Hände des Vorführers und von Werkstücken wird einem ersten neuronalen Netzwerk zur Verfügung gestellt, welches aus dem Bild die Identität der linken und rechten Hand bestimmt und außerdem zugeschnittene Teilbilder der erkannten Hände liefert. Die zugeschnittenen Teilbilder werden einem zweiten neuronalen Netzwerk bereitgestellt, welches aus den Bildern die Stellungen sowohl der linken als auch der rechten Hand erfasst. Die Daten der Zweihand-Stellung für eine vollständige Operation werden zu Stellungsdaten des Robotergreifers umgewandelt und zum Teaching zweier Roboterarme verwendet, um die Operation an den Werkstücken durchzuführen, wobei jede Bewegung der Hand einem Roboterarm zugeordnet ist. Zur Verfeinerung der Roboterbewegungen kann eine Kantenerkennung aus Kamerabildern verwendet werden, um eine Lokalisierung von Teilen für Aufgaben zu verbessern, die Präzision erfordern, wie etwa das Einsetzen eines Teils in eine Öffnung.
  • Zusätzliche Merkmale der gegenwärtig offengelegten Vorrichtungen und Verfahren erschließen sich aus der folgenden Beschreibung und den angefügten Ansprüchen bei Betrachtung in Verbindung mit den begleitenden Zeichnungen.
  • Figurenliste
    • 1 ist eine Darstellung davon, wie Bilder einer menschlichen Hand analysiert werden, um eine entsprechende Position und Ausrichtung eines Finger-Robotergreifers nach einer Ausführungsform der vorliegenden Offenlegung zu bestimmen;
    • 2 ist eine Darstellung davon, wie Bilder einer menschlichen Hand analysiert werden, um eine entsprechende Position und Ausrichtung eines Magnet- oder Sauger-Robotergreifers nach einer Ausführungsform der vorliegenden Offenlegung zu bestimmen;
    • 3 ist eine Darstellung eines Systems und von Schritten zur Erkennung einer Handposition und -stellung aus Kamerabildern beider Hände eines menschlichen Vorführers nach einer Ausführungsform der vorliegenden Offenlegung;
    • 4 ist eine Darstellung von Schritten zum Training eines im System von 3 verwendeten neuronalen Netzwerks der Handerkennung und -identifizierung nach einer Ausführungsform der vorliegenden Offenlegung;
    • 5 ist ein Ablaufdiagramm eines Verfahrens zur Erkennung der Handposition und -stellung aus Kamerabildern beider Hände eines menschlichen Vorführers nach einer Ausführungsform der vorliegenden Offenlegung;
    • 6 ist ein Ablaufdiagramm eines Verfahrens zum Teaching eines Roboters, um eine Operation mittels Kamerabilder beider Hände eines menschlichen Vorführers und entsprechender Werkstücke nach einer Ausführungsform der vorliegenden Offenlegung durchzuführen;
    • 7 ist eine Darstellung eines Systems zum Robotereinsatz, das auf dem Teaching durch eine menschliche Demonstration mittels beider Hände nach einer Ausführungsform der vorliegenden Offenlegung basiert;
    • 8 ist eine Blockdiagrammdarstellung eines Systems und von Schritten zur Erkennung von Handposition und -stellung aus Kamerabildern beider Hände eines menschlichen Vorführers, Verfeinerung der Zweihand-Bewegungen und Verwendung der Zweihand-Bewegungen zum Teaching eines Doppelarm-Roboters nach einer Ausführungsform der vorliegenden Offenlegung;
    • 9 ist eine Darstellung einer mehrstufigen Arbeitstechnik zur präzisen Objektlokalisierung unter Verwendung von auf Sicht basierender Kantenerkennung, um verbesserte Start- und Zielpositionen der Zweihand-Bewegungen zur Verfügung zu stellen, wie es in einem der Schritte von 8 angegeben ist;
    • 10 ist eine Reihe dreidimensionaler Kurvenbilder, die zwei verschiedene Arbeitstechniken zum Ebnen und Vereinfachen von Bildspuren der Handbewegung darstellen, wie es in einem der Schritte von 8 angegeben ist;
    • 11 ist eine Darstellung eines Systems zum Einsatz eines Doppelarm-Roboters, das dem Teaching durch menschliche Demonstration mittels beider Hände zugrunde gelegt ist, nach einer Ausführungsform der vorliegenden Offenlegung; und
    • 12 ist ein Ablaufdiagramm eines Verfahrens zum Teaching eines Doppelarmroboters aus Zweihand-Erkennung bei menschlicher Demonstration nach einer Ausführungsform der vorliegenden Offenlegung.
  • AUSFÜHRLICHE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Die folgende Erörterung der Ausführungsformen der Offenlegung, die auf das Teaching eines Doppelarmroboters durch menschliche Zweihand-Demonstration gerichtet ist, ist lediglich beispielhafter Natur und in keiner Weise beabsichtigt, die offengelegten Vorrichtungen und Arbeitstechniken oder ihre Anwendungen oder Einsätze zu beschränken.
  • Es ist allgemein bekannt, Industrieroboter für vielfältige Fertigungs-, Montage- und Materialbewegungsoperationen zu verwenden. Ein bekannter Typ einer robotergestützten Operation ist mitunter bekannt als „Aufnehmen, Bewegen und Ablegen“, bei dem ein Roboter ein Teil oder Werkstück von einer ersten Stelle aufnimmt, das Teil bewegt und es an einer zweiten Stelle ablegt. Die erste Stelle ist oft ein Förderband, auf dem wahllos ausgerichtete Teile fließen, wie Teile, die gerade aus einer Form genommen wurden. Die zweite Stelle kann ein weiteres Förderband sein, das zu einer anderen Operation führt, oder kann ein Versandbehälter sein, wobei jedoch in jedem Fall das Teil an einer speziellen Stelle abgelegt und in einer besonderen Lage an der zweiten Stelle ausgerichtet werden muss. Andere robotergestützte Operationen - wie etwa die Montage mehrerer Komponenten zu einer Vorrichtung wie einem Computergehäuse - erfordern es ebenso, Teile von einer oder mehreren Quellen aufzunehmen und in genauen Positionen und Ausrichtungen abzulegen.
  • Um Operationen des oben beschriebenen Typs durchzuführen, wird typischerweise eine Kamera verwendet, um die Position und Ausrichtung von ankommenden Teilen zu bestimmen, wobei einem Roboter beigebracht werden muss, das Teil in einer speziellen Art und Weise unter Verwendung eines Greifers vom Fingertyp oder eines Magnet- oder Sauger-Greifers zu greifen. Das Teaching des Roboters, wie das Teil entsprechend der Ausrichtung des Teils zu greifen ist, wurde üblicherweise von einer menschlichen Bedienperson mittels Handprogrammiergerät vorgenommen. Das Handprogrammiergerät wird durch die Bedienperson genutzt, um den Roboter anzuweisen, schrittweise Bewegungen zu machen - wie etwa „in X-Richtung vorrücken“ oder „Greifer um lokale Z-Achse drehen“ - bis sich der Roboter und sein Greifer in genauer Position und Ausrichtung befinden, um das Werkstück zu ergreifen. Dann werden Roboterkonfiguration sowie Position und Stellung des Werkstücks durch die für die „Aufnahmeoperation“ verwendete Robotersteuereinheit aufgezeichnet. Anschließend werden ähnliche Befehle des Handprogrammiergerätes genutzt, um die Operationen „Bewegen“ und „Ablegen“ festzulegen. Jedoch wird oft beobachtet, dass der Einsatz eines Handprogrammiergerätes zum Programmieren eines Roboters speziell für unerfahrene Bedienpersonen nicht gefühlsmäßig, fehleranfällig und zeitaufwendig ist.
  • Eine weitere bekannte Arbeitstechnik zum Teaching eines Roboters, eine Operation zum Aufnehmen, Bewegen und Ablegen durchzuführen, ist die Nutzung eines Bewegungserfassungssystems. Ein Bewegungserfassungssystem besteht aus mehreren Kameras, die um eine Arbeitszelle herum angeordnet sind, um Positionen und Ausrichtungen einer menschlichen Bedienperson und eines Werkstücks aufzuzeichnen, wenn die Bedienperson das Werkstück manipuliert. Die Bedienperson und/oder das Werkstück können eindeutig erkennbare Markierungspunkte aufweisen, die festgelegt sind, um entscheidende Stellen an der Bedienperson und dem Werkstück in den Kamerabildern präziser zu detektieren, wenn die Operation durchgeführt wird. Bewegungserfassungssysteme dieses Typs sind jedoch kostspielig und schwierig und zeitaufwendig so einzurichten und präzise zu konfigurieren, dass die aufgezeichneten Positionen genau sind.
  • Es wurden Methoden entwickelt, welche die Einschränkungen der oben beschriebenen vorhandenen Verfahren zum Teaching von Robotern überwinden - einschließlich der Verfahren, die eine einzelne Kamera zum Erfassen von Bildern eines Menschen nutzen, der natürliche Aktionen zum Ergreifen von Teilen und ihrer Bewegung durchführt, wobei Bilder der Hand der Person und ihre Position relativ zu dem Teil analysiert werden, um robotergestützte Programmierbefehle zu generieren.
  • 1 ist eine Darstellung davon, wie Bilder einer menschlichen Hand analysiert werden, um eine entsprechende Position und Ausrichtung eines robotergestützten Fingergreifers nach einer Ausführungsform der vorliegenden Offenlegung zu bestimmen. Die Hand 110 weist einen Handkoordinatenrahmen 120 auf, der als daran befestigt festgelegt ist. Die Hand 110 schließt einen Daumen 112 mit einer Daumenspitze 114 und einen Zeigefinger 116 mit einer Zeigefingerspitze 118 ein. Andere Punkte des Daumens 112 und des Zeigefingers 116 können ebenfalls in den Kamerabildern erkannt werden, wie etwa die Stellen der Basis des Daumens 112 und des Zeigefingers 116 sowie des ersten Gelenks des Daumens 112 und des Zeigefingers 116, usw.
  • Ein Punkt 122 liegt in der Mitte zwischen der Basis des Daumens 112 und der des Zeigefingers 116, wobei der Punkt 122 als Ursprung des Koordinatenrahmens 120 der Hand festgelegt ist. Die Ausrichtung des Handkoordinatenrahmens 120 kann festgelegt werden, indem jede beliebige Vereinbarung genutzt wird, die zur Korrelation mit der Ausrichtung des Robotergreifers geeignet ist. Zum Beispiel kann die Y-Achse des Handkoordinatenrahmens 120 festgelegt werden als normal liegend zur Ebene des Daumens 112 und des Zeigefingers 116 (diejenige Ebene, die durch die Punkte 114, 118 und 122 festgelegt ist). Folglich liegen die X-Achse und die Z-Achse in der Ebene des Daumens 112 und des Zeigefingers 116. Ferner kann die Z-Achse als den Winkel halbierend festgelegt werden, der durch den Daumen 112 und den Zeigefinger 116 verläuft (der Winkel 114-122-118). Die Ausrichtung in der X-Achse kann dann durch die Rechte-Hand-Regel aus der bekannten Y- und Z-Achse gefunden werden. Wie oben erwähnt, sind die hier festgelegten Vereinbarungen nur beispielhaft und andere Ausrichtungen des Koordinatenrahmens können stattdessen genutzt werden. Der Punkt ist, dass die Position und Ausrichtung des Koordinatenrahmens auf der Basis von erkennbaren Schlüsselpunkten auf der Hand festgelegt werden können und dass die Position und Ausrichtung des Koordinatenrahmens mit einer Position und Ausrichtung eines Robotergreifers korreliert werden können.
  • Es kann eine Kamera verwendet werden (in 1 nicht gezeigt, später erörtert), um Bilder der Hand 110 bereitzustellen, wobei die Bilder anschließend analysiert werden können, um die räumlichen Positionen (wie im Koordinatenrahmen einer Arbeitszelle) des Daumens 112 und des Zeigefingers 116 einschließlich Daumenspitze 114 und Zeigefingerspitze 118 zusammen mit den Gelenken, und deshalb den Ursprungsort 122 und die Ausrichtung des Handbezugsrahmens 120, zu bestimmen. In 1 sind Lage und Ausrichtung des Handbezugsrahmens 120 mit dem Greifer-Koordinatenrahmen 140 eines am Roboter 160 befestigten Greifers 150 korreliert. Der Greifer-Koordinatenrahmen 140 besitzt einen Ursprung 142, der dem Ursprung 122 des Handbezugsrahmens 120 entspricht, und Punkte 144 und 146, die jeweils der Zeigefingerspitze 118 und der Daumenspitze 114 entsprechen. Somit befinden sich die zwei Finger des Greifers 150 vom Fingertyp in der X-Z-Ebene des Greifer-Koordinatenrahmens 140, wobei die Z-Achse den Winkel 146-142-144 halbiert.
  • Der Ursprung 142 des Greifer-Koordinatenrahmens 140 ist auch als der Werkzeugarbeitspunkt des Roboters 160 festgelegt. Der Werkzeugarbeitspunkt ist ein Punkt, dessen Lage und Ausrichtung der Robotersteuereinheit bekannt sind, wobei die Steuereinheit Befehlssignale an den Roboter 160 liefern kann, um den Werkzeugarbeitspunkt und seinen zugehörigen Koordinatenrahmen (den Greifer-Koordinatenrahmen 140) in eine festgelegte Lage und Ausrichtung zu bewegen.
  • 2 ist eine Darstellung davon, wie Bilder einer menschlichen Hand analysiert werden, um eine entsprechende Lage und Ausrichtung eines Roboters mit Magnet- oder Sauger-Greifer nach einer Ausführungsform der vorliegenden Offenlegung zu bestimmen. Während 1 gezeigt hat, wie eine Handstellung zu einer Ausrichtung eines mechanischen Greifers mit beweglichen Fingern korreliert werden kann, zeigt 2, wie die Handstellung zu einem ebenen Greifer (zum Beispiel kreisförmig) korreliert werden kann, der ein Teil durch eine ebene Oberfläche des Teils entweder mit Saugkraft oder magnetischer Kraft aufnimmt.
  • Die Hand 210 umfasst wieder einen Daumen 212 und einen Zeigefinger 216. Ein Punkt 214 liegt dort, wo der Daumen 212 mit einem Teil 220 Kontakt herstellt. Ein Punkt 218 liegt dort, wo der Zeigefinger 216 mit dem Teil 220 Kontakt herstellt. Ein Punkt 230 ist als zwischen den Punkten 214 und 218 vorhanden festgelegt, wobei der Punkt 230 einem Werkzeugarbeitspunkt (TCP) 240 eines Flächengreifers 250 an einem Roboter 260 entspricht. Im Fall des in 2 gezeigten Flächengreifers 250 kann die Ebene des Greifers 250 festgelegt werden als die Ebene, die die Linie 214-218 enthält, und senkrecht zur Ebene des Daumens 212 und des Zeigefingers 216 basierend auf einer Erkennung von Gelenkpunkten und Fingerspitzen. Der Werkzeugarbeitspunkt 240 des Greifers 250 entspricht, wie oben angegeben, dem Punkt 230. Dieser definiert vollständig die Lage und Orientierung des Flächengreifers 250, die der Position und Stellung der Hand 210 entsprechen.
  • Methoden zum Teaching eines Roboters zum Durchführen von Operationen basierend auf einer menschlichen Demonstration - insbesondere auf der Basis einer Analyse von Bildern einer menschlichen Hand und eines Werkstücks durch eine Kamera - wurden in der US-Patentanmeldung, Serien-Nr. 16/843,185 mit dem Titel „ROBOTER-TEACHING DURCH MENSCHLICHE DEMONSTRATION“, die am 8. April 2020 eingereicht und gemeinschaftlich der vorliegenden Anmeldung übertragen wurde, beschrieben, wobei die Anmeldung 16/843,185 (nachstehend „die Anmeldung 185”) hiermit in ihrer Gesamtheit durch Verweis enthalten ist. Unter anderem offenlegt die 185er-Anmeldung Methoden zur Bestimmung dreidimensionaler Koordinaten der Schlüsselpunkte einer einzelnen Hand (Gelenkverbindungen, usw.) aus einem Kamerabild der Hand.
  • Bei einigen Typen von Operationen wie Montage einer Vorrichtung, die aus mehreren Komponenten besteht, nutzt ein menschlicher Vorführer natürlich zwei Hände, um die Arbeitsaufgaben durchzuführen. Damit das Roboter-Teaching in diesen Fällen genau wird, ist es notwendig, dass die linke und die rechte Hand des menschlichen Vorführers zuverlässig in den Bildern erkannt wird. Ein bekanntes Verfahren zur Bestimmung der Identität der linken und der rechten Hand eines menschlichen Vorführers umfasst das Bereitstellen von Kamerabildern des gesamten Körpers des Menschen, das Durchführen einer anthropomorphen Analyse der Bilder des Körpers, um den linken und rechten Arm zu erkennen, und anschließend das Erkennen der linken und rechten Hand basierend auf den Identitäten der Arme. Jedoch erfordert dieses Verfahren getrennte Kamerabilder zur Erkennung der Arme/Hände als die Bilder, die zur Detektion der Handstellung benötigt werden und erfordert darüber hinaus zusätzliche Rechenschritte zur Analyse des Körperskeletts. Andere Zweihand-Teaching-Verfahren verhindern, dass der menschliche Vorführer die Hände auf ihre „entgegengesetzten Seiten“ übereinander kreuzt.
  • Unter Verwendung von Keypoint-Detection-Verfahren der 185er-Anmeldung beschreibt die vorliegende Offenlegung Verfahren zur zuverlässigen Bestimmung von Identität, Position und Stellung beider Hände eines menschlichen Vorführers in Kamerabildern, die keine künstlichen Einschränkungen hinsichtlich des Einsatzes des Vorführers oder einer Bewegung seiner/ihrer Hände mit sich bringen und ohne dass Vollkörper-Bilder und eine Analyse benötigt werden, wie es bei vorhandenen Verfahren erforderlich ist.
  • 3 ist die Darstellung eines Systems und von Schritten zur Erkennung der Handposition und -stellung aus Kamerabildern beider Hände eines menschlichen Vorführers nach einer Ausführungsform der vorliegenden Offenlegung. Eine Kamera 310 liefert Bilder eines Trainingsarbeitsbereichs - das heißt, die Kamera 310 liefert Bilder eines Bereichs, den die Hände der Bedienperson einnehmen werden, während die Lehrdemonstration durchgeführt wird. Der Trainingsarbeitsbereich könnte eine Tischplatte sein, auf der zum Beispiel eine Vorrichtung zusammengebaut wird. Die Kamera 310 ist vorzugsweise eine zweidimensionale (2D) Kamera, die Farbbilder des Trainingsarbeitsbereichs liefert, jedoch keine Tiefeninformationen zur Verfügung stellt, wie bei einer 3D-Kamera.
  • Die Kamera 310 stellt ein Bild 312 bereit, wie es in 3 dargestellt ist. Die Verarbeitung des Bildes 312 wird in 3 ausführlich beschrieben. Die Kamera 310 liefert einen ununterbrochenen Datenstrom von Bildern, wobei jedes der Bilder gemäß 3 verarbeitet wird, um eine durch einen Roboter zu verwendende, vollständige Bewegungssequenz - wie Aufnehmen eines Teils, Bewegen desselben zu einer neuen Stelle und Ablegen desselben in einer gewünschten Stellung - zur Verfügung zu stellen. Der menschliche Vorführer befindet sich an der Oberseite des Bildes 312, so dass die rechte Hand auf der linken Seite des Bildes 312 und die linke Hand auf der rechten Seite des Bildes 312 erscheint.
  • Das Bild 312 wird durch ein erstes neuronales Netzwerk 320 analysiert, um die Identität der linken und rechten Hand und ihre jeweilige Lage im Bild 312 zu bestimmen. Das erste neuronale Netzwerk 320, das die linke und rechte Hand in einem Bild nur von den Händen (nicht des gesamten Körpers) erkennen kann, schafft eine Fähigkeit, die in früheren Systemen der Handbild-Analyse nicht verfügbar war. Das erste neuronale Netzwerk 320 erkennt die linke und rechte Hand ohne Rücksicht auf die relative Lage der Hände im Bild 312 auf der Basis von Zeichen wie etwa Krümmung der Finger (der Tatsache, dass die Finger einer menschlichen Hand sich nur in einer Richtung einziehen können) und der relativen Position von Fingern und Daumen. Bei angemessenem Training (nachstehend bezüglich 4 erörtert) wurde gezeigt, dass das erste neuronale Netzwerk 320 im Bild 312 schnell und zuverlässig die Identitäten und die Lagen der linken und rechten Hand bestimmt.
  • Auf der Ausgabe des ersten neuronalen Netzwerks 320 im Kästchen 330 basierend, wird ein zugeschnittenes Bild 332 der rechten Hand und ein zugeschnittenes Bild 334 der linken Hand erzeugt. Wiederum werden das Bild 332 der rechten Hand und das Bild 334 der linken Hand basierend auf den aktuellen Identitäten der Hände mittels Bildanalyse durch das erste neuronale Netzwerk 320, nicht einfach auf den Lagen der Hände im Bild 310/312 basierend, bestimmt. Das heißt, die Hände könnten in einigen Bildern überkreuzt sein, so dass die linke und die rechte Hand in der entgegengesetzten von der erwarteten „normalen“ Lage erscheinen.
  • Das Bild 332 der rechten Hand und das Bild 334 der linken Hand sind, wie gezeigt, eng um die Hand herum zugeschnitten, um zur anschließenden Analyse den größten Umfang der Bildauflösung und die geringste Menge überflüssiger Daten bereitzustellen. Das Bild 332 der rechten Hand wird auf einer Linie 342 einem zweiten neuronalen Netzwerk 350 bereitgestellt. Das zweite neuronale Netzwerk 350 analysiert das Bild 332, um die dreidimensionalen (3D) Koordinaten zahlreicher entscheidender Punkte auf der rechten Hand zu bestimmen. Die entscheidenden Punkte umfassen Fingerspitzen, Fingergelenke, Daumenspitze und Daumengelenke. Das zweite neuronale Netzwerk 350 wird unter Verwendung vieler Bilder einer speziellen Hand trainiert (wobei zum Zweck dieser Erörterung eine rechte Hand anzunehmen ist). Methoden zur Bestimmung der dreidimensionalen Koordinaten der entscheidenden Punkte auf einer Hand aus einem Bild der Hand mit bekannter Identität (links oder rechts) wurden in der Anmeldung 16/843 185, auf die oben verwiesen wurde, offengelegt.
  • Das Bild 334 der linken Hand wird auf einer Linie 344 bereitgestellt. In dem Fall, wo das zweite neuronale Netzwerk 350 trainiert wird, um die entscheidenden Punkte in Bildern einer rechten Hand zu erkennen, muss das Bild 334 der linken Hand beim Kästchen 346 horizontal umgedreht werden, bevor es dem zweiten neuronalen Netzwerk 350 bereitgestellt wird. Das zweite neuronale Netzwerk 350 analysiert die umgedrehte Version des Bildes 334, um die dreidimensionalen (3D) Koordinaten zahlreicher entscheidender Punkte (Fingerspitzen, Gelenke, usw.) an der linken Hand zu bestimmen. Weil das Bild 334 horizontal umgedreht wurde, kann das zweite neuronale Netzwerk 350 das umgedrehte Bild 334 genau analysieren, als wäre es ein Bild von einer rechten Hand.
  • Es leuchtet ein, dass das zweite neuronale Netzwerk 350 mittels Bilder jeweils der linken oder rechten Hand trainiert werden kann. Wenn zum Trainieren des zweiten neuronalen Netzwerks 350 Bilder der rechten Hand verwendet werden, dann müssen die Bilder der linken Hand zum Verarbeiten durch das zweite neuronale Netzwerk 350 umgedreht werden, und umgekehrt.
  • Auf der Linie 362 ist die dreidimensionale „Drahtgitterstruktur“ der rechten Hand zum Kästchen 372 vorgesehen. Wie es in der Anmeldung 16/843,185, auf die oben hingewiesen wurde, ausführlich erörtert wird, enthält die durch das zweite neuronale Netzwerk 350 ausgegebene dreidimensionale Drahtgitterstruktur der Hand die Schlüsselpunkte und Konnektivität (z. B., Knochensegment des Zeigefingers, das eine Fingerspitze an den Koordinaten X1/Y1/Z1 mit einem ersten Gelenk an den Koordinaten X2/Y2/Z2, usw. verbindet) von so viel von der Struktur der Hand, wie auf der Sichtbarkeit im Originalbild basierend bestimmt werden kann. Das heißt, die Lagen von Fingern oder Teilen von Fingern, die heruntergezogen sind und deren Sicht im Bild verdeckt ist, können nicht aufgelöst werden.
  • Auf der Linie 364 wird die dreidimensionale Drahtgitterstruktur der linken Hand von dem zweiten neuronalen Netzwerk 350 ausgegeben. Die horizontalen Koordinaten (typischerweise die X-Koordinaten) der Schlüsselpunkte der linken Hand müssen beim Kästchen 366 umgedreht werden, bevor sie dem Kästchen 374 bereitgestellt werden. Die horizontale Umdrehung am Kästchen 366 muss um die gleiche Spiegelebene (z. B., Y-Z-Ebene) wie die Umdrehung des Originalbildes beim Kästchen 346 erfolgen.
  • Aufgrund der oben beschriebenen Bildanalyse enthält das Kästchen 372 die dreidimensionale Drahtgitterstruktur der rechten Hand (dreidimensionale Koordinaten von Spitzen- und Gelenkpunkten an Fingern und Daumen), und das Kästchen 374 enthält gleichfalls die dreidimensionale Drahtgitterstruktur der linken Hand. Unter Verwendung der dreidimensionalen Koordinatendaten von den Händen können gemäß 1 und 2, und wie oben erörtert, Koordinaten des Greifers berechnet werden. Auf diese Weise werden die Positionen und Stellungen des Greifers berechnet und anschließend an der Linie 380 ausgegeben.
  • 4 ist eine Darstellung von Schritten zum Training des im System von 3 verwendeten neuronalen Netzwerks 320 zur Handdetektion und -erkennung gemäß einer Ausführungsform der vorliegenden Offenlegung. Das erste neuronale Netzwerk 320 ist in der Mitte von 4 gezeigt. Das erste neuronale Netzwerk 320 ist für die Bestimmung der Identität und der Lage der linken und rechten Hand in einem Bild verantwortlich, wie es in 3 dargestellt ist und oben erörtert wird. Das Training des ersten neuronalen Netzwerks 320 zum Erkennen einer linken Hand gegenüber einer rechten Hand wird erreicht, indem dem ersten neuronalen Netzwerk 320 viele Trainingsbilder zur Verfügung gestellt werden, wo die linke und rechte Hand sich in einer vorbestimmten relativen Position in den Trainingsbildern befinden.
  • Bild 410 ist ein Beispiel eines zum Trainieren des ersten neuronalen Netzwerks 320 verwendeten Trainingsbildes. Das Bild 410 umfasst sowohl die linke als auch die rechte Hand des menschlichen Vorführers, wobei sich die linke und rechte Hand in einer bekannten relativen Position befinden, wie zum Beispiel auf gekennzeichneten Seiten einer Trennlinie befindlich oder in Begrenzungskästchen gekennzeichnet. Ein Verfahren zur Vorbestimmung der Positionen der linken und rechten Hand im Bild 410 steht dafür, dass sich die Hände in ihren „normalen“ relativen Positionen (nicht an Handgelenken überkreuzt) befinden. Ein anderes Verfahren zur Vorbestimmung der Positionen der linken und rechten Hand im Bild 410 steht dafür, dass die Hände auf ihren jeweiligen Seiten einer Trennungslinie 412 liegen. Im Bild 410 befindet sich die Trennungslinie 412 in der Bildmitte oder nahe dieser, was aber nicht der Fall zu sein braucht. Für den Fall, wo die Hände an den Handgelenken überkreuzt sind, sind die Positionen der linken und rechten Hand in Begrenzungskästchen von Hand mit Anmerkungen versehen.
  • Das erste neuronale Netzwerk 320 ist ein mehrschichtiges, neuronales Netzwerk, das eine Eingabeschicht, eine Ausgabeschicht und normalerweise zwei oder mehrere innere verborgene Schichten enthält, wie es dem Fachmann bekannt ist. Das erste neuronale Netzwerk 320 wird trainiert, um ein Bild von einer Hand zu erkennen und um strukturelle Eigenschaften der Hände, die eine linke Hand von einer rechten Hand unterscheiden, zu erkennen. Die Kombination von mehreren Faktoren - wie die Krümmung von Fingern (die sich nur in einer Richtung zum Handteller hin krümmen können), die relative Lage von Daumen und Fingern, usw. - kann genutzt werden, um bei einer speziellen Hand oben von unten und links von rechts zu unterscheiden. Weil das erste neuronale Netzwerk 320 die Identitäten einer linken und rechten Hand vor dem Analysieren jedes Bildes kennt, kann das neuronale Netzwerk 320 automatisch seine Struktur von Schichten und Knoten aufbauen, um die strukturellen Merkmale mit der Identität der Hände zuverlässig zu korrelieren. Im Trainingsvorgang durch Analyse mehrerer Bilder lernt das erste neuronale Netzwerk 320, strukturelle Merkmale zu erkennen, die für eine rechte Hand charakteristisch sind, im Vergleich zu Merkmalen, die für eine linke Hand charakteristisch sind.
  • Das Ausgabebild 420 zeigt die Ergebnisse des Trainings aus dem Bild 410. Eine Hand ist detektiert und in einem Kästchen 422 angeordnet, wobei das erste neuronale Netzwerk 320 weiß, dass es auf ihrer Position relativ zur Trennungslinie 412 basierend eine rechte Hand ist. (Die rechte Hand des Menschen liegt auf der linken Seite des Bildes 410/420, weil der Körper des Menschen sich an der Oberseite des Bildes 410/420 befindet). Ebenso ist eine Hand detektiert und in einem Kästchen 424 angeordnet, wobei das erste neuronale Netzwerk 320 weiß, dass es auf ihrer Position basierend eine linke Hand ist. Eine Methode zum Zuschneiden eines Teilbildes um die Hände herum, wie es durch die Kästchen 420 und 424 gezeigt ist, wird genutzt, wobei das Teilbild auf einen Bereich zugeschnitten wird, der nur alle sichtbaren Fingerspitzen und die Daumenspitze sowie zum Beispiel eine als das Handgelenk erkannte Stelle einschließt.
  • Bild 430 ist ein weiteres Beispiel eines zum Trainieren des ersten neuronalen Netzwerks 320 verwendeten Trainingsbildes. Das Bild 430 umfasst wiederum sowohl die linke als auch die rechte Hand des menschlichen Vorführers, wobei die linke und die rechte Hand in Begrenzungskästchen gekennzeichnet sind. Im Bild 430 ist ein Begrenzungskästchen 432 als eine die rechte Hand kennzeichnende Anmerkung oder indizierende Eigenschaft vorgesehen. Die Hände des Vorführers sind im Bild 430 überkreuzt, so dass sich die rechte Hand dort befindet, wo die linke Hand erwartet werden würde; jedoch weiß das erste neuronale Netzwerk 320 wegen der Kennzeichnung des Begrenzungskästchens, dass die Hand im Begrenzungskästchen 432 die rechte Hand des Vorführers ist. Ebenso ist ein Begrenzungskästchen 434 als eine die linke Hand kennzeichnende Anmerkung oder indizierende Eigenschaft vorgesehen.
  • Das Ausgabebild 440 zeigt die Ergebnisse des Trainings vom Bild 430. Eine Hand ist detektiert und in einem Kästchen 422 angeordnet, das im Wesentlichen das gleiche ist wie das Begrenzungskästchen 432, wobei das erste neuronale Netzwerk 320 weiß, dass es, basierend auf den Informationen des Begrenzungskästchens, eine rechte Hand ist, wenngleich die Hände überkreuzt sind. Ebenso ist eine Hand detektiert und in einem Kästchen 444 angeordnet, wobei das erste neuronale Netzwerk 320 weiß, dass es basierend auf den Informationen des Begrenzungskästchens eine linke Hand ist. Beim Analysiervorgang der Hände in den Kästchen 442 und 444 im Bild 430/440 wird das erste neuronale Netzwerk 320 schrittweise in der Erkennung der Identität von Händen trainiert.
  • Bild 430 und Bild 410 sind sehr verschieden. Die Eingabebilder umfassen verschiedene menschliche Vorführer, unterschiedliche Komponenten, Operationen und Hintergründe, Handschuhe im Vergleich zu keinen Handschuhen und auch etwas verschiedene Kamerawinkel (Perspektive). Diese Unterschiede beim Training von Eingabebildern unterstützen das Trainieren des ersten neuronalen Netzwerks 320 dabei, Struktur und Identität einer Hand in den Bildern, die es in der aktuellen Ausführungsphase des Roboter-Teaching bearbeiten wird, aussagekräftig zu erkennen.
  • Zum Training werden dem ersten neuronalen Netzwerk 320 viele andere Eingabebilder 450 zur Verfügung gestellt. Jedes der Eingabebilder 450 führt zu einem Ausgabebild 460, in dem die linke und die rechte Hand gemäß 4 angeordnet und erkannt wurden. Nach dem Training ist das erste neuronale Netzwerk 320 bereit, wie in 3 gezeigt, verwendet zu werden, um im Bild 312 linke und rechte Hände zu erkennen (selbst wenn die Hände überkreuzt sind) und die zugeschnittenen Teilbilder bereitzustellen, die die genau erkannten Hände enthalten. Es wurde ein Prüfsystem entwickelt, das die Fähigkeit eines neuronalen Netzwerks wie das erste neuronale Netzwerk 320 darstellt, um die rechte und die linke Hand in Bildern exakt, wie oben erörtert, schnell und genau zu erkennen, selbst wenn die linke und rechte Hand in einer kontinuierlichen Folge von Bildern mehrmals übereinandergelegt, überkreuzt und nicht gekreuzt sind.
  • 5 ist ein Ablaufdiagramm 500 eines Verfahrens zur Erkennung von Position und Stellung einer Hand aus Kamerabildern von beiden Händen eines menschlichen Vorführers nach einer Ausführungsform der vorliegenden Offenlegung. Das Ablaufdiagramm 500 stellt die Verfahrensschritte entsprechend dem Blockdiagramm des Systems von 3 dar.
  • Beim Kästchen 502 ist ein beide Hände des menschlichen Vorführers enthaltendes Bild vorgesehen. Das Bild, wie etwa das Bild 312 von 3, umfasst vorzugsweise nicht den gesamten Körper des Menschen. Das Bild braucht auch nicht die linke und die rechte Hand in ihrer „normalen“ oder „erwarteten“ relativen Position aufzuweisen. Das Bild stellt den menschlichen Vorführer dar, der eine Operation an einem oder mehreren Werkstücken durchführt - wie etwa das Zusammenbauen einer Vorrichtung mit mehreren Komponenten, wobei beide Hände genutzt werden, um einzelne Komponenten aufzunehmen und abzulegen. In der gegenwärtigen Praxis werden Bilder in schneller Reihenfolge (mehrere Bilder pro Sekunde) zu Verfügung gestellt, so dass eine Folge von räumlichen Greif- und Ablageoperationen beigebracht werden kann. Zusätzlich zu Identität, Position und Stellung einer Hand werden auch Position und Stellung eines Werkstücks aus den Bildern bestimmt und in Verbindung mit Handdaten („Greifer“) zum Roboter-Teaching genutzt.
  • Beim Kästchen 504 wird das erste neuronale Netzwerk 320 verwendet, um die Identität und Lage der linken und der rechten Hand im bereitgestellten Bild zu bestimmen. Die im Kästchen 504 durchgeführten Operationen wurden oben ausführlich erörtert. Beim Kästchen 506 wird das Originalbild in zwei Teilbilder zugeschnitten, wobei eins die linke Hand und eins die rechte Hand enthält. Die Identität der Hände wird mit den Teilbildern bereitgestellt.
  • Beim Kästchen 508 wird das Teilbild der rechten Hand unter Verwendung des zweiten neuronalen Netzwerks 350 analysiert, um Fingerstruktur und Handstellung festzustellen. Die im Kästchen 508 durchgeführten Operationen wurden oben erörtert und in der Patentanmeldung 16/843,185, auf die früher hingewiesen wurde, ausführlich beschrieben. Weil das zweite neuronale Netzwerk 350 trainiert wurde, um eine Handstruktur mittels Bilder entweder der rechten oder linken Hand festzustellen, ist es erforderlich, dass die Teilbilder vor einer Analyse in dem zweiten neuronalen Netzwerk 350 genau erkannt werden. Im Ablaufdiagramm 500 wird angenommen, dass das zweite neuronale Netzwerk 350 unter Verwendung von Bildern der rechten Hand trainiert wurde, womit das Teilbild der rechten Hand aus dem Kästchen 506 direkt zum Kästchen 508 geführt wird.
  • Beim Kästchen 510 wird das Teilbild der linken Hand horizontal umgedreht, bevor es zur Analyse dem Kästchen 508 bereitgestellt wird. Wiederum wird angenommen, dass das zweite neuronale Netzwerk 350 mittels Bilder der rechten Hand trainiert wurde, womit das Teilbild der linken Hand aus dem Kästchen 506 horizontal umgedreht werden muss, bevor es weiter zum Kästchen 508 geführt wird. Ebenso ist das umgekehrte Verfahren anwendbar, wobei das zweite neuronale Netzwerk 350 unter Verwendung von Bildern der linken Hände trainiert wird, und das Teilbild der rechten Hand vor einer Analyse umgedreht wird.
  • Beim Kästchen 512 werden die Daten von Fingerstruktur und Handstellung (dreidimensionale Koordinaten von Schlüsselpunkten des Handskeletts) für die rechte Hand verwendet, um eine entsprechende Greiferstellung zu berechnen, wobei die Greiferstellung (zusammen mit Stellungsdaten des Werkstücks) als ein Schritt des Roboter-Teaching ausgegeben wird. Ein vollständiges Verfahren zum Teaching von Robotern aus Bildern einer menschlichen Demonstration (Hände und Werkstücke) wird nachstehend erörtert.
  • Beim Kästchen 514 wird die horizontale Koordinate (z. B. X-Koordinate) von Daten der Fingerstruktur und Handstellung aus dem Kästchen 508 für die linke Hand vor Verwendung beim Kästchen 512 umgedreht, um eine entsprechende Stellung des Greifers zu berechnen, wobei die Greiferstellung als Roboter-Lehrschritt ausgegeben wird. Die horizontalen Koordinatendaten müssen umgedreht oder relativ zu einer Spiegelebene gespiegelt werden, um die dreidimensionalen Daten der Handkoordinaten zurück in ihre genaue Lage vom originalen Eingabebild zu stellen.
  • Wie es dem Fachmann verständlich wäre, müssen die Positionen der Teilbilder der linken und rechten Hand im originalen Eingabebild bei der Berechnung der dreidimensionalen Koordinaten einer Handstellung durchweg bekannt sein. Darüber hinaus müssen die Pixelkoordinaten des bereitgestellten originalen Bildes auf den physikalischen Arbeitsraum, in dem die Demonstration stattfindet, abgebildet werden, so dass dreidimensionale Positionen und Stellungen von Greifer und Werkstück aus Bildpixelkoordinaten berechnet werden können.
  • Vom Kästchen 512 wird der Roboter-Lehrschritt zur Roboterprogrammierung ausgegeben und aufgezeichnet. Der Lehrschritt umfasst Positionen und Stellungen des Greifers, die aus Koordinatendaten der Stellung sowohl der linken als auch der rechten Hand berechnet wurden, und entsprechende Positionen und Stellungen des Werkstücks. Der Prozess schleift anschließend zurück zum Kästchen 502, um ein weiteres Eingabebild zu empfangen.
  • 6 ist ein Ablaufdiagramm 600 eines Verfahrens zum Teaching eines Roboters, um eine Operation unter Verwendung von Kamerabildern beider Hände eines menschlichen Vorführers und entsprechender Werkstücke gemäß einer Ausführungsform der vorliegenden Offenlegung durchzuführen. Das Ablaufdiagramm 600 ist in drei vertikalen Säulen eingerichtet, die einem Aufnahmeschritt (rechts), einem Bewegungsschritt (Mitte) und einem Ablageschritt (links) entsprechen. Die drei einzelnen Schritte veranschaulichen, wie Bilder von Händen und Werkstücken analysiert werden, um ein Roboterbewegungsprogramm zu erzeugen, bei dem eine Zweihand-Erkennung in den Bildern wesentlicher Bestandteil ist.
  • Der Aufnahmeschritt beginnt an einem Startkästchen 602. Beim Kästchen 604 werden die Werkstücke und Hände in Bildern von der Kamera 310 detektiert. Das oben ausführlich beschriebene Zweihand-Erkennungsverfahren wird im Kästchen 604 verwendet. Position und Ausrichtung eines Werkstück-Koordinatenrahmens werden aus einer Analyse der Werkstücke in den Bildern bestimmt, wobei die Position und Ausrichtung eines entsprechenden Hand-Koordinatenrahmens aus einer Analyse der Hände in den Bildern bestimmt werden.
  • An der Entscheidungsraute 606 wird für jede Hand bestimmt, ob die Fingerspitzen (Daumenspitze 114 und Zeigefingerspitze 118 von 1) das Werkstück berührt haben. Dies wird aus den Kamerabildern bestimmt. Wenn die Fingerspitzen das Werkstück berührt haben, werden Greiferstellung und -position des Werkstücks und der Hand beim Kästchen 608 aufgezeichnet. Es ist wichtig, dass die Stellung und Position der Hand relativ zum Werkstück ermittelt werden, das heißt, Position und Ausrichtung des Hand-Koordinatenrahmens und des Werkstück-Koordinatenrahmens müssen relativ zu einem ungefähr umfassenden, festgelegten Bezugsrahmen wie etwa einem Koordinatenrahmen der Arbeitszelle festgelegt werden. Dies erlaubt der Steuerung zu bestimmen, wie der Greifer zu positionieren ist, um ein Werkstück in einer späteren Wiederholungsphase zu ergreifen. Diese Analyse des Werkstückkontakts wird für jede der rechten und linken Hand durchgeführt.
  • Nachdem beim Kästchen 608 Greifstellung und -position des Werkstücks und der Hand aufgezeichnet sind, endet der Aufnahmeschritt an einem Endkästchen 610. Der Vorgang schreitet dann zum Bewegungsschritt weiter, der beim Kästchen 622 beginnt. Der Bewegungsschritt kann für jede Hand getrennt ausgeführt werden. Im Kästchen 624 wird das Werkstück in Kamerabildern detektiert. Der Prozess schleift an der Entscheidungsraute 626 zurück zum Kästchen 624, falls das Werkstück nicht in den Kamerabildern detektiert wird, um ein weiteres Bild aufzunehmen. Wenn das Werkstück in einem Kamerabild detektiert ist, wird die Position des Werkstücks (und optional die Stellung) beim Kästchen 628 aufgezeichnet.
  • Beim Kästchen 634 wird die Hand (eine Hand von beiden - welche auch immer die aktuelle Bewegungsoperation durchführt) in Kamerabildern detektiert. An der Entscheidungsraute 636 schleift der Prozess, falls die Hand in den Kamerabildern nicht detektiert wird, zurück zum Kästchen 634, um ein weiteres Bild aufzunehmen. Wenn die Hand in einem Kamerabild detektiert ist, wird beim Kästchen 638 die Position (und optional die Stellung) der Hand aufgezeichnet. Wenn sowohl die Werkstückposition (aus dem Kästchen 628) als auch die Handposition (aus dem Kästchen 638) vom gleichen Kamerabild detektiert sind, werden die Handposition und die Werkstückposition beim Kästchen 640 kombiniert und aufgezeichnet. Das Kombinieren der Handposition und der Werkstückposition kann erreicht werden, indem einfach der Mittelwert der beiden genommen wird; wenn zum Beispiel der Mittelpunkt zwischen der Daumenspitze 114 und der Zeigefingerspitze 118 mit dem Mittelpunkt/Ausgangspunkt des Werkstücks zusammenfallen sollte, dann kann eine mittlere Lage zwischen dem Mittelpunkt und der Werkstückmitte berechnet werden.
  • Es werden vorzugsweise mehrere Positionen längs des Bewegungsschritts aufgezeichnet, um eine gleichmäßige Bewegungsstrecke zu bilden, indem die Aktivitäten vom Kästchen 622 „Bewegung starten“ durch das Kästchen 640 „Position von Hand und Werkstück kombinieren“ wiederholt werden. Nachdem beim Kästchen 640 die Handposition und die Werkstückposition kombiniert und aufgezeichnet sind und keine weiteren Positionen des Bewegungsschritts benötigt werden, endet der Bewegungsschritt beim Endkästchen 642. Der Prozess schreitet dann weiter zum Ablageschritt, der beim Kästchen 662 beginnt.
  • Beim Kästchen 664 wird die Position des Werkstücks von der Kamera 310 in Bildern detektiert. Bei der Entscheidungsraute 666 wird bestimmt, ob das Werkstück in den Kamerabildern gefunden ist und ob es unbeweglich ist. Abwechselnd könnte bestimmt werden, ob die Fingerspitzen den Kontakt mit dem Werkstück unterbrochen haben. Wenn bestimmt wird, dass das Werkstück unbeweglich ist und/oder die Fingerspitzen den Kontakt mit dem Werkstück unterbrochen haben, werden Zielstellung und Position des Werkstücks beim Kästchen 668 aufgezeichnet. Der Ablageschritt und der gesamte Ablauf der Teaching-Phase enden beim Endkästchen 670.
  • Der im Ablaufdiagramm 600 von 6 beschriebene Verlauf des Roboter-Teaching stützt sich auf eine stabile Erkennung der Stellung einer menschlichen Hand in Bildern. Wenn die menschliche Demonstration den Gebrauch beider Hände umfasst, ist das Verfahren und System der Zweihand-Erkennung von 3 bis 5 ein wesentlicher Bestandteil.
  • 7 ist eine Darstellung eines Systems 700 für eine Roboteroperation, das auf dem Teaching durch menschliche Demonstration mittels beider Hände nach einer Ausführungsform der vorliegenden Offenlegung basiert. Ein menschlicher Vorführer 710 befindet sich in einer Position, wo eine Kamera 720 Bilder der Hände des Vorführers und der Werkstücke, an denen die Operation durchgeführt wird, aufnehmen kann. Die Kamera 720 entspricht der Kamera 310 von 3. Die Kamera 720 liefert die Bilder an einen Computer 730, der die Bilder analysiert, um die dreidimensionalen Drahtgitterkoordinaten der Hände zusammen mit den entsprechenden Werkstückpositionen zu erkennen, wie es oben ausführlich beschrieben ist. Die Analyse durch den Computer 730 umfasst das in 3 bis 5 gezeigte Zweihand-Erkennungsverfahren.
  • Der menschliche Vorführer 710 führt die gesamte Operation vor - wie etwa die Montage mehrerer Komponenten zu einer fertiggestellten Vorrichtung. Die Kamera 720 liefert einen ununterbrochenen Bilderstrom, und der Computer 730 analysiert die Bilder und zeichnet bei Erkennung Teaching-Befehle des Roboters auf. Jeder Teaching-Schritt umfasst eine aus einer Handstellung berechnete Greiferstellung und eine entsprechende Position/Stellung des Werkstücks. Dieses Aufzeichnen von Teaching-Schritten umfasst Greif- und Platzierungsvorgänge, die von jeder oder beiden Händen des menschlichen Vorführers 710 durchgeführt werden.
  • Wenn die Roboteroperation aus der menschlichen Demonstration vollständig festgelegt ist, wird das Roboterprogramm vom Computer 730 an eine Steuereinheit 740 des Roboters übertragen. Die Steuereinheit 740 befindet sich mit einem Roboter 750 im Informationsaustausch. Die Steuereinheit 740 berechnet Bewegungsbefehle des Roboters, um zu bewirken, dass der Roboter 750 seinen Greifer 760 in die aus den Bildern erkannte Position und Ausrichtung des Greifer-Koordinatenrahmens bewegt. Der Roboter 750 bewegt den Greifer 760 relativ zu einem Werkstück 770 entsprechend der Befehlsfolge von der Steuereinheit 740, wodurch die Operation, die durch den menschlichen Vorführer 710 vorgeführt wurde, abgeschlossen wird.
  • Das Szenario von 7 ist, dass der Greifer 760 das Werkstück 770 ergreifen und irgendeine Operation mit dem Werkstück 770 durchführen soll, wie etwa das Bewegen des Werkstücks 770 zu einer anderen Position und/oder Stellung. Der Greifer 760 ist als ein Finger-Greifer gezeigt, kann jedoch stattdessen, wie früher beschrieben, ein Sauger-Greifer oder Greifer mit magnetischer Oberfläche sein.
  • Das System 700 von 7 kann in zwei verschiedenen Betriebsarten genutzt werden. Bei einer Betriebsart lehrt der menschliche Vorführer einmalig alle Schritte einer Operation - wie etwa Gerätemontage - im Voraus, wobei der Roboter dann den Montagevorgang basierend auf Anweisungen der Komponentenbewegung, die durch die menschliche Demonstration beigebracht wurden, mehrmals durchführt. Bei einer anderen Betriebsart, die als Teleoperation bekannt ist, arbeitet der menschliche Vorführer in einer Echtzeit-Zusammenarbeit mit dem Roboter, wobei jede Handlung, ein Teil mit der Hand zu greifen und zu bewegen, analysiert und durch den Roboter unmittelbar ausgeführt wird, bei visueller Rückmeldung der Bewegungen des Roboters an die menschliche Bedienperson. Beide dieser Betriebsarten können Nutzen aus den offengelegten Methoden zur Zweihand-Erkennung bei menschlicher Demonstration ziehen.
  • Die vorhergehende Erörterung beschreibt ein Verfahren zur zuverlässigen Erkennung der Bewegung der linken und rechten Hand eines menschlichen Vorführers und Verwendung der Zweihand-Bewegung, um Greifer-Bewegungen festzulegen zum Teaching eines Roboters, um ein Werkstück zu ergreifen und zu bewegen. Dieses Verfahren kann ausgedehnt werden, um gemeinsame Bewegungen zweier Roboterarme mittels Zweihand-Erkennung von einem menschlichen Vorführer beizubringen. Dieses Verfahren wird nachstehend erörtert.
  • 8 ist eine Blockdiagrammdarstellung eines Systems und von Schritten zur Erkennung einer Handposition und -stellung aus Kamerabildern beider Hände eines menschlichen Vorführers, Verfeinerung der Zweihand-Bewegungen und Verwendung der Zweihand-Bewegungen zum Teaching eines Doppelarm-Roboters, nach einer Ausführungsform der vorliegenden Offenlegung. Der obere Teil von 8 funktioniert so, wie es oben mit Bezug auf 3 beschrieben ist.
  • Eine Kamera 810 liefert eine kontinuierliche Bildfolge einer menschlichen Demonstrationsszene einschließlich beider Hände des Vorführers und des Werkstücks (der Werkstücke), die durch den Vorführer gehandhabt werden. Die Kamera 810 stellt die Bilder einem ersten neuronalen Netzwerk 820 bereit, welches trainiert ist, die linke und die rechte Hand in jedem Bild beim Kästchen 830 zu erkennen und zu segmentieren. Wie es früher erörtert wurde, kann das erste neuronale Netzwerk 820 die linke und rechte Hand genau erkennen, selbst wenn sie übereinander gekreuzt sind. Zugeschnittene Bilder der linken und der rechten Hand werden zur Analyse einem zweiten neuronalen Netzwerk 840 zur Verfügung gestellt. Das zweite neuronale Netzwerk 840 ist trainiert (mit Bildern jeweils der rechten Hand oder der linken Hand), um die entscheidenden Punkte der Hand zu erkennen. Durch das neuronale Netzwerk 840 sind zwei Wege gezeigt, einer für das zugeschnittene Bild der linken Hand und einer für die rechte Hand. Das gleiche neuronale Netzwerk 840 kann genutzt werden, um sowohl die linke als auch die rechte Hand zu analysieren, wobei die zum Training nicht genutzte Hand vor und nach einer Analyse durch das neuronale Netzwerk 840, wie früher erörtert, umgedreht werden muss. Am Kästchen 850 sind entscheidende Punkte der Hand (z. B., Gelenke und Fingerspitzen) für beide Hände vorgesehen. Alles andere von der Kamera 810 bis zum Kästchen 850 wurde früher beschrieben. Die Zweihand-Erkennung wird für jedes Bild in der Folge (zum Beispiel in einem Bildintervall von 0,1 Sekunden) für die gesamte Operation vollzogen, der von dem menschlichen Vorführer durchgeführt wird, was zu kontinuierlichen Position-/Stellungsdaten für jede Hand führt.
  • Beim Kästchen 860 werden Daten der Pixeltiefe von der Kamera 810 mit den entscheidenden Punkten der Hand zusammengefasst, um eine dreidimensionale Bildspur 862 der Handbewegung für die linke Hand des Vorführers und eine Bildspur 872 für die rechte Hand des Vorführers zur Verfügung zu stellen. Die Nutzung von Pixeltiefendaten von der 3D-Kamera 810 ist eine bevorzugte Methode zur Erlangung von dreidimensionalen Koordinaten der Punkte in den Bewegungsbildspuren 862 und 872. Ebenfalls möglich sind andere Methoden zur Erlangung von dreidimensionalen Koordinaten der entscheidenden Punkte der Hand einschließlich der Verwendung von mehr als einer Kamera 810 und der Bereitstellung von Handgrößendaten (Länge jedes Abschnitts jedes Fingers) im Voraus.
  • In einem Szenario, das wiederum später genutzt wird (und weiter ausführlich erörtert wird) stellt die Bildspur 862 der linken Hand bildlich die Hand dar, die abgesenkt wird, um eine Speicherkarte (am Punkt 864) aufzunehmen, anschließend die Speicherkarte hochzuheben und sie abzusenken, um die Karte zur Installation (am Punkt 866) einzusetzen. Zu diesem Zeitpunkt senkt sich die Bildspur 872 der rechten Hand und drückt ein Ende der Speicherkarte in ihren Schlitz (am Punkt 874), wobei sich die Bildspur 872 der rechten Hand anschließend nach oben und abhebt. Die Bildspur 862 der linken Hand hebt sich dann nach oben und bewegt sich zum gegenüberliegenden Ende der Speicherkarte, welches noch nicht eingesetzt ist, und drückt dieses Ende der Speicherkarte in den Schlitz (am Punkt 868). Die im Kästchen 860 dargestellten dreidimensionalen Bildspuren sind wiederum Bildspuren der Bewegung der linken und rechten Hand aus der menschlichen Demonstration, wobei diese Handbewegungen in Bewegungen des Robotergreifers (siehe 1 und 2) für ein Doppelarm-Robotersystem umgesetzt werden können.
  • Beim Kästchen 880 werden zwei verschiedene Verfeinerungsprozesse an den Bildspuren der Bewegung vom Kästchen 860 durchgeführt. Die erste Verfeinerung ist eine Objektlokalisierung, bei der ein visuelles Kantenerkennungsverfahren verwendet wird, um Fehler bei einer Anordnung des Objekts (z. B., Speicherkarte) relativ zu der Vorrichtung (z. B., Computergehäuse), in welches das Objekt eingebaut wird, zu minimieren. Die Objektlokalisierung ist optional, wird typischerweise nur verwendet, wenn eine Präzisionsanordnung benötigt wird (wie etwa für eine Montageaufgabe), und wird typischerweise nicht verwendet, wenn zum Beispiel das Objekt einfach in einen Behälter oder auf ein Förderband gelegt wird. Die zweite Verfeinerung ist eine Glättung oder Vereinfachung der Bahn, ebenfalls optional, wobei die Bildspuren der Handbewegung erneut in der Weise festgelegt werden, dass die kleinen nervösen Handbewegungen eliminiert werden, so dass die Bildspuren der Verschiebung zur Roboterprogrammierung vielmehr geeignet sind. Die Verfeinerungsprozesse von Kästchen 880 werden nachstehend mit Bezug auf 9 und 10 weiter erörtert.
  • Beim Kästchen 890 werden die verfeinerten Bildspuren der Bewegung von der linken und rechten Hand des menschlichen Vorführers einem Doppelarm-Robotersystem bereitgestellt, wobei der „linke“ Roboterarm die Bewegungen und Aufgaben der linken Hand des Menschen durchführt, und der „rechte“ Roboterarm die Bewegungen und Aufgaben der rechten Hand des Menschen durchführt. Die linke Hand und der linke Roboterarm erscheinen auf der rechten Seite der Darstellungen in 8 wegen der gegenüberliegenden Perspektive der Darstellungen. Es wird wiederholt, dass die Analyse der Hände durch das zweite neuronale Netzwerk 840 die Positionen von Daumen und Finger liefert, die genutzt werden können, um sowohl Handbewegungen als auch Greiferpositionen, wie früher beschrieben, zu bestimmen. So sind die beim Kästchen 890 bereitgestellten Roboterbefehle ausreichend, um zu bewirken, dass die Robotersteuereinheit jeden Roboterarm bewegt, die Ausrichtungen des Greifers steuert und Operationen des Greifers (Greifen und Loslassen) steuert, um die Aufgabe durchzuführen, die von dem Menschen vorgeführt wurde.
  • 9 ist eine Darstellung eines mehrstufigen Verfahrens zur präzisen Objektlokalisierung mittels sichtbasierter Kantenerkennung, um verfeinerte Start- und Zielpositionen der Zweihand-Bewegungen bereitzustellen, wie es im Kästchen 880 von 8 angegeben ist. Beim Kästchen 910 wird von der Kamera 810 ein RGB-Bild (Farbe) der menschlichen Vorführszene vor einer Installation der Speicherkarte zur Verfügung gestellt. In der Darstellung des Bildes im Kästchen 910 sind ein Computergehäuse 912 und eine Speicherkarte 914 gezeigt. Die Speicherkarte 914 ist ein Halter, der die Karte 914 in einer Position hält, in der sie durch einen Robotergreifer gegriffen werden kann, der die Karte 914 dann in einem Schlitz im Computergehäuse 912 installiert. Beim Kästchen 920 wird ein Kantenbild des RGB-Bildes aus dem Kästchen 910 bereitgestellt. Das Kantenbild beim Kästchen 920 wird bereitgestellt, indem eine Analyse der Kantenerkennung des visuellen (RGB) Bildes beim Kästchen 910 in an sich bekannter Weise durchgeführt wird. Die Analyse der Kantenerkennung kann auf dem gleichen Computer wie die oben erörterte Analyse der Handstellung durchgeführt werden.
  • Im Kästchen 930 wird von der Kamera 810 ein RGB-Bild der menschlichen Demonstrationsszene nach Installation der Speicherkarte zur Verfügung gestellt. In der Darstellung des Bildes im Kästchen 930 sind das Computergehäuse 912 und die Speicherkarte 914 noch sichtbar, jedoch befindet sich die Speicherkarte 914 jetzt in ihrer installierten Position in dem Schlitz im Computergehäuse 912. Im Kästchen 940 wird ein Kantenbild des RGB-Bildes aus dem Kästchen 930 bereitgestellt, indem eine Kantenanalyse, wie oben erwähnt, durchgeführt wird.
  • Im Kästchen 950 wird das Kantenbild aus dem Kästchen 920 vom Kantenbild aus dem Kästchen 940 subtrahiert. Der einzige bedeutende Unterschied zwischen dem Kantenbild vom Kästchen 920 und dem Kantenbild vom Kästchen 940 ist die Anordnung der Speicherkarte 914, die sich aus ihrer Position im Halter (seitlich) in ihre installierte Position im Gehäuse 912 bewegt hat. Das Differenzkantenbild ist beim Kästchen 960 dargestellt (in einen durch die Kästchen 922 und Kästchen 942 festgelegten Bereich herangezoomt), wobei die obere Kante der Speicherkarte 914 in ihrer installierten Position als eine Linie 962 sichtbar ist, zusammen mit einigen Rauschpixeln, die jedem Kantenanalysebild innewohnen. Beim Kästchen 970 ist das Hauptmerkmal vom Kästchen 960 (die die obere Kante der Speicherkarte 914 darstellende Linie 962) gezeigt (herangezoomt), das auf das Bild aus dem Kästchen 930 transponiert ist.
  • Die beschriebene und in 9 gezeigte Verfahrensweise liefert genügend Informationen, um zu ermöglichen, die Bildspuren 862 und 872 der Handbewegung zu kompensieren, so dass die Startposition und die Endposition der oberen Kante der Speicherkarte 914 auf ihre genauen Orte eingestellt werden. Das heißt, die dreidimensionalen Koordinaten des Punktes 864 können zum Mittelpunkt der oberen Kante der Speicherkarte 914 (oder, falls erwünscht, etwas weg vom Mittelpunkt) aus dem Bild der Vorinstallation beim Kästchen 910 eingestellt werden, wo der linke Roboterarm die Karte 914 aus dem Halter greifen wird. Ebenso wird der Punkt 866 basierend auf dem genauen installierten Ort der Karte 914 aus dem Kästchen 970 (unter Verwendung der Kantenlinie 962) eingestellt. Auf die gleiche Weise kann der Punkt 874 so eingestellt werden, dass er auf der Linie 962 in der Nähe des einen Endes der Karte 914 liegt, und der Punkt 868 kann so eingestellt werden, dass er auf der Linie 962 in der Nähe des anderen Endes der Karte 914 liegt.
  • Es soll verständlich werden, dass die in 9 bildlich dargestellte Analyse der Bildkante unter Verwendung eines festgelegten Koordinatenrahmens durchgeführt wird, welcher der gleiche ist wie der Koordinatenrahmen der im Kästchen 860 von 8 dargestellten Bildspuren der Handbewegung. So wurden die Bildspuren der Handbewegung anschließend an den Vorgang der Objektlokalisierung mit Kantenerkennung von 9 (beim Kästchen 880 von 8) kompensiert, um präzise Objektorte an entscheidenden Aktionspunkten der Bewegungsbildspuren zur Verfügung zu stellen. Das heißt, die Orte von Aktionen, wie etwa das Aufnehmen des Teils (Speicherkarte), Legen der Speicherkarte an einen genauen Ort und Pressen einer oberen Kante der Speicherkarte, um sie in ihren Schlitz einzusetzen, werden aus der Kantenanalyse/Objektlokalisierung von 9 vorgenommen. Eine winklige Ausrichtung der Karte wird ebenfalls aus der Kantenanalyse/Objektlokalisierung anstelle von Daten der Handstellung vorgenommen.
  • 10 ist eine Reihe von dreidimensionalen grafischen Darstellungen, die zwei verschiedene Verfahren zur Glättung oder Vereinfachung der Bildspuren der Handbewegung, wie im Kästchen 880 von 8 angegeben, darstellen. Wenn ein Mensch eine Aufnahme-, Bewegungs- und Legeoperation zum Roboter-Teaching vorführt, macht die Hand des Menschen oft unbeabsichtigte belanglose Bewegungen, deren Amplitude im Allgemeinen klein sind. Die hier offengelegten Verfahren nutzen großräumige Bewegungen der Hand (Start- und Endpunkte und eine allgemeine Bewegungsform) und liefern ein glatteres Bewegungsprofil mit Eigenschaften, die zur Programmierung von Roboterbewegungen besser geeignet sind.
  • Die Kurve 1010 umfasst originale Bildspuren der Handbewegung, wie es im Kästchen 860 von 8 gezeigt ist. Die dreidimensionale Bildspur 862 der Handbewegung stellt bildlich die Bewegung der linken Hand des Vorführers und die Bildspur 872 die Bewegung der rechten Hand des Vorführers dar. Bei dem früher beschriebenen Szenario stellt die Bildspur 862 der linken Hand bildlich die Hand dar, die abgesenkt ist (Bahnpfeil 1), um eine Speicherkarte aufzunehmen (beim Punkt 864), dann die Speicherkarte nach oben zu heben und sie abzusenken (Bahnpfeil 2), um die Karte zur Installation (beim Punkt 866) einzusetzen. Zu diesem Zeitpunkt senkt sich die Bildspur 872 der rechten Hand (Bahnpfeil 3) und schiebt ein Ende der Speicherkarte in ihren Schlitz (beim Punkt 874), hebt sich anschließend die Bildspur 872 der rechten Hand nach oben und hebt sich ab. Die Bildspur 862 der linken Hand hebt sich dann nach oben und bewegt sich zum gegenüberliegenden Ende der Speicherkarte, welches noch nicht eingesetzt ist (Bahnpfeil 4) und schiebt dieses Ende der Speicherkarte in den Schlitz (beim Punkt 868).
  • Wie in Verbindung mit 9 erörtert, wurden die Orte und Ausrichtungen der Aktionspunkte 864, 866, 868 und 874 (für genaue Anordnungsaufgaben wie etwa Montage) unter Verwendung der auf Kantenerkennung basierenden Objektlokalisierung aktualisiert. Die Speicherkarte 914 ist zum Bezug ebenfalls auf der Kurve 1010 dargestellt. Die dreidimensionalen Kurven von 10 stellen alle den oben für 8 und 9 erörterten gleichen festgelegten Koordinatenrahmen dar.
  • Kurve 1020 ist eine dreidimensionale Kurve mit Bildspuren 1022 und 1032 der Bewegung, die im Vergleich zu den Entsprechungen ihrer originalen Bildspuren 862 bzw. 872 geglättet sind. Es soll verständlich werden, dass die Bildspuren 862 und 872 jeweils einer Anzahl von Bahnpunkten folgen, wobei jeder Bahnpunkt aus der Analyse der Handstellung eines Bildes gemäß 8 festgelegt wird. Die geglättete Bildspur 1022 der Bewegung wird unter Verwendung der originalen Bahnpunkte aus der Bildspur 862 als Basis berechnet, mit einer Interpolation der kleinsten Quadrate, die genutzt wird, um eine neue Menge von Punkten zu erzeugen, die unnötige oder belanglose Abweichungen von den originalen Punkten entfernt, sowie einer Spline-Interpolation, die genutzt wird, um die Bildspur 1022 durch die neue Punktmenge zu berechnen. Das gleiche trifft zu für die geglättete Bildspur 1032 der Bewegung. Die Interpolation der kleinsten Quadrate darf die Aktionspunkte 864, 866, 868 und 874 nicht bewegen. Deshalb umfassen die geglätteten Bildspuren 1022 und 1032 der Bewegung die Aktionspunkte 864, 866, 868 und 874 an den Orten, wenn sie unter Verwendung der Objektlokalisierung mit Kantenerkennung in 9 kompensiert werden. Die geglätteten Bildspuren 1022 und 1032 der Bewegung enthalten die „nervösen“ Bewegungen kleiner Amplitude der originalen Bildspuren der Handbewegung nicht und sind deshalb zur Programmierung der Roboterbewegung mehr geeignet.
  • Kurve 1040 ist eine dreidimensionale Kurve, die Bildspuren 1042 und 1052 der Bewegung umfasst, welche die Gegenstücke der originalen Bildspuren 862 und 872 durch vereinfachte auf Liniensegmenten basierenden Bildspuren ersetzen. Unter Verwendung der originalen Bildspur 862 der Handbewegung werden als Beispiel zahlreiche Liniensegmente festgelegt, die die vereinfachte Bildspur 1042 umfassen, wobei eine erste Reihe von drei Liniensegmenten unter Verwendung des Punktes 864, des Punktes 866 und eines höchsten Punktes (maximale z-Koordinate) von den originalen Punkten auf der Bildspur 862 konstruiert wird. Ein erstes Liniensegment wird erzeugt, indem der Punkt 864 direkt nach oben projiziert wird (die gleichen x- und y-Koordinaten) auf einen Punkt 1044, der die gleiche z-Koordinate als den höchsten Punkt aufweist. Ein zweites Liniensegment wird aus dem Punkt 1044 zu einem Punkt 1046 erzeugt, der sich direkt über dem Punkt 866 befindet. Das zweite Liniensegment ist horizontal, verläuft durch den höchsten Punkt auf seinem Weg vom Punkt 1044 zum Punkt 1046. Ein drittes und endgültiges Liniensegment verläuft vertikal nach unten vom Punkt 1046 zum Punkt 866. Die so festgelegten drei Liniensegmente stellen die erste Hauptbewegung (vom Punkt 864 zum Punkt 866) der originalen Bildspur 862 dar. Das gleiche Verfahren wird verwendet, um eine vereinfachte auf Liniensegmenten basierende Bildspur festzulegen, die die zweite Bewegung der originalen Bildspur 862 darstellt. Diese Liniensegmente erzeugen zusammen die vereinfachte Bildspur 1042.
  • Die originale Bildspur 872 der Handbewegung (der rechten Hand, die einfach eine Press-in-Place-Aufgabe ausführt) kann durch ein einziges Liniensegment ersetzt werden. Es wird wiederum betont, dass die vereinfachten Bildspuren 1042 und 1052 der Bewegung die Aktionspunkte 864, 866, 868 und 874 an den Orten einschließen, wie sie unter Verwendung von Objektlokalisierung mit Kantenerkennung in 9 kompensiert werden. Die vereinfachten Bildspuren 1042 und 1052 der Bewegung sind deutlich sehr geeignet zur Programmierung der Roboterbewegung. Die vereinfachten Bildspuren 1042 und 1052 der Bewegung können noch geeigneter zur Programmierung der Roboterbewegung gemacht werden, indem zum Beispiel die quadratischen Ecken abgerundet werden.
  • 11 ist die Darstellung eines Systems 1100 für Doppelarm-Robotereinsatz, das dem Teaching durch menschliche Demonstration mittels beider Hände nach einer Ausführungsform der vorliegenden Offenlegung zugrunde gelegt ist. Ein menschlicher Vorführer demonstriert einen Einsatz (in diesem Fall eine Montage- oder Installationsaufgabe) in einem Arbeitsraum 1110 in Form einer Tischplatte. Im Arbeitsraum 1110 nimmt eine Kamera 1120 Bilder der Hände (1112/1114) des Vorführers und von Werkstücken (Computergehäuse 1116 und Speicherkarte 1118), an denen der Einsatz durchgeführt wird, auf. Die Kamera 1120 entspricht der Kamera 810 von 8. Die Kamera 1120 liefert die Bilder an einen Computer 1130, der die Bilder analysiert, um die Koordinaten der Aktionspunkte der Hände unter Verwendung von zwei zuvor trainierten neuronalen Netzwerken zusammen mit den entsprechenden Werkstückpositionen zu erkennen, wie es oben ausführlich beschrieben ist. Die Verbindungen zwischen Vorrichtungen in 11 (z. B. Kamera-Computer, Steuereinheit-Roboter, usw.) kann wie vorher in 7 drahtgebunden, drahtlos oder eine Kombination davon sein, wie es dem Fachmann verständlich ist. Die Analyse durch den Computer 1130 umfasst das in 3 bis 5 und 8 gezeigte Zweihand-Erkennungsverfahren, was zu Bewegungsbildspuren der linken und rechten Hand einschließlich von Aktionen wie Greifen, Pressen und Loslassen führt.
  • Der Computer 1130 wendet Tiefendaten von der Kamera 1120 auf die Bahnpunkte in den Bildspuren der Bewegung der linken und rechten Hand aus der menschlichen Demonstration an, wie es im Kästchen 860 von 8 gezeigt ist. Der Computer 1130 wendet außerdem optional zwei verschiedene Verfeinerungsprozesse an den Bildspuren der Handbewegung an. Der erste Verfeinerungsprozess ist eine Objektlokalisierung mittels Kantenerkennung, welche vorteilhaft verwendet wird, wenn eine präzise Objektanordnung benötigt wird, wie bei einem Montageprozess, wo ein Stück in eine Öffnung in einem anderen Stück eingesetzt wird. Diese Technik der Objektlokalisierung kompensiert die Anordnung von Aktionspunkten, wie das Aufheben der Speicherkarte und das Einsetzen der Karte in ihren Schlitz, während der Rest der Bildspuren der Handbewegung aus der menschlichen Demonstration unverändert gelassen wird. Der zweite Verfeinerungsprozess schließt das Glätten oder Vereinfachen der Bildspuren der Handbewegung ein (nach Kompensation über Objektlokalisierung), um Bewegungsbildspuren zur Verfügung zu stellen, die für eine Roboterprogrammierung geeigneter sind. Finalisierte Bildspuren der linken und rechten Bewegung sind das Ergebnis der Bildanalyse und Bahnverfeinerung durch den Computer 1130.
  • Der Computer 1130 liefert die finalisierten Bildspuren der linken und rechten Bewegung an eine Robotersteuereinheit 1140. Die Steuereinheit 1140 befindet sich im Informationsaustausch mit einer Kamera 1150, die positioniert wird, um Bilder eines Roboterarbeitsraums 1160 aufzunehmen. Der Roboterarbeitsraum 1160 umfasst einen linken Roboter 1162 und einen rechten Roboter 1164 zusammen mit den durch die Roboter 1162/1164 weiter zu bearbeitenden Werkstücken. Die Werkstücke entsprechen dem Computergehäuse 1116 und der Speicherkarte 1118, an denen die Demonstration im Arbeitsraum 1110 durchgeführt wurde. Die Kamera 1150 liefert Bilder der Werkstücke an die Steuereinheit 1140, und die Steuereinheit 1140 liefert Steuerbefehle an die Roboter 1162/1164, um diese zu veranlassen, den Einsatz, wie von dem Menschen vorgeführt, durchzuführen. Die Steuereinheit 1140 kennt immer die Position und Ausrichtung jedes Greifers des Roboters in einem Koordinatenrahmen des Arbeitsraums. Die Bilddaten des Werkstücks ermöglichen es der Steuereinheit 1140, die Greifer zu bewegen, um den genauen Einsatz der Installation von Teilen, wie vorgeführt, unter Verwendung der finalisierten Bildspuren der linken und rechten Bewegung vom Computer 1130 durchzuführen. Der linke Roboter 1162 führt die Bewegungen und Aktionen der Bildspur der linken Handbewegung aus der Demonstration durch, und der rechte Roboter 1164 führt die Bewegungen und Aktionen der Bildspur der rechten Handbewegung aus der Demonstration durch.
  • Das Teaching-System eines Doppelarm-Roboters von 11 ist auch auf Aufgaben anwendbar, bei denen Teile sich bewegen oder für jede Aufgabe zufällig positioniert werden, wie etwa auf einem Förderband ankommende Teile oder ein Stapel von Teilen, die einzelnen aus einem Behältnis auszuwählen sind. In diesem Fall umfasst der Teaching-Schritt sowohl eine Ermittlung von entscheidenden Punkten der Hand als auch eine Ermittlung der Werkstückstellung, indem bestimmt wird, wie die Hand positioniert wird, um ein Teil in einer bestimmten Ausrichtung zu ergreifen, wie es mit Bezug auf 6 ausführlich dargestellt ist.
  • 12 ist ein Ablaufdiagramm 1200 eines Verfahrens zum Teaching eines Doppelarm-Roboters aus einer Zweihand-Erkennung bei menschlicher Demonstration gemäß einer Ausführungsform der vorliegenden Offenlegung. Beim Kästchen 1210 werden Bilder beider Hände eines menschlichen Vorführers durch eine digitale 3D-Kamera zur Verfügung gestellt. Die Bilder werden in einem endlosen Bilderstrom bereitgestellt, um das Erfassen von Bewegungen und Aktionen durch beide Hände zu ermöglichen, wie es oben ausführlich erörtert ist. Beim Kästchen 1220 wird ein erstes trainiertes, neuronales Netzwerk verwendet, um die Identität der linken und der rechten Hand in den Bildern zu bestimmen, selbst wenn die Hände „überkreuzt“ sind und sich außerhalb ihrer normalen Positionen in der Vorführszene des Arbeitsraums befinden. Zugeschnittene Teilbilder der erkannten linken und rechten Hand werden vom Kästchen 1220 bereitgestellt.
  • Beim Kästchen 1230 werden die zugeschnittenen Teilbilder durch ein zweites trainiertes, neuronales Netzwerk analysiert, um eine Fingerstruktur (Koordinaten von entscheidenden Punkten einschließlich Spitzen und Gelenke) der linken und rechten Hand zu ermitteln. Beim Kästchen 1240 werden Tiefendaten von der Kamera zur Erlangung von Daten der Handstellung hinzugefügt, um dreidimensionale Bahnpunkte bereitzustellen, die in Bildspuren der Bewegung der linken und rechten Hand in einem Koordinatenrahmen des Arbeitsraums einzubeziehen sind (mit einer Konfiguration des Greifers, die ebenfalls aus der Position von Finger/Daumen bestimmt wird). An der Entscheidungsraute 1250 wird bestimmt, ob die Demonstration der Aufgabe vollständig ist. Wenn die Aufgabe nicht vollständig ist, dann kehrt der Prozess zurück zur Bereitstellung von Bildern der Hände und Werkstücke, wobei die Daten der Handbewegung weiter in einer Bildfolge von Bahnpunkten erfasst werden.
  • Wenn die Aufgabe an der Entscheidungsraute 1250 komplett ist, sind die Bildspuren der Bewegung der linken und rechten Hand daher ebenfalls vollständig, und der Prozess bewegt sich weiter zum Kästchen 1260, wo die Bildspuren der Handbewegung unter Verwendung von Objektlokalisierung optional verfeinert werden. Die Objektlokalisierung beim Kästchen 1260 sichert die Bildspuren der Gesamtbewegung der linken und rechten Hand und kompensiert die Orte der Aktionspunkte (z. B., Aufheben, Anordnen, Pressen) auf der Basis einer Bildkantenanalyse, wie es früher erörtert wurde. Beim Kästchen 1270 werden die verfeinerten Bildspuren der Handbewegung optional geglättet oder vereinfacht, indem eins der Verfahren von 10 genutzt wird. Das Ergebnis der Verfeinerung beim Kästchen 1270 sind die finalisierten Bildspuren der linken und rechten Bewegung.
  • Beim Kästchen 1280 werden die finalisierten Bildspuren der linken und rechten Bewegung einer Robotersteuereinheit bereitgestellt, die Doppelarme des Roboters bedient. Die Robotersteuereinheit empfängt Bilder der weiter zu bedienenden Werkstücke und weist den linken und rechten Roboterarm an, die Operation an den Werkstücken unter Verwendung der finalisierten Bildspuren der linken und rechten Bewegung durchzuführen. Die Bildspuren der Bewegung umfassen außerdem Greiferaktionen, die aus den Daten der Handstellung (wie etwa relative Position von Daumen und Zeigefinger) festgelegt sind.
  • In der vorhergehenden Erörterung wurden durchweg verschiedene Computer und Steuereinheiten beschrieben und einbezogen. Es soll verständlich werden, dass die Softwareanwendungen und Module dieser Computer und Steuereinheiten auf einem oder mehreren Rechengeräten ausgeführt werden, die einen Prozessor und ein Speichermodul aufweisen. Insbesondere schließt dies die oben erörterten Prozessoren im Computer 730 und 1130 sowie die Steuereinheiten 740 und 1140 des Roboters ein. Speziell ist der Prozessor im Computer 1130 ausgelegt, das Teaching eines Doppelarm-Roboters durch menschliche Demonstration einschließlich einer Zweihand-Erkennung über das erste und das zweite neuronale Netzwerk und einer Verfeinerung von Bildspuren der Bewegung in der oben erörterten Art und Weise auszuführen.
  • Wie es oben kurz dargestellt ist, machen die offengelegten Verfahren zur Zweihand-Erkennung beim Teaching von Doppelarm-Robotern durch menschliche Demonstration das Programmieren einer Roboterbewegung schneller, leichter und gefühlsmäßiger als vorherige Verfahren, liefern eine zuverlässige Erkennung beider Hände des menschlichen Vorführers, während nur eine einzige Kamera benötigt wird, und ermöglichen das übergangslose Programmieren von Systemen von Doppelarm-Robotern, selbst für Montageaufgaben, die eine präzise Anordnung von Komponenten erfordern.
  • Während oben eine Anzahl beispielhafter Aspekte und Ausführungsformen zum Teaching von Doppelarm-Robotern unter Verwendung von Zweihand-Erkennung bei menschlicher Demonstration erörtert wurde, wird der Fachmann Modifizierungen, Umsetzungen, Ergänzungen und Unterkombinationen davon erkennen. Es ist deshalb beabsichtigt, dass die folgenden angefügten Ansprüche und danach eingeführte Ansprüche so interpretiert werden, alle diese Modifizierungen, Umsetzungen, Ergänzungen und Unterkombinationen einzuschließen, wie sie innerhalb ihres wahren Geistes und Geltungsbereichs liegen.
  • 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 17/018674 [0001]

Claims (25)

  1. Verfahren zum Teaching eines Doppelarm-Roboters aus einer menschlichen Zweihand-Demonstration, wobei das Verfahren umfasst: Bereitstellen einer Bildfolge von einer dreidimensionalen (3D) Kamera, wobei die Bilder eine linke und eine rechte Hand eines Menschen umfassen, der eine Operation an einem oder mehreren Werkstücken vorführt; Analysieren jedes der Bilder unter Verwendung eines ersten neuronalen Netzwerks, das auf einem Computer mit einem Prozessor und einem Speicher läuft, um eine Identität und eine Lage der linken Hand und der rechten Hand in dem Bild zu bestimmen; Analysieren von Teilbildern der linken und der rechten Hand durch ein zweites neuronales Netzwerk, das auf dem Computer läuft, um Koordinaten einer Vielzahl von entscheidenden Punkten auf der linken und der rechten Hand zu bestimmen; Anwenden von Daten der Pixeltiefe von der 3D-Kamera auf die entscheidenden Punkte, um dreidimensionale Haltungsdaten der linken und rechten Hand für jedes der Bilder zu erzeugen; Kombinieren der dreidimensionalen Haltungsdaten der linken und rechten Hand für die Bildfolge zu den die Operation definierenden dreidimensionalen Bildspuren der Bewegung der linken und rechten Hand; Verfeinern der dreidimensionalen Bildspuren der Bewegung der linken und rechten Hand einschließlich Durchführen einer Objektlokalisierung mittels Kantenerkennung, Ersetzen der Bildspuren der Bewegung durch vereinfachte Versionen oder beides; und Verwenden der verfeinerten dreidimensionalen Bildspuren der Bewegung der linken und rechten Hand durch eine Robotersteuereinheit zum Steuern eines Doppelarm-Robotersystems, um die Operation durchzuführen, wobei die Bildspur der Bewegung der linken Hand durch den einen Roboterarm und die Bildspur der Bewegung der rechten Hand durch den anderen Roboterarm ausgeführt wird.
  2. Verfahren nach Anspruch 1, wobei das erste neuronale Netzwerk trainiert wird, um die linke Hand von der rechten Hand bei einem Trainingsvorgang zu unterscheiden, wobei eine Vielzahl von Trainingsbildern dem ersten neuronalen Netzwerk bereitgestellt werden, in dem linke und rechte Hände vorher erkannt sind, und das erste neuronale Netzwerk die Trainingsbilder analysiert, um Unterscheidungscharakteristiken der linken und rechten Hand einschließlich Krümmung und relativer Orte von Fingern zu ermitteln.
  3. Verfahren nach Anspruch 1, wobei jedes der Teilbilder zugeschnitten wird, die die die linke oder rechte Hand innerhalb eines vorher festgelegten Spielraums einschließen.
  4. Verfahren nach Anspruch 1, wobei das zweite neuronale Netzwerk unter Verwendung einer Vielzahl von Trainingsbildern jeweils der linken Hände oder der rechten Hände trainiert wird.
  5. Verfahren nach Anspruch 4, wobei Analysieren durch das zweite neuronale Netzwerk horizontales Umdrehen des Teilbildes der linken Hand vor und nach dem Analysieren, wenn das zweite neuronale Netzwerk unter Verwendung von Trainingsbildern der rechten Hände trainiert wird, und horizontales Umdrehen des Teilbildes der rechten Hand vor und nach dem Analysieren, wenn das zweite neuronale Netzwerk unter Verwendung von Trainingsbildern der linken Hände trainiert wird, umfasst.
  6. Verfahren nach Anspruch 1, wobei die Vielzahl von entscheidenden Punkten an den linken und rechten Händen Daumenspitzen, Daumengelenke, Fingerspitzen und Fingergelenke umfasst.
  7. Verfahren nach Anspruch 1, wobei eine Stellung des Greifers basierend auf den dreidimensionalen Daten der Haltung der linken und rechten Hand in den dreidimensionalen Bildspuren der Bewegung der linken und rechten Hand festgelegt wird.
  8. Verfahren nach Anspruch 1, wobei Objektlokalisierung umfasst: Umwandeln eines visuellen Bildes des einen oder von mehreren Werkstücken vor der Demonstration zu einem ersten Kantenbild, Umwandeln eines visuellen Bildes des einen oder von mehreren Werkstücken nach der Demonstration zu einem zweiten Kantenbild, Subtrahieren des zweiten Kantenbildes von dem ersten Kantenbild, um ein Differenzkantenbild zu erzeugen, und Verwenden von Merkmalen, die im Differenzkantenbild ermittelt werden, um eine Position und Ausrichtung eines entsprechenden Merkmals des einen oder von mehreren Werkstücken festzulegen.
  9. Verfahren nach Anspruch 8, wobei die Position und Ausrichtung des entsprechenden Merkmals des einen oder von mehreren Werkstücken sowohl vor als auch nach der Demonstration festgelegt werden, und die Position und Ausrichtung des entsprechenden Merkmals vor der Demonstration genutzt wird, um einen Punkt der Objektaufnahme in den dreidimensionalen Bildspuren der Bewegung der linken und rechten Hand zu kompensieren, und die Position und Ausrichtung des entsprechenden Merkmals nach der Demonstration genutzt wird, um einen Punkt der Objektanordnung in den dreidimensionalen Bildspuren der Bewegung der linken und rechten Hand zu kompensieren.
  10. Verfahren nach Anspruch 1, wobei das Ersetzen der Bewegungsbildspuren durch vereinfachte Versionen umfasst: Anwenden einer Interpolation der kleinsten Quadrate, um eine neue Reihe von Bahnpunkten aus einer originalen Reihe von Bahnpunkten zu erzeugen, und einer Spline-Interpolation, um eine geglättete Bewegungsbildspur durch die neue Reihe von Bahnpunkten zu berechnen; oder Ersetzen jeder der Bewegungsbildspuren durch eine vereinfachte Bildspur, die aus horizontalen und vertikalen Liniensegmenten besteht, die unter Verwendung von Bahnumkehrpunkten und Spitzenbahnpunkten konstruiert sind.
  11. Verfahren nach Anspruch 1, wobei die Robotersteuereinheit Bilder eines Arbeitsraums des Roboters mit dem einen oder mehreren Werkstücken empfängt und die verfeinerten dreidimensionalen Bildspuren der Bewegung der linken und rechten Hand verwendet, um das Doppelarm-Robotersystem zur Durchführung der Operation zu steuern.
  12. Verfahren nach Anspruch 11, wobei die Robotersteuereinheit die verfeinerten dreidimensionalen Bildspuren der Bewegung der linken und rechten Hand umsetzt, um zu bewirken, dass Aktionspunkte in den Bewegungsbildspuren zu Orten des einen von Werkstücken in den Bildern des Roboterarbeitsraums passen, wobei die Aktionspunkte Punkte einschließen, wo ein Greifer eins der Werkstücke ergreift, loslässt oder presst.
  13. Verfahren zur Programmierung eines Doppelarm-Robotersystems, um eine Operation durch menschliche Zweihand-Demonstration auszuführen, wobei das Verfahren umfasst: Vorführen der Operation an Werkstücken durch einen Menschen, der beide Hände benutzt; Analysieren von Kamerabildern der die Operation an den Werkstücken vorführenden Hände durch einen Computer, um Demonstrationsdaten einschließlich Greiferstellungen zu erzeugen, die aus dreidimensionalen (3D) Koordinaten von entscheidenden Punkten der Hände berechnet sind, wobei die dreidimensionalen Koordinaten der entscheidenden Punkte aus den Bildern durch ein erstes neuronales Netzwerk bestimmt werden, das verwendet wird, um in den Bildern linke und rechte Hände zu erkennen, und ein zweites neuronales Netzwerk, das verwendet wird, um die dreidimensionalen Koordinaten in Teilbildern der erkannten linken und rechten Hände zu berechnen; Verfeinern der Demonstrationsdaten einschließlich Durchführen einer Objektlokalisierung mittels Kantenerkennung, um Aktionspunkte zu kompensieren, Ersetzen der Demonstrationsdaten durch vereinfachte Versionen, oder beides; Erzeugen von Roboterbewegungsbefehlen basierend auf den Demonstrationsdaten, um das Doppelarm-Robotersystem zu veranlassen, die Operation an den Werkstücken auszuführen, wobei ein Roboterarm Aufgaben durchführt, die von der einen der Hände des Menschen vorgeführt werden und der andere Roboterarm Aufgaben durchführt, die von der anderen der Hände des Menschen vorgeführt werden; und Durchführen der Operation an den Werkstücken durch das Doppelarm-Robotersystem.
  14. Verfahren nach Anspruch 13, wobei die Demonstrationsdaten bei einem Greifschritt der Operation umfassen: Position und Ausrichtung eines Hand-Koordinatenrahmens, eines dem Hand-Koordinatenrahmen entsprechenden Greifer-Koordinatenrahmens und eines Werkstück-Koordinatenrahmens.
  15. Verfahren nach Anspruch 13, wobei das erste neuronale Netzwerk trainiert wird, um in einem Trainingsprozess die linke Hand von der rechten Hand zu unterscheiden, wobei dem ersten neuronalen Netzwerk eine Vielzahl von Trainingsbildern bereitgestellt wird, in dem linke und rechte Hände vorher erkannt sind.
  16. Verfahren nach Anspruch 13, wobei das zweite neuronale Netzwerk mittels einer Vielzahl von Trainingsbildern jeweils der linken Hände oder rechten Hände trainiert wird, und wobei die Teilbilder der linken Hand vor und nach dem Analysieren durch das zweite neuronale Netzwerk horizontal umgedreht werden, wenn das zweite neuronale Netzwerk unter Verwendung von Trainingsbildern der rechten Hände trainiert wird, und die Teilbilder der rechten Hand vor und nach dem Analysieren durch das zweite neuronale Netzwerk horizontal umgedreht werden, wenn das zweite neuronale Netzwerk unter Verwendung von Trainingsbildern der linken Hände trainiert wird.
  17. System zum Teaching eines Doppelarm-Roboters aus einer menschlichen Zweihand-Demonstration, wobei das System umfasst: eine dreidimensionale (3D) Kamera; einen Computer mit einem Prozessor und einem Speicher, wobei der Computer konfiguriert ist, um Schritte durchzuführen, die umfassen: Empfangen einer Bildfolge von der 3D-Kamera, wobei die Bilder eine linke Hand und eine rechte Hand eines Menschen umfassen, der eine Operation an einem oder mehreren Werkstücken vorführt, Analysieren jedes der Bilder unter Verwendung eines ersten neuronalen Netzwerks zum Festlegen einer Identität und eines Ortes der linken Hand und der rechten Hand in dem Bild, Analysieren von Teilbildern der linken Hand und rechten Hand unter Verwendung eines zweiten neuronalen Netzwerks zum Festlegen von Koordinaten einer Vielzahl von entscheidenden Punkten auf den linken und rechten Händen, Anwenden von Daten der Pixeltiefe von der 3D-Kamera auf die entscheidenden Punkte, um dreidimensionale Daten der Stellung der linken und rechten Hand für jedes der Bilder zu erzeugen, Kombinieren der dreidimensionalen Daten der Stellung der linken und rechten Hand für die Bildfolge zu die Operation definierenden, dreidimensionalen Bildspuren der Bewegung der linken und rechten Hand, und Verfeinern der dreidimensionalen Bildspuren der Bewegung der linken und rechten Hand einschließlich Durchführen einer Objektlokalisierung mittels Kantenerkennung, Ersetzen der Bewegungsbildspuren durch vereinfachte Versionen, oder beides; und eine Robotersteuereinheit im Informationsaustausch mit dem Computer, wobei die Steuereinheit die verfeinerten, dreidimensionalen Bildspuren der Bewegung der linken und rechten Hand nutzt, um ein Doppelarm-Robotersystem zur Durchführung der Operation zu steuern, wobei die Bildspur der Bewegung der linken Hand durch den einen Roboterarm ausgeführt wird, und die Bildspur der Bewegung der rechten Hand durch den anderen Roboterarm ausgeführt wird.
  18. System nach Anspruch 17, wobei das erste neuronale Netzwerk trainiert wird, um die linke Hand von der rechten Hand in einem Trainingsprozess zu unterscheiden, wobei eine Vielzahl von Trainingsbildern dem ersten neuronalen Netzwerk bereitgestellt wird, in dem linke und rechte Hände vorher erkannt sind, und das erste neuronale Netzwerk die Trainingsbilder analysiert, um Unterscheidungscharakteristiken der linken Hände und der rechten Hände einschließlich Krümmung und relativer Orte von Fingern zu erkennen.
  19. System nach Anspruch 17, wobei das zweite neuronale Netzwerk trainiert wird unter Verwendung einer Vielzahl von Trainingsbildern jeweils der linken Hände oder rechten Hände, und wobei Analysieren unter Verwendung des zweiten neuronalen Netzwerks horizontales Umdrehen des Teilbildes der linken Hand vor und nach dem Analysieren, wenn das zweite neuronale Netzwerk unter Verwendung von Trainingsbildern der rechten Hände trainiert wird, und horizontales Umdrehen des Teilbildes der rechten Hand vor und nach dem Analysieren, wenn das zweite neuronale Netzwerk unter Verwendung von Trainingsbildern der linken Hände trainiert wird, umfasst.
  20. System nach Anspruch 17, wobei die Vielzahl von entscheidenden Punkten an den linken und rechten Händen Daumenspitzen, Daumengelenke, Fingerspitzen und Fingergelenke umfasst, und wobei eine Greiferstellung basierend auf den dreidimensionalen Daten der Stellung der linken und rechten Hand in den dreidimensionalen Bewegungsbildspuren der linken und rechten Hand festgelegt wird.
  21. System nach Anspruch 17, wobei eine Objektlokalisierung Umwandeln eines visuellen Bildes des einen oder mehrerer Werkstücke vor der Demonstration zu einem ersten Kantenbild, Umwandeln eines visuellen Bildes des einen oder mehrerer Werkstücke nach der Demonstration zu einem zweiten Kantenbild, Subtrahieren des zweiten Kantenbildes von dem ersten Kantenbild, um ein Differenzkantenbild zu erzeugen, und Verwenden von Merkmalen, die in dem Differenzkantenbild erkannt sind, um eine Position und Ausrichtung eines entsprechenden Merkmals des einen oder mehrerer Werkstücke festzulegen, umfasst.
  22. System nach Anspruch 21, wobei die Position und Ausrichtung des entsprechenden Merkmals des einen oder mehrerer Werkstücke sowohl vor als auch nach der Demonstration festgelegt wird, und die Position und Ausrichtung des entsprechenden Merkmals vor der Demonstration verwendet wird, um einen Punkt der Objektaufnahme in den dreidimensionalen Bildspuren der Bewegung der linken und rechten Hand zu kompensieren, und die Position und Ausrichtung des entsprechenden Merkmals nach der Demonstration verwendet wird, um einen Punkt der Objektverschiebung in den dreidimensionalen Bildspuren der Bewegung der linken und rechten Hand zu kompensieren.
  23. System nach Anspruch 17, wobei Ersetzen der Bewegungsbildspuren durch vereinfachte Versionen umfasst: Anwenden einer Interpolation der kleinsten Quadrate, um eine neue Reihe von Bahnpunkten aus einer originalen Reihe von Bahnpunkten zu erzeugen, und einer Spline-Interpolation, um eine geglättete Bewegungsbildspur durch die neue Reihe von Bahnpunkten zu berechnen; oder Ersetzen jeder der Bewegungsbildspuren durch eine vereinfachte Bildspur, die aus horizontalen und vertikalen Liniensegmente besteht, die unter Verwendung von Bahnumkehrpunkten und Spitzenbahnpunkten konstruiert ist.
  24. System nach Anspruch 17, wobei die Robotersteuereinheit Bilder eines Roboterarbeitsraums mit dem einen oder mehreren Werkstücken empfängt, und die verfeinerten dreidimensionalen Bildspuren der Bewegung der linken und rechten Hand nutzt, um das Doppelarm-Robotersystem zur Durchführung der Operation zu steuern.
  25. System nach Anspruch 24, wobei die Robotersteuereinheit die verfeinerten, dreidimensionalen Bildspuren der Bewegung der linken und der rechten Hand umsetzt, um zu bewirken, dass Aktionspunkte in den Bewegungsbildspuren zu Orten des einen oder von mehreren Werkstücken in den Bildern des Roboterarbeitsraums passen, wobei die Aktionspunkte Punkte einschließen, wo ein Greifer eins der Werkstücke greift, loslässt oder presst.
DE102022123148.8A 2021-10-15 2022-09-12 Teaching eines doppelarm-roboters aus einer menschlichen zweihand-demonstration Pending DE102022123148A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/502,636 US20220080581A1 (en) 2020-09-11 2021-10-15 Dual arm robot teaching from dual hand human demonstration
US17/502,636 2021-10-15

Publications (1)

Publication Number Publication Date
DE102022123148A1 true DE102022123148A1 (de) 2023-04-20

Family

ID=85773526

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022123148.8A Pending DE102022123148A1 (de) 2021-10-15 2022-09-12 Teaching eines doppelarm-roboters aus einer menschlichen zweihand-demonstration

Country Status (3)

Country Link
JP (1) JP2023059863A (de)
CN (1) CN115972191A (de)
DE (1) DE102022123148A1 (de)

Also Published As

Publication number Publication date
CN115972191A (zh) 2023-04-18
JP2023059863A (ja) 2023-04-27

Similar Documents

Publication Publication Date Title
DE102019009313B4 (de) Robotersteuerung, Verfahren und Computerprogramm unter Verwendung von erweiterter Realität und gemischter Realität
DE102021107532A1 (de) System und Verfahren zum Anlernen eines Roboters mittels Demonstration durch einen Menschen
DE102013203381B4 (de) Verfahren und system zum trainieren eines roboters unter verwendung einer von menschen unterstützten aufgabendemonstration
DE102015002760B4 (de) Robotersimulationssystem, das den Prozess des Entnehmens von Werkstücken simuliert
DE102018109463B3 (de) Verfahren zur Benutzung einer mehrgliedrigen aktuierten Kinematik, vorzugsweise eines Roboters, besonders vorzugsweise eines Knickarmroboters, durch einen Benutzer mittels einer mobilen Anzeigevorrichtung
DE102015102740B4 (de) Vorrichtung und Verfahren zum Anordnen von Gegenständen mittels Roboter und Gegenstandübertragungssystem
DE102010045752A1 (de) Visuelles Wahrnehmungssystem und -verfahren für einen humanoiden Roboter
DE102015111080B4 (de) Robotervorrichtung mit maschinellem Sehen
DE102019109624B4 (de) Roboterbewegungseinlernvorrichtung, Robotersystem und Robotersteuerung
EP2071510B1 (de) Verfahren und System zur Ausrichtung eines virtuellen Modells an einem realen Objekt
DE102015101710A1 (de) Verfahren zum Kalibrieren eines beweglichen Greiforgans unter Verwendung einer entfernten Digitalkamera
DE112017007397B4 (de) Steuervorrichtung, Greifsystem, Verteilersystem, Programm, Steuerverfahren und Herstellungsverfahren
DE102015000587A1 (de) Roboterprogrammiervorrichtung zum Erstellen eines Roboterprogramms zum Aufnehmen eines Bilds eines Werkstücks
DE102019125117B4 (de) Sichtgeführter Roboterarm und Verfahren zum Betreiben desselben
US20220080581A1 (en) Dual arm robot teaching from dual hand human demonstration
DE102021103726B4 (de) Messparameter-Optimierungsverfahren und -vorrichtung sowie Computersteuerprogramm
DE102022130652A1 (de) Anlernen eines roboters durch vorführen mit visualservoing
DE2637686A1 (de) Verfahren und vorrichtung zur automatischen uebertragung von teilen
DE102018124671B4 (de) Verfahren und Vorrichtung zur Erstellung eines Robotersteuerprogramms
DE102020115670A1 (de) Roboter-lerngerät und robotersystem
DE102022123148A1 (de) Teaching eines doppelarm-roboters aus einer menschlichen zweihand-demonstration
WO2023078884A1 (de) Ansteuerung eines industrieroboters für eine greifaufgabe
DE102021120229A1 (de) Zweihand-erkennung beim einlernen aus einer vorführung
DE102022201719A1 (de) Vorrichtung und Verfahren zum Trainieren eines maschinellen Lernmodells zum Erzeugen von Deskriptorbildern zu Bildern von Objekten
DE102021212859A1 (de) Vorrichtung und Verfahren zum Trainieren eines maschinellen Lernmodells zum Erzeugen von Deskriptorbildern zu Bildern von Objekten