DE102016015866B3 - Maschinelle Lernvorrichtung, Robotercontroller, Robotersystem und maschinelles Lernverfahren zum Lernen des Handlungsmusters einer Person - Google Patents

Maschinelle Lernvorrichtung, Robotercontroller, Robotersystem und maschinelles Lernverfahren zum Lernen des Handlungsmusters einer Person Download PDF

Info

Publication number
DE102016015866B3
DE102016015866B3 DE102016015866.2A DE102016015866A DE102016015866B3 DE 102016015866 B3 DE102016015866 B3 DE 102016015866B3 DE 102016015866 A DE102016015866 A DE 102016015866A DE 102016015866 B3 DE102016015866 B3 DE 102016015866B3
Authority
DE
Germany
Prior art keywords
robot
person
machine learning
load
unit
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
DE102016015866.2A
Other languages
English (en)
Inventor
Taketsugu TSUDA
Daisuke Okanohara
Ryosuke OKUTA
Eiichi Matsumoto
Keigo KAWAAI
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Preferred Networks Inc
Original Assignee
Fanuc Corp
Preferred Networks Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp, Preferred Networks Inc filed Critical Fanuc Corp
Application granted granted Critical
Publication of DE102016015866B3 publication Critical patent/DE102016015866B3/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
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/081Touching devices, e.g. pressure-sensitive
    • B25J13/084Tactile sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/085Force or torque sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/06Safety devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0084Programme-controlled manipulators comprising a plurality of manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive 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/39Robotics, robotics to robotics hand
    • G05B2219/39271Ann artificial neural network, ffw-nn, feedforward neural network
    • 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/40202Human robot coexistence
    • 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/40391Human to robot skill transfer
    • 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/40499Reinforcement learning algorithm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Abstract

Maschinelle Lernvorrichtung umfassend:eine Zustandsbeobachtungseinheit (51, 71), die dazu eingerichtet ist, eine Zustandsvariable zu erhalten, die einen Zustand eines Roboters (1, 1a, 1b), wenn die Person (85) und der Roboter (1, 1a, 1b) zusammen arbeiten, darstellt;eine Einheit zum Erhalten von Bestimmungsdaten (52, 72), die dazu eingerichtet ist, die Bestimmungsdaten für mindestens eines von einer Belastungshöhe für die Person (85) und einer Arbeitseffizienz zu erhalten;eine maschinelle Lerneinheit, umfassend eine Belohnungsberechnungseinheit (55) und eine Funktionsaktualisierungseinheit (56), wobeidie Zustandsvariable Informationen in Bezug auf mindestens eines von einer Position, einer Ausrichtung, einer Geschwindigkeit und einer Beschleunigung des Roboters (1, 1a, 1b) umfasst,die Bestimmungsdaten Informationen in Bezug auf mindestens eines von einer Größenordnung einer Last, die von dem Roboter erfasst wird (1, 1a, 1b), einer Richtung der Last, die von dem Roboter erfasst wird (1, 1a, 1b), einer Größenordnung einer Last, die von der Person (85) erfasst wird, einer Richtung der Last, die von der Person (85) erfasst wird, einer Größenordnung einer Last, die von einem Objekt in der Umgebung erfasst wird, einer Richtung der Last, die von dem Objekt in der Umgebung erfasst wird, einer Belastungshöhe für die Person (85), einer Belastungshöhe für das Objekt in der Umgebung, einer Bewegungszeit, Informationen von einer Kamera (15), und Informationen von einem Sensor (15) umfassen,die Belohnungsberechnungseinheit (55) dazu eingerichtet ist, eine Belohnung basierend auf den Bestimmungsdaten einzustellen; unddie Funktionsaktualisierungseinheit (56) dazu eingerichtet ist, ein neuronales Netz, das eine Funktion zum Einstellen einer Handlung des Roboters (1, 1a, 1b) darstellt, basierend auf der Zustandsvariablen und der Belohnung zu aktualisieren.

