DE102016015873B3 - 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
DE102016015873B3
DE102016015873B3 DE102016015873.5A DE102016015873A DE102016015873B3 DE 102016015873 B3 DE102016015873 B3 DE 102016015873B3 DE 102016015873 A DE102016015873 A DE 102016015873A DE 102016015873 B3 DE102016015873 B3 DE 102016015873B3
Authority
DE
Germany
Prior art keywords
unit
robot
information
learning
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
DE102016015873.5A
Other languages
English (en)
Inventor
Takashi Yamazaki
Takumi OYAMA
Shun SUYAMA
Hidetoshi Kumiya
Hiroshi Nakagawa
Daisuke Okanohara
Ryosuke OKUTA
Eiichi Matsumoto
Kazutaka Nakayama
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
Application filed by Fanuc Corp, Preferred Networks Inc filed Critical Fanuc Corp
Application granted granted Critical
Publication of DE102016015873B3 publication Critical patent/DE102016015873B3/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/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert 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/1679Programme controls characterised by the tasks executed
    • B25J9/1687Assembly, peg and hole, palletising, straight line, weaving pattern movement
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • 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
    • 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/39297First learn inverse model, then fine tune with ffw error learning
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

Vorrichtung für maschinelles Lernen, die einen Arbeitsvorgang eines Roboters (14) zum Aufnehmen, durch eine Handeinheit (13), eines Objekts (12) erlernt, wobei die Vorrichtung umfasst:eine Lerneinheit (32), die konfiguriert ist, um Informationen für das Objekt (12) und einen Kennzeichner für einen Aufnahmevorgang des Roboters durch die Handeinheit (13) aus einer Aufzeichnungseinheit (40) zu erlangen,wobei die Lerneinheit (32) umfasst:eine Fehlerberechnungseinheit (33), die konfiguriert ist, um einen Fehler auf der Grundlage des Kennzeichners und einer Ausgabe aus einem Lernmodell zu berechnen, wobei die Ausgabe durch Eingeben der Informationen für das Objekt in das Lernmodell erzeugt wurde; undeine Lernmodellaktualisierungseinheit (34), die konfiguriert ist, um das Lernmodell gemäß dem Fehler zu aktualisieren, wobeidie Informationen Bilddaten für das Objekt umfassen undder Kennzeichner, der in der Aufzeichnungseinheit gespeichert ist, Informationen bezüglich eines Ergebnisses des Aufnahmevorgangs des Roboters durch die Handeinheit umfasst.

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, die in willkürlicher Weise, die einen lose aufgeschütteten Zustand umfasst, abgelegt sind.
  • 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 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.
  • EP 1 862 270 B1 offenbart eine Vorrichtung und ein Verfahren zum Aufnehmen eines Werkstücks. Von einem Bildaufnahmemittel wird ein Bild mehrerer gestapelter Werkstücke aufgenommen. Der gestapelte Zustand nach einem Greifvorgang eines Roboter-Greifarms wird beurteilt, und wenn festgestellt wird, dass ein durchgeführter Greifvorgang den gestapelten Zustand hinsichtlich eines als nächstes zu greifenden Werkstücks nicht verändert hat, wird kein neues Bild aufgenommen, sondern auf den zuvor ermittelten gestapelten Zustand zurückgegriffen.
  • Aus US 2015/0039129 A1 ist ein Robotersystem bekannt, das einen Roboter mit einem Endeffektor umfasst. Ferner umfasst das Robotersystem eine Bestimmungseinheit, die bestimmt, ob sich unter zugänglichen Werkstücken in einem Behälter, die von dem Endeffektor gehalten werden sollen, ein Werkstück befindet, das von dem Endeffektor gehalten werden kann. Ist dies nicht der Fall, wird ein Bewegungsmoment eines Antriebs des Endeffektors verringert und ein Umschichten der Werkstücke in dem Behälter bei reduziertem Bewegungsmoment mittels des Endeffektors durchgeführt.
  • Ferner offenbart US 2014/0114888 A1 eine Maschinenlernvorrichtung, die ein Manipulationsmodell unter Verwendung eines Bildes eines ersten und eines zweiten Objekts erstellt. Ein Koordinatensystem wird derart gewählt, dass sich das erste Objekt im Ursprung befindet. Wird das erste Objekt durch das zweite Objekt manipuliert, wird eine Zustandsänderung des ersten Objekts berücksichtigt, wenn sich zugleich ein Zustand des zweiten Objekts ändert.
  • Aus US 2012/0158180 A1 ist zudem eine Greifvorrichtung mit einem Roboterarm und einer Kamera bekannt. Anhand von Bilddaten wird ein dreidimensionales Modell zu greifender Objekte erstellt, das nach einem Greifvorgang aktualisiert wird.
  • JP 2014-206795 A offenbart ein Maschinenlernverfahren, das sich auf ein verstärkendes Lernen stützt. Dabei wird anhand einer vorherigen und einer aktuellen Zustandsinformation, einer vorherigen und einer aktuellen Aktionsinformation und einer aktuellen Belohnungsinformation ein Lernmodell aktualisiert. Dabei wird ein Aktualisierungsumfang eines Modellparameters für eine Maßfunktion berechnet, die durch ein lineares Modell genähert wird.
  • Des Weiteren offenbart JP 2013-052490 A eine Vorrichtung zum Aufnehmen eines Werkstücks aus mehreren Werkstücken, die eine Eigenschaftsbestimmungseinheit aufweist. Diese schätzt anhand von Sensordaten, welches Werkstück einfach zu greifen ist. Anstatt ein schwer zu greifendes Werkstück aufzunehmen, wird ggf. wenigstens ein Greifparameter angepasst.
  • Unter Berücksichtigung der oben beschriebenen Situation ist es eine Aufgabe der vorliegenden Erfindung, eine Vorrichtung für maschinelles Lernen, ein Lernmodell, ein Robotersystem, ein Verfahren zum Aufnehmen eines Objekts durch eine Handeinheit und ein Verfahren für maschinelles Lernen bereitzustellen, die ein Erlernen eines optimalen Arbeitsvorgangs eines Roboters beim Aufnehmen von Werkstücken durch eine Handeinheit ohne menschliches Eingreifen ermöglichen.
  • Diese Aufgabe wird erfindungsgemäß gelöst durch eine Vorrichtung für maschinelles Lernen mit den Merkmalen des Anspruchs 1, ein Lernmodell mit den Merkmalen des Anspruchs 4, ein Robotersystem mit den Merkmalen des Anspruchs 5, eine Vorrichtung für maschinelles Lernen mit den Merkmalen des Anspruchs 11, ein Robotersystem mit den Merkmalen des Anspruchs 15, ein Verfahren zum Aufnehmen eines Objekts durch eine Handeinheit mit den Merkmalen des Anspruchs 17 und ein Verfahren für maschinelles Lernen mit den Merkmalen des Anspruchs 18. Weiterbildungen 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, γ 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 r + 1 + γ max a Q ( s t + 1 , a ) Q ( s t , a t ) )
    Figure DE102016015873B3_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 < y ≤ 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 DE102016015873B3_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.
  • Obwohl eine oder mehrere Ausführungsformen der vorliegenden Erfindung ausführlich beschrieben wurden, sollte verstanden werden, dass verschiedene Änderungen, Ergänzungen und Abänderungen hierzu gemacht werden können, ohne vom Grundgedanken und Umfang der Erfindung abzuweichen, wie er durch die Ansprüche festgelegt ist.

Claims (18)

  1. Vorrichtung für maschinelles Lernen, die einen Arbeitsvorgang eines Roboters (14) zum Aufnehmen, durch eine Handeinheit (13), eines Objekts (12) erlernt, wobei die Vorrichtung umfasst: eine Lerneinheit (32), die konfiguriert ist, um Informationen für das Objekt (12) und einen Kennzeichner für einen Aufnahmevorgang des Roboters durch die Handeinheit (13) aus einer Aufzeichnungseinheit (40) zu erlangen, wobei die Lerneinheit (32) umfasst: eine Fehlerberechnungseinheit (33), die konfiguriert ist, um einen Fehler auf der Grundlage des Kennzeichners und einer Ausgabe aus einem Lernmodell zu berechnen, wobei die Ausgabe durch Eingeben der Informationen für das Objekt in das Lernmodell erzeugt wurde; und eine Lernmodellaktualisierungseinheit (34), die konfiguriert ist, um das Lernmodell gemäß dem Fehler zu aktualisieren, wobei die Informationen Bilddaten für das Objekt umfassen und der Kennzeichner, der in der Aufzeichnungseinheit gespeichert ist, Informationen bezüglich eines Ergebnisses des Aufnahmevorgangs des Roboters durch die Handeinheit umfasst.
  2. Vorrichtung für maschinelles Lernen gemäß Anspruch 1, weiterhin umfassend: ein neuronales Netz, das als das Lernmodell verwendet wird.
  3. Vorrichtung für maschinelles Lernen gemäß Anspruch 1 oder 2, wobei die Informationen ferner Positionsinformationen für das Objektumfassen.
  4. Lernmodell, das durch die Vorrichtung für maschinelles Lernen gemäß zumindest einem der Ansprüche 1 bis 3 aktualisiert wird.
  5. Robotersystem zum Aufnehmen eines Objekts, wobei das Robotersystem umfasst: einen Roboter, der eine Handeinheit zum Aufnehmen des Objekts umfasst; eine Messvorrichtung (15), die konfiguriert ist, um Informationen für das Objekt zu messen; eine Steuereinrichtung (16), die konfiguriert ist, um den Roboter zu steuern; eine Zustandsvariablenbeobachtungseinheit (31), die konfiguriert ist, um die Informationen für das Objekt zu erlangen; und eine Entscheidungseinheit (35), die konfiguriert ist, um Befehlsdaten zum Anweisen des Roboters zum Durchführen eines Aufnahmevorgangs des Objekts durch Bezugnahme auf eine Ausgabe aus einem Lernmodell gemäß Anspruch 4, das auf der Grundlage der Informationen für das Objekt erzeugt wurde, zu entscheiden, wobei die Steuereinrichtung weiterhin konfiguriert ist, um den Roboter auf der Grundlage der Befehlsdaten aus der Entscheidungseinheit zu steuern.
  6. Robotersystem gemäß Anspruch 5, wobei die Informationen Bilddaten für das Objekt umfasst.
  7. Robotersystem gemäß Anspruch 6, wobei die Informationen ferner Positionsinformationen für das Objektumfasst.
  8. Robotersystem gemäß zumindest einem der Ansprüche 5 bis 7, wobei die Befehlsdaten Informationen in Relation zu zumindest einer aus einer Position, Ausrichtung oder Aufnahmerichtung der Handeinheit umfassen.
  9. Robotersystem gemäß zumindest einem der Ansprüche 5 bis 8, weiterhin umfassend: eine Vorverarbeitungseinheit (50), die konfiguriert ist, um die Informationen für das Objekt zu verarbeiten, die durch die Messvorrichtung gemessen wurden, wobei die Zustandsvariablenbeobachtungseinheit konfiguriert ist, um Daten zu erlangen, die aus der Vorverarbeitungseinheit (50) als die Informationen für das Objekt ausgegeben wurden.
  10. Robotersystem gemäß zumindest einem der Ansprüche 5 bis 9, wobei das Lernmodell sich in einem Cloud-Server befindet.
  11. Vorrichtung für maschinelles Lernen, die einen Arbeitsvorgang eines Roboters (14) zum Aufnehmen, durch eine Handeinheit (13), eines Objekts (12) erlernt, wobei die Vorrichtung umfasst: eine Zustandsvariablenbeobachtungseinheit (21), die konfiguriert ist, um Informationen für das Objekt zu erlangen; eine Lerneinheit (22), die eine Wertfunktion umfasst, die einen Wert eines Aufnahmevorgangs des Roboters (14) beschreibt; eine Entscheidungseinheit (25), die konfiguriert ist, um Befehlsdaten zum Anweisen des Roboters (14) zum Durchführen des Aufnahmevorgangs des Objekts (12) auf der Grundlage der Wertfunktion und der Informationen für das Objekt zu entscheiden; und eine Arbeitsvorgangsergebniserlangungseinheit (26), die konfiguriert ist, um ein Ergebnis des Aufnahmevorgangs des Roboters (14) zum Aufnehmen des Objekts (12) durch die Handeinheit (13) zu erlangen, wobei die Lerneinheit (22) umfasst: eine Belohnungsberechnungseinheit (23), die konfiguriert ist, um eine Belohnung auf der Grundlage einer Ausgabe der Arbeitsvorgangsergebniserlangungseinheit (26) zu berechnen; und eine Wertfunktionsaktualisierungseinheit (24), die konfiguriert ist, um die Wertfunktion gemäß der Belohnung zu aktualisieren, wobei die Informationen Bilddaten für das Objekt umfassen und die Befehlsdaten Informationen in Relation zu zumindest einer aus einer Position, Ausrichtung oder Aufnahmerichtung der Handeinheit umfassen.
  12. Vorrichtung für maschinelles Lernen gemäß Anspruch 11, weiterhin umfassend: ein neuronales Netz, das als die Wertfunktion verwendet wird.
  13. Vorrichtung für maschinelles Lernen gemäß Anspruch 11 oder 12, wobei die Informationen ferner Positionsinformationen für das Objekt umfasst.
  14. Vorrichtung für maschinelles Lernen gemäß zumindest einem der Ansprüche 11 bis 13, wobei die Informationen für das Objekt weiterhin Informationen in Relation zu zumindest einer aus einer Position, Ausrichtung oder Aufnahmerichtung der Handeinheit (13) umfassen.
  15. Robotersystem, das die Vorrichtung für maschinelles Lernen gemäß zumindest einem der Ansprüche 11 bis 14 umfasst, wobei das Robotersystem weiterhin umfasst: den Roboter, der die Handeinheit umfasst; eine Messvorrichtung (15), die konfiguriert ist, um die Informationen für das Objekt zu messen; und eine Steuereinrichtung (16), die konfiguriert ist, um den Roboter auf der Grundlage der Befehlsdaten aus der Entscheidungseinheit zu steuern.
  16. Robotersystem gemäß Anspruch 15, wobei die Vorrichtung für maschinelles Lernen sich auf einem Cloud-Server befindet.
  17. Verfahren zum Aufnehmen eines Objekts durch eine Handeinheit (13) eines Roboters (14), wobei das Verfahren umfasst: Messen von Informationen für das Objekt; Erlangen der Informationen für das Objekt; Entscheiden von Befehlsdaten zum Anweisen des Roboters zum Durchführen eines Aufnahmevorgangs des Objekts durch Bezugnahme auf eine Ausgabe aus einem Lernmodell gemäß Anspruch 4, das auf der Grundlage der Informationen für das Objekt erzeugt wurde; und Steuern des Roboters auf der Grundlage der Befehlsdaten.
  18. Verfahren für maschinelles Lernen zum Erlernen eines Arbeitsvorgangs eines Roboters (14) zum Aufnehmen eines Objekts durch eine Handeinheit (13), wobei das Verfahren umfasst: Erlangen von Informationen für das Objekt; Entscheiden von Befehlsdaten zum Anweisen des Roboters (14) zum Durchführen eines Aufnahmevorgangs des Objekts (12) auf der Grundlage einer Wertfunktion und der Informationen für das Objekt, wobei die Wertfunktion einen Wert des Aufnahmevorgangs des Roboters (14) beschreibt; Erlangen eines Ergebnisses des Aufnahmevorgangs des Roboters (14) zum Aufnehmen des Objekts (12) durch die Handeinheit (13); und Aktualisieren der Wertfunktion; wobei das Aktualisieren der Wertfunktion umfasst: Berechnen einer Belohnung auf der Grundlage des Ergebnisses des Aufnahmevorgangs des Roboters (14) zum Aufnehmen des Objekts (12) durch die Handeinheit (13); und Aktualisieren der Wertfunktion gemäß der Belohnung, wobei. die Informationen Bilddaten für das Objekt umfassen und die Befehlsdaten Informationen in Relation zu zumindest einer aus einer Position, Ausrichtung oder Aufnahmerichtung der Handeinheit umfassen
DE102016015873.5A 2015-07-31 2016-07-26 Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs Active DE102016015873B3 (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 (1)

Publication Number Publication Date
DE102016015873B3 true DE102016015873B3 (de) 2020-10-29

Family

ID=57985283

Family Applications (1)

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

Country Status (3)

Country Link
JP (5) JP6522488B2 (de)
CN (2) CN106393102B (de)
DE (1) DE102016015873B3 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021104001B3 (de) 2021-02-19 2022-04-28 Gerhard Schubert Gesellschaft mit beschränkter Haftung Verfahren zum automatischen Ergreifen, insbesondere Umsetzen, von Gegenständen
DE102021209646A1 (de) 2021-09-02 2023-03-02 Robert Bosch Gesellschaft mit beschränkter Haftung Robotervorrichtung, Verfahren zum computerimplementierten Trainieren eines Roboter-Steuerungsmodells und Verfahren zum Steuern einer Robotervorrichtung
EP4311632A1 (de) * 2022-07-27 2024-01-31 Siemens Aktiengesellschaft Verfahren zum greifen eines objekts, computerprogramm und elektronisch lesbarer datenträger

Families Citing this family (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6522488B2 (ja) * 2015-07-31 2019-05-29 ファナック株式会社 ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法
JP6771744B2 (ja) * 2017-01-25 2020-10-21 株式会社安川電機 ハンドリングシステム及びコントローラ
JP6453922B2 (ja) * 2017-02-06 2019-01-16 ファナック株式会社 ワークの取り出し動作を改善するワーク取り出し装置およびワーク取り出し方法
US11222417B2 (en) 2017-03-06 2022-01-11 Fuji Corporation Data structure for creating image-processing data and method for creating image-processing data
JP6542824B2 (ja) * 2017-03-13 2019-07-10 ファナック株式会社 入力画像から検出した対象物の像の尤度を計算する画像処理装置および画像処理方法
JP6438512B2 (ja) 2017-03-13 2018-12-12 ファナック株式会社 機械学習により補正した計測データでワークの取り出しを行うロボットシステム、計測データ処理装置および計測データ処理方法
JP6902369B2 (ja) * 2017-03-15 2021-07-14 株式会社オカムラ 提示装置、提示方法およびプログラム、ならびに作業システム
JP6869060B2 (ja) * 2017-03-15 2021-05-12 株式会社オカムラ マニピュレータの制御装置、制御方法およびプログラム、ならびに作業システム
JP6983524B2 (ja) * 2017-03-24 2021-12-17 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
JP6557272B2 (ja) * 2017-03-29 2019-08-07 ファナック株式会社 状態判定装置
JP6680714B2 (ja) * 2017-03-30 2020-04-15 ファナック株式会社 ワイヤ放電加工機の制御装置及び機械学習装置
JP6490132B2 (ja) * 2017-03-31 2019-03-27 ファナック株式会社 ロボットの制御装置、機械学習装置及び機械学習方法
JP6526100B2 (ja) * 2017-04-28 2019-06-05 ファナック株式会社 物品取出システム
JP6487495B2 (ja) * 2017-05-19 2019-03-20 ファナック株式会社 ワーク取出しシステム
JP7045139B2 (ja) * 2017-06-05 2022-03-31 株式会社日立製作所 機械学習装置、機械学習方法、および機械学習プログラム
JP6542839B2 (ja) 2017-06-07 2019-07-10 ファナック株式会社 制御装置及び機械学習装置
JP6886869B2 (ja) * 2017-06-09 2021-06-16 川崎重工業株式会社 動作予測システム及び動作予測方法
CN107336234A (zh) * 2017-06-13 2017-11-10 赛赫智能设备(上海)股份有限公司 一种反馈式自学习工业机器人及工作方法
CN116476044A (zh) 2017-06-19 2023-07-25 谷歌有限责任公司 使用神经网络和几何感知对象表示的机器人抓取预测
CN107329445B (zh) * 2017-06-28 2020-09-08 重庆柚瓣家科技有限公司 机器人行为准则智能监管的方法
CN107255969B (zh) * 2017-06-28 2019-10-18 重庆柚瓣家科技有限公司 养老机器人用监管系统
CN107252785B (zh) * 2017-06-29 2019-05-10 顺丰速运有限公司 一种应用于快递件机器人供件的快件抓取方法
JP6564426B2 (ja) * 2017-07-07 2019-08-21 ファナック株式会社 部品供給装置及び機械学習装置
JP7116901B2 (ja) * 2017-08-01 2022-08-12 オムロン株式会社 ロボット制御装置、ロボット制御方法及びロボット制御プログラム
DE102017213658A1 (de) * 2017-08-07 2019-02-07 Robert Bosch Gmbh Handhabungsanordnung mit einer Handhabungseinrichtung zur Durchführung mindestens eines Arbeitsschritts sowie Verfahren und Computerprogramm
JP6680730B2 (ja) * 2017-08-08 2020-04-15 ファナック株式会社 制御装置及び学習装置
JP6680732B2 (ja) * 2017-08-23 2020-04-15 ファナック株式会社 物品積み付け装置及び機械学習装置
JP6795472B2 (ja) * 2017-08-28 2020-12-02 ファナック株式会社 機械学習装置、機械学習システム及び機械学習方法
JP2020532440A (ja) * 2017-09-01 2020-11-12 カリフォルニア大学The Regents of the University of California オブジェクトをロバストに把持し、ターゲティングするためのロボットシステムおよび方法
JP6608890B2 (ja) 2017-09-12 2019-11-20 ファナック株式会社 機械学習装置、ロボットシステム及び機械学習方法
EP3456485B1 (de) * 2017-09-15 2021-02-17 Siemens Aktiengesellschaft Optimieren eines automatisierten vorganges zum auswählen und greifen eines objektes durch einen roboter
JP6695843B2 (ja) * 2017-09-25 2020-05-20 ファナック株式会社 装置、及びロボットシステム
JP6895563B2 (ja) * 2017-09-25 2021-06-30 ファナック株式会社 ロボットシステム、モデル生成方法、及びモデル生成プログラム
JP6579498B2 (ja) * 2017-10-20 2019-09-25 株式会社安川電機 自動化装置及び位置検出装置
JP2019084601A (ja) 2017-11-02 2019-06-06 キヤノン株式会社 情報処理装置、把持システムおよび情報処理方法
JP6815309B2 (ja) * 2017-11-16 2021-01-20 株式会社東芝 作動システムおよびプログラム
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
CN108340367A (zh) * 2017-12-13 2018-07-31 深圳市鸿益达供应链科技有限公司 用于机械臂抓取的机器学习方法
JP7136554B2 (ja) 2017-12-18 2022-09-13 国立大学法人信州大学 把持装置、学習装置、プログラム、把持システム、及び学習方法
KR102565444B1 (ko) * 2017-12-21 2023-08-08 삼성전자주식회사 객체를 식별하기 위한 장치 및 방법
JP6587195B2 (ja) * 2018-01-16 2019-10-09 株式会社Preferred Networks 触覚情報推定装置、触覚情報推定方法、プログラム及び非一時的コンピュータ可読媒体
WO2019146007A1 (ja) * 2018-01-24 2019-08-01 三菱電機株式会社 位置制御装置及び位置制御方法
JP6892400B2 (ja) * 2018-01-30 2021-06-23 ファナック株式会社 レーザ装置の故障発生メカニズムを学習する機械学習装置
JP6703020B2 (ja) * 2018-02-09 2020-06-03 ファナック株式会社 制御装置及び機械学習装置
JP6874712B2 (ja) * 2018-02-19 2021-05-19 オムロン株式会社 シミュレーション装置、シミュレーション方法及びシミュレーションプログラム
JP7005388B2 (ja) * 2018-03-01 2022-01-21 株式会社東芝 情報処理装置及び仕分システム
JP6873941B2 (ja) 2018-03-02 2021-05-19 株式会社日立製作所 ロボット作業システム、及びロボット作業システムの制御方法
WO2019171123A1 (en) 2018-03-05 2019-09-12 Omron Corporation Method, apparatus, system and program for controlling a robot, and storage medium
JP6879238B2 (ja) * 2018-03-13 2021-06-02 オムロン株式会社 ワークピッキング装置及びワークピッキング方法
JP6911798B2 (ja) * 2018-03-15 2021-07-28 オムロン株式会社 ロボットの動作制御装置
JP2019162712A (ja) * 2018-03-20 2019-09-26 ファナック株式会社 制御装置、機械学習装置及びシステム
JP6687657B2 (ja) * 2018-03-20 2020-04-28 ファナック株式会社 センサ及びロボットを用いた物品取り出し装置、及び物品取り出し方法
KR102043898B1 (ko) * 2018-03-27 2019-11-12 한국철도기술연구원 물류 센터의 피킹 자동화 시스템 및 이를 이용한 피킹 자동화 방법
JP6810087B2 (ja) * 2018-03-29 2021-01-06 ファナック株式会社 機械学習装置、機械学習装置を用いたロボット制御装置及びロボットビジョンシステム、並びに機械学習方法
US11260534B2 (en) * 2018-04-04 2022-03-01 Canon Kabushiki Kaisha Information processing apparatus and information processing method
JP6829271B2 (ja) * 2018-04-05 2021-02-10 ファナック株式会社 測定動作パラメータ調整装置、機械学習装置及びシステム
CN110340884B (zh) 2018-04-05 2024-09-20 发那科株式会社 测定动作参数调整装置、机器学习装置以及系统
CN108527371A (zh) * 2018-04-17 2018-09-14 重庆邮电大学 一种基于bp神经网络的灵巧手规划方法
JP7252944B2 (ja) 2018-04-26 2023-04-05 パナソニックホールディングス株式会社 アクチュエータ装置、アクチュエータ装置による対象物取出方法、及び、対象物取出システム
JP7154815B2 (ja) 2018-04-27 2022-10-18 キヤノン株式会社 情報処理装置、制御方法、ロボットシステム、コンピュータプログラム、及び記憶媒体
EP3804918A4 (de) 2018-05-25 2022-03-30 Kawasaki Jukogyo Kabushiki Kaisha Robotersystem und zusätzliches lernverfahren
JP7039389B2 (ja) * 2018-05-25 2022-03-22 川崎重工業株式会社 ロボットシステム及びロボット制御方法
KR102094360B1 (ko) * 2018-06-11 2020-03-30 동국대학교 산학협력단 영상 기반 힘 예측 시스템 및 그 방법
JP7102241B2 (ja) * 2018-06-14 2022-07-19 ヤマハ発動機株式会社 機械学習装置及びこれを備えたロボットシステム
WO2019239563A1 (ja) * 2018-06-14 2019-12-19 ヤマハ発動機株式会社 ロボットシステム
DE112018007729B4 (de) 2018-06-14 2022-09-08 Yamaha Hatsudoki Kabushiki Kaisha Maschinelle Lernvorrichtung und mit dieser ausgestattetes Robotersystem
JP6784722B2 (ja) * 2018-06-28 2020-11-11 ファナック株式会社 出力装置、制御装置、及び評価関数値の出力方法
JP2020001127A (ja) * 2018-06-28 2020-01-09 勇貴 高橋 ピッキングシステム,ピッキング処理装置及びプログラム
WO2020009139A1 (ja) * 2018-07-04 2020-01-09 株式会社Preferred Networks 学習方法、学習装置、学習システム及びプログラム
JP6740288B2 (ja) * 2018-07-13 2020-08-12 ファナック株式会社 物体検査装置、物体検査システム、及び検査位置を調整する方法
WO2020021643A1 (ja) * 2018-07-24 2020-01-30 株式会社Fuji エンドエフェクタの選択方法および選択システム
JP7191569B2 (ja) * 2018-07-26 2022-12-19 Ntn株式会社 把持装置
JP7121127B2 (ja) * 2018-08-03 2022-08-17 株式会社Fuji パラメータの学習方法および作業システム
JP7034035B2 (ja) * 2018-08-23 2022-03-11 株式会社日立製作所 自律学習型ロボット装置及び自律学習型ロボット装置の動作生成方法
CN109434844B (zh) * 2018-09-17 2022-06-28 鲁班嫡系机器人(深圳)有限公司 食材处理机器人控制方法、装置、系统、存储介质及设备
JP6895128B2 (ja) * 2018-11-09 2021-06-30 オムロン株式会社 ロボット制御装置、シミュレーション方法、及びシミュレーションプログラム
JP7159525B2 (ja) * 2018-11-29 2022-10-25 京セラドキュメントソリューションズ株式会社 ロボット制御装置、学習装置、及びロボット制御システム
CN109731793A (zh) * 2018-12-17 2019-05-10 上海航天电子有限公司 一种小批量片式散料器件智能分拣设备
WO2020138436A1 (ja) 2018-12-27 2020-07-02 川崎重工業株式会社 ロボット制御装置、ロボットシステム及びロボット制御方法
JP7128736B2 (ja) 2018-12-27 2022-08-31 川崎重工業株式会社 ロボット制御装置、ロボットシステム及びロボット制御方法
CN109784400A (zh) * 2019-01-12 2019-05-21 鲁班嫡系机器人(深圳)有限公司 智能体行为训练方法、装置、系统、存储介质及设备
JP6632095B1 (ja) * 2019-01-16 2020-01-15 株式会社エクサウィザーズ 学習済モデル生成装置、ロボット制御装置、及び、プログラム
JP7000359B2 (ja) * 2019-01-16 2022-01-19 ファナック株式会社 判定装置
JP7252787B2 (ja) 2019-02-28 2023-04-05 川崎重工業株式会社 機械学習モデル運用管理システム及び機械学習モデル運用管理方法
JP7336856B2 (ja) * 2019-03-01 2023-09-01 株式会社Preferred Networks 情報処理装置、方法及びプログラム
WO2020194392A1 (ja) * 2019-03-22 2020-10-01 connectome.design株式会社 自律型ロボット用教師データ生成コンピュータ、方法及びプログラム
JP7302226B2 (ja) * 2019-03-27 2023-07-04 株式会社ジェイテクト 研削盤の支援装置及び支援方法
JP7349423B2 (ja) * 2019-06-19 2023-09-22 株式会社Preferred Networks 学習装置、学習方法、学習モデル、検出装置及び把持システム
JP7504566B2 (ja) * 2019-07-12 2024-06-24 キヤノン株式会社 情報処理方法、ロボットシステム、物品の製造方法、プログラム、記録媒体、および情報処理装置
JP7415356B2 (ja) * 2019-07-29 2024-01-17 セイコーエプソン株式会社 プログラム移送システムおよびロボットシステム
CN110456644B (zh) * 2019-08-13 2022-12-06 北京地平线机器人技术研发有限公司 确定自动化设备的执行动作信息的方法、装置及电子设备
DE102019121889B3 (de) * 2019-08-14 2020-11-19 Robominds GmbH Automatisierungssystem und Verfahren zur Handhabung von Produkten
EP3998140A4 (de) 2019-08-28 2022-09-28 Daily Color Inc. Robotersteuerungsvorrichtung
JP7021158B2 (ja) 2019-09-04 2022-02-16 株式会社東芝 ロボットシステムおよび駆動方法
JP7458741B2 (ja) * 2019-10-21 2024-04-01 キヤノン株式会社 ロボット制御装置及びその制御方法及びプログラム
JP6924448B2 (ja) * 2019-12-02 2021-08-25 Arithmer株式会社 ピッキングシステム、ピッキング方法、及びプログラム
CN114786888B (zh) * 2020-01-16 2024-07-30 欧姆龙株式会社 控制装置、控制方法以及控制程序
JP7463777B2 (ja) * 2020-03-13 2024-04-09 オムロン株式会社 制御装置、学習装置、ロボットシステム、および方法
JP7523384B2 (ja) 2020-03-27 2024-07-26 三菱電機株式会社 タスクを実行するロボットの動作を制御するコントローラおよび方法
JP2023528728A (ja) 2020-04-03 2023-07-06 バイマー グループ エーエス ピックアンドプレースロボットシステム
CN115087522A (zh) 2020-04-28 2022-09-20 雅马哈发动机株式会社 机器学习方法及机器人系统
JP2023145809A (ja) * 2020-07-10 2023-10-12 株式会社Preferred Networks 強化学習装置、強化学習システム、物体操作装置、モデル生成方法及び強化学習プログラム
CN112476424A (zh) * 2020-11-13 2021-03-12 腾讯科技(深圳)有限公司 机器人控制方法、装置、设备及计算机存储介质
WO2022123978A1 (ja) 2020-12-08 2022-06-16 ソニーグループ株式会社 学習装置、学習システムおよび学習方法
KR102346900B1 (ko) * 2021-08-05 2022-01-04 주식회사 애자일소다 픽 앤 플레이스 시스템을 위한 심층 강화학습 장치 및 방법
JP7551583B2 (ja) 2021-09-10 2024-09-17 株式会社東芝 制御装置、制御方法およびプログラム
JP7551940B2 (ja) 2021-09-15 2024-09-17 ヤマハ発動機株式会社 画像処理装置、部品把持システム、画像処理方法および部品把持方法
CN115816466B (zh) * 2023-02-02 2023-06-16 中国科学技术大学 一种提升视觉观测机器人控制稳定性的方法
CN117697769B (zh) * 2024-02-06 2024-04-30 成都威世通智能科技有限公司 一种基于深度学习的机器人控制系统和方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1862270B1 (de) * 2006-05-29 2012-04-25 Fanuc Corporation Werkstückaufnahmevorrichtung und -verfahren
US20120158180A1 (en) * 2010-12-15 2012-06-21 Canon Kabushiki Kaisha Object gripping apparatus, method of controlling the same and storage medium
JP2013052490A (ja) * 2011-09-06 2013-03-21 Mitsubishi Electric Corp ワーク取り出し装置
US20140114888A1 (en) * 2012-10-18 2014-04-24 Sony Corporation Information processing apparatus, information processing method, and program
JP2014206795A (ja) * 2013-04-11 2014-10-30 日本電信電話株式会社 線形モデルに基づく強化学習方法とその装置とプログラム
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 (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0588721A (ja) * 1991-09-30 1993-04-09 Fujitsu Ltd 関節型ロボツトの制御装置
JPH06106490A (ja) * 1992-09-29 1994-04-19 Fujitsu Ltd 制御装置
JPH06203166A (ja) * 1993-01-06 1994-07-22 Fujitsu Ltd 多次元位置測定,制御装置,及び、学習方法
JP3211186B2 (ja) * 1997-12-15 2001-09-25 オムロン株式会社 ロボット、ロボットシステム、ロボットの学習方法、ロボットシステムの学習方法および記録媒体
JPH11272845A (ja) * 1998-03-23 1999-10-08 Denso Corp 画像認識装置
JP3859371B2 (ja) * 1998-09-25 2006-12-20 松下電工株式会社 ピッキング装置
JP2001019165A (ja) 1999-07-02 2001-01-23 Murata Mach Ltd ワークピッキング装置
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
JP3834307B2 (ja) * 2003-09-29 2006-10-18 ファナック株式会社 ロボットシステム
JP4630553B2 (ja) * 2004-01-15 2011-02-09 ソニー株式会社 動的制御装置および動的制御装置を用いた2足歩行移動体
JP2005238422A (ja) * 2004-02-27 2005-09-08 Sony Corp ロボット装置、並びにその状態遷移モデル構築方法及び行動制御方法
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 学習装置および学習方法、並びにプログラム
JP4238256B2 (ja) * 2006-06-06 2009-03-18 ファナック株式会社 ロボットシミュレーション装置
US7957583B2 (en) * 2007-08-02 2011-06-07 Roboticvisiontech Llc System and method of three-dimensional pose estimation
JP2009262279A (ja) * 2008-04-25 2009-11-12 Nec Corp ロボット、ロボットプログラム共有システム、ロボットプログラム共有方法およびプログラム
JP2010086405A (ja) 2008-10-01 2010-04-15 Fuji Heavy Ind Ltd 制御パラメータの適合化システム
JP5330138B2 (ja) 2008-11-04 2013-10-30 本田技研工業株式会社 強化学習システム
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
CN101726251A (zh) * 2009-11-13 2010-06-09 江苏大学 基于支持向量机的苹果采摘机器人果实自动识别方法
CN101782976B (zh) * 2010-01-15 2013-04-10 南京邮电大学 一种云计算环境下机器学习自动选择方法
FI20105732A0 (fi) * 2010-06-24 2010-06-24 Zenrobotics Oy Menetelmä fyysisten kappaleiden valitsemiseksi robottijärjestelmässä
JP5743499B2 (ja) 2010-11-10 2015-07-01 キヤノン株式会社 画像生成装置、画像生成方法、およびプログラム
JP5750657B2 (ja) 2011-03-30 2015-07-22 株式会社国際電気通信基礎技術研究所 強化学習装置、制御装置、および強化学習方法
JP5787642B2 (ja) 2011-06-28 2015-09-30 キヤノン株式会社 対象物保持装置、対象物保持装置の制御方法、およびプログラム
JP6106490B2 (ja) 2013-03-28 2017-03-29 シャープ株式会社 自走式電子機器および自走式電子機器の走行領域指定システム
JP6126437B2 (ja) 2013-03-29 2017-05-10 キヤノン株式会社 画像処理装置および画像処理方法
CN103753557B (zh) * 2014-02-14 2015-06-17 上海创绘机器人科技有限公司 移动式倒立摆系统的自平衡控制方法及自平衡车智能控制系统
CN104793620B (zh) * 2015-04-17 2019-06-18 中国矿业大学 基于视觉特征捆绑和强化学习理论的避障机器人
JP6522488B2 (ja) * 2015-07-31 2019-05-29 ファナック株式会社 ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1862270B1 (de) * 2006-05-29 2012-04-25 Fanuc Corporation Werkstückaufnahmevorrichtung und -verfahren
US20120158180A1 (en) * 2010-12-15 2012-06-21 Canon Kabushiki Kaisha Object gripping apparatus, method of controlling the same and storage medium
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 ファナック株式会社 バラ積みされた物品をロボットで取出す装置及び方法
US20140114888A1 (en) * 2012-10-18 2014-04-24 Sony Corporation Information processing apparatus, information processing method, and program
JP2014206795A (ja) * 2013-04-11 2014-10-30 日本電信電話株式会社 線形モデルに基づく強化学習方法とその装置とプログラム
US20150039129A1 (en) * 2013-07-31 2015-02-05 Kabushiki Kaisha Yaskawa Denki Robot system and product manufacturing method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021104001B3 (de) 2021-02-19 2022-04-28 Gerhard Schubert Gesellschaft mit beschränkter Haftung Verfahren zum automatischen Ergreifen, insbesondere Umsetzen, von Gegenständen
DE102021209646A1 (de) 2021-09-02 2023-03-02 Robert Bosch Gesellschaft mit beschränkter Haftung Robotervorrichtung, Verfahren zum computerimplementierten Trainieren eines Roboter-Steuerungsmodells und Verfahren zum Steuern einer Robotervorrichtung
DE102021209646B4 (de) 2021-09-02 2024-05-02 Robert Bosch Gesellschaft mit beschränkter Haftung Robotervorrichtung, Verfahren zum computerimplementierten Trainieren eines Roboter-Steuerungsmodells und Verfahren zum Steuern einer Robotervorrichtung
EP4311632A1 (de) * 2022-07-27 2024-01-31 Siemens Aktiengesellschaft Verfahren zum greifen eines objekts, computerprogramm und elektronisch lesbarer datenträger

Also Published As

Publication number Publication date
JP2024069414A (ja) 2024-05-21
CN113199483A (zh) 2021-08-03
JP2017064910A (ja) 2017-04-06
CN106393102B (zh) 2021-06-01
JP7100426B2 (ja) 2022-07-13
JP2017030135A (ja) 2017-02-09
JP6522488B2 (ja) 2019-05-29
JP2022145915A (ja) 2022-10-04
CN106393102A (zh) 2017-02-15
JP7491971B2 (ja) 2024-05-28
JP2020168719A (ja) 2020-10-15

Similar Documents

Publication Publication Date Title
DE102016015873B3 (de) Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
DE102016009030B4 (de) Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
DE102018000730B4 (de) Werkstückaufnahmevorrichtung und Werkstückaufnahmeverfahren zum Verbessern des Aufnahmevorgangs eines Werkstücks
DE102018006946B4 (de) Steuerung und maschinelle Lernvorrichtung
DE102016009113B4 (de) Maschinelle Lernvorrichtung, Robotercontroller, Robotersystem und maschinelles Lernverfahren zum Lernen des Handlungsmusters einer Person
DE102018006465B4 (de) Artikelstapelvorrichtung und maschinelle Lernvorrichtung
JP6810087B2 (ja) 機械学習装置、機械学習装置を用いたロボット制御装置及びロボットビジョンシステム、並びに機械学習方法
DE102017008836B4 (de) Maschinelle Lernvorrichtung und maschinelles Lernverfahren zum Lernen eines optimalen Objekt-Greifwegs
DE102018215057B4 (de) Maschinelles-Lernen-Vorrichtung, Robotersystem und maschinelles-Lernen-Verfahren
DE112011103794B4 (de) Aufnehmervorrichtung für Werkstücke
DE102017009223A1 (de) Steuervorrichtung zum Steuern eines Roboters durch Lernen einer Aktion einer Person, Robotersystem und Produktionssystem
DE102018009008B4 (de) Steuervorrichtung und Maschinenlernvorrichtung
DE102018005199B4 (de) Bauteilzuführvorrichtung und maschinelle lernvorrichtung
DE102018002423B4 (de) Robotersteuerung, Vorrichtung für maschinelles Lernen und Verfahren für maschinelles Lernen
DE102018002785B4 (de) 1 - 8CController und maschinelle Lernvorrichtung
EP3741518A1 (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
DE102023110111B3 (de) Verfahren zum Ansteuern einer Handhabungsanlage sowie Handhabungsanlage

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R129 Divisional application from

Ref document number: 102016009030

Country of ref document: DE

R083 Amendment of/additions to inventor(s)
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R130 Divisional application to

Ref document number: 102016015936

Country of ref document: DE

Ref document number: 102016015937

Country of ref document: DE

R020 Patent grant now final