DE102017008475B4 - Maschinenlernvorrichtung, robotersystem und maschinenlernverfahren zum erlernen eines roboter-betriebsprogramms - Google Patents

Maschinenlernvorrichtung, robotersystem und maschinenlernverfahren zum erlernen eines roboter-betriebsprogramms Download PDF

Info

Publication number
DE102017008475B4
DE102017008475B4 DE102017008475.0A DE102017008475A DE102017008475B4 DE 102017008475 B4 DE102017008475 B4 DE 102017008475B4 DE 102017008475 A DE102017008475 A DE 102017008475A DE 102017008475 B4 DE102017008475 B4 DE 102017008475B4
Authority
DE
Germany
Prior art keywords
robot
arm
reward
machine learning
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
DE102017008475.0A
Other languages
English (en)
Other versions
DE102017008475A1 (de
Inventor
Syuntarou TODA
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 DE102017008475A1 publication Critical patent/DE102017008475A1/de
Application granted granted Critical
Publication of DE102017008475B4 publication Critical patent/DE102017008475B4/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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K37/00Auxiliary devices or processes, not specially adapted to a procedure covered by only one of the preceding main groups
    • 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
    • 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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/029Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks and expert systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • 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/32Operator till task planning
    • G05B2219/32334Use of reinforcement learning, agent acts, receives reward
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33321Observation 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/45Nc applications
    • G05B2219/45104Lasrobot, welding robot
    • 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/45Nc applications
    • G05B2219/45135Welding

Landscapes

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

Abstract

Maschinenlernvorrichtung (2), die ein Betriebsprogramm eines Roboters (1), erlernt, die umfasst:eine Zustandsbeobachtungseinheit (21), die als eine Zustandsvariable ein Wackeln eines Arms (11) des Roboters (1) und/oder eine Länge einer Betriebsbewegungsbahn des Arms (11) des Roboters (1) beobachtet;eine Bestimmungsdaten-Erlangungseinheit (22), die als Bestimmungsdaten eine Zykluszeit erlangt, in der der Roboter (1) eine Verarbeitung durchführt; undeine Lerneinheit (23), die das Betriebsprogramm des Roboters (1) auf Grundlage einer Ausgabe der Zustandsbeobachtungseinheit (21) und einer Ausgabe der Bestimmungsdaten-Erlangungseinheit (22) erlernt, wobeidie Lerneinheit (23) umfasst:eine Belohnungsberechnungseinheit (231), die eine Belohnung auf Grundlage der Ausgabe der Zustandsbeobachtungseinheit (21) und der Ausgabe der Bestimmungsdaten-Erlangungseinheit (22) berechnet; undeine Wertfunktions-Aktualisierungseinheit (232), die eine Wertfunktion aktualisiert, die einen Wert des Betriebsprogramms des Roboters (1) auf Grundlage der Ausgabe der Zustandsbeobachtungseinheit (21), der Ausgabe der Bestimmungsdaten-Erlangungseinheit (22) und einer Ausgabe der Belohnungsberechnungseinheit (231) bestimmt, unddie Belohnungsberechnungseinheit (231) eine negative Belohnung festlegt, wenn die Zykluszeit länger als eine zuvor erlangte Zykluszeit ist, und eine positive Belohnung festlegt, wenn die Zykluszeit kürzer als eine zuvor erlangte Zykluszeit ist.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine Maschinenlernvorrichtung, ein Robotersystem und ein Maschinenlernverfahren zum Erlernen eines Betriebsprogramms eines Roboters.
  • Beschreibung der verwandten Technik
  • Herkömmlicherweise wird bei einem Punktschweißroboter, der Punktschweißen einer Fahrzeugkarosserie eines Personenkraftwagens und dergleichen durchführt, ein Lehrprogramm, das den Punktschweißroboter veranlasst, eine Mehrzahl von Punktschweißpunkten in einer Reihenfolge zu passieren, von einem Lehrer (Person) erstellt.
  • Anders ausgedrückt: Der Lehrer lehrt den Punktschweißroboter die Mehrzahl von Punktschweißpunkten unter Berücksichtigung einer Reihenfolge, in der Schweißen der Mehrzahl von Punktschweißpunkten effizient durchgeführt wird.
  • Zum Beispiel legt der Lehrer zwischen einem Schweißpunkt und dem folgenden Schweißpunkt mehrere Lehrpunkte fest, die ein Roboterarm passiert, und legt in Bezug auf einen Vorgang dazwischen auch eine Geschwindigkeit und eine Beschleunigung fest. Anders ausgedrückt: Um eine Verarbeitungszeit (Zykluszeit) des Punktschweißroboters zu verkürzen, legt der Lehrer zum Beispiel die Lehrpunkte derart fest, dass eine Bewegungsbahn des Roboterarms die kürzeste ist, und ändert ferner Einstellungen der Beschleunigung und Verlangsamung sowie der Geschwindigkeit zwischen jeweiligen Lehrpunkten.
  • Übrigens offenbart bisher zum Beispiel das Dokument JP 4087 841 B2 eine Robotersteuerung, die eine Roboterhand entlang einem Weg bewegt, der an eine tatsächliche Position angepasst ist, an der ein Werkstück angeordnet ist, eine spezielle Zielposition auswählt, um eine Zykluszeit eines Arbeitsvorgangs der Roboterhand zu verkürzen, und eine Mehrzahl von unterschiedlichen Wegmustern als Annäherungs- und Entfernungswege der Roboterhand bezogen auf die ausgewählte spezielle Zielposition speichert. Die Robotersteuerung ist derart ausgestaltet, dass sie ein Wegmuster aus der Mehrzahl von gespeicherten Wegmustern auf der Grundlage einer von einem visuellen Sensor erkannten Position des Werkstücks auswählt, das ausgewählte Wegmuster derart abwandelt, dass die Ziel position, zu der sich die Roboterhand hinbewegt, und die tatsächliche Position des Werkstücks miteinander übereinstimmen, um die Roboterhand zu bewegen.
  • Wie vorstehend beschrieben, wurde bisher die Robotersteuerung vorgeschlagen, die ein Wegmuster aus der Mehrzahl von Wegmustern auf der Grundlage einer von dem visuellen Sensor erkannten Position des Werkstücks auswählt, und ferner das ausgewählte Wegmuster derart abwandelt, dass die Ziel position der Roboterhand (Roboterarm) und die tatsächliche Position des Werkstücks miteinander übereinstimmen, wodurch eine Bewegung des Roboterarms gesteuert wird.
  • Allerdings ist es zum Beispiel bei dem Punktschweißroboter, der Punktschweißen an einer Mehrzahl von Schweißpunkten an einer Fahrzeugkarosserie eines Personenkraftwagens durchführt, für einen Lehrer (Person) schwierig, Einstellungen (Lehren) derart durchzuführen, dass eine Bewegungsbahn, auf welcher der Roboterarm eine derartige Mehrzahl von Schweißpunkten passiert, die kürzeste ist. Des Weiteren ist es in Anbetracht von Einstellungen der Beschleunigung und Verlangsamung und der Geschwindigkeit zwischen jeweiligen Lehrpunkten, und wenn man berücksichtigt, dass Schweißen durchgeführt werden soll, nachdem eine Schwankung einer Punktschweißgenauigkeit aufgrund des Wackelns des Roboterarms abnimmt und das Wackeln des Roboterarms endet, und dergleichen, für den Lehrer schwierig, eine optimale Bewegungsbahn, Geschwindigkeit und Beschleunigung des Roboterarms zu lehren, durch die eine kurze Zykluszeit erreicht wird.
  • Bei der vorliegenden Beschreibung wird als ein Beispiel eines Roboters, auf den die vorliegende Erfindung angewendet wird, ein Punktschweißroboter beschrieben, aber eine Anwendung der vorliegenden Erfindung ist nicht auf den Punktschweißroboter beschränkt, und eine Anwendung kann breit gefächert bei verschiedenen industriellen Robotern und Servicerobotern erfolgen.
  • Weitere Steuerungen für Roboter sind aus den Dokumenten JP 5 969 676 B1 , DE 10 2013 203 381 A1 , US 8 374 421 B1 und US 2014 / 0 081 895 A1 bekannt.
  • In Anbetracht des vorstehend beschriebenen Problems des Standes der Technik ist es eine Aufgabe der vorliegenden Erfindung, eine Maschinenlernvorrichtung, ein Robotersystem und ein Maschinenlernverfahren vorzusehen, die ein abgewandeltes Betriebsprogramm eines Roboters erfassen können.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Die Erfindung ist durch den Hauptanspruch sowie den nebengeordneten Anspruch 12 definiert. Weitere Ausgestaltungen der Erfindung sind durch die abhängigen Ansprüche definiert.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung ist eine Maschinenlernvorrichtung vorgesehen, die ein Betriebsprogramm eines Roboters erlernt, welche umfasst: eine Zustandsbeobachtungseinheit, die als eine Zustandsvariable ein Wackeln eines Arms des Roboters und/oder eine Länge einer Betriebsbewegungsbahn des Arms des Roboters beobachtet; eine Bestimmungsdaten-Erlangungseinheit, die als Bestimmungsdaten eine Zykluszeit erlangt, in der der Roboter eine Verarbeitung durchführt; und eine Lerneinheit, die das Betriebsprogramm des Roboters auf Grundlage einer Ausgabe der Zustandsbeobachtungseinheit und einer Ausgabe der Bestimmungsdaten-Erlangungseinheit erlernt.
  • Die Daten über das Wackeln des Arms und die Länge der Betriebsbewegungsbahn des Arms können auf Grundlage eines von einer Kamera erfassten Bildes oder von Daten von einer Robotersteuerung beobachtet werden, und die Zykluszeit kann aus Daten von der Robotersteuerung oder durch Analysieren eines von der Kamera erfassten Bildes erlangt werden. Die Zustandsbeobachtungseinheit kann ferner als eine Zustandsvariable mindestens eines aus einer Position, einer Geschwindigkeit und einer Beschleunigung des Arms beobachten. Die Maschinenlernvorrichtung kann ferner eine Entscheidungseinheit aufweisen, die einen Arbeitsvorgang des Roboters auf Grundlage des Betriebsprogramms des Roboters bestimmt, wie es von der Lerneinheit erlernt wird. Die Lerneinheit kann ferner eine Belohnungsberechnungseinheit umfassen, die eine Belohnung auf Grundlage der Ausgabe der Zustandsbeobachtungseinheit und der Ausgabe der Bestimmungsdaten-Erlangungseinheit (22) berechnet; und eine Wertfunktions-Aktualisierungseinheit, die eine Wertfunktion aktualisiert, die einen Wert des Betriebsprogramms des Roboters auf Grundlage der Ausgabe der Zustandsbeobachtungseinheit, der Ausgabe der Bestimmungsdaten-Erlangungseinheit und einer Ausgabe der Belohnungsberechnungseinheit bestimmt.
  • Die Belohnungsberechnungseinheit kann eine negative Belohnung festlegen, wenn die Zykluszeit lang ist, und eine positive Belohnung festlegen, wenn die Zykluszeit kurz ist. Die Belohnungsberechnungseinheit legt bevorzugt eine negative Belohnung fest, wenn das Wackeln des Arms ausgeprägt ist, und legt eine positive Belohnung fest, wenn das Wackeln des Arms gering ist, und legt eine negative Belohnung fest, wenn die Betriebsbewegungsbahn des Arms lang ist, und legt eine positive Belohnung fest, wenn die Betriebsbewegungsbahn des Arms kurz ist. Die Maschinenlernvorrichtung kann ein neuronales Netzwerk aufweisen. Die Maschinenlernvorrichtung kann in jedem Roboter vorgesehen sein, verbindbar mit mindestens einer anderen Maschinenlernvorrichtung sein und ein Maschinenlernergebnis mit der mindestens einen anderen Maschinenlernvorrichtung austauschen oder teilen. Die Maschinenlernvorrichtung kann sich in einem Cloud-Server oder einem Fog-Server befinden.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung sind ein Robotersystem, das eine Robotersteuerung aufweist; wobei der Roboter von der Robotersteuerung gesteuert wird; und die Maschinenlernvorrichtung gemäß dem vorstehend beschriebenen ersten Aspekt vorgesehen. Das Robotersystem kann ferner eine Kamera aufweisen, die Daten über das Wackeln des Arms und die Länge der Betriebsbewegungsbahn des Arms beobachten kann, wobei die Kamera mindestens eines aus einer ersten Kamera, die auf dem Arm des Roboters angebracht ist; einer zweiten Kamera, die auf einem Arm eines peripheren Roboters angebracht ist, der in der Nähe des Roboters vorgesehen ist, und einer dritten Kamera aufweisen kann, die in der Nähe des Roboters vorgesehen ist. Der Roboter kann ein Punktschweißroboter sein.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung ist ein Maschinenlernverfahren vorgesehen, das ein Betriebsprogramm eines Roboters erlernt, wobei das Verfahren beinhaltet, als eine Zustandsvariable ein Wackeln eines Arms des Roboters und/oder eine Länge einer Betriebsbewegungsbahn des Arms des Roboters zu beobachten; als Bestimmungsdaten eine Zykluszeit zu erlangen, in der der Roboter eine Verarbeitung durchführt; und das Betriebsprogramm des Roboters auf Grundlage einer Ausgabe der Zustandsvariablen und der Bestimmungsdaten zu erlernen. Das Erlernen des Betriebsprogramms des Roboters kann ein Berechnen einer Belohnung auf Grundlage der Zustandsvariablen und der Bestimmungsdaten und ein Aktualisieren einer Wertfunktion beinhalten, die einen Wert des Betriebsprogramms des Roboters auf Grundlage der Zustandsvariablen, der Bestimmungsdaten und der Belohnung bestimmt.
  • Figurenliste
  • Die vorliegende Erfindung ist durch Bezugnahme auf die folgenden begleitenden Zeichnungen besser zu verstehen:
    • 1 ist ein Blockschaltbild, das schematisch eine Ausführungsform einer Maschinenlernvorrichtung der vorliegenden Erfindung veranschaulicht;
    • 2 ist ein Blockschaltbild, das eine Ausführungsform eines Robotersystems der vorliegenden Erfindung veranschaulicht;
    • 3 ist ein Blockschaltbild, das ein Beispiel der Maschinenlernvorrichtung der vorliegenden Erfindung veranschaulicht;
    • 4 ist eine Darstellung, die schematisch ein Modell für ein Neuron veranschaulicht;
    • 5 ist eine Darstellung, die schematisch ein dreischichtiges neuronales Netzwerk veranschaulicht, das durch Kombinieren der in 4 veranschaulichten Neuronen gebildet wird;
    • 6 ist ein Ablaufplan, der ein Beispiel einer Verarbeitung in der in 3 veranschaulichten Maschinenlernvorrichtung veranschaulicht;
    • 7 ist ein Ablaufplan, der ein weiteres Beispiel der Verarbeitung in der in 3 veranschaulichten Maschinenlernvorrichtung veranschaulicht;
    • 8 ist eine Darstellung zum Veranschaulichen einer Bewegungsbahn eines Arms eines Roboters in dem Robotersystem.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Nachfolgend werden hier Ausführungsformen einer Maschinenlernvorrichtung, eines Robotersystems und eines Maschinenlernverfahrens der vorliegenden Erfindung detailliert mit Bezug auf die begleitenden Zeichnungen beschrieben. 1 ist ein Blockschaltbild, das schematisch eine Ausführungsform der Maschinenlernvorrichtung der vorliegenden Erfindung veranschaulicht.
  • Wie in 1 veranschaulicht, soll die Maschinenlernvorrichtung gemäß der vorliegenden Erfindung ein Betriebsprogramm eines Roboters ausgeben, das durch Durchführen eines Erlernens des Betriebsprogramms, zum Beispiel durch Verstärkendes Lernen, abgewandelt wurde, und weist eine künstliche Intelligenz 20 auf. Eine derartige Maschinenlernvorrichtung kann zum Beispiel für eine Robotersteuerung (Edge) jedes Roboters 1 vorgesehen werden, kann aber auch für jede Fabrik vorgesehen werden, die über eine Mehrzahl von Robotern (Robotersysteme) verfügt, zum Beispiel auf einem Fog-Server oder einem Cloud-Server, der mit einer Mehrzahl von Fabriken über eine Datenübertragungsleitung wie beispielsweise das Internet verbunden ist. Die in jedem Roboter vorgesehene Maschinenlernvorrichtung kann zum Beispiel derart ausgestaltet sein, dass sie verbindbar mit mindestens einer anderen Maschinenlernvorrichtung ist und ein Maschinenlernergebnis mit mindestens einer anderen derartigen Maschinenlernvorrichtung austauscht oder teilt.
  • Die künstliche Intelligenz (artificial intelligence, AI) 20 wird zum Beispiel mithilfe eines später beschriebenen neuronalen Netzwerks mit einer mehrschichtigen Struktur oder dergleichen realisiert, und empfängt Daten wie beispielsweise Information (Bildinformation) von den Kameras 12, 12' und 12a, eine Zykluszeit, in der der Roboter eine Verarbeitung durchführt, das Wackeln eines Arms des Roboters und eine Länge einer Betriebsbewegungsbahn des Arms des Roboters, um Lernen durchzuführen (Verstärkendes Lernen), und gibt das Betriebsprogramm als abgewandelt (erlernt) aus. Anders ausgedrückt: Ein derartiges Betriebsprogramm wie das erlernte ermöglicht eine Abwandlung von Lehren, zum Beispiel derart, dass der Arm des Roboters, eine an dem Arm angebrachte Vorrichtung oder dergleichen nicht in Kontakt mit einem Vorgangsziel und einem peripheren Material kommen, während eine Länge der Zykluszeit oder dergleichen eingeschränkt ist.
  • 2 ist ein Blockschaltbild, das eine Ausführungsform des Robotersystems der vorliegenden Erfindung veranschaulicht. Wie in 2 veranschaulicht, umfasst das Robotersystem der vorliegenden Erfindung den Roboter 1 und eine Maschinenlernvorrichtung 2. Wie vorstehend beschrieben, kann die Maschinenlernvorrichtung 2 zum Beispiel für die Robotersteuerung vorgesehen werden, die einen Betrieb des Roboters 1 steuert.
  • Wie in 2 veranschaulicht, umfasst die Maschinenlernvorrichtung 2 (Robotersteuerung) eine Zustandsbeobachtungseinheit 21, eine Bestimmungsdaten-Erlangungseinheit 22, eine Lerneinheit 23 sowie eine Entscheidungseinheit 24, und die Lerneinheit 23 umfasst eine Belohnungsberechnungseinheit 231 und eine Wertfunktions-Aktualisierungseinheit 232. Die Maschinenlernvorrichtung 2 wird später detailliert beschrieben. An einem Arm 11 des Roboters 1 ist die Kamera 12 vorgesehen, und außerdem ist über dem Roboter 1 die Kamera 12a vorgesehen. Ferner kann, wie später detailliert mit Bezug auf 8 beschrieben wird, als die Kamera zum Beispiel auch die Kamera 12', die an einem Arm 11' eines benachbarten Roboters 1' angebracht ist, verwendet werden. Durch die Information von Bildern, erfasst mithilfe derartiger Kameras 12, 12' und 12a, werden zum Beispiel Daten wie das Wackeln des Arms 11 und die Betriebsbewegungsbahn des Arms 11 beobachtet und an die Maschinenlernvorrichtung 2 ausgegeben. Überdies kann die Zykluszeit, in der der Roboter 1 eine Verarbeitung durchführt, auch aus der Information der von den Kameras 12, 12a erfassten Bilder bestimmt werden, aber eine Ausgabe eines in der Robotersteuerung vorgesehenen Zeitgebers kann zum Beispiel ebenfalls genutzt werden.
  • 3 ist ein Blockschaltbild, das ein Beispiel der Maschinenlernvorrichtung der vorliegenden Erfindung veranschaulicht. Wie in 3 veranschaulicht, umfasst die Maschinenlernvorrichtung 2 die Zustandsbeobachtungseinheit 21, die Bestimmungsdaten-Erlangungseinheit 22, die Lerneinheit 23 sowie die Entscheidungseinheit 24. Die Zustandsbeobachtungseinheit 21 beobachtet als eine Zustandsvariable das Wackeln des Arms 11 des Roboters 1 und/oder die Betriebsbewegungsbahn des Arms 11. Daten über das Wackeln des Arms 11 und die Betriebsbewegungsbahn des Arms 11 werden auf der Grundlage eines von den Kameras 12, 12a erfassten Bildes oder von Daten von der Robotersteuerung beobachtet, wie später beschrieben wird. Zu den Daten von der Robotersteuerung zählen zum Beispiel Daten über die Betriebsbewegungsbahn des Arms 11, erfasst auf Grundlage eines Signals von einem Codierer (Drehgeber), der auf jeder Achse des Roboters 1 vorgesehen ist. Des Weiteren kann die die Zustandsbeobachtungseinheit 21 ferner als die Zustandsvariable auch mindestens eines aus einer Position, einer Geschwindigkeit und einer Beschleunigung des Arms 11 des Roboters 1 beobachten.
  • Die Bestimmungsdaten-Erlangungseinheit 22 erlangt als Bestimmungsdaten die Zykluszeit, in der der Roboter 1 eine Verarbeitung durchführt. Die Lerneinheit 23 erlernt das Betriebsprogramm des Roboters 1 auf der Grundlage einer Ausgabe der Zustandsbeobachtungseinheit 21 und einer Ausgabe der Bestimmungs-Erlangungseinheit 22. Zu der Lerneinheit 23 zählen die Belohnungsberechnungseinheit 231 und die Wertfunktions-Aktualisierungseinheit 232. Die Belohnungsberechnungseinheit 231 berechnet eine Belohnung auf Grundlage der Ausgabe der Zustandsbeobachtungseinheit 21 und der Ausgabe der Bestimmungs-Erlangungseinheit 22, und die Wertfunktions-Aktualisierungseinheit 232 aktualisiert eine Wertfunktion, die einen Wert des Betriebsprogramms des Roboters 1 auf Grundlage der Ausgabe der Zustandsbeobachtungseinheit 21, der Ausgabe der Bestimmungsdaten-Erlangungseinheit 22 und einer Ausgabe der Belohnungsberechnungseinheit 231 bestimmt. Die Entscheidungseinheit 24 bestimmt den Arbeitsvorgang des Roboters 1 auf Grundlage des Betriebsprogramms des Roboters 1, wie es von der Lerneinheit 23 erlernt wird.
  • Übrigens verfügt die Maschinenlernvorrichtung 2 über Funktionen zum analytischen Extrahieren einer nützlichen Regel, einer Wissensdarstellung, eines Kriteriums zur Bestimmung oder dergleichen aus einem in die Vorrichtung eingegebenen Datensatz, in dem diese enthalten sind, Ausgeben eines Ergebnisses der Bestimmung und Durchführen eines Erlernens von Wissen (Maschinenlernen). Für das Maschinenlernen stehen verschiedene Techniken zur Verfügung, die grob zum Beispiel in „Überwachtes Lernen“, „Nicht überwachtes Lernen“ und „Verstärkendes Lernen“ eingeteilt werden. Des Weiteren gibt es eine als „Deep Learning“ bezeichnete Technik, bei der ein Extrahieren eines Merkmalswertes per se erlernt wird, um diese Techniken zu realisieren.
  • Die Maschinenlernvorrichtung 2, veranschaulicht in 3, nutzt „Verstärkendes Lernen (Q-Learning)“.
  • Obwohl bei der Maschinenlernvorrichtung 2 ein Universalcomputer oder ein Prozessor genutzt werden kann, ermöglicht zum Beispiel ein Übernehmen von General-Purpose Computing on Graphics Processing Units (GPGPU), großen PC-Clustern oder dergleichen eine höhere Verarbeitung. Es wird ein Überblick über das gesamte Maschinenlernen gegeben.
  • Als Erstes wird beim Überwachten Lernen die Maschinenlernvorrichtung mit einer großen Menge Lehrerdaten versehen, d.h. Datensätzen von gewissen Eingaben und Ergebnissen (Labels), um Merkmale in den Datensätzen zu erlernen und induktiv ein Modell (Fehlermodell) zum Schätzen des Ergebnisses aus der Eingabe, d.h. einer Beziehung von diesen, zu erhalten. Zum Beispiel kann Überwachtes Lernen unter Verwendung eines Algorithmus, wie beispielsweise eines neuronalen Netzwerks wie nachfolgend beschrieben, realisiert werden.
  • Nicht überwachtes Lernen ist eine Technik, bei der die Maschinenlernvorrichtung ausschließlich mit einer großen Menge Eingabedaten versehen wird, um zu lernen, wie die Eingabedaten verteilt sind, und die Vorrichtung, die eine Kompression, Klassifizierung, ein Formen oder dergleichen bezogen auf die Eingabedaten durchführt, ein Lernen durchführt, ohne mit entsprechenden Lehrer-Ausgabedaten versehen zu sein. Zum Beispiel können Merkmale in den Datensätzen zu ähnlichen Merkmalen geclustert werden. Unter Verwendung dieses Ergebnisses ist es möglich, eine Vorhersage einer Ausgabe zu erreichen, indem Ausgaben derart zugewiesen werden, dass ein Kriterium definiert wird, um das Ergebnis zu optimieren.
  • Als eine dazwischenliegende Problemstellung zwischen Nicht überwachtem Lernen und Überwachtem Lernen gibt es eine als Halbüberwachtes Lernen bezeichnete, die zum Beispiel auf einen Fall zutrifft, bei dem nur einige Datensätze von Eingaben und Ausgaben vorliegen, und die verbleibenden Daten nur Eingaben sind.
  • Als Nächstes wird Verstärkendes Lernen detailliert näher beschrieben.
  • Als Erstes wird eine Problemstellung beim Verstärkenden Lernen betrachtet wie folgt.
  • Ein Robotersystem (d.h. der Roboter 1 und die Robotersteuerung (eingeschlossen zum Beispiel die Maschinenlernvorrichtung 2)) beobachtet einen Zustand der Umgebung und entscheidet sich für eine Aktion.
  • Die Umgebung kann sich gemäß einer Regel verändern, und ferner kann das Robotersystem die Umgebung durch seine eigene Aktion verändern.
  • Ein Belohnungssignal wird jedes Mal zurückgegeben, wenn die Aktion unternommen wird.
  • Es ist die Summe (unberücksichtigter) Belohnungen in der Zukunft, deren Maximierung gewünscht wird.
  • Lernen beginnt in einem Zustand, in dem das von der Aktion verursachte Ergebnis vollständig unbekannt oder nur unvollständig bekannt ist. Anders ausgedrückt: Die Robotersteuerung kann das Ergebnis als Daten nur erlangen, nachdem sie tatsächlich eine Aktion unternimmt. Kurz gesagt, ist es zu bevorzugen, die optimale Aktion durch Versuch und Irrtum zu untersuchen.
  • Durch Festlegen eines Zustands, bei dem Lernen (eine Technik wie beispielsweise Überwachtes Lernen wie vorstehend beschrieben oder Umgekehrtes verstärkendes Lernen) im Voraus durchgeführt wird, um ein menschliches Verhalten als den Anfangszustand nachzuahmen, kann Lernen von einem guten Ausgangspunkt aus begonnen werden.
  • Verstärkendes Lernen ist eine Technik, bei der nicht nur durch Bestimmung oder Klassifizierung, sondern auch durch Erlernen von Aktionen eine angemessene Aktion erlernt wird, unter Berücksichtigung der Interaktion, für die eine Aktion gegenüber der Umgebung sorgt, d.h., wie die in der Zukunft erlangte Belohnung zu maximieren ist. Im Folgenden wird hier die Beschreibung mit einem Beispiel für Q-Lernen fortgesetzt, aber die vorliegende Erfindung ist nicht auf Q-Lernen beschränkt.
  • Q-Lernen ist ein Verfahren zum Erlernen eines Wertes Q(s, a) zum Auswählen einer Aktion a in einem gewissen Umgebungszustand s. Anders ausgedrückt: In dem gewissen Zustand s kann eine Aktion a mit dem höchsten Wert Q(s, a) bevorzugt als die optimale Aktion ausgewählt werden. Allerdings ist anfangs der richtige Wert für den Wert Q(s, a) für ein Paar aus dem Zustand s und der Aktion a vollständig unbekannt. Dementsprechend wählt ein Agent (Aktionssubjekt) verschiedene Aktionen a unter dem gewissen Zustand s und bekommt zu dieser Zeit eine Belohnung für die Aktion a. Folglich lernt der Agent, eine bessere Aktion auszuwählen, d.h. einen richtigen Wert Q(s, a).
  • Ferner wird als ein Ergebnis der Aktion gewünscht, die Summe der in der Zukunft erhaltenen Belohnungen zu maximieren, und es wird darauf abgezielt, schließlich Q ( s ,a ) = E [ γ t r t ]
    Figure DE102017008475B4_0001
    zu erfüllen.
  • Es wird angenommen, dass der erwartete Wert für den Fall genommen wird, wenn sich der Zustand nach der optimalen Aktion ändert, und da er nicht bekannt ist, wird er durch Durchführen von Erkundung (exploration) erlernt. Eine Aktualisierungsformel für einen derartigen Wert Q(s, a) kann zum Beispiel durch Gleichung (1) dargestellt werden wie folgt: Q ( s t , a t ) Q ( s t , a t ) + α ( r t + 1 + γ max a  Q ( s t+1 , a ) Q ( s t , a t ) )
    Figure DE102017008475B4_0002
  • In der vorstehenden Gleichung (1), repräsentiert st einen Zustand der Umgebung zu einer Zeit t, und at repräsentiert eine Aktion zu der Zeit t. Die Aktion at ändert den Zustand in st+1. rt+1 repräsentiert eine Belohnung, die mit der Änderung des Zustands gewonnen werden kann. Ferner ist der Term, an den max angehängt ist, das Produkt des Q-Wertes multipliziert mit yfür den Fall, in dem die Aktion a mit dem höchsten zu der Zeit bekannten Q-Wert unter dem Zustand st+1 ausgewählt wird. γ ist ein Parameter, der 0 < γ ≤ 1 erfüllt und als eine Discount Rate bezeichnet wird. α ist ein Lernfaktor, der in dem Bereich von 0 < α ≤ 1 liegt.
  • Die vorstehende Gleichung (1) repräsentiert ein Verfahren zum Aktualisieren des Bewertungswertes Q(st, at) der Aktion at in dem Zustand st auf der Grundlage der Belohnung rt+1, die als ein Ergebnis der Aktion at zurückgegeben wird. Anders ausgedrückt: Es wird angegeben, dass, wenn eine Summe der Belohnung rt+1 und des Bewertungswertes Q(st+1, max at+1) der besten Aktion max a in dem Zustand, der auf den Zustand s bei der Aktion a folgt, größer ist als der Bewertungswert Q(st, at) der Aktion a in dem Zustand s, Q(st, at) zunimmt; andernfalls nimmt Q(st, at) ab. Anders ausgedrückt: Er ist derart ausgestaltet, dass ein Wert einer gewissen Aktion in einem gewissen Zustand an die Belohnung angenähert wird, die aufgrund dessen umgehend zurückgegeben wird, und an den Wert der besten Aktion in dem bei dieser Aktion folgenden Zustand.
  • Zu Verfahren zum Darstellen von Q(s, a) auf einem Computer zählen ein Verfahren, bei dem Werte aller Zustand-Aktion-Paare (s, a) in der Form einer Tabelle festgehalten werden, und ein Verfahren, bei dem eine Funktion vorgesehen wird, die Q(s, a) approximiert.
  • Bei dem letzteren Verfahren kann die vorstehende Gleichung (1) durch Anpassen von Parametern der Approximationsfunktion unter Verwendung einer Technik wie beispielsweise einem Stochastic-Gradient-Descent-Verfahren realisiert werden. Als die Approximationsfunktion kann ein später beschriebenes neuronales Netzwerk verwendet werden.
  • Als ein Approximationsalgorithmus für eine Wertfunktion bei Verstärkendem Lernen kann ebenfalls ein neuronales Netzwerk verwendet werden. 4 ist eine Darstellung, die schematisch ein Modell für ein Neuron veranschaulicht, und 5 ist eine Darstellung, die schematisch ein dreischichtiges neuronales Netzwerk veranschaulicht, das durch Kombinieren von Neuronen gebildet wird, wie sie in 4 veranschaulicht sind. Anders ausgedrückt: Das neuronale Netzwerk ist zum Beispiel aus einer arithmetischen Vorrichtung, die ein Modell für ein Neuron simuliert, wie es in 4 veranschaulicht ist, einem Speicher und dergleichen ausgestaltet.
  • Wie in 4 veranschaulicht, gibt das Neuron eine Ausgabe (Ergebnis) y für eine Mehrzahl von Eingaben x (in 4 beispielhaft die Eingaben x1 bis x3) aus. Jede der Eingaben x (x1, x2, x3) wird mit einer Gewichtung w (w1, w2, w3) multipliziert, die der Eingabe x entspricht. Dadurch gibt das Neuron das Ergebnis y aus, das durch die folgende Gleichung (2) dargestellt wird. Zu beachten ist, dass alle der eingegeben x, das Ergebnis y und die Gewichtung w Vektoren sind. In der folgenden Gleichung (2) ist θ ein Bias, und fk ist eine Aktivierungsfunktion. y = f k ( i = 1 n X i W i θ )
    Figure DE102017008475B4_0003
  • Mit Bezug auf 5: Es wird eine Beschreibung eines dreischichtigen neuronalen Netzwerks gegeben, das mithilfe einer Kombination von Neuronen gebildet wird, wie in 4 veranschaulicht. Wie in 5 veranschaulicht, wird eine Mehrzahl von Eingaben x (hier beispielhaft Eingabe x1 bis Eingabe x3) von der linken Seite des neuronalen Netzwerks her eingegeben, und ein Ergebnis y (hier beispielhaft Ergebnis yl bis Eingabe y3) wird von der rechten Seite ausgegeben. Insbesondere werden die drei Eingaben x1, x2 und x3 mit einer Gewichtung multipliziert, die jedem der drei Neuronen N11 bis N13 entspricht, und eingegeben. Die zum Multiplizieren dieser Eingaben verwendeten Gewichtungen werden insgesamt als W1 bezeichnet.
  • Die Neuronen N11 bis N13 geben jeweils z11 bis z13 aus. In 5 werden z11 bis z13 zusammen als ein Merkmalsvektor Z1 bezeichnet, der als ein Vektor betrachtet werden kann, der durch Extrahieren von Merkmalswerten des Eingangsvektors erlangt wird. Der Merkmalsvektor Z1 ist ein Merkmalsvektor, der zwischen der Gewichtung W1 und der Gewichtung W2 definiert ist. Z11 bis z13 werden mit einer Gewichtung multipliziert, die jedem der zwei Neuronen N21 und N22 entspricht, und eingegeben. Die zum Multiplizieren dieser Merkmalsvektoren verwendeten Gewichtungen werden insgesamt als W2 bezeichnet.
  • Die Neuronen N21 und N22 geben jeweils z21 und z22 aus. In 5 werden z21, z22 insgesamt als ein Merkmalsvektor Z2 bezeichnet. Der Merkmalsvektor Z2 ist ein Merkmalsvektor, der zwischen der Gewichtung W2 und der Gewichtung W3 definiert ist. z21 und z22 werden mit einer Gewichtung multipliziert, die jedem der drei Neuronen N31 bis N33 entspricht, und eingegeben. Die zum Multiplizieren dieser Merkmalsvektoren verwendeten Gewichtungen werden insgesamt als W3 bezeichnet.
  • Schließlich geben die Neuronen N31 bis N33 jeweils das Ergebnis yl bis Ergebnis y3 aus. Der Betrieb des neuronalen Netzwerks beinhaltet einen Lernmodus und einen Wertvorhersagemodus. Zum Beispiel wird in dem Lernmodus die Gewichtung W unter Verwendung eines Lerndatensatzes erlernt, und in dem Vorhersagemodus wird die Aktion der Robotersteuerung unter Verwendung der Parameter bestimmt. Obwohl der Einfachheit halber auf Vorhersage Bezug genommen wird, ist es überflüssig zu sagen, dass verschiedene Aufgaben wie beispielsweise Erkennung, Klassifizierung, Folgerung und dergleichen möglich sind.
  • Es ist möglich, dass die Daten, die durch ein tatsächliches Betreiben der Robotersteuerung in dem Vorhersagemodus erlangt werden, umgehend erlernt werden, um bei der folgende Aktion reflektiert zu werden (Online Learning), und ebenso, dass eine Gruppe von im Voraus gesammelten Daten verwendet wird, um Collective Learning durchzuführen, und ein Erkennungsmodus mit dem Parameter ab dann ausgeführt wird (Batch-Learning). Ein dazwischen liegender Fall, bei dem ein Lernmodus jedes Mal dazwischengeschaltet wird, wenn Daten in einem gewissen Ausmaß angesammelt werden, ist ebenfalls möglich.
  • Die Gewichtungen W1 bis W3 können mithilfe eines Fehler-Backpropagation-Verfahrens erlernt werden. Die Fehlerinformation tritt von der rechten Seite ein und fließt zu der linken Seite. Das Fehler-Backpropagation-Verfahren ist eine Technik zum Anpassen (Lehnen) jeder Gewichtung, um die Differenz zwischen einer Ausgabe y, wenn eine Eingabe x eingegeben wird, und einer wahren Ausgabe y (Lehrer) für jedes Neuron zu verringern. Ein derartiges neuronales Netzwerk kann drei oder mehr Schichten aufweisen (als Deep Learning bezeichnet). Es ist möglich, Merkmale der Eingabe Schritt für Schritt zu extrahieren, um automatisch eine arithmetische Vorrichtung zu erlangen, die die Ergebnisse ausschließlich aus den Lehrerdaten zurückmeldet.
  • Wie mit Bezug auf 3 beschrieben, umfasst die Maschinenlernvorrichtung 2 gemäß dem vorliegenden Beispiel die Zustandsbeobachtungseinheit 21, die Bestimmungsdaten-Erlangungseinheit 22, die Lerneinheit 23 sowie die Entscheidungseinheit 24, um zum Beispiel Q-Lernen durchzuführen. Es sollte beachtet werden, dass das auf die vorliegende Erfindung angewendete Maschinenlernverfahren nicht auf Q-Lernen beschränkt ist, und wie vorstehend beschrieben kann die Maschinenlernvorrichtung 2 durch Übernehmen von GPGPU, großen PC-Clustern oder dergleichen realisiert werden.
  • 6 ist ein Ablaufplan, der ein Beispiel einer Verarbeitung in der in 3 veranschaulichten Maschinenlernvorrichtung veranschaulicht. Wie in 6 veranschaulicht, werden, wenn ein Maschinenlernen beginnt (Lernbeginn), bei Schritt ST11 die Bewegungsbahn, die Geschwindigkeit und die Beschleunigung des Roboters (Arm 11) auf der Grundlage der Information von den Kameras 12 und 12a geändert. Als Nächstes wird bei Schritt ST12 das Wackeln des Arms 11 bestimmt, bei Schritt ST17 wird die Länge der Bewegungsbahn des Arms 11 bestimmt, und bei Schritt ST22 wird die Zykluszeit bestimmt. In Bezug auf das Bestimmen des Wackelns des Arms 11 bei Schritt ST12, das Bestimmen der Länge der Bewegungsbahn des Arms 11 bei Schritt ST17 und das Bestimmen der Zykluszeit bei Schritt ST22, wird möglicherweise, anstatt alle Bestimmungen durchzuführen, nur ein Teil der Bestimmungen (zum Beispiel nur das Bestimmen des Wackelns des Arms bei Schritt ST12 und das Bestimmen der Zykluszeit bei Schritt ST22) durchgeführt. Alternativ ist es ferner auch möglich, noch ein weiteres Bestimmungselement hinzuzufügen.
  • Bei dem Beispiel der in 6 veranschaulichten Verarbeitung schreitet bei Schritt ST12, wenn das Wackeln des Arms 11 als stark (ausgeprägt) bestimmt wird, der Prozess fort zu ST13, und „-20“ (Belohnungswert) wird festgelegt; wenn das Wackeln des Arms 11 als unverändert bestimmt wird, schreitet der Prozess fort zu Schritt ST14, und „0“ wird festgelegt; oder wenn das Wackeln des Arms 11 als leicht (gering) bestimmt wird, schreitet der Prozess fort zu Schritt ST15, und „+20“ wird festgelegt; und dann schreitet der Prozess fort zu Schritt ST16, und eine Belohnungsaddition wird durchgeführt.
  • Bei Schritt ST17, wenn die Länge der Bewegungsbahn des Arms 11 als lang bestimmt wird, schreitet der Prozess fort zu Schritt ST18, und „-10“ (Belohnungswert) wird festgelegt; wenn die Länge der Bewegungsbahn des Arms 11 als unverändert bestimmt wird, schreitet der Prozess fort zu Schritt ST19, und „0“ wird festgelegt; oder wenn die Länge der Bewegungsbahn des Arms 11 als kurz bestimmt wird, schreitet der Prozess fort zu Schritt ST20, und „+10“ wird festgelegt; und dann schreitet der Prozess fort zu Schritt ST21, und eine Belohnungsaddition wird durchgeführt.
  • Bei Schritt ST22 schreitet, wenn die Zykluszeit als lang bestimmt wird, der Prozess fort zu Schritt ST23, und „-30“ (Belohnungswert) wird festgelegt; wenn die Zykluszeit als unverändert bestimmt wird, schreitet der Prozess fort zu Schritt ST24, und „0“ wird festgelegt; oder wenn die Zykluszeit als kurz bestimmt wird, schreitet der Prozess fort zu Schritt ST25, und „+30“ wird festgelegt; und ferner schreitet der Prozess fort zu Schritt ST26, und eine Belohnungsaddition wird durchgeführt.
  • Wie vorstehend beschrieben, werden die Belohnungswerte entsprechend jeweiligen Bestimmungselementen gewichtet, und bei dem Beispiel der in 6 veranschaulichten Verarbeitung, wird beispielsweise die Bestimmung der Zykluszeit bei Schritt ST22 stark gewichtet („-30, 0, +30“), und die Bestimmung der Länge der Bewegungsbahn des Arms 11 bei Schritt ST17 wird gering gewichtet („-10, 0, +10“). Gewichten entsprechend jeweiligen Bestimmungselementen kann derart variiert werden, dass es einen positiven Wert oder einen negativen Wert annimmt, oder es kann dafür gesorgt werden, dass Gewichten in Bezug auf alle Elemente denselben Wert annimmt.
  • Als Nächstes schreitet der Prozess fort zu Schritt ST27, und die Belohnungswerte in Bezug auf jeweilige Bestimmungselemente, die bei den vorstehend beschriebenen Schritten ST16, ST21 und ST26 addiert wurden, werden addiert, und der Prozess schreitet weiter fort zu Schritt ST28, und auf der Grundlage der bei Schritt ST27 addierten Belohnungswerte wird ein Lehrprogramm (Betriebsprogramm des Roboters) abgewandelt. Wenn der Prozess bei Schritt ST28 beendet ist, kehrt der Prozess zum Beispiel zurück zu Schritt ST11, und die ungefähr gleiche Verarbeitung wird wiederholt.
  • Die Prozesse bei jeweiligen vorstehend beschriebenen Schritten können mithilfe jeweiliger Blöcke in 3 durchgeführt werden, wie vorstehend beschrieben. Anders ausgedrückt: Die Addition der Belohnungswerte bei Schritt ST12 bis ST27 kann zum Beispiel als Belohnungsberechnungsprozess von der Belohnungsberechnungseinheit 231 in 3 durchgeführt werden. Die Abwandlung des Lehrprogramms bei Schritt ST28 kann zum Beispiel durch einen Aktualisierungsprozess der Wertfunktion (Aktionswerttabelle) mithilfe der Wertfunktions-Aktualisierungseinheit 232 und einen Bestimmungsprozess des Betriebsprogramms (Lehrprogramm) des Roboters auf Grundlage der aktualisierten Wertfunktion mithilfe der Entscheidungseinheit 24 in 3 durchgeführt werden. Auf diese Weise kann gemäß der vorliegenden Ausführungsform das abgewandelte Betriebsprogramm des Roboters erlangt werden.
  • 7 ist ein Ablaufplan, der ein weiteres Beispiel der Verarbeitung in der in 3 veranschaulichten Maschinenlernvorrichtung veranschaulicht. Wie in 7 veranschaulicht, werden, wenn ein Maschinenlernen beginnt (Lernbeginn), bei Schritt ST31 die Bewegungsbahn, die Geschwindigkeit und die Beschleunigung des Roboters 1 (Arm 11) auf der Grundlage der Information von den Kameras 12 und 12a geändert. Der Prozess schreitet weiter fort zu Schritt ST32, und die Länge der Bewegungsbahn des Arms 11 wird bestimmt; wenn die Länge der Bewegungsbahn des Arms 11 als lang bestimmt wird, schreitet der Prozess fort zu Schritt ST33, und „-10“ (Belohnungswert) wird festgelegt; wenn die Länge der Bewegungsbahn des Arms 11 als unverändert bestimmt wird, schreitet der Prozess fort zu Schritt ST34, und „0“ wird festgelegt; oder wenn die Länge der Bewegungsbahn des Arms 11 als kurz bestimmt wird, schreitet der Prozess fort zu Schritt ST35, und „+10“ wird festgelegt; und dann schreitet der Prozess fort zu Schritt ST36, und eine Belohnungsaddition wird durchgeführt.
  • Als Nächstes schreitet der Prozess fort zu Schritt ST37, und das Wackeln des Arms 11 wird bestimmt; wenn das Wackeln des Arms 11 als stark bestimmt wird, schreitet der Prozess fort zu Schritt ST38, und „-20“ (Belohnungswert) wird festgelegt; wenn das Wackeln des Arms 11 als unverändert bestimmt wird, schreitet der Prozess fort zu Schritt ST39, und „0“ wird festgelegt; oder wenn das Wackeln des Arms 11 als leicht bestimmt wird, schreitet der Prozess fort zu Schritt ST40, und „+20“ wird festgelegt; und dann schreitet der Prozess fort zu Schritt ST41, und eine Belohnungsaddition wird durchgeführt. Der Prozess schreitet fort zu Schritt ST42, und die Zykluszeit wird festgelegt; wenn die Zykluszeit als lang bestimmt wird, schreitet der Prozess fort zu Schritt ST43, und „-30“ (Belohnungswert) wird festgelegt; wenn die Zykluszeit als unverändert bestimmt wird, schreitet der Prozess fort zu Schritt ST44, und „0“ wird festgelegt; oder wenn die Zykluszeit als kurz bestimmt wird, schreitet der Prozess fort zu Schritt ST45, und „+30“ wird festgelegt; und dann schreitet der Prozess fort zu Schritt ST46, und eine Belohnungsaddition wird durchgeführt. Der Prozess schreitet weiter fort zu Schritt ST47, und das Lehrprogramm wird auf der Grundlage der addierten Belohnungswerte abgewandelt. Wenn der Prozess bei Schritt ST47 beendet ist, kehrt der Prozess zurück zu Schritt ST31, und die ungefähr gleiche Verarbeitung wird wiederholt.
  • Ähnlich wie bei den mit Bezug auf 6 beschriebenen Bestimmungen, kann in Bezug auf die Bestimmung der Länge der Bewegungsbahn des Arms 11 bei Schritt ST32 bis ST36, der Bestimmung des Wackelns des Arms 11 bei Schritt ST37 bis ST41 und der Bestimmung der Zykluszeit bei Schritt ST42 bis ST46, anstatt alle Bestimmungen durchzuführen, nur ein Teil der Bestimmungen durchgeführt werden, oder ein weiteres Bestimmungselement kann hinzugefügt werden. Überdies kann Gewichten entsprechend jeweiligen Bestimmungselementen angemessen variiert werden. Des Weiteren können die Prozesse bei jeweiligen Schritten zum Beispiel mithilfe jeweiliger Blöcke durchgeführt werden, wie in der vorstehend beschriebenen 3 veranschaulicht.
  • 8 ist eine Darstellung zum Veranschaulichen der Bewegungsbahn des Arms des Roboters in dem Robotersystem, und soll schematisch die Bewegungsbahn des Arms veranschaulichen, zum Beispiel, wenn der Arm 11 des Roboters 1, der Punktschweißen durchführt, in einer Richtung von links nach rechts in der Zeichnung bewegt wird, um Punktschweißen durchzuführen. In 8 bezeichnen die Bezugszeichen WP1 bis WP5 Positionen (Schweißpunkte, an denen Punktschweißen durchgeführt wird), die der Arm 11 (Schweißkopf) des Roboters 1 passieren muss, und die Bezugszeichen TP11 bis TP19 bezeichnen Punkte (Lehrpunkte), die der Lehrer den Roboter 1 lehrt.
  • Außerdem gibt in 8 eine Kurve TL1 die von einer Person (Lehrer) gelehrte Bewegungsbahn (Betriebsbewegungsbahn) des Arms 11 an, eine Kurve TL2 gibt die Bewegungsbahn des Arms 11 auf Grundlage des Betriebsprogramms des Roboters an, das von der Maschinenlernvorrichtung gemäß der vorstehend beschriebenen vorliegenden Ausführungsform erlangt und abgewandelt wurde, und eine Kurve TL3 gibt die Bewegungsbahn des Arms 11 an, der einen Weg nimmt, auf dem eine Entfernung zu einem peripheren Material und einem Werkstück (Vorgangsziel) die kürzeste ist. Wie in 8 veranschaulicht, ist der Arm 11 des Roboters 1 mit der Kamera 12 versehen, und sie ist zum Beispiel derart ausgestaltet, dass sie in der Lage ist, eine Entfernung zu dem Arbeitsvorgangsziel und Betriebspositionen (Schweißpunkte) zu bestätigen und Information über das Wackeln des Arms 11 und dergleichen zu erfassen.
  • Über dem Roboter 1 und an einer Position, von der aus die Gesamtheit eines Betriebsbereichs, in dem ein Arbeitsvorgang von dem Roboter 1 (Arm 11) durchgeführt wird, zu übersehen ist, ist die Kamera 12a vorgesehen, und sie ist derart ausgestaltet, dass sie zum Beispiel in der Lage ist, eine Entfernung und eine Positionsbeziehung zwischen dem Arm 11 oder einer an dem Arm 11 angebrachten Vorrichtung und dem Arbeitsvorgangsziel und dem peripheren Material, sowie Information über das Wackeln des Arms 11, die Bewegungsbahn des Arms 11 und dergleichen zu erfassen.
  • Es ist auch möglich, als die Kamera zum Beispiel die Kamera 12' zu verwenden, die an dem Arm 11' des peripheren Roboters 1' angebracht ist.
  • In 8 bezeichnet das Bezugszeichen 1' einen peripheren Roboter, der in der Nähe (zum Beispiel benachbart) des Roboters 1 vorgesehen ist, und ein Arm 11' des Roboters 1' ist auch mit der Kamera 12' versehen. Die Kamera 12', die an dem Arm 11' des peripheren Roboters 1' vorgesehen ist, kann den Arm 11 des Roboters 1 erfassen und das Wackeln und die Bewegungsbahn des Arms 11 des Roboters 1 auf der Grundlage der erfassten Daten bestimmen. Anders ausgedrückt: Das Wackeln und die Bewegungsbahn des Arms 11 des gewissen Roboters 1 können aus Daten bestimmt werden, die von der Kamera 12' erfasst werden, die an dem Arm 11' des peripheren Roboters 1' vorgesehen ist. Es sollte beachtet werden, dass der periphere Roboter 1' zum Beispiel nicht auf einen benachbarten Roboter beschränkt ist, und Daten, die von jeweiligen Kameras einer Mehrzahl von Robotern in der Nähe erfasst werden, können gegebenenfalls auch anders verwendet werden.
  • Mithilfe der Kamera 12a oder verschiedenen Typen von Sensoren wie beispielsweise einem an dem Arm 11 vorgesehenen Beschleunigungssensor zusammen mit der Kamera 12, oder mithilfe der Kamera 12', die an dem peripheren Roboter 1' angebracht ist, und verschiedenen Typen von Sensoren, die in den Robotern 1 und 1' vorgesehen sind, kann Information über die Geschwindigkeit, die Beschleunigung und dergleichen des Arms 11 des Roboters 1 erfasst werden. Überdies kann die Zykluszeit der Verarbeitung durch den Roboter 1 aus Ausgabedaten eines Zeitgebers der Robotersteuerung, die den Roboter 1 steuert, und dergleichen erfasst werden, aber sie kann zum Beispiel auch durch Analysieren eines von der Kamera 12a erfassten Bildes oder dergleichen erfasst werden. Es ist überflüssig zu sagen, dass ein Ort, an dem die Kamera angebracht ist, nicht auf einen Ort über dem Roboter 1 beschränkt ist, sondern sich in der Nähe des Roboters 1 befinden kann, z.B. an einer Seite des Roboters 1 oder unter diesem.
  • Wie in 8 veranschaulicht, ist zum Beispiel offensichtlich, dass die Bewegungsbahn TL2 entsprechend dem Betriebsprogramm des Roboters, wie es durch Lernen der Maschinenlernvorrichtung 2 gemäß der vorliegenden Ausführungsform abgewandelt wurde, sich von der von dem Lehrer gelehrten Bewegungsbahn TL1 unterscheidet, und sich auch von der Bewegungsbahn TL3 unterscheidet, die einen Weg nimmt, auf dem eine Entfernung zu dem peripheren Material und dem Werkstück die kürzeste ist.
  • Anders ausgedrückt: Es ist offensichtlich, dass die Bewegungsbahn TL1, bestimmt von dem Lehrer (Person) unter Berücksichtigung von Bedingungen wie beispielsweise dem Wackeln des Arms 11 des Roboters 1, der Länge der Betriebsbewegungsbahn oder der Zykluszeit, in der Roboter eine Verarbeitung durchführt, weitgehend von der Bewegungsbahn (durch Maschinenlernen erlangte Bewegungsbahn) TL2 abweicht, die in Bezug auf verschiedene Bedingungen als vorteilhaft angesehen wird. Es ist außerdem offensichtlich, dass sich die durch Maschinenlernen erlangte Bewegungsbahn TL2 von der Bewegungsbahn TL3 unterscheidet, die einen Weg nimmt, auf dem eine Entfernung zu dem peripheren Material und dem Werkstück lediglich die kürzeste ist. Anders ausgedrückt: Sie kann ebenfalls in Betracht gezogen werden, da bei der Bewegungsbahn TL3, die den kürzesten Weg nimmt, die Geschwindigkeit und die Beschleunigung des Arms 11 verringert werden müssen, oder das Wackeln des Arms 11 wird ausgeprägt, sodass eine zum Punktschweißen benötigte Zeit lang wird.
  • Wie vorstehend detailliert beschrieben, kann gemäß der Maschinenlernvorrichtung, dem Robotersystem und dem Maschinenlernverfahren gemäß der vorliegenden Ausführungsform das modifizierte Betriebsprogramm des Roboters erlangt werden. Daher ist es zum Beispiel möglich, Lehren derart abzuwandeln, dass der Arm des Roboters, eine an dem Arm angebrachte Vorrichtung oder dergleichen nicht in Kontakt mit einem Arbeitsvorgangsziel und einem peripheren Material kommen. Es ist überflüssig zu sagen, dass eine Anwendung der vorliegenden Ausführungsform nicht auf den Punktschweißen durchführenden Roboter beschränkt ist, sondern eine Anwendung kann breitgefächert bei verschiedenen industriellen Robotern und Servicerobotern erfolgen.
  • Die Maschinenlernvorrichtung, das Robotersystem und das Maschinenlernverfahren der vorliegenden Erfindung bieten derart eine vorteilhafte Wirkung, dass sie in der Lage sind, ein modifiziertes Betriebsprogramm eines Roboters zu erlangen.
  • Alle Beispiele sowie konditionale Sprache, die hier vorkommen, dienen den pädagogischen Zwecken, den Leser beim Verstehen der Erfindung und der Konzepte zu unterstützen, die von dem Erfinder beigesteuert werden, um die Technik voranzubringen, und sollen weder als Einschränkungen derartiger speziell angeführter Beispiele und Bedingungen aufgefasst werden, noch bezieht sich die Anordnung derartiger Beispiele in der Beschreibung auf ein Zeigen der Überlegenheit und Minderwertigkeit der Erfindung. Obwohl eine oder mehrere Ausführungsformen der vorliegenden Erfindung detailliert beschrieben wurden, sollte beachtet werden, dass verschiedene Änderungen, Ersetzungen und Abänderungen daran vorgenommen werden können, ohne von dem Erfindungsgedanken und Schutzbereich der Erfindung abzuweichen.

Claims (13)

  1. Maschinenlernvorrichtung (2), die ein Betriebsprogramm eines Roboters (1), erlernt, die umfasst: eine Zustandsbeobachtungseinheit (21), die als eine Zustandsvariable ein Wackeln eines Arms (11) des Roboters (1) und/oder eine Länge einer Betriebsbewegungsbahn des Arms (11) des Roboters (1) beobachtet; eine Bestimmungsdaten-Erlangungseinheit (22), die als Bestimmungsdaten eine Zykluszeit erlangt, in der der Roboter (1) eine Verarbeitung durchführt; und eine Lerneinheit (23), die das Betriebsprogramm des Roboters (1) auf Grundlage einer Ausgabe der Zustandsbeobachtungseinheit (21) und einer Ausgabe der Bestimmungsdaten-Erlangungseinheit (22) erlernt, wobei die Lerneinheit (23) umfasst: eine Belohnungsberechnungseinheit (231), die eine Belohnung auf Grundlage der Ausgabe der Zustandsbeobachtungseinheit (21) und der Ausgabe der Bestimmungsdaten-Erlangungseinheit (22) berechnet; und eine Wertfunktions-Aktualisierungseinheit (232), die eine Wertfunktion aktualisiert, die einen Wert des Betriebsprogramms des Roboters (1) auf Grundlage der Ausgabe der Zustandsbeobachtungseinheit (21), der Ausgabe der Bestimmungsdaten-Erlangungseinheit (22) und einer Ausgabe der Belohnungsberechnungseinheit (231) bestimmt, und die Belohnungsberechnungseinheit (231) eine negative Belohnung festlegt, wenn die Zykluszeit länger als eine zuvor erlangte Zykluszeit ist, und eine positive Belohnung festlegt, wenn die Zykluszeit kürzer als eine zuvor erlangte Zykluszeit ist.
  2. Maschinenlernvorrichtung nach Anspruch 1, wobei Daten über das Wackeln des Arms (11) und die Länge der Betriebsbewegungsbahn des Arms (11) auf Grundlage eines von einer Kamera (12, 12', 12a) erfassten Bildes oder von Daten von einer Robotersteuerung beobachtet werden, und die Zykluszeit aus Daten von der Robotersteuerung oder durch Analysieren eines von der Kamera (12, 12',12a) erfassten Bildes erlangt wird.
  3. Maschinenlernvorrichtung nach Anspruch 1 oder 2, wobei die Zustandsbeobachtungseinheit (21) ferner als eine Zustandsvariable mindestens eines aus einer Position, einer Geschwindigkeit und einer Beschleunigung des Arms (11) beobachtet.
  4. Maschinenlernvorrichtung nach einem der Ansprüche 1 bis 3, die ferner umfasst: eine Entscheidungseinheit (24), die einen Arbeitsvorgang des Roboters (1) auf Grundlage des Betriebsprogramms des Roboters (1) bestimmt, wie es von der Lerneinheit (23) erlernt wird.
  5. Maschinenlernvorrichtung nach einen der Ansprüche 1 bis 4, wobei die Belohnungsberechnungseinheit (231) eine negative Belohnung festlegt, wenn das Wackeln des Arms (11) ausgeprägter ist als ein zuvor erlangtes Wackeln des Arms (11), und eine positive Belohnung festlegt, wenn das Wackeln des Arms (11) geringer ist als ein zuvor erlangtes Wackeln des Arms (11), und eine negative Belohnung festlegt, wenn die Betriebsbewegungsbahn des Arms (11) länger als eine zuvor erlangte Betriebsbewegungsbahn des Arms (11) ist, und eine positive Belohnung festlegt, wenn die Betriebsbewegungsbahn des Arms (11) kürzer als eine zuvor erlangte Betriebsbewegungsbahn des Arms (11) ist.
  6. Maschinenlernvorrichtung nach einem der Ansprüche 1 bis 5, wobei die Maschinenlernvorrichtung (2) ein neuronales Netzwerk aufweist.
  7. Maschinenlernvorrichtung nach einem der Ansprüche 1 bis 6, wobei die Maschinenlernvorrichtung (2) in jedem Roboter (1) vorgesehen ist, verbindbar mit mindestens einer anderen Maschinenlernvorrichtung ist und ein Maschinenlernergebnis mit der mindestens einen anderen Maschinenlernvorrichtung austauscht oder teilt.
  8. Maschinenlernvorrichtung nach einem der Ansprüche 1 bis 6, wobei sich die Maschinenlernvorrichtung in einem Cloud-Server oder einem Fog-Server befindet.
  9. Robotersystem, das umfasst: eine Robotersteuerung; wobei der Roboter (1) von der Robotersteuerung gesteuert wird; und die Maschinenlernvorrichtung (2) nach einem der Ansprüche 1 bis 8.
  10. Robotersystem nach Anspruch 9, das ferner umfasst: eine Kamera (12, 12', 12a), die Daten über das Wackeln des Arms (11) und die Länge der Betriebsbewegungsbahn des Arms (11) beobachten kann, wobei die Kamera mindestens eines umfasst aus: einer ersten Kamera (12), die auf dem Arm (11) des Roboters (1) angebracht ist; einer zweiten Kamera (12'), die auf einem Arm (11') eines peripheren Roboters (1') angebracht ist, der in der Nähe des Roboters (1) vorgesehen ist; und einer dritten Kamera (12a), die in der Nähe des Roboters (1) vorgesehen ist.
  11. Robotersystem nach Anspruch 9 oder 10, wobei der Roboter ein Punktschweißroboter (1) ist.
  12. Maschinenlernverfahren, das ein Betriebsprogramm eines Roboters (1) erlernt, wobei das Verfahren umfasst: Beobachten, als eine Zustandsvariable, eines Wackelns eines Arms (11) des Roboters (1) und/oder einer Länge einer Betriebsbewegungsbahn des Arms (11) des Roboters (1); Erlangen, als Bestimmungsdaten, einer Zykluszeit, in der der Roboter (1) eine Verarbeitung durchführt; und Erlernen des Betriebsprogramms des Roboters (1) auf Grundlage der Zustandsvariablen und der Bestimmungsdaten, wobei das Erlernen des Betriebsprogramms des Roboters (1) umfasst: Berechnen einer Belohnung auf Grundlage der Zustandsvariablen und der Bestimmungsdaten; und Aktualisieren einer Wertfunktion, die einen Wert des Betriebsprogramms des Roboters (1) auf Grundlage der Zustandsvariablen, der Bestimmungsdaten und der Belohnung bestimmt, und das Berechnen der Belohnung das Festlegen einer negative Belohnung, wenn die Zykluszeit länger als eine zuvor erlangte Zykluszeit ist, und das Festlegen einer positive Belohnung, wenn die Zykluszeit kürzer als eine zuvor erlangte Zykluszeit ist umfasst.
  13. Maschinenlernverfahren nach Anspruch 12, wobei das Berechnen der Belohnung umfasst: Festlegen einer negativen Belohnung, wenn das Wackeln des Arms (11) ausgeprägter ist als ein zuvor erlangtes Wackeln des Arms (11), und Festlegen einer positiven Belohnung, wenn das Wackeln des Arms (11) geringer ist als ein zuvor erlangtes Wackeln des Arms (11), und Festlegen einer negativen Belohnung, wenn die Betriebsbewegungsbahn des Arms (11) länger als eine zuvor erlangte Betriebsbewegungsbahn des Arms (11) ist, und Festlegen einer positiven Belohnung, wenn die Betriebsbewegungsbahn des Arms (11) kürzer als eine zuvor erlangte Betriebsbewegungsbahn des Arms (11) ist.
DE102017008475.0A 2016-09-16 2017-09-08 Maschinenlernvorrichtung, robotersystem und maschinenlernverfahren zum erlernen eines roboter-betriebsprogramms Active DE102017008475B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016182233A JP6514166B2 (ja) 2016-09-16 2016-09-16 ロボットの動作プログラムを学習する機械学習装置,ロボットシステムおよび機械学習方法
JP2016-182233 2016-09-16

Publications (2)

Publication Number Publication Date
DE102017008475A1 DE102017008475A1 (de) 2018-03-22
DE102017008475B4 true DE102017008475B4 (de) 2021-08-12

Family

ID=61302564

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017008475.0A Active DE102017008475B4 (de) 2016-09-16 2017-09-08 Maschinenlernvorrichtung, robotersystem und maschinenlernverfahren zum erlernen eines roboter-betriebsprogramms

Country Status (4)

Country Link
US (1) US11511420B2 (de)
JP (1) JP6514166B2 (de)
CN (1) CN107825422A (de)
DE (1) DE102017008475B4 (de)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6616170B2 (ja) * 2015-12-07 2019-12-04 ファナック株式会社 コアシートの積層動作を学習する機械学習器、積層コア製造装置、積層コア製造システムおよび機械学習方法
US11077555B1 (en) 2015-12-07 2021-08-03 AI Incorporated Method to minimize collisions of mobile robotic device
US10207408B1 (en) * 2015-12-07 2019-02-19 AI Incorporated Method to minimize collisions of mobile robotic devices
CN117521725A (zh) * 2016-11-04 2024-02-06 渊慧科技有限公司 加强学习系统
JP6457473B2 (ja) * 2016-12-16 2019-01-23 ファナック株式会社 ロボットおよびレーザスキャナの動作を学習する機械学習装置,ロボットシステムおよび機械学習方法
JP6484265B2 (ja) * 2017-02-15 2019-03-13 ファナック株式会社 学習制御機能を備えたロボットシステム及び学習制御方法
JP6549644B2 (ja) * 2017-06-27 2019-07-24 ファナック株式会社 機械学習装置、ロボット制御システム及び機械学習方法
CN111278344B (zh) * 2017-11-01 2023-09-05 索尼公司 手术臂系统和手术臂控制系统
JP6857332B2 (ja) * 2018-03-13 2021-04-14 オムロン株式会社 演算装置、演算方法、及びそのプログラム
JP6781183B2 (ja) * 2018-03-26 2020-11-04 ファナック株式会社 制御装置及び機械学習装置
JP6810087B2 (ja) * 2018-03-29 2021-01-06 ファナック株式会社 機械学習装置、機械学習装置を用いたロボット制御装置及びロボットビジョンシステム、並びに機械学習方法
US11579000B2 (en) * 2018-04-05 2023-02-14 Fanuc Corporation Measurement operation parameter adjustment apparatus, machine learning device, and system
CN108830453B (zh) * 2018-05-07 2021-10-08 中国科学院力学研究所 一种远程操作效果的评估方法及系统
WO2019216427A1 (ja) * 2018-05-11 2019-11-14 株式会社 Preferred Networks リスク指標評価装置、リスク指標評価方法及びプログラム
CN108927806A (zh) * 2018-08-13 2018-12-04 哈尔滨工业大学(深圳) 一种应用于大批量重复性加工的工业机器人学习方法
US20210402598A1 (en) * 2018-10-10 2021-12-30 Sony Corporation Robot control device, robot control method, and robot control program
JP7207704B2 (ja) * 2018-11-14 2023-01-18 旭鉄工株式会社 学習システム、及びロボット位置調整システム
JP7247552B2 (ja) * 2018-11-29 2023-03-29 京セラドキュメントソリューションズ株式会社 学習装置、ロボット制御装置、及びロボット制御システム
KR102619004B1 (ko) * 2018-12-14 2023-12-29 삼성전자 주식회사 로봇 장치 및 로봇의 작업 기술을 학습하는 방법
JP6644191B1 (ja) * 2018-12-26 2020-02-12 三菱電機株式会社 ロボット制御装置、ロボット制御学習装置、及びロボット制御方法
JP7117237B2 (ja) * 2018-12-27 2022-08-12 川崎重工業株式会社 ロボット制御装置、ロボットシステム及びロボット制御方法
CN109773787A (zh) * 2018-12-29 2019-05-21 南京埃斯顿机器人工程有限公司 机械设备的控制学习方法及其具备学习功能的服务器系统
JP7417356B2 (ja) * 2019-01-25 2024-01-18 株式会社ソニー・インタラクティブエンタテインメント ロボット制御システム
JP7092307B2 (ja) * 2019-02-01 2022-06-28 三菱電機株式会社 作業判別装置および作業判別方法
JP7339776B2 (ja) * 2019-05-28 2023-09-06 川崎重工業株式会社 制御システム、機械装置システム及び制御方法
JP7260402B2 (ja) * 2019-05-31 2023-04-18 ファナック株式会社 ケーブルの状態を学習する機械学習装置、ロボットシステム、及び機械学習方法
JP7207207B2 (ja) * 2019-07-09 2023-01-18 トヨタ自動車株式会社 演算装置、機械学習方法及び制御プログラム
CN110328674A (zh) * 2019-07-19 2019-10-15 东莞理工学院 一种激光切割机器人
JP7415356B2 (ja) * 2019-07-29 2024-01-17 セイコーエプソン株式会社 プログラム移送システムおよびロボットシステム
JP7221183B2 (ja) * 2019-09-20 2023-02-13 株式会社日立製作所 機械学習方法、フォークリフト制御方法、及び機械学習装置
JP7458741B2 (ja) * 2019-10-21 2024-04-01 キヤノン株式会社 ロボット制御装置及びその制御方法及びプログラム
JP7263217B2 (ja) * 2019-11-27 2023-04-24 株式会社日立製作所 制御装置、制御方法、及びロボットシステム
DE102020200165B4 (de) * 2020-01-09 2022-05-19 Robert Bosch Gesellschaft mit beschränkter Haftung Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters
CN115136089A (zh) 2020-02-27 2022-09-30 三菱电机株式会社 机器人控制装置、机器人控制方法及学习模型生成装置
JP2022013477A (ja) * 2020-07-01 2022-01-18 清一 安川 次世代人工知能とロボット(パラレルリンク(ロボティック・ポッド)など)を組み合わせた次世代ロボット
DE102020127708A1 (de) 2020-10-21 2022-04-21 Ebm-Papst Mulfingen Gmbh & Co. Kg Wicklungsoptimierung
CN113012432B (zh) * 2021-03-15 2022-07-08 武强 云计算与雾计算协同强化学习的交通红绿灯控制系统
KR102453962B1 (ko) * 2021-12-10 2022-10-14 김판수 행동 모사 플랫폼 서비스 제공 시스템
TWI795282B (zh) * 2022-04-29 2023-03-01 陳健如 機器人焊接方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4087841B2 (ja) 2004-12-21 2008-05-21 ファナック株式会社 ロボット制御装置
US8374421B1 (en) 2011-10-18 2013-02-12 Google Inc. Methods and systems for extracting still frames from a compressed video
DE102013203381A1 (de) 2012-03-15 2013-09-19 GM Global Technology Operations LLC (n. d. Ges. d. Staates Delaware) Verfahren und system zum trainieren eines roboters unter verwendung einer von menschen unterstützten aufgabendemonstration
US20140081895A1 (en) 2012-09-20 2014-03-20 Oliver Coenen Spiking neuron network adaptive control apparatus and methods
JP5969676B1 (ja) 2015-09-30 2016-08-17 ファナック株式会社 工作機械の工具補正の頻度を最適化する機械学習装置及び機械学習方法、並びに該機械学習装置を備えた工作機械

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4124583B2 (ja) * 2001-09-21 2008-07-23 本田技研工業株式会社 作業ロボットの動作経路データ作成方法および装置
US7403904B2 (en) * 2002-07-19 2008-07-22 International Business Machines Corporation System and method for sequential decision making for customer relationship management
JP2005115654A (ja) * 2003-10-08 2005-04-28 Sony Corp 情報処理装置および方法、プログラム格納媒体、並びにプログラム
CN101840586B (zh) * 2010-04-02 2012-04-11 中国科学院计算技术研究所 虚拟人运动规划的方法及其系统
WO2012000650A1 (en) * 2010-06-28 2012-01-05 Precitec Kg A method for classifying a multitude of images recorded by a camera observing a processing area and laser material processing head using the same
CN101954638B (zh) * 2010-10-18 2012-01-04 湖南大学 高压输电线路除冰机器人自主抓线控制方法
US8886359B2 (en) * 2011-05-17 2014-11-11 Fanuc Corporation Robot and spot welding robot with learning control function
JP5480198B2 (ja) * 2011-05-17 2014-04-23 ファナック株式会社 学習制御機能を備えたスポット溶接ロボット
JP5733166B2 (ja) * 2011-11-14 2015-06-10 富士通株式会社 パラメータ設定装置、コンピュータプログラム及びパラメータ設定方法
US8996167B2 (en) 2012-06-21 2015-03-31 Rethink Robotics, Inc. User interfaces for robot training
US8996177B2 (en) 2013-03-15 2015-03-31 Brain Corporation Robotic training apparatus and methods
JP6214922B2 (ja) * 2013-05-20 2017-10-18 日本電信電話株式会社 情報処理装置、情報処理システム、情報処理方法、および学習プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4087841B2 (ja) 2004-12-21 2008-05-21 ファナック株式会社 ロボット制御装置
US8374421B1 (en) 2011-10-18 2013-02-12 Google Inc. Methods and systems for extracting still frames from a compressed video
DE102013203381A1 (de) 2012-03-15 2013-09-19 GM Global Technology Operations LLC (n. d. Ges. d. Staates Delaware) Verfahren und system zum trainieren eines roboters unter verwendung einer von menschen unterstützten aufgabendemonstration
US20140081895A1 (en) 2012-09-20 2014-03-20 Oliver Coenen Spiking neuron network adaptive control apparatus and methods
JP5969676B1 (ja) 2015-09-30 2016-08-17 ファナック株式会社 工作機械の工具補正の頻度を最適化する機械学習装置及び機械学習方法、並びに該機械学習装置を備えた工作機械

Also Published As

Publication number Publication date
DE102017008475A1 (de) 2018-03-22
CN107825422A (zh) 2018-03-23
JP2018043338A (ja) 2018-03-22
JP6514166B2 (ja) 2019-05-15
US11511420B2 (en) 2022-11-29
US20180079076A1 (en) 2018-03-22

Similar Documents

Publication Publication Date Title
DE102017008475B4 (de) Maschinenlernvorrichtung, robotersystem und maschinenlernverfahren zum erlernen eines roboter-betriebsprogramms
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
DE102019002065B4 (de) Maschinelle Lernvorrichtung, Robotersteuervorrichtung und Robotervisionssystem, das eine maschinelle Lernvorrichtung verwendet, und maschinelles Lernverfahren
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
DE102016015866B3 (de) Maschinelle Lernvorrichtung, Robotercontroller, Robotersystem und maschinelles Lernverfahren zum Lernen des Handlungsmusters einer Person
DE102017011361B4 (de) Maschinelle lernvorrichtung, robotersystem und maschinelles lernverfahren zum lernen des betriebs eines roboters und eines laserscanners
DE102016117773B4 (de) Werkzeugmaschine, die eine optimale Beschleunigung/Verlangsamung erzeugt, Simulationsvorrichtung und Maschinenlernvorrichtung
DE102018000730B4 (de) Werkstückaufnahmevorrichtung und Werkstückaufnahmeverfahren zum Verbessern des Aufnahmevorgangs eines Werkstücks
DE102016014264B4 (de) Maschinelle Lernvorrichtung, Blechpaketherstellungsvorrichtung, Blechpaketherstellungssystem und maschinelles Lernverfahren zum Erlernen des Stapelns von Paketblechen
DE102018001571B4 (de) Laserverarbeitungsgerät und Vorrichtung zum maschinellen Lernen
DE102017011544A1 (de) Steuerung und maschinelle Lernvorrichtung
DE102018000342A1 (de) Numerische steuerung und maschinelle lernvorrichtung
EP3765927B1 (de) Verfahren zum erzeugen eines trainingsdatensatzes zum trainieren eines künstlichen-intelligenz-moduls für eine steuervorrichtung eines fahrzeugs
DE102018003266B4 (de) Controller und maschinelle lernvorrichtung
DE102019002156A1 (de) Steuergerät und maschinelle Lernvorrichtung
DE102018004330B4 (de) Steuerung und maschinelle Lernvorrichtung
DE102018006248A1 (de) Steuervorrichtung und Lernvorrichtung
DE102016008994A1 (de) Werkzeugmaschine, simulationsvorrichtung und maschineneinlerngerät
DE102014108287A1 (de) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE102018005199B4 (de) Bauteilzuführvorrichtung und maschinelle lernvorrichtung
DE102019106729A1 (de) Antriebsvorrichtung und Vorrichtung für maschinelles Lernen
DE102019001044A1 (de) Steuervorrichtung und maschinelle lernvorrichtung
DE102017003427A1 (de) Produktionssystem zur Durchführung eines Produktionsplans
DE102019209736A1 (de) Verfahren zur Bewertung möglicher Trajektorien
DE102019112211A1 (de) Simulationsvorrichtung

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