DE102017007729B4 - 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 - Google Patents

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 Download PDF

Info

Publication number
DE102017007729B4
DE102017007729B4 DE102017007729.0A DE102017007729A DE102017007729B4 DE 102017007729 B4 DE102017007729 B4 DE 102017007729B4 DE 102017007729 A DE102017007729 A DE 102017007729A DE 102017007729 B4 DE102017007729 B4 DE 102017007729B4
Authority
DE
Germany
Prior art keywords
robot
reward
task
human
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
DE102017007729.0A
Other languages
English (en)
Other versions
DE102017007729A1 (de
Inventor
Shunichi OZAKI
Hiroji Nishi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE102017007729A1 publication Critical patent/DE102017007729A1/de
Application granted granted Critical
Publication of DE102017007729B4 publication Critical patent/DE102017007729B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B25/00Models for purposes not provided for in G09B23/00, e.g. full-sized devices for demonstration purposes
    • G09B25/02Models for purposes not provided for in G09B23/00, e.g. full-sized devices for demonstration purposes of industrial processes; of machinery
    • 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
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0005Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/003Controls for manipulators by means of an audio-responsive input
    • 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/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • 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/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/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/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • 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/084Backpropagation, e.g. using gradient descent
    • 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/40531Ann for voice recognition

Abstract

Robotersystem umfassend:eine Maschinenlerneinrichtung zum Lernen einer Bewegung eines Roboters, der an einer gemeinsam durch einen Menschen (1) und einen Roboter (3) ausgeführten Aufgabe beteiligt ist, die umfasst:- eine Zustandsüberwachungseinheit (21), die eine Zustandsgröße überwacht, die einen Zustand des Roboters (3) angibt, wenn der Mensch (1) und der Roboter (3) zusammenarbeiten und eine Aufgabe ausführen,- eine Belohnungsberechnungseinheit (22), die basierend auf Steuerdaten und der Zustandsgröße zum Steuern des Roboters (3) und einer Aktion des Menschen (1) eine Belohnung berechnet, und- eine Wertfunktionsaktualisierungseinheit (23), die basierend auf der Belohnung und der Zustandsgröße eine Aktionswertfunktion zum Steuern einer Bewegung des Roboters (3) aktualisiert,- den Roboter (3), der gemeinsam mit dem Menschen (1) eine Aufgabe ausführt;- eine Robotersteuereinheit (30), die eine Bewegung des Roboters (3) steuert; und- eine Aufgabenintentionserkennungseinheit (51), die einen Ausgang einer Kamera (44), eines Kraftsensors (45, 45a, 45b), eines Berührungssensors (41), eines Mikrofons (42) und einer Eingabeeinrichtung (43) empfängt und eine Intention bezüglich einer Aufgabe erkennt, wobei- die Maschinenlerneinrichtung (2) durch Analysieren einer Verteilung von Merkmalspunkten oder Werkstücken (W) eine Bewegung des Roboters (3) lernt, nachdem der Mensch (1) und der Roboter (3) zusammengearbeitet und die Aufgabe ausgeführt haben,- die in die Zustandsüberwachungseinheit (21) der Maschinenlerneinrichtung (2) eingegebene Zustandsgröße einen Ausgang der Aufgabenintentionserkennungseinheit (51) umfasst, und wobei- die Aufgabenintentionserkennungseinheit (51) eine auf einer Aktion des Menschen (1) basierende positive Belohnung in eine für die positive Belohnung festgelegte Zustandsgröße umsetzt und die Zustandsgröße an die Zustandsüberwachungseinheit (21) ausgibt,- eine auf einer Aktion des Menschen (1) basierende negative Belohnung in eine für die negative Belohnung festgelegte Zustandsgröße umsetzt und die Zustandsgröße an die Zustandsüberwachungseinheit (21) ausgibt, undwobei die Belohnungsberechnungseinheit (22) die Belohnung durch Addieren einer auf der Aktion des Menschen (1) basierenden zweiten Belohnung zu einer auf den Steuerdaten und der Zustandsgröße basierenden ersten Belohnung berechnet.

Description

  • Hintergrund der Erfindung
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine Maschinenlerneinrichtung, ein Robotersystem und ein Maschinenlernverfahren zum Lernen einer Bewegung eines Roboters, der an einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe beteiligt ist.
  • Beschreibung des zugehörigen Standes der Technik
  • Bei herkömmlichen Robotersystemen werden Sicherheitsmaßnahmen ergriffen, um zu verhindern, dass Menschen den Arbeitsbereich eines Roboters betreten, um die Sicherheit von Menschen zu gewährleisten. Es werden beispielsweise Sicherheitszäune aufgestellt, wobei es Menschen verboten ist, den Bereich innerhalb der Sicherheitszäune zu betreten.
  • In den letzten Jahren wurden Roboter, die an einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe beteiligt sind (kooperative Roboter), untersucht, entwickelt und in der Praxis eingesetzt. Bei einem solchen Roboter (Robotersystem) arbeiten ein Roboter und ein Mensch (Arbeiter) beispielsweise zusammen, um ohne einen um den Roboter aufgestellten Sicherheitszaun eine Aufgabe auszuführen.
  • Im Hinblick auf eine herkömmliche Technik zum Lehren eines Roboters eine Bewegung zum Ausführen einer Aufgabe unter Verwendung eines Handprogrammiergeräts (Teaching Pendant) wurde eine Lehrtechnik für einen Roboter vorgeschlagen, die den Lehrvorgang für einen Roboter vereinfacht und die Lehrzeit durch Einführen eines Lehrvorgangs verkürzt, der auf einem einfachen Drück- oder Berührvorgang auf dem Handprogrammiergerät basiert (z.B. offengelegte japanische Patentveröffentlichung JP H10 - 146 782 A ).
  • Im Hinblick auf einen Industrieroboter, bei dem das Lehren durch Eingeben von Koordinatenwerten seiner Bewegungsbahn unter Verwendung eines Handprogrammiergeräts durchgeführt wird, wurde ebenfalls in herkömmlicher Weise ein Industrieroboter vorgeschlagen, der mit einem Startschalter, einem Stoppschalter, numerischen Tasten zum Eingeben verschiedener Befehle und Werte, einer Lehrmodustaste, einer Wiederholungseingabetaste und einer Anzeigeeinrichtung ausgestattet ist, mit denen sich Koordinatenwerte zum Festlegen der Bewegungsbahn einfacher und genauer eingeben lassen (z.B. offengelegte japanische Patentveröffentlichung JP H05 - 318 358 A ).
  • Weiterer Stand der Technik ist aus den Druckschriften US 2015 / 0 081 099 A1 , JP 2007 - 54 899 A , JP 2005 - 118 959 A und US 2006 / 0 149 421 A1 bekannt.
  • Im Allgemeinen werden heutige Industrieroboter gemäß einem vorab erstellten Betriebsprogramm betrieben (angetrieben) oder so angetrieben, dass sie sich längs der gelehrten Punkte, d.h. Punkte, die den Robotern vorab unter Verwendung von Handprogrammiergeräten und dergleichen beigebracht werden, bewegen können. Selbst bei Robotersystemen für eine gemeinsam durch einen Menschen und einen Roboter ausgeführte Aufgabe (kooperative Robotersysteme) werden Bahnen für die Roboter vorab festgelegt und die Roboter längs der Bahnen angetrieben.
  • Wenn ein Mensch und ein Roboter miteinander zusammenarbeiten, um eine Aufgabe auszuführen, kann es jedoch mehr als eine Möglichkeit geben, die Aufgabe abzuschließen. Beispielsweise gibt es beim Bewegen eines Werkstücks von einer Ausgangsposition in eine Zielposition in einer Fabrik oder dergleichen, in der Güter hergestellt werden und der Mensch und der Roboter zusammenarbeiten, um das Werkstück anzuheben und zur Zielposition zu befördern, beim Anheben des Werkstücks eine große Auswahl an Richtungen, Geschwindigkeiten und dergleichen.
  • Der Belastungsgrad des Menschen hängt davon ab, wie die Bewegungen des Roboters relativ zum Werkstück zu steuern sind. Beispielsweise ändert sich der Ermüdungsgrad des Menschen abhängig vom Abstand zum Menschen und der Geschwindigkeit selbst dann, wenn die ausgeführte Aufgabe dieselbe ist. Außerdem kann sich das Verhaltensmuster eines Menschen abhängig vom Inhalt der Aufgabe ändern. Somit ist es schwierig, die Bewegungen des Roboters, der an einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe beteiligt ist, zu optimieren, was problematisch ist.
  • Eine Möglichkeit, dieses Problem anzugehen besteht darin, den Roboter Bewegungen für eine gemeinsam mit einem Menschen ausgeführte Aufgabe durch den Einsatz von Techniken des maschinellen Lernens lernen zu lassen. Jedoch lassen sich selbst die Bewegungen eines Roboters, die durch Anwendung maschinellen Lernens erworben wurden, bevorzugt durch einen Menschen (z.B. einen Arbeiter) weiter verbessern.
  • Angesichts des Problems der vorstehend beschriebenen herkömmlichen Technik besteht ein Hauptziel der vorliegenden Erfindung darin, eine Maschinenlerneinrichtung, ein Robotersystem und ein Maschinenlernverfahren bereitzustellen, die die Bewegungen eines Roboters, der an einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe beteiligt ist, weiter verbessern können. Ein weiteres Ziel der vorliegenden Erfindung besteht darin, eine Maschinenlerneinrichtung, ein Robotersystem und ein Maschinenlernverfahren bereitzustellen, die eine Verbesserung kooperativer Bewegungen durch Nutzung verschiedener Sensorinformationen, durch ein Gespräch mit einem Menschen und durch andere Mittel ermöglichen, wenn ein Mensch und ein Roboter zusammenarbeiten und eine Aufgabe ausführen.
  • Zusammenfassung der Erfindung
  • Eine Lösung wird durch ein Robotersystem gemäß dem unabhängigen Anspruch 1 bereitgestellt. Bevorzugte Ausführungsformen sind in den abhängigen Ansprüchen definiert.
  • Gemäß einem ersten Beispiel der vorliegenden Offenbarung wird eine Maschinenlerneinrichtung zum Lernen einer Bewegung eines Roboters bereitgestellt, der an einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe beteiligt ist, die eine Zustandsüberwachungseinheit, die eine Zustandsgröße überwacht, die einen Zustand des Roboters angibt, wenn der Mensch und der Roboter zusammenarbeiten und eine Aufgabe ausführen, eine Belohnungsberechnungseinheit, die basierend auf Steuerdaten und der Zustandsgröße zum Steuern des Roboters und einer Aktion des Menschen eine Belohnung berechnet, und eine Wertfunktionsaktualisierungseinheit umfasst, die basierend auf der Belohnung und der Zustandsgröße eine Aktionswertfunktion zum Steuern einer Bewegung des Roboters aktualisiert.
  • Die Belohnungsberechnungseinheit kann die Belohnung durch Addieren einer auf der Aktion des Menschen basierenden zweiten Belohnung zu einer auf den Steuerdaten und der Zustandsgröße basierenden ersten Belohnung berechnen. Für die zweite Belohnung kann mit Hilfe eines für den Roboter bereitgestellten Berührungssensors eine positive Belohnung festgelegt werden, wenn der Roboter gestreichelt wird, und eine negative Belohnung festgelegt werden, wenn der Roboter geschlagen wird, oder mit Hilfe eines Mikrofons, das an einem Teil des Roboters oder in dessen Nähe bereitgestellt ist oder von dem Menschen getragen wird, eine positive Belohnung festgelegt werden, wenn der Roboter gelobt wird, und eine negative Belohnung festgelegt werden, wenn der Roboter ausgeschimpft wird.
  • Die Maschinenlerneinrichtung kann ferner eine Entscheidungseinheit umfassen, die basierend auf einem Ausgang der Wertfunktionsaktualisierungseinheit eine Bewegung des Roboters vorgebende Befehlsdaten bestimmt. Die Zustandsgröße kann einen Ausgang einer Kamera, eines Kraftsensors, eines Mikrofons und/oder eines Berührungssensors umfassen. Die Kamera kann direkt am Roboter oder in einem umgebenden Bereich, wie etwa einem Bereich über dem Roboter, bereitgestellt sein, der Kraftsensor kann an einer Stelle an einem Sockelteil und/oder einem Handteil des Roboters und/oder einem Peripheriegerät bereitgestellt sein, oder der Berührungssensor kann für wenigstens einen Teil des Roboters oder an einem Peripheriegerät bereitgestellt sein.
  • Gemäß einem zweiten Beispiel der vorliegenden Offenbarung werden die Maschinenlerneinrichtung gemäß dem vorstehend beschriebenen ersten Beispiel, der Roboter, der gemeinsam mit dem Menschen eine Aufgabe ausführt, und eine Robotersteuereinheit bereitgestellt, die eine Bewegung des Roboters steuert, wobei die Maschinenlerneinrichtung durch Analysieren einer Verteilung von Merkmalspunkten oder Werkstücken eine Bewegung des Roboters lernt, nachdem der Mensch und der Roboter zusammengearbeitet und die Aufgabe ausgeführt haben.
  • Das Robotersystem kann ferner eine Aufgabenintentionserkennungseinheit umfassen, die einen Ausgang einer Kamera, eines Kraftsensors, eines Berührungssensors, eines Mikrofons und einer Eingabeeinrichtung empfängt und eine Intention bezüglich einer Aufgabe erkennt. Das Robotersystem kann ferner eine Spracherkennungseinheit umfassen, die die durch das Mikrofon eingegebene Sprache des Menschen erkennt, wobei die Aufgabenintentionserkennungseinheit die Bewegung des Roboters basierend auf einem Ausgang der Spracherkennungseinheit korrigiert. Das Robotersystem kann ferner eine Frageerzeugungseinheit, die basierend auf einer Analyse der Intention bezüglich der Aufgabe durch die Aufgabenintentionserkennungseinheit eine dem Menschen zu stellende Frage erzeugt, und einen Lautsprecher zum Übermitteln der durch die Frageerzeugungseinheit erzeugten Frage an den Menschen umfassen.
  • Das Mikrofon kann eine Antwort des Menschen auf die durch den Lautsprecher übermittelte Frage empfangen und die Spracherkennungseinheit kann die durch das Mikrofon eingegebene Antwort des Menschen erkennen und die Antwort an die Aufgabenintentionserkennungseinheit ausgeben. Die in die Zustandsüberwachungseinheit der Maschinenlerneinrichtung eingegebene Zustandsgröße kann ein Ausgang der Aufgabenintentionserkennungseinheit sein, wobei die Aufgabenintentionserkennungseinheit eine auf einer Aktion des Menschen basierende positive Belohnung in eine für die positive Belohnung festgelegte Zustandsgröße umsetzen und die Zustandsgröße an die Zustandsüberwachungseinheit ausgeben kann und eine auf einer Aktion des Menschen basierende negative Belohnung in eine für die negative Belohnung festgelegte Zustandsgröße umsetzen und die Zustandsgröße an die Zustandsüberwachungseinheit ausgeben kann. Die Robotersteuereinheit kann den Roboter stoppen, wenn der Berührungssensor eine geringfügige Kollision erfasst. Die Maschinenlerneinrichtung kann so eingestellt sein, dass sie das Durchführen weiteren Lernens einer Bewegung stoppt, die bis zu einem bestimmten Zeitpunkt gelernt wurde.
  • Gemäß einem dritten Beispiel der vorliegenden Offenbarung wird ein Maschinenlernverfahren zum Lernen einer Bewegung eines Roboters bereitgestellt, der an einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe beteiligt ist, das das Überwachen einer Zustandsgröße, die einen Zustand des Roboters angibt, wenn der Mensch und der Roboter zusammenarbeiten und eine Aufgabe ausführen, das Berechnen einer Belohnung basierend auf Steuerdaten und der Zustandsgröße zum Steuern des Roboters und einer Aktion des Menschen, und das Aktualisieren einer Aktionswertfunktion zum Steuern einer Bewegung des Roboters basierend auf der Belohnung und der Zustandsgröße umfasst.
  • Figurenliste
  • Die vorliegende Erfindung geht unter Bezugnahme auf die folgenden zugehörigen Zeichnungen genauer hervor.
    • 1 ist ein Blockdiagramm, das ein Robotersystem gemäß einer Ausführungsform der vorliegenden Erfindung darstellt;
    • 2 ist eine schematische Darstellung eines Neuronenmodells;
    • 3 ist eine schematische Darstellung eines aus drei Schichten bestehenden neuronalen Netzes, das durch Kombinieren der in 2 gezeigten Neuronen gebildet wird;
    • 4 ist eine schematische Darstellung eines Beispiels für ein Robotersystem gemäß der vorliegenden Ausführungsform;
    • 5 ist eine schematische Darstellung eines Abwandlungsbeispiels des in 4 gezeigten Robotersystems;
    • 6 ist ein Blockdiagramm zur Darstellung eines Beispiels für ein Robotersystem gemäß der vorliegenden Ausführungsform;
    • 7A und 7B sind Darstellungen zur Veranschaulichung eines Beispiels einer Bewegung des in 6 gezeigten Robotersystems; und
    • 8 ist eine Darstellung zur Veranschaulichung eines Beispiels für ein Verfahren, bei dem die in 7A und 7B gezeigte Bewegung des Robotersystems durch tiefes Lernen erreicht wird, das ein neuronales Netz einsetzt.
  • Genaue Beschreibung
  • Nachstehend sind Ausführungsformen einer Maschinenlerneinrichtung, eines Robotersystems und eines Maschinenlernverfahrens gemäß der vorliegenden Erfindung unter Bezugnahme auf die beigefügten Zeichnungen genauer beschrieben. 1 ist ein Blockdiagramm, das ein Robotersystem gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
  • Wie in 1 gezeigt, dient ein Robotersystem gemäß der vorliegenden Ausführungsform dem Lernen von Bewegungen eines Roboters (kooperativer Roboter) 3, der an einer gemeinsam durch einen Menschen (Arbeiter 1) und einen Roboter ausgeführten Aufgabe beteiligt ist, und umfasst einen Roboter 3, eine Robotersteuereinheit 30 und eine Maschinenierneinrichtung 2. Die Maschinenlerneinrichtung 2 kann in einer einheitlichen Konfiguration mit der Robotersteuereinheit 30 oder separat bereitgestellt werden.
  • Wie in 1 gezeigt, lernt die Maschinenlerneinrichtung 2 beispielsweise in der Robotersteuereinheit 30 eingestellte Bewegungsbefehle des Roboters 3 und umfasst eine Zustandsüberwachungseinheit 21, eine Belohnungsberechnungseinheit 22, eine Wertfunktionsaktualisierungseinheit 23 und eine Entscheidungseinheit 24. Die Zustandsüberwachungseinheit 21 überwacht den Zustand des Roboters 3 und die Belohnungsberechnungseinheit 22 berechnet basierend auf einem Ausgang der Zustandsüberwachungseinheit 21 und einer Aktion eines Menschen eine Belohnung.
  • Mit anderen Worten, es werden beispielsweise Steuerdaten des Roboters der Robotersteuereinheit 30, ein Ausgang der Zustandsüberwachungseinheit 21 (eine durch die Zustandsüberwachungseinheit 21 überwachte Zustandsgröße) und eine auf einer Aktion eines Menschen basierende Belohnung in die Belohnungsberechnungseinheit 22 eingegeben und eine Belohnung berechnet. Genauer gesagt wird beispielsweise mit Hilfe eines an einem Teil des Roboters 3 bereitgestellten Berührungssensors 41 eine positive Belohnung festgelegt, wenn der Roboter 3 gestreichelt wird, wohingegen eine negative Belohnung festgelegt wird, wenn der Roboter 3 geschlagen wird, wobei eine Belohnung durch Addieren der auf der Aktion des Menschen basierenden Belohnung zu der auf den Steuerdaten und der Zustandsgröße basierenden Belohnung berechnet werden kann.
  • Alternativ wird beispielsweise mit Hilfe eines Mikrofons 42, das an einem Teil des Roboters 3 oder in dessen Nähe bereitgestellt ist oder von dem Arbeiter 1 getragen wird, eine positive Belohnung festgelegt, wenn der Roboter 3 gelobt wird, wohingegen eine negative Belohnung festgelegt wird, wenn der Roboter 3 ausgeschimpft wird, wobei eine Belohnung durch Addieren der auf der Aktion des Menschen basierenden Belohnung zu der auf den Steuerdaten und der Zustandsgröße basierenden Belohnung berechnet werden kann.
  • Die Wertfunktionsaktualisierungseinheit 23 aktualisiert basierend auf der durch die Belohnungsberechnungseinheit 22 berechneten Belohnung eine den Bewegungsbefehl des Roboters betreffende Wertfunktion, die anhand der vorliegenden Zustandsgröße berechnet wird. Die durch die Zustandsüberwachungseinheit 21 überwachten Zustandsgrößen umfassen, wie vorstehend beschrieben, einen Ausgang eines Mikrofons 42, einer Kamera 44, eines Kraftsensors 45 und/oder eines Berührungssensors 41. Die Entscheidungseinheit 24 bestimmt eine Bewegung des Roboters 3 vorgebende Befehlsdaten basierend auf einem Ausgang der Wertfunktionsaktualisierungseinheit 23.
  • Als Nächstes werden maschinelles Lernen und eine Maschinenierneinrichtung (Maschinenlernvorrichtung) beschrieben. Eine Maschinenierneinrichtung hat die Funktion, in die Einrichtung eingegebene Datensätze zu analysieren und nützliche Regeln, Wissensdarstellungen, Bewertungskriterien und dergleichen zu extrahieren, die in den Datensätzen enthalten sind, und das Bewertungsergebnis auszugeben sowie Wissen zu erwerben (maschinelles Lernen). Es gibt verschiedene Techniken des maschinellen Lernens, die sich grob beispielsweise in „überwachtes Lernen“, „unüberwachtes Lernen“ und „bestärkendes Lernen“ einteilen lassen. Des Weiteren gibt es eine als „tiefes Lernen“ (Deep Learning) bezeichnete Technik, bei der die Maschine lernt, selbstständig Merkmalsbeträge zum Ausführen dieser Techniken zu extrahieren.
  • Die unter Bezugnahme auf 1 beschriebene Maschinenlerneinrichtung 2 setzt „bestärkendes Lernen“ ein, wobei die Maschinenlerneinrichtung 2 durch einen Universalcomputer oder -prozessor umgesetzt werden kann, für eine Verarbeitung mit noch höherer Geschwindigkeit kann jedoch beispielsweise GPGPU (Universalberechnung in Grafikverarbeitungseinheiten /General-Purpose computing on Graphics Processing Units) oder ein großer PC-Cluster eingesetzt werden.
  • Außer „bestärkendem Lernen“ gibt es verschiedene Arten des maschinellen Lernens, die hier kurz beschrieben sind. Zunächst wird beim „überwachten Lernen“ eine große Anzahl Datensätze bestimmter Eingänge und Ergebnisse (Label) in eine Maschinenlerneinrichtung eingegeben, die in diesen Datensätzen enthaltene Merkmale lernt und ein Modell (Fehlermodell) zum Schätzen von Ergebnissen anhand der Eingänge, d.h. deren Beziehung, induktiv erwirbt.
  • Beim „unüberwachten Lernen“ wird das Lernen in einer Vorrichtung durchgeführt, in der ausschließlich Eingangsdaten in großen Mengen in eine Maschinenierneinrichtung eingegeben werden, wobei die Einrichtung die Verteilung der Eingangsdaten lernt und die Eingangsdaten beispielsweise komprimiert, klassifiziert und formt, ohne dass entsprechende Lehrerausgangsdaten in die Einrichtung eingegeben werden. Dies ermöglicht beispielsweise eine Gruppierung ähnlicher oder gleicher in diesen Datensätzen enthaltener Merkmale. Das erhaltene Ergebnis kann dazu verwendet werden, bestimmte Kriterien zu definieren, wobei es durch Zuordnen von Ausgängen derart, dass die Ausgänge gemäß den Kriterien optimiert werden, möglich ist, die Ausgänge vorherzusagen. Ferner gibt es das sogenannte „halbüberwachte Lernen“, das eine Problemstellung nutzt, die sich als Zwischending zwischen „unüberwachtem Lernen“ und „überwachtem Lernen“ charakterisieren lässt. Dies entspricht einem Fall, in dem beispielsweise nur ein Teil der Daten in Form von Datensätzen von Ein- und Ausgängen bereitgestellt wird, während die restlichen Daten ausschließlich aus Eingängen bestehen.
  • Als Nächstes wird das „bestärkende Lernen“ genauer beschrieben. Zunächst wird eine Problemstellung zum „bestärkenden Lernen“ wie folgt bereitgestellt:
    • - Der Roboter (d.h. der Roboter, der an einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe beteiligt ist (kooperativen Roboter)) überwacht den Zustand der Umgebung und bestimmt seine Aktion.
    • - Die Umgebung ändert sich gemäß einer bestimmten Regel, wobei eine Aktion des Roboters die Umgebung beeinflussen kann.
    • - Ein Belohnungssignal wird jedes Mal zurückgeführt, wenn eine Aktion durchgeführt wird.
    • - Die gesamte (diskontierte) zukünftige Belohnung soll maximiert werden.
    • - Das Lernen beginnt in einem Zustand, in dem das Ergebnis einer Aktion völlig unbekannt oder nur teilweise bekannt ist. Mit anderen Worten, der kooperative Roboter kann ein als Daten dienendes Ergebnis nur erzielen, nachdem er eine Aktion durchgeführt hat. Anders ausgedrückt, eine optimale Aktion wird durch Versuch und Irrtum gesucht.
    • - Das Lernen kann außerdem an einem guten Ausgangspunkt begonnen werden, indem es in einem Anfangszustand begonnen wird, in dem vorab gelernt wurde, menschliche Bewegungen nachzuahmen (Techniken, wie etwa „überwachtes Lernen“ oder „inverses bestärkendes Lernen“).
  • Beim „bestärkenden Lernen“ werden, zusätzlich zu einer Bestimmung und Klassifizierung, Aktionen gelernt, um ein Verfahren zum Lernen geeigneter Aktionen unter Berücksichtigung der durch Aktionen auf die Umgebung ausgeübten Wechselwirkung zu erhalten, d.h. ein Lernen zum Maximieren der in der Zukunft zu erhaltenden Belohnung. Nachstehend wird als Beispiel das Q-Lernen beschrieben, wobei die vorliegende Erfindung jedoch nicht auf das Q-Lernen beschränkt ist.
  • Q-Lernen ist ein Verfahren zum Lernen eines Werts Q(s, a) zum Auswählen einer Aktion a in einem Umgebungszustand s. Mit anderen Worten, eine Aktion a mit dem höchsten Wert Q(s, a) im Zustand s wird bevorzugt als optimale Aktion ausgewählt. Zunächst ist der korrekte Wert von Q(s, a) hinsichtlich eines Paares aus einem Zustand s und einer Aktion a jedoch völlig unbekannt. Der Agent (das Subjekt einer Aktion) wählt unter verschiedenen Möglichkeiten eine Aktion a in einem Zustand s aus, wobei in Antwort auf die ausgewählte Aktionen a eine Belohnung vergeben wird. Durch diesen Vorgang lernt der Agent, eine bessere Aktion auszuwählen, d.h. den korrekten Wert Q(s, a).
  • Zum Maximieren der Summe der als Ergebnis der Aktionen in Zukunft zu erhaltenden Belohnungen muss am Ende Q(s, a) = E [Σ (γt) rt] erfüllt werden. Der Erwartungswert in dieser Gleichung wird in einem auf die optimale Aktion folgenden Zustand ermittelt und die optimale Aktion, welche unbekannt ist, ist durch eine Suche zu lernen. Eine Aktualisierungsgleichung eines solchen Werts Q(s, a) ist beispielsweise durch die Gleichung 1 gegeben. Q ( s t , a t ) Q ( s t , a t ) + α ( r t + 1 + γ maxQ a ( s t + 1 , a ) Q ( s t , a t ) )
    Figure DE102017007729B4_0001
  • In Gleichung 1 stellt st den Umgebungszustand zu einem Zeitpunkt t und at die Aktion zum Zeitpunkt t dar. Durch die Aktion at ändert sich der Zustand in st+1. rt+1 ist die Belohnung, die als Ergebnis der Änderung des Zustands erhalten wird. Der max umfassende Term, ist das Produkt des Q-Werts multipliziert mit γ, wenn eine Aktion a mit dem höchsten im Zustand st+1 bekannten Q-Wert ausgewählt wird. γ ist ein Parameter, der als Diskontierungsrate bezeichnet wird und 0 < γ ≤ 1 erfüllt. α ist ein Lernfaktor, der 0 < α ≤ 1 erfüllt.
  • Die Gleichung 1 stellt ein Verfahren zum Aktualisieren des Bewertungswerts Q(st, at) der Aktion at im Zustand st basierend auf der als Ergebnis des Versuchs at zurückgeführten Belohnung rt+1 dar. Genauer gesagt wird, wenn die Summe der Belohnung rt+1 und des Bewertungswerts Q(st+1, max at+1) der besten Aktion max a in dem auf den Zustand s bei der Aktion a folgenden Zustand größer ist als der Bewertungswert Q(St, at) der Aktion a im Zustand s, Q(st, at) erhöht, ansonsten wird Q(St, at) verringert. Mit anderen Worten, der Wert einer bestimmten Aktion in einem bestimmten Zustand wird an die unverzüglich als Ergebnis zurückgeführte Belohnung und den Wert der besten Aktion in dem auf die bestimmte Aktion folgenden Zustand angenähert.
  • Verfahren zur Darstellung von Q(s, a) auf einem Computer umfassen ein Verfahren zum Speichern der numerischen Werte aller Zustands-/Aktionspaare (s, a) in Form einer Tabelle und ein Verfahren zum Bereitstellen einer Funktion, die Q(s, a) annähert. Durch letzteres Verfahren kann die vorstehend genannte Gleichung 1 durch Einstellen der Parameter einer Näherungsfunktion unter Verwendung einer Technik, wie etwa dem stochastischen Gradientenabstiegsverfahren, ausgeführt werden. Ein neuronales Netz (nachstehend beschrieben) kann als Näherungsfunktion verwendet werden.
  • Beim „bestärkenden Lernen“ kann ein neuronales Netz als Näherungsalgorithmus für die Wertfunktion verwendet werden. 2 ist eine schematische Darstellung eines Neuronenmodells und 3 ist eine schematische Darstellung eines aus drei Schichten bestehenden neuronalen Netzes, das durch Kombinieren der in 2 gezeigten Neuronen gebildet wird. Genauer gesagt wird das neuronale Netz in Nachahmung eines beispielsweise in 2 dargestellten Neuronenmodells beispielsweise durch eine Recheneinrichtung und einen Speicher ausgeführt.
  • Wie in 2 gezeigt, dienen die Neuronen dazu, für eine Mehrzahl Eingänge x (in 2 beispielsweise die Eingänge x1 bis x3) einen Ausgang (Ergebnis) y auszugeben. Jeder der Eingänge x (x1, x2, x3) wird mit einem entsprechenden Gewicht w (w1, w2, w3) multipliziert. Durch diesen Vorgang geben die Neuronen durch die Gleichung 2 gegebene Ergebnisse y aus, wobei θ eine systematische Messabweichung und fk eine Aktivierungsfunktion ist. Es wird darauf hingewiesen, dass die Eingänge x, die Ergebnisse y und die Gewichte w allesamt Vektoren sind. y = f k ( i=1 n x i w i θ )
    Figure DE102017007729B4_0002
  • Ein dreischichtiges neuronales Netz, das durch Kombinieren der in 2 gezeigten Neuronen gebildet wird, ist nachstehend unter Bezugnahme auf 3 beschrieben. Eine Mehrzahl Eingänge x (hierin beispielsweise die Eingänge x1 bis x3) wird auf der linken Seite des neuronalen Netzes eingegeben und Ergebnisse y (hierin beispielsweise die Ergebnisse y1 bis y3) werden auf der rechten Seite dieses Netzes ausgegeben, wie in 3 gezeigt. Genauer gesagt werden die Eingänge x1, x2 und x3 jeweils in drei Neuronen N11 bis N13 eingegeben, nachdem sie mit entsprechenden Gewichten multipliziert wurden. Die zum Multiplizieren dieser Eingänge verwendeten Gewichte sind hierin kollektiv mit W1 bezeichnet.
  • Die Neuronen N11 bis N13 geben jeweils z11 bis z13 aus. Bezug nehmend auf 3 sind z11 bis z13 kollektiv als Merkmalsvektoren Z1 bezeichnet und können als Vektoren angesehen werden, die durch Extrahieren der Merkmalsbeträge von Eingangsvektoren erhalten werden. Die Merkmalsvektoren Z1 sind zwischen den Gewichten W1 und W2 definierte Merkmalsvektoren. z11 bis z13 werden jeweils in zwei Neuronen N21 und N22 eingegeben, nachdem sie mit entsprechenden Gewichten multipliziert wurden. Die zum Multiplizieren dieser Merkmalsvektoren verwendeten Gewichte sind hierin kollektiv mit W2 bezeichnet.
  • Die Neuronen N21 und N22 geben jeweils z21 und z22 aus. Bezug nehmend auf 3 sind z21 und z22 kollektiv als Merkmalsvektoren Z2 bezeichnet. Die Merkmalsvektoren Z2 sind zwischen den Gewichten W2 und W3 definierte Merkmalsvektoren. z21 und z22 werden jeweils in drei Neuronen N31 bis N33 eingegeben, nachdem sie mit entsprechenden Gewichten multipliziert wurden. Die zum Multiplizieren dieser Merkmalsvektoren verwendeten Gewichte sind hierin kollektiv mit W3 bezeichnet.
  • Schließlich geben die Neuronen N31 bis N33 jeweils die Ergebnisse y1 bis y3 aus. Der Betrieb des neuronalen Netzes umfasst einen Lernmodus und einen Wertvorhersagemodus. Beispielsweise wird im Lernmodus ein Gewicht W unter Verwendung von Lerndatensätzen gelernt und im Vorhersagemodus unter Verwendung der Parameter eine Roboteraktion bestimmt. Obgleich der Einfachheit halber vorstehend von „Vorhersage“ gesprochen wird, ist selbstverständlich eine Vielzahl von Aufgaben möglich, wie etwa Erfassung, Klassifizierung und Inferenz.
  • Im Vorhersagemodus durch einen tatsächlichen Betrieb des Roboters erhaltene Daten können unverzüglich gelernt und in einer darauffolgenden Aktion reflektiert werden (Online-Lernen), oder es kann eine Gruppe vorab gesammelter Daten dazu verwendet werden, ein kollektives Lernen durchzuführen und anschließend unter Verwendung derselben Parameter den Erfassungsmodus auszuführen (Batch-Lernen). Alternativ kann in einer Zwischenmaßnahme der Lernmodus immer dann zwischengeschaltet werden, wenn sich eine bestimmte Datenmenge angesammelt hat.
  • Die Gewichte w1 bis w3 können durch Backpropagation (Rückwärtspropagierung) gelernt werden. Die Fehlerinformationen werden von rechts eingegeben und fließen nach links. Backpropagation ist eine Technik, die zum Einstellen (Lernen) jedes Gewichts verwendet wird, um die Differenz zwischen dem den Eingängen x entsprechenden Ausgang und dem tatsächlichen Ausgang y (Lehrer) zu verringern. Ein solches neuronales Netz kann mehr als drei Schichten aufweisen (als tiefes Lernen (Deep Learning) bezeichnet). Es ist auch möglich, Merkmale des Eingangs schrittweise zu extrahieren, um automatisch eine Recheneinrichtung zu erlangen, die ausschließlich anhand der Lehrerdaten ein Ergebnis zurückführt.
  • Wie vorstehend beschrieben, umfasst die Maschinenlerneinrichtung 2 gemäß der vorliegenden Ausführungsform eine Zustandsüberwachungseinheit 21, eine Belohnungsberechnungseinheit 22, eine Wertfunktionsaktualisierungseinheit 23 und eine Entscheidungseinheit 24, um beispielsweise „bestärkendes Lernen (Q-Lernen)“ auszuführen. Das auf die vorliegende Erfindung angewandte Maschinenlernverfahren ist jedoch nicht auf das Q-Lernen beschränkt und es können andere Verfahren angewandt werden, sofern Belohnungen durch Addieren einer auf einer Aktion eines Menschen basierenden Belohnung berechnet werden können. Wie zuvor erwähnt, kann maschinelles Lernen (Maschinenlerneinrichtung 2) durch den Einsatz von beispielsweise GPGPU oder eines großen PC-Clusters ausgeführt werden.
  • 4 ist eine schematische Darstellung, die ein Beispiel für das Robotersystem gemäß der vorliegenden Ausführungsform veranschaulicht, und zeigt ein Beispiel, bei dem ein Mensch 1 und ein Roboter 3 zusammenarbeiten und ein Werkstück W transportieren. In 4 bezeichnet das Bezugszeichen 1 einen Menschen (Arbeiter), 3 einen Roboter (kooperativen Roboter), 30 eine Robotersteuereinheit, 31 ein Sockelteil des Roboters 3 und 32 das Handteil des Roboters 3. Ferner bezeichnet das Bezugszeichen 41 einen Berührungssensor, 42 ein Mikrofon, 43 eine Eingabeeinrichtung (Handprogrammiergerät/Teaching Pendant), 44 eine Kamera, 45a und 45b Kraftsensoren, 46 einen Lautsprecher und W ein Werkstück. Die vorstehend unter Bezugnahme auf 1 beschriebene Maschinenlerneinrichtung 2 ist beispielsweise in der Robotersteuereinheit 30 bereitgestellt. Ferner kann die Eingabeeinrichtung 43 die Form einer Armbanduhr haben und von dem Menschen 1 getragen werden.
  • Bei dem in 4 gezeigten Beispiel des Robotersystems sind das Mikrofon 42, die Kamera 44 und der Lautsprecher 46 nahe dem Handteil 32 des Roboters 3, der Kraftsensor 45a nahe dem Sockelteil 31 des Roboters 3 und der Kraftsensor 45b am Handteil 32 des Roboters 3 bereitgestellt. Der Ausgang des Mikrofons 42, der Kamera 44, des Kraftsensors 45a, 45b und/oder des Berührungssensors 41 dient als Zustandsgröße (Zustandsbetrag), die in die Zustandsüberwachungseinheit 21 der vorstehend unter Bezugnahme auf 1 beschriebenen Maschinenlerneinrichtung 2 einzugeben ist. Die Kraftsensoren 45a, 45b erfassen eine durch eine Bewegung des Roboters 3 erzeugte Kraft.
  • Der Berührungssensor 41 ist nahe dem Handteil 32 des Roboters 3 bereitgestellt und eine auf einer Aktion des Menschen 1 basierende Belohnung (eine zweite Belohnung) wird mit Hilfe dieses Berührungssensors 41 in die Maschinenlerneinrichtung 2 (die Belohnungsberechnungseinheit 22) eingegeben. Genauer gesagt wird mit Hilfe des Berührungssensors 41 als zweite Belohnung eine positive Belohnung festgelegt, wenn der Mensch 1 den Roboter 3 streichelt, und eine negative Belohnung festgelegt, wenn der Mensch 1 den Roboter 3 schlägt, wobei diese zweite Belohnung zu einer Belohnung addiert wird, die beispielsweise auf den Steuerdaten und der Zustandsgröße basiert (eine erste Belohnung). Der Berührungssensor 41 kann beispielsweise so bereitgestellt werden, dass er den ganzen Roboter 3 bedeckt und der Roboter 3 kann zur Gewährleistung der Sicherheit dafür konfiguriert werden, zu stoppen, wenn der Berührungssensor 41 eine geringfügige Kollision erfasst.
  • Alternativ wird beispielsweise mit Hilfe des am Handteil 32 des Roboters 3 bereitgestellten Mikrofons 42 eine positive Belohnung festgelegt, wenn der Mensch 1 den Roboter 3 lobt, und eine negative Belohnung festgelegt, wenn der Mensch 1 den Roboter 3 ausschimpft, wobei diese Belohnung (eine zweite Belohnung) zu der auf den Steuerdaten und der Zustandsgröße basierenden ersten Belohnung addiert wird. Es wird darauf hingewiesen, dass die auf einer Aktion des Menschen 1 basierende Belohnung (die zweite Belohnung) nicht auf eine Belohnung beschränkt ist, die auf einem Streicheln und Schlagen unter Verwendung des Berührungssensors 41 oder einem Loben und Schimpfen unter Verwendung des Mikrofons 42 basiert, wobei eine zweite Belohnung, die auf einer Aktion des Menschen 1 unter Verwendung verschiedener Sensoren oder dergleichen basiert, zu der vorstehend beschriebenen ersten Belohnung addiert werden kann.
  • 5 ist eine schematische Darstellung eines Abwandlungsbeispiels des in 4 gezeigten Robotersystems. Wie aus einem Vergleich von 5 mit 4 eindeutig hervorgeht, ist bei dem in 5 gezeigten Abwandlungsbeispiel der Berührungssensor 41 an einem Teil des Roboters 3 bereitgestellt, wo es für den Menschen 1 einfach ist, eine Aktion durchzuführen, wie etwa ein Streicheln und Schlagen, während die Kamera 44 über dem Roboter 3 bereitgestellt ist. Die Kamera 44 hat beispielsweise eine Zoom-Funktion und kann vergrößerte und verkleinerte Bilder aufnehmen.
  • Der Kraftsensor 45a ist ausschließlich am Sockelteil 31 des Roboters 3 bereitgestellt und das Mikrofon 42 wird vom Menschen 1 getragen. Ferner ist die Eingabeeinrichtung 43 eine feststehende Einrichtung, die mit einem Lautsprecher 46 ausgestattet ist. Wie beschrieben, können der Berührungssensor 41, das Mikrofon 42, die Eingabeeinrichtung 43, die Kamera 44, der Kraftsensor 45, der Lautsprecher 46 und dergleichen an verschiedenen Stellen (z.B. an Peripheriegeräten) bereitgestellt werden.
  • 6 ist ein Blockdiagramm zur Darstellung eines Beispiels für das Robotersystem gemäß der vorliegenden Ausführungsform. Wie in 6 gezeigt, umfasst das Robotersystem einen kooperativen Roboter 3 (einen an einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe beteiligten Roboter), eine Robotersteuereinheit 30, eine Maschinenierneinrichtung 2, eine Aufgabenintentionserkennungseinheit 51, eine Spracherkennungseinheit 52 und eine Frageerzeugungseinheit 53. Das Robotersystem umfasst außerdem einen Berührungssensor 41, ein Mikrofon 42, eine Eingabeeinrichtung 43, eine Kamera 44, einen Kraftsensor 45, einen Lautsprecher 46 und dergleichen. Die Maschinenlerneinrichtung 2 kann eine Bewegung des Roboters 3 beispielsweise durch Analysieren der Verteilung der Merkmalspunkte oder des Werkstücks W lernen, nachdem der Mensch 1 und der Roboter 3 zusammengearbeitet haben, um eine Aufgabe auszuführen.
  • Die Aufgabenintentionserkennungseinheit 51 empfängt beispielsweise den Ausgang der Kamera 44, des Kraftsensors 45, des Berührungssensors 41, des Mikrofons 42 und der Eingabeeinrichtung 43, um die Intention bezüglich der Aufgabe zu erkennen. Die Spracherkennungseinheit 52 erkennt die in das Mikrofon 42 eingegebene Sprache des Menschen 1 und die Aufgabenintentionserkennungseinheit 51 korrigiert die Bewegung des Roboters 3 basierend auf dem Ausgang der Spracherkennungseinheit 52.
  • Die Frageerzeugungseinheit 53 erzeugt eine dem Menschen 1 zu stellende Frage beispielsweise basierend auf einer Analyse der Intention bezüglich der Aufgabe durch die Aufgabenintentionserkennungseinheit 51 und übermittelt die Frage mit Hilfe des Lautsprechers 46 an den Menschen 1. Das Mikrofon 42 empfängt eine Antwort des Menschen 1 auf die durch den Lautsprecher 46 übermittelte Frage und die Spracherkennungseinheit 52 erkennt die mit Hilfe des Mikrofons 42 eingegebene Antwort des Menschen 1 und gibt die Antwort an die Aufgabenintentionserkennungseinheit 51 aus.
  • Bei dem in 6 gezeigten Beispiel des Robotersystems wird beispielsweise eine Zustandsgröße, die in die Zustandsüberwachungseinheit 21 der vorstehend unter Bezugnahme auf 1 beschriebenen Maschinenlerneinrichtung 2 eingegeben wird, als Ausgang der Aufgabenintentionserkennungseinheit 51 bereitgestellt. Hierbei setzt die Aufgabenintentionserkennungseinheit 51 die auf einer Aktion des Menschen 1 basierende Belohnung (die zweite Belohnung) in eine der Belohnung entsprechende Zustandsgröße um und gibt die Zustandsgröße an die Zustandsüberwachungseinheit 21 aus. Mit anderen Worten, die Aufgabenintentionserkennungseinheit 51 kann eine auf einer Aktion des Menschen 1 basierende positive Belohnung in eine für die positive Belohnung festgelegte Zustandsgröße umsetzen und die Zustandsgröße an die Zustandsüberwachungseinheit 21 ausgeben und eine auf einer Aktion des Menschen 1 basierende negative Belohnung in eine für die negative Belohnung festgelegte Zustandsgröße umsetzen und die Zustandsgröße an die Zustandsüberwachungseinheit 21 ausgeben.
  • Bei dem vorliegenden Robotersystem kann die Maschinenlerneinrichtung 2 so eingestellt werden, dass das Durchführen weiteren Lernens einer Bewegung gestoppt wird, die bis zu einem bestimmten Zeitpunkt gelernt wurde. Dies gilt für eine Situation, in der das Lernen der Roboterbewegungen hinreichend durchgeführt wurde und erwartet wird, dass der Roboter Aufgaben sicherer ausführt, indem er keine weiteren Versuche (Lernen) durchführt, oder für ähnliche Situationen. Ferner kann die Robotersteuereinheit 30, wie vorstehend beschrieben, den Roboter 3 aus Sicherheitsgründen stoppen, wenn der Berührungssensor 41 eine geringfügige Kollision (z.B. eine Kollision, die sich vom Streicheln und Schlagen durch den Menschen 1 unterscheidet) erfasst.
  • Unter Bezugnahme auf 6 wird ein Beispiel einer Verarbeitung im Robotersystem gemäß der vorliegenden Ausführungsform beschrieben. Beispielsweise wird die Sprache des Menschen (Arbeiter) 1 mit Hilfe des Mikrofons 42 in die Spracherkennungseinheit 52 eingegeben und der Inhalt der Sprache analysiert. Der durch die Spracherkennungseinheit 52 analysierte (erkannte) Inhalt der Sprache wird in die Aufgabenintentionserkennungseinheit 51 eingegeben. Die Aufgabenintentionserkennungseinheit 51 empfängt außerdem Signale von dem Berührungssensor 41, dem Mikrofon 42, der Eingabeeinrichtung 43, der Kamera 44 und dem Kraftsensor 45 und analysiert die Intention des Arbeiters 1 bezüglich der Aufgabe, die er oder sie ausführt, angesichts dieser Eingänge zusammen mit dem Inhalt der Äußerung des Arbeiters 1. Die in die Aufgabenintentionserkennungseinheit 51 eingegebenen Signale sind nicht auf die vorstehend erwähnten beschränkt und können die Ausgänge verschiedener Sensoren und dergleichen sein.
  • Die Aufgabenintentionserkennungseinheit 51 ist dazu in der Lage, eine Sprache (einen Ausgang des Mikrofons 42) und ein Kamerabild (einen Ausgang der Kamera 44) einander zuzuordnen. Somit kann beispielsweise, wenn der Arbeiter 1 „Werkstück“ sagt, das Werkstück im Bild identifiziert werden. Dies kann beispielsweise durch Kombinieren der von Google (eingetragene Marke) entwickelten Technik zum automatischen Erzeugen einer Legende für ein Bild mit einer herkömmlichen Spracherkennungstechnik umgesetzt werden.
  • Die Aufgabenintentionserkennungseinheit 51 ist außerdem mit einem einfachen Vokabular ausgestattet und der Arbeiter kann beispielsweise den Roboter (kooperativen Roboter) 3 veranlassen, eine Bewegung zum Bewegen eines Werkstücks etwas nach rechts auszuführen, indem er „bewege das Werkstück etwas nach rechts“ sagt. Diese Betriebsart wird bereits in der Praxis angewendet, etwa beim Betrieb von Windows- (eingetragene Marke) Arbeitsplatzrechnern durch Spracherkennung und beim Betrieb von Mobilgeräten, wie etwa Mobiltelefonen, durch Spracherkennung.
  • Ferner kann bei dem Robotersystem gemäß der vorliegenden Ausführungsform eine Sprache (ein Ausgang des Mikrofons 42) einer Kraftsensorinformation zugeordnet werden, wobei der kooperative Roboter 3 beispielsweise durch Sagen „etwas schwächer“ so gesteuert werden kann, dass der Eingang des Kraftsensors 45 abgeschwächt wird. Genauer gesagt wird der kooperative Roboter 3, wenn der Arbeiter beim Anwenden einer Kraft in x-Richtung „etwas schwächer“ sagt, so gesteuert, dass die in x-Richtung angewandte Kraft abgeschwächt wird, beispielsweise um die Geschwindigkeit, Beschleunigung und in x-Richtung angewandte Kraft zu verringern.
  • Die Aufgabenintentionserkennungseinheit 51 speichert die Merkmalspunktverteilung in den Kamerabildern, die vor und nach der Ausführung der Aufgabe aufgenommen wurden (z.B. zu den Zeitpunkten, zu denen der Arbeiter „starte die Arbeit“ und „beende die Arbeit“ sagt), wobei der kooperative Roboter 3 so gesteuert wird, dass eine Merkmalspunktverteilung erhalten wird, die mit dem Zustand nach Abschluss der Aufgabe übereinstimmt. Die Merkmalspunkte sind die Punkte, mit denen die Aufgabe geeignet dargestellt werden kann, beispielsweise unter Verwendung eines Autoencoders, wobei die Merkmalspunkte durch das folgende Verfahren ausgewählt werden können.
  • 7A und 7B sind Darstellungen zur Veranschaulichung eines Beispiels einer Bewegung des in 6 gezeigten Robotersystems und zur Veranschaulichung eines Vorgangs zum Auswählen von Merkmalspunkten. Mit anderen Worten, ein L-förmiges Werkstück W0 und eine sternförmige Schraube S0, die wie in 7A gezeigt separat platziert sind, werden durch die Bewegung des Roboters 3 bewegt, so dass die sternförmige Schraube SO an einem Endabschnitt des L-förmigen Werkstücks W0 platziert wird, wie in 7B gezeigt.
  • Zunächst werden geeignete Merkmalspunkte (CP1 bis CP7) ausgewählt und ihre Verteilung und ihr Positionsverhältnis vor und nach der Ausführung der Aufgabe aufgezeichnet. Merkmalspunkte können durch einen Menschen festgelegt werden, es ist jedoch zweckmäßig, sie automatisch durch den Roboter festzulegen. Die automatisch festgelegten Merkmalspunkte werden für charakteristische Abschnitte CP1 bis CP6 des Werkstücks W0 und einen Abschnitt CP7, der die Komponente S0 zu sein scheint, oder Punkte festgelegt, die Veränderungen zwischen vor und nach der Ausführung der Aufgabe zeigen. Wenn eine Punkteverteilung nach der Ausführung der Aufgabe eine gewisse Regelmäßigkeit zeigt, dienen solche Punkte (Merkmalspunkte) als Merkmalspunkte, die die Aufgabe gut darstellen. Wenn eine Punkteverteilung nach der Ausführung der Aufgabe keine Regelmäßigkeit zeigt, werden diese Punkte verworfen, da sie die Aufgabe nicht darstellen. Durch Durchführen dieses Verfahrens immer dann, wenn eine kooperative Aufgabe ausgeführt wird, werden korrekte Merkmalspunkte und die Verteilung der Merkmalspunkte nach der Ausführung der Aufgabe auf das maschinelle Lernen angewendet. In manchen Fällen ist eine gewisse Schwankung der Verteilung von Merkmalspunkten zulässig, kann jedoch durch Anwenden beispielsweise von tiefem Lernen mit einem neuronalen Netz gehandhabt werden, um das Lernen flexibel durchzuführen.
  • Beispielsweise bei der Aufgabe, die sternförmige Schraube SO an einem Endabschnitt des L-förmigen Werkstücks W0 zu platzieren, wie beispielsweise in 7A und 7B gezeigt, werden die Merkmalspunkte (die in punktierter Linie eingefassten Abschnitte) CP1 bis CP7 ausgewählt und die Verteilung der Merkmalspunkte nach Abschluss der Aufgabe im Speicher gespeichert. Die Objekte (W0, S0) werden dann so bewegt, dass die Merkmalspunktverteilung des Objekts mit der Merkmalspunktverteilung übereinstimmt, die den Zustand nach Abschluss der Aufgabe darstellt, wodurch die Aufgabe abgeschlossen wird.
  • 8 ist eine Darstellung zur Veranschaulichung eines Beispiels für ein Verfahren, bei dem die in 7A und 7B gezeigte Bewegung des Robotersystems durch tiefes Lernen erreicht wird, das ein neuronales Netz einsetzt. In 8 werden beispielsweise zunächst, wie durch SN1 angegeben, Pixel in dem nach Abschluss der Aufgabe aufgenommenen Bild in jedes Neuron (neuronales Netz) eingegeben und, wie durch SN2 angegeben, die Merkmalspunkte (CP1 bis CP7) und die Objekte (W0, S0) im Bild durch die Neuronen erkannt. Ferner werden, wie durch SN3 angegeben, Verteilungsregelmäßigkeiten der Merkmalspunkte und der Objekte durch die Neuronen gelernt, wobei dann die Intention bezüglich der Aufgabe analysiert werden kann. Es wird darauf hingewiesen, dass die Schichten des neuronalen Netzes nicht auf die drei Schichten beschränkt sind, die aus einer Eingangsschicht, einer Zwischenschicht und einer Ausgangsschicht bestehen, wobei natürlich beispielsweise die Zwischenschicht durch eine Mehrzahl Schichten gebildet werden kann.
  • Als Nächstes wird, wenn die Aufgabe ausgeführt werden soll, das Bild vor der Ausführung der Aufgabe in die Neuronen eingegeben, um, wie durch SN4 angegeben, die Merkmalspunkte und die Objekte im Bild in ähnlichen Verfahren, wie die durch SN1 bis SN3 angegebenen, zu erkennen (Extraktion von Merkmalspunkten), wobei dann, wie durch SN5 angegeben, die Verteilung der Merkmalspunkte und der Objekte nach Abschluss der Aufgabe durch die Verarbeitung durch die Neuronen berechnet wird, wie durch SN2 und SN3 angegeben. Der Roboter 3 wird dann gesteuert, um die Objekte (W0, S0) so zu bewegen, dass die Verteilung der Merkmalspunkte und der Objekte mit der berechneten Verteilung übereinstimmt, wodurch die Aufgabe abgeschlossen wird.
  • Die Beschreibung wird unter Bezugnahme auf die vorstehend beschriebene 6 fortgesetzt. Wie in 6 gezeigt, gibt es beispielsweise Punkte, bei denen während der Analyse durch die Aufgabenintentionserkennungseinheit 51 eine Klarstellung oder Bestätigung erwünscht ist, solche Punkte werden an die Frageerzeugungseinheit 53 übermittelt und in der Frageerzeugungseinheit 53 erzeugte Fragen mit Hilfe des Lautsprechers 46 an den Arbeiter (Menschen) 1 übermittelt. Genauer gesagt kann der kooperative Roboter 3 (Robotersystem) beispielsweise, wenn der Arbeiter 1 „das Werkstück mehr nach rechts“ sagt, das Werkstück etwas nach rechts bewegen und den Arbeiter 1 fragen: „Ist dies die richtige Position?“
  • Der Arbeiter beantwortet die Frage, die er oder sie mit Hilfe des Lautsprechers 46 empfängt, und der Inhalt der Antwort des Arbeiters 1 wird mit Hilfe des Mikrofons 42 und der Spracherkennungseinheit 52 analysiert und zur Aufgabenintentionserkennungseinheit 51 zurückgeführt, die die Intention des Arbeiters bezüglich der Aufgabe analysiert. Die Aufgabenintentionserkennungseinheit 51 gibt das Ergebnis der Analyse (einschließlich beispielsweise einer Ausgabe einer auf einer Aktion des Arbeiters 1 basierenden Belohnung (eine zweite Belohnung), die wie vorstehend beschrieben in eine der Belohnung entsprechende Zustandsgröße umgesetzt wurde) an die Maschinenlerneinrichtung 2 aus. Die Verarbeitung in der Maschinenlerneinrichtung 2 wurde vorstehend genau beschrieben und wird nicht weiter beschrieben, der Ausgang der Maschinenlerneinrichtung 2 wird jedoch in die Robotersteuereinheit 30 eingegeben, um den kooperativen Roboter 3 zu steuern, und wird beispielsweise bei einer späteren Ausführung gemäß der erhaltenen Intention bezüglich der Aufgabe zum Steuern des kooperativen Roboters 3 verwendet.
  • Der vorliegende Roboter versucht selbst im Laufe der kooperativen Arbeit, die Art, wie er die Aufgabe ausführt, durch allmähliches Ändern seiner Bewegungen und seiner Bewegungsgeschwindigkeit zu verbessern. Wie vorstehend beschrieben, kann eine durch den Arbeiter 1 verursachte Belohnung (eine zweite Belohnung) eine positive oder negative Belohnung in Antwort auf eine Verbesserung der Ausführung der Aufgabe sein, wobei die Belohnung durch seine oder ihre Aktion des Streicheins oder Schlagens unter Verwendung des Berührungssensors 41 oder des Lobens oder Schimpfens unter Verwendung des Mikrofons 42 festgelegt wird. Wenn der Arbeiter 1 beispielsweise unter Verwendung des Berührungssensors 41 den kooperativen Roboter 3 schlägt (Festlegen einer negativen Belohnung oder Verhängen einer Strafe), kann der kooperative Roboter 3 seine Bewegungen verbessern, indem er beispielsweise bei einer späteren Ausführung die Art der Richtungsänderung vermeidet, die der kooperative Roboter durch seine Bewegung unmittelbar vor der Verhängung der Strafe durchgeführt hat.
  • Ferner kann, wenn der kooperative Roboter 3 eine Modifikation seiner Bewegung vornimmt, um sich in einen bestimmten Abschnitt ein wenig schneller zu bewegen, und dann vom Arbeiter geschlagen wird (eine Strafe verhängt wird), der kooperative Roboter durch Vermeiden einer Modifikation, um sich in diesem Abschnitt schneller zu bewegen, seine Bewegungen bei einer späteren Ausführung verbessern. Wenn das Robotersystem (der kooperative Roboter 3) nicht versteht, warum die Strafe verhängt wurde, beispielsweise weil es nur wenige Male betrieben wurde, kann das Robotersystem (die Frageerzeugungseinheit 53) dem Arbeiter 1 eine Frage stellen und wenn ihm gesagt wird, dass es sich langsamer bewegen soll, wird der kooperative Roboter 3 so gesteuert, dass er sich beim nächsten Mal langsamer bewegt.
  • Wie vorstehend beschrieben, kann das Robotersystem (der kooperative Roboter 3) gemäß der vorliegenden Ausführungsform nicht nur ein maschinelles Lernen der Bewegungen basierend auf Zustandsgrößen durchführen, sondern auch die Bewegungen des kooperativen Roboters 3 basierend auf einer Aktion des Menschen (Arbeiters) 1 korrigieren (verbessern). Des Weiteren ermöglicht ein Gespräch der Aufgabenintentionserkennungseinheit 51 (der Spracherkennungseinheit 52, der Frageerzeugungseinheit 53) mit dem Arbeiter 1 eine weitere Verbesserung der Bewegungen des kooperativen Roboters 3. Durch die Frageerzeugungseinheit 53 für das Gespräch zwischen dem kooperativen Roboter 3 und dem Arbeiter 1 erzeugte Fragen können nicht nur Fragen umfassen, die auf der mit dem Arbeiter ausgeführten kooperativen Aufgabe basieren, wie etwa „Welches Werkstück soll ich aufnehmen?“ oder „Wo soll ich das Werkstück platzieren?“, die beispielsweise gestellt werden können, wenn eine Mehrzahl Werkstücke ermittelt wird, sondern auch dem Arbeiter 1 zu stellende Fragen bezüglich seiner eigenen Aktionen, wie etwa „Ist das das richtige Werkstück?“ oder „Ist das die richtige Stelle?“, die beispielsweise gestellt werden können, wenn der kooperative Roboter noch nicht genug gelernt hat und sich über seine Aktionen im Unklaren ist.
  • Wie vorstehend genau beschrieben, ermöglicht eine Ausführungsform der Maschinenlerneinrichtung, eines Robotersystems und eines Maschinenlernverfahrens der vorliegenden Erfindung das Sammeln von Lerndaten während der Ausführung einer kooperativen Aufgabe und verbessert dadurch die Bewegungen eines Roboters, der an einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe beteiligt ist. Ferner verbessert die Ausführungsform der Maschinenlerneinrichtung, eines Robotersystems und eines Maschinenlernverfahrens der vorliegenden Erfindung kooperative Bewegungen während einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe durch Nutzen verschiedener Sensorinformationen, durch ein Gespräch mit dem Menschen und durch andere Mittel. In gewissen Fällen lernt der Roboter, eine Aufgabe auszuführen, wodurch die Notwendigkeit, mit dem Menschen zusammenzuarbeiten, beseitigt wird.
  • Die Ausführungsformen einer Maschinenlerneinrichtung, eines Robotersystems und eines Maschinenlernverfahrens gemäß der vorliegenden Erfindung haben den vorteilhaften Effekt, die Bewegungen eines Roboters, der an einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe beteiligt ist, weiter zu verbessern. Darüber hinaus haben eine Maschinenlerneinrichtung, ein Robotersystem und ein Maschinenlernverfahren gemäß der vorliegenden Erfindung außerdem den vorteilhaften Effekt, kooperative Bewegungen während einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe durch Nutzen verschiedener Sensorinformationen, durch ein Gespräch mit dem Menschen und durch andere Mittel zu verbessern.
  • Sämtliche Beispiele und die bedingte Sprache, die hierin verwendet sind, sollen dem pädagogischen Zweck dienen, dem Leser dabei zu helfen, die Erfindung und die Konzepte zu verstehen, die durch den Erfinder beigetragen wurden, um den Stand der Technik voranzubringen, und sind weder als Beschränkungen für solche spezifisch angegebenen Beispiele und Gegebenheiten aufzufassen, noch bezieht sich die Ordnung solcher Beispiele in der Beschreibung auf eine Darstellung der Über- oder Unterlegenheit der Erfindung. Obgleich eine oder mehrere Ausführungsformen der vorliegenden Erfindung genau beschrieben wurden, versteht es sich, dass verschiedene Änderungen, Ersetzungen und Abwandlungen daran durchgeführt werden können, ohne vom Gedanken und Umfang der Erfindung abzuweichen.

Claims (10)

  1. Robotersystem umfassend: eine Maschinenlerneinrichtung zum Lernen einer Bewegung eines Roboters, der an einer gemeinsam durch einen Menschen (1) und einen Roboter (3) ausgeführten Aufgabe beteiligt ist, die umfasst: - eine Zustandsüberwachungseinheit (21), die eine Zustandsgröße überwacht, die einen Zustand des Roboters (3) angibt, wenn der Mensch (1) und der Roboter (3) zusammenarbeiten und eine Aufgabe ausführen, - eine Belohnungsberechnungseinheit (22), die basierend auf Steuerdaten und der Zustandsgröße zum Steuern des Roboters (3) und einer Aktion des Menschen (1) eine Belohnung berechnet, und - eine Wertfunktionsaktualisierungseinheit (23), die basierend auf der Belohnung und der Zustandsgröße eine Aktionswertfunktion zum Steuern einer Bewegung des Roboters (3) aktualisiert, - den Roboter (3), der gemeinsam mit dem Menschen (1) eine Aufgabe ausführt; - eine Robotersteuereinheit (30), die eine Bewegung des Roboters (3) steuert; und - eine Aufgabenintentionserkennungseinheit (51), die einen Ausgang einer Kamera (44), eines Kraftsensors (45, 45a, 45b), eines Berührungssensors (41), eines Mikrofons (42) und einer Eingabeeinrichtung (43) empfängt und eine Intention bezüglich einer Aufgabe erkennt, wobei - die Maschinenlerneinrichtung (2) durch Analysieren einer Verteilung von Merkmalspunkten oder Werkstücken (W) eine Bewegung des Roboters (3) lernt, nachdem der Mensch (1) und der Roboter (3) zusammengearbeitet und die Aufgabe ausgeführt haben, - die in die Zustandsüberwachungseinheit (21) der Maschinenlerneinrichtung (2) eingegebene Zustandsgröße einen Ausgang der Aufgabenintentionserkennungseinheit (51) umfasst, und wobei - die Aufgabenintentionserkennungseinheit (51) eine auf einer Aktion des Menschen (1) basierende positive Belohnung in eine für die positive Belohnung festgelegte Zustandsgröße umsetzt und die Zustandsgröße an die Zustandsüberwachungseinheit (21) ausgibt, - eine auf einer Aktion des Menschen (1) basierende negative Belohnung in eine für die negative Belohnung festgelegte Zustandsgröße umsetzt und die Zustandsgröße an die Zustandsüberwachungseinheit (21) ausgibt, und wobei die Belohnungsberechnungseinheit (22) die Belohnung durch Addieren einer auf der Aktion des Menschen (1) basierenden zweiten Belohnung zu einer auf den Steuerdaten und der Zustandsgröße basierenden ersten Belohnung berechnet.
  2. Robotersystem nach Anspruch 1, wobei für die zweite Belohnung: - mit Hilfe des für den Roboter (3) bereitgestellten Berührungssensors (41) eine positive Belohnung festgelegt wird, wenn der Roboter (3) gestreichelt wird, und eine negative Belohnung festgelegt wird, wenn der Roboter geschlagen wird, oder - mit Hilfe eines Mikrofons (42), das an einem Teil des Roboters (3) oder in dessen Nähe bereitgestellt ist oder von dem Menschen (1) getragen wird, eine positive Belohnung festgelegt wird, wenn der Roboter gelobt wird, und eine negative Belohnung festgelegt wird, wenn der Roboter (3) ausgeschimpft wird.
  3. Robotersystem nach einem der Ansprüche 1 bis 2, die ferner umfasst: - eine Entscheidungseinheit (24), die basierend auf einem Ausgang der Wertfunktionsaktualisierungseinheit (23) eine Bewegung des Roboters (3) vorgebende Befehlsdaten bestimmt.
  4. Robotersystem nach einem der Ansprüche 1 bis 3, wobei die Zustandsgröße einen Ausgang der Kamera (44), des Kraftsensors (45, 45a, 45b), des Mikrofons (42) und/oder des Berührungssensors (41) umfasst.
  5. Robotersystem nach Anspruch 4, wobei - die Kamera (44) direkt am Roboter (3) oder in einem umgebenden Bereich, wie etwa einem Bereich über dem Roboter (3), bereitgestellt ist, - der Kraftsensor (45, 45a, 45b) an einer Stelle an einem Sockelteil (31) und/oder einem Handteil (32) des Roboters (3) und/oder einem Peripheriegerät bereitgestellt ist, oder - der Berührungssensor (41) für wenigstens einen Teil des Roboters (3) oder an einem Peripheriegerät bereitgestellt ist.
  6. Robotersystem nach einem der Ansprüche 1 bis 5, das ferner umfasst: - eine Spracherkennungseinheit (52), die die durch das Mikrofon (42) eingegebene Sprache des Menschen (1) erkennt, wobei die Aufgabenintentionserkennungseinheit (51) die Bewegung des Roboters (3) basierend auf einem Ausgang der Spracherkennungseinheit (52) korrigiert.
  7. Robotersystem nach Anspruch 6, das ferner umfasst: - eine Frageerzeugungseinheit (53), die basierend auf einer Analyse der Intention bezüglich der Aufgabe durch die Aufgabenintentionserkennungseinheit (51) eine dem Menschen (1) zu stellende Frage erzeugt, und - einen Lautsprecher (46) zum Übermitteln der durch die Frageerzeugungseinheit (53) erzeugten Frage an den Menschen (1).
  8. Robotersystem nach Anspruch 7, wobei das Mikrofon (42) eine Antwort des Menschen (1) auf die durch den Lautsprecher (46) übermittelte Frage empfängt und die Spracherkennungseinheit (52) die durch das Mikrofon (42) eingegebene Antwort des Menschen (1) erkennt und die Antwort an die Aufgabenintentionserkennungseinheit (51) ausgibt.
  9. Robotersystem nach einem der Ansprüche 1 bis 8, wobei die Robotersteuereinheit (30) den Roboter (3) stoppt, wenn der Berührungssensor (41) eine geringfügige Kollision erfasst.
  10. Robotersystem nach einem der Ansprüche 1 bis 9, wobei die Maschinenlerneinrichtung (2) so eingestellt ist, dass sie das Durchführen weiteren Lernens einer Bewegung stoppt, die bis zu einem bestimmten Zeitpunkt gelernt wurde.
DE102017007729.0A 2016-08-23 2017-08-16 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 Active DE102017007729B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016162785A JP6517762B2 (ja) 2016-08-23 2016-08-23 人とロボットが協働して作業を行うロボットの動作を学習するロボットシステム
JP2016-162785 2016-08-23

Publications (2)

Publication Number Publication Date
DE102017007729A1 DE102017007729A1 (de) 2018-03-29
DE102017007729B4 true DE102017007729B4 (de) 2021-09-16

Family

ID=61240300

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017007729.0A Active DE102017007729B4 (de) 2016-08-23 2017-08-16 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

Country Status (4)

Country Link
US (1) US10603797B2 (de)
JP (1) JP6517762B2 (de)
CN (1) CN107767760B (de)
DE (1) DE102017007729B4 (de)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6333871B2 (ja) * 2016-02-25 2018-05-30 ファナック株式会社 入力画像から検出した対象物を表示する画像処理装置
WO2018112782A1 (en) * 2016-12-21 2018-06-28 Intel Corporation Camera re-localization by enhanced neural regression using middle layer features in autonomous machines
JP6756676B2 (ja) * 2017-07-27 2020-09-16 ファナック株式会社 製造システム
US20190138967A1 (en) * 2017-11-03 2019-05-09 Drishti Technologies, Inc. Workspace actor coordination systems and methods
US11468310B2 (en) * 2018-03-07 2022-10-11 International Business Machines Corporation Constraining actions for reinforcement learning under safety requirements
JP7044244B2 (ja) * 2018-04-04 2022-03-30 ギリア株式会社 強化学習システム
DE102018109320A1 (de) * 2018-04-19 2019-10-24 Gottfried Wilhelm Leibniz Universität Hannover Verfahren zur Erkennung einer Intention eines Partners gegenüber einer mehrgliedrigen aktuierten Kinematik
JP7048456B2 (ja) * 2018-08-30 2022-04-05 本田技研工業株式会社 学習装置、学習方法、およびプログラム
US11597085B2 (en) 2018-09-13 2023-03-07 The Charles Stark Draper Laboratory, Inc. Locating and attaching interchangeable tools in-situ
JP7246175B2 (ja) * 2018-12-12 2023-03-27 株式会社Preferred Networks 推定装置、訓練装置、推定方法及び訓練方法
JP2020121381A (ja) * 2019-01-31 2020-08-13 セイコーエプソン株式会社 機械学習器、ロボットシステム、及び機械学習方法
JP6993374B2 (ja) * 2019-03-25 2022-01-13 ファナック株式会社 ロボット制御システム
CN113228139A (zh) * 2019-05-24 2021-08-06 川崎重工业株式会社 带学习功能的建筑机械
JP6914452B1 (ja) 2019-09-13 2021-08-04 三菱電機株式会社 数値制御装置、および機械学習装置
US20210125052A1 (en) * 2019-10-24 2021-04-29 Nvidia Corporation Reinforcement learning of tactile grasp policies
CN112766530A (zh) * 2019-11-06 2021-05-07 三菱电机自动化(中国)有限公司 生产准备及生产启动作业辅助装置、系统及方法
JP2020113262A (ja) * 2019-12-05 2020-07-27 株式会社エクサウィザーズ 学習済モデル生成装置、ロボット制御装置、及び、プログラム
US11472028B2 (en) * 2019-12-06 2022-10-18 Mitsubishi Electric Research Laboratories, Inc. Systems and methods automatic anomaly detection in mixed human-robot manufacturing processes
CN115039048A (zh) * 2020-02-10 2022-09-09 三菱电机株式会社 控制装置和学习装置
US20230104802A1 (en) * 2020-02-25 2023-04-06 Nec Corporation Control device, control method and storage medium
JP7446178B2 (ja) 2020-08-05 2024-03-08 本田技研工業株式会社 行動制御装置、行動制御方法、およびプログラム
JP7425681B2 (ja) 2020-06-24 2024-01-31 本田技研工業株式会社 社会的能力生成装置、社会的能力生成方法、およびコミュニケーションロボット
JP7425690B2 (ja) 2020-07-16 2024-01-31 本田技研工業株式会社 ロボット動作生成装置、ロボット動作生成方法、およびプログラム
US20230173683A1 (en) * 2020-06-24 2023-06-08 Honda Motor Co., Ltd. Behavior control device, behavior control method, and program
KR102435582B1 (ko) * 2020-11-09 2022-08-24 경북대학교 산학협력단 Q-학습 기반의 협력로봇 제어 시스템
CN112476424A (zh) * 2020-11-13 2021-03-12 腾讯科技(深圳)有限公司 机器人控制方法、装置、设备及计算机存储介质
DE102021006546A1 (de) 2020-12-29 2022-07-28 B-Horizon GmbH Verfahren zum nutzerabhängigen Betreiben zumindest eines Datenverarbeitungssystems
CN114851184B (zh) * 2021-01-20 2023-05-09 广东技术师范大学 一种面向工业机器人的强化学习奖励值计算方法
CN115781695B (zh) * 2023-01-30 2023-06-06 戴盟(深圳)机器人科技有限公司 一种触觉传感器模块、装置及移动操作机器人控制方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05318358A (ja) 1992-05-15 1993-12-03 Shibaura Eng Works Co Ltd 工業用ロボット
JPH10146782A (ja) 1996-11-13 1998-06-02 Mitsubishi Heavy Ind Ltd ロボットの教示操作方法
JP2005118959A (ja) 2003-10-17 2005-05-12 Toyoda Mach Works Ltd 作業支援装置、作業支援方法、位置決め作業支援装置およびパワーアシスト作業支援装置
US20060149421A1 (en) 2004-12-21 2006-07-06 Fanuc Ltd Robot controller
JP2007054899A (ja) 2005-08-22 2007-03-08 Toyota Motor Corp 作業モード切替点設定方法とその装置及び作業補助装置
US20150081099A1 (en) 2013-02-25 2015-03-19 Panasonic Intellectual Property Management Co., Ltd. Robot, robot control apparatus, robot control method, and robot control program

Family Cites Families (39)

* 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
JP2000064933A (ja) * 1998-08-19 2000-03-03 Yamaha Motor Co Ltd 2サイクル筒内噴射エンジンの始動方法
JP3504507B2 (ja) * 1998-09-17 2004-03-08 トヨタ自動車株式会社 適切反力付与型作業補助装置
EP1112822A4 (de) * 1999-05-10 2005-07-20 Sony Corp Roboter und steuerverfahren desselben
WO2004103651A1 (ja) * 1999-06-01 2004-12-02 Hirohiko Arai 物体協調運搬ロボットの制御方法及びその装置
JP2001157976A (ja) * 1999-11-30 2001-06-12 Sony Corp ロボット制御装置およびロボット制御方法、並びに記録媒体
CN1283428C (zh) * 2000-03-31 2006-11-08 索尼公司 机器人设备、控制机器人设备动作的方法
JP4296714B2 (ja) * 2000-10-11 2009-07-15 ソニー株式会社 ロボット制御装置およびロボット制御方法、記録媒体、並びにプログラム
CN100411828C (zh) 2000-10-13 2008-08-20 索尼公司 机器人装置及其行为控制方法
JP2002283261A (ja) * 2001-03-27 2002-10-03 Sony Corp ロボット装置及びその制御方法、並びに記憶媒体
JP2002307349A (ja) * 2001-04-11 2002-10-23 Sony Corp ロボット装置、情報学習方法、プログラム及び記録媒体
JP3714268B2 (ja) * 2002-03-18 2005-11-09 ソニー株式会社 ロボット装置
JP2003340759A (ja) * 2002-05-20 2003-12-02 Sony Corp ロボット装置およびロボット制御方法、記録媒体、並びにプログラム
EP1484716A1 (de) * 2003-06-06 2004-12-08 Sony France S.A. Eine Architektur für selbstentwickelnde Einheiten
JP4587738B2 (ja) 2003-08-25 2010-11-24 ソニー株式会社 ロボット装置及びロボットの姿勢制御方法
JP3834307B2 (ja) * 2003-09-29 2006-10-18 ファナック株式会社 ロボットシステム
JP2005115654A (ja) * 2003-10-08 2005-04-28 Sony Corp 情報処理装置および方法、プログラム格納媒体、並びにプログラム
JP4746349B2 (ja) * 2005-05-18 2011-08-10 日本電信電話株式会社 ロボット行動選択装置及びロボット行動選択方法
JP2007065929A (ja) * 2005-08-30 2007-03-15 Okinawa Institute Of Science & Technology 制御器、制御方法および制御プログラム
JP4238256B2 (ja) * 2006-06-06 2009-03-18 ファナック株式会社 ロボットシミュレーション装置
US7984013B2 (en) * 2007-02-07 2011-07-19 Samsung Electronics Co., Ltd Method and apparatus for learning behavior in software robot
CN102229147B (zh) * 2007-06-27 2014-01-29 松下电器产业株式会社 机器手控制装置及控制方法、机器人
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 本田技研工業株式会社 強化学習システム
EP2431138A4 (de) * 2009-01-09 2014-06-04 Panasonic Corp Steuervorrichtung und steuerverfahren für einen roboterarm, roboter, steuerprogramm für den roboterarm und integrierter elektronischer schaltkreis
FR2963132A1 (fr) * 2010-07-23 2012-01-27 Aldebaran Robotics Robot humanoide dote d'une interface de dialogue naturel, methode d'utilisation et de programmation de ladite interface
CN102385695A (zh) * 2010-09-01 2012-03-21 索尼公司 人体三维姿势识别方法和装置
JP2013022705A (ja) 2011-07-25 2013-02-04 Sony Corp ロボット装置及びロボット装置の制御方法、コンピューター・プログラム、並びにロボット・システム
US8996175B2 (en) 2012-06-21 2015-03-31 Rethink Robotics, Inc. Training and operating industrial robots
JP5774223B2 (ja) 2012-06-29 2015-09-09 三菱電機株式会社 ロボット制御装置およびロボット制御方法
US9792546B2 (en) * 2013-06-14 2017-10-17 Brain Corporation Hierarchical robotic controller apparatus and methods
JPWO2015037165A1 (ja) * 2013-09-12 2017-03-02 日本電気株式会社 情報処理装置、予測制御方法、及び、プログラム
US9679258B2 (en) * 2013-10-08 2017-06-13 Google Inc. Methods and apparatus for reinforcement learning
JP5902664B2 (ja) * 2013-12-25 2016-04-13 ファナック株式会社 保護部材を有する人協調型産業用ロボット
US9533413B2 (en) * 2014-03-13 2017-01-03 Brain Corporation Trainable modular robotic apparatus and methods
JP5890477B2 (ja) * 2014-07-09 2016-03-22 ファナック株式会社 ロボットプログラム修正システム
CN105773619A (zh) 2016-04-26 2016-07-20 北京光年无限科技有限公司 用于实现人形机器人抓取行为的电控系统和人形机器人
JP6549545B2 (ja) * 2016-10-11 2019-07-24 ファナック株式会社 人の行動を学習してロボットを制御する制御装置およびロボットシステム
JP6603257B2 (ja) * 2017-03-31 2019-11-06 ファナック株式会社 行動情報学習装置、管理装置、ロボット制御システム及び行動情報学習方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05318358A (ja) 1992-05-15 1993-12-03 Shibaura Eng Works Co Ltd 工業用ロボット
JPH10146782A (ja) 1996-11-13 1998-06-02 Mitsubishi Heavy Ind Ltd ロボットの教示操作方法
JP2005118959A (ja) 2003-10-17 2005-05-12 Toyoda Mach Works Ltd 作業支援装置、作業支援方法、位置決め作業支援装置およびパワーアシスト作業支援装置
US20060149421A1 (en) 2004-12-21 2006-07-06 Fanuc Ltd Robot controller
JP2007054899A (ja) 2005-08-22 2007-03-08 Toyota Motor Corp 作業モード切替点設定方法とその装置及び作業補助装置
US20150081099A1 (en) 2013-02-25 2015-03-19 Panasonic Intellectual Property Management Co., Ltd. Robot, robot control apparatus, robot control method, and robot control program

Also Published As

Publication number Publication date
DE102017007729A1 (de) 2018-03-29
JP6517762B2 (ja) 2019-05-22
US20180056520A1 (en) 2018-03-01
JP2018030185A (ja) 2018-03-01
CN107767760A (zh) 2018-03-06
CN107767760B (zh) 2020-01-07
US10603797B2 (en) 2020-03-31

Similar Documents

Publication Publication Date Title
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
DE102017008475B4 (de) Maschinenlernvorrichtung, robotersystem und maschinenlernverfahren zum erlernen eines roboter-betriebsprogramms
DE102019002065B4 (de) Maschinelle Lernvorrichtung, Robotersteuervorrichtung und Robotervisionssystem, das eine maschinelle Lernvorrichtung verwendet, und maschinelles Lernverfahren
DE102016015866B3 (de) Maschinelle Lernvorrichtung, Robotercontroller, Robotersystem und maschinelles Lernverfahren zum Lernen des Handlungsmusters einer Person
DE102017009223B4 (de) Steuervorrichtung zum Steuern eines Roboters durch Lernen einer Aktion einer Person, Robotersystem und Produktionssystem
DE102017010799B4 (de) Maschinenlernvorrichtung zum Lernen einer Bearbeitungsreihenfolge eines Robotersystems mit einer Mehrzahl von Laserbearbeitungsrobotern, dazugehöriges Robotersystem sowie Maschinenlernverfahren zum Lernen einer Bearbeitungsreihenfolge des Robotersystems mit einer Mehrzahl von Laserbearbeitungsrobotern
DE102017011361B4 (de) Maschinelle lernvorrichtung, robotersystem und maschinelles lernverfahren zum lernen des betriebs eines roboters und eines laserscanners
DE102016014264B4 (de) Maschinelle Lernvorrichtung, Blechpaketherstellungsvorrichtung, Blechpaketherstellungssystem und maschinelles Lernverfahren zum Erlernen des Stapelns von Paketblechen
DE102017011754B4 (de) Maschinenlerneinrichtung zum Lernen eines Montagevorgangs und Komponentenmontagesystem
DE102018000730A1 (de) Werkstückaufnahmevorrichtung und Werkstückaufnahmeverfahren zum Verbessern des Aufnahmevorgangs eines Werkstücks
Guo et al. Deep learning for real-time Atari game play using offline Monte-Carlo tree search planning
DE102018006946A1 (de) Steuerung und maschinelle lernvorrichtung
DE102014108287A1 (de) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE102018001571A1 (de) Laserverarbeitungsgerät und Vorrichtung zum maschinellen Lernen
DE102019112211A1 (de) Simulationsvorrichtung
DE102019002156A1 (de) Steuergerät und maschinelle Lernvorrichtung
DE102018004330A1 (de) Steuerung und maschinelle Lernvorrichtung
DE102019106729A1 (de) Antriebsvorrichtung und Vorrichtung für maschinelles Lernen
DE102018006044A1 (de) Funk-repeater-auswahleinrichtung und maschinelle lernvorrichtung
DE102019001044A1 (de) Steuervorrichtung und maschinelle lernvorrichtung
DE102018002423A1 (de) Robotersteuerung, Vorrichtung für maschinelles Lernen und Verfahren für maschinelles Lernen
DE202011110730U1 (de) Kognitiver Bearbeitungskopf zum Bearbeiten von Werkstücken
EP4013574A1 (de) Automatisierungssystem und verfahren zur handhabung von produkten
JP2020121381A (ja) 機械学習器、ロボットシステム、及び機械学習方法
DE112020006315B4 (de) Robotersteuervorrichtung, robotersteuerverfahren und vorrichtung zur erzeugung von lernmodellen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final