DE102016009030B4 - Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs - Google Patents

Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs Download PDF

Info

Publication number
DE102016009030B4
DE102016009030B4 DE102016009030.8A DE102016009030A DE102016009030B4 DE 102016009030 B4 DE102016009030 B4 DE 102016009030B4 DE 102016009030 A DE102016009030 A DE 102016009030A DE 102016009030 B4 DE102016009030 B4 DE 102016009030B4
Authority
DE
Germany
Prior art keywords
unit
robot
learning
picking
machine learning
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.)
Active
Application number
DE102016009030.8A
Other languages
English (en)
Other versions
DE102016009030A1 (de
Inventor
Takashi Yamazaki
Takumi OYAMA
Kazutaka Nakayama
Hidetoshi Kumiya
Hiroshi Nakagawa
Shun SUYAMA
Daisuke Okanohara
Ryosuke OKUTA
Eiichi Matsumoto
Keigo KAWAAI
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
Preferred Networks Inc
Original Assignee
Fanuc Corp
Preferred Networks Inc
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 JP2015233857A external-priority patent/JP6522488B2/ja
Application filed by Fanuc Corp, Preferred Networks Inc filed Critical Fanuc Corp
Publication of DE102016009030A1 publication Critical patent/DE102016009030A1/de
Application granted granted Critical
Publication of DE102016009030B4 publication Critical patent/DE102016009030B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33056Reinforcement learning, agent acts, receives reward, emotion, action selective
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/375673-D vision, stereo vision, with two cameras
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39476Orient hand relative to object
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40053Pick 3-D object from pile of objects

Abstract

Vorrichtung für maschinelles Lernen, die einen Arbeitsvorgang eines Roboters (14) zum Aufnehmen, durch eine Handeinheit (13), eines beliebigen von mehreren Werkstücken (12) lernt, wobei die Vorrichtung umfasst:
eine Zustandsvariablen-Beobachtungseinheit (21), die eine Zustandsvariable beobachtet, welche Positionsinformation für jedes der mehreren Werkstücke (12) umfasst;
eine Arbeitsvorgangsergebnis-Abrufeinheit (26), die ein Ergebnis eines Aufnahmevorgangs des Roboters (14) zum Aufnehmen eines Werkstücks (12) durch die Handeinheit (13) abruft; eine Lerneinheit (22), die eine Wertefunktion umfasst, welche einen Wert des Aufnahmevorgangs des Roboters (14) beschreibt; und
eine Entscheidungseinheit (25, 35), die über Befehlsdaten zum Anweisen des Roboters (14) zum Durchführen eines Aufnahmevorgangs eines anderen Werkstücks (12) entscheidet, indem sie sich auf die Wertefunktion und die Zustandsvariable bezieht, wobei
die Lerneinheit (22) umfasst:
eine Belohnungs-Berechnungseinheit (23), die basierend auf der Ausgabe der Arbeitsvorgangsergebnis-Abrufeinheit (26) eine Belohnung berechnet; und
eine Wertefunktions-Aktualisierungseinheit (24), welche die Wertefunktion entsprechend der Belohnung aktualisiert.

Description

  • Die vorliegende Erfindung betrifft eine Vorrichtung für maschinelles Lernen, ein Robotersystem und ein maschinelles Lernverfahren zum Lernen eines Arbeitsvorgangs zum Aufnehmen von Werkstücken.
  • Ein herkömmlich bekanntes Robotersystem greift und transportiert als Schüttgut in einer korbförmigen Kiste eingefüllte Werkstücke durch Verwendung der Handeinheit eines Roboters, wie z.B. in den Japanischen Patenten mit den Nrn. JP 5 642 738 B2 und JP 5 670 397 B2 offenbart. Ein solches Robotersystem ruft die Positionsinformation von mehreren Werkstücken ab, indem eine über einer korbförmigen Kiste befindliche dreidimensionale Messvorrichtung verwendet wird, und nimmt die Werkstücke basierend auf der abgerufenen Positionsinformation unter Verwendung der Handeinheit eines Roboters nacheinander auf.
  • Leider kann das oben erwähnte herkömmliche Robotersystem vorzugsweise z.B. das Voreinstellen, wie ein aufzunehmendes Werkstück aus Abstandsbildern von mehreren durch eine dreidimensionale Messvorrichtung vermessenen Werkstücken extrahiert werden soll, und der Position, an der sich ein aufzunehmendes Werkstück befindet, mit sich bringen. Es kann ferner bevorzugt sein, vorab zu programmieren, wie die Handeinheit eines Roboters betrieben werden soll, wenn ein Werkstück aufgenommen wird. Als ein spezifisches Beispiel kann vorzugsweise ein Mensch dem Roboter unter Verwendung eines Programmierhandgeräts lehren, einen Aufnahmevorgang eines Werkstücks auszuführen.
  • Wenn die Einstellung für das Extrahieren eines aufzunehmenden Werkstücks aus Abstandsbildern von mehreren Werkstücken unsachgemäß ist oder ein Betriebsprogramm für einen Roboter nicht sachgemäß erstellt wird, verringert sich die Erfolgsquote des Aufnehmens und Transportierens eines Werkstücks durch den Roboter. Um die Erfolgsquote zu verbessern, können die Werkstückerkennungseinstellung und das Betriebsprogramm für einen Roboter vorzugsweise weiterentwickelt werden, während durch einen Menschen durch Ausprobieren nach einem optimalen Betrieb des Roboters gesucht wird.
  • Darüber hinaus offenbart EP 1 518 648 B1 ein Verfahren zur Wiederherstellung einer Situation, die beim Aufnehmen eines Objekts zu einer Kollision geführt hat.
  • Aus EP 1 589 483 B1 ist ein System zum Aufnehmen von Objekten bekannt, das Bilder von überlappend angeordneten Objekten erfasst und auswertet, um eine geeignete Aufnahmebewegung zu ermitteln.
  • Zudem ist aus US 2015 / 0 039 129 A1 ein Robotersystem bekannt, das für mehrere in einem Behälter angeordnete Objekte ermittelt, ob sich Objekte darunter befinden, die von einem Greifer eines Roboters gegriffen werden können.
  • US 2012 / 0 158 180 A1 offenbart ein System zum Greifen von Objekten, das dreidimensionale Positionen und Orientierungen übereinander angeordneter Objekte ermittelt, wobei ein Aktualisieren von Positionsdaten erfolgt, während ein Objekt gegriffen wird.
  • Des Weiteren ist aus JP 2012 - 135 820 A ein System zum Aufnehmen von Gegenständen bekannt, das einen an einer höchsten Position liegenden Gegenstand zuerst greift, falls ein Höhenabstand zwischen den aufzunehmenden Gegenständen einen Grenzwert überschreitet, um ein Auftreten von großen Fallhöhen für die Gegenstände zu vermeiden.
  • Außerdem offenbart JP 2013 - 052 490 A ein Verfahren, bei welchem im Fall von schwer zu greifenden Gegenständen zumindest ein Greifparameter angepasst wird.
  • Unter Berücksichtigung der oben beschriebenen Situation ist es eine Aufgabe der vorliegenden Erfindung, eine Vorrichtung für maschinelles Lernen, ein Robotersystem und ein maschinelles Lernverfahren bereitzustellen, die einen optimalen Arbeitsvorgang eines Roboters beim Aufnehmen von Werkstücken, die in einer willkürlichen Weise, die einen lose aufgeschütteten Zustand umfasst, abgelegt sind, ohne menschliches Eingreifen lernen können.
  • Diese Aufgabe wird erfindungsgemäß durch eine Vorrichtung für maschinelles Lernen mit den Merkmalen des Anspruchs 1, durch eine Vorrichtung für maschinelles Lernen mit den Merkmalen des Anspruchs 3, ein Robotersystem mit den Merkmalen des Anspruchs 15, ein maschinelles Lernverfahren mit den Merkmalen des Anspruchs 18 und ein maschinelles Lernverfahren mit den Merkmalen des Anspruchs 19 gelöst. Weiterbildungen der Erfindung sind den Unteransprüchen zu entnehmen.
  • Gemäß einem ersten Aspekt wird eine Vorrichtung für maschinelles Lernen bereitgestellt, die einen Arbeitsvorgang eines Roboters zum Aufnehmen, durch eine Handeinheit, eines beliebigen von mehreren Werkstücken, die in einer willkürlichen Weise, die einen lose aufgeschütteten Zustand umfasst, abgelegt sind, lernt, wobei die Vorrichtung umfasst: eine Zustandsvariablen-Beobachtungseinheit, die eine Zustandsvariable beobachtet, die einen Zustand des Roboters darstellt und die von einer dreidimensionalen Messvorrichtung, die eine dreidimensionale Abbildung für jedes Werkstück abruft, ausgegebene Daten umfasst; eine Arbeitsergebnis-Abrufeinheit, die ein Ergebnis eines Aufnahmevorgangs des Roboters zum Aufnehmen des Werkstücks durch die Handeinheit abruft; und eine Lerneinheit, die, im Zusammenhang mit der Zustandsvariablen des Roboters und dem Ergebnis des Aufnahmevorgangs, wenn die Ausgabe von der Zustandsvariablen-Beobachtungseinheit und die Ausgabe von der Arbeitsvorgangsergebnis-Abrufeinheit empfangen wird, eine Stellgröße lernt, die Befehlsdaten umfasst, um dem Roboter anzuweisen, den Aufnahmevorgang des Werkstücks auszuführen. Die Vorrichtung für maschinelles Lernen kann ferner eine Entscheidungseinheit umfassen, die über die Befehlsdaten zum Anweisen des Roboters durch Bezug auf die durch die Lerneinheit gelernte Stellgröße entscheidet.
  • Gemäß einem zweiten Aspekt wird eine Vorrichtung für maschinelles Lernen bereitgestellt, die einen Arbeitsvorgang eines Roboters zum Aufnehmen, durch eine Handeinheit, eines beliebigen von mehreren Werkstücken, die in einer willkürlichen Weise, die einen lose aufgeschütteten Zustand umfasst, abgelegt sind, lernt, wobei die Vorrichtung umfasst: eine Zustandsvariablen-Beobachtungseinheit, die eine Zustandsvariable beobachtet, die einen Zustand des Roboters darstellt und die von einer dreidimensionalen Messvorrichtung, die eine dreidimensionale Abbildung für jedes Werkstück misst, ausgegebene Daten umfasst; eine Arbeitsvorgangsergebnis-Abrufeinheit, die ein Ergebnis eines Aufnahmevorgangs des Roboters zum Aufnehmen des Werkstücks durch die Handeinheit abruft; und eine Lerneinheit, die, im Zusammenhang mit der Zustandsvariablen des Roboters und dem Ergebnis des Aufnahmevorgangs, wenn die Ausgabe von der Zustandsvariablen-Beobachtungseinheit und die Ausgabe von der Arbeitsvorgangsergebnis-Abrufeinheit empfangen wird, eine Stellgröße lernt, die einen Messparameter der dreidimensionalen Messvorrichtung umfasst. Die Vorrichtung für maschinelles Lernen kann ferner eine Entscheidungseinheit umfassen, die über den Messparameter der dreidimensionalen Messvorrichtung durch Bezug auf die durch die Lerneinheit gelernte Stellgröße entscheidet.
  • Die Zustandsvariablen-Beobachtungseinheit kann ferner eine Zustandsvariable des Roboters beobachten, die Ausgabedaten von einer Koordinaten-Berechnungseinheit umfasst, die eine dreidimensionale Position für jedes Werkstück basierend auf der Ausgabe der dreidimensionalen Messvorrichtung berechnet. Die Koordinaten-Berechnungseinheit kann ferner eine Orientierung für jedes Werkstück berechnen und gibt Daten der dreidimensionalen Position und der für jedes Werkstück berechneten Orientierung aus. Die Arbeitsvorgangsergebnis-Abrufeinheit kann die von der dreidimensionalen Messvorrichtung ausgegebenen Daten nutzen. Die Vorrichtung für maschinelles Lernen kann ferner eine Vorverarbeitungseinheit umfassen, die die von der dreidimensionalen Messvorrichtung ausgegebenen Daten verarbeitet, bevor die Daten in die Zustandsvariablen-Beobachtungseinheit eingegeben werden, wobei die Zustandsvariablen-Beobachtungseinheit von der Vorverarbeitungseinheit ausgegebene Daten als eine Zustandsvariable des Roboters empfangen kann. Die Vorverarbeitungseinheit kann jedes Werkstück in Richtung und Höhe in den von der dreidimensionalen Messvorrichtung ausgegebenen Daten vereinheitlichen. Die Arbeitsvorgangsergebnis-Abrufeinheit kann mindestens eine der Informationen abrufen, die eines von einem Erfolg und einem Misserfolg beim Aufnehmen des Werkstücks, einem Zustand der Beschädigung des Werkstücks und einem Erreichungsstand beim Weiterleiten des aufgenommenen Werkstücks zu einem Folgeprozess anzeigt.
  • Die Lerneinheit kann eine Belohnungs-Berechnungseinheit umfassen, die basierend auf der Ausgabe der Arbeitsvorgangsergebnis-Abrufeinheit eine Belohnung berechnet; und eine Wertefunktion-Aktualisierungseinheit umfassen, die eine Wertefunktion umfasst, die einen Wert des Aufnahmevorgangs des Werkstücks beschreibt und die Wertefunktion entsprechend der Belohnung aktualisiert. Die Lerneinheit kann ein Lernmodell zum Lernen des Aufnahmevorgangs des Werkstücks umfassen und die Lerneinheit kann ferner eine Fehlerberechnungseinheit umfassen, die basierend auf der Ausgabe der Arbeitsvorgangsergebnis-Abrufeinheit und der Ausgabe des Lernmodells einen Fehler berechnet; und eine Lernmodell-Aktualisierungseinheit umfassen, die das Lernmodell entsprechend dem Fehler aktualisiert. Die Vorrichtung für maschinelles Lernen kann ein neurales Netzwerk umfassen.
  • Gemäß einem dritten Aspekt wird ein Robotersystem bereitgestellt, das eine Vorrichtung für maschinelles Lernen umfasst, die einen Arbeitsvorgang eines Roboters zum Aufnehmen, durch eine Handeinheit, eines beliebigen von mehreren Werkstücken, die in einer willkürlichen Weise, die einen lose aufgeschütteten Zustand umfasst, abgelegt sind, lernt, wobei die Vorrichtung umfasst: eine Zustandsvariablen-Beobachtungseinheit, die eine Zustandsvariable beobachtet, die einen Zustand des Roboters darstellt und die von einer dreidimensionalen Messvorrichtung, die eine dreidimensionale Abbildung für jedes Werkstück abruft, ausgegebene Daten umfasst; eine Arbeitsergebnis-Abrufeinheit, die ein Ergebnis eines Aufnahme-Arbeitsvorgangs des Roboters zum Aufnehmen des Werkstücks durch die Handeinheit abruft; und eine Lerneinheit, die, im Zusammenhang mit der Zustandsvariablen des Roboters und dem Ergebnis des Aufnahmevorgangs, wenn die Ausgabe von der Zustandsvariablen-Beobachtungseinheit und die Ausgabe von der Arbeitsvorgangsergebnis-Abrufeinheit empfangen wird, eine Stellgröße lernt, die Befehlsdaten umfasst, um dem Roboter anzuweisen, den Aufnahmevorgang des Werkstücks auszuführen, wobei das System ferner den Roboter, die dreidimensionale Messvorrichtung und eine Steuerung, die selbstständig den Roboter und die dreidimensionale Messvorrichtung steuert, umfasst.
  • Gemäß einem vierten Aspekt wird ein Robotersystem bereitgestellt, das eine Vorrichtung für maschinelles Lernen umfasst, die einen Arbeitsvorgang eines Roboters zum Aufnehmen, durch eine Handeinheit, eines beliebigen von mehreren Werkstücken, die in einer willkürlichen Weise, die einen lose aufgeschütteten Zustand umfasst, abgelegt sind, lernt, wobei die Vorrichtung umfasst: eine Zustandsvariablen-Beobachtungseinheit, die eine Zustandsvariable beobachtet, die einen Zustand des Roboters darstellt und von einer dreidimensionalen Messvorrichtung, die eine dreidimensionale Abbildung für jedes Werkstück abmisst, ausgegebene Daten umfasst; eine Arbeitsvorgangsergebnis-Abrufeinheit, die ein Ergebnis eines Aufnahme-Arbeitsvorgangs des Roboters zum Aufnehmen des Werkstücks durch die Handeinheit abruft; und eine Lerneinheit, die, im Zusammenhang mit der Zustandsvariablen des Roboters und dem Ergebnis des Aufnahmevorgangs, wenn die Ausgabe von der Zustandsvariablen-Beobachtungseinheit und die Ausgabe von der Arbeitsvorgangsergebnis-Abrufeinheit empfangen wird, eine Stellgröße lernt, die einen Messparameter der dreidimensionalen Messvorrichtung umfasst, wobei das System ferner den Roboter, die dreidimensionale Messvorrichtung und eine Steuerung, die selbstständig den Roboter und die dreidimensionale Messvorrichtung steuert, umfasst.
  • Das Robotersystem kann mehrere Roboter umfassen, die Vorrichtung für maschinelles Lernen wird für jeden Roboter bereitgestellt, und die mehreren Vorrichtungen für maschinelles Lernen, die für die mehreren Roboter bereitgestellt werden, sind dazu eingerichtet, über ein Kommunikationsmedium Daten gemeinsam zu nutzen oder miteinander auszutauschen. Die Vorrichtung für maschinelles Lernen kann sich auf einem Cloud-Server befinden.
  • Gemäß einem fünften Aspekt wird ein maschinelles Lernverfahren zum Lernen eines Arbeitsvorgangs eines Roboters zum Aufnehmen, durch eine Handeinheit, eines beliebigen von mehreren Werkstücken, die in einer willkürlichen Weise, die einen lose aufgeschütteten Zustand umfasst, abgelegt sind, bereitgestellt, wobei das Verfahren umfasst: Beobachten einer Zustandsvariablen, die einen Zustand des Roboters darstellt und die von einer dreidimensionalen Messvorrichtung, die eine dreidimensionale Position für jedes Werkstück misst, ausgegebene Daten umfasst; Abrufen eines Ergebnisses des Aufnahmevorgangs des Roboters zum Aufnehmen des Werkstücks durch die Handeinheit; und Lernen, im Zusammenhang mit der beobachteten Zustandsvariablen des Roboters und dem abgerufenen Ergebnis des Aufnahmevorgangs des Roboters, wenn die Zustandsvariable und das Ergebnis des Aufnahmevorgangs des Roboters empfangen wird, einer Stellgröße, die Befehlsdaten zum Anweisen des Roboters, den Aufnahmevorgang des Werkstücks auszuführen, umfasst.
  • Die vorliegende Erfindung wird mit Bezug auf die beigefügten Zeichnungen deutlicher verstanden werden, wobei
    • 1 ein Blockdiagramm ist, das die konzeptionelle Ausgestaltung eines Robotersystems in einer Ausführungsform der vorliegenden Erfindung darstellt;
    • 2 ein Schaubild ist, das schematisch ein Modell für ein Neuron darstellt;
    • 3 ein Schaubild ist, das schematisch ein dreischichtiges neurales Netzwerk darstellt, das durch Zusammenfassen von wie als 2 dargestellten Neuronen gebildet wird;
    • 4 ein Ablaufdiagramm ist, das einen beispielhaften Arbeitsablauf der als 1 dargestellten Vorrichtung für maschinelles Lernen darstellt;
    • 5 ein Blockdiagramm ist, das die konzeptionelle Ausgestaltung eines Robotersystems in einer weiteren Ausführungsform der vorliegenden Erfindung darstellt;
    • 6 Ansichten darstellt, um eine beispielhafte Verarbeitung einer Vorverarbeitungseinheit in dem als 5 dargestellten Robotersystem zu erklären; und
    • 7 ein Blockdiagramm ist, das eine Modifikation des als 1 dargestellten Robotersystems darstellt.
  • Nachfolgend werden eine Vorrichtung für maschinelles Lernen, ein Robotersystem und ein maschinelles Lernverfahren gemäß der vorliegenden Erfindung ausführlich mit Bezug auf die beigefügten Zeichnungen beschrieben. Es versteht sich jedoch, dass die vorliegende Erfindung weder auf die Zeichnungen noch die folgenden Ausführungsformen beschränkt werden soll. In den Zeichnungen bezeichnen gleiche Bezugszeichen die gleichen Teile. Des Weiteren bezeichnen gleiche Bezugszeichen Komponenten, die die gleichen Funktionen aufweisen. Zum leichteren Verständnis werden in diesen Zeichnungen zweckmäßigerweise unterschiedliche Maßstäbe verwendet.
  • Die 1 ist ein Blockdiagramm, das die konzeptionelle Ausgestaltung eines Robotersystems in einer Ausführungsform der vorliegenden Erfindung darstellt. Ein Robotersystem 10 in dieser Ausführungsform umfasst einen Roboter 14, eine dreidimensionale Messvorrichtung 15, eine Steuerung 16, eine Koordinaten-Berechnungseinheit 19 und eine Vorrichtung für maschinelles Lernen 20. Der Roboter 14 ist mit einer Handeinheit 13 ausgerüstet, die lose in einer korbförmigen Kiste 11 eingefüllte Werkstücke 12 greift. Die dreidimensionale Messvorrichtung 15 misst eine dreidimensionale Abbildung der Oberflächen des Werkstücks 12. Die Steuerung 16 steuert selbstständig den Roboter 14 und die dreidimensionale Messvorrichtung 15.
  • Die Vorrichtung für maschinelles Lernen 20 umfasst eine Zustandsvariablen(Zustandsgrößen)-Beobachtungseinheit 21, eine Arbeitsvorgangsergebnis-Abrufeinheit 26, eine Lerneinheit 22 und eine Entscheidungseinheit 25. Die Vorrichtung für maschinelles Lernen 20 lernt Stellgrößen, wie Befehlsdaten zum Anweisen des Roboters 14, einen Aufnahmevorgang des Werkstücks 12 auszuführen, oder Messparameter der dreidimensionalen Messvorrichtung 15, und gibt sie aus, wie später beschrieben wird.
  • Der Roboter 14 wird z.B. als sechsachsiger Mehrgelenkroboter verwirklicht. Die jeweiligen Antriebswellen des Roboters 14 und die Handeinheit 13 werden durch die Steuerung 16 gesteuert. Der Roboter 14 wird dazu verwendet, die Werkstücke 12 nacheinander aus der an einer vorbestimmten Position abgestellten Kiste 11 aufzunehmen, um sie der Reihe nach zu einer vorgesehenen Position, wie einer Fördereinrichtung oder einen Arbeitstisch (nicht dargestellt) zu bewegen.
  • Beim Aufnehmen der lose aufgeschütteten Werkstücke 12 aus der Kiste 12 kann die Handeinheit 13 oder können die Werkstücke 12 mit der Wand der Kiste 11 kollidieren oder mit ihr in Kontakt kommen. In anderen Fällen kann die Handeinheit 13 oder ein Werkstück 12 an einem anderen Werkstück 12 hängen bleiben. In einem solchen Fall kann die Funktion des Erkennens einer auf die Handeinheit 13 wirkenden Kraft vorzugsweise dazu verwendet werden, das Auferlegen einer zu hohen Belastung auf den Roboter sofort zu vermeiden. Aus diesem Grund wird ein sechsachsiger Kraftsensor 17 zwischen die Handeinheit 13 und die Spitze der Armeinheit des Roboters 14 geschaltet. Das Robotersystem 10 in dieser Ausführungsform umfasst ebenfalls die Funktion, basierend auf dem Stromwert eines Motors (nicht dargestellt), der die Antriebswelle von jeder Gelenkeinheit des Roboters 14 antreibt, die auf die Handeinheit 13 wirkenden Kraft zu schätzen.
  • Da der Kraftsensor 17 eine auf die Handeinheit 13 wirkende Kraft erkennen kann, kann ebenfalls bestimmt werden, ob die Handeinheit 13 tatsächlich das Werkstück 12 greift. Mit anderen Worten, wenn die Handeinheit 13 das Werkstück 12 greift, dann wirkt das Gewicht des Werkstücks 12 auf die Handeinheit 13 und es kann somit bestimmt werden, dass die Handeinheit 13 das Werkstück 12 greift, wenn der durch den Kraftsensor 17 erkannte Wert nach dem Aufnehmen des Werkstücks 12 größer als ein vorbestimmter Grenzwert ist. Es kann ebenfalls bestimmt werden, z.B. basierend auf Daten, die durch eine für die dreidimensionale Messvorrichtung 15 verwendete Kamera aufgenommen werden, oder der Ausgabe eines an der Handeinheit 13 befestigten photoelektrischen Sensors (nicht dargestellt) oder dergleichen, ob die Handeinheit 13 das Werkstück 12 greift. Diese Bestimmung kann basierend auf Daten ausgeführt werden, die durch einen Druckmesser für eine Ansaughand abgerufen werden (wird später noch beschrieben).
  • Die Handeinheit 13 kann verschiedene Formen annehmen, sofern sie das Werkstück 12 halten kann. Beispielsweise kann die Handeinheit 13 eine Form annehmen, in der sie das Werkstück 12 durch Öffnen und Schließen zweier Greiferteile greift, oder sie kann einen Elektromagneten oder einen Unterdruckgenerator umfassen, der eine Ansaugkraft erzeugt, um auf das Werkstück 12 einzuwirken. Mit anderen Worten, obwohl die Handeinheit 13 das Werkstück mit seinen zwei Greiferteilen in 1 greift, ist die Handeinheit 13 selbstverständlich nicht darauf beschränkt.
  • Die dreidimensionale Messvorrichtung 15 ist durch eine Trägereinheit 18 an einer vorbestimmten Position oberhalb mehrerer Werkstücke 12 positioniert, um die mehreren Werkstücke 12 zu messen. Beispiele der dreidimensionalen Messvorrichtung 15 können einen dreidimensionalen Vision-Sensor umfassen, der dreidimensionale Positionsinformationen durch Verarbeiten von Bilddaten des durch zwei Kameras (nicht dargestellt) aufgenommenen Werkstücks 12 abruft. Insbesondere wird eine dreidimensionale Abbildung (die Oberflächenpositionen von mehreren lose aufgeschütteten Werkstücken 12) gemessen, indem z.B. das Triangulationsverfahren, das optische Schneidverfahren, das Laufzeitverfahren, das Depth-from-Defocus-Verfahren oder Kombinationen davon verwendet werden.
  • Die Koordinaten-Berechnungseinheit 19 berechnet (misst) die Oberflächenpositionen von mehreren lose aufgeschütteten Werkstücken 12 unter Verwendung der durch die dreidimensionale Messvorrichtung 15 abgerufenen dreidimensionalen Abbildung als Eingabe. Mit anderen Worten, dreidimensionale Positionsdaten (x, y, z) oder dreidimensionale Positionsdaten (x, y, z) und Orientierungsdaten (w, p, r) können für jedes Werkstück 12 durch Verwendung der Ausgabe der dreidimensionalen Messvorrichtung 15 abgerufen werden. Obwohl die Zustandsvariablen-Beobachtungseinheit 21 sowohl die dreidimensionale Abbildung von der dreidimensionalen Messvorrichtung 15 als auch die Positionsdaten (Orientierungsdaten) von der Koordinaten-Berechnungseinheit 19 empfängt und die Zustandsvariable (Zustandsgröße) beobachtet, die einen Zustand des Roboters 14 darstellt, kann sie ebenfalls, z.B., nur die dreidimensionale Abbildung von der dreidimensionalen Messvorrichtung 15 empfangen und die Zustandsvariable des Roboters 14 beobachten. Eine Vorverarbeitungseinheit 50 kann hinzugefügt werden und dazu verwendet werden, die dreidimensionale Abbildung von der dreidimensionalen Messvorrichtung 15 zu verarbeiten (vorverarbeiten), bevor die dreidimensionale Abbildung in die Zustandsvariablen-Beobachtungseinheit 21 eingegeben wird, und dann die verarbeitete dreidimensionale Abbildung in die Zustandsvariablen-Beobachtungseinheit 21 einzugeben, wie später mit Bezug auf die 5 beschrieben wird.
  • Die relative Position zwischen dem Roboter 14 und der dreidimensionalen Messvorrichtung 15 wird vorab durch eine Kalibration bestimmt. Die dreidimensionale Messvorrichtung 15 gemäß der vorliegenden Erfindung kann ein Laser-Entfernungsmesser anstatt eines dreidimensionalen Vision-Sensors sein. Mit anderen Worten, der Abstand von der Position der dreidimensionalen Messvorrichtung 15 zur Oberfläche eines jeden Werkstücks 12 kann durch Laserabtastung gemessen werden, oder es können verschiedene Sensoren, wie eine monokulare Kamera oder ein Berührungssensor verwendet werden, um dreidimensionale Positionen und Orientierungsdaten (x, y, z, w, p, r) von mehreren lose aufgeschütteten Werkstücken 12 abzurufen.
  • Mit anderen Worten, gemäß der vorliegenden Erfindung ist eine dreidimensionale Messvorrichtung 15, die eine beliebige Art von geeignetem dreidimensionalem Messverfahren verwendet, anwendbar, solange wie, z.B., Daten (x, y, z, w, p, r) für jedes Werkstück 12 abgerufen werden können. Außerdem ist die Art und Weise, in der eine dreidimensionale Messvorrichtung 15 angeordnet wird, nicht besonders eingeschränkt, und die dreidimensionale Messvorrichtung 15 kann an einem Fußboden, einer Wand oder dergleichen befestigt werden oder kann an der Armeinheit des Roboters 14 oder dergleichen angebracht werden.
  • Die dreidimensionale Messvorrichtung 15 ruft in Erwiderung eines Befehls von der Steuerung 16 eine dreidimensionale Abbildung von mehreren in der Kiste 11 lose aufgeschütteten Werkstücken 12 ab. Die Koordinaten-Berechnungseinheit 19 ruft (berechnet) basierend auf der dreidimensionalen Abbildung Daten der dreidimensionalen Positionen der mehreren Werkstücke 12 ab und gibt die Daten an die Steuerung 16 und die Zustandsvariablen-Beobachtungseinheit 21 und die Arbeitsvorgangsergebnis-Abrufeinheit 26 der Vorrichtung für maschinelles Lernen 20 aus (wie später beschrieben). Insbesondere schätzt beispielsweise die Koordinaten-Berechnungseinheit 19 basierend auf durch Erfassen der mehreren Werkstücke 12 erzeugten Bilddaten die Grenzlinie zwischen einem Werkstück 12 und einem weiteren Werkstück 12 oder zwischen den Werkstücken 12 und der Kiste 11, um dreidimensionale Positionsdaten für jedes Werkstück 12 abzurufen.
  • Die dreidimensionalen Positionsdaten für jedes Werkstück 12 betreffen z.B. Daten, die durch Schätzen der Position, in der jedes der mehreren lose aufgeschütteten Werkstücke 12 positioniert ist oder gehalten werden kann, aus den Positionen von mehreren Punkten auf den Oberflächen der Werkstücke 12 abgerufen werden können. Die dreidimensionalen Positionsdaten für jedes Werkstück 12 können selbstverständlich Daten der Orientierungen der Werkstücke 12 umfassen.
  • Das Abrufen von dreidimensionalen Positions- und Orientierungsdaten für jedes Werkstück 12 durch die Koordinaten-Berechnungseinheit 19 umfasst die Nutzung der maschinellen Lerntechnik. Objekterkennung, Winkelschätzung oder dergleichen aus einem eingegebenen Bild, ein Laser-Entfernungsmesser oder dergleichen, das Verwenden einer Technik, wie überwachtes Lernen (wird später beschrieben), können ebenfalls angewendet werden.
  • Wenn dreidimensionale Daten für jedes Werkstück 12 von der dreidimensionalen Messvorrichtung 15 über die Koordinaten-Berechnungseinheit 19 in die Steuerung 16 eingegeben werden, dann steuert die Steuerung 16 einen Arbeitsvorgang der Handeinheit 13 zum Aufnehmen eines Werkstücks 12 aus der Kiste 11. Zu diesem Zeitpunkt werden die Motoren (nicht dargestellt) für die Achsen der Handeinheit 13 und des Roboters 14 basierend auf Befehlswerten (Stellgrößen) angetrieben, die einer optimalen Position, Orientierung und Aufnahmerichtung der Handeinheit 13 entsprechen und durch die Vorrichtung für maschinelles Lernen 20 abgerufen werden (wird später beschrieben).
  • Die Vorrichtung für maschinelles Lernen 20 kann ebenfalls Variablen für die Bildaufnahmebedingungen einer Kamera lernen, die für die dreidimensionale Messvorrichtung 15 (Messparameter der dreidimensionalen Messvorrichtung 15: z.B. die Belichtungszeit, die bei der Bildaufnahme mittels eines Belichtungsmessers eingestellt wird, und die Beleuchtung eines Beleuchtungssystems, die ein aufzunehmendes Objekt beleuchtet) verwendet wird, und die dreidimensionale Messvorrichtung 15 basierend auf den gelernten Messparametern und Stellgrößen über die Steuerung 16 steuern. Die Variablen für die Positions- und Orientierungs-Schätzbedingungen, die zum Schätzen der Position und der Orientierung, an der sich das Werkstück 12 befindet oder gehalten werden kann, aus den Positionen der mehreren durch die dreidimensionale Messvorrichtung 15 gemessenen Werkstücken 12 verwendet werden, können in den von der oben erwähnten dreidimensionalen Messvorrichtung 15 ausgegebenen Daten enthalten sein.
  • Des Weiteren können die von der dreidimensionalen Messvorrichtung 15 ausgegebenen Daten z.B. durch die Vorverarbeitungseinheit 50 (wird später ausführlich mit Bezug auf 5 beschrieben) vorverarbeitet werden, und die verarbeiteten Daten (Bilddaten) können der Zustandsvariablen-Beobachtungseinheit 21 zugeführt werden, wie zuvor beschrieben. Die Arbeitsvorgangsergebnis-Abrufeinheit 26 kann beispielsweise ein Ergebnis des Aufnehmens des Werkstücks 12 durch die Handeinheit 13 des Roboters 14 aus von der dreidimensionalen Messvorrichtung 15 ausgegebenen Daten (von der koordinaten-Berechnungseinheit 19 ausgegebenen Daten) abrufen, und kann selbstverständlich aber auch den Erreichungsstand beim Weiterleiten des aufgegriffenen Werkstücks 12 zu einem Folgeprozess abrufen, sowie über andere Mittel (z.B. eine Kamera oder einen Sensor, die im Folgeprozess eingerichtet sind) ein Arbeitsvorgangsergebnis abrufen, das anzeigt, ob das aufgegriffene Werkstück Änderungen, wie Zerbrechen, erlitten hat. In der vorangehenden Beschreibung dienen die Zustandsvariablen-Beobachtungseinheit 21 und die Arbeitsvorgangsergebnis-Abrufeinheit 26 als Funktionsblöcke und können auch so gesehen werden, dass sie die beiden Funktionen durch einen einzelnen Block erfüllen.
  • Die als 1 dargestellte Vorrichtung für maschinelles Lernen 20 wird nachfolgend ausführlich beschrieben. Die Vorrichtung für maschinelles Lernen 20 hat die Funktion zum Extrahieren, z.B. einer nützlichen Regel, einer Wissensrepräsentation und eines Bestimmungskriteriums basierend auf einer Analyse eines in die Vorrichtung eingegebenen Datensatzes, Ausgeben der Bestimmungsergebnisse und Lernens des Wissens (maschinelles Lernen). Es ist eine Vielzahl von Lerntechniken verfügbar, die grob in z.B. „überwachtes Lernen“, „unüberwachtes Lernen“ und „bestärkendes Lernen“ klassifiziert werden. Um diese Techniken umzusetzen, ist eine weitere, als „Deep Learning“ bezeichnete Technik verfügbar, bei der das Extrahieren von Merkmalsbeträgen selbst gelernt wird. Obwohl diese Arten des maschinellen Lernens (Vorrichtung für maschinelles Lernen 20) einen Allzweck-Computer oder -Prozessor verwenden können, ermöglicht die Verwendung von z.B. GPGPU (General-Purpose computing on Graphics Processing Units) oder großformatigen PC-Clustern eine höhere Verarbeitungsgeschwindigkeit.
  • Zunächst wird beim überwachten Lernen eine große Anzahl von Datensätzen von bestimmten Eingaben und Ergebnissen (Labels) in die Vorrichtung für maschinelles Lernen 20 eingegeben, die in diesen Datensätzen beobachtete Merkmale lernt und induktiv ein Modell zum Schätzen des Ergebnisses aus der Eingabe, d.h. ihrer Beziehung, erlernt. Das überwachte Lernen ist auf diese Ausführungsform anwendbar für die Verwendung in z.B. einem Abschnitt, in dem eine Werkstückposition aus einer Sensoreingabe geschätzt wird, oder einem Abschnitt, in dem eine Erfolgswahrscheinlichkeit des Abrufens eines Werkstückkandidatens geschätzt wird. Überwachtes Lernen kann durch Verwendung eines Algorithmus, wie eines neuralen Netzwerks (wird später beschrieben), verwirklicht werden.
  • Beim unüberwachten Lernen werden nur Eingabedaten in großer Menge in eine Lernvorrichtung eingegeben, die die Verteilung der Eingabedaten lernt und wiederum ein Lernen mit einer Vorrichtung ausführt, die z.B. die Eingabedaten komprimiert, klassifiziert und die eingegeben Daten formt, ohne dass entsprechende Lehrer-Ausgabedaten in die Lernvorrichtung eingegeben werden. Dies ermöglicht, z.B. das Zusammenfassen von in diesen Datensätzen gesehenen Merkmalen in ähnliche Merkmale. Das erzielte Ergebnis kann dazu verwendet werden, bestimmte Kriterien zu definieren und Ausgaben in optimierter Weise entsprechend den Kriterien zuzuordnen und somit eine Ausgabe vorherzusagen.
  • Eine zwischen dem unüberwachten Lernen und überwachten Lernen liegende Problemlösung, die als teilüberwachtes Lernen bezeichnet wird, ist ebenfalls verfügbar. Dies trifft zu, wenn beispielsweise nur einige Daten als Datensätze von Eingaben und Ausgaben dienen und die übrigen Daten nur Eingaben umfassen. In dieser Ausführungsform kann das Lernen effektiv ausgeführt werden, indem Daten (z.B. Bilddaten oder Simulationsdaten) auch ohne aktuelle Bewegung des Roboters auf unüberwachtes Lernen angewendet werden können.
  • Bestärkendes Lernen wird nachfolgend beschrieben. Die Problemlösung des bestärkenden Lernens wird wie folgt berücksichtigt:
    • Der Roboter beobachtet den Umweltzustand, um über seine Aktion zu entscheiden;
    • Die Umwelt kann sich entsprechend einer bestimmten Regel ändern, und ein Mensch kann die Umwelt durch seine/ihre eigene Aktion ändern;
    • Ein Belohnungssignal wird jedes Mal zurückgesendet, wenn eine Aktion erfolgt;
    • Die Summe von (diskontierten) Belohnungen in der Zukunft ist zu maximieren;
    • Das Lernen startet in einem Zustand, in dem ein durch die Aktion herbeizuführendes Ergebnis völlig unbekannt oder nur unvollständig bekannt ist. Mit anderen Worten, der Roboter kann das Ergebnis einer Aktion als Daten erst dann abrufen, nachdem sie tatsächlich ergriffen ist. Dies bedeutet, dass eine optimale Aktion vorzugsweise durch Ausprobieren gesucht wird; und
    • Das Lernen kann an einem guten Startpunkt gestartet werden, indem aus dem Zustand gestartet wird, in dem das Lernen vorab ausgeführt wurde, um menschliche Verhaltensweisen zu imitieren (eine Technik wie das oben erwähnte überwachte Lernen oder inverse bestärkende Lernen).
  • Beim bestärkenden Lernen wird, zusätzlich zur Bestimmung und Klassifizierung, eine Aktion gelernt, um ein Verfahren zu erhalten, um eine geeignete Aktion unter Berücksichtigung von durch die Aktion auf die Umwelt ausgeübten Interaktionen zu lernen, d.h., zu lernen, die in der Zukunft zu erzielende Belohnung zu maximieren. In dieser Ausführungsform bedeutet dies, zum Beispiel, eine Aktion mit Einfluss auf die Zukunft zu erreichen, wie das Auseinanderbrechen einer Anhäufung von Werkstücken 12, um das Aufnehmen von Werkstücken 12 in der Zukunft zu erleichtern. Obwohl diese Beschreibung von einem Beispiel des Q-Lernens gefolgt wird, ist die vorliegende Erfindung nicht darauf beschränkt.
  • Beim Q-Lernen wird ein Wert Q(s, a) der Auswahl einer Aktion a in einem bestimmten Umweltzustand s gelernt. Mit anderen Worten, eine Aktion mit dem höchsten Wert Q(s, a) in dem bestimmten Zustand s kann vorzugsweise als eine optimale Aktion gewählt werden. Zunächst ist jedoch ein korrekter Wert Q(s, a) völlig unbekannt für ein Paar aus einem Zustand s und einer Aktion a. Der Agent (der Gegenstand einer Aktion) wählt verschiedene Aktionen a in dem bestimmten Zustand s aus und es werden Belohnungen für die Aktionen a angeboten. Mit diesem Arbeitsvorgang lernt der Agent, eine bessere Aktion, d.h. einen korrekten Wert Q(s, a) auszuwählen.
  • Um die Summe von in der Zukunft zu erzielenden Belohnungen als ein Ergebnis der Aktionen zu maximieren, muss letztendlich Q(s, a) = E[Σ(γt)rt] erfüllt werden, wobei E[] der erwartete Wert ist, t die Zeit ist, y ein Parameter ist, der als Diskontierungsrate (wird später beschrieben) bezeichnet wird, rt die Belohnung zur Zeit t ist und Σ die Summe zur Zeit t ist. Der erwartete Wert in diesem Ausdruck wird in Erwiderung auf eine einer optimalen Aktion folgenden Änderung des Zustands aufgenommen und ist ein unbekannter Wert, der durch eine Suche gelernt wird. Ein aktualisierter Ausdruck eines solchen Werts Q(s, a) wird z.B. gegeben durch: Q ( s t , a t ) Q ( s t , a t ) + α ( r t + 1 + γ max a Q ( s t + 1 , a ) Q ( s t , a t ) )
    Figure DE102016009030B4_0001
    wobei st der Umweltzustand zur Zeit t ist und at die Aktion zur Zeit t ist. Bei der Aktion at ändert sich der Zustand auf st+1. rt+1 ist die bei einer Änderung des Zustands empfangene Belohnung. Der an max angehängte Ausdruck ist das Produkt des Q-Werts multipliziert mit γ, wenn eine Aktion mit dem höchsten bekannten Q-Wert im Zustand st+1 gewählt wird. γ ist ein Parameter, der als Diskontierungsrate bezeichnet wird, der 0 < γ ≤ 1 erfüllt. α ist ein Lernfaktor der 0 < α ≤ 1 erfüllt.
  • Der Ausdruck (1) repräsentiert ein Verfahren zum Aktualisieren, basierend auf der als ein Ergebnis des Versuchs at zurückgesendeten Belohnung rt+1, des Bewertungswerts Q(St, at) der Aktion at im Zustand st. Wenn insbesondere die Summe der Belohnung rt+1 und des Bewertungswerts Q(St+1, max at+1) der besten Aktion max a im Zustand nach dem Zustand s nach der Aktion a größer als der Bewertungswert Q(St, at) der Aktion a im Zustand s ist, dann wird Q(St, at) erhöht; ansonsten wird Q(St, at) reduziert. Mit anderen Worten, der Wert einer bestimmten Aktion in einem bestimmten Zustand wird nahe an die unmittelbar als ein Ergebnis zurückgesendete Belohnung und dem Wert der besten Aktion in dem nach der bestimmten Aktion folgenden Zustand gebracht.
  • Verfahren zum Darstellen von Q(s, a) auf dem Computer umfassen ein Verfahren zum Festhalten der numerischen Werte aller Zustands-/Aktions-Paare (s, a) in der Form einer Tabelle und ein Verfahren zum Bereitstellen einer Funktion, die Q(s, a) annähert. Mit dem letzteren Verfahren kann der oben erwähnte Ausdruck (1) umgesetzt werden, indem der Parameter einer Näherungsfunktion mittels einer Technik wie dem stochastischen Gradientenverfahren angepasst wird. Ein neurales Netzwerk (wird später beschrieben) kann als die Näherungsfunktion verwendet werden.
  • Neurale Netzwerke können auch als Lernmodelle für überwachtes Lernen und unüberwachtes Lernen oder als Näherungsalgorithmen für Wertefunktionen im bestärkenden Lernen verwendet werden. Die 2 ist ein Schaubild, das schematisch ein Modell für ein Neuron darstellt, und 3 ist ein Schaubild, das schematisch ein dreischichtiges neurales Netzwerk darstellt, das durch Zusammenfassen von Neuronen, wie als 2 dargestellt, gebildet wird. Insbesondere wird das neurale Netzwerk durch z.B. eine Arithmetik-Vorrichtung und einen Speicher realisiert, die ein Modell für ein Neuron, wie z.B. als 2 dargestellt, imitieren.
  • Wie als 2 dargestellt dienen die Neuronen dazu, eine Ausgabe (Ergebnis) y für mehrere Eingaben x auszugeben (2 stellt Eingaben x1 bis x3 als ein Beispiel dar). Jede Eingabe x (x1, x2, x3) wird mit einem Gewicht w (w1, w2, w3) multipliziert, das der Eingabe x entspricht. Mit diesem Vorgang geben die Neuronen Ergebnisse y aus, die angegeben werden durch: y = f k ( i = 1 n x i w i θ )
    Figure DE102016009030B4_0002
    wobei θ die systematische Messabweichung ist und fk die Aktivierungsfunktion ist. Es wird angemerkt, dass die Eingabe x, das Ergebnis y und das Gewicht w jeweils Vektoren sind.
  • Ein dreischichtiges neurales Netzwerk, das durch Zusammenfassen von wie als 2 dargestellten Neuronen gebildet wird, wird nachfolgend mit Bezug auf 3 beschrieben. Mehrere Eingaben x (Eingaben x1 bis x3 werden hierin als Beispiel genommen) werden von der linken Seite des neuralen Netzwerks eingegeben, und die Ergebnisse y (Ergebnisse y1 bis y3 werden hierin als ein Beispiel genommen) werden von der rechten Seite dieses Netzwerks ausgegeben, wie als 3 dargestellt. Insbesondere werden die Eingaben x1, x2 und x3 mit einem Gewicht multipliziert, das jedem von drei Neuronen N11 bis N13 entspricht, und werden dann in die Neuronen eingegeben. Die zum Multiplizieren dieser Eingaben verwendeten Gewichte werden gemeinsam hierin als W1 bezeichnet.
  • Die Neuronen N11 bis N13 geben jeweils entsprechend z11 bis z13 aus. Mit Bezug auf die 3 werden z11 bis z13 gemeinsam als Merkmalsvektoren Z1 bezeichnet und können als Vektoren betrachtet werden, die durch Extrahieren der Merkmalsbeträge von Eingabevektoren erhalten werden. Die Merkmalsvektoren Z1 werden zwischen den Gewichten W und W2 definiert. Z11 bis Z13 werden mit einem Gewicht multipliziert, das jedem der zwei Neuronen N21 und N22 entspricht und werden dann in die Neuronen eingegeben. Die zum Multiplizieren dieser Merkmalsvektoren verwendeten Gewichte werden hierin gemeinsam als W2 bezeichnet.
  • Die Neuronen N21 und N22 geben jeweils entsprechend z21 und z22 aus. Mit Bezug auf 3 werden z21 und z22 gemeinsam als Merkmalsvektoren z2 bezeichnet. Die Merkmalsvektoren Z2 werden zwischen den Gewichten W2 und W3 definiert. z21 und z22 werden mit einem Gewicht multipliziert, das jedem von drei Neutronen N31 bis N33 entspricht, und eingegeben. Die zum Multiplizieren dieser Merkmalsvektoren verwendeten Gewichte werden hierin gemeinsam als W3 bezeichnet.
  • Schließlich geben die Neuronen N31 bis N33 jeweils entsprechend Ergebnisse y1 bis y3 aus. Der Arbeitsvorgang des neuralen Netzwerks umfasst einen Lernmodus und einen Wert-Vorhersagemodus. Beispielsweise wird das Gewicht W unter Verwendung eines Lerndatensatzes im Lernmodus gelernt und eine Roboteraktion wird in dem Vorhersagemodus unter Verwendung des Parameters bestimmt. Obwohl der Einfachheit halber obenstehend auf „Vorhersage“ Bezug genommen wurde, ist selbstverständlich eine Vielfalt von Aufgaben, wie z.B. Erkennung, Klassifikation und Schlussfolgerung möglich.
  • Daten, die abgerufen werden, indem der Roboter tatsächlich im Vorhersagemodus betrieben wird, können unmittelbar gelernt und können in der nachfolgenden Aktion widergespiegelt werden (Online-Lernen), oder eine Gruppe von im Voraus gesammelten Daten kann verwendet werden, um ein kollektives Lernen auszuführen und nachfolgend den Erkennungsmodus unter Verwendung derselben Parameter auszuführen (Batch-Lernen). Als weiterer Zwischenansatz kann der Lernmodus jedes Mal zwischengeschaltet werden, wenn sich eine bestimmte Datenmenge angesammelt hat.
  • Die Gewichte W1 bis W3 können durch das Fehlerrückführungsverfahren gelernt werden. Die Information von Fehlern tritt rechts ein und fließt nach links. Das Fehlerrückführungsverfahren wird verwendet, um jedes Gewicht anzupassen (lernen), um die Differenz zwischen der wahren Ausgabe y (Lehrer) und der Ausgabe y, wenn die Eingabe x eingegeben wird, zu reduzieren.
  • Ein solches neurales Netzwerk kann mehr als drei Schichten aufweisen (als Deep-Learning bezeichnet). Es ist möglich, automatisch nur von Lehrerdaten eine arithmetische Vorrichtung zu erfassen, die Merkmale der Eingabe schrittweise extrahiert und ein Ergebnis zurücksendet.
  • Die Vorrichtung für maschinelles Lernen 20 gemäß dieser Ausführungsform umfasst, z.B. eine Zustandsvariablen-Beobachtungseinheit 21, eine Arbeitsvorgangsergebnis-Abrufeinheit 26, eine Lerneinheit 22 und eine Entscheidungseinheit 25, wie als 1 dargestellt, um das oben beschriebene Q-Lernen auszuführen. Das auf die vorliegende Erfindung angewendete Verfahren für maschinelles Lernen ist jedoch nicht auf das Q-Lernen beschränkt, wie zuvor erwähnt. Mit anderen Worten, verschiedene Techniken, wie „überwachtes Lernen“, „unüberwachtes Lernen“, „teilüberwachtes Lernen“ und „bestärkendes Lernen“, die durch die Vorrichtung für maschinelles Lernen verwendet werden können, sind anwendbar. Obwohl diese Arten des maschinellen Lernens (Vorrichtung für maschinelles Lernen 20) einen Allzweck-Computer oder -Prozessor verwenden können, ermöglicht die Verwendung von z.B. GPGPU (General-Purpose computing on Graphics Processing Units) oder großformatigen PC-Clustern eine höhere Verarbeitungsgeschwindigkeit.
  • Mit anderen Worten, gemäß dieser Ausführungsform umfasst eine Vorrichtung für maschinelles Lernen, die einen Arbeitsvorgang eines Roboters 14 zum Aufnehmen, durch eine Handeinheit 13, eines beliebigen von mehreren Werkstücken 12, die in einer willkürlicher Weise, die einen lose aufgeschütteten Zustand umfasst, abgelegt sind, lernt, eine Zustandsvariablen-Beobachtungseinheit 21, ein Arbeitsvorgangsergebnis-Abrufeinheit 26 und eine Lerneinheit 22. Die Zustandsvariablen-Beobachtungseinheit 21 beobachtet die Zustandsvariable des Roboters 14, die die Datenausgabe von einer dreidimensionalen Messvorrichtung 15 umfasst, die eine dreidimensionale Position (x, y, z) oder eine dreidimensionale Position und Orientierung (x, y, z, w, p, r) für jedes Werkstück 12 misst. Die Arbeitsvorgangsergebnis-Abrufeinheit 26 ruft ein Ergebnis eines Aufnahmevorgangs des Roboters 14 zum Aufnehmen des Werkstücks 12 durch die Handeinheit 13 ab. Die Lerneinheit 22 lernt, im Zusammenhang mit der Zustandsvariablen des Roboters 14 und dem Ergebnis der Aufnahmevorgangs, wenn eine Ausgabe von der Zustandsvariablen-Beobachtungseinheit 21 und eine Ausgabe von der Arbeitsvorgangsergebnis-Abrufeinheit 26 empfangen wird, Stellgrößen, die Befehlsdaten umfassen, um den Roboters 14 anzuweisen, einen Aufnahmevorgang des Werkstücks 12 auszuführen.
  • Beispiele der durch die Zustandsvariablen-Beobachtungseinheit 21 beobachteten Zustandsvariablen können Zustandsvariablen zum Einstellen der Position, Orientierung und Aufnahmerichtung der Handeinheit 13 beim Aufnehmen eines Werkstücks 12 aus der Kiste 11 umfassen. Beispiele der zu lernenden Stellgrößen können Befehlswerte für, z.B., das Drehmoment, die Geschwindigkeit und die Drehposition sein, die von der Steuerung 16 beim Aufnehmen des Werkstücks 12 aus der Kiste 11 zu den jeweiligen Antriebswellen des Roboters 14 und der Handeinheit 13 gesendet werden.
  • Beim Aufnehmen eines von mehreren lose aufgeschütteten Werkstücken lernt die Lerneinheit 22 die oben erwähnten Zustandsvariablen im Zusammenhang mit dem Ergebnis des Aufnahmevorgangs des Werkstücks 12 (der Ausgabe der Arbeitsvorgangsergebnis-Abrufeinheit 26). Mit anderen Worten, die Steuerung 16 bestimmt willkürlich von der dreidimensionalen Messvorrichtung 15 (Koordinaten-Berechnungseinheit 19) ausgegebene Daten und Befehlsdaten für die Handeinheit 13, oder bestimmt sie nicht willkürlich basierend auf einer vorbestimmten Regel, und führt einen Aufnahmevorgang des Werkstücks 12 durch die Handeinheit 13 aus. Beispiele der vorgenannten vorbestimmten Regel können das Aufnehmen von mehreren lose aufgeschütteten Werkstücken 12 in absteigender Reihenfolge der Höhe (Z) umfassen. Die von der dreidimensionalen Messvorrichtung 15 ausgegebenen Daten und die Befehlsdaten für die Handeinheit 13 entsprechen somit einer Aktion es Aufnehmens eines Werkstücks. Da Erfolg und Misserfolg des Aufnehmens des Werkstücks 12 auftreten, bewertet die Lerneinheit 22 Zustandsvariablen, die von der dreidimensionalen Messvorrichtung 15 ausgegebene Daten und Befehlsdaten für die Hand 13 umfassen, jedes Mal wenn ein solcher Erfolg oder Misserfolg auftritt.
  • Die Lerneinheit 22 speichert von der dreidimensionalen Messvorrichtung ausgegebene Daten und Befehlsdaten für die Handeinheit 13 beim Aufnehmen des Werkstücks 12 und eine Bewertung für das Ergebnis des Aufnahmevorgangs des Werkstücks in Zuordnung zueinander. Beispiele für einen Misserfolg können hierin den Fall umfassen, in dem die Handeinheit 13 das Werkstück 12 nicht greifen kann oder das Werkstück 12 mit der Wand der Kiste 11 kollidiert oder in Kontakt kommt, selbst dann, wenn die Handeinheit 13 das Werkstück 12 greifen kann. Ein solcher Erfolg oder Misserfolg des Aufnehmens des Werkstücks 12 wird basierend auf dem durch den Kraftsensor 17 erkannten Wert oder auf durch die dreidimensionale Messvorrichtung aufgenommene Daten bestimmt. Die Vorrichtung für maschinelles Lernen 20 kann das Lernen ebenfalls ausführen, indem z.B. ein Teil der von der Steuerung 16 ausgegebenen Befehlsdaten für die Handeinheit 13 verwendet wird.
  • Die Lerneinheit 22 in dieser Ausführungsform umfasst vorzugsweise eine Belohnungs-Berechnungseinheit 23 und eine Wertefunktions-Aktualisierungseinheit 24. Zum Beispiel berechnet die Belohnungs-Berechnungseinheit 23 eine Belohnung, wie z.B. eine Punktzahl, basierend auf dem Erfolg oder Misserfolg des Aufnehmens des Werkstücks 12 in Bezug auf die oben erwähnten Zustandsvariablen. Die Belohnung wird für einen Erfolg des Aufnehmens des Werkstücks 12 hoch und für einen Misserfolg des Aufnehmens des Werkstücks 12 niedrig festgelegt. Eine Belohnung kann basierend darauf berechnet werden, wie oft das Aufnehmen des Werkstücks 12 in einer vorbestimmten Zeit zu einem Erfolg führt. Eine solche Belohnung kann des Weiteren entsprechend einer jeden Stufe des Aufnehmens des Werkstücks 12, wie Erfolg beim Greifen durch die Handeinheit 13, Erfolg des Transports durch die Handeinheit 13 oder Erfolg des Ablegens des Werkstücks 12 berechnet werden.
  • Die Wertefunktion-Aktualisierungseinheit 24 umfasst eine Wertefunktion, die den Wert eines Aufnahmevorgangs des Werkstücks 12 beschreibt und die Wertefunktion entsprechend der oben erwähnten Belohnung aktualisiert. Die Wertefunktion wird unter Verwendung eines Aktualisierungsausdrucks Q(s, a) aktualisiert, wie oben beschrieben. Bei dieser Aktualisierung wird vorzugsweise eine Aktionswerttabelle erzeugt. Die Aktionswerttabelle bedeutet hierin einen Eintrag von zugehörigen Informationen zwischen von der dreidimensionalen Messvorrichtung 15 ausgegebenen Daten und Befehlsdaten für die Handeinheit 13 beim Aufnehmen des Werkstücks 12, und einer entsprechend dem Aufnahmeergebnis des Werkstücks 12 bei dem Aufnahmevorgang aktualisierten Wertefunktion (d.h. einen Bewertungswert).
  • Eine unter Verwendung des oben beschriebenen neuralen Netzwerks angenäherte Funktion kann ebenfalls als eine solche Aktionswerttabelle verwendet werden, und dies ist insbesondere effektiv, wenn der Zustand s Unmengen von Informationen mit sich bringt, wie z.B. in Bilddaten. Die oben erwähnte Wertefunktion ist nicht auf eine bestimmte Art beschränkt. Beispiele für die Wertefunktion können eine Wertefunktion zum Bewerten von Erfolg oder Misserfolg beim Greifen des Werkstücks 12 durch die Handeinheit 13 und diejenige zum Bewerten der Zeit (Taktzeit), die von der Handeinheit 13 gebraucht wird, um das Werkstück 12 zu greifen und zu transportieren, umfassen.
  • Als die oben erwähnte Wertefunktion kann eine Wertefunktion zum Bewerten einer störenden Behinderung zwischen der Kiste 11 und der Handeinheit 13 oder den Werkstücken 12 beim Aufnehmen verwendet werden. Um eine Belohnung zu berechnen, die zum Aktualisieren der Wertefunktion verwendet wird, beobachtet die Zustandsvariablen-Beobachtungseinheit 21 vorzugsweise eine auf die Handeinheit 13 wirkende Kraft, wie z.B. einen durch den Kraftsensor 17 erkannten Wert. Wenn der durch den Kraftsensor 17 erkannte Änderungsbetrag der Kraft größer als ein vorbestimmter Grenzwert ist, kann geschätzt werden, dass die vorgenannte Behinderung aufgetreten ist. Daher ist die in diesem Fall erhaltene Belohnung vorzugsweise so eingestellt, dass sie z.B. einen negativen Wert annimmt, sodass der durch die Wertefunktion definierte Wert niedrig ist.
  • Gemäß dieser Ausführungsform können die Messparameter der dreidimensionalen Messvorrichtung 15 auch als Stellgrößen gelernt werden. Mit anderen Worten, gemäß dieser Ausführungsform umfasst eine Vorrichtung zum maschinellen Lernen, die einen Arbeitsvorgang eines Roboters 14 zum Aufnehmen, durch eine Handeinheit 13, eines beliebigen von mehreren Werkstücken 12, die in einer willkürlicher Weise, die einen lose aufgeschütteten Zustand umfasst, abgelegt sind, lernt, eine Zustandsvariablen-Beobachtungseinheit 21, eine Arbeitsvorgangsergebnis-Abrufeinheit 26 und eine Lerneinheit 22. Die Zustandsvariablen-Beobachtungseinheit 21 beobachtet die Zustandsvariable des Roboters 14, die von der dreidimensionalen Messvorrichtung 15, die eine dreidimensionale Position (x, y, z) oder eine dreidimensionale Position und Orientierung (x, y, z, w, p, r) für jedes Werkstück 12 misst, ausgegebene Daten umfasst. Die Arbeitsvorgangsergebnis-Abrufeinheit 26 ruft ein Ergebnis eines Aufnahmevorgangs des Roboters 14 zum Aufnehmen des Werkstücks 12 durch die Handeinheit 13 ab. Die Lerneinheit 22 lernt, im Zusammenhang mit der Zustandsvariablen des Roboters 14 und dem Ergebnis des Aufnahmevorgangs, wenn die Ausgabe von der Zustandsvariablen-Beobachtungseinheit 21 und die Ausgabe von der Arbeitsvorgangsergebnis-Abrufeinheit 26 empfangen wird, Stellgrößen, die Messparameter der dreidimensionalen Messvorrichtung 15 umfassen.
  • Das Robotersystem 10 in dieser Ausführungsform kann ferner eine automatische Handaustauschvorrichtung (nicht dargestellt) umfassen, die die an dem Roboter 14 befestigte Handeinheit 13 mit einer eine andere Form aufweisenden Handeinheit 13 austauscht. In diesem Fall kann die Wertefunktion-Aktualisierungseinheit 24 vorzugsweise die oben erwähnte Wertefunktion für jede formspezifische Handeinheit 13 umfassen und die Wertefunktion für die ausgetauschte Handeinheit 13 entsprechend der Belohnung aktualisieren. Dies ermöglicht, einen optimalen Arbeitsvorgang der Handeinheit 13 für jede handspezifische Handeinheit zu lernen und wiederum der automatischen Handaustauschvorrichtung zu erlauben, eine Handeinheit 13 auszuwählen, die eine höhere Wertefunktion aufweist.
  • Die Entscheidungseinheit 25 wählt vorzugsweise von der dreidimensionalen Messvorrichtung 15 ausgegebene Daten und Befehlsdaten für die Handeinheit 13, die dem höchsten Bewertungswert entsprechen, indem in der wie oben beschrieben erzeugten Aktionswerttabelle nachgelesen wird. Die Entscheidungseinheit 25 gibt dann optimale Daten für die ausgewählte Handeinheit 13 und die dreidimensionale Messvorrichtung 15 an die Steuerung 16 aus.
  • Die Steuerung 16 nutzt von der Lerneinheit 22 ausgegebene optimale Daten für die Handeinheit 13 und die dreidimensionale Messvorrichtung 15, um die dreidimensionale Messvorrichtung 15 und den Roboter 14 selbstständig zu steuern, um das Werkstück 12 aufzunehmen. Beispielsweise betreibt die Steuerung 16 die jeweiligen Antriebswellen der Handeinheit 13 und des Roboters 14 basierend auf den Zustandsvariablen, um jeweils eine durch die Vorrichtung für maschinelles Lernen 20 abgerufene optimale Position, Orientierung und Aufnahmerichtung der Handeinheit 13 einzustellen.
  • Das Robotersystem 10 in der oben beschriebenen Ausführungsform umfasst eine Vorrichtung für maschinelles Lernen 20 für einen Roboter 14, wie als 1 dargestellt. In der vorliegenden Erfindung ist jedoch die Anzahl von Robotern 14 und Vorrichtungen für maschinelles Lernen 20 nicht auf eins beschränkt. Das Robotersystem 10 kann zum Beispiel mehrere Roboter 14 derart umfassen, dass mindestens eine Vorrichtung für maschinelles Lernen 20 in Übereinstimmung mit jedem Roboter 14 angeordnet ist. Das Robotersystem 10 nutzt vorzugsweise durch die Vorrichtung für maschinelles Lernen 20 der jeweiligen Roboter 14 abgerufene optimale Zustandsvariablen für die dreidimensionale Messvorrichtung 15 und die Handeinheit 13 gemeinsam oder tauscht sie untereinander über ein Kommunikationsmedium, wie ein Netzwerk, aus. Selbst wenn die Arbeitsrate eines bestimmten Roboters 14 niedriger als diejenige eines anderen Roboters 14 ist, kann ein durch die Vorrichtung für maschinelles Lernen 20 des anderen Roboters 14 abgerufenes optimales Arbeitsergebnis für den Arbeitsvorgang des bestimmten Roboters 14 verwendet werden. Die für das Lernen gebrauchte Zeit kann sogar verkürzt werden, indem Lernmodelle zwischen mehreren Robotern gemeinsam genutzt werden, oder Stellgrößen, die Messparameter der dreidimensionalen Messvorrichtung 14 und die Zustandsvariable und das Aufnahmevorgangsergebnis von jedem Roboter 14 umfassen, gemeinsam genutzt werden.
  • Die Vorrichtung für maschinelles Lernen 20 kann sich innerhalb oder außerhalb des Roboters 14 befinden. Alternativ kann sich die Vorrichtung für maschinelles Lernen 20 innerhalb der Steuerung 16 oder auf einem Cloud-Server (nicht dargestellt) befinden.
  • Wenn das Robotersystem 10 mehrere Roboter 14 umfasst, kann ein Roboter 14 ein Werkstück 12 mit einer Handeinheit 13 des Roboters 14 aufnehmen, während ein weiterer Roboter 14 ein durch eine Handeinheit 13 des letzteren Roboters 14 gegriffenes Werkstück 12 transportiert. Die Wertefunktion-Aktualisierungseinheit 24 kann ferner die Wertefunktion aktualisieren, indem die Zeit verwendet wird, während der solche Roboter 14, die die Werkstücke 12 aufnehmen, von einem zu einem anderen umgeschaltet werden. Die Vorrichtung für maschinelles Lernen 20 kann sogar Zustandsvariablen für mehrere Handmodelle umfassen, eine Aufnahmesimulation basierend auf den mehreren Handmodellen während des Aufnahmevorgangs ausführen und die Zustandsvariablen für die mehreren Handmodelle im Zusammenhang mit dem Ergebnis des Aufnahmevorgangs des Werkstücks 12 entsprechend dem Ergebnis der Aufnahmesimulation lernen.
  • In der oben erwähnten Vorrichtung für maschinelles Lernen 20 werden von der dreidimensionalen Messvorrichtung 15 ausgegebene Daten nach dem Abrufen von Daten einer dreidimensionalen Abbildung für jedes Werkstück 12 von der dreidimensionalen Messvorrichtung 15 an die Zustandsvariablen-Beobachtungseinheit 21 gesendet. Da derartige gesendete Daten nicht immer anomale Daten umfassen, kann die Vorrichtung für maschinelles Lernen 20 die Funktion des Filterns von anomalen Daten aufweisen, d.h. die Funktion zu wählen, ob die Daten von der dreidimensionalen Messvorrichtung 15 in die Zustandsvariablen-Beobachtungseinheit 21 eingegeben werden soll. Mit dieser Anordnung kann die Lerneinheit 22 der Vorrichtung für maschinelles Lernen einen optimalen Arbeitsvorgang der Handeinheit 13 durch die dreidimensionale Messvorrichtung 15 und den Roboter 14 effektiv lernen.
  • In der oben erwähnten Vorrichtung für maschinelles Lernen 20 empfängt die Steuerung 16 von der Lerneinheit 22 ausgegebene Daten. Da auch die von der Lerneinheit 22 ausgegebenen Daten nicht immer anomale Daten umfassen, kann eine Funktion des Filterns von anomalen Daten bereitgestellt werden, d.h., die Funktion des Wählens, ob die Daten von der Lerneinheit 22 an die Steuerung 16 ausgegeben werden sollen. Mit dieser Anordnung kann die Steuerung 16 dem Roboter 14 ermöglichen, einen optimalen Arbeitsvorgang der Handeinheit 13 sicherer auszuführen.
  • Die oben erwähnten anomalen Daten können entsprechend der folgenden Verfahrensweise erkannt werden: es wird eine Wahrscheinlichkeitsverteilung für Eingabedaten geschätzt, die Wahrscheinlichkeitsverteilung wird verwendet, um die Wahrscheinlichkeit des Auftretens für eine neue Eingabe abzuleiten, und anomale Daten, die beträchtlich von einem typischen Verhalten abweichen, werden als gefunden angesehen, wenn die Wahrscheinlichkeit des Auftretens unterhalb einen vorbestimmten Grenzwert fällt.
  • Ein beispielhafter Arbeitsvorgang der Vorrichtung für maschinelles Lernen 20 des Roboters 10 in dieser Ausführungsform wird nachfolgend beschrieben. Die 4 ist eine Ablaufdiagramm, das einen beispielhaften Arbeitsvorgang der als 1 dargestellten Vorrichtung für maschinelles Lernen darstellt. Wenn, wie als 4 dargestellt, in der als 1 dargestellten Vorrichtung für maschinelles Lernen 20 eine Lernvorgang gestartet wird, dann wird eine dreidimensionale Messung durch die dreidimensionale Messvorrichtung 15 ausgeführt und das Messergebnis wird ausgegeben (Schritt S11 in 4). Mit anderen Worten, im Schritt S11 wird beispielsweise eine dreidimensionale Abbildung (von der dreidimensionalen Messvorrichtung 15 ausgegebene Daten) für jedes Werkstück 12, das in einer willkürlichen Weise, die einen lose aufgeschütteten Zustand umfasst, abgelegt ist, abgerufen und an die Zustandsvariablen-Beobachtungseinheit 21 ausgegeben, und die Koordinaten-Berechnungseinheit 19 empfängt die dreidimensionale Abbildung für jedes Werkstück 12 und berechnet eine dreidimensionale Position (x, y, z) für jedes Werkstück 12 und gibt sie an die Zustandsvariablen-Beobachtungseinheit 21, die Arbeitsvorgangsergebnis-Abrufeinheit 26 und die Steuerung 16 aus. Die Koordinaten-Berechnungseinheit 19 kann basierend auf der Ausgabe der dreidimensionalen Messvorrichtung 15 eine Orientierung (w, p, r) berechnen und ausgeben.
  • Die Ausgabe (dreidimensionale Abbildung) der dreidimensionalen Messvorrichtung 15 kann in die Zustandsvariablen-Beobachtungseinheit 21 über eine Vorverarbeitungseinheit 50 eingegeben werden, die die Ausgabe (dreidimensionale Abbildung) verarbeitet, bevor sie in die Zustandsvariablen-Beobachtungseinheit 21 eingegeben wird, wie später mit Bezug auf 5 beschrieben wird. Nur die Ausgabe der dreidimensionalen Messvorrichtung 15 kann in die Zustandsvariablen-Beobachtungseinheit 21 eingegeben werden und kann auch in die Zustandsvariablen-Beobachtungseinheit 21 über die Vorverarbeitungseinheit 50 eingegeben werden, wie später mit Bezug auf 7 beschrieben wird. Auf diese Weise können Ausführung und Ausgabe der dreidimensionalen Messung in Schritt S11 verschiedene Formen umfassen.
  • Insbesondere beobachtet im Falle von 1 die Zustandsvariablen-Beobachtungseinheit 21 eine dreidimensionale Abbildung für jedes Werkstück 12 von der dreidimensionalen Messvorrichtung 15 und eine Zustandsvariable (von der dreidimensionalen Messvorrichtung 15 ausgegebene Daten), wie die dreidimensionale Position (x, y, z) und Orientierung (w, p, r) für jedes Werkstück 12 von der Koordinaten-Berechnungseinheit 19. Die Arbeitsvorgangsergebnis-Abrufeinheit 26 ruft ein Ergebnis eines Aufnahmevorgangs des Roboters 14 zum Aufnehmen des Werkstücks 12 durch die Handeinheit 13 basierend auf den von der dreidimensionalen Messvorrichtung 15 ausgegeben Daten (den von der Koordinaten-Berechnungseinheit 19 ausgegebenen Daten) ab. Die Arbeitsvorgangsergebnis-Abrufeinheit 26 kann nicht nur die Daten von der dreidimensionalen Messvorrichtung abrufen, sondern auch das Ergebnis des Aufnahmevorgangs, wie den Erreichungsstand beim Weiterleiten des aufgenommenen Werkstücks 12 zu einem Folgeprozess und einem Bruch des aufgenommenen Werkstücks 12.
  • Die Vorrichtung für maschinelles Lernen 20 entscheidet beispielsweise über einen optimalen Arbeitsvorgang basierend auf den von der dreidimensionalen Messvorrichtung 15 ausgegebenen Daten (Schritt S12 in 4), und die Steuerung 16 gibt Befehlsdaten (Stellgrößen) für die Handeinheit 13 (Roboter 14) aus und führt einen Aufnahmevorgang des Werkstücks 12 aus (Schritt S13 in 4). Das Werkstückaufnahmeergebnis wird durch die oben erwähnte Arbeitsvorgangsergebnis-Abrufeinheit 26 abgerufen (Schritt S14 in 4).
  • Es wird dann basierend auf der Ausgabe von der Arbeitsvorgangsergebnis-Abrufeinheit 26 bestimmt, ob das Aufnehmen des Werkstücks 12 zu einem Erfolg oder Misserfolg (Schritt S15 in 4) geführt hat. Wenn das Aufnehmen des Werkstücks 12 zu einem Erfolg geführt hat, wird eine positive Belohnung festgelegt (Schritt S16). Wenn das Aufnehmen des Werkstücks 12 zu einem Misserfolg geführt hat, wird eine negative Belohnung festgelegt (Schritt S17 in 4). Die Aktionswerttabelle (Wertefunktion) wird dann aktualisiert (Schritt S18 in 4).
  • Es kann bestimmt werden, z.B. basierend auf den nach dem Aufnahmevorgang des Werkstücks 12 von der dreidimensionalen Messvorrichtung 15 ausgegebenen Daten, ob das Aufnehmen des Werkstücks 12 zu einem Erfolg oder Misserfolg geführt hat. Die Bestimmung, ob das Aufnehmen des Werkstücks 12 zu einem Erfolg oder Misserfolg geführt hat, ist nicht auf die Bewertung, ob das Aufnehmen des Werkstücks 12 zu einem Erfolg oder Misserfolg geführt hat, beschränkt und kann eine Bewertung z.B. des Erreichungsstands beim Weiterleiten des aufgenommenen Werkstücks 12 zu einem Folgeprozess, dem Auftreten oder Nichtauftreten einer Änderung des Zustands, wie einem Bruch des aufgenommenen Werkstücks 12, oder der Zeit (Taktzeit) oder Energie (Strommenge), die zum Greifen und Transportieren des Werkstücks 12 gebraucht wird, umfassen.
  • Ein Belohnungswert wird durch die Belohnungs-Berechnungseinheit 23 basierend auf der Bestimmung, ob die Aufnahme des Werkstücks 12 zu einem Erfolg oder Misserfolg geführt hat, berechnet, und die Aktionswerttabelle wird durch die Wertefunktion-Aktualisierungseinheit 24 aktualisiert. Mit anderen Worten, wenn das Aufnehmen des Werkstücks 12 zu einem Erfolg geführt hat, legt die Lerneinheit 22 in dem oben erwähnten Aktualisierungsausdruck eine positive Belohnung eines Werts Q(s, a) (Schritt S16) fest; ansonsten legt die Lerneinheit 22 eine negative Belohnung in dem oben erwähnten Aktualisierungsausdruck fest (Schritt S17). Die Lerneinheit 22 aktualisiert die oben erwähnte Aktionswerttabelle jedes Mal, wenn das Werkstück 12 aufgenommen wird (Schritt S18). Die Lerneinheit 22 (lernt) führt das Aktualisieren der Aktionswerttabelle fort, indem die oben erwähnten Schritte S11 bis S18 wiederholt werden.
  • In der vorangehenden Beschreibung sind in die Zustandsvariablen-Beobachtungseinheit 21 eingegebene Daten nicht auf von der dreidimensionalen Messvorrichtung 15 ausgegebene Daten beschränkt sondern können Daten, wie z.B. die Ausgabe von anderen Sensoren, umfassen und es kann sogar ein Teil der Befehlsdaten von der Steuerung 16 verwendet werden. Somit bewirkt die Steuerung 16, dass der Roboter 14 einen Aufnahmevorgang des Werkstücks 12 ausführt, wobei von der Lernvorrichtung 20 ausgegebene Befehlsdaten (Stellgrößen) verwendet werden. Das Lernen durch die Lernvorrichtung 20 ist nicht auf den Aufnahmevorgang des Werkstücks 12 beschränkt und es können beispielsweise Messparameter der dreidimensionalen Messvorrichtung 15 gelernt werden, wie zuvor beschrieben.
  • Wie obenstehend beschrieben kann das die Vorrichtung für maschinelles Lernen 20 umfassende Robotersystem 10 in dieser Ausführungsform einen Arbeitsvorgang des Roboters 14 zum Aufnehmen, durch die Handeinheit 13, eines beliebigen von mehreren Werkstücken, die in einer willkürlichen Weise, die einen lose aufgeschütteten Zustand umfasst, abgelegt sind, lernen. Somit kann das Robotersystem 10 die Auswahl eines optimalen Arbeitsvorgangs des Roboters 14 zum Aufnehmen der lose aufgeschütteten Werkstücke 12 ohne menschliches Eingreifen lernen.
  • Die 5 ist ein Blockdiagramm, das die konzeptionelle Ausgestaltung eines Robotersystems in einer weiteren Ausführungsform der vorliegenden Erfindung zeigt, und stellt ein Robotersystem dar, das überwachtes Lernen verwendet. Wie aus einem zuvor beschriebenen Vergleich von 5 mit 1 offensichtlich ist, wird ein als 5 dargestelltes Robotersystem 10', das überwachtes Lernen verwendet, dadurch bereitgestellt, dass eine ergebnis(label)tragende Datenaufzeichnungseinheit 40 zu dem als 1 dargestellten Robotersystem 10, das Q-Lernen (bestärkendes Lernen) verwendet, hinzugefügt wird. Das als 5 dargestellte Robotersystem 10' umfasst ferner eine Vorverarbeitungseinheit 50, die von der dreidimensionalen Messvorrichtung 15 ausgegebene Daten vorverarbeitet. Die Vorverarbeitungseinheit 50 kann selbstverständlich für das als 2 dargestellte Robotersystem 10 bereitgestellt werden.
  • Eine Vorrichtung für maschinelles Lernen 30 in dem Robotersystem 10', das überwachtes Lernen verwendet, umfasst eine Zustandsvariablen-Beobachtungseinheit 31, eine Arbeitsvorgangsergebnis-Abrufeinheit 36, eine Lerneinheit 32 und eine Entscheidungseinheit 35, wie als 5 dargestellt. Die Lerneinheit 32 umfasst eine Fehlerberechnungseinheit 33 und eine Lernmodell-Aktualisierungseinheit 34. Auch in dem Robotersystem 10' gemäß dieser Ausführungsform lernt die Vorrichtung für maschinelles Lernen 30 Stellgrößen, wie Befehlsdaten zum Anweisen eines Roboters 14, einen Aufnahmevorgang eines Werksstücks 12 auszuführen, oder Messparameter der dreidimensionalen Messvorrichtung 15, und gibt sie aus.
  • Mit anderen Worten, in dem als 5 dargestellten Robotersystem 10', das überwachtes Lernen verwendet, entsprechen die Fehlerberechnungseinheit 33 und die Lernmodell-Aktualisierungseinheit 34 der Belohnungs-Berechnungseinheit 23 beziehungsweise der Wertefunktions-Aktualisierungseinheit 24 in dem als 1 dargestellten Robotersystem 10, das Q-Lernen verwendet. Andere Ausgestaltungen, wie diejenigen der dreidimensionalen Messvorrichtung 15, einer Steuerung 16 und dem Roboter 14 sind dieselben wie die in der zuvor beschriebenen 1, und eine Beschreibung derselben wird nicht gegeben.
  • Die Fehlerberechnungseinheit 33 berechnet den Fehler zwischen dem von der Arbeitsvorgangsergebnis-Beobachtungseinheit 36 ausgegeben Ergebnis (Label) und der Ausgabe eines in der Lerneinheit installierten Lernmodells. Die ergebnis(label)tragende Datenaufzeichnungseinheit 40 kann beispielsweise ergebnis(label)tragende Daten enthalten, die am Tag vor einem vorbestimmten Tag, an dem der Roboter 14 eine Aufgabe ausführt, wenn die Formen der Werkstücke 12 und die Prozesse durch den Roboter 14 unverändert bleiben, abgerufen werden, und die in der ergebnis(label)tragenden Datenaufzeichnungseinheit 40 enthaltenen ergebnis(label)tragenden Daten der Fehlerberechnungseinheit 33 an dem vorbestimmten Tag bereitstellen. Alternativ können z.B. durch eine außerhalb des Robotersystems 10' ausgeführte Simulation abgerufene Daten oder durch ein weiteres Robotersystem abgerufene ergebnis(label)tragende Daten der Fehlerberechnungseinheit 33 des Robotersystems 10' über eine Speicherkarte oder eine Kommunikationslinie bereitgestellt werden. Die ergebnis(label)tragende Datenaufzeichnungseinheit 40 kann sogar in einem nichtflüchtigen Speicher, wie einem Flash-Speicher, realisiert werden und in die Lerneinheit 32 eingebaut werden, sodass die in der ergebnis(label)tragenden Datenaufzeichnungseinheit 40 enthaltenen ergebnis(label)tragenden Daten direkt in der Lerneinheit 32 verwendet werden können.
  • 6 stellt Ansichten zum Erklären einer beispielhaften Verarbeitung einer Vorverarbeitungseinheit in dem als 5 dargestellten Robotersystem dar. 6 stellt in (a) ein Beispiel von Daten der dreidimensionalen Positionen (Orientierungen) mehrerer lose in eine Kiste 11 geschüttete Werkstücke 12, d.h. von der dreidimensionalen Messvorrichtung 15 ausgegebene Daten, und in (b) bis (d) beispielhafte Bilddaten nach dem Vorverarbeiten der in (a) von 6 dargestellten Werkstücke 121 bis 123 dar.
  • Zylindrische Metallteile werden als die Werkstücke 12 (121 bis 123) angenommen, und ein Saugnapf, der beispielsweise die länglichen mittleren Abschnitte der zylindrischen Werkstücke 12 mittels eines Unterdrucks anzieht, anstatt sie mit den zwei Greiferteilen zu greifen, wird als die Hand (13) angenommen. Solange wie beispielsweise die Positionen der länglichen mittleren Abschnitte der Werkstücke 12 bestimmt werden, kann das Werkstück 12 aufgenommen werden, indem der Saugnapf (13) an diese Positionen bewegt wird und das Werkstück 12 durch Ansaugen angezogen wird. Die in (a) bis (d) von 6 verwendeten numerischen Werte stellen die X-, Y- und Z-Richtungen in Einheiten von [mm] dar. Es wird angemerkt, dass die Z-Richtung der Richtung der Höhe (Tiefe) von Bilddaten entspricht, die durch Erfassen der Kiste 11, in der mehrere lose aufgeschüttete Werkstücke 12 untergebracht sind, mittels der über der Kiste 11 befindlichen dreidimensionalen Messvorrichtung 15 (die z.B. zwei Kameras umfasst) erhalten werden.
  • Wie aus einem Vergleich von (b) bis (d) von 6 mit (a) von 6 offensichtlich ist, werden als beispielhaftes Verarbeiten durch die Vorverarbeitungseinheit 50 in dem als 5 dargestellten Robotersystem 10' die Werkstücke 12 von Interesse (z.B. die drei Werkstücke 121 bis 123) basierend auf von der dreidimensionalen Messvorrichtung 15 ausgegebenen Daten (dreidimensionales Bild) gedreht und verarbeitet, um deren Mittenhöhen auf „0“ einzustellen.
  • Mit anderen Worten, die von der dreidimensionalen Messvorrichtung 15 ausgegebenen Daten umfassen z.B. Informationen, die die dreidimensionale Position (x, y, z) und Orientierung (w, p, r) des länglichen mittleren Abschnitts eines jeden Werkstücks 12 anzeigen. In diesem Fall werden die drei Werkstücke 121, 122 und 123 von Interesse um -r gedreht und um z subtrahiert, um alle ihre Zustände zu vereinheitlichen, wie als (b), (c) und (d) von 6 dargestellt. Durch eine solche Vorverarbeitung kann die Belastung der Vorrichtung für maschinelles Lernen 30 reduziert werden.
  • Das als (a) von 6 dargestellte dreidimensionale Bild entspricht nicht den Daten selbst, die von der dreidimensionalen Messvorrichtung 15 ausgegeben werden, sondern z.B. denjenigen, die durch Verringern des Grenzwerts für die Auswahl aus einem Bild erhalten werden, das durch ein herkömmlich realisiertes Programm abgerufen wird, das die Reihenfolge des Aufnehmens der Werkstücke 12 definiert. Diese Verarbeitung selbst kann auch durch die Vorverarbeitungseinheit 50 ausgeführt werden. Eine solche Verarbeitung kann selbstverständlich abhängig von einer Vielzahl von Bedingungen, die z.B. die Formen der Werkstücke 12 und den Typ der Hand 13 umfassen, unterschiedlich variieren.
  • Auf diese Weise gibt die Vorverarbeitungseinheit 50 in die Zustandsvariablen-Beobachtungseinheit 31 von der dreidimensionalen Messvorrichtung 15 ausgegebene Daten (ein dreidimensionale Abbildung für jedes Werkstück 12) ein, die verarbeitet werden, bevor sie in die Zustandsvariablen-Beobachtungseinheit 31 eingegeben werden. Wenn mit Bezug wiederum auf 5 beispielsweise gilt, dass y die Ausgabe des als 3 dargestellten neuralen Netzwerks als ein Lernmodell ist, dann bestimmt die Fehlerberechnungseinheit 33, die ein von der Arbeitsvorgangsergebnis-Abrufeinheit 36 ausgegebenes Ergebnis (Label) empfängt, dass ein Fehler -log(y) vorhanden ist, wenn der aktuelle Aufnahmevorgang des Werkstücks zu einem Erfolg geführt hat und dass ein Fehler -log(1-y) vorhanden ist, wenn dieser Arbeitsvorgang zu einem Misserfolg geführt hat, und führt eine Verarbeitung aus, die darauf abzielt, den Fehler zu minimieren. Als eine Eingabe in das als 3 dargestellte neurale Netzwerk werden beispielsweise Bilddaten der Werkstücke 121 bis 123 von Interesse nach der Vorverarbeitung, wie als (b) bis (d) von 6 dargestellt, und Daten der dreidimensionalen Position und Orientierung (x, y, z, w, p, r) für jedes der Werkstücke 121 bis 123 bereitgestellt.
  • 7 ist ein Blockdiagramm, das eine Modifikation des als 1 dargestellten Robotersystems darstellt. Wie aus einem Vergleich von 7 mit 1 offensichtlich ist, wird bei der Modifikation des als 7 dargestellten Robotersystems 10 auf die Koordinaten-Berechnungseinheit 19 verzichtet, und die Zustandsvariablen-Beobachtungseinheit 21 beobachtet die Zustandsvariable des Roboters 14 bei Empfangen von nur einer dreidimensionalen Abbildung von der dreidimensionalen Messvorrichtung 15. Es ist jedoch anzumerken, dass die Steuerung 16 natürlich mit einer Ausgestaltung ausgestattet sein kann, die der Koordinaten-Berechnungseinheit 19 entspricht. Die als 7 dargestellte Ausgestaltung kann ebenfalls z.B. auf das Robotersystem 10' angewendet werden, das das zuvor mit Bezug auf 5 beschriebene überwachte Lernen verwendet. Mit anderen Worten, in dem als 5 dargestellten Robotersystem 10' kann auf die Vorverarbeitungseinheit 50 verzichtet werden, und die Zustandsvariablen-Beobachtungseinheit 31 kann die Zustandsvariable des Roboters 14 bei Empfang von nur einer dreidimensionalen Abbildung von der dreidimensionalen Messvorrichtung 15 beobachten. Auf diese Weise können verschiedene Änderungen und Modifikationen an den oben beschriebenen Ausführungsformen gemacht werden.
  • Wie obenstehend ausführlich beschrieben wurde, ist es gemäß dieser Ausführungsform möglich, eine Vorrichtung für maschinelles Lernen, ein Robotersystem und ein maschinelles Lernverfahren bereitzustellen, die einen optimalen Arbeitsvorgang eines Roboters beim Aufnehmen von Werkstücken, die in einer willkürlicher Weise, die einen lose aufgeschütteten Zustand umfasst, abgelegt sind, ohne menschliches Eingreifen lernt. Die Vorrichtungen für maschinelles Lernen 20 und 30 in der vorliegenden Erfindung sind nicht auf diejenigen beschränkt, die bestärkendes Lernen (z.B. Q-Lernen) oder überwachtes Lernen verwenden, und es sind verschiedene maschinelle Lernalgorithmen anwendbar.
  • Die Vorrichtung für maschinelles Lernen, das Robotersystem und das maschinelle Lernverfahren gemäß der vorliegenden Erfindung haben eine vorteilhafte Wirkung des Lernens, ohne menschlichen Eingriff, eines optimalen Arbeitsvorgangs eines Roboters beim Aufnehmen von Werkstücken, die in einer willkürlicher Weise, die einen lose aufgeschütteten Zustand umfasst, abgelegt sind.

Claims (19)

  1. Vorrichtung für maschinelles Lernen, die einen Arbeitsvorgang eines Roboters (14) zum Aufnehmen, durch eine Handeinheit (13), eines beliebigen von mehreren Werkstücken (12) lernt, wobei die Vorrichtung umfasst: eine Zustandsvariablen-Beobachtungseinheit (21), die eine Zustandsvariable beobachtet, welche Positionsinformation für jedes der mehreren Werkstücke (12) umfasst; eine Arbeitsvorgangsergebnis-Abrufeinheit (26), die ein Ergebnis eines Aufnahmevorgangs des Roboters (14) zum Aufnehmen eines Werkstücks (12) durch die Handeinheit (13) abruft; eine Lerneinheit (22), die eine Wertefunktion umfasst, welche einen Wert des Aufnahmevorgangs des Roboters (14) beschreibt; und eine Entscheidungseinheit (25, 35), die über Befehlsdaten zum Anweisen des Roboters (14) zum Durchführen eines Aufnahmevorgangs eines anderen Werkstücks (12) entscheidet, indem sie sich auf die Wertefunktion und die Zustandsvariable bezieht, wobei die Lerneinheit (22) umfasst: eine Belohnungs-Berechnungseinheit (23), die basierend auf der Ausgabe der Arbeitsvorgangsergebnis-Abrufeinheit (26) eine Belohnung berechnet; und eine Wertefunktions-Aktualisierungseinheit (24), welche die Wertefunktion entsprechend der Belohnung aktualisiert.
  2. Vorrichtung für maschinelles Lernen nach Anspruch 1, ferner umfassend: ein neurales Netzwerk, das als Wertefunktion verwendet wird.
  3. Vorrichtung zum maschinellen Lernen, die einen Arbeitsvorgang eines Roboters (14) zum Aufnehmen, durch eine Handeinheit (13), eines beliebigen von mehreren Werkstücken (12) lernt, wobei die Vorrichtung umfasst: eine Zustandsvariablen-Beobachtungseinheit (31), die eine Zustandsvariable beobachtet, welche Positionsinformation für jedes der mehreren Werkstücke (12)umfasst; eine Arbeitsvorgangsergebnis-Abrufeinheit (36), die ein Ergebnis eines Aufnahmevorgangs des Roboters (14) zum Aufnehmen eines Werkstücks (12) durch die Handeinheit (13) abruft; und eine Lerneinheit (22, 32), die ein Lernmodell zum Lernen eines Aufnahmevorgangs des Roboters (14) umfasst; und eine Entscheidungseinheit (25, 35), die über Befehlsdaten zum Anweisen des Roboters (14) zum Durchführen eines Aufnahmevorgangs eines anderen Werkstücks (12) entscheidet, indem sie sich auf das Lernmodell und die Zustandsvariable bezieht, wobei die Lerneinheit (22) umfasst: eine Fehlerberechnungseinheit (33), die basierend auf der Ausgabe der Arbeitsvorgangsergebnis-Abrufeinheit (36) und einer Ausgabe des Lernmodells einen Fehler berechnet; und eine Lernmodell-Aktualisierungseinheit (34), welche das Lernmodell entsprechend des Fehlers aktualisiert.
  4. Die Vorrichtung für maschinelles Lernen nach Anspruch 3, ferner umfassend: ein neurales Netzwerk, das als das Lernmodell verwendet wird.
  5. Vorrichtung zum maschinellen Lernen nach einem der Ansprüche 1 bis 4, wobei die Befehlsdaten Information in Bezug auf zumindest eines von einer Position, einer Orientierung oder einer Aufnahmerichtung der Handeinheit (13) umfassen.
  6. Vorrichtung zum maschinellen Lernen nach einem der Ansprüche 1 bis 5, wobei die Zustandsvariable Information in Bezug auf zumindest eines von einer Position, einer Orientierung oder einer Aufnahmerichtung der Handeinheit (13) umfasst.
  7. Vorrichtung zum maschinellen Lernen nach einem der Ansprüche 1 bis 6, wobei die Positionsinformation von einer dreidimensionalen Messvorrichtung (15) gemessen ist.
  8. Vorrichtung zum maschinellen Lernen nach Anspruch 7, wobei die Entscheidungseinheit (25, 35) über die Befehlsdaten entscheidet, die einen Messparameter der dreidimensionalen Messvorrichtung (15) umfassen.
  9. Vorrichtung für maschinelles Lernen nach Anspruch 7, wobei die Zustandsvariablen-Beobachtungseinheit (21, 31) ferner eine Zustandsvariable des Roboters (14) beobachtet, die Ausgabedaten von einer Koordinaten-Berechnungseinheit (19) umfasst, die eine dreidimensionale Position jedes der mehreren Werkstücke (12) basierend auf den Ausgabedaten der dreidimensionalen Messvorrichtung (15) berechnet.
  10. Vorrichtung für maschinelles Lernen nach Anspruch 9, wobei die Koordinaten-Berechnungseinheit (19) ferner eine Orientierung jedes der mehreren Werkstücke (12) berechnet.
  11. Vorrichtung für maschinelles Lernen nach Anspruch 7, wobei die Arbeitsvorgangsergebnis-Abrufeinheit (26, 36) die von der dreidimensionalen Messvorrichtung (15) ausgegebenen Daten nutzt.
  12. Vorrichtung für maschinelles Lernen nach Anspruch 7, ferner umfassend: eine Vorverarbeitungseinheit (50), die die Ausgabedaten von der dreidimensionalen Messvorrichtung (15) verarbeitet, wobei die Zustandsvariablen-Beobachtungseinheit (21, 31) von der Vorverarbeitungseinheit (50) ausgegebene Daten als die Zustandsvariable empfängt.
  13. Vorrichtung für maschinelles Lernen nach Anspruch 12, wobei die Vorverarbeitungseinheit (50) ferner jedes der mehreren Werkstücke (12) in Richtung und Höhe in den Ausgabedaten von der dreidimensionalen Messvorrichtung (15) vereinheitlicht.
  14. Vorrichtung für maschinelles Lernen nach einem der Ansprüche 1 bis 13, wobei die Arbeitsvorgangsergebnis-Abrufeinheit (26, 36) ferner Information abruft, die zumindest eines von einem Erfolg und einem Misserfolg beim Aufnehmen des Werkstücks (12), einem Zustand der Beschädigung des Werkstücks (12) und einem Erreichungsstand beim Weiterleiten des aufgenommenen Werkstücks (12) zu einem Folgeprozess anzeigt.
  15. Robotersystem (10, 10'), die Vorrichtung für maschinelles Lernen (20, 30) nach Anspruch 7 umfassend, wobei das System ferner umfasst: den Roboter (14); die dreidimensionale Messvorrichtung (15); und eine Steuerung (16), die selbstständig den Roboter (14) und die dreidimensionale Messvorrichtung (15) steuert.
  16. Robotersystem nach Anspruch 15, wobei das Robotersystem (10, 10') mehrere Roboter (14) und mehrere Vorrichtungen für maschinelles Lernen (20, 30) umfasst, jede der Vorrichtungen für maschinelles Lernen (20, 30) für einen zugehörigen Roboter (14) von den mehreren Robotern (14) bereitgestellt ist, und die mehreren den mehreren Robotern (14) bereitgestellten Vorrichtungen für maschinelles Lernen (20, 30) dazu eingerichtet sind, Daten gemeinsam zu nutzen oder über ein Kommunikationsmedium miteinander auszutauschen.
  17. Robotersystem nach Anspruch 15, wobei sich die Vorrichtung für maschinelles Lernen (20, 30) auf einem Cloud-Server befindet.
  18. Maschinelles Lernverfahren zum Lernen eines Arbeitsvorgangs eines Roboters (14) zum Aufnehmen, durch eine Handeinheit (13), eines beliebigen von mehreren Werkstücken (12), wobei das Verfahren umfasst: Beobachten einer Zustandsvariablen, die Positionsinformation für jedes der mehreren Werkstücke (12) umfasst; Abrufen eines Ergebnisses des Aufnahmevorgangs des Roboters (14) zum Aufnehmen eines Werkstücks (12) durch die Handeinheit (13); Aktualisieren einer Wertefunktion, welche einen Wert des Aufnahmevorgangs des Roboters (14) beschreibt; und Entscheiden über Befehlsdaten zum Anweisen des Roboters (14) zum Durchführen eines Aufnahmevorgangs eines anderen Werkstücks (12) durch Bezugnehmen auf die Wertefunktion und die Zustandsvariable, wobei das Aktualisieren der Wertefunktion umfasst: Berechnen einer Belohnung auf der Grundlage des Ergebnisses des Aufnahmevorgangs zum Aufnehmen des Werkstücks (12) durch die Handeinheit (13); und Aktualisieren der Wertefunktion in Übereinstimmung mit der Belohnung.
  19. Maschinelles Lernverfahren zum Lernen eines Arbeitsvorgangs eines Roboters (14) zum Aufnehmen, durch eine Handeinheit (13), eines beliebigen von mehreren Werkstücken (12), wobei das Verfahren umfasst: Beobachten einer Zustandsvariablen, die Positionsinformation für jedes der mehreren Werkstücke (12) umfasst; Abrufen eines Ergebnisses eines Aufnahmevorgangs des Roboters (14) zum Aufnehmen eines Werkstücks (12) durch die Handeinheit (13); Lernen eines Lernmodells für einen Aufnahmevorgang des Roboters (14); und Entscheiden über Befehlsdaten zum Anweisen des Roboters (14) zum Durchführen eines Aufnahmevorgangs eines anderen Werkstücks (12) durch Bezugnehmen auf das Lernmodell und die Zustandsvariable, wobei das Lernen des Lernmodells umfasst: Berechnen eines Fehlers auf der Grundlage des Ergebnisses des Aufnahmevorgangs zum Aufnehmen des Werkstücks (12) durch die Handeinheit (13); und Aktualisieren des Lernmodells in Übereinstimmung mit dem Fehler.
DE102016009030.8A 2015-07-31 2016-07-26 Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs Active DE102016009030B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2015152067 2015-07-31
JP2015-152067 2015-07-31
JP2015-233857 2015-11-30
JP2015233857A JP6522488B2 (ja) 2015-07-31 2015-11-30 ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法

Publications (2)

Publication Number Publication Date
DE102016009030A1 DE102016009030A1 (de) 2017-02-02
DE102016009030B4 true DE102016009030B4 (de) 2019-05-09

Family

ID=57795973

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016009030.8A Active DE102016009030B4 (de) 2015-07-31 2016-07-26 Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs

Country Status (2)

Country Link
US (3) US10717196B2 (de)
DE (1) DE102016009030B4 (de)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020113277A1 (de) 2020-05-15 2021-11-18 Gerhard Schubert Gesellschaft mit beschränkter Haftung Verfahren zum Erzeugen eines Trainingsdatensatzes zum Trainieren eines Industrieroboters
DE102020113278A1 (de) 2020-05-15 2021-11-18 Gerhard Schubert Gesellschaft mit beschränkter Haftung Verfahren zur Steuerung des Betriebs eines Industrieroboters
DE102020212658A1 (de) 2020-10-07 2022-04-07 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102020127508B4 (de) 2019-10-24 2022-09-08 Nvidia Corporation Posenverfolgung von Objekten in der Hand
US11845194B2 (en) 2017-09-25 2023-12-19 Fanuc Corporation Robot system and workpiece picking method

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140005640A1 (en) 2012-06-28 2014-01-02 Ethicon Endo-Surgery, Inc. Surgical end effector jaw and electrode configurations
JP6240689B2 (ja) 2015-07-31 2017-11-29 ファナック株式会社 人の行動パターンを学習する機械学習装置、ロボット制御装置、ロボットシステム、および機械学習方法
DE102016009030B4 (de) * 2015-07-31 2019-05-09 Fanuc Corporation Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
US10937168B2 (en) 2015-11-02 2021-03-02 Cognex Corporation System and method for finding and classifying lines in an image with a vision system
DE102016120775A1 (de) 2015-11-02 2017-05-04 Cognex Corporation System und Verfahren zum Erkennen von Linien in einem Bild mit einem Sichtsystem
JP6333871B2 (ja) * 2016-02-25 2018-05-30 ファナック株式会社 入力画像から検出した対象物を表示する画像処理装置
WO2018017612A1 (en) 2016-07-18 2018-01-25 Lael Odhner Training robotic manipulators
JP6706173B2 (ja) * 2016-08-09 2020-06-03 株式会社日立製作所 制御装置、制御方法、および制御プログラム
US10416629B1 (en) * 2016-11-21 2019-09-17 X Development Llc Acoustic contact sensors
JP6534126B2 (ja) * 2016-11-22 2019-06-26 パナソニックIpマネジメント株式会社 ピッキングシステム及びその制御方法
WO2018100676A1 (ja) * 2016-11-30 2018-06-07 株式会社オプティム カメラ制御システム、カメラ制御方法、およびプログラム
JP2018126796A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
JP2018126798A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
JP2018126799A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
JP2018126797A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
JP6453922B2 (ja) * 2017-02-06 2019-01-16 ファナック株式会社 ワークの取り出し動作を改善するワーク取り出し装置およびワーク取り出し方法
JP6490124B2 (ja) * 2017-03-07 2019-03-27 ファナック株式会社 レーザ加工装置および機械学習装置
JP6542824B2 (ja) * 2017-03-13 2019-07-10 ファナック株式会社 入力画像から検出した対象物の像の尤度を計算する画像処理装置および画像処理方法
JP6603257B2 (ja) * 2017-03-31 2019-11-06 ファナック株式会社 行動情報学習装置、管理装置、ロボット制御システム及び行動情報学習方法
JP6490132B2 (ja) 2017-03-31 2019-03-27 ファナック株式会社 ロボットの制御装置、機械学習装置及び機械学習方法
CN110621451B (zh) 2017-04-04 2021-07-06 牧今科技 信息处理装置、拾取系统、物流系统、程序以及信息处理方法
CN110494257B (zh) * 2017-04-04 2020-12-18 牧今科技 控制装置、拾取系统、物流系统、程序、控制方法以及生产方法
CN115385039A (zh) * 2017-04-04 2022-11-25 牧今科技 控制装置、信息处理装置、控制方法以及信息处理方法
CN110494259B (zh) * 2017-04-04 2020-11-10 牧今科技 控制装置、拾取系统、物流系统、程序、控制方法以及生产方法
DE112017007398B4 (de) * 2017-04-04 2021-11-18 Mujin, Inc. Steuervorrichtung, Greifsystem, Verteilersystem, Programm und Steuerverfahren
JP6514260B2 (ja) * 2017-04-13 2019-05-15 ファナック株式会社 制御装置及び機械学習装置
JP6526100B2 (ja) 2017-04-28 2019-06-05 ファナック株式会社 物品取出システム
JP6546618B2 (ja) * 2017-05-31 2019-07-17 株式会社Preferred Networks 学習装置、学習方法、学習モデル、検出装置及び把持システム
JP6542839B2 (ja) * 2017-06-07 2019-07-10 ファナック株式会社 制御装置及び機械学習装置
JP6886869B2 (ja) * 2017-06-09 2021-06-16 川崎重工業株式会社 動作予測システム及び動作予測方法
JP6577527B2 (ja) 2017-06-15 2019-09-18 ファナック株式会社 学習装置、制御装置及び制御システム
JP6564426B2 (ja) * 2017-07-07 2019-08-21 ファナック株式会社 部品供給装置及び機械学習装置
US11117262B2 (en) 2017-08-01 2021-09-14 eBots Inc. Intelligent robots
JP6691077B2 (ja) * 2017-08-18 2020-04-28 ファナック株式会社 制御装置及び機械学習装置
JP6680732B2 (ja) 2017-08-23 2020-04-15 ファナック株式会社 物品積み付け装置及び機械学習装置
US11446816B2 (en) * 2017-09-01 2022-09-20 The Regents Of The University Of California Robotic systems and methods for robustly grasping and targeting objects
EP3456485B1 (de) * 2017-09-15 2021-02-17 Siemens Aktiengesellschaft Optimieren eines automatisierten vorganges zum auswählen und greifen eines objektes durch einen roboter
JP6626057B2 (ja) * 2017-09-27 2019-12-25 ファナック株式会社 検査装置及び検査システム
JP6579498B2 (ja) * 2017-10-20 2019-09-25 株式会社安川電機 自動化装置及び位置検出装置
DE102017010676A1 (de) * 2017-11-17 2019-05-23 Kuka Deutschland Gmbh Qualitätssicherung eines Prozesses
DE102017010678B4 (de) * 2017-11-17 2021-07-01 Kuka Deutschland Gmbh Verfahren und System zum Vorgeben eines Beaufschlagungsmuster-Befehls-Lexikons zur Eingabe wenigstens eines Roboterbefehls
JP6676030B2 (ja) 2017-11-20 2020-04-08 株式会社安川電機 把持システム、学習装置、把持方法、及び、モデルの製造方法
JP6680750B2 (ja) * 2017-11-22 2020-04-15 ファナック株式会社 制御装置及び機械学習装置
US10828778B2 (en) * 2017-11-30 2020-11-10 Abb Schweiz Ag Method for operating a robot
JP6892400B2 (ja) * 2018-01-30 2021-06-23 ファナック株式会社 レーザ装置の故障発生メカニズムを学習する機械学習装置
JP6703020B2 (ja) 2018-02-09 2020-06-03 ファナック株式会社 制御装置及び機械学習装置
JP6874712B2 (ja) * 2018-02-19 2021-05-19 オムロン株式会社 シミュレーション装置、シミュレーション方法及びシミュレーションプログラム
JP6879238B2 (ja) * 2018-03-13 2021-06-02 オムロン株式会社 ワークピッキング装置及びワークピッキング方法
US20190291270A1 (en) * 2018-03-20 2019-09-26 Fanuc Corporation Controller, machine learning device, and system
SE543130C2 (en) 2018-04-22 2020-10-13 Zenrobotics Oy A waste sorting robot gripper
US11014231B2 (en) * 2018-05-03 2021-05-25 Fujitsu Limited Robotic device task learning
SE544741C2 (en) 2018-05-11 2022-11-01 Genie Ind Bv Waste Sorting Gantry Robot and associated method
CN112203812B (zh) * 2018-05-25 2023-05-16 川崎重工业株式会社 机器人系统及追加学习方法
JP7102241B2 (ja) * 2018-06-14 2022-07-19 ヤマハ発動機株式会社 機械学習装置及びこれを備えたロボットシステム
CN112218748B (zh) * 2018-06-14 2023-09-05 雅马哈发动机株式会社 机器人系统
CN112135719B (zh) * 2018-06-14 2023-08-22 雅马哈发动机株式会社 机器学习装置以及具备该机器学习装置的机器人系统
DE102018211044A1 (de) * 2018-07-04 2020-01-09 Kuka Deutschland Gmbh Verfahren und System zum Analysieren und/oder Konfigurieren einer industriellen Anlage
JP7031540B2 (ja) 2018-09-07 2022-03-08 オムロン株式会社 対象物認識装置、マニピュレータ、および移動ロボット
JP6904327B2 (ja) * 2018-11-30 2021-07-14 オムロン株式会社 制御装置、制御方法、及び制御プログラム
JP7000359B2 (ja) 2019-01-16 2022-01-19 ファナック株式会社 判定装置
JP2020166371A (ja) * 2019-03-28 2020-10-08 セイコーエプソン株式会社 情報処理方法、情報処理装置、物体検出装置およびロボットシステム
US11185980B2 (en) * 2019-04-16 2021-11-30 Abb Schweiz Ag Machine learning-based systems and methods for controlling robotic object picking and placement in training and run time environments
US11413102B2 (en) 2019-06-27 2022-08-16 Cilag Gmbh International Multi-access port for surgical robotic systems
US11723729B2 (en) 2019-06-27 2023-08-15 Cilag Gmbh International Robotic surgical assembly coupling safety mechanisms
US11547468B2 (en) 2019-06-27 2023-01-10 Cilag Gmbh International Robotic surgical system with safety and cooperative sensing control
US11607278B2 (en) 2019-06-27 2023-03-21 Cilag Gmbh International Cooperative robotic surgical systems
US11612445B2 (en) 2019-06-27 2023-03-28 Cilag Gmbh International Cooperative operation of robotic arms
US11399906B2 (en) 2019-06-27 2022-08-02 Cilag Gmbh International Robotic surgical system for controlling close operation of end-effectors
US11648674B2 (en) * 2019-07-23 2023-05-16 Teradyne, Inc. System and method for robotic bin picking using advanced scanning techniques
JP7415356B2 (ja) * 2019-07-29 2024-01-17 セイコーエプソン株式会社 プログラム移送システムおよびロボットシステム
DE102019121889B3 (de) * 2019-08-14 2020-11-19 Robominds GmbH Automatisierungssystem und Verfahren zur Handhabung von Produkten
JP7295421B2 (ja) * 2019-08-22 2023-06-21 オムロン株式会社 制御装置及び制御方法
WO2021039995A1 (ja) 2019-08-28 2021-03-04 株式会社DailyColor ロボット制御装置
JP7021158B2 (ja) * 2019-09-04 2022-02-16 株式会社東芝 ロボットシステムおよび駆動方法
CN110497415B (zh) * 2019-09-05 2021-05-28 首都师范大学 一种基于干扰观测器的多机械臂系统的一致控制方法
JP7458741B2 (ja) * 2019-10-21 2024-04-01 キヤノン株式会社 ロボット制御装置及びその制御方法及びプログラム
US11839986B2 (en) * 2019-10-25 2023-12-12 Ocado Innovation Limited Systems and methods for active perception and coordination between robotic vision systems and manipulators
US11814248B2 (en) 2021-02-23 2023-11-14 Intelligrated Headquarters, Llc Methods, apparatuses, and systems for automatically detecting objects within a conveyor zone
US11931026B2 (en) 2021-06-30 2024-03-19 Cilag Gmbh International Staple cartridge replacement
US11974829B2 (en) 2021-06-30 2024-05-07 Cilag Gmbh International Link-driven articulation device for a surgical device
CN114125416B (zh) * 2021-10-13 2024-03-19 厦门微图软件科技有限公司 一种基于机器学习与深度学习的三维检测平台软件及装置
CN116312147B (zh) * 2023-05-11 2023-07-21 深圳市亚博智能科技有限公司 基于教学机器人的编程教学方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2670397B2 (ja) * 1990-10-05 1997-10-29 ブル・エイチエヌ・インフォメーション・システムズ・インコーポレーテッド 競合最小化プロセッサおよびシステム・バス・システム
EP1518648A2 (de) 2003-09-29 2005-03-30 Fanuc Ltd Robotisches System mit Mitteln zur Wiedergabe eines Alarmzustandes
EP1589483A2 (de) 2004-04-23 2005-10-26 Fanuc Ltd System zum Greifen von Objekten
US20120158180A1 (en) 2010-12-15 2012-06-21 Canon Kabushiki Kaisha Object gripping apparatus, method of controlling the same and storage medium
JP2012135820A (ja) 2010-12-24 2012-07-19 Ihi Corp 自動ピッキング装置及び自動ピッキング方法
JP2013052490A (ja) 2011-09-06 2013-03-21 Mitsubishi Electric Corp ワーク取り出し装置
JP5642738B2 (ja) 2012-07-26 2014-12-17 ファナック株式会社 バラ積みされた物品をロボットで取出す装置及び方法
US20150039129A1 (en) 2013-07-31 2015-02-05 Kabushiki Kaisha Yaskawa Denki Robot system and product manufacturing method
JP5670397B2 (ja) 2012-08-29 2015-02-18 ファナック株式会社 バラ積みされた物品をロボットで取出す装置及び方法

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3940110A (en) 1974-04-12 1976-02-24 Kenro Motoda Lifting apparatus
US5172253A (en) 1990-06-21 1992-12-15 Inernational Business Machines Corporation Neural network model for reaching a goal state
JPH0588721A (ja) 1991-09-30 1993-04-09 Fujitsu Ltd 関節型ロボツトの制御装置
US5333210A (en) * 1992-07-02 1994-07-26 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Method and system for pattern analysis using a coarse-coded neural network
JPH06106490A (ja) 1992-09-29 1994-04-19 Fujitsu Ltd 制御装置
JPH06203166A (ja) 1993-01-06 1994-07-22 Fujitsu Ltd 多次元位置測定,制御装置,及び、学習方法
US5865426A (en) 1996-03-27 1999-02-02 Kazerooni; Homayoon Human power amplifier for vertical maneuvers
DE69716018T2 (de) 1996-12-16 2003-02-06 Sankyo Seiki Seisakusho Kk Verfahren und Steuerungsgerät zur Steuerung einer Krafthilfeeinrichtung
US6353814B1 (en) 1997-10-08 2002-03-05 Michigan State University Developmental learning machine and method
JP3211186B2 (ja) 1997-12-15 2001-09-25 オムロン株式会社 ロボット、ロボットシステム、ロボットの学習方法、ロボットシステムの学習方法および記録媒体
US6272396B1 (en) 1998-02-20 2001-08-07 Tairob Industrial Technology Ltd. Method for applying knowledge from a skilled worker via a master expert machine to a slave expert machine for repetitive tasks
JPH11272845A (ja) 1998-03-23 1999-10-08 Denso Corp 画像認識装置
JP3504507B2 (ja) 1998-09-17 2004-03-08 トヨタ自動車株式会社 適切反力付与型作業補助装置
JP3859371B2 (ja) 1998-09-25 2006-12-20 松下電工株式会社 ピッキング装置
WO2004103651A1 (ja) 1999-06-01 2004-12-02 Hirohiko Arai 物体協調運搬ロボットの制御方法及びその装置
US6204619B1 (en) 1999-10-04 2001-03-20 Daimlerchrysler Corporation Dynamic control algorithm and program for power-assisted lift device
JP3188953B2 (ja) 1999-10-13 2001-07-16 経済産業省産業技術総合研究所長 パワーアシスト装置およびその制御方法
WO2001072478A1 (fr) 2000-03-31 2001-10-04 Sony Corporation Dispositif robotique, procede de commande de l'action du dispositif robotique, dispositif de detection de force exterieure, et procede de detection de force exterieure
US6925357B2 (en) 2002-07-25 2005-08-02 Intouch Health, Inc. Medical tele-robotic system
EP1484716A1 (de) 2003-06-06 2004-12-08 Sony France S.A. Eine Architektur für selbstentwickelnde Einheiten
JP2005118959A (ja) 2003-10-17 2005-05-12 Toyoda Mach Works Ltd 作業支援装置、作業支援方法、位置決め作業支援装置およびパワーアシスト作業支援装置
JP4630553B2 (ja) 2004-01-15 2011-02-09 ソニー株式会社 動的制御装置および動的制御装置を用いた2足歩行移動体
US20060293617A1 (en) 2004-02-05 2006-12-28 Reability Inc. Methods and apparatuses for rehabilitation and training
JP2005238422A (ja) 2004-02-27 2005-09-08 Sony Corp ロボット装置、並びにその状態遷移モデル構築方法及び行動制御方法
JP5052013B2 (ja) 2005-03-17 2012-10-17 ソニー株式会社 ロボット装置及びその制御方法
JP4746349B2 (ja) 2005-05-18 2011-08-10 日本電信電話株式会社 ロボット行動選択装置及びロボット行動選択方法
JP4153528B2 (ja) * 2006-03-10 2008-09-24 ファナック株式会社 ロボットシミュレーションのための装置、プログラム、記録媒体及び方法
JP2007280054A (ja) 2006-04-06 2007-10-25 Sony Corp 学習装置および学習方法、並びにプログラム
JP4199264B2 (ja) 2006-05-29 2008-12-17 ファナック株式会社 ワーク取り出し装置及び方法
JP4238256B2 (ja) * 2006-06-06 2009-03-18 ファナック株式会社 ロボットシミュレーション装置
CN101646534B (zh) 2007-06-27 2012-03-21 松下电器产业株式会社 机器手控制装置及控制方法、机器人
WO2009004772A1 (ja) 2007-07-05 2009-01-08 Panasonic Corporation ロボットアームの制御装置及び制御方法、ロボット、及び制御プログラム
US7957583B2 (en) * 2007-08-02 2011-06-07 Roboticvisiontech Llc System and method of three-dimensional pose estimation
JP5152780B2 (ja) 2007-09-06 2013-02-27 国立大学法人 筑波大学 関数近似装置、強化学習システム、関数近似システムおよび関数近似プログラム
JP2009262279A (ja) 2008-04-25 2009-11-12 Nec Corp ロボット、ロボットプログラム共有システム、ロボットプログラム共有方法およびプログラム
JP4565023B2 (ja) * 2008-07-04 2010-10-20 ファナック株式会社 物品取り出し装置
JP2010086405A (ja) 2008-10-01 2010-04-15 Fuji Heavy Ind Ltd 制御パラメータの適合化システム
US8559699B2 (en) * 2008-10-10 2013-10-15 Roboticvisiontech Llc Methods and apparatus to facilitate operations in image based systems
JP5330138B2 (ja) 2008-11-04 2013-10-30 本田技研工業株式会社 強化学習システム
JP4568795B2 (ja) 2009-01-09 2010-10-27 パナソニック株式会社 ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、並びに、集積電子回路
EP2249292A1 (de) 2009-04-03 2010-11-10 Siemens Aktiengesellschaft Entscheidungsfindungsmechanismus, Verfahren, Modul und Roboter, der darauf konfiguriert ist, auf Grundlage mindestens einer perspektivischen Aktion des Roboters eine Entscheidung zu fällen
JP5528214B2 (ja) 2010-05-28 2014-06-25 本田技研工業株式会社 学習制御システム及び学習制御方法
FI20105732A0 (fi) 2010-06-24 2010-06-24 Zenrobotics Oy Menetelmä fyysisten kappaleiden valitsemiseksi robottijärjestelmässä
JP5750657B2 (ja) 2011-03-30 2015-07-22 株式会社国際電気通信基礎技術研究所 強化学習装置、制御装置、および強化学習方法
US20150127154A1 (en) 2011-06-02 2015-05-07 Brain Corporation Reduced degree of freedom robotic controller apparatus and methods
JP2013180369A (ja) 2012-03-01 2013-09-12 Ihi Corp 適応性機械
US9308645B2 (en) 2012-03-21 2016-04-12 GM Global Technology Operations LLC Method of inferring intentions of an operator to move a robotic system
US8965580B2 (en) 2012-06-21 2015-02-24 Rethink Robotics, Inc. Training and operating industrial robots
JP2014081863A (ja) 2012-10-18 2014-05-08 Sony Corp 情報処理装置、情報処理方法、及び、プログラム
JP5968259B2 (ja) 2013-04-11 2016-08-10 日本電信電話株式会社 線形モデルに基づく強化学習方法とその装置とプログラム
WO2015037165A1 (ja) 2013-09-12 2015-03-19 日本電気株式会社 情報処理装置、予測制御方法及び記録媒体
US9679258B2 (en) 2013-10-08 2017-06-13 Google Inc. Methods and apparatus for reinforcement learning
JP5902664B2 (ja) 2013-12-25 2016-04-13 ファナック株式会社 保護部材を有する人協調型産業用ロボット
CN103753557B (zh) 2014-02-14 2015-06-17 上海创绘机器人科技有限公司 移动式倒立摆系统的自平衡控制方法及自平衡车智能控制系统
DE102016009030B4 (de) * 2015-07-31 2019-05-09 Fanuc Corporation Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2670397B2 (ja) * 1990-10-05 1997-10-29 ブル・エイチエヌ・インフォメーション・システムズ・インコーポレーテッド 競合最小化プロセッサおよびシステム・バス・システム
EP1518648A2 (de) 2003-09-29 2005-03-30 Fanuc Ltd Robotisches System mit Mitteln zur Wiedergabe eines Alarmzustandes
EP1589483A2 (de) 2004-04-23 2005-10-26 Fanuc Ltd System zum Greifen von Objekten
US20120158180A1 (en) 2010-12-15 2012-06-21 Canon Kabushiki Kaisha Object gripping apparatus, method of controlling the same and storage medium
JP2012135820A (ja) 2010-12-24 2012-07-19 Ihi Corp 自動ピッキング装置及び自動ピッキング方法
JP2013052490A (ja) 2011-09-06 2013-03-21 Mitsubishi Electric Corp ワーク取り出し装置
JP5642738B2 (ja) 2012-07-26 2014-12-17 ファナック株式会社 バラ積みされた物品をロボットで取出す装置及び方法
JP5670397B2 (ja) 2012-08-29 2015-02-18 ファナック株式会社 バラ積みされた物品をロボットで取出す装置及び方法
US20150039129A1 (en) 2013-07-31 2015-02-05 Kabushiki Kaisha Yaskawa Denki Robot system and product manufacturing method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11845194B2 (en) 2017-09-25 2023-12-19 Fanuc Corporation Robot system and workpiece picking method
DE102020127508B4 (de) 2019-10-24 2022-09-08 Nvidia Corporation Posenverfolgung von Objekten in der Hand
DE102020113277A1 (de) 2020-05-15 2021-11-18 Gerhard Schubert Gesellschaft mit beschränkter Haftung Verfahren zum Erzeugen eines Trainingsdatensatzes zum Trainieren eines Industrieroboters
DE102020113278A1 (de) 2020-05-15 2021-11-18 Gerhard Schubert Gesellschaft mit beschränkter Haftung Verfahren zur Steuerung des Betriebs eines Industrieroboters
DE102020212658A1 (de) 2020-10-07 2022-04-07 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
US11806872B2 (en) 2020-10-07 2023-11-07 Robert Bosch Gmbh Device and method for controlling a robotic device

Also Published As

Publication number Publication date
DE102016009030A1 (de) 2017-02-02
US20170028562A1 (en) 2017-02-02
US11780095B2 (en) 2023-10-10
US20200254622A1 (en) 2020-08-13
US20230321837A1 (en) 2023-10-12
US10717196B2 (en) 2020-07-21

Similar Documents

Publication Publication Date Title
DE102016009030B4 (de) Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
DE102016015873B3 (de) Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
DE102016009113B4 (de) Maschinelle Lernvorrichtung, Robotercontroller, Robotersystem und maschinelles Lernverfahren zum Lernen des Handlungsmusters einer Person
DE102018000730B4 (de) Werkstückaufnahmevorrichtung und Werkstückaufnahmeverfahren zum Verbessern des Aufnahmevorgangs eines Werkstücks
DE102018006946B4 (de) Steuerung und maschinelle Lernvorrichtung
DE102019002065B4 (de) Maschinelle Lernvorrichtung, Robotersteuervorrichtung und Robotervisionssystem, das eine maschinelle Lernvorrichtung verwendet, und maschinelles Lernverfahren
DE102017009223B4 (de) Steuervorrichtung zum Steuern eines Roboters durch Lernen einer Aktion einer Person, Robotersystem und Produktionssystem
DE102018006465B4 (de) Artikelstapelvorrichtung und maschinelle Lernvorrichtung
DE102017008836B4 (de) Maschinelle Lernvorrichtung und maschinelles Lernverfahren zum Lernen eines optimalen Objekt-Greifwegs
DE112011103794B4 (de) Aufnehmervorrichtung für Werkstücke
DE102018006551A1 (de) Steuerung und Maschinenlernvorrichtung
DE102017008475A1 (de) Maschinenlernvorrichtung, robotersystem und maschinenlernverfahren zum erlernen eines roboter-betriebsprogramms
DE102018005199B4 (de) Bauteilzuführvorrichtung und maschinelle lernvorrichtung
DE102018002423B4 (de) Robotersteuerung, Vorrichtung für maschinelles Lernen und Verfahren für maschinelles Lernen
DE102020132093A1 (de) Vorrichtung für maschinelles Lernen, Steuervorrichtung, Bearbeitungssystem und Verfahren für maschinelles Lernen zum Lernen eines Korrekturbetrags eines Werkstückmodells
EP3741518B1 (de) Verfahren und vorrichtung für eine automatisierte beeinflussung eines aktuators
DE102018126310B3 (de) Verfahren zum Erstellen eines Objektmodells zum Greifen eines Objekts, computerlesbares Speichermedium und Robotersystem
DE102019002506A1 (de) Gerät zum Anpassen von Messvorgangsparametern, maschinelle Lernvorrichtung und System

Legal Events

Date Code Title Description
R083 Amendment of/additions to inventor(s)
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R130 Divisional application to

Ref document number: 102016015873

Country of ref document: DE

R020 Patent grant now final