Description

  • Die vorliegende Erfindung betrifft eine maschinelle Lernvorrichtung, einen Roboter-Controller, ein Robotersystem und ein maschinelles Lernverfahren zum Lernen des Handlungsmusters einer Person.
  • Um bei herkömmlichen Techniken die menschliche Sicherheit zu gewährleisten, werden Sicherheitsmaßnahmen getroffen, um zu untersagen, dass Personen in den Arbeitsbereich eines Roboters eintreten, wenn ein Roboter angetrieben wird. Beispielsweise ist ein Roboter von einem Sicherheitszaun umgeben, um es Personen zu untersagen, während des Zeitraums, in dem der Roboter angetrieben wird, über den Sicherheitszaun zu klettern. In letzter Zeit ist ein Robotersystem bekannt, das es einer Person ermöglicht, mit einem Roboter zusammen zu arbeiten. Das Robotersystem ermöglicht es dem Roboter und der Person, gleichzeitig einen Arbeitsschritt auszuführen, ohne den Roboter mit einem Sicherheitszaun zu umgeben.
  • Die japanische Offenlegungsschrift JP 2015 - 123 505 A offenbart einen Industrieroboter, der in Zusammenarbeit mit einer Person funktioniert. Der Roboter umfasst eine bewegbare Einheit, ein Schutzelement und einen Detektor. Die bewegbare Einheit wird von dem Sockelabschnitt getragen. Das Schutzelement besteht aus einem Material, das eine Steifigkeit aufweist, die geringer als die der bewegbaren Einheit ist und die Peripherie der bewegbaren Einheit abdeckt. Der Detektor befindet sich in der bewegbaren Einheit und detektiert eine externe Krafteingabe über das Schutzelement.
  • Ein allgemeiner Industrieroboter wird gemäß einem Betriebsprogramm angetrieben, das im Voraus erstellt wird. Alternativ wird der Roboter angetrieben, um durch einen Einlernpunkt zu gehen, der beispielsweise über ein Handbediengerät im Voraus eingelernt wird. Mit anderen Worten wird der Roboter auf einer vorbestimmten Bahn angetrieben.
  • Selbst bei einem Robotersystem, das es einer Person ermöglicht, mit einem Roboter zusammen zu arbeiten, kann die Bahn des Roboters im Voraus eingestellt werden, um den Roboter auf der generierten Bahn fahren zu lassen. Wenn jedoch eine Person mit dem Roboter zusammen arbeitet, kann mehr als ein Arbeitsverfahren auswählbar sein. Beispielsweise können in Fabriken zur Herstellung von Produkten Werkstücke von Start- zu Zielpositionen transportiert werden. Um Werkstücke zu transportieren, können die Werkstücke durch Zusammenarbeit zwischen der Person und dem Roboter angehoben werden und zu den Zielpositionen transportiert werden. Der Roboter kann zu transportierende Objekte anheben und transportieren. In diesem Fall sind zahlreiche Optionen verfügbar, z.B. für die Ausrichtung und Geschwindigkeit, mit denen die Werkstücke angehoben werden.
  • Die Belastungshöhe für eine Person variiert für jedes Verfahren zum Steuern eines Roboters, um ein Werkstück zu handhaben. Selbst wenn beispielsweise der gleiche Arbeitsschritt ausgeführt wird, variiert das Ausmaß der Ermüdung einer Person, und die Belastungshöhe variiert auch in Abhängigkeit von der Geschwindigkeit oder der Entfernung zu der Person. Es wird daher bevorzugt, ein geeignetes Verfahren zum Steuern eines Roboters einzustellen. Es gibt jedoch zahlreiche Verfahren, um einen Roboter zu steuern. Zudem kann eine Person je nach der ausgeführten Arbeit verschiedene Handlungsmuster aufweisen. Dadurch wird es schwierig, ein optimales Verfahren zum Steuern eines Roboters gemäß den Arbeitseinzelheiten einzustellen.
  • Weiterer Stand der Technik ist bekannt aus den Druckschriften EP 0 997 426 B1 , US 2016 / 0 209 817 A1 , US 2011 / 0 015 785 A1 , US 7 478 073 B2 , US 6 353 814 B1 und JP 2011 - 248 728 A .
  • Es ist Aufgabe der vorliegenden Erfindung, eine maschinelle Lernvorrichtung, Robotersysteme und ein maschinelles Lernverfahren bereitzustellen, durch welche die oben genannten Probleme vermieden werden.
  • Diese Aufgabe wird erfindungsgemäß durch eine maschinelle Lernvorrichtung, Robotersysteme und ein maschinelles Lernverfahren gemäß den unabhängigen Ansprüchen gelöst. Bevorzugte Ausführungsformen sind in den abhängigen Ansprüchen genannt.
  • Gemäß einem ersten Aspekt wird eine maschinelle Lernvorrichtung für einen Roboter bereitgestellt, die es einer Person und dem Roboter ermöglicht, zusammen zu arbeiten, wobei die maschinelle Lernvorrichtung Folgendes umfasst: eine Zustandsbeobachtungseinheit, die eine Zustandsvariable beobachtet, die einen Zustand des Roboters während eines Zeitraums, in dem die Person und der Roboter zusammen arbeiten, darstellt; eine Einheit zum Erzielen von Bestimmungsdaten, die Bestimmungsdaten für mindestens eine von einer Belastungshöhe für die Person und einer Arbeitseffizienz erzielt; und eine Lerneinheit, die einen Trainingsdatensatz zum Einstellen einer Handlung des Roboters basierend auf der Zustandsvariablen und den Bestimmungsdaten lernt.
  • Die Zustandsvariable umfasst mindestens eines von einer Position, einer Ausrichtung, einer Geschwindigkeit und einer Beschleunigung des Roboters. Die Bestimmungsdaten umfassen bevorzugt mindestens eine von einer Größenordnung und einer Richtung einer Last, die von dem Roboter erfasst werden, einer Größenordnung und einer Richtung einer Last, die von einer Umgebung um den Roboter herum erfasst werden, einer Belastungshöhe für die Umgebung um den Roboter herum, und einer Zeit, die benötigt wird, um den Roboter zu bewegen.
  • Der Trainingsdatensatz kann Folgendes umfassen: eine Handlungswertvariable, die einen Wert einer Handlung des Roboters darstellt, der für jeden Zustand des Roboters und jede Handlung des Roboters eingestellt wird, und die Lerneinheit kann eine Belohnungsberechnungseinheit umfassen, die basierend auf den Bestimmungsdaten und der Zustandsvariablen eine Belohnung einstellt; und eine Funktionsaktualisierungseinheit, welche die Handlungswertvariable basierend auf der Belohnung und der Zustandsvariablen aktualisiert. Die Belohnungsberechnungseinheit kann eine größere Belohnung für einen kleineren absoluten Wert einer Beschleunigung des Roboters und ein größere Belohnung für eine kürzere Zeit, die benötigt wird, um den Roboter zu bewegen, einstellen.
  • Der Trainingsdatensatz kann Folgendes umfassen: ein Lernmodell für den Roboter, das für jeden Zustand des Roboters und jede Handlung des Roboters eingestellt ist, und die Lerneinheit kann eine Fehlerberechnungseinheit umfassen, die einen Fehler des Lernmodells basierend auf den Bestimmungsdaten, der Zustandsvariablen und eingegebenen Lehrerdaten berechnet; und eine Lernmodell-Aktualisierungseinheit, die das Lernmodell basierend auf dem Fehler und der Zustandsvariablen aktualisiert. Die maschinelle Lernvorrichtung kann ferner eine Personenidentifizierungseinheit umfassen, die eine Person identifiziert, die mit dem Roboter zusammen arbeitet, wobei der Trainingsdatensatz für jede Person erstellt werden kann, und die Lerneinheit den Trainingsdatensatz für die identifizierte Person lernen kann. Die maschinelle Lernvorrichtung kann ein neuronales Netz umfassen. Der Roboter kann einen von einem Industrieroboter, einem Feldroboter und einem Serviceroboter umfassen.
  • Gemäß einem zweiten Aspekt wird ein Robotersystem bereitgestellt, das Folgendes umfasst: die maschinelle Lernvorrichtung wie zuvor beschrieben; und eine Handlungssteuereinheit, die eine Handlung des Roboters steuert. Die maschinelle Lernvorrichtung kann eine Entscheidungseinheit umfassen, die eine Handlung des Roboters basierend auf dem Trainingsdatensatz einstellt, wobei die Handlungssteuereinheit die Handlung des Roboters basierend auf einem Befehl von der Entscheidungseinheit steuert.
  • Gemäß einem dritten Aspekt wird ein Robotersystem bereitgestellt, das Folgendes umfasst: den Roboter-Controller wie zuvor beschrieben; einen Roboter, der einer Person bei der Arbeit hilft; und einen Endeffektor, der an dem Roboter angebracht ist. Der Roboter kann Folgendes umfassen: einen Kraftdetektor, der ein Signal ausgibt, das einer Kraft von der Person entspricht; und einen Zustandsdetektor, der eine Position und eine Ausrichtung des Roboters detektiert, wobei die Einheit zum Erzielen von Bestimmungsdaten die Bestimmungsdaten basierend auf der Ausgabe des Kraftdetektors und die Zustandsbeobachtungseinheit die Zustandsvariable basierend auf der Ausgabe des Zustandsdetektors erzielen kann. Der Zustandsdetektor kann mindestens einen von einem Bewegungssensor, einem Drucksensor, einem Drehmomentsensor für einen Motor und einen Kontaktsensor umfassen. Das Robotersystem kann ferner eine Vielzahl von Robotern umfassen; eine Vielzahl von Roboter-Controllern; und eine Kommunikationsleitung, welche die Vielzahl von Roboter-Controllern miteinander verbindet, wobei jeder der Vielzahl von Robotern den Trainingsdatensatz für einen Roboter, der von dem Roboter-Controller gesteuert wird, unabhängig lernen kann und gelernte Informationen über die Kommunikationsleitung senden und teilen kann.
  • Gemäß einem vierten Aspekt wird ein maschinelles Lernverfahren für einen Roboter bereitgestellt, das es einer Person und dem Roboter ermöglicht, zusammen zu arbeiten, wobei das maschinelle Lernverfahren folgende Schritte umfasst: Beobachten einer Zustandsvariablen, die einen Zustand des Roboters während eines Zeitraums, in dem die Person und der Roboter zusammen arbeiten, darstellt; Erzielen von Bestimmungsdaten für mindestens eine von einer Belastungshöhe für die Person und einer Arbeitseffizienz; und Lernen eines Trainingsdatensatzes zum Einstellen einer Handlung des Roboters basierend auf der Zustandsvariablen und den Bestimmungsdaten.
  • Die vorliegende Erfindung wird mit Bezug auf die beiliegenden Zeichnungen besser verständlich werden. Es zeigen:
    • 1 eine Ansicht, die schematisch abbildet, wie ein Roboter und eine Person bei einer Ausführungsform zusammen arbeiten;
    • 2 ein Blockdiagramm, das ein beispielhaftes Robotersystem bei der Ausführungsform abbildet;
    • 3 ein Diagramm, das schematisch ein Modell für ein Neuron darstellt;
    • 4 ein Diagramm, das schematisch ein dreischichtiges neuronales Netz darstellt, das durch das Kombinieren von Neuronen gebildet wird, wie in 3 abgebildet;
    • 5 eine schematische Ansicht zum Erklären eines Wegs zum Transportieren eines Werkstücks;
    • 6 eine Ansicht zum Erklären der Bewegungspunkte für den Roboterspitzenpunkt;
    • 7 eine vergrößerte Ansicht zum Erklären der Bewegungspunkte für den Roboterspitzenpunkt;
    • 8 ein Blockdiagramm, das ein anderes beispielhaftes Robotersystem bei der Ausführungsform darstellt; und
    • 9 ein Blockdiagramm, das eine Änderung des in 2 abgebildeten Robotersystems abbildet.
  • Eine maschinelle Lernvorrichtung, ein Roboter-Controller, ein Robotersystem und ein maschinelles Lernverfahren gemäß einer Ausführungsform werden nachstehend mit Bezug auf die beiliegenden Zeichnungen beschrieben. Es versteht sich jedoch, dass die vorliegende Erfindung weder auf die Zeichnungen noch auf die nachstehende Ausführungsform einzuschränken ist.
  • Das Robotersystem ermöglicht es einer Person und einem Roboter, zusammen zu arbeiten, um einen vorbestimmten Arbeitsschritt auszuführen. Diese Ausführungsform erläutert, wie eine Person und ein Roboter zusammen arbeiten, um ein Werkstück zu transportieren.
  • 1 ist eine schematische Ansicht, die das Robotersystem bei dieser Ausführungsform abbildet. 2 ist ein Blockdiagramm, das ein beispielhaftes Robotersystem bei dieser Ausführungsform abbildet. Mit Bezug auf 1 und 2 umfasst ein Robotersystem 3 einen Roboter 1, der beim Transportieren eines Werkstücks W behilflich ist, und einen Roboter-Controller 2, der den Roboter 1 steuert. Der Roboter 1 gemäß dieser Ausführungsform ist als Knickarmroboter umgesetzt, der einen Arm 12 und eine Vielzahl von Gelenkabschnitten 13 umfasst. Das Robotersystem 3 umfasst eine Hand 6, die als Endeffektor dient, der an dem Roboter 1 angebracht ist. Die Hand 6 erfüllt die Funktion des Ergreifens und Loslassens des Werkstücks W. Der Endeffektor ist nicht auf eine Hand eingeschränkt, und es kann ein Endeffektor, der für Feinarbeit geeignet ist, verwendet werden.
  • Der Roboter 1 umfasst eine Armantriebsvorrichtung 44, welche die Gelenkabschnitte 13 antreibt. Die Armantriebsvorrichtung 44 umfasst Armantriebsmotoren 14, die in den Gelenkabschnitten 13 eingebaut sind. Die Armantriebsmotoren 14 können den Arm in gewünschten Winkeln in den Gelenkabschnitten 13 antreiben und beugen. Der Roboter 1 bei dieser Ausführungsform wird derart zusammengebaut, dass sich der ganze Arm 12 um eine Achse drehen kann, die sich senkrecht erstreckt. Die Armantriebsmotoren 14 umfassen Motoren, die den Arm 12 drehen.
  • Der Roboter 1 umfasst eine Handantriebsvorrichtung 45, welche die Hand 6 öffnet und schließt. Die Handantriebsvorrichtung 45 bei dieser Ausführungsform umfasst einen Handantriebszylinder 18, der die Hand 6 antreibt, und eine Luftpumpe und ein Magnetventil, um den Handantriebszylinder 18 mit Druckluft zu versorgen.
  • Der Roboter 1 umfasst einen Basisabschnitt 11, der den Arm 12 trägt. Der Roboter 1 bei dieser Ausführungsform umfasst einen Kraftdetektor 19, der eine Kraft detektiert, die auf den Basisabschnitt 11 einwirkt. Die Kraft, die auf den Basisabschnitt 11 einwirkt, entspricht der Kraft, die auf den Roboter 1 einwirkt. Der Kraftdetektor 19 gibt ein Signal aus, das einer Kraft entspricht, die von einer Person ausgeübt wird. Der Kraftdetektor 19 bei dieser Ausführungsform ist an einer Bodenfläche 20 befestigt.
  • Der Kraftdetektor 19 kann ein beliebiger Detektor sein, der in der Lage ist, die Größenordnung und Richtung der Kraft, die auf den Roboter 1 einwirkt, zu detektieren. Der Kraftdetektor 19 bei dieser Ausführungsform umfasst ein Metallsubstrat, das mit dem Basisabschnitt 11 verbunden ist, und einen Dehnungssensor, der an der Substratoberfläche angebracht ist. Der Kraftdetektor 19 kann eine Kraft, die auf den Roboter 1 einwirkt, basierend auf dem Ausmaß der Verformung, das von dem Dehnungssensor detektiert wird, berechnen.
  • Der Roboter 1 bei dieser Ausführungsform umfasst einen Zustandsdetektor, der die Position und Ausrichtung des Roboters detektiert. Der Zustandsdetektor detektiert die Position des Roboterspitzenpunktes und die Ausrichtung des Roboters 1. Der Zustandsdetektor bei dieser Ausführungsform umfasst einen Drehwinkeldetektor 15, der an jedem Armantriebsmotor 14 angebracht ist. Der Drehwinkeldetektor 15 detektiert den Winkel der Drehung, mit der jeder Armantriebsmotor 14 angetrieben wird. Position, Ausrichtung, Geschwindigkeit und Beschleunigung des Roboters 1 können basierend auf den Drehwinkeln der Armantriebsmotoren 14 detektiert werden.
  • Der Zustandsdetektor kann nicht nur der Drehwinkeldetektor 15 sein, sondern beispielsweise auch eine Kamera, ein Bewegungssensor, ein Drucksensor, ein Drehmomentsensor für einen Motor und ein Kontaktsensor. Mit anderen Worten kann die Zustandsvariable, die von der Zustandsbeobachtungseinheit 51 beobachtet wird, nicht nur die Ausgabe des Drehwinkeldetektors 15 sein, sondern auch Daten (Zustandsgröße), die beispielsweise von einer Kamera, einem Bewegungssensor, einem Drucksensor, einem Drehmomentsensor für einen Motor und einem Kontaktsensor erzielt werden. Diese Detektoren, wie etwa eine Kamera, ein Bewegungssensor, ein Drucksensor, ein Drehmomentsensor für einen Motor und ein Kontaktsensor, können natürlich beispielsweise direkt in vorbestimmten Abschnitten des Roboters 1 (Hand 6) angeordnet oder in geeigneten Abschnitten um den Roboter 1 herum eingebaut sein.
  • Der Roboter 1 wird basierend auf einem Betriebsbefehl für den Roboter-Controller 2 angetrieben. Der Roboter-Controller 2 umfasst einen arithmetischen Prozessor, der z.B. eine CPU (Zentraleinheit), einen RAM (Arbeitsspeicher) und einen ROM (Festspeicher), die über Busse miteinander verbunden sind, umfasst. Der Roboter-Controller 2 umfasst eine Speichereinheit 59, die diverse Informationsarten speichert. Der Roboter-Controller 2 umfasst eine Handlungssteuereinheit 43, welche die Armantriebsvorrichtung 44 und die Handantriebsvorrichtung 45 steuert. Die Armantriebsvorrichtung 44 und die Handantriebsvorrichtung 45 werden gemäß einem Betriebsbefehl von der Handlungssteuereinheit 43 angetrieben.
  • Der Roboter-Controller 2 bei dieser Ausführungsform umfasst eine externe Kraftberechnungseinheit 46, die eine externe Kraft schätzt, die von außerhalb des Roboters 1 auf den Roboter 1 ausgeübt wird. Die Kraft, die von dem Kraftdetektor 19 detektiert wird, umfasst eine interne Kraft, die durch die Masse des Roboters 1 und die Betätigung des Roboters 1 generiert wird, und ein externe Kraft, die von außerhalb des Roboters 1 auf den Roboter 1 ausgeübt wird.
  • Die externe Kraftberechnungseinheit 46 berechnet eine interne Kraft, die auf den Roboter 1 einwirkt, durch das Eigengewicht des Roboters 1, wenn der Roboter 1 funktioniert, während keine Kraft von außerhalb des Roboters 1 ausgeübt wird. Eine interne Kraft kann basierend auf der Position und Ausrichtung des Roboters 1 berechnet werden, die basierend auf der Ausgabe des Drehwinkeldetektors 15 kombiniert mit der Masse des Roboters 1 und anderen Faktoren detektiert werden. Die Masse des Roboters 1 und andere Faktoren können im Voraus in der Speichereinheit 59 gespeichert werden. Die externe Kraftberechnungseinheit 46 subtrahiert die interne Kraft von der Kraft, die durch den Kraftdetektor 19 detektiert wird, um eine externe Kraft zu berechnen. Die externe Kraft entspricht der Kraft, die von einer Person 85 auf ein Werkstück ausgeübt wird.
  • Der Roboter-Controller 2 umfasst eine Eingabeeinheit 41 und eine Anzeigeeinheit 42. Die Anzeigeeinheit 42 kann Informationen über die Betätigung des Roboters 1 anzeigen. Beispiele der Anzeigeeinheit 42 können eine Flüssigkristallanzeige umfassen. Die Eingabeeinheit 41 ermöglicht es einer Person, einen gewünschten Befehl in den Roboter-Controller 2 einzugeben. Beispiele der Eingabeeinheit 41 können eine Tastatur umfassen.
  • 5 ist eine schematische Ansicht, um einen Weg zum Transportieren eines Werkstücks in dem Robotersystem gemäß der vorliegenden Ausführungsform zu erklären. Mit Bezug auf 1 und 5 wird bei dieser Ausführungsform das Werkstück W, das auf die Bodenfläche 20 gelegt wird, auf die obere Oberfläche eines Arbeitstischs 81 transportiert. Das Werkstück W ist beispielsweise ein schweres Werkstück. Es kann für die Person 55 sehr anstrengend oder schwierig sein, ein derartiges Werkstück zu transportieren. Das Werkstück W bei dieser Ausführungsform dient als Kraftfahrzeugreifen.
  • Beim Transportieren des Werkstücks W gibt es mehrere Wege zum Transportieren des Werkstücks W, wie durch die Pfeile 91 bis 93 angegeben. Die Person 85 erfährt ein Intervall, in dem die Person vielleicht bevorzugt eine große Kraft ausübt, oder ein Intervall, in dem die Person vielleicht nur eine geringe Kraft ausübt. Selbst wenn das Werkstück W an die gleiche Position gesetzt wird, kann der Roboter 1 diverse Ausrichtungen aufweisen.
  • Mit Bezug auf 2 umfasst der Roboter-Controller 2 bei dieser Ausführungsform eine maschinelle Lernvorrichtung 5, die das Handlungsmuster einer Person lernt und wiederum ein Verfahren zum Steuern eines Roboters lernt, um die Person entsprechend zu unterstützen. Die maschinelle Lernvorrichtung 5 bei dieser Ausführungsform wählt eine Handlung des Roboters 1 aus, die an einem vorbestimmten Bewegungspunkt während des Zeitraums, in dem der Roboter 1 angetrieben wird, als optimal bestimmt wird. Mit anderen Worten sendet die maschinelle Lernvorrichtung 5 einen Befehl, um den Roboter 1 in einem Antriebsmuster anzutreiben, das als optimal bestimmt wird.
  • Die maschinelle Lernvorrichtung 5 umfasst eine Zustandsbeobachtungseinheit 51, die eine Zustandsvariable erzielt, die den Zustand des Roboters 1 während des Zeitraums, in dem die Person 85 und der Roboter 1 zusammen arbeiten, darstellt. Die Zustandsvariable umfasst bei dieser Ausführungsform Position, Ausrichtung, Geschwindigkeit und Beschleunigung des Roboters 1. Beispielsweise kann man die Position, die Geschwindigkeit und die Beschleunigung an dem Roboterspitzenpunkt als Zustandsvariablen verwenden. Position, Ausrichtung, Geschwindigkeit und Beschleunigung des Roboters 1 können basierend auf der Ausgabe des Drehwinkeldetektors 15 detektiert werden. Eine Signalausgabe von dem Drehwinkeldetektor 15 wird in die Zustandsbeobachtungseinheit 51 eingegeben.
  • Die Zustandsvariable ist nicht auf diese Form eingeschränkt, sondern kann beliebigen Variablen entsprechen, die den Roboterzustand darstellen. Beispielsweise kann die Zustandsbeobachtungseinheit 51 mindestens eine Variable der Position, Ausrichtung, Geschwindigkeit und Beschleunigung des Roboters 1 erzielen.
  • Die maschinelle Lernvorrichtung 5 umfasst eine Einheit zum Erzielen von Bestimmungsdaten 52, die Bestimmungsdaten erzielt, die mit der Belastung für die Person 85 verknüpft sind. Die Bestimmungsdaten umfassen bei dieser Ausführungsform die Größenordnung und Richtung der Kraft, die von der Person 85 ausgeübt wird, um das Werkstück W zu transportieren. Die Bestimmungsdaten umfassen bei dieser Ausführungsform ferner die Zeit, die benötigt wird, um das Werkstück W zu bewegen.
  • Die Einheit zum Erzielen von Bestimmungsdaten 52 erzielt bei dieser Ausführungsform Bestimmungsdaten basierend auf der Ausgabe des Kraftdetektors 19. Die Größenordnung der externen Kraft, die von der externen Kraftberechnungseinheit 46 berechnet wird, entspricht der Größenordnung der Kraft, die von der Person 85 ausgeübt wird. Die Richtung der externen Kraft, die von der externen Kraftberechnungseinheit 46 berechnet wird, entspricht der Richtung der Kraft, die von der Person 85 auf das Werkstück W ausgeübt wird. Die Einheit zum Erzielen von Bestimmungsdaten 52 empfängt die Größenordnung und Richtung der Kraft, die von der Person 85 ausgeübt wird, von der externen Kraftberechnungseinheit 46.
  • Der Roboter-Controller 2 umfasst eine Bewegungszeit-Messeinheit 47, welche die Arbeitszeit misst. Die Bewegungszeit-Messeinheit 47 berechnet bei dieser Ausführungsform die Zeit, die benötigt wird, um sich zwischen den Bewegungspunkten zu bewegen (was noch beschrieben wird). Die Bewegungszeit-Messeinheit 47 berechnet bei dieser Ausführungsform die Bewegungszeit basierend auf einem Befehl von der Handlungssteuereinheit 43. Die Bewegungszeit, die von der Bewegungszeit-Messeinheit 47 gemessen wird, wird an die Einheit zum Erzielen von Bestimmungsdaten 52 gesendet.
  • Die Bestimmungsdaten sind nicht auf die zuvor erwähnte Form eingeschränkt, sondern können beliebige Daten sein, die mit mindestens einer von der Belastungshöhe für die Person und der Arbeitseffizienz verknüpft sind. Beispielsweise können die Bestimmungsdaten nicht nur beispielsweise die Größenordnung und die Richtung einer Last, die von dem Roboter erfasst wird, die Größenordnungen und die Richtungen von Lasten, die von Personen oder Objekten in der Umgebung erfasst werden, die Belastungshöhen für die Personen oder Objekte in der Umgebung und die Bewegungszeit, sondern auch Informationen beispielsweise von einer Kamera, einem Bewegungssensor und einem Drucksensor sein. Bei der vorliegenden Beschreibung umfasst die Person nicht nur einen Bediener, der die Verarbeitung (Arbeitsschritt) tatsächlich in Zusammenarbeit mit dem Roboter ausführt, sondern auch diverse Personen, wie etwa Personen, welche die Verarbeitung um den Roboter herum beobachten, oder eine Person, die zufällig in der Nähe des Roboters vorbeigeht, obwohl sie den Roboter nicht direkt betätigen.
  • Die maschinelle Lernvorrichtung 5 umfasst bei dieser Ausführungsform eine Lerneinheit 54, die einen Trainingsdatensatz zum Einstellen der Handlung des Roboters basierend auf der Zustandsvariablen und den Bestimmungsdaten lernt. Die Lerneinheit 54 erzielt die Zustandsvariable von der Zustandsbeobachtungseinheit 51. Die Lerneinheit 54 erzielt ferner die Bestimmungsdaten von der Einheit zum Erzielen von Bestimmungsdaten 52. Der Trainingsdatensatz bedeutet einen Satz von Wertinformationen, die mit Handlungen verknüpft sind, die basierend auf der Zustandsvariablen und den Bestimmungsdaten definiert werden. Die maschinelle Lernvorrichtung 5 kann ein Verfahren zum Antreiben des Roboters durch Vergleichen von Werten, die mit dem Zustand und der Handlung verknüpft sind, in dem Trainingsdatensatz einstellen. Die vorliegende Ausführungsform ist nicht auf einen Industrieroboter eingeschränkt und ist natürlich beispielsweise auch auf einen Feldroboter oder einen Serviceroboter anwendbar.
  • Die maschinelle Lernvorrichtung wird nachstehend beschrieben. Die maschinelle Lernvorrichtung erfüllt die Funktion des Entnehmens, z.B. einer nützlichen Regel, einer Wissensdarstellung und eines Bestimmungskriteriums durch Analyse aus einem Satz von Daten, die in die Vorrichtung eingegeben werden, des Ausgebens der Bestimmungsergebnisse und des Lernens des Wissens (maschinelles Lernen). Es gibt viele verschiedene maschinelle Lerntechniken, die etwa z.B. in „betreutes Lernen“, „unbetreutes Lernen“ und „Verstärkungslernen“ klassifiziert werden können. Um diese Techniken umzusetzen, steht eine andere Technik zur Verfügung, die als „tiefgehendes Lernen“ bezeichnet wird, wobei das Entnehmen der Merkmalsbeträge selber gelernt wird.
  • Die in 2 abgebildete maschinelle Lernvorrichtung 5 verwendet das „Verstärkungslernen“ und eine maschinelle Lernvorrichtung 7 (die noch mit Bezug auf 9 beschrieben wird) verwendet das „betreute Lernen“. Obwohl diese Arten des maschinellen Lernens (maschinelle Lernvorrichtungen 5 und 7) einen universellen Computer oder Prozessor verwenden können, ermöglicht die Verwendung beispielsweise von GPGPU (universelles Rechnen mit Grafikzentraleinheiten) oder großformatigen PC-Clustern eine schnellere Verarbeitung.
  • Beim betreuten Lernen werden zunächst Lehrerdaten, d.h. eine große Anzahl von Datensätzen von bestimmten Eingaben und Ergebnissen (Kennzeichnungen) in eine maschinelle Lernvorrichtung eingespeist, die Merkmale lernt, die in diesen Datensätzen beobachtet werden und induktiv ein Modell (Lernmodell) zum Schätzen des Ergebnisses aus der Eingabe, d.h. ihrer Beziehung, erfasst. Das betreute Lernen kann unter Verwendung eines Algorithmus, wie etwa eines neuronalen Netzes (das noch beschrieben wird), umgesetzt werden.
  • Beim unbetreuten Lernen werden nur Eingabedaten in großen Mengen in eine Lernvorrichtung eingespeist, welche die Verteilung der Eingabedaten lernt und wiederum einen Lernvorgang mit einer Vorrichtung ausführt, die z.B. die Eingabedaten komprimiert, klassifiziert und in Form bringt, ohne dass entsprechende Lehrerausgabedaten in die Lernvorrichtung eingespeist würden. Dies ermöglicht beispielsweise eine Gruppierung der Merkmale, die in diesen Datensätzen zu sehen sind, in ähnliche Merkmale. Das erzielte Ergebnis kann verwendet werden, um gewisse Kriterien zu definieren und Ausgaben gemäß den Kriterien optimiert zuzuteilen, wodurch eine Ausgabe vorhergesagt wird.
  • Es gibt auch eine zwischenliegende Problemstellung zwischen dem unbetreuten Lernen und dem betreuten Lernen, die als teilbetreutes Lernen bezeichnet wird. Dies ist der Fall, wenn beispielsweise nur einige Daten als Datensätze von Eingaben und Ausgaben dienen und die übrigen Daten nur Eingaben umfassen. Bei dieser Ausführungsform kann das Lernen effizient erfolgen, indem Daten (z.B. Bilddaten oder Simulationsdaten), die auch ohne eine tatsächliche Bewegung des Roboters erzielt werden können, auf das unbetreute Lernen angewendet werden.
  • Nachstehend wird das Verstärkungslernen beschrieben. Die Problemstellung des Verstärkungslernens wird folgendermaßen angegangen:
    • • der Roboter beobachtet den Umgebungszustand, um über seine Handlung zu entscheiden;
    • • die Umgebung kann sich gemäß einer gewissen Regel ändern, und eine Person kann die Umgebung durch ihre eigene Handlung ändern;
    • • ein Belohnungssignal wird jedes Mal zurückgegeben, wenn eine Handlung erfolgt ist;
    • • die Summe von zukünftigen (Abschlag-) Belohnungen soll maximiert werden;
    • • das Lernen beginnt in einem Zustand, in dem ein Ergebnis, das durch die Handlung erbracht werden soll, völlig unbekannt oder nur unvollständig bekannt ist. Mit anderen Worten kann der Roboter das Ergebnis einer Handlung nur als Daten erzielen, nachdem er tatsächlich die Handlung vorgenommen hat. Dies bedeutet, dass eine optimale Handlung bevorzugt empirisch-praktisch gesucht werden kann; und
    • • wie bei der Nachahmung des menschlichen Verhaltens kann das Lernen an einem guten Startpunkt beginnen, indem es von einem Anfangszustand ausgeht, in dem das Lernen im Voraus ausgeführt wurde (eine Technik wie etwa das zuvor erwähnte betreute Lernen oder umgekehrtes Verstärkungslernen).
  • Beim Verstärkungslernen wird zusätzlich zu der Bestimmung und Klassifizierung eine Handlung gelernt, um ein Verfahren zum Lernen einer geeigneten Handlung unter Berücksichtigung der Wechselwirkungen, die durch die Handlung auf die Umgebung ausgeübt werden, zu erfassen, d.h. Lernen um die Belohnung zu maximieren, die in Zukunft erzielt werden soll. Obwohl auf diese Beschreibung ein Beispiel des Q-Lernens folgt, ist die vorliegende Erfindung nicht darauf eingeschränkt.
  • Beim Q-Lernen wird ein Wert Q(s, a) der Auswahl einer Handlung a in einem bestimmten Umgebungszustand s gelernt. Mit anderen Worten kann eine Handlung, die den höchsten Wert Q(s, a) in dem bestimmten Zustand s aufweist, bevorzugt als optimale Handlung ausgewählt werden. Zunächst ist jedoch ein richtiger Wert Q(s, a) für ein Paar aus einem Zustand s und einer Handlung a völlig unbekannt. Der Agent (der Gegenstand einer Handlung) wählt diverse Handlungen a in dem bestimmten Zustand s aus, und für die Handlungen a werden Belohnungen geboten. Mit diesem Vorgang lernt der Agent, eine bessere Handlung auszuwählen, d.h. einen richtigen Wert Q(s, a).
  • Um die Summe der zukünftig zu erzielenden Belohnungen als Ergebnis der Handlungen zu maximieren, muss schließlich Q(s, a) = E[Σ(γt)rt] erfüllt werden, wobei E[] der erwartete Wert ist, t die Zeit ist, y ein Parameter ist, der als Abschlagrate bezeichnet wird (was noch beschrieben wird), rt die Belohnung zum Zeitpunkt t ist, und Σ die Summe zum Zeitpunkt t ist. Der erwartete Wert in diesem Ausdruck wird als Reaktion auf eine Änderung des Zustands genommen, die auf eine optimale Handlung folgt, und ist ein unbekannter Wert, der durch eine Suche gelernt wird. Ein Aktualisierungsausdruck eines derartigen Wertes Q(s, a) wird beispielsweise durch: Q ( s t ,   a t ) Q ( s t , a t ) + α ( r t + 1 + γ max α Q ( s t + 1 , a ) Q ( s t , a t ) )
    Figure DE102016015866B3_0001
    gegeben, wobei st der Umgebungszustand zum Zeitpunkt t ist und at die Handlung zum Zeitpunkt t ist. Bei der Handlung at ändert sich der Zustand auf st+1·rt+1 ist die Belohnung, die bei einer Zustandsänderung empfangen wird. Der Term mit „max“ ist das Produkt des Q-Wertes mal y, wenn eine Handlung a, die den höchsten Q-Wert aufweist, der in dem Zustand st+1 bekannt ist, ausgewählt wird. γ ist ein Parameter, der als Abschlagrate bezeichnet wird und 0 < γ ≤ 1 erfüllt. α ist ein Lernfaktor, der 0 < α ≤ 1 erfüllt.
  • Der Ausdruck (1) stellt ein Verfahren zum Aktualisieren des Auswertungswertes Q(st, at) der Handlung at in dem Zustand st dar, basierend auf der Belohnung rt+1, die als Ergebnis des Versuchs at zurückgegeben wird. Genauer gesagt wird, wenn die Summe der Belohnung rt+1 und des Auswertungswertes Q(st+1, max at+1) der besten Handlung max a in dem Zustand nach dem Zustand s bei der Handlung a größer als der Auswertungswert Q(st, at) der Handlung a in dem Zustand s ist, Q(st, at) erhöht; ansonsten wird Q(st, at) reduziert. Mit anderen Worten wird der Wert einer bestimmten Handlung in einem bestimmten Zustand der Belohnung, die sofort als Ergebnis zurückgegeben wird, und dem Wert der besten Handlung in dem nachfolgenden Zustand bei der bestimmten Handlung näher gebracht.
  • Verfahren zum Darstellen von Q(s, a) auf einem Computer umfassen ein Verfahren zum Halten der Zahlenwerte aller Zustands-Handlungs-Paare (s, a) in Form einer Tabelle und ein Verfahren zum Bereitstellen einer Funktion, die Q(s, a) nähert. Mit dem letztgenannten Verfahren kann der zuvor erwähnte Ausdruck (1) umgesetzt werden, indem der Parameter einer Näherungsfunktion unter Verwendung einer Technik, wie etwa des stochastischen konjugierten Gradientenverfahrens, angepasst wird. Ein neuronales Netz (das noch beschrieben wird) kann als Näherungsfunktion verwendet werden.
  • Neuronale Netzwerke können auch als Lernmodelle für betreutes Lernen und unbetreutes Lernen oder als Näherungsalgorithmen für Wertfunktionen beim Verstärkungslernen verwendet werden. 3 ist ein Diagramm, das schematisch ein Modell für ein Neuron darstellt, und 4 ist ein Diagramm, das schematisch ein dreischichtiges neuronales Netz darstellt, das dadurch gebildet wird, dass Neuronen kombiniert werden, wie in 3 abgebildet. Genauer gesagt wird das neuronale Netz beispielsweise durch eine arithmetische Vorrichtung und einen Speicher, der ein Modell für ein Neuron nachahmt, wie beispielsweise in 3 abgebildet, umgesetzt.
  • Wie in 3 abgebildet, dienen die Neuronen zum Ausgeben einer Ausgabe (Ergebnis) y für eine Vielzahl von Eingaben x (3 bildet beispielsweise die Eingaben x1 bis x3 ab). Jede Eingabe x (x1, x2, x3) wird mit einer Gewichtung w (w1, w2, w3) multipliziert, die der Eingabe x entspricht. Mit diesem Vorgang sind die ausgegebenen Ergebnisse y der Neuronen folgendermaßen gegeben: y = f k ( i = 1 n x i w i θ )
    Figure DE102016015866B3_0002
    wobei θ die Vorspannung ist, und fk die Aktivierungsfunktion ist. Es sei zu beachten, dass die Eingabe x, das Ergebnis y und die Gewichtung w allesamt Vektoren sind.
  • Ein dreischichtiges neuronales Netz, das durch Kombinieren der Neuronen gebildet wird, wie in 3 abgebildet, wird nachstehend mit Bezug auf 4 beschrieben. Eine Vielzahl von Eingaben x (die Eingaben x1 bis x3 werden hier als Beispiel genommen) wird auf der linken Seite des neuronalen Netzes eingegeben, und die Ergebnisse y (die Ergebnisse y1 bis y3 werden hier als Beispiel genommen) werden auf der rechten Seite dieses Netzes ausgegeben, wie in 4 abgebildet. Genauer gesagt werden die Eingaben x1, x2 und x3 mit einer Gewichtung multipliziert, die jedem der drei Neuronen N11 bis N13 entspricht, und werden dann in die Neuronen eingegeben. Die Gewichtungen, die verwendet werden, um diese Eingaben zu multiplizieren, werden hier insgesamt mit W1 bezeichnet.
  • Die Neuronen N11 bis N13 geben jeweils z11 bis z13 aus. Mit Bezug auf 4 werden z11 bis z13 insgesamt als Merkmalsvektoren Z1 bezeichnet und können als Vektoren angesehen werden, die durch Entnehmen der Merkmalsbeträge der Eingabevektoren erzielt werden. Die Merkmalsvektoren Z1 werden zwischen den Gewichtungen W1 und W2 definiert. Z11 bis z13 werden mit einer Gewichtung multipliziert, die jedem von zwei Neuronen N21 und N22 entspricht, und werden dann in die Neuronen eingegeben. Die Gewichtungen, die verwendet werden, um diese Merkmalsvektoren zu multiplizieren, werden hier insgesamt mit W2 bezeichnet.
  • Die Neuronen N21 und N22 geben jeweils z21 und z22 aus. Mit Bezug auf 4 werden z21 und z22 insgesamt als Merkmalsvektoren Z2 bezeichnet. Die Merkmalsvektoren Z2 sind zwischen den Gewichtungen W2 und W3 definiert. z21 und z22 werden mit einer Gewichtung multipliziert, die jedem der drei Neuronen N31 bis N33 entspricht und eingegeben wird. Die Gewichtungen, die verwendet werden, um diese Merkmalsvektoren zu multiplizieren, werden hier insgesamt mit W3 bezeichnet.
  • Schließlich geben die Neuronen N31 bis N33 jeweils die Ergebnisse y1 bis y3 aus. Die Betätigung des neuronalen Netzes umfasst einen Lernmodus und einen Wertvorhersagemodus. Beispielsweise wird die Gewichtung W unter Verwendung eines Lerndatensatzes im Lernmodus gelernt, und eine Roboterhandlung wird im Vorhersagemodus unter Verwendung des Parameters bestimmt. Obwohl zuvor aus praktischen Gründen auf die „Vorhersage“ Bezug genommen wurde, sind natürlich viele verschiedene Arbeitsschritte, wie etwa Detektion, Klassifizierung und Inferenz möglich.
  • Daten, die durch die tatsächliche Betätigung des Roboters im Vorhersagemodus erzielt werden, können sofort gelernt werden und sich in der nachfolgenden Handlung (Online-Lernen) widerspiegeln, oder eine Gruppe von Daten, die im Voraus erhoben wurde, kann verwendet werden, um kollektives Lernen auszuführen und anschließend den Detektionsmodus unter Verwendung der gleichen Parameter (Stapellernen) auszuführen. Als ein anderer zwischenliegender Lösungsansatz kann der Lernmodus jedes Mal interpoliert werden, wenn sich eine gewisse Datenmenge angesammelt hat.
  • Die Gewichtungen W1 bis W3 können durch das Fehlerrückführungsverfahren gelernt werden. Die Information der Fehler tritt von rechts ein und fließt nach links. Das Fehlerrückführungsverfahren wird verwendet, um jede Gewichtung anzupassen (lernen), um die Differenz zwischen der wahren Ausgabe y (Lehrer) und der Ausgabe y, wenn die Eingabe x eingegeben wird, zu reduzieren.
  • Ein derartiges neuronales Netz kann mehr als drei Schichten aufweisen (so genanntes tiefgehendes Lernen). Es ist möglich, nur aus Lehrerdaten automatisch eine arithmetische Vorrichtung zu erfassen, die Merkmale der Eingabe schrittweise entnimmt und ein Ergebnis zurückgibt. Die maschinelle Lernvorrichtung 5 gemäß einer Ausführungsform umfasst beispielsweise eine Zustandsbeobachtungseinheit 51, eine Lerneinheit 54 und eine Entscheidungseinheit 58, wie in 2 abgebildet, um das zuvor beschriebene Q-Lernen auszuführen. Das maschinelle Lernverfahren, das auf die vorliegende Erfindung angewendet wird, ist jedoch nicht auf das Q-Lernen eingeschränkt, wie zuvor erwähnt. Mit anderen Worten sind diverse Techniken, wie etwa „betreutes Lernen“, „unbetreutes Lernen“, „teilbetreutes Lernen“ und „Verstärkungslernen (anderes Verstärkungslernen als Q-Lernen)“, die von der maschinellen Lernvorrichtung verwendet werden können, anwendbar.
  • 6 bildet eine schematische Ansicht ab, um die Bewegungspunkte bei dieser Ausführungsform zu erklären. 6 bildet ein Beispiel ab, bei dem sich der Roboterspitzenpunkt der einfachen Beschreibung halber auf einer zweidimensionalen Ebene bewegt. Das Werkstück W wird von einer Startposition 88 zu einer Zielposition 89 transportiert. Die Bewegungspunkte P werden in einem Schachbrettmuster in einer Region eingestellt, in der sich der Roboterspitzenpunkt wahrscheinlich bewegen wird. Der Bewegungspunkt P wird als ein Punkt definiert, an dem der Roboterspitzenpunkt vorbeigeht. Der Roboterspitzenpunkt bewegt sich von einem Bewegungspunkt P00 , welcher der Startposition 88 entspricht, zu einem Bewegungspunkt Pnm , welcher der Zielposition 89 entspricht.
  • 7 bildet eine schematische Ansicht ab, um zu erklären, wie sich der Roboterspitzenpunkt bewegt. Bei dieser Ausführungsform wird die Bewegungsrichtung des Roboterspitzenpunktes für jeden Bewegungspunkt P voreingestellt. Der Roboterspitzenpunkt bewegt sich in den Richtungen, die durch die Pfeile 94 bis 97 angegeben werden. Wenn sich der Roboterspitzenpunkt an einem Bewegungspunkt P befindet, bewegt er sich bei der nachfolgenden Handlung bis zu einem anderen Bewegungspunkt P. Wenn sich bei dem in 7 abgebildeten Beispiel der Roboterspitzenpunkt an dem Bewegungspunkt P11 befindet, bewegt er sich bis zu dem Bewegungspunkt P12 , P21 , P10 oder P01 .
  • Bei dieser Ausführungsform wird ein Verstärkungslernen, welches das zuvor erwähnte Q-Lernen verwendet, aus verschiedenen maschinellen Lernverfahren ausgeführt. Der Trainingsdatensatz bei dieser Ausführungsform umfasst eine Vielzahl von Handlungswertvariablen Q. Bei dieser Ausführungsform sind diverse Techniken anwendbar, wie etwa „betreutes Lernen“, „unbetreutes Lernen“, „teilbetreutes Lernen“ und „Verstärkungslernen (einschließlich Q-Lernen)“, wie bereits erwähnt.
  • Bei dieser Ausführungsform entspricht der Zustand st der Zustandsvariablen des Roboters 1. Mit anderen Worten umfasst der Zustand st beispielsweise die Position, Ausrichtung, Geschwindigkeit und Beschleunigung des Roboters 1. Die Handlung at entspricht beispielsweise der Bewegung des Roboterspitzenpunktes in den Richtungen, die von den Pfeilen 94 bis 97 angegeben werden. Die Handlung at umfasst beispielsweise die Position, Ausrichtung, Geschwindigkeit und Beschleunigung des Roboters 1 für eine Bewegung in den Richtungen, die von den Pfeilen 94 bis 97 angegeben werden.
  • Die Lerneinheit 54 bei dieser Ausführungsform aktualisiert die Handlungswertvariablen Q jedes Mal, wenn ein Werkstück W transportiert wird. Die Lerneinheit 54 umfasst eine Belohnungsberechnungseinheit 55, die eine Belohnung einstellt, und eine Funktionsaktualisierungseinheit 56, welche die Handlungswertvariablen Q aktualisiert. Die Belohnungsberechnungseinheit 55 stellt die Belohnung rt basierend auf den Bestimmungsdaten ein, die von der Einheit zum Erzielen von Bestimmungsdaten 52 erzielt werden. Die Belohnungsberechnungseinheit 55 kann die Belohnung rt basierend auf der Zustandsvariablen einstellen, die von der Zustandsbeobachtungseinheit 51 erzielt wird.
  • Die Belohnungsberechnungseinheit 55 kann eine größere Belohnung rt für eine geringere Belastung (Belastungshöhe) für die Person und eine höhere Arbeitseffizienz einstellen. Wenn das Werkstück W beispielsweise erheblich langsamer oder schneller wird, nimmt die Belastung für die Person zu, wodurch sich die Arbeitseffizienz verschlechtert. Genauer gesagt, je kleiner der absolute Wert der Beschleunigung (Beschleunigungsgrößenordnung) des Roboters 1, desto geringer die Belastung für die Person und desto höher die Arbeitseffizienz. Alternativ kann, wenn der absolute Wert der Beschleunigung groß ist, bestimmt werden, dass sich der Roboter 1 auf Grund der schnellen Betätigung des Roboters 1 in einem unerwünschten Zustand befindet. Somit kann die Belohnungsberechnungseinheit 55 eine größere Belohnung für einen kleineren absoluten Wert der Beschleunigung des Roboters 1 einstellen. Die Kraft, die von der Person ausgeübt wird, ist bevorzugt möglichst klein. Die Belohnungsberechnungseinheit 55 kann eine größere Belohnung für eine kleinere Kraft einstellen, die von der Person ausgeübt wird (externe Kraft, die auf den Roboter ausgeübt wird).
  • Je kürzer die Arbeitszeit, um das Werkstück W von der Startposition 88 zu der Zielposition 89 zu transportieren, desto geringer die Belastung für die Person und desto höher die Arbeitseffizienz. Daher stellt die Belohnungsberechnungseinheit 55 eine größere Belohnung für eine kürzere Zeit, die benötigt wird, um sich zwischen den Bewegungspunkten P zu bewegen, ein. In der in 5 abgebildeten Form verlängert sich der Transportweg, wenn das Werkstück W nach unten bewegt wird. Somit stellt die Belohnungsberechnungseinheit 55 eine schlechte Belohnung ein, wenn sich der Roboterspitzenpunkt nach unten bewegt oder die Person eine Kraft nach unten ausübt. Die Belastungshöhe für die Person bedeutet nicht nur die Belastung für die Person selber, sondern umfasst auch Belastungen, die auf diversen Faktoren basieren, wie etwa unerwarteter Kontakt und Drücken durch die Person, und kann sogar die Belastungshöhe umfassen, die nicht nur für die Person sondern beispielsweise auch für Objekte in der Umgebung gilt.
  • Zudem kann die Belohnungsberechnungseinheit 55 eine Belohnung basierend auf einer beliebigen Handlung der Person einstellen. Wenn beispielsweise das Werkstück W gegen den Arbeitstisch 81 stößt, kann die Belohnungsberechnungseinheit 55 eine schlechte positive Belohnung oder eine negative Belohnung einstellen.
  • Bei der Belohnungseinstellung kann die Person beispielsweise den Wert einer Belohnung für eine Variable, wie etwa die Größenordnung der Kraft, voreinstellen und sie in einer Speichereinheit 59 ablegen. Die Belohnungsberechnungseinheit 55 kann die Belohnung, die in der Speichereinheit 59 abgelegt ist, lesen und einstellen. Alternativ kann die Person einen arithmetischen Ausdruck zum Berechnen einer Belohnung in der Speichereinheit 59 im Voraus ablegen, und die Belohnungsberechnungseinheit 55 kann eine Belohnung basierend auf dem arithmetischen Ausdruck berechnen.
  • Die Funktionsaktualisierungseinheit 56 aktualisiert die Handlungswertvariablen Q, die den zuvor erwähnten Ausdruck (1) oder (2) verwenden. Mit anderen Worten wird der Wert der Handlung des Roboters an einem vorbestimmten Bewegungspunkt basierend auf der tatsächlichen Handlung des Roboters und der Kraft, die von der Person ausgeübt wird, aktualisiert.
  • Die Person kann die Startwerte der Handlungswertvariablen Q an jedem Bewegungspunkt P voreinstellen. Alternativ kann die Person zufällige Startwerte voreinstellen.
  • Die maschinelle Lernvorrichtung 5 umfasst eine Entscheidungseinheit 58, die eine Handlung des Roboters 1 basierend auf einem Trainingsdatensatz einstellt. Die Entscheidungseinheit 58 bei dieser Ausführungsform stellt eine Handlung des Roboters 1 basierend auf den Handlungswertvariablen Q ein, die von der Lerneinheit 54 aktualisiert werden. Beispielsweise kann die Entscheidungseinheit 58 eine Handlung auswählen, welche die größten Handlungswertvariablen Q aufweist. Das Verstärkungslernen bei dieser Ausführungsform verwendet das ε-gierige Verfahren. Bei dem ε-gierigen Verfahren stellt die Entscheidungseinheit 58 eine zufällige Handlung mit einer vorbestimmten Wahrscheinlichkeit ε ein. Die Entscheidungseinheit 58 stellt ferner eine Handlung ein, welche die maximalen Handlungswertvariablen Q mit einer Wahrscheinlichkeit (1-ε) aufweist. Mit anderen Worten wählt die Entscheidungseinheit 58 eine andere Handlung als diejenige aus, die mit der Wahrscheinlichkeit ε als optimal angesehen wird. Dieses Verfahren kann die Entdeckung einer besseren Roboterhandlung als derjenigen, die als optimal bestimmt wird, ermöglichen.
  • Ein Befehl für die Handlung des Roboters 1, der von der Entscheidungseinheit 58 eingestellt wird, wird an die Handlungssteuereinheit 43 gesendet. Die Handlungssteuereinheit 43 steuert den Roboter 1 und die Hand 6 basierend auf dem Befehl von der Entscheidungseinheit 58.
  • Somit umfasst ein maschinelles Lernverfahren gemäß der vorliegenden Ausführungsform die Schritte des Erzielens einer Zustandsvariablen, die den Zustand eines Roboters während des Zeitraums, in dem eine Person und der Roboter zusammen arbeiten, darstellt, und des Erzielens von Bestimmungsdaten für mindestens eine von der Belastungshöhe für die Person und der Arbeitseffizienz. Das maschinelle Lernverfahren umfasst ferner den Schritt des Lernens eines Trainingsdatensatzes zum Bestimmen einer Handlung des Roboters basierend auf der Zustandsvariablen und den Bestimmungsdaten.
  • Die maschinelle Lernvorrichtung und das maschinelle Lernverfahren gemäß der vorliegenden Ausführungsform ermöglichen das Lernen eines Verfahrens zum Steuern eines Roboters basierend auf dem Handlungsmuster einer Person durch wiederholtes Transportieren des Werkstücks W. Dies ermöglicht es, ein optimales Verfahren zum Steuern eines Roboters einzustellen, das eine geringere Belastung für eine Person, eine hohe Arbeitseffizienz und eine kurze Arbeitszeit bedingt.
  • Das maschinelle Lernen durch die maschinelle Lernvorrichtung und das maschinelle Lernverfahren sind nicht auf die zuvor erwähnte Form eingeschränkt, sondern können eine beliebige Form des maschinellen Lernens sein. Beispielsweise kann die maschinelle Lernvorrichtung eine optimale Handlung unter Verwendung eines mehrschichtigen neuronalen Netzes, das durch tiefgehendes Lernen gebildet wird, einstellen. Statt eine Tabelle zu verwenden, die Handlungswertvariablen als Funktionen einer Vielzahl von Handlungen und einer Vielzahl von Zuständen darstellt, kann ein neuronales Netz verwendet werden, das Handlungswertvariablen für jede Handlung ausgibt, die unternommen wird, wenn ein vorbestimmter Zustand gegeben ist.
  • Bei der zuvor erwähnten Ausführungsform sind die Bewegungspunkte in einem Schachbrettmuster angeordnet. Die Bewegungspunkte sind jedoch nicht auf diese Form eingeschränkt und können auf eine beliebige Form eingestellt werden. Ferner ermöglicht das Reduzieren des Intervalls zwischen den Bewegungspunkten eine reibungslose Betätigung des Roboters. Bei der zuvor erwähnten Ausführungsform bewegt sich der Roboter zweidimensional, weil die Bewegungspunkte auf einer Ebene eingestellt sind. Das Anordnen von Bewegungspunkten in einem dreidimensionalen Raum ermöglicht es jedoch, den Roboter dreidimensional zu bewegen.
  • Mit Bezug auf 5 umfasst die maschinelle Lernvorrichtung 5 bei dieser Ausführungsform eine Personenidentifizierungseinheit 57, die eine Person identifiziert. Ein personenspezifischer Trainingsdatensatz wird im Voraus erstellt. Die Speichereinheit 59 speichert den personenspezifischen Trainingsdatensatz. Bei dieser Ausführungsform gibt die Person 85 eine personenspezifische Nummer für die Eingabeeinheit 41 ein. Die Personenidentifizierungseinheit 57 liest einen Trainingsdatensatz, welcher der Person entspricht, aus der Speichereinheit 59 basierend auf der eingegebenen Nummer. Die Lerneinheit 54 lernt den Trainingsdatensatz, welcher der Person entspricht. Diese Steuerung ermöglicht eine personenspezifische Einstellung eines Verfahrens zum Steuern eines Roboters basierend auf dem Handlungsmuster einer Person. Mit anderen Worten kann eine optimale Robotersteuerung für jede Person erfolgen. Es gibt verschiedene Personen, wie etwa große Personen, kleine Personen, Personen mit starker Unterkörpermuskulatur und Personen mit starker Armmuskulatur. Eine optimale Robotersteuerung kann für jede Person erreicht werden.
  • Die Steuerung zum Identifizieren einer Person ist nicht auf die zuvor erwähnte Form eingeschränkt, sondern kann ein beliebiges Verfahren verwenden. Beispielsweise kann die maschinelle Lernvorrichtung mit einem Zahlenlesegerät ausgestattet sein. Die Person nimmt eine Karte, auf der eine individuelle Nummer steht. Das Zahlenlesegerät liest die Nummer und sendet das Ergebnis an die Personenidentifizierungseinheit. Die Personenidentifizierungseinheit kann die Person basierend auf der gelesenen Nummer identifizieren.
  • 8 ist ein Blockdiagramm, das ein anderes Robotersystem bei dieser Ausführungsform abbildet. Bei einem anderen Robotersystem (Herstellungssystem) 4 erfolgt ein verteiltes Lernen. Das andere Robotersystem 4 umfasst eine Vielzahl von Robotern und eine Vielzahl von Roboter-Controllern, wie in 8 abgebildet. Das Robotersystem 4 umfasst einen ersten Roboter 1a und einen zweiten Roboter 1b. Das Robotersystem 4 umfasst eine erste Hand 6a, die an dem erste Roboter 1a angebracht ist, und eine zweite Hand 6b, die an dem zweiten Roboter 1b angebracht ist. Somit umfasst das andere Robotersystem 4 zwei Roboter 1a und 1b und zwei Hände 6a und 6b.
  • Das Robotersystem 4 umfasst einen ersten Roboter-Controller 2a, der den ersten Roboter 1a steuert, und einen zweiten Roboter-Controller 2b, der den zweiten Roboter 1b steuert. Der erste Roboter-Controller 2a und der zweite Roboter-Controller 2b weisen die gleiche Konfiguration wie der zuvor erwähnte Roboter-Controller 2 auf. Die Vielzahl von Roboter-Controllern 2a und 2b ist über eine Kommunikationsvorrichtung, die eine Kommunikationsleitung 21 umfasst, miteinander verbunden. Die Kommunikationsvorrichtung kann eine Kommunikation beispielsweise über Ethernet® ausführen. Die Roboter-Controller 2a und 2b sind durch die Kommunikation zu einem gegenseitigen Informationsaustausch fähig.
  • In dem Robotersystem 4 arbeiten die Vielzahl von Robotern 1a und 1b und die Person zusammen. Bei dem in 8 abgebildeten Beispiel helfen zwei Roboter der Person bei der Arbeit. Der erste Roboter-Controller 2a lernt unabhängig, den ersten Roboter 1a zu steuern. Der zweite Roboter-Controller 2b lernt unabhängig, den zweiten Roboter 1b zu steuern. Informationen, die von den jeweiligen Roboter-Controllern gelernt werden, werden einander über die Kommunikationsleitung 21 übertragen.
  • Somit können Informationen, die von den jeweiligen Roboter-Controllern 2a und 2b gelernt werden, von dem ersten Roboter-Controller 2a und dem zweiten Roboter-Controller 2b gemeinsam genutzt werden. Diese Steuerung ermöglicht die gemeinsame Nutzung beispielsweise von Handlungsmustern zum Lernen, um die Anzahl von Lernvorgängen zu erhöhen. Dies kann die Lerngenauigkeit verbessern.
  • Die zuvor beschriebene Ausführungsform bildet einen kooperativen Arbeitsschritt zum Transportieren des Werkstücks W ab. Der kooperative Arbeitsschritt ist jedoch nicht auf diese Form eingeschränkt, sondern kann ein beliebiger kooperativer Arbeitsschritt sein. Beispiele können einen Arbeitsschritt zum Zusammenbauen eines Teils in einer vorbestimmten Vorrichtung durch Zusammenarbeit zwischen einem Roboter und einer Person umfassen.
  • 9 ist ein Blockdiagramm, das eine Änderung des in 2 abgebildeten Robotersystems abbildet und ein Robotersystem 3' zeigt, das betreutes Lernen nutzt. Das Robotersystem 3' umfasst beispielsweise einen Roboter 1, eine Hand 6 und einen Roboter-Controller 2', wie in 9 abgebildet. Der Roboter-Controller 2' umfasst eine maschinelle Lernvorrichtung 7, eine Eingabeeinheit 41, eine Anzeigeeinheit 42, eine Handlungssteuereinheit 43, eine externe Kraftberechnungseinheit 46 und eine Bewegungszeit-Messeinheit 47. Die maschinelle Lernvorrichtung 7 umfasst eine Zustandsbeobachtungseinheit 71, eine Einheit zum Erzielen von Bestimmungsdaten 72, eine Lerneinheit 74, eine Personenidentifizierungseinheit 77, eine Entscheidungseinheit 78 und eine Speichereinheit 79. Die Lerneinheit 74 umfasst eine Belohnungsberechnungseinheit 55 und eine Funktionsaktualisierungseinheit 56.
  • Genauer gesagt geht aus einem Vergleich von 9 mit der zuvor erwähnten 2 hervor, dass in der Lerneinheit 74 des Robotersystems 3' bei der in 9 abgebildeten Änderung die Belohnungsberechnungseinheit 55 und die Funktionsaktualisierungseinheit 56 in der in 2 abgebildeten Lerneinheit 54 durch eine Fehlerberechnungseinheit 75 und eine Lernmodell-Aktualisierungseinheit 76 ersetzt werden. Die anderen Konfigurationen sind im Wesentlichen die gleichen wie die der in 2 abgebildeten maschinellen Lernvorrichtung 5, und eine Beschreibung derselben entfällt. Die Fehlerberechnungseinheit 75 empfängt Lehrerdaten von außen und führt beispielsweise eine Berechnung aus, um den Fehler bezüglich der Daten zu reduzieren, die durch früheres Lernen erzielt wurden, und die Lernmodell-Aktualisierungseinheit 76 aktualisiert das Lernmodell (Fehlermodell). Mit anderen Worten empfängt die Fehlerberechnungseinheit 75 die Ausgabe der Zustandsbeobachtungseinheit 71, Lehrerdaten und dergleichen und berechnet beispielsweise den Fehler zwischen den Ergebnisse (Kennzeichnungen) führenden Daten und der Ausgabe des Lernmodells, das in der Lerneinheit 74 eingebaut ist. Wenn beispielsweise die Programmeingabe in den Roboter-Controller 2' (der Vorgang, der von dem Robotersystem 3' verarbeitet wird) die gleiche ist, können Ergebnisse (Kennzeichnungen) führende Daten, die bis zu dem Tag vor dem vorbestimmten Tag, an dem das Robotersystem 3' eine Verarbeitung ausführt, erzielt wurden, gehalten werden und der Fehlerberechnungseinheit 75 als Lehrerdaten an dem vorbestimmten Tag bereitgestellt werden.
  • Alternativ können Daten, die beispielsweise über eine Simulation erzielt werden, die außerhalb des Robotersystems 3' ausgeführt wird, oder Ergebnisse (Kennzeichnungen) führende Daten, die von einem anderen Robotersystem erzielt werden, der Fehlerberechnungseinheit 75 des Robotersystems 3' als Lehrerdaten über eine Speicherkarte oder eine Kommunikationsleitung bereitgestellt werden. Die Ergebnisse (Kennzeichnungen) führenden Daten können auch in einem nicht-flüchtigen Speicher gehalten werden, wie etwa einem Flash-Speicher, der in die Lerneinheit 74 eingebaut ist, und in der Lerneinheit 74 direkt verwendet werden.
  • In der vorstehenden Beschreibung unter der Voraussetzung eines Herstellungssystems (Herstellungsanlage), das eine Vielzahl von Robotersystemen 3' (3) umfasst, kann beispielsweise eine maschinelle Lernvorrichtung 7 (5) für jedes Robotersystem 3' (3) bereitgestellt werden, und die Vielzahl von maschinellen Lernvorrichtungen 7 (5), die sich in der Vielzahl von Robotersystemen 3' (3) befindet, kann über ein Kommunikationsmedium miteinander Daten teilen oder austauschen. Eine maschinelle Lernvorrichtung 7 (5) kann sich beispielsweise auch in einem Cloud-Server befinden.
  • Die vorliegende Erfindung kann eine maschinelle Lernvorrichtung, einen Roboter-Controller, ein Robotersystem und ein maschinelles Lernverfahren, welches das Handlungsmuster einer Person lernen und ein Verfahren zum Steuern eines Roboters, der die Person entsprechend unterstützt, einstellen kann, bereitstellen.
  • Alle hier bereitgestellten Beispiele und bedingten Formulierungen sind zu pädagogischen Zwecken gedacht, um dem Leser beim Verständnis der Erfindung und der Konzepte zu helfen, die vom Erfinder zur Förderung der Technik beigetragen werden, und sind nicht als Einschränkungen auf diese spezifisch erwähnten Beispiele und Bedingungen auszulegen, und die Anordnung dieser Beispiele in der Beschreibung soll auch keine Überlegenheit und Unterlegenheit der Erfindung zeigen. Obwohl eine oder mehrere Ausführungsformen der vorliegenden Erfindung ausführlich beschrieben wurde(n), versteht es sich, dass diverse Änderungen, Ersetzungen und Abänderungen daran vorgenommen werden könnten, ohne Geist und Umfang der Erfindung zu verlassen.
  • Nachfolgend werden noch Beispiele zum Verständnis der vorliegenden Erfindung aufgezeigt:
    1. 1. Maschinelle Lernvorrichtung für einen Roboter (1, 1a, 1b), die es einer Person (85) und dem Roboter (1, 1a, 1b) ermöglicht, zusammen zu arbeiten, wobei die maschinelle Lernvorrichtung Folgendes umfasst:
      • eine Zustandsbeobachtungseinheit (51, 71), die eine Zustandsvariable beobachtet, die einen Zustand des Roboters (1, 1a, 1b), wenn die Person (85) und der Roboter (1, 1a, 1b) zusammen arbeiten, darstellt;
      • eine Einheit zum Erzielen von Bestimmungsdaten (52, 72), die Bestimmungsdaten für mindestens eine von einer Belastungshöhe für die Person (85) und einer Arbeitseffizienz erzielt; und
      • eine Lerneinheit (54, 74), die einen Trainingsdatensatz zum Einstellen einer Handlung des Roboters (1, 1a, 1b) basierend auf der Zustandsvariablen und den Bestimmungsdaten lernt.
    2. 2. Maschinelle Lernvorrichtung nach Beispiel 1, wobei die Zustandsvariable mindestens eine von einer Position, einer Ausrichtung, einer Geschwindigkeit und einer Beschleunigung des Roboters (1, 1a, 1b) umfasst.
    3. 3. Maschinelle Lernvorrichtung nach Beispiel 1 oder 2, wobei die Bestimmungsdaten mindestens eine von einer Größenordnung und einer Richtung einer Last, die von dem Roboter erfasst wird (1, 1a, 1b), einer Größenordnung und einer Richtung einer Last, die von einer Umgebung um den Roboter (1, 1a, 1b) herum erfasst wird, einer Belastungshöhe für die Umgebung um den Roboter (1, 1a, 1b) herum, und einer Zeit, die benötigt wird, um den Roboter (1, 1a, 1b) zu bewegen, umfassen.
    4. 4. Maschinelle Lernvorrichtung nach einem der Beispiele 1 bis 3, wobei der Trainingsdatensatz eine Handlungswertvariable umfasst, die einen Wert einer Handlung des Roboters (1, 1a, 1b) darstellt, der für jeden Zustand des Roboters (1, 1a, 1b) und jede Handlung des Roboters (1, 1a, 1b) eingestellt wird, und die Lerneinheit (54) Folgendes umfasst:
      • eine Belohnungsberechnungseinheit (55), die eine Belohnung basierend auf den Bestimmungsdaten und der Zustandsvariablen einstellt; und
      • eine Funktionsaktualisierungseinheit (56), welche die Handlungswertvariable basierend auf der Belohnung und der Zustandsvariablen aktualisiert.
    5. 5. Maschinelle Lernvorrichtung nach Beispiel 4, wobei die Belohnungsberechnungseinheit (55) eine größere Belohnung für einen kleineren absoluten Wert einer Beschleunigung des Roboters (1, 1a, 1b) und eine größere Belohnung für eine kürzere Zeit, die benötigt wird, um den Roboter (1, 1a, 1b) zu bewegen, einstellt.
    6. 6. Maschinelle Lernvorrichtung nach einem der Beispiele 1 bis 3, wobei der Trainingsdatensatz ein Lernmodell für den Roboter (1, 1a, 1b) umfasst, das für jeden Zustand des Roboters (1, 1a, 1b) und jede Handlung des Roboters (1, 1a, 1b) eingestellt wird, und die Lerneinheit (74) Folgendes umfasst:
      • eine Fehlerberechnungseinheit (75), die einen Fehler des Lernmodells basierend auf den Bestimmungsdaten, der Zustandsvariablen und den eingegebenen Lehrerdaten berechnet; und
      • eine Lernmodell-Aktualisierungseinheit (76), die das Lernmodell basierend auf dem Fehler und der Zustandsvariablen aktualisiert.
    7. 7. Maschinelle Lernvorrichtung nach einem der Beispiele 1 bis 6, ferner umfassend:
      • eine Personenidentifizierungseinheit (57, 77), die eine Person (85) identifiziert, die mit dem Roboter (1, 1a, 1b) zusammen arbeitet,
      • wobei der Trainingsdatensatz für jede Person (85) erstellt wird, und
      • die Lerneinheit (54, 74) den Trainingsdatensatz für die identifizierte Person (85) lernt.
    8. 8. Maschinelle Lernvorrichtung nach einem der Beispiele 1 bis 7, wobei die maschinelle Lernvorrichtung (5, 7) ein neuronales Netz umfasst.
    9. 9. Maschinelle Lernvorrichtung nach einem der Beispiele 1 bis 8, wobei der Roboter (1, 1a, 1b) einen von einem Industrieroboter, einem Feldroboter und einem Serviceroboter umfasst.
    10. 10. Roboter-Controller, umfassend:
      • die maschinelle Lernvorrichtung (5, 7) nach einem der Beispiele 1 bis 9; und
      • eine Handlungssteuereinheit (43), die eine Handlung des Roboters (1, 1a, 1b) steuert,
      • wobei die maschinelle Lernvorrichtung eine Entscheidungseinheit (58, 78) umfasst, die eine Handlung des Roboters (1, 1a, 1b) basierend auf dem Trainingsdatensatz einstellt,
      • wobei die Handlungssteuereinheit (43) die Handlung des Roboters (1, 1a, 1b) basierend auf einem Befehl von der Entscheidungseinheit (58, 78) steuert.
    11. 11. Robotersystem, umfassend:
      • den Roboter-Controller (2, 2') nach Beispiel 10;
      • ein Roboter (1, 1a, 1b), der einer Person (85) bei der Arbeit hilft; und
      • einen Endeffektor, der an dem Roboter (1, 1a, 1b) angebracht ist.
    12. 12. Robotersystem nach Beispiel 11, wobei der Roboter (1, 1a, 1b) Folgendes umfasst:
      • einen Kraftdetektor (19), der ein Signal ausgibt, das einer Kraft der Person (85) entspricht; und
      • einen Zustandsdetektor (15), der eine Position und eine Ausrichtung des Roboters (1, 1a, 1b) detektiert,
      die Einheit zum Erzielen von Bestimmungsdaten (52, 72) die Bestimmungsdaten basierend auf der Ausgabe des Kraftdetektors (19) erzielt, und die Zustandsbeobachtungseinheit (51, 71) die Zustandsvariable basierend auf der Ausgabe des Zustandsdetektors (15) erzielt.
    13. 13. Robotersystem nach Beispiel 12, wobei der Zustandsdetektor (15) mindestens einen von einem Bewegungssensor, einem Drucksensor, einem Drehmomentsensor für einen Motor und einem Kontaktsensor umfasst.
    14. 14. Robotersystem nach Beispiel 12 oder 13, ferner umfassend:
      • eine Vielzahl von Robotern (1a, 1b);
      • eine Vielzahl von Roboter-Controllern (2a, 2b); und
      • eine Kommunikationsleitung (21), welche die Vielzahl von Roboter-Controllern (2a, 2b) miteinander verbindet,
      • wobei jeder der Vielzahl von Roboter-Controllern (2a, 2b) den Trainingsdatensatz für einen Roboter (1a, 1b) unabhängig lernt, der von dem Roboter-Controller (2a, 2b) gesteuert wird, und die gelernten Informationen über die Kommunikationsleitung (21) sendet und teilt.
    15. 15. Maschinelles Lernverfahren für einen Roboter (1, 1a, 1b), das es einer Person (85) und dem Roboter (1, 1a, 1b) ermöglicht, zusammen zu arbeiten, wobei das maschinelle Lernverfahren folgende Schritte umfasst:
      • Beobachten einer Zustandsvariable, die einen Zustand des Roboters (1, 1a, 1b) während eines Zeitraums darstellt, in dem die Person (85) und der Roboter (1, 1a, 1b) zusammen arbeiten;
      • Erzielen von Bestimmungsdaten für mindestens eine von einer Belastungshöhe für die Person (85) und einer Arbeitseffizienz; und
      • Lernen eines Trainingsdatensatzes zum Einstellen einer Handlung des Roboters (1, 1a, 1b) basierend auf der Zustandsvariablen und den Bestimmungsdaten.

Claims (10)

  1. Maschinelle Lernvorrichtung umfassend: eine Zustandsbeobachtungseinheit (51, 71), die dazu eingerichtet ist, eine Zustandsvariable zu erhalten, die einen Zustand eines Roboters (1, 1a, 1b), wenn die Person (85) und der Roboter (1, 1a, 1b) zusammen arbeiten, darstellt; eine Einheit zum Erhalten von Bestimmungsdaten (52, 72), die dazu eingerichtet ist, die Bestimmungsdaten für mindestens eines von einer Belastungshöhe für die Person (85) und einer Arbeitseffizienz zu erhalten; eine maschinelle Lerneinheit, umfassend eine Belohnungsberechnungseinheit (55) und eine Funktionsaktualisierungseinheit (56), wobei die Zustandsvariable Informationen in Bezug auf mindestens eines von einer Position, einer Ausrichtung, einer Geschwindigkeit und einer Beschleunigung des Roboters (1, 1a, 1b) umfasst, die Bestimmungsdaten Informationen in Bezug auf mindestens eines von einer Größenordnung einer Last, die von dem Roboter erfasst wird (1, 1a, 1b), einer Richtung der Last, die von dem Roboter erfasst wird (1, 1a, 1b), einer Größenordnung einer Last, die von der Person (85) erfasst wird, einer Richtung der Last, die von der Person (85) erfasst wird, einer Größenordnung einer Last, die von einem Objekt in der Umgebung erfasst wird, einer Richtung der Last, die von dem Objekt in der Umgebung erfasst wird, einer Belastungshöhe für die Person (85), einer Belastungshöhe für das Objekt in der Umgebung, einer Bewegungszeit, Informationen von einer Kamera (15), und Informationen von einem Sensor (15) umfassen, die Belohnungsberechnungseinheit (55) dazu eingerichtet ist, eine Belohnung basierend auf den Bestimmungsdaten einzustellen; und die Funktionsaktualisierungseinheit (56) dazu eingerichtet ist, ein neuronales Netz, das eine Funktion zum Einstellen einer Handlung des Roboters (1, 1a, 1b) darstellt, basierend auf der Zustandsvariablen und der Belohnung zu aktualisieren.
  2. Maschinelle Lernvorrichtung nach Anspruch 1, wobei die Bestimmungsdaten basierend auf einer Kraft von der Person (85), wenn die Person (85) und der Roboter (1, 1a, 1b) zusammenarbeiten, berechnet werden.
  3. Maschinelle Lernvorrichtung nach einem der Ansprüche 1 oder 2, wobei die Handlung des Roboters (1, 1a, 1b) mindestens eines von einer Position, einer Ausrichtung, einer Geschwindigkeit und einer Beschleunigung des Roboters (1, 1a, 1b) umfasst, wenn sich der Roboter (1, 1a, 1b) bewegt.
  4. Maschinelle Lernvorrichtung nach einem der Ansprüche 1 bis 3, wobei das neuronale Netz die Funktion von vorbestimmten jeweiligen Positionen des Roboters (1, 1a, 1b) darstellt, wenn sich der Roboter (1, 1a, 1b) bewegt.
  5. Maschinelle Lernvorrichtung nach einem der Ansprüche 1 bis 4, wobei die Funktionsaktualisierungseinheit (56) das neuronale Netz basierend auf einem identifizierten Ergebnis der Person (85) aktualisiert.
  6. Maschinelle Lernvorrichtung nach einem der Ansprüche 1 bis 5, wobei Informationen, die durch Lernen in einem zweiten Roboter (1b), der sich von dem Roboter (1a) unterscheidet, basierend auf einer Zustandsvariablen und einer Belohnung für den zweiten Roboter (1b) erhalten werden, für den Roboter (1a) und den zweiten Roboter (1b) gemeinsam genutzt werden.
  7. Robotersystem (3) umfassend: die maschinelle Lernvorrichtung (5, 7) nach einem der Ansprüche 1 bis 6; den Roboter (1, 1a, 1b), der eingerichtet ist zum Zusammenarbeiten mit der Person (85); und eine Handlungssteuereinheit (43), die eingerichtet ist zum Steuern einer Handlung des Roboters (1, 1a, 1b), wobei die Handlung des Roboters (1, 1a, 1b) basierend auf einer Ausgabe des neuronalen Netzes eingestellt wird.
  8. Robotersystem (3) nach Anspruch 7, wobei die maschinelle Lernvorrichtung auf einem Cloudserver eingestellt wird.
  9. Robotersystem (3) umfassend: einen zweiten Roboter (1b), der dazu eingerichtet ist, um mit einer Person (85) zusammen zu arbeiten; eine Handlungssteuereinheit (43), die dazu eingerichtet ist, um eine Handlung des zweiten Roboters (1b) zu steuern; eine Zustandsbeobachtungseinheit (51, 71), die dazu eingerichtet ist, eine Zustandsvariable zu erhalten, die einen Zustand des zweiten Roboters (1b), wenn die Person (85) und der zweite Roboter (1b) zusammen arbeiten, darstellt; und das durch die maschinelle Lernvorrichtung aktualisierte neuronale Netz nach einem der Ansprüche 1 bis 5, wobei die Handlung des zweiten Roboters (1b) basierend auf einer Ausgabe des neuronalen Netzes eingestellt wird.
  10. Maschinelles Lernverfahren umfassend: Erhalten einer Zustandsvariablen, die den Zustand eines Roboters (1, 1a, 1b), wenn eine Person (85) und der Roboter (1, 1a, 1b) zusammen arbeiten, darstellt; Erhalten von Bestimmungsdaten für mindestens eines von einer Belastungshöhe der Person (85) und einer Arbeitseffizienz; Einstellen einer Belohnung basierend auf den Bestimmungsdaten; und Aktualisieren eines neuronalen Netzes, das eine Funktion zum Einstellen einer Handlung des Roboters (1, 1a, 1b) darstellt, basierend auf der Zustandsvariablen und der Belohnung, wobei die Zustandsvariable Informationen in Bezug auf mindestens eines von einer Position, einer Ausrichtung, einer Geschwindigkeit und einer Beschleunigung des Roboters (1, 1a, 1b) umfasst, und die Bestimmungsdaten Informationen in Bezug auf mindestens eines von einer Größenordnung einer Last, die von dem Roboter erfasst wird (1, 1a, 1b), einer Richtung der Last, die von dem Roboter erfasst wird (1, 1a, 1b), einer Größenordnung einer Last, die von der Person (85) erfasst wird, einer Richtung der Last, die von der Person (85) erfasst wird, einer Größenordnung einer Last, die von einem Objekt in der Umgebung erfasst wird, einer Richtung der Last, die von dem Objekt in der Umgebung erfasst wird, einer Belastungshöhe für die Person (85), einer Belastungshöhe für das Objekt in der Umgebung, einer Bewegungszeit, Informationen von einer Kamera (15), und Informationen von einem Sensor (15) umfassen.
DE102016015866.2A 2015-07-31 2016-07-27 Maschinelle Lernvorrichtung, Robotercontroller, Robotersystem und maschinelles Lernverfahren zum Lernen des Handlungsmusters einer Person Active DE102016015866B3 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2015151561 2015-07-31
JP2015-151561 2015-07-31
JP2016-015538 2016-01-29
JP2016015538A JP6240689B2 (ja) 2015-07-31 2016-01-29 人の行動パターンを学習する機械学習装置、ロボット制御装置、ロボットシステム、および機械学習方法

Publications (1)

Publication Number Publication Date
DE102016015866B3 true DE102016015866B3 (de) 2020-12-03

Family

ID=57795710

Family Applications (3)

Application Number Title Priority Date Filing Date
DE102016015866.2A Active DE102016015866B3 (de) 2015-07-31 2016-07-27 Maschinelle Lernvorrichtung, Robotercontroller, Robotersystem und maschinelles Lernverfahren zum Lernen des Handlungsmusters einer Person
DE102016009113.4A Active DE102016009113B4 (de) 2015-07-31 2016-07-27 Maschinelle Lernvorrichtung, Robotercontroller, Robotersystem und maschinelles Lernverfahren zum Lernen des Handlungsmusters einer Person
DE102016015942.1A Active DE102016015942B8 (de) 2015-07-31 2016-07-27 Maschinelle Lernvorrichtung, Robotercontroller, Robotersystem und maschinelles Lernverfahren zum Lernen des Handlungsmusters einer Person

Family Applications After (2)

Application Number Title Priority Date Filing Date
DE102016009113.4A Active DE102016009113B4 (de) 2015-07-31 2016-07-27 Maschinelle Lernvorrichtung, Robotercontroller, Robotersystem und maschinelles Lernverfahren zum Lernen des Handlungsmusters einer Person
DE102016015942.1A Active DE102016015942B8 (de) 2015-07-31 2016-07-27 Maschinelle Lernvorrichtung, Robotercontroller, Robotersystem und maschinelles Lernverfahren zum Lernen des Handlungsmusters einer Person

Country Status (4)

Country Link
US (3) US20170028553A1 (de)
JP (1) JP6240689B2 (de)
CN (2) CN109434832B (de)
DE (3) DE102016015866B3 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022111781A1 (de) 2022-05-11 2023-11-16 Festo Se & Co. Kg Pneumatisches Aktorsystem

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016161444A1 (en) * 2015-04-03 2016-10-06 Think Surgical, Inc. Robotic system with intuitive motion control
US11112781B2 (en) * 2015-07-31 2021-09-07 Heinz Hemken Training an autonomous robot using previously captured data
US20170249561A1 (en) * 2016-02-29 2017-08-31 GM Global Technology Operations LLC Robot learning via human-demonstration of tasks with force and position objectives
JP6392910B2 (ja) * 2017-01-13 2018-09-19 ファナック株式会社 ロボットの安全確保動作機能を備えた人間協働ロボットシステム
JP6789848B2 (ja) * 2017-02-27 2020-11-25 株式会社東芝 アイソレーション管理システムおよびアイソレーション管理方法
JP2018156151A (ja) * 2017-03-15 2018-10-04 ファナック株式会社 異常検知装置及び機械学習装置
JP6603257B2 (ja) 2017-03-31 2019-11-06 ファナック株式会社 行動情報学習装置、管理装置、ロボット制御システム及び行動情報学習方法
JP6546618B2 (ja) 2017-05-31 2019-07-17 株式会社Preferred Networks 学習装置、学習方法、学習モデル、検出装置及び把持システム
JP6542839B2 (ja) * 2017-06-07 2019-07-10 ファナック株式会社 制御装置及び機械学習装置
JP6886869B2 (ja) * 2017-06-09 2021-06-16 川崎重工業株式会社 動作予測システム及び動作予測方法
KR102285242B1 (ko) * 2017-06-13 2021-08-04 가부시끼가이샤 니혼 세이꼬쇼 스크류 형상 추정 장치, 스크류 형상 추정 방법 및 스크류 형상 추정 프로그램
JP6577527B2 (ja) * 2017-06-15 2019-09-18 ファナック株式会社 学習装置、制御装置及び制御システム
JP6680730B2 (ja) * 2017-08-08 2020-04-15 ファナック株式会社 制御装置及び学習装置
JP6691077B2 (ja) 2017-08-18 2020-04-28 ファナック株式会社 制御装置及び機械学習装置
JP6695843B2 (ja) 2017-09-25 2020-05-20 ファナック株式会社 装置、及びロボットシステム
JP6659652B2 (ja) * 2017-10-31 2020-03-04 ファナック株式会社 加工条件調整装置及び機械学習装置
JP6680748B2 (ja) * 2017-11-17 2020-04-15 ファナック株式会社 制御装置及び機械学習装置
JP2019098407A (ja) 2017-11-28 2019-06-24 ファナック株式会社 ロボット
JP6571741B2 (ja) * 2017-11-29 2019-09-04 ファナック株式会社 作業者管理装置
JP6884685B2 (ja) 2017-12-08 2021-06-09 三菱重工業株式会社 制御装置、無人システム、制御方法及びプログラム
JP6662926B2 (ja) 2018-01-31 2020-03-11 ファナック株式会社 ロボットおよびロボットに関する保守時期の報知方法
JP6711854B2 (ja) 2018-02-22 2020-06-17 ファナック株式会社 故障予測装置及び機械学習装置
JP6955702B2 (ja) 2018-03-06 2021-10-27 オムロン株式会社 情報処理装置、情報処理方法、及びプログラム
KR102025412B1 (ko) * 2018-03-26 2019-11-04 (주)뉴텍오토메이션 머신러닝을 이용한 모듈형 포장기의 커터 교체 제어 시스템
JP6810087B2 (ja) * 2018-03-29 2021-01-06 ファナック株式会社 機械学習装置、機械学習装置を用いたロボット制御装置及びロボットビジョンシステム、並びに機械学習方法
US10875176B2 (en) 2018-04-04 2020-12-29 Kuka Systems North America Llc Process control using deep learning training model
CN110340884A (zh) * 2018-04-05 2019-10-18 发那科株式会社 测定动作参数调整装置、机器学习装置以及系统
CN110390845A (zh) * 2018-04-18 2019-10-29 北京京东尚科信息技术有限公司 虚拟环境下机器人训练方法及装置、存储介质及计算机系统
KR102519064B1 (ko) 2018-04-25 2023-04-06 삼성전자주식회사 사용자에게 서비스를 제공하는 이동형 로봇 장치 및 방법
JP7039389B2 (ja) * 2018-05-25 2022-03-22 川崎重工業株式会社 ロボットシステム及びロボット制御方法
JP7008136B2 (ja) * 2018-06-14 2022-01-25 ヤマハ発動機株式会社 機械学習装置及びこれを備えたロボットシステム
EP3584038A1 (de) * 2018-06-19 2019-12-25 BAE SYSTEMS plc Werkbanksystem
ES2919649T3 (es) 2018-06-19 2022-07-27 Bae Systems Plc Sistema de banco de trabajo
US20210170576A1 (en) * 2018-06-19 2021-06-10 Bae Systems Plc Workbench system
JP7398373B2 (ja) 2018-07-04 2023-12-14 株式会社Preferred Networks 制御装置、システム、制御方法、及びプログラム
CN110892344B (zh) 2018-07-06 2021-03-16 三菱电机株式会社 机械学习装置、数控装置、工作机械及机械学习方法
JP7060546B2 (ja) * 2018-07-10 2022-04-26 ファナック株式会社 歯当たり位置調整量推定装置、機械学習装置、ロボットシステム及び歯当たり位置調整量推定システム
JP7401184B2 (ja) * 2018-08-10 2023-12-19 川崎重工業株式会社 ロボットシステム
JP7281349B2 (ja) * 2018-08-10 2023-05-25 川崎重工業株式会社 遠隔操作システム
KR102511814B1 (ko) * 2018-08-10 2023-03-20 카와사키 주코교 카부시키 카이샤 정보 처리 장치, 로봇 조작 시스템 및 로봇 조작 방법
DE102019006725B4 (de) * 2018-10-02 2023-06-01 Fanuc Corporation Steuereinrichtung und Steuersystem
JP7211007B2 (ja) * 2018-10-30 2023-01-24 セイコーエプソン株式会社 制御装置、ロボットシステムおよび制御方法
JP6839160B2 (ja) * 2018-11-21 2021-03-03 本田技研工業株式会社 ロボット装置、ロボットシステム、ロボット制御方法、およびプログラム
JP7208254B2 (ja) * 2018-11-21 2023-01-18 株式会社日立製作所 作業最適化システムおよび作業最適化装置
JP6644191B1 (ja) * 2018-12-26 2020-02-12 三菱電機株式会社 ロボット制御装置、ロボット制御学習装置、及びロボット制御方法
EP3904017A4 (de) * 2018-12-27 2023-01-18 Kawasaki Jukogyo Kabushiki Kaisha Robotersteuerungsvorrichtung, robotersteuerungssystem und robotersteuerungsverfahren
CN109784400A (zh) * 2019-01-12 2019-05-21 鲁班嫡系机器人(深圳)有限公司 智能体行为训练方法、装置、系统、存储介质及设备
US20200301510A1 (en) * 2019-03-19 2020-09-24 Nvidia Corporation Force estimation using deep learning
JP6816783B2 (ja) * 2019-03-20 2021-01-20 株式会社タダノ クレーン
JP6816784B2 (ja) * 2019-03-20 2021-01-20 株式会社タダノ クレーン
JP7263920B2 (ja) * 2019-05-23 2023-04-25 トヨタ自動車株式会社 演算装置、制御プログラム、機械学習器及び把持装置
JP7211280B2 (ja) * 2019-06-27 2023-01-24 トヨタ自動車株式会社 学習装置、歩行訓練システム、方法、プログラム、及び学習済みモデル
JP7207207B2 (ja) 2019-07-09 2023-01-18 トヨタ自動車株式会社 演算装置、機械学習方法及び制御プログラム
JP7432430B2 (ja) 2019-09-05 2024-02-16 株式会社国際電気通信基礎技術研究所 動作支援装置および動作支援方法
JP7221839B2 (ja) * 2019-10-08 2023-02-14 国立大学法人静岡大学 自律移動ロボットおよび自律移動ロボットの制御プログラム
US20210125052A1 (en) * 2019-10-24 2021-04-29 Nvidia Corporation Reinforcement learning of tactile grasp policies
CN110861089B (zh) * 2019-11-29 2020-11-06 北京理工大学 一种多机器人系统任务均衡分配协同工作控制方法
KR102279329B1 (ko) * 2020-01-30 2021-07-21 한국과학기술연구원 로봇 교시 시스템
CN111230873B (zh) * 2020-01-31 2022-02-01 武汉大学 一种基于示教学习的协作搬运控制系统及方法
US11679497B2 (en) 2020-05-21 2023-06-20 Intrinsic Innovation Llc Distributed robotic demonstration learning
US11685047B2 (en) 2020-05-21 2023-06-27 Intrinsic Innovation Llc Skill template distribution for robotic demonstration learning
US11472025B2 (en) 2020-05-21 2022-10-18 Intrinsic Innovation Llc Robotic demonstration learning device
US11534913B2 (en) 2020-05-21 2022-12-27 Intrinsic Innovation Llc Integrating sensor streams for robotic demonstration learning
US11820014B2 (en) 2020-05-21 2023-11-21 Intrinsic Innovation Llc Simulated local demonstration data for robotic demonstration learning
US11524402B2 (en) 2020-05-21 2022-12-13 Intrinsic Innovation Llc User feedback for robotic demonstration learning
US11554482B2 (en) 2020-07-16 2023-01-17 Hitachi, Ltd. Self-learning industrial robotic system
DE102021110984A1 (de) 2020-12-29 2022-06-30 B-Horizon GmbH Verfahren zum automatischen Anpassen des Verhaltens eines mobilen Benutzerendgeräts
JP2022122670A (ja) * 2021-02-10 2022-08-23 オムロン株式会社 ロボットモデルの学習装置、ロボットモデルの機械学習方法、ロボットモデルの機械学習プログラム、ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
US20220402123A1 (en) * 2021-06-21 2022-12-22 X Development Llc State estimation for a robot execution system
CN114030008B (zh) * 2021-11-24 2023-08-22 浙江大学 一种基于数据驱动的工业机器人实训能耗测量方法
EP4252970A1 (de) * 2022-03-31 2023-10-04 Honda Research Institute Europe GmbH Steuerung eines roboters basierend auf einer optimierten zusammenarbeit mit anderen agenten

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6353814B1 (en) * 1997-10-08 2002-03-05 Michigan State University Developmental learning machine and method
US7478073B2 (en) * 2003-06-06 2009-01-13 Sony France Architecture for self-developing devices
EP0997426B1 (de) * 1998-09-17 2009-02-11 Toyota Jidosha Kabushiki Kaisha Arbeitshilfsvorrichtung
US20110015785A1 (en) * 2009-01-09 2011-01-20 Yuko Tsusaka Control apparatus and control method for robot arm, robot, control program for robot arm, and integrated electronic circuit
JP2011248728A (ja) * 2010-05-28 2011-12-08 Honda Motor Co Ltd 学習制御システム及び学習制御方法
JP2015123505A (ja) * 2013-12-25 2015-07-06 ファナック株式会社 保護部材を有する人協調型産業用ロボット
US20160209817A1 (en) * 2013-09-12 2016-07-21 Nec Corporation Information processing device, predictive control method, and recording medium

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3940110A (en) * 1974-04-12 1976-02-24 Kenro Motoda Lifting apparatus
US5172253A (en) * 1990-06-21 1992-12-15 Inernational Business Machines Corporation Neural network model for reaching a goal state
JPH0588721A (ja) 1991-09-30 1993-04-09 Fujitsu Ltd 関節型ロボツトの制御装置
US5333210A (en) 1992-07-02 1994-07-26 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Method and system for pattern analysis using a coarse-coded neural network
JPH06203166A (ja) 1993-01-06 1994-07-22 Fujitsu Ltd 多次元位置測定,制御装置,及び、学習方法
US5865426A (en) * 1996-03-27 1999-02-02 Kazerooni; Homayoon Human power amplifier for vertical maneuvers
DE69716018T2 (de) * 1996-12-16 2003-02-06 Sankyo Seiki Seisakusho Kk Verfahren und Steuerungsgerät zur Steuerung einer Krafthilfeeinrichtung
JP3211186B2 (ja) 1997-12-15 2001-09-25 オムロン株式会社 ロボット、ロボットシステム、ロボットの学習方法、ロボットシステムの学習方法および記録媒体
US6272396B1 (en) * 1998-02-20 2001-08-07 Tairob Industrial Technology Ltd. Method for applying knowledge from a skilled worker via a master expert machine to a slave expert machine for repetitive tasks
JPH11272845A (ja) 1998-03-23 1999-10-08 Denso Corp 画像認識装置
JP3859371B2 (ja) 1998-09-25 2006-12-20 松下電工株式会社 ピッキング装置
WO2004103651A1 (ja) * 1999-06-01 2004-12-02 Hirohiko Arai 物体協調運搬ロボットの制御方法及びその装置
US6204619B1 (en) 1999-10-04 2001-03-20 Daimlerchrysler Corporation Dynamic control algorithm and program for power-assisted lift device
JP3188953B2 (ja) * 1999-10-13 2001-07-16 経済産業省産業技術総合研究所長 パワーアシスト装置およびその制御方法
CN1283428C (zh) 2000-03-31 2006-11-08 索尼公司 机器人设备、控制机器人设备动作的方法
US6925357B2 (en) 2002-07-25 2005-08-02 Intouch Health, Inc. Medical tele-robotic system
JP3834307B2 (ja) 2003-09-29 2006-10-18 ファナック株式会社 ロボットシステム
JP2005118959A (ja) * 2003-10-17 2005-05-12 Toyoda Mach Works Ltd 作業支援装置、作業支援方法、位置決め作業支援装置およびパワーアシスト作業支援装置
JP4630553B2 (ja) 2004-01-15 2011-02-09 ソニー株式会社 動的制御装置および動的制御装置を用いた2足歩行移動体
US20060293617A1 (en) * 2004-02-05 2006-12-28 Reability Inc. Methods and apparatuses for rehabilitation and training
JP2006110702A (ja) * 2004-10-18 2006-04-27 Fanuc Ltd 学習制御機能を備えたロボット及びロボットの制御方法
JP5052013B2 (ja) * 2005-03-17 2012-10-17 ソニー株式会社 ロボット装置及びその制御方法
US7860609B2 (en) * 2005-05-06 2010-12-28 Fanuc Robotics America, Inc. Robot multi-arm control system
JP4746349B2 (ja) 2005-05-18 2011-08-10 日本電信電話株式会社 ロボット行動選択装置及びロボット行動選択方法
JP4153528B2 (ja) 2006-03-10 2008-09-24 ファナック株式会社 ロボットシミュレーションのための装置、プログラム、記録媒体及び方法
JP2007280054A (ja) 2006-04-06 2007-10-25 Sony Corp 学習装置および学習方法、並びにプログラム
JP4199264B2 (ja) 2006-05-29 2008-12-17 ファナック株式会社 ワーク取り出し装置及び方法
JP4238256B2 (ja) 2006-06-06 2009-03-18 ファナック株式会社 ロボットシミュレーション装置
CN101646534B (zh) * 2007-06-27 2012-03-21 松下电器产业株式会社 机器手控制装置及控制方法、机器人
JP4361132B2 (ja) * 2007-07-05 2009-11-11 パナソニック株式会社 ロボットアームの制御装置及び制御方法、ロボット、及び制御プログラム
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 ロボット、ロボットプログラム共有システム、ロボットプログラム共有方法およびプログラム
JP4565023B2 (ja) 2008-07-04 2010-10-20 ファナック株式会社 物品取り出し装置
US8559699B2 (en) 2008-10-10 2013-10-15 Roboticvisiontech Llc Methods and apparatus to facilitate operations in image based systems
JP5330138B2 (ja) 2008-11-04 2013-10-30 本田技研工業株式会社 強化学習システム
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
FI20105732A0 (fi) 2010-06-24 2010-06-24 Zenrobotics Oy Menetelmä fyysisten kappaleiden valitsemiseksi robottijärjestelmässä
JP5767464B2 (ja) 2010-12-15 2015-08-19 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
JP5750657B2 (ja) 2011-03-30 2015-07-22 株式会社国際電気通信基礎技術研究所 強化学習装置、制御装置、および強化学習方法
US20150127154A1 (en) * 2011-06-02 2015-05-07 Brain Corporation Reduced degree of freedom robotic controller apparatus and methods
JP5623358B2 (ja) 2011-09-06 2014-11-12 三菱電機株式会社 ワーク取り出し装置
JP2013180369A (ja) * 2012-03-01 2013-09-12 Ihi Corp 適応性機械
US9308645B2 (en) * 2012-03-21 2016-04-12 GM Global Technology Operations LLC Method of inferring intentions of an operator to move a robotic system
US8958912B2 (en) * 2012-06-21 2015-02-17 Rethink Robotics, Inc. Training and operating industrial robots
JP5642738B2 (ja) 2012-07-26 2014-12-17 ファナック株式会社 バラ積みされた物品をロボットで取出す装置及び方法
EP3824840A1 (de) * 2012-08-15 2021-05-26 Intuitive Surgical Operations, Inc. Benutzereingeleitete entriegelbare kupplung einer chirurgischen montagebühne
JP5670397B2 (ja) 2012-08-29 2015-02-18 ファナック株式会社 バラ積みされた物品をロボットで取出す装置及び方法
JP2014081863A (ja) 2012-10-18 2014-05-08 Sony Corp 情報処理装置、情報処理方法、及び、プログラム
JP5968259B2 (ja) 2013-04-11 2016-08-10 日本電信電話株式会社 線形モデルに基づく強化学習方法とその装置とプログラム
JP5929854B2 (ja) 2013-07-31 2016-06-08 株式会社安川電機 ロボットシステムおよび被加工物の製造方法
US9679258B2 (en) * 2013-10-08 2017-06-13 Google Inc. Methods and apparatus for reinforcement learning
CN103753557B (zh) 2014-02-14 2015-06-17 上海创绘机器人科技有限公司 移动式倒立摆系统的自平衡控制方法及自平衡车智能控制系统
DE102016009030B4 (de) 2015-07-31 2019-05-09 Fanuc Corporation Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6353814B1 (en) * 1997-10-08 2002-03-05 Michigan State University Developmental learning machine and method
EP0997426B1 (de) * 1998-09-17 2009-02-11 Toyota Jidosha Kabushiki Kaisha Arbeitshilfsvorrichtung
US7478073B2 (en) * 2003-06-06 2009-01-13 Sony France Architecture for self-developing devices
US20110015785A1 (en) * 2009-01-09 2011-01-20 Yuko Tsusaka Control apparatus and control method for robot arm, robot, control program for robot arm, and integrated electronic circuit
JP2011248728A (ja) * 2010-05-28 2011-12-08 Honda Motor Co Ltd 学習制御システム及び学習制御方法
US20160209817A1 (en) * 2013-09-12 2016-07-21 Nec Corporation Information processing device, predictive control method, and recording medium
JP2015123505A (ja) * 2013-12-25 2015-07-06 ファナック株式会社 保護部材を有する人協調型産業用ロボット

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022111781A1 (de) 2022-05-11 2023-11-16 Festo Se & Co. Kg Pneumatisches Aktorsystem
DE102022111781B4 (de) 2022-05-11 2023-11-30 Festo Se & Co. Kg Pneumatisches Aktorsystem

Also Published As

Publication number Publication date
US20210001482A1 (en) 2021-01-07
CN106393101A (zh) 2017-02-15
DE102016015942B8 (de) 2022-10-06
DE102016009113A1 (de) 2017-02-02
CN109434832B (zh) 2022-04-26
CN109434832A (zh) 2019-03-08
US20170028553A1 (en) 2017-02-02
DE102016015942B3 (de) 2022-08-11
US11904469B2 (en) 2024-02-20
JP6240689B2 (ja) 2017-11-29
DE102016009113B4 (de) 2019-04-25
CN106393101B (zh) 2018-11-27
US20190224844A1 (en) 2019-07-25
JP2017030137A (ja) 2017-02-09
US10807235B2 (en) 2020-10-20

Similar Documents

Publication Publication Date Title
DE102016015866B3 (de) Maschinelle Lernvorrichtung, Robotercontroller, Robotersystem und maschinelles Lernverfahren zum Lernen des Handlungsmusters einer Person
DE102019002065B4 (de) Maschinelle Lernvorrichtung, Robotersteuervorrichtung und Robotervisionssystem, das eine maschinelle Lernvorrichtung verwendet, und maschinelles Lernverfahren
DE102017008475B4 (de) Maschinenlernvorrichtung, robotersystem und maschinenlernverfahren zum erlernen eines roboter-betriebsprogramms
DE102017009223B4 (de) Steuervorrichtung zum Steuern eines Roboters durch Lernen einer Aktion einer Person, Robotersystem und Produktionssystem
DE102016009030B4 (de) Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
DE102016015873B3 (de) Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
DE102017007729B4 (de) Maschinenlerneinrichtung, Robotersystem und Maschinenlernverfahren zum Lernen einer Bewegung eines Roboters, der an einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe beteiligt ist
DE102016014264B4 (de) Maschinelle Lernvorrichtung, Blechpaketherstellungsvorrichtung, Blechpaketherstellungssystem und maschinelles Lernverfahren zum Erlernen des Stapelns von Paketblechen
DE102017011544A1 (de) Steuerung und maschinelle Lernvorrichtung
DE102018001571B4 (de) Laserverarbeitungsgerät und Vorrichtung zum maschinellen Lernen
DE102018000342A1 (de) Numerische steuerung und maschinelle lernvorrichtung
DE102018006946A1 (de) Steuerung und maschinelle lernvorrichtung
DE102018010054A1 (de) Steuerung und maschinelle Lernvorrichtung
DE102018006465A1 (de) Artikelstapelvorrichtung und maschinelle Lernvorrichtung
DE102018004330B4 (de) Steuerung und maschinelle Lernvorrichtung
DE102016117773A1 (de) Werkzeugmaschine, die eine optimale Beschleunigung/Verlangsamung erzeugt
DE102017010799A1 (de) Maschinenlernvorrichtung und Robotersystem zum Lernen einer Bearbeitungsreihenfolge eines Laserbearbeitungsroboters und Maschinenlernverfahren dafür
DE102019002156A1 (de) Steuergerät und maschinelle Lernvorrichtung
DE102020132093A1 (de) Vorrichtung für maschinelles Lernen, Steuervorrichtung, Bearbeitungssystem und Verfahren für maschinelles Lernen zum Lernen eines Korrekturbetrags eines Werkstückmodells
DE102019001044A1 (de) Steuervorrichtung und maschinelle lernvorrichtung
DE102018002423B4 (de) Robotersteuerung, Vorrichtung für maschinelles Lernen und Verfahren für maschinelles Lernen
DE102019112211A1 (de) Simulationsvorrichtung
DE102019104922A1 (de) Kollisionspositionsschätzvorrichtung und maschinenlernvorrichtung
DE102018001028B4 (de) Numerische Steuerung
EP3741518A1 (de) Verfahren und vorrichtung für eine automatisierte beeinflussung eines aktuators

Legal Events

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

Ref document number: 102016009113

Country of ref document: DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R130 Divisional application to

Ref document number: 102016015942

Country of ref document: DE

R020 Patent grant now final