DE102018004330B4 - Steuerung und maschinelle Lernvorrichtung - Google Patents

Steuerung und maschinelle Lernvorrichtung Download PDF

Info

Publication number
DE102018004330B4
DE102018004330B4 DE102018004330.5A DE102018004330A DE102018004330B4 DE 102018004330 B4 DE102018004330 B4 DE 102018004330B4 DE 102018004330 A DE102018004330 A DE 102018004330A DE 102018004330 B4 DE102018004330 B4 DE 102018004330B4
Authority
DE
Germany
Prior art keywords
robot
data
moving speed
speed
learning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102018004330.5A
Other languages
English (en)
Other versions
DE102018004330A1 (de
Inventor
Tetsuji Ueda
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 DE102018004330A1 publication Critical patent/DE102018004330A1/de
Application granted granted Critical
Publication of DE102018004330B4 publication Critical patent/DE102018004330B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0081Programme-controlled manipulators with master teach-in 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/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • 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/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position 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/1651Programme controls characterised by the control loop acceleration, rate control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40499Reinforcement learning algorithm

Abstract

Steuerung (1; 2), die eine Bewegungsgeschwindigkeit eines jeden Motors (50) eines Roboters abstimmt, der eine Vielzahl von Achsen aufweist und eine Beschichtung mit einem Dichtungsmaterial durchführt, wobei die Steuerung (1) umfasst:eine maschinelle Lernvorrichtung (100), die einen Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden der Motoren (50) des Roboters lernt, wobeidie maschinelle Lernvorrichtung (100) aufweist:einen Zustandsbeobachtungsabschnitt (106), der, als Zustandsvariablen (S), die einen aktuellen Zustand einer Umwelt ausdrücken, Einlern-Geschwindigkeitsabstimmbetragsdaten, die den Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden der Motoren (50) des Roboters angeben, Sollgeschwindigkeitsdaten, die eine Sollgeschwindigkeit eines Spitzenendes des Roboters angeben, Bewegungsgeschwindigkeitsdaten, die die Bewegungsgeschwindigkeit eines jeden der Motoren (50) des Roboters angeben, und Bewegungsbahndaten, die eine Bewegungsbahn in der Nähe des Spitzenendes des Roboters angeben, beobachtet,einen Bestimmungsdaten-Erfassungsabschnitt (108), der Bestimmungsdaten (D) erfasst, die ein Eignungsbestimmungsergebnis der Bewegungsgeschwindigkeit des Spitzenendes des Roboters angeben, wobei das Bestimmungsergebnis in drei oder mehr Ebenen unterteilt ist, undeinen Lernabschnitt (110), der die Sollgeschwindigkeitsdaten, die Bewegungsgeschwindigkeitsdaten und die Bewegungsbahndaten in Zuordnung zu dem Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden der Motoren (50) des Roboters unter Verwendung der Zustandsvariablen (S) und der Bestimmungsdaten lernt (D).

Description

  • Die vorliegende Erfindung betrifft eine Steuerung und eine maschinelle Lernvorrichtung und insbesondere eine Steuerung und eine maschinelle Lernvorrichtung, die eine Einlerngeschwindigkeit optimieren.
  • Allgemeine Industrieroboter werden gemäß einem zuvor erstellten Betriebsprogramm angetrieben oder so angetrieben, dass sie einen zuvor von einem Programmierhandgerät oder dergleichen eingelernten Einlernpunkt mit einer Einlerngeschwindigkeit durchlaufen. Das heißt, die Roboter werden mit einer vorgegebenen Geschwindigkeit entlang einer vorgegebenen Bahn gefahren. Zum Beispiel offenbart die offengelegte Japanische Patentanmeldung Nr. 6-285402 als verwandte Technik, die sich mit dem Einlernbetrieb eines Roboters befasst, eine Technik, durch die dem Roboter ein Abdichtungsvorgang (wie z.B. ein Einlernpunkt und eine Einlerngeschwindigkeit) eingelernt wird, um zu bewirken, dass der Roboter ein Abdichten ausführt.
  • Gemäß der in der offengelegten Japanischen Patentanmeldung JP H06 - 285 402 A offenbarten Technik wird eine Drehzahl des Motors einer Dichtmittelzuführpumpe entsprechend einer Bewegungsgeschwindigkeit eines Roboters gesteuert, um ein Dichtmittel einer Dichtmittelpistole zuzuführen, wobei eine Menge des aufzutragenden Dichtmittels pro Einheitsabstand eines Objekts unabhängig von einer Bewegungsgeschwindigkeit des Roboters konstant gehalten wird und eine Filmdicke einer Raupe konstant gehalten wird. Eine Pumpe mit einer solchen Druckregelfunktion ist jedoch teuer, was einen Ursache für die Erhöhung der Kosten eines gesamten Systems verursacht. Um die Kosten des gesamten Systems zu reduzieren, wird angedacht, eine Steuerung so auszuführen, dass die an der Spitze des Roboters vorgesehene Dichtmittelpistole einen Einlernpunkt durchläuft, wobei deren Bewegung auf einer vorgegebenen Geschwindigkeit gehalten wird. Wenn eine solche Steuerung übernehmbar ist, können die Kosten des gesamten Systems unter Verwendung einer kostengünstigen Pumpe, die nur einen EIN/AUS-Zustand steuern kann, reduziert werden. Eine Bewegungsbahn oder eine Bewegungsgeschwindigkeit des Spitzenendes des Roboters wird jedoch mit der Bewegung einer Vielzahl von Motoren umfassend bestimmt, und eine Änderung der Bewegung des Spitzenendes des Roboters bei Änderung der Bewegung eines Motors hängt von einem Bewegungszustand oder einem Beschleunigungs-/Verzögerungszustand eines anderen Motors ab. Daher hat auch ein Facharbeiter Schwierigkeiten, das Spitzenende des Roboters so abzustimmen, dass es sich entlang einer Bewegungsbahn bewegt, während dessen Bewegungsgeschwindigkeit konstant gehalten, und es ist erforderlich, die Einstellung wiederholt durch Ausprobieren durchzuführen. Als Folge davon steht der Arbeiter vor dem Problem, dass er enorme Anstrengungen unternehmen muss, um die Abstimmung durchzuführen.
  • Weiterer Stand der Technik ist aus den Druckschriften DE 10 2016 117 560 A1 , DE 10 2016 011 532 A1 , DE 10 2012 104 194 B4 , DE 10 2010 048 961 A1 , US 2016 / 0 110 657 A1 und JP S60- 027 907 A bekannt.
  • Hinsichtlich des oben genannten Problems hat die vorliegende Erfindung eine Aufgabe, eine Steuerung und eine maschinelle Lernvorrichtung bereitzustellen, die in der Lage sind, die Einlerngeschwindigkeit des Spitzenendes eines Roboters an eine vorgegebene Sollgeschwindigkeit anzupassen.
  • Diese Aufgabe wird erfindungsgemäß durch eine Steuerung gemäß dem unabhängigen Anspruch 1 und durch maschinelle Lernvorrichtung gemäß dem unabhängigen Anspruch 8 gelöst. Bevorzugte Ausführungsformen sind in den abhängigen Ansprüchen genannt.
  • Um das obige Problem zu lösen, führt eine Steuerung gemäß der vorliegenden Erfindung das maschinelle Lernen eines Abstimmbetrags einer Bewegungsgeschwindigkeit eines jeden Motors eines Roboters in Bezug auf eine Sollgeschwindigkeit des Spitzenendes des Roboters, einer aktuellen Geschwindigkeit eines jeden Motors des Roboters und einer Bewegungsbahn des Spitzenendes des Roboters durch und führt eine Steuerung so durch, dass eine Bewegungsgeschwindigkeit des Spitzenendes des Roboters einer Sollgeschwindigkeit entspricht, wenn sich der Roboter basierend auf einem Ergebnis des maschinellen Lernens zu einer Einlernposition bewegt.
  • Eine Steuerung gemäß einer ersten Ausführungsform der vorliegenden Erfindung stimmt die Bewegungsgeschwindigkeit jedes Motors eines Roboters ab, der die Beschichtung mit einem Dichtungsmaterial durchführt. Die Steuerung umfasst eine maschinelle Lernvorrichtung, die einen Abstimmbetrag der Bewegungsgeschwindigkeit der einzelnen Motoren des Roboters lernt. Die maschinelle Lernvorrichtung hat einen Zustandsbeobachtungsabschnitt, der als Zustandsvariablen, die einen aktuellen Zustand einer Umwelt ausdrücken, Einlern-Geschwindigkeitsabstimmbetragsdaten, die den Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters angeben, Sollgeschwindigkeitsdaten, die eine Sollgeschwindigkeit eines Spitzenendes des Roboters angeben, Bewegungsgeschwindigkeitsdaten, die die Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters angeben, und Bewegungsbahndaten, die eine Bewegungsbahn in der Nähe des Spitzenendes des Roboters angeben, beobachtet, einen Bestimmungsdatenerfassungsabschnitt, der Bestimmungsdaten erfasst, die ein Eignungsbestimmungsergebnis der Bewegungsgeschwindigkeit des Spitzenendes des Roboters angeben, und einen Lernabschnitt, der die Sollgeschwindigkeitsdaten, die Bewegungsgeschwindigkeitsdaten und die Bewegungsbahndaten in Zuordnung zu dem Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters unter Verwendung der Zustandsvariablen und der Bestimmungsdaten lernt.
  • Die Bestimmungsdaten können neben dem Eignungsbestimmungsergebnis der Bewegungsgeschwindigkeit des Spitzenendes des Roboters ein Eignungsbestimmungsergebnis einer Position des Spitzenendes des Roboters umfassen.
  • Der Lernabschnitt kann einen Belohnungsberechnungsabschnitt, der eine Belohnung in Zuordnung zu dem Eignungsbestimmungsergebnis berechnet, und einen Wertfunktion-Aktualisierungsabschnitt aufweisen, der unter Verwendung der Belohnung eine Funktion aktualisiert, die einen Wert des Abstimmbetrags der Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters in Bezug auf die Sollgeschwindigkeit des Spitzenendes des Roboters, die Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters und die Bewegungsbahn in der Nähe des Spitzenendes des Roboters ausdrückt.
  • Der Lernabschnitt kann die Berechnung der Zustandsvariablen und der Bestimmungsdaten auf Basis einer mehrschichtigen Struktur durchführen.
  • Die Steuerung kann ferner einen Entscheidungsfindungsabschnitt umfassen, der einen Sollwert basierend auf dem Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters auf einer Basis eines Lernergebnisses des Lernabschnitts ausgibt.
  • Der Lernabschnitt kann den Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters in jedem einer Vielzahl von Robotern unter Verwendung der für jeden der Vielzahl von Robotern erhaltenen Zustandsvariablen und Bestimmungsdaten lernen.
  • Die maschinelle Lernvorrichtung kann in einem Cloud-Server vorhanden sein.
  • Eine maschinelle Lernvorrichtung gemäß einer zweiten Ausführungsform der vorliegenden Erfindung lernt einen Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden Motors eines Roboters, der die Beschichtung mit einem Dichtungsmaterial durchführt. Die maschinelle Lernvorrichtung umfasst: einen Zustandsbeobachtungsabschnitt, der als Zustandsvariablen, die einen aktuellen Zustand einer Umwelt ausdrücken, einen Zustandsbeobachtungsabschnitt, der als Zustandsvariablen, die einen aktuellen Zustand einer Umwelt ausdrücken, Einlern-Geschwindigkeitsabstimmbetragsdaten, die den Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters angeben, Sollgeschwindigkeitsdaten, die eine Sollgeschwindigkeit eines Spitzenendes des Roboters angeben, Bewegungsgeschwindigkeitsdaten, die die Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters angeben, und Bewegungsbahndaten, die eine Bewegungsbahn in der Nähe des Spitzenendes des Roboters angeben, beobachtet; einen Bestimmungsdaten-Erfassungsabschnitt, der Bestimmungsdaten erfasst, die ein Eignungsbestimmungsergebnis der Bewegungsgeschwindigkeit des Spitzenendes des Roboters angeben; und einen Lernabschnitt, der die Sollgeschwindigkeitsdaten, die Bewegungsgeschwindigkeitsdaten und die Bewegungsbahndaten in Zuordnung zu dem Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters unter Verwendung der Zustandsvariablen und der Bestimmungsdaten lernt.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung ist es möglich, durch die Abstimmung einer Einlerngeschwindigkeit des Roboters basierend auf einem Lernergebnisses eine Bewegungsgeschwindigkeit des Spitzenendes eines Roboters konstant zu halten und eine Filmdicke einer Raupe konstant zu halten, ohne eine teure Pumpe zu verwenden.
    • 1 ist ein schematisches Hardware-Konfigurationsdiagramm einer Steuerung gemäß einer ersten Ausführungsform;
    • 2 ist ein schematisches Funktionsblockschaltbild der Steuerung gemäß der ersten Ausführungsform;
    • 3 ist ein schematisches Funktionsblockschaltbild, das eine Ausführungsform der Steuerung zeigt;
    • 4 ist ein schematisches Flussdiagramm, das die Ausführungsform eines maschinellen Lernverfahrens zeigt;
    • 5A ist ein Diagramm zur Beschreibung eines Neurons;
    • 5B ist ein Diagramm zur Beschreibung eines neuronalen Netzes;
    • 6 ist ein schematisches Funktionsblockschaltbild einer Steuerung gemäß einer zweiten Ausführungsform;
    • 7 ist ein schematisches Funktionsblockschaltbild, das eine Ausführungsform eines Systems mit Steuerungen zeigt; und
    • 8 ist ein schematisches Funktionsblockschaltbild, das eine weitere Ausführungsform eines Systems mit einer Steuerung zeigt.
  • 1 ist ein schematisches Hardware-Konfigurationsdiagramm, das eine Steuerung und die wesentlichen Teile einer von der Steuerung gemäß einer ersten Ausführungsform gesteuerten Werkzeugmaschine zeigt.
  • Eine Steuerung 1 kann z.B. als Steuerung zum Steuern eines Industrieroboters (nicht gezeigt) montiert werden, der die Beschichtung durch ein Dichtungsmaterial oder dergleichen durchführt. Eine Zentraleinheit (CPU) 11 der Steuerung 1 gemäß der Ausführungsform ist ein Prozessor, der die Steuerung 1 vollständig steuert. Die CPU 11 liest ein in einem Nur-Lese-Speicher (ROM) 12 gespeichertes Systemprogramm über einen Bus 20 und steuert die gesamte Steuerung 1 gemäß dem Systemprogramm. Ein Direktzugriffsspeicher (RAM) 13 speichert vorübergehend temporäre Berechnungsdaten oder Anzeigedaten und verschiedene Daten oder dergleichen, die von einem Bediener über ein später beschriebenes Programmierhandgerät 60 eingegeben werden.
  • Ein nichtflüchtiger Speicher 14 ist als ein Speicher ausgebildet, der seinen Speicherzustand beispielsweise durch Datensicherung oder dergleichen mit einer Batterie (nicht gezeigt) auch bei ausgeschalteter Steuerung 1 beibehält. Der nichtflüchtige Speicher 14 speichert die von dem Programmierhandgerät 60 über eine Schnittstelle 18 eingegebenen Einlerndaten, ein über eine Schnittstelle (nicht dargestellt) eingegebenes, den Roboter steuerndes Programm, oder dergleichen. Programme oder verschiedene Daten, die im nichtflüchtigen Speicher 14 gespeichert sind, können bei Ausführung/Verwendung in den RAM 13 entwickelt werden. Weiterhin speichert der ROM 12 vorab verschiedene Systemprogramme (ein Systemprogramm umfassend, um die Kommunikation mit einer maschinellen Lernvorrichtung 100, das später beschrieben wird, zu steuern) zur laufenden Bearbeitung für die Steuerung eines Roboters oder das Einlernen einer Einlernposition oder dergleichen.
  • Ein Achssteuerkreis 30 zur Steuerung der Achse eines Gelenks oder dergleichen eines Roboters empfängt von der CPU 11 einen Bewegungssollbetrag der Achse und gibt einen Befehl zum Bewegen der Achse an einen Servoverstärker 40 aus. Der Servoverstärker 40 steuert bei Erhalt des Befehls einen Servomotor 50 an, der die Achse des Roboters bewegt. Der Servomotor 50 für die Welle umfasst eine Positions-/Drehzahlerfassungsvorrichtung und gibt ein Positions-/Drehzahlrückmeldesignal von der Positions-/Drehzahlerfassungsvorrichtung an den Achssteuerkreis 30 zurück, um eine Positions-/Drehzahlregelung durchzuführen. Es wird angemerkt, dass der Achssteuerkreis 30, der Servoverstärker 40 und der Servomotor 50 im Hardware-Konfigurationsdiagramm von 1 einzeln dargestellt sind, aber tatsächlich entsprechend der Anzahl der Achsen eines zu steuernden Roboters vorgesehen sind.
  • Bei einem Roboter mit sechs Achsen sind beispielsweise für jede der sechs Achsen der Achsregelkreis 30, der Servoverstärker 40 und der Servomotor 50 vorgesehen.
  • Das Programmierhandgerät 60 ist eine manuelle Dateneingabevorrichtung mit einer Anzeige, einem Ziehpunkt, einem Hardware-Schlüssel oder dergleichen. Das Programmierhandgerät 60 empfängt über die Schnittstelle 18 Information von der Steuerung 1, um diese anzuzeigen, und gibt Impulse, Befehle und verschiedene Dateneingaben von dem Ziehpunkt, dem Hardware-Schlüssel oder dergleichen an die CPU 11 weiter.
  • Eine Pumpe 70 fördert ein Dichtungsmaterial zu einer Dichtmittelpistole (nicht gezeigt), die an der Spitze eines Roboters gehalten wird. Basierend auf einem Befehl der CPU 11 über eine Schnittstelle 19 ist die Pumpe 70 in der Lage, die Zufuhr des Dichtungsmaterials ein- und auszuschalten.
  • Eine Schnittstelle 21 ist eine Schnittstelle, um die Steuerung 1 und die maschinelle Lernvorrichtung 100 miteinander zu verbinden. Die maschinelle Lernvorrichtung 100 umfasst einen Prozessor 101, der die gesamte maschinelle Lernvorrichtung 100 steuert, einen ROM 102, der ein Systemprogramm oder dergleichen speichert, einen RAM 103, der Daten in jeder dem maschinellen Lernen zugeordneten Verarbeitung zwischenspeichert, und einen nichtflüchtigen Speicher 104, der zum Speichern eines Lernmodells oder dergleichen verwendet wird. Die maschinelle Lernvorrichtung 100 kann jede Information (z.B. Positionsinformation oder Drehzahlinformation des Servomotors 50, einen aktuellen Wert und Einstellinformation zu einem laufenden Programm, Einlerninformation oder dergleichen, die im RAM 13 oder dergleichen gespeichert sind) beobachten, die von der Steuerung 1 über die Schnittstelle 21 erfasst werden kann. Weiterhin führt die Steuerung 1 bei Empfang von Befehlen zur Steuerung des Servomotors 50 und der Peripherievorrichtung eines Roboters, die von der maschinellen Lernvorrichtung 100 ausgegeben werden, die Kompensation oder dergleichen eines Befehls zur Steuerung des Roboters basierend auf einem Programm oder Einlerndaten durch.
  • 2 ist ein schematisches Funktionsblockschaltbild der Steuerung 1 und der maschinellen Lernvorrichtung 100 gemäß der ersten Ausführungsform.
  • Die maschinelle Lernvorrichtung 100 umfasst Software (wie einen Lernalgorithmus) und Hardware (wie den Prozessor 101) zum spontanen Erlernen eines Abstimmbetrages einer Bewegungsgeschwindigkeit von jedem der Motoren eines Roboters in Bezug auf eine Sollgeschwindigkeit des Spitzenendes des Roboters, einer aktuellen Drehzahl von jedem der Motoren des Roboters und einer Bewegungsbahn des Spitzenendes des Roboters durch sogenanntes maschinelles Lernen. Eine von der maschinellen Lernvorrichtung 100 der Steuerung 1 zu erlernende Aufgabe entspricht einer Modellstruktur, die die Korrelation zwischen einer Sollgeschwindigkeit des Spitzenendes eines Roboters, einer aktuellen Drehzahl jedes der Motoren des Roboters, einer Bewegungsbahn des Spitzenendes des Roboters und einem Abstimmbetrag einer Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters ausdrückt.
  • Wie im Funktionsblock von 2 dargestellt, umfasst die maschinelle Lernvorrichtung 100 der Steuerung 1 einen Zustandsbeobachtungsabschnitt 106, einen Bestimmungsdaten-Erfassungsabschnitt 108 und einen Lernabschnitt 110. Der Zustandsbeobachtungsabschnitt 106 beobachtet Zustandsvariablen S, die den aktuellen Zustand einer Umwelt ausdrücken, die Einlerngeschwindigkeits-Abstimmbetragsdaten S1, die einen Abstimmbetrag einer Bewegungsgeschwindigkeit jedes Motors eines Roboters in der Steuerung des Roboters basierend auf Einlerndaten anzeigen, Sollgeschwindigkeitsdaten S2, die eine Sollgeschwindigkeit des Spitzenendes des Roboters anzeigen, Bewegungsgeschwindigkeitsdaten S3, die eine Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters anzeigen, und Bewegungsbahndaten S4, die eine Bewegungsbahn nahe dem Spitzenende des Roboters angeben, umfassen. Der Bestimmungsdaten-Erfassungsabschnitt 108 erfasst die Bestimmungsdaten D, die die Bewegungsgeschwindigkeits-Bestimmungsdaten D1, die ein Eignungsbestimmungsergebnis der Bewegungsgeschwindigkeit des Spitzenendes des Roboters anzeigen, wenn eine Einlerngeschwindigkeit eines jeden der Motoren abgestimmt wird, anzeigen. Unter Verwendung der Zustandsvariablen S und der Bestimmungsdaten D lernt der Lernabschnitt 110 die Sollgeschwindigkeit des Spitzenendes des Roboters, eine aktuelle Drehzahl eines jeden der Motoren des Roboters und den Bewegungspfad des Spitzenendes des Roboters in Zuordnung zu den Einlerngeschwindigkeits-Abstimmbetragsdaten S1.
  • Der Zustandsbeobachtungsabschnitt 106 kann beispielsweise als eine der Funktionen des Prozessors 101 oder als im ROM 102 gespeicherte Software zum Betreiben des Prozessors 101 konfiguriert sein. Unter den Zustandsvariablen S, die vom Zustandsbeobachtungsabschnitt 106 beobachtet werden, können die Einlerngeschwindigkeits-Abstimmbetragsdaten S1 als ein Satz von Abstimmbeträgen in Bezug auf eine Bewegungsgeschwindigkeit eines jeden Motors eines Roboters erfasst werden. Hierbei umfasst der Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters eine Richtung (ein positiver/negativer Wert), in der die Bewegungsgeschwindigkeit des Motors abgestimmt wird.
  • Als die Einlerngeschwindigkeits-Abstimmbetragsdaten S1 kann beispielsweise ein Abstimmbetrag einer Bewegungsgeschwindigkeit eines jeden Motors eines Roboters oder ein Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden Motors aus einem von einem Simulationsgerät simulierten Ergebnis verwendet werden, das von einem Facharbeiter gemeldet und der Steuerung 1 übergeben wurde, beim Start des Lernens verwendet werden. Weiterhin kann als Einlerngeschwindigkeits-Abstimmbetragsdaten S1 ein Abstimmbetrag einer durch die maschinelle Lernvorrichtung 100 im vorherigen Lernzyklus basierend auf einem Lernergebnis des Lernabschnittes 110 bestimmten Bewegungsgeschwindigkeit eines jeden Motors eines Roboters verwendet werden, wenn das Lernen bis zu einem gewissen Grad vorangeschritten ist. In einem solchen Fall kann die maschinelle Lernvorrichtung 100 vorab für jeden Lernzyklus einen bestimmten Abstimmbetrag einer Bewegungsgeschwindigkeit jedes Motors eines Roboters in dem RAM 103 zwischenspeichern, sodass der Zustandsbeobachtungsabschnitt 106 aus dem RAM 103 den Abstimmbetrag der durch die maschinelle Lernvorrichtung 100 im vorherigen Lernzyklus ermittelten Bewegungsgeschwindigkeit jedes Motors des Roboters erfasst.
  • Weiterhin können als Sollgeschwindigkeitsdaten S2 unter den Zustandsvariablen S beispielsweise eine von einem Arbeiter eingestellte und in den Einlerndaten umfasste Einlerngeschwindigkeit verwendet werden. Da eine von einem Arbeiter eingestellte Einlerngeschwindigkeit ein von dem Arbeiter als Sollwert eingestellter Wert ist, kann sie als eine Sollgeschwindigkeit verwendet werden.
  • Als Bewegungsgeschwindigkeitsdaten S3 unter den Zustandsvariablen S kann beispielsweise eine Bewegungsgeschwindigkeit im aktuellen Zyklus jedes Motors (d.h. des Servomotors 50) eines Roboters verwendet werden. Die Bewegungsgeschwindigkeitsdaten S3 können unter Vewendung einer an einem Motor angebrachten Positions- und Geschwindigkeitserfassungsvorrichtung erfasst werden.
  • Als Bewegungsbahndaten S4 unter den Zustandsvariablen S kann beispielsweise eine Bewegungsbahn des Spitzenendes eines Roboters verwendet werden, die basierend auf einer in den Einlerndaten umfassten Einlernposition berechnet wird. Die Bewegungsbahndaten S4 können als Seriendaten für jeden vorgeschriebenen Zyklus von relativen Koordinatenwerten berechnet werden, die erhalten werden, wenn eine Bewegungsbahn innerhalb einer vorgeschriebenen Zeitspanne seit der aktuellen Zeit von der aktuellen Position des Spitzenendes eines Roboters aus gesehen wird.
  • Der Bestimmungsdaten-Erfassungsabschnitt 108 kann beispielsweise als eine der Funktionen des Prozessors 101 oder als im ROM 102 gespeicherte Software zum Betreiben des Prozessors 101 konfiguriert werden. Als Bestimmungsdaten D kann der Bestimmungsdaten-Erfassungsabschnitt 108 Bewegungsgeschwindigkeits-Bestimmungsdaten D1 verwenden, die einen Eignungsbestimmungswert in Bezug auf eine Bewegungsgeschwindigkeit des Spitzenendes eines Roboters angeben, wenn eine Einlerngeschwindigkeit eines jeden Motors eingestellt ist. Die Bestimmungsdaten D1 können aus einer Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters, die erhalten wird, wenn der Zustandsbeobachtungsabschnitt 106 die Bewegungsgeschwindigkeitsdaten S3 beobachtet, berechnet werden. Die Bestimmungsdaten D sind ein Index, der ein Ergebnis ausdrückt, das erhalten wird, wenn ein Roboter unter den Zustandsvariablen S gesteuert wird.
  • Bezogen auf dem Lernzyklus des Lernabschnitts 110 sind die gleichzeitig in den Lernabschnitt 110 eingegebenen Zustandsvariablen S diejenigen, die auf Daten des vorherigen Lernzyklus basieren, bei dem die Bestimmungsdaten D erfasst wurden. Während, wie oben beschrieben, die maschinelle Lernvorrichtung 100 der Steuerung 1 das maschinelle Lernen vorantreibt, werden die Erfassungen der Sollgeschwindigkeitsdaten S2, der Bewegungsgeschwindigkeitsdaten S3 und der Bewegungsbahndaten S4 sowie die Implementierung des Steuerns eines Roboters gemäß einer basierend auf den Einlerngeschwindigkeits-Abstimmbetragsdaten S1 abgestimmte Einlerngeschwindigkeit und die Erfassung der Bestimmungsdaten D in einer Umwelt wiederholt durchgeführt.
  • Der Lernabschnitt 110 kann beispielsweise als eine der Funktionen des Prozessors 101 oder als im ROM 102 gespeicherte Software zum Betreiben des Prozessors 101 konfiguriert werden. Gemäß einem beliebigen als maschinelles Lernen bezeichneten Lernalgorithmus lernt der Lernabschnitt 110 die Einlerngeschwindigkeits-Abstimmbetragsdaten S1 in Bezug auf eine Sollgeschwindigkeit des Spitzenendes eines Roboters, eine Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters und eine Bewegungsbahn in der Nähe des Spitzenendes des Roboters. Der Lernabschnitt 110 kann das Lernen basierend auf einem Datensatz mit den oben beschriebenen Zustandsvariablen S und den Bestimmungsdaten D wiederholt ausführen. Wenn der Zyklus des Lernens der Einlerngeschwindigkeits-Abstimmbetragsdaten S1 in Bezug auf eine Sollgeschwindigkeit des Spitzenendes eines Roboters, einer Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters und einer Bewegungsbahn in der Nähe des Spitzenendes des Roboters wiederholt ausgeführt wird, werden die Sollgeschwindigkeitsdaten S2, die Bewegungsgeschwindigkeitsdaten S3 und die Bewegungsbahndaten S4 unter den Zustandsvariablen S aus den Einlerndaten oder, wie oben beschrieben, dem Zustand eines jeden der im vorherigen Lernzyklus erfassten Motoren erfasst, die Einlerngeschwindigkeits-Abstimmbetragsdaten S1 entsprechen einem basierend auf früheren Lernergebnissen ermittelten Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters, und die Bestimmungsdaten D entsprechen einem Eignungsbestimmungsergebnis in Bezug auf die (abgestimmte) Bewegungsgeschwindigkeit des Spitzenendes des Roboters im aktuellen Lernzyklus in einem Zustand, in dem die Einlerngeschwindigkeit basierend auf den Einlerngeschwindigkeits-Abstimmbetragsdaten S1 abgestimmt wurde.
  • Durch wiederholtes Ausführen eines solchen Lernzyklus kann der Lernabschnitt 110 automatisch ein Merkmal identifizieren, das die Korrelation zwischen einer Sollgeschwindigkeit (Sollgeschwindigkeitsdaten S2) des Spitzenendes eines Roboters, einer Bewegungsgeschwindigkeit (Bewegungsgeschwindigkeitsdaten S3) eines jeden der Motoren des Roboters und einer Bewegungsbahn (Bewegungsbahndaten S4) in der Nähe des Spitzenendes des Roboters und einem Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters in Bezug auf den Zustand anzeigt. Obwohl die Korrelation zwischen den Sollgeschwindigkeitsdaten S2, den Bewegungsgeschwindigkeitsdaten S3 und den Bewegungsbahndaten S4 und einem Abstimmbetrag einer Bewegungsgeschwindigkeit jedes Motors eines Roboters zu Beginn eines Lernalgorithmus im Wesentlichen unbekannt ist, identifiziert der Lernabschnitt 110 schrittweise ein Merkmal, das die Korrelation anzeigt, und interpretiert die Korrelation während das Lernen fortschreitet. Wenn die Korrelation zwischen den Sollgeschwindigkeitsdaten S2, den Bewegungsgeschwindigkeitsdaten S3 und den Bewegungsbahndaten S4 und einem Abstimmbetrag einer Bewegungsgeschwindigkeit eines jeden Motors bis zu einem gewissen zuverlässigen Grad interpretiert wird, können die vom Lernabschnitt 110 wiederholt ausgegeben Lernergebnisse zur Auswahl der Aktion (d.h., Entscheidungsfindung) verwendet werden, um zu bestimmen, in welchem Maße eine Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters in Bezug auf einen aktuellen Zustand (d.h. eine Sollgeschwindigkeit des Spitzenendes des Roboters, eine Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters und eine Bewegungsbahn in der Nähe des Spitzenendes des Roboters) abgestimmt wird. Das heißt, wenn ein Lernalgorithmus fortgeschritten ist, kann der Lernabschnitt 110 die Korrelation zwischen einer Sollgeschwindigkeit des Spitzenendes eines Roboters, einer Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters und einer Bewegungsbahn in der Nähe des Spitzenendes des Roboters und der Aktion des Bestimmens, in welchem Maße eine Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters in Bezug auf den Zustand auf eine optimale Lösung abgestimmt wird, schrittweise annähern.
  • Wie oben beschrieben, lernt der Lernabschnitt 110 in der maschinellen Lernvorrichtung 100 der Steuerung 1 einen Abstimmbetrag einer Bewegungsgeschwindigkeit eines jeden Motors eines Roboters gemäß einem maschinellen Lernalgorithmus unter Verwendung der Zustandsvariablen S, die von dem Zustandsbeobachtungsabschnitt 106 beobachtet werden, und der Bestimmungsdaten D, die von dem Bestimmungsdaten-Erfassungsabschnitt 108 erfasst werden. Die Zustandsvariablen S setzen sich zusammen aus den Einlerngeschwindigkeits-Abstimmbetragsdaten S1, den Sollgeschwindigkeitsdaten S2, den Bewegungsgeschwindigkeitsdaten S3 und den Bewegungsbahndaten S4, die durch eine Störung kaum beeinflusst werden. Außerdem werden die Bestimmungsdaten D durch die Erfassung einer in der Steuerung 1 gespeicherten Einlerngeschwindigkeit und einer von Steuerung 1 erfassten Bewegungsgeschwindigkeit des Servomotors 50 eindeutig berechnet. Dementsprechend kann die maschinelle Lernvorrichtung 100 der Steuerung 1 unter Verwendung von Lernergebnissen des Lernabschnittes 110 automatisch und genau einen Abstimmbetrag einer Bewegungsgeschwindigkeit eines jeden Motors eines Roboters gemäß einer Sollgeschwindigkeit des Spitzenendes des Roboters, einer Bewegungsgeschwindigkeit eines jeden Motors des Roboters und einer Bewegungsbahn nahe dem Spitzenende des Roboters berechnen, ohne sich auf Berechnung oder Schätzung zu verlassen.
  • Wenn es möglich ist, einen Abstimmbetrag einer Bewegungsgeschwindigkeit eines jeden Motors eines Roboters automatisch zu berechnen, ohne sich auf eine Berechnung oder Schätzung zu verlassen, kann ein geeigneter Wert des Abstimmbetrags der Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters nur durch Verstehen einer Sollgeschwindigkeit (der Sollgeschwindigkeitsdaten S2) des Spitzenendes des Roboters, einer Bewegungsgeschwindigkeit (der Bewegungsgeschwindigkeitsdaten S3) eines jeden der Motoren des Roboters und einer Bewegungsbahn (der Bewegungsbahndaten S4) in der Nähe des Spitzenendes des Roboters schnell bestimmt werden. Dementsprechend kann die Bewegungsgeschwindigkeit jedes Motors eines Roboters effizient abgestimmt werden.
  • Als ein erstes modifiziertes Beispiel für die maschinelle Lernvorrichtung 100 der Steuerung 1 kann der Bestimmungsdaten-Erfassungsabschnitt 108 als Bestimmungsdaten D, neben Bewegungsgeschwindigkeits-Bestimmungsdaten D1, die einen Eignungsbestimmungswert einer Bewegungsgeschwindigkeit des Spitzenendes des Roboters angeben, Spitzenenden-Positionsbestimmungsdaten D2, die ein Eignungsbestimmungsergebnis der Position des Spitzenendes eines Roboters oder dergleichen anzeigen, verwenden.
  • Gemäß dem obigen modifizierten Beispiel kann die maschinelle Lernvorrichtung 100 ferner einen Abweichungsgrad einer Einlernposition beim Erlernen eines Abstimmbetrages einer Bewegungsgeschwindigkeit eines jeden Motors eines Roboters in Bezug auf eine Sollgeschwindigkeit des Spitzenendes des Roboters, eine Bewegungsgeschwindigkeit eines jeden Motors des Roboters und eine Bewegungsbahn in der Nähe des Spitzenendes des Roboters berücksichtigen.
  • Als ein zweites modifiziertes Beispiel für die maschinelle Lernvorrichtung 100 der Steuerung 1 kann der Lernabschnitt 110 unter Verwendung der ermittelten Zustandsvariablen S und Bestimmungsdaten D für jeden der Vielzahl von Robotern, der die gleiche Arbeit ausführt, einen Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden Motors einer Vielzahl von Robotern lernen. Gemäß der Konfiguration ist es möglich, eine Menge eines Datensatzes, der die in einem bestimmten Zeitraum erfassten Zustandsvariablen S und Bestimmungsdaten D umfasst, zu erhöhen. Daher kann die Geschwindigkeit und die Zuverlässigkeit des Erlernens eines Abstimmbetrags der Bewegungsgeschwindigkeit eines jeden Motors eines Roboters mit einem Satz von vielfältigeren Daten als Eingaben verbessert werden.
  • In der maschinellen Lernvorrichtung 100 mit der obigen Konfiguration ist ein vom Lernabschnitt 110 ausgeführter Lernalgorithmus nicht besonders eingeschränkt. Beispielsweise kann ein als maschinelles Lernen bekannter Lernalgorithmus eingesetzt werden. 3 zeigt als eine Ausführungsform der in 1 gezeigten Steuerung 1 eine Konfiguration, die den Lernabschnitt 110 umfasst, der das verstärkende Lernen als Beispiel für einen Lernalgorithmus durchführt.
  • Das verstärkende Lernen ist ein Verfahren, bei dem, während der aktuelle Zustand (d.h. eine Eingabe) einer Umwelt, in der ein Lernziel existiert, beobachtet wird, eine vorgeschriebene Aktion (d.h. eine Ausgabe) im aktuellen Zustand durchgeführt wird und der Zyklus des Vergebens einer Belohnung der Aktion wiederholt durch Ausprobieren durchgeführt wird, um Maßnahmen zu lernen (die Abstimmung einer Bewegungsgeschwindigkeit eines jeden Motors eines Roboters, im Falle der maschinellen Lernvorrichtung der vorliegenden Anwendung), um die Summe der Belohnungen als eine optimale Lösung zu maximieren.
  • In der maschinellen Lernvorrichtung 100 der in 3 gezeigten Steuerung 1 umfasst der Lernabschnitt 110 einen Belohnungsberechnungsabschnitt 112 und einen Wertfunktion-Aktualisierungsabschnitt 114. Der Belohnungsberechnungsabschnitt 112 berechnet eine Belohnung, die einem Eignungsbestimmungsergebnis (entsprechend den im nächsten Lernzyklus verwendeten Bestimmungsdaten D, in dem die Zustandsvariablen S erfasst wurden) des Betriebszustands des Spitzenendes eines Roboters zugeordnet wird, wenn eine Einlerngeschwindigkeit eines jeden Motors basierend auf den Zustandsvariablen S abgestimmt wird. Der Wertfunktion-Aktualisierungsabschnitt 114 aktualisiert unter Verwendung der berechneten Belohnung R eine Funktion Q, die einen Wert eines Abstimmbetrags einer Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters ausdrückt. Der Lernabschnitt 110 lernt einen Abstimmbetrag einer Bewegungsgeschwindigkeit eines jeden Motors eines Roboters in Bezug auf eine Sollgeschwindigkeit des Spitzenendes des Roboters, eine Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters und eine Bewegungsbahn in der Nähe des Spitzenendes des Roboters derart, dass der Wertfunktion-Aktualisierungsabschnitt 114 die Funktion Q wiederholt aktualisiert.
  • Ein Beispiel für einen Lernalgorithmus des verstärkenden Lernens, der vom Lernabschnitt 110 durchgeführt wird, wird beschrieben. Der Algorithmus in diesem Beispiel ist als Q-Lernen bekannt und drückt ein Verfahren aus, bei dem ein Zustand s eines Aktionssubjekts und eine möglicherweise von dem Aktionssubjekt im Zustand s durchgeführte Aktion a als unabhängige Größen angenommen werden und eine Funktion Q(s, a), die einen Aktionswert ausdrückt, wenn die Aktion a im Zustand s ausgewählt wird, gelernt wird. Die Auswahl der Aktion a, bei der die Wertfunktion Q im Zustand s die größte wird, führt zu einer optimalen Lösung. Durch Starten des Q-Lernens in einem Zustand, in dem die Korrelation zwischen dem Zustand s und der Aktion a unbekannt ist, und wiederholtes Ausführen der Auswahl verschiedener Aktionen a durch Ausprobieren in einem beliebigen Zustand s, wird die Wertefunktion Q wiederholt aktualisiert, um einer optimalen Lösung angenähert zu werden. Wenn sich hierbei eine Umwelt (d.h. der Zustand s) ändert, während die Aktion a im Zustand s ausgewählt wird, wird eine Belohnung (d.h. die Gewichtung der Aktion a) r entsprechend der Änderung erhalten und das Lernen wird darauf ausgerichtet, eine Aktion a auszuwählen, durch die eine höhere Belohnung r erhalten wird. So kann die Wertfunktion Q in einem relativ kurzen Zeitraum einer optimalen Lösung angenähert werden.
  • Im Allgemeinen kann die Aktualisierungsformel der Wertfunktion Q wie die folgende Formel (1) ausgedrückt werden. In der Formel (1) drücken st und at einen Zustand bzw. eine Aktion zum Zeitpunkt t aus, und der Zustand ändert sich zu st+1 mit der Aktion at. rt+1 drückt eine Belohnung aus, die erhalten wird, wenn sich der Zustand von st zu st+1 ändert. Der Begriff maxQ drückt Q in einem Fall aus, in dem eine Aktion a ausgeführt wird, durch die der maximale Wert Q zum Zeitpunkt t + 1 (der zum Zeitpunkt t angenommen wird) erreicht wird. α und γ drücken einen Lernkoeffizienten beziehungsweise einen Diskontierungsfaktor aus und werden willkürlich so eingestellt, dass sie innerhalb von 0 < a ≤ 1 beziehungsweise 0 < γ ≤ 1 fallen. 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 DE102018004330B4_0001
  • Wenn der Lernabschnitt 110 das Q-Lernen durchführt, entsprechen die von dem Zustandsbeobachtungsabschnitt 106 beobachteten Zustandsvariablen S und die von dem Zustandsdaten-Erfassungsabschnitt 108 erfassten Bestimmungsdaten D dem Zustand s in dieser Aktualisierungsformel, die Aktion des Bestimmens eines Abstimmbetrags einer Bewegungsgeschwindigkeit eines jeden Motors eines Roboters in Bezug auf einen aktuellen Zustand (d. h., eine Sollgeschwindigkeit des Spitzenendes des Roboters, eine Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters und eine Bewegungsbahn in der Nähe des Spitzenendes des Roboters) entspricht der Aktion a in der Aktualisierungsformel, und die durch den Belohnungsberechnungsabschnitt 112 berechnete Belohnung R entspricht der Belohnung r in der Aktualisierungsformel. Dementsprechend aktualisiert der Wertfunktion-Aktualisierungsabschnitt 114 wiederholt die Funktion Q, die einen Wert eines Abstimmbetrags einer Bewegungsgeschwindigkeit eines jeden Motors eines Roboters in Bezug auf einen aktuellen Zustand durch das Q-Lernen ausdrückt, unter Verwendung der Belohnung R.
  • Wenn der Roboter beispielsweise gemäß einer Bewegungsgeschwindigkeit jedes Motors gesteuert wird, die basierend auf einem Abstimmbetrag bestimmt wird, der nach der Bestimmung des Abstimmbetrags der Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters bestimmt wird, kann die durch den Belohnungsberechnungsabschnitt 112 berechnete Belohnung R positiv (plus) sein, wenn ein Eignungsbestimmungsergebnis des Betriebszustands eines Roboters als „geeignet“ bestimmt wird (beispielsweise ein Fall, in dem die Differenz zwischen einer Bewegungsgeschwindigkeit und einer Zielgeschwindigkeit des Spitzenendes des Roboters in einen zulässigen Bereich fällt, ein Fall, in dem die Differenz zwischen der Position des Spitzenendes des Roboters und einer Einlernposition innerhalb eines zulässigen Bereichs oder dergleichen fällt), oder kann negativ (minus) sein, wenn das Eignungsbestimmungsergebnis des Betriebszustandes des Roboters als „ungeeignet“ bestimmt wird (beispielsweise ein Fall, in dem die Differenz zwischen der Bewegungsgeschwindigkeit und der Zielgeschwindigkeit des Spitzenendes des Roboters über den zulässigen Bereich hinausgeht, ein Fall, in dem die Differenz zwischen der Position des Spitzenendes des Roboters und der Einlernposition über den zulässigen Bereich hinausgeht, oder dergleichen).
  • Die Absolutwerte der positiven und negativen Belohnungen R können bei der Bestimmung der Belohnungen R gleich oder verschieden sein. Außerdem können als Bestimmungsbedingungen eine Vielzahl von in den Bestimmungsdaten D umfassten Werten miteinander kombiniert werden, um eine Bestimmung durchzuführen.
  • Außerdem kann ein Eignungsbestimmungsergebnis des Betriebs eines Roboters nicht nur „geeignete“ und „ungeeignete“ Ergebnisse, sondern auch eine Vielzahl von Ergebnisebenen umfassen. Wenn beispielsweise ein Maximalwert innerhalb eines zulässigen Bereichs der Differenz zwischen einer Bewegungsgeschwindigkeit und einer Sollgeschwindigkeit des Spitzenendes eines Roboters als Gmax angenommen wird, wird die Belohnung R = 5 vergeben, wenn die Differenz G zwischen der Bewegungsgeschwindigkeit und der Sollgeschwindigkeit des Spitzenendes des Roboters innerhalb von 0 ≤ G < Gmax/5 fällt, die Belohnung R = 2 wird vergeben, wenn die Differenz G innerhalb von Gmax/5 ≤ G < Gmax/2 fällt, und die Belohnung R = 1 wird vergeben, wenn die Differenz G innerhalb von Gmax/2 ≤ G ≤ Gmax liegt. Außerdem kann Gmax in der Anfangsphase des Lernens relativ größer eingestellt werden und so eingestellt werden, dass sie mit zunehmendem Lernfortschritt abnimmt.
  • Der Wertfunktion-Aktualisierungsabschnitt 114 kann eine Aktionswerttabelle aufweisen, in der die Zustandsvariablen S, die Bestimmungsdaten D und die Belohnungen R in Zuordnung zu den durch die Funktion Q ausgedrückten Aktionswerten (z.B. numerische Werte) organisiert sind. In diesem Fall ist die Aktion des Aktualisierens der Funktion Q mit dem Wertfunktion-Aktualisierungsabschnitt 114 gleichbedeutend mit der Aktion des Aktualisierens der Aktionswerttabelle mit dem Wertfunktion-Aktualisierungsabschnitt 114. Zu Beginn des Q-Lernens ist die Korrelation zwischen dem aktuellen Zustand einer Umwelt und einem Abstimmbetrag einer Bewegungsgeschwindigkeit eines jeden Motors unbekannt. Daher werden in der Aktionswerttabelle verschiedene Arten der Zustandsvariablen S, die Bestimmungsdaten D und die Belohnungen R in Zuordnung zu Werten (Funktion Q) von zufällig festgelegten Aktionswerten aufbereitet. Es wird angemerkt, dass der Belohnungsberechnungsabschnitt 112 die Belohnungen R entsprechend den Bestimmungsdaten D sofort berechnen kann, wenn die Bestimmungsdaten D bekannt sind, und die Werte der berechneten Belohnungen R werden in die Aktionswerttabelle geschrieben.
  • Wenn das Q-Lernen unter Verwendung der Belohnung R, die einem Eignungsbestimmungsergebnis des Betriebszustandes eines Roboters entspricht, vorangetrieben wird, wird das Lernen darauf ausgerichtet, die Aktion des Erhaltens einer höheren Belohnung R auszuwählen. Dann werden Werte (Funktion Q) von Aktionswerten für eine in einem aktuellen Zustand ausgeführte Aktion erneut eingeschrieben, um die Aktionswerttabelle entsprechend dem Zustand einer Umwelt (d.h. den Zustandsvariablen S und den Bestimmungsdaten D), die sich ändert, zu aktualisieren, wenn die ausgewählte Aktion im aktuellen Zustand ausgeführt wird. Durch wiederholtes Ausführen der Aktualisierung werden die Werte (die Funktion Q) der in der Aktionswerttabelle angezeigten Aktionswerte erneut größer eingeschrieben, wenn eine Aktion geeigneter ist. So wird der Zusammenhang zwischen einem aktuellen Zustand (einer Sollgeschwindigkeit des Spitzenendes eines Roboters, einer Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters und einer Bewegungsbahn in der Nähe des Spitzenendes des Roboters) in einer unbekannten Umwelt und einer entsprechenden Aktion (Abstimmung der Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters) schrittweise offensichtlich. Das heißt, durch die Aktualisierung der Aktionswerttabelle wird das Verhältnis zwischen einer Sollgeschwindigkeit des Spitzenendes eines Roboters, einer Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters und einer Bewegungsbahn in der Nähe des Spitzenendes des Roboters und einem Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters schrittweise einer optimalen Lösung angenähert.
  • Der Ablauf des obigen Q-Lernens (d.h. die Ausführungsform eines maschinellen Lernverfahrens) durch den Lernabschnitt 110 wird mit Bezugnahme auf 4 näher beschrieben.
  • Zunächst wählt der Wertfunktion-Aktualisierungsabschnitt 114 bei Schritt SA01 unter Bezugnahme auf eine Aktionswerttabelle zu diesem Zeitpunkt willkürlich einen Abstimmbetrag einer Bewegungsgeschwindigkeit eines jeden Motors eines Roboters als eine Aktion aus, die in einem aktuellen Zustand ausgeführt wird, der durch die Zustandsvariablen S angezeigt wird, die durch den Zustandsbeobachtungsabschnitt 106 beobachtet werden. Anschließend importiert der Wertfunktion-Aktualisierungsabschnitt 114 die Zustandsvariable S in dem durch den Zustandsbeobachtungsabschnitt 106 in Schritt SA02 beobachteten aktuellen Zustand und importiert die Bestimmungsdaten D in dem durch den Bestimmungsdaten-Erfassungsabschnitt 108 in Schritt SA03 erfassten aktuellen Zustand. In Schritt SA04 bestimmt dann der der Wertfunktion-Aktualisierungsabschnitt 114 basierend auf den Bestimmungsdaten D, ob der Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters geeignet ist oder nicht. Wenn der Abstimmbetrag geeignet ist, wendet der Wertfunktion-Aktualisierungsabschnitt 114 in Schritt SA05 eine durch den Belohnungsberechnungsabschnitt 112 berechnete positive Belohnung R auf die Aktualisierungsformel der Funktion Q an. Als nächstes aktualisiert in Schritt SA06 der Wertfunktion-Aktualisierungsabschnitt 114 die Aktionswerttabelle unter Verwendung der Zustandsvariable S und der Bestimmungsdaten D in dem aktuellen Zustand, der Belohnung R und einem Wert (aktualisierte Funktion Q) eines Aktionswertes. Wenn in Schritt SA04 bestimmt wird, dass der Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters ungeeignet ist, wendet der Wertfunktion-Aktualisierungsabschnitt 114 in Schritt SA07 dagegen eine von dem Belohnungsberechnungsabschnitt 112 berechnete negative Belohnung R auf die Aktualisierungsformel der Funktion Q an. Im Schritt SA06 aktualisiert die Wertfunktion-Aktualisierungsabschnitt 114 dann die Aktionswerttabelle unter Verwendung der Zustandsvariablen S und der Bestimmungsdaten D im aktuellen Zustand, der Belohnung R und dem Wert (aktualisierte Funktion Q) des Aktionswertes. Der Lernabschnitt 110 aktualisiert die Aktionswerttabelle erneut, indem er wiederholt die obige Verarbeitung der Schritte SA01 bis SA07 durchführt und das Erlernen des Abstimmbetrags der Bewegungsgeschwindigkeit eines jeden einzelnen Motors des Roboters vorantreibt. Es wird angemerkt, dass die Verarbeitung der Berechnung der Belohnungen R und die Verarbeitung der Aktualisierung der Wertfunktion in den Schritten SA04 bis SA07 für alle der in den Ermittlungsdaten D enthaltenen Daten durchgeführt werden.
  • Um das oben beschriebene Verstärkungslernen voranzutreiben, kann anstelle von beispielsweise dem Q-Lernen ein neuronales Netzwerk verwendet werden. 5A zeigt schematisch ein Modell eines Neuronenmodell. 5B zeigt schematisch das Modell eines neuronalen Netzwerks mit drei Schichten, in denen die in 5A gezeigten Neuronen miteinander kombiniert sind. Das neuronale Netzwerk kann beispielsweise einem Neuronenmodell folgend durch eine Recheneinheit, eine Speichereinheit oder dergleichen konfiguriert werden.
  • Das in 5A dargestellte Neuron gibt ein Ergebnis y in Bezug auf eine Vielzahl von Eingaben x aus (hier beispielsweise Eingaben x1 bis x3). Die Eingaben x1 bis x3 werden jeweils mit entsprechenden Gewichten w (w1 bis w3) multipliziert. Das Neuron gibt also das durch die folgende Formel 2 ausgedrückte Ergebnis y aus. Es wird angemerkt, dass in der folgenden Formel 2 eine Eingabe x, ein Ergebnis y und ein Gewicht w alle Vektoren sind. Zusätzlich drückt θ einen Bias aus und fk drückt eine Aktivierungsfunktion aus. y = f x ( i = 1 n x i w i θ )
    Figure DE102018004330B4_0002
  • In dem neuronalen Netz mit den drei in 5B gezeigten Schichten werden eine Vielzahl von Eingaben x (hier die Eingänge x1 bis x3 als Beispiel) von der linken Seite des neuronalen Netzwerks eingegeben und die Ergebnisse y (hier die Ergebnisse y1 bis y3 als Beispiel) von der rechten Seite des neuronalen Netzwerks ausgegeben. In dem in 5B gezeigten Beispiel werden die Eingaben x1, x2 und x3 mit entsprechenden Gewichten (insgesamt als w1 ausgedrückt) multipliziert und in drei Neuronen N11, N12 beziehungsweise N13 eingegeben.
  • In 5B werden die jeweiligen Ausgaben der Neuronen N11 bis N13 insgesamt als z1 ausgedrückt. Die Ausgaben z1 können als Merkmalsvektoren betrachtet werden, die durch Extraktion von Merkmalsgrößen der Eingabevektoren erhalten werden. In dem in 5B gezeigten Beispiel werden die jeweiligen Merkmalsvektoren z1 mit entsprechenden Gewichten (insgesamt als w2 ausgedrückt) multipliziert und entsprechend in zwei Neuronen N21 bis N22 eingegeben. Die Merkmalsvektoren z1 drücken die Merkmale zwischen den Gewichten w1 und den Gewichten w2 aus.
  • In 5B werden die jeweiligen Ausgaben der Neuronen N21 und N22 insgesamt als z2 ausgedrückt. Die Ausgaben z2 können als Merkmalsvektoren betrachtet werden, die durch Extraktion von Merkmalsbeträgen der Merkmalsvektoren z1 erhalten werden. In dem in 5B gezeigten Beispiel werden die jeweiligen Merkmalsvektoren z2 mit entsprechenden Gewichten (insgesamt als w3 ausgedrückt) multipliziert und in drei Neuronen N31, N32 beziehungsweise N33 eingegeben. Die Merkmalsvektoren z2 drücken die Merkmale zwischen den Gewichten W2 und W3 aus. Schließlich geben die Neuronen N31 bis N33 die entsprechenden Ergebnisse y1 bis y3 aus.
  • Es wird angemerkt, dass es möglich ist, das sogenannte Deep Learning einzusetzen, bei dem ein neuronales Netzwerk, das drei oder mehr Schichten bildet, verwendet wird.
  • In der maschinellen Lernvorrichtung 100 der Steuerung 1 führt der Lernabschnitt 110 die Berechnung der Zustandsvariablen S und der Bestimmungsdaten D als Eingaben x basierend auf einer Mehrschichtstruktur gemäß dem obigen neuronalen Netzwerk durch, sodass der Lernabschnitt 110 einen Abstimmbetrag (Ergebnis y) einer Bewegungsgeschwindigkeit eines jeden Motors eines Roboters ausgeben kann. Außerdem verwendet der Lernabschnitt 110 in der maschinellen Lernvorrichtung 100 der Steuerung 1 ein neuronales Netzwerk als eine Wertfunktion beim verstärkenden Lernen und führt die Berechnung der Zustandsvariablen S und der Aktion a als Eingaben x basierend auf einer Mehrschichtstruktur gemäß dem obigen neuronalen Netz durch, sodass der Lernabschnitt 110 einen Wert (Ergebnis y) der Aktion in dem Zustand ausgeben kann. Es wird angemerkt, dass der Aktionsmodus des neuronalen Netzwerks einen Lernmodus und einen Wertevorhersagemodus umfasst. Beispielsweise ist es möglich, unter Verwendung eines Lerndatensatzes im Lernmodus ein Gewicht w zu lernen und mit dem gelernten Gewicht w im Wertevorhersagemodus einen Aktionswert zu bestimmen. Es wird angemerkt, dass Erkennung, Klassifizierung, Abzug oder ähnliches im Wertevorhersagemodus durchgeführt werden kann.
  • Die Konfiguration des obigen Steuerung 1 kann als ein durch den Prozessor ausgeführtes maschinelles Lernverfahren (oder Software) 101 beschrieben werden. Das maschinelle Lernverfahren ist ein Verfahren zum Erlernen eines Abstimmbetrags der Bewegungsgeschwindigkeit eines jeden einzelnen Motors des Roboters. Das maschinelle Lernverfahren umfasst:
    • einen Schritt des Beobachtens, durch die CPU eines Computers, von Einlerngeschwindigkeits-Abstimmbetragsdaten S1, Sollgeschwindigkeitsdaten S2, Bewegungsgeschwindigkeitsdaten S3 und Bewegungsbahndaten S4 als Zustandsvariablen S, die den aktuellen Zustand einer Umwelt ausdrücken, in der der Roboter gesteuert wird;
    • einen Schritt des Erfassens von Bestimmungsdaten D, die ein Eignungsbestimmungsergebnis des Betriebszustandes des Roboters gemäß der abgestimmten Bewegungsgeschwindigkeit eines jeden der Motoren anzeigen; und
    • einen Schritt des Lernens der Sollgeschwindigkeitsdaten S2, der Bewegungsgeschwindigkeitsdaten S3 und der Bewegungsbahndaten S4 und des Abstimmbetrags der Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters in Zuordnung zueinander unter Verwendung der Zustandsvariablen S und der Bestimmungsdaten D.
    • 6 zeigt eine Steuerung 2 gemäß einer zweiten Ausführungsform.
  • Die Steuerung 2 umfasst eine maschinelle Lernvorrichtung 120 und einen Zustandsdaten-Erfassungsabschnitt 3, der als Zustandsdaten S0 Einlerngeschwindigkeits-Abstimmbetragsdaten S1, Sollgeschwindigkeitsdaten S2, Bewegungsgeschwindigkeitsdaten S3 und Bewegungsbahndaten S4 der von einem Zustandsbeobachtungsabschnitt 106 beobachteten Zustandsvariablen S erfasst. Der Zustandsdaten-Erfassungsabschnitt 3 kann die Zustandsdaten S0 von jedem Abschnitt der Steuerung 2, verschiedenen Sensoren eines Roboters, geeigneten Dateneingaben durch einen Arbeiter oder dergleichen erfassen.
  • Die maschinelle Lernvorrichtung 120 der Steuerung 2 umfasst neben Software (wie einen Lernalgorithmus) und Hardware (wie einen Prozessor 101) zum spontanen Erlernen eines Abstimmbetrags einer Bewegungsgeschwindigkeit eines jeden Motors eines Roboters durch maschinelles Lernen, Software (wie einem Berechnungsalgorithmus) und Hardware (wie einen Prozessor 101) zum Ausgeben des erlernten Abstimmbetrags der Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters als einen Befehl für die Steuerung 2. Die maschinelle Lernvorrichtung 120 der Steuerung 2 kann so konfiguriert werden, dass ein gemeinsamer Prozessor die gesamte Software, wie etwa einen Lernalgorithmus und einen Berechnungsalgorithmus, ausführt.
  • Ein Entscheidungsfindungsabschnitt 122 kann beispielsweise als eine der Funktionen des Prozessors 101 oder als im ROM 102 gespeicherte Software zum Betreiben des Prozessors 101 konfiguriert werden. Basierend auf einem Lernergebnis des Lernabschnitts 110 erzeugt und gibt der Entscheidungsfindungsabschnitt 122 einen Sollwert C aus, der einen Befehl zum Bestimmen eines Abstimmbetrags einer Bewegungsgeschwindigkeit eines jeden Motors eines Roboters in Bezug auf eine Sollgeschwindigkeit des Spitzenendes des Roboters, die Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters und eine Bewegungsbahn in der Nähe des Spitzenendes des Roboters umfasst. Wenn der Entscheidungsfindungsabschnitt 122 den Sollwert C an den Controller 2 ausgibt, ändert sich der Zustand einer Umwelt entsprechend.
  • Der Zustandsbeobachtungsabschnitt 106 beobachtet in einem nächsten Lernzyklus Zustandsvariablen S, die sich nach der Ausgabe des Sollwertes C an eine Umwelt durch den Entscheidungsfindungsabschnitt 122 geändert haben. Der Lernabschnitt 110 aktualisiert beispielsweise eine Wertfunktion Q (das heißt, eine Aktionswerttabelle) unter Verwendung der geänderten Zustandsvariablen S, um einen Abstimmbetrag einer Bewegungsgeschwindigkeit eines jeden Motors eines Roboters zu lernen. Es wird angemerkt, dass der Zustandsbeobachtungsabschnitt 106 die Einlerngeschwindigkeits-Abstimmbetragsdaten S1 aus einem RAM 103 der maschinellen Lernvorrichtung 120, wie in der ersten Ausführungsform beschrieben, beobachten kann, anstatt sie aus den durch den Zustandsdaten-Erfassungsabschnitt 3 erfassten Zustandsdaten S0 zu erfassen.
  • Der Entscheidungsfindungsabschnitt 122 gibt zum Anfordern einer Abstimmung einer Bewegungsgeschwindigkeit eines jeden Motors eines Roboters an die Steuerung 2 einen Sollwert C aus, der basierend auf einem Lernergebnis berechnet wird. Durch wiederholtes Durchführen des Lernzyklus bringt die maschinelle Lernvorrichtung 120 das Erlernen eines Abstimmbetrags einer Bewegungsgeschwindigkeit eines jeden Motors eines Roboters voran und verbessert allmählich die Zuverlässigkeit des Abstimmbetrags der Bewegungsgeschwindigkeit eines jeden Motors des Roboters, der durch die maschinelle Lernvorrichtung 120 selbst bestimmt wird.
  • Die maschinelle Lernvorrichtung 120 der Steuerung 2 mit der obigen Konfiguration erzeugt die gleiche Wirkung wie die oben beschriebene maschinelle Lernvorrichtung 100. Insbesondere kann die maschinelle Lernvorrichtung 120 mit der Ausgabe des Entscheidungsfindungsabschnitts 122 den Zustand einer Umwelt verändern. Andererseits kann die maschinelle Lernvorrichtung 100 ein externes Gerät nach einer Funktion anfragen, die dem Entscheidungsfindungsabschnitt entspricht, um Lernergebnisse des Lernabschnitts 110 in einer Umwelt wiederzugeben.
  • 7 zeigt ein System 170, das Roboter 160 gemäß einer Ausführungsform umfasst.
  • Das System 170 umfasst eine Vielzahl von Robotern 160 und 160', die mindestens den gleichen Betriebsvorgang ausführen, und ein drahtgebundenes/drahtloses Netzwerk 172, das die Roboter 160 und 160' miteinander verbindet. Mindestens einer der Vielzahl von Robotern 160 ist als Roboter 160 mit der obigen Steuerung 2 konfiguriert. Außerdem kann das System 170 Roboter 160' aufweisen, die die Steuerung 2 nicht umfassen. Die Roboter 160 und 160' haben einen Mechanismus, der zum Durchführen eines Betriebsvorgangs für den gleichen Zweck benötigt wird.
  • In dem System 170 mit der obigen Konfiguration können die die Steuerung 2 umfassenden Roboter 160 unter der Vielzahl von Robotern 160 und 160' automatisch und genau einen Abstimmbetrag einer Bewegungsgeschwindigkeit eines jeden Motors eines Roboters in Bezug auf eine Sollgeschwindigkeit des Spitzenendes des Roboters, die Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters und eine Bewegungsbahn in der Nähe des Spitzenendes des Roboters berechnen, ohne sich auf eine Berechnung oder Schätzung unter Verwendung der Lernergebnisse des Lernabschnitts 110 zu verlassen. Außerdem kann die Steuerung 2 von mindestens einem der Roboter 160 basierend auf den für jeden der anderen Roboter 160 und 160' erhaltenen Zustandsvariablen S und Bestimmungsdaten D einen Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters, der allen Robotern 160 und 160' gemeinsam ist, lernen, sodass die Lernergebnisse zwischen allen Robotern 160 und 160' geteilt werden. Dementsprechend ermöglicht das System 170, die Geschwindigkeit und die Zuverlässigkeit des Erlernens eines Abstimmbetrags einer Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters mit einem breiteren Spektrum von Datensätzen (mit Zustandsvariablen S und Bestimmungsdaten D) als Eingaben zu verbessern.
  • 8 zeigt ein System 170' mit einer Vielzahl von Robotern 160' gemäß einer weiteren Ausführungsform.
  • Das System 170' umfasst die maschinelle Lernvorrichtung 120 (oder 100), die Vielzahl von Roboter 160' mit der gleichen Maschinenkonfiguration und ein drahtgebundenes/drahtloses Netzwerk 172, das die Roboter 160' und die maschinelle Lernvorrichtung 120 (oder 100) miteinander verbindet.
  • In dem System 170' mit der obigen Konfiguration kann die maschinelle Lernvorrichtung 120 (oder 100) einen Abstimmbetrag einer Bewegungsgeschwindigkeit eines jeden Motors eines Roboters in Bezug auf eine Sollgeschwindigkeit des Spitzenendes des Roboters, die allen Robotern 160' gemeinsam ist, die Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters und einen Bewegungspfad in der Nähe des Spitzenendes des Roboters basierend auf Zustandsvariablen S und Bestimmungsdaten D, die für jeden der mehreren Roboter 160' erhalten wurden, lernen und automatisch und genau den Anpassungsbetrag der Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters in Bezug auf die Sollgeschwindigkeit des Spitzenendes des Roboters, die Bewegungsgeschwindigkeit eines jedes der Motoren des Roboters und den Bewegungspfad in der Nähe des Spitzenendes des Roboters unter Verwendung der Lernergebnisse berechnen, ohne sich auf Berechnung oder Schätzung zu verlassen.
  • Im System 170' kann die maschinelle Lernvorrichtung 120 (oder 100) eine Konfiguration aufweisen, die in einem Cloud-Server oder dergleichen im Netzwerk 172 vorhanden ist. Gemäß der Konfiguration kann eine gewünschte Anzahl der Roboter 160' mit der maschinellen Lernvorrichtung 120 (oder 100) verbunden werden, unabhängig von den vorhandenen Standorten und den Zeiten der Vielzahl von Robotern 160'.
  • Arbeiter, die in die Systeme 170 und 170' eingreifen, können eine Bestimmung dazu durchführen, ob der Erreichungsgrad des Erlernens eines Abstimmbetrags einer Bewegungsgeschwindigkeit eines jeden Motors eines Roboters mit der maschinellen Lernvorrichtung 120 (oder 100) (d.h. die Zuverlässigkeit des Abstimmbetrags der Bewegungsgeschwindigkeit eines jeden der Motoren des Roboters) zu einem angemessenen Zeitpunkt nach dem Beginn des Lernens durch die maschinelle Lernvorrichtung 120 (oder 100) ein erforderliches Niveau erreicht hat.
  • Die Ausführungsformen der vorliegenden Erfindung sind oben beschrieben. Die vorliegende Erfindung ist jedoch nicht auf die Beispiele der oben genannten Ausführungsformen beschränkt und kann in verschiedenen Modi durch Hinzufügen von geeigneten Modifikationen durchgeführt werden.
  • Beispielsweise sind ein durch die maschinellen Lernvorrichtungen 100 und 120 ausgeführter Lernalgorithmus, ein durch die maschinelle Lernvorrichtung 120 ausgeführter Berechnungsalgorithmus und ein durch die Steuerungen 1 und 2 ausgeführter Steuerungsalgorithmus nicht auf die oben genannten Algorithmen beschränkt, sondern es können verschiedene Algorithmen eingesetzt werden.
  • Außerdem beschreiben die obigen Ausführungsformen eine Konfiguration, bei der die Steuerung 1 (oder 2) und die maschinelle Lernvorrichtung 100 (oder 120) eine unterschiedliche CPU aufweisen. Die maschinelle Lernvorrichtung 100 (oder 120) kann jedoch durch die CPU 11 der Steuerung 1 (oder 2) und einem im ROM 12 gespeicherten Systemprogramm realisiert werden.

Claims (8)

  1. Steuerung (1; 2), die eine Bewegungsgeschwindigkeit eines jeden Motors (50) eines Roboters abstimmt, der eine Vielzahl von Achsen aufweist und eine Beschichtung mit einem Dichtungsmaterial durchführt, wobei die Steuerung (1) umfasst: eine maschinelle Lernvorrichtung (100), die einen Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden der Motoren (50) des Roboters lernt, wobei die maschinelle Lernvorrichtung (100) aufweist: einen Zustandsbeobachtungsabschnitt (106), der, als Zustandsvariablen (S), die einen aktuellen Zustand einer Umwelt ausdrücken, Einlern-Geschwindigkeitsabstimmbetragsdaten, die den Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden der Motoren (50) des Roboters angeben, Sollgeschwindigkeitsdaten, die eine Sollgeschwindigkeit eines Spitzenendes des Roboters angeben, Bewegungsgeschwindigkeitsdaten, die die Bewegungsgeschwindigkeit eines jeden der Motoren (50) des Roboters angeben, und Bewegungsbahndaten, die eine Bewegungsbahn in der Nähe des Spitzenendes des Roboters angeben, beobachtet, einen Bestimmungsdaten-Erfassungsabschnitt (108), der Bestimmungsdaten (D) erfasst, die ein Eignungsbestimmungsergebnis der Bewegungsgeschwindigkeit des Spitzenendes des Roboters angeben, wobei das Bestimmungsergebnis in drei oder mehr Ebenen unterteilt ist, und einen Lernabschnitt (110), der die Sollgeschwindigkeitsdaten, die Bewegungsgeschwindigkeitsdaten und die Bewegungsbahndaten in Zuordnung zu dem Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden der Motoren (50) des Roboters unter Verwendung der Zustandsvariablen (S) und der Bestimmungsdaten lernt (D).
  2. Steuerung (1; 2) nach Anspruch 1, wobei die Bestimmungsdaten (D) neben dem Eignungsbestimmungsergebnis der Bewegungsgeschwindigkeit des Spitzenendes des Roboters ein Eignungsbestimmungsergebnis einer Position des Spitzenendes des Roboters umfassen.
  3. Steuerung (1; 2) nach Anspruch 1 oder 2, wobei der Lernabschnitt (110) aufweist: einen Belohnungsberechnungsabschnitt (112), der eine Belohnung in Zuordnung zu dem Eignungsbestimmungsergebnis berechnet, und einen Wertfunktion-Aktualisierungsabschnitt (114), der unter Verwendung der Belohnung eine Funktion aktualisiert, die einen Wert des Abstimmbetrags der Bewegungsgeschwindigkeit eines jeden der Motoren (50) des Roboters in Bezug auf die Sollgeschwindigkeit des Spitzenendes des Roboters, die Bewegungsgeschwindigkeit eines jeden der Motoren (50) des Roboters und die Bewegungsbahn in der Nähe des Spitzenendes des Roboters ausdrückt.
  4. Steuerung (1; 2) nach einem der Ansprüche 1 bis 3, wobei der Lernabschnitt (110) eine Berechnung der Zustandsvariablen (S) und der Bestimmungsdaten (D) auf der Basis einer mehrschichtigen Struktur durchführt.
  5. Steuerung (1; 2) nach einem der Ansprüche 1 bis 4, ferner umfassend: einen Entscheidungsfindungsabschnitt (122), der einen Sollwert basierend auf dem Abstimmbetrag der Bewegungsgeschwindigkeit von jedem der Motoren (50) des Roboters auf einer Basis eines Lernergebnisses des Lernabschnitts (110) ausgibt.
  6. Steuerung (1; 2) nach einem der Ansprüche 1 bis 5, wobei der Lernabschnitt (110) den Abstimmbetrag der Bewegungsgeschwindigkeit eines jedes der Motoren (50) des Roboters in jedem von einer Vielzahl von Robotern unter Verwendung der für jeden der Vielzahl von Robotern erhaltenen Zustandsvariablen (S) und Bestimmungsdaten (D) lernt.
  7. Steuerung (1; 2) nach einem der Ansprüche 1 bis 6, wobei die maschinelle Lernvorrichtung in einem Cloud-Server vorhanden ist.
  8. Maschinelle Lernvorrichtung (120), die einen Abstimmbetrag einer Bewegungsgeschwindigkeit eines jeden Motors (50) eines Roboters, der eine Vielzahl von Achsen aufweist und eine Beschichtung mit einem Dichtungsmaterial ausführt, lernt, wobei die maschinelle Lernvorrichtung (120) umfasst: einen Zustandsbeobachtungsabschnitt (106), der als Zustandsvariablen (S), die einen aktuellen Zustand einer Umwelt ausdrücken, Einlern-Geschwindigkeitsabstimmbetragsdaten, die den Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden der Motoren (50) des Roboters angeben, Sollgeschwindigkeitsdaten, die eine Sollgeschwindigkeit eines Spitzenendes des Roboters angeben, Bewegungsgeschwindigkeitsdaten, die die Bewegungsgeschwindigkeit eines jeden der Motoren (50) des Roboters angeben, und Bewegungsbahndaten, die eine Bewegungsbahn in der Nähe des Spitzenendes des Roboters angeben, beobachtet; einen Bestimmungsdaten-Erfassungsabschnitt (108), der Bestimmungsdaten (D) erfasst, die ein Eignungsbestimmungsergebnis der Bewegungsgeschwindigkeit des Spitzenendes des Roboters angeben, wobei das Bestimmungsergebnis in drei oder mehr Ebenen unterteilt ist; und einen Lernabschnitt (110), der die Sollgeschwindigkeitsdaten, die Bewegungsgeschwindigkeitsdaten und die Bewegungsbahndaten in Zuordnung zu dem Abstimmbetrag der Bewegungsgeschwindigkeit eines jeden der Motoren (50) des Roboters unter Verwendung der Zustandsvariablen (S) und der Bestimmungsdaten (D) lernt.
DE102018004330.5A 2017-06-07 2018-05-30 Steuerung und maschinelle Lernvorrichtung Active DE102018004330B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-112209 2017-06-07
JP2017112209A JP6577522B2 (ja) 2017-06-07 2017-06-07 制御装置及び機械学習装置

Publications (2)

Publication Number Publication Date
DE102018004330A1 DE102018004330A1 (de) 2018-12-13
DE102018004330B4 true DE102018004330B4 (de) 2020-10-29

Family

ID=64333428

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018004330.5A Active DE102018004330B4 (de) 2017-06-07 2018-05-30 Steuerung und maschinelle Lernvorrichtung

Country Status (4)

Country Link
US (1) US10576628B2 (de)
JP (1) JP6577522B2 (de)
CN (1) CN108994818B (de)
DE (1) DE102018004330B4 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3587046A1 (de) * 2018-06-28 2020-01-01 Siemens Aktiengesellschaft Verfahren und vorrichtung zum rechnergestützten ermitteln von regelparametern für eine günstige handlung eines technischen systems
JP7246175B2 (ja) * 2018-12-12 2023-03-27 株式会社Preferred Networks 推定装置、訓練装置、推定方法及び訓練方法
JP7339776B2 (ja) * 2019-05-28 2023-09-06 川崎重工業株式会社 制御システム、機械装置システム及び制御方法
JP7256703B2 (ja) * 2019-06-21 2023-04-12 ファナック株式会社 制御装置、制御システム、及び機械学習装置
DE102019120633B4 (de) * 2019-07-31 2022-05-05 Liebherr-Hydraulikbagger Gmbh Verfahren zur automatischen Bewegung eines Arbeitsgeräts sowie Arbeitsgerät
CN110378439B (zh) * 2019-08-09 2021-03-30 重庆理工大学 基于Q-Learning算法的单机器人路径规划方法
JP6811881B1 (ja) * 2020-01-10 2021-01-13 株式会社大気社 品質管理システムおよび品質管理プログラム
CN113311851B (zh) * 2021-04-25 2023-06-16 北京控制工程研究所 航天器追逃智能轨道控制方法、装置和存储介质
CN113325704B (zh) * 2021-04-25 2023-11-10 北京控制工程研究所 航天器逆光抵近智能轨道控制方法、装置和存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6027907A (ja) * 1983-07-27 1985-02-13 Kobe Steel Ltd Cp形ロボツトの等速再生方法
JPH06285402A (ja) * 1993-04-01 1994-10-11 Fanuc Ltd シーリングロボットにおけるシール剤の流量制御方法
DE102010048961A1 (de) * 2009-10-21 2011-08-25 Fanuc Ltd. Verfahren zum Erkennen der Position eines Schweißteils mittels einer beweglichen Elektrode
DE102012104194B4 (de) * 2011-05-17 2015-10-15 Fanuc Corporation Roboter und Punktschweissroboter mit lernender Steuerungsfunktion
US20160110657A1 (en) * 2014-10-14 2016-04-21 Skytree, Inc. Configurable Machine Learning Method Selection and Parameter Optimization System and Method
DE102016011532A1 (de) * 2015-09-30 2017-03-30 Fanuc Corporation Maschinenlernvorrichtung und Maschinenlernverfahren zum Optimieren der Häufigkeit einer Werkzeugkorrektur einer Werkzeugmaschine und Werkzeugmaschine mit der Maschinenlernvorrichtung
DE102016117560A1 (de) * 2015-09-25 2017-03-30 Fanuc Corporation Werkzeugmaschine zum erzeugen einer geschwindigkeitsverteilung

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4665290A (en) 1985-09-30 1987-05-12 Eaton Corporation Trigger operated portable electric tool switch
FR2614481B1 (fr) * 1987-02-13 1990-08-31 Pk I Procede de commande d'un moteur asynchrone et entrainement electrique mettant ce procede en application
JPH077302B2 (ja) * 1989-10-16 1995-01-30 川崎重工業株式会社 ロボットの速度変動最小化制御方法
JP3324122B2 (ja) * 1991-05-20 2002-09-17 株式会社安川電機 工業用ロボットの制御装置
AU2002331786A1 (en) * 2001-08-31 2003-03-18 The Board Of Regents Of The University And Community College System, On Behalf Of The University Of Coordinated joint motion control system
WO2008033541A2 (en) * 2006-09-15 2008-03-20 Tufts University Dynamic minimally invasive training and testing environments
JP5726052B2 (ja) * 2011-03-08 2015-05-27 株式会社神戸製鋼所 多関節型ロボットの制御装置,制御方法及び制御プログラム
JP5922932B2 (ja) * 2012-01-18 2016-05-24 本田技研工業株式会社 ロボットティーチング方法
JP2013215864A (ja) * 2012-04-12 2013-10-24 Panasonic Corp 塗布教示方法
JP6235543B2 (ja) * 2015-09-30 2017-11-22 ファナック株式会社 加工機のサイクル加工時間を最適化する機械学習装置、モータ制御装置、加工機、および機械学習方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6027907A (ja) * 1983-07-27 1985-02-13 Kobe Steel Ltd Cp形ロボツトの等速再生方法
JPH06285402A (ja) * 1993-04-01 1994-10-11 Fanuc Ltd シーリングロボットにおけるシール剤の流量制御方法
DE102010048961A1 (de) * 2009-10-21 2011-08-25 Fanuc Ltd. Verfahren zum Erkennen der Position eines Schweißteils mittels einer beweglichen Elektrode
DE102012104194B4 (de) * 2011-05-17 2015-10-15 Fanuc Corporation Roboter und Punktschweissroboter mit lernender Steuerungsfunktion
US20160110657A1 (en) * 2014-10-14 2016-04-21 Skytree, Inc. Configurable Machine Learning Method Selection and Parameter Optimization System and Method
DE102016117560A1 (de) * 2015-09-25 2017-03-30 Fanuc Corporation Werkzeugmaschine zum erzeugen einer geschwindigkeitsverteilung
DE102016011532A1 (de) * 2015-09-30 2017-03-30 Fanuc Corporation Maschinenlernvorrichtung und Maschinenlernverfahren zum Optimieren der Häufigkeit einer Werkzeugkorrektur einer Werkzeugmaschine und Werkzeugmaschine mit der Maschinenlernvorrichtung

Also Published As

Publication number Publication date
DE102018004330A1 (de) 2018-12-13
JP6577522B2 (ja) 2019-09-18
CN108994818B (zh) 2020-07-28
US10576628B2 (en) 2020-03-03
CN108994818A (zh) 2018-12-14
US20180354126A1 (en) 2018-12-13
JP2018206162A (ja) 2018-12-27

Similar Documents

Publication Publication Date Title
DE102018004330B4 (de) Steuerung und maschinelle Lernvorrichtung
DE102018006946B4 (de) Steuerung und maschinelle Lernvorrichtung
DE102019002065B4 (de) Maschinelle Lernvorrichtung, Robotersteuervorrichtung und Robotervisionssystem, das eine maschinelle Lernvorrichtung verwendet, und maschinelles Lernverfahren
DE102018010054A1 (de) Steuerung und maschinelle Lernvorrichtung
DE102016008994B4 (de) Werkzeugmaschine, simulationsvorrichtung und maschineneinlerngerät
DE102017011544A1 (de) Steuerung und maschinelle Lernvorrichtung
DE102018004048B4 (de) Steuerung und Maschinenlernvorrichtung
DE102019002156A1 (de) Steuergerät und maschinelle Lernvorrichtung
DE102018003266B4 (de) Controller und maschinelle lernvorrichtung
DE102018010086A1 (de) Spanabführvorrichtung und Informationsverarbeitungsvorrichtung
DE102018001571B4 (de) Laserverarbeitungsgerät und Vorrichtung zum maschinellen Lernen
DE102016009106A1 (de) Mit Steuerung ausgerüstete Bearbeitungsvorrichtung mit Bearbeitungszeit- Messfunktion und Messfunktion auf der Maschine
DE102019001783A1 (de) Steuerung, maschinelle lernvorrichtung und system
DE102018006024A1 (de) Controller und maschinelle Lernvorrichtung
DE102018005199B4 (de) Bauteilzuführvorrichtung und maschinelle lernvorrichtung
DE102019003601A1 (de) Vorrichtung zur Lebensdauervorhersage und Vorrichtung für maschinelles Lernen
DE102019001044A1 (de) Steuervorrichtung und maschinelle lernvorrichtung
DE102019106729A1 (de) Antriebsvorrichtung und Vorrichtung für maschinelles Lernen
DE102019106939A1 (de) Bearbeitungszustandsanpassungsvorrichtung und maschinenlernvorrichtung
DE112018000122T5 (de) Maschinelles-Lernen-Vorrichtung, Korrekturparameter-Anpassungssystem und Maschinelles-Lernen-Verfahren
DE102018108778A1 (de) Beschleunigungs- und Verzögerungssteuereinheit
DE102018005378A1 (de) Steuergerät und Lernvorrichtung
DE102019112211A1 (de) Simulationsvorrichtung
DE102019112379A1 (de) Bearbeitungsbedingungsanpassungsvorrichtung und Maschinenlernvorrichtung
DE102020132093A1 (de) Vorrichtung für maschinelles Lernen, Steuervorrichtung, Bearbeitungssystem und Verfahren für maschinelles Lernen zum Lernen eines Korrekturbetrags eines Werkstückmodells

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