-
Die vorliegende Erfindung bezieht sich auf eine Steuereinrichtung und ein Steuersystem und im Besonderen auf eine Steuereinrichtung und ein Steuersystem, die in der Lage sind, Parameter wie zum Beispiel eine Druckkraft, eine Verfahrgeschwindigkeit und eine Verfahrrichtung geeignet einzustellen, insbesondere wenn ein Manipulator eines Roboters kraftgesteuert wird.
-
Ein Roboter mit einem Kraftsensor kann für Vorgänge wie zum Beispiel ein präzises Aneinanderpassen von Teilen, Einstellen der Phasen von Zahnrädern, Entgraten und Polieren verwendet werden. Wenn ein Roboter veranlasst wird, einen solchen Vorgang durchzuführen, wird der Roboter veranlasst, ein Teil oder ein Werkzeug zu greifen, um dadurch die Kraft in einer vorgegebenen Richtung auf einen gewünschten Wert zu steuern (Kraftsteuerung). Als ein solches Kraftsteuerungsverfahren sind eine Impedanzsteuerung, eine Dämpfungssteuerung, eine Hybridsteuerung und dergleichen bekannt. Bei allen diesen Steuerverfahren muss eine geeignete Steuerverstärkung festgelegt werden. Es ist ein Verfahren zum automatischen Einstellen der Steuerverstärkung bekannt (siehe zum Beispiel Dokument
JP 2007 - 237 312 A ).
-
Wie oben beschrieben, ist das Verfahren zum Festlegen der Steuerverstärkung bei einer Kraftsteuerung allgemein bekannt, jedoch hängen die sonstigen Parameter wie zum Beispiel eine geeignete Druckkraft, Verfahrgeschwindigkeit und Verfahrrichtung von der Einstellung durch den Bediener ab. Für einen in einer solchen Parametereinstellung unerfahrenen Bediener ist es schwierig, eine tatsächliche Einstellung durchzuführen, was zu Problemen wie zum Beispiel Zeitaufwand führt, der in einem Wechsel zwischen Bedienern resultiert, wobei das Werkstück oder das Werkzeug durch Festlegen ungeeigneter Werte während der Einstellung beschädigt wird.
-
-
Es besteht die technische Aufgabe ein verbessertes Steuersystem bereitzustellen, welches eine effiziente Steuerung von Industrierobotern ermöglicht.
-
Diese technische Aufgabe wird durch den Gegenstand des Hauptanspruchs gelöst. Die weiteren Ansprüche definieren vorteilhafte Ausgestaltungen des Gegenstands des Hauptanspruchs.
-
Grundsätzlich ist es erwünscht, eine Steuereinrichtung und ein Steuersystem vorzusehen, die in der Lage sind, Parameter wie zum Beispiel eine Druckkraft, eine Verfahrgeschwindigkeit und eine Verfahrrichtung in geeigneter Weise einzustellen, wenn ein Manipulator eines Roboters gesteuert wird. Dazu kann die Steuereinrichtung des Roboters mit einer Funktion zur Verwendung von maschinellem Lernen ausgestattet werden, um Parameter in Bezug auf eine Steuerung eines Manipulators eines Industrieroboters automatisch einzustellen.
-
Eine Steuereinrichtung kann einen Industrieroboter mit einer Funktion zum Erkennen einer Kraft und eines Moments, die auf einen Manipulator ausgeübt werden, steuern und beinhaltet: eine Steuereinheit, die den Industrieroboter auf Grundlage eines Steuerbefehls steuert; eine Datenerfassungseinheit, die die Kraft und/oder das Moment, die auf den Manipulator des Industrieroboters ausgeübt werden, als Erfassungsdaten erfasst; und eine Vorverarbeitungseinheit, die Kraftzustandsdaten, die Informationen in Bezug auf die Kraft beinhalten, die auf den Manipulator ausgeübt wird, und Steuerbefehls-Einstelldaten, die ein Einstellverhalten des Steuerbefehls in Bezug auf den Manipulator angeben, als Zustandsdaten auf Grundlage der Erfassungsdaten erzeugt. Und die Steuereinrichtung führt einen Prozess eines maschinellen Lernens in Bezug auf das Einstellverhalten des Steuerbefehls in Bezug auf den Manipulator auf Grundlage der Zustandsdaten durch.
-
Die Vorverarbeitungseinheit kann Ermittlungsdaten, die ein Ermittlungsergebnis eines Betriebszustands des Manipulators angeben, nachdem das Einstellverhalten weiter durchgeführt worden ist, auf Grundlage der Erfassungsdaten erzeugen, und die Steuereinrichtung kann ferner eine Lerneinheit beinhalten, die ein Lernmodell erzeugt, das durch Anwenden eines bestärkenden Lernens auf das Einstellverhalten des Steuerbefehls in Bezug auf den Manipulator im Hinblick auf den Zustand der auf den Manipulator ausgeübten Kraft als Prozess des maschinellen Lernens mithilfe der Zustandsdaten und der Ermittlungsdaten gewonnen wird.
-
Die Steuereinrichtung kann ferner beinhalten: eine Lernmodell-Speichereinheit, die ein Lernmodell speichert, das durch Anwenden von bestärkendem Lernen auf das Einstellverhalten des Steuerbefehls in Bezug auf den Manipulator im Hinblick auf den Zustand der auf den Manipulator ausgeübten Kraft gewonnen wird, und eine Entscheidungsfindungseinheit, die das Einstellverhalten des Steuerbefehls in Bezug auf den Manipulator mithilfe des in der Lernmodell-Speichereinheit gespeicherten Lernmodells auf Grundlage der Zustandsdaten als Prozess des maschinellen Lernens schätzt.
-
Die Vorverarbeitungseinheit kann Belastungsermittlungsdaten, die ein Ausmaß einer Belastung angeben, die auf den Manipulator ausgeübt wird, nachdem das Einstellverhalten durchgeführt worden ist, als Ermittlungsdaten erzeugen.
-
Die Vorverarbeitungseinheit kann Betriebszeitdaten, die ein Ausmaß einer Betriebszeit des Manipulators angeben, nachdem das Einstellverhalten durchgeführt worden ist, als Ermittlungsdaten erzeugen.
-
Ein System kann ein System sein, in dem eine Mehrzahl von Vorrichtungen über ein Netzwerk miteinander verbunden ist, wobei die Mehrzahl von Vorrichtungen eine erste Steuereinrichtung beinhaltet, bei der es sich um die oben genannte Steuereinrichtung handelt.
-
Die Mehrzahl von Vorrichtungen kann einen Computer beinhalten, der eine Vorrichtung für maschinelles Lernen aufweist, der Computer kann ein Lernmodell als mindestens ein Ergebnis des bestärkenden Lernens der ersten Steuereinrichtung erfassen, und die in dem Computer vorgesehene Vorrichtung für maschinelles Lernen kann auf Grundlage des erfassten Lernmodells eine Optimierung oder Verbesserung durchführen.
-
Die Mehrzahl von Vorrichtungen kann eine zweite Steuereinrichtung beinhalten, die sich von der ersten Steuereinrichtung unterscheidet, und ein Lernergebnis durch die erste Steuereinrichtung kann gemeinsam mit der zweiten Steuereinrichtung genutzt werden.
-
Die Mehrzahl von Vorrichtungen kann eine zweite Steuereinrichtung beinhalten, die sich von der ersten Steuereinrichtung unterscheidet, und durch die zweite Steuereinrichtung beobachtete Daten können über das Netzwerk für ein bestärkendes Lernen durch die erste Steuereinrichtung zur Verfügung stehen.
-
Parameter wie zum Beispiel eine Druckkraft, eine Verfahrgeschwindigkeit und eine Verfahrrichtung bei einer Steuerung eines Manipulators eines Roboters auf Grundlage von Lernergebnissen können in geeigneter Weise eingestellt werden.
- 1 ist eine schematische graphische Darstellung einer Hardware-Konfiguration einer Steuereinrichtung;
- 2 ist eine schematische graphische Darstellung von Funktionsblöcken einer Steuereinrichtung gemäß;
- 3 ist eine Ansicht, die ein Beispiel für einen Vorgang zum Passen von Teilen durch einen Industrieroboter darstellt;
- 4 ist eine Ansicht, die ein Beispiel für einen Zahnradmontagevorgang durch den Industrieroboter darstellt;
- 5 ist eine Ansicht, die ein Beispiel für einen Werkstück-Entgratungs- und Werkstück-Poliervorgang durch den Industrieroboter darstellt;
- 6 ist eine Ansicht, die ein Beispiel für ein System mit einer dreifachen Hierarchiestruktur darstellt, das einen Cloud-Server, einen Fog-Computer und einen Edge-Computer beinhaltet;
- 7 ist eine schematische graphische Darstellung einer Hardware-Konfiguration der Steuereinrichtung, die auf einem Computer implementiert ist;
- 8 ist eine schematische graphische Darstellung einer Konfiguration eines Steuersystems;
- 9 ist eine schematische graphische Darstellung einer Konfiguration eines Steuersystems; und
- 10 ist eine schematische graphische Darstellung einer Konfiguration eines Steuersystems.
-
1 ist eine schematische graphische Darstellung einer Hardware-Konfiguration, die Hauptbestandteile einer eine Vorrichtung für maschinelles Lernen enthaltenden Steuereinrichtung gemäß eines Beispiels darstellt. Eine Steuereinrichtung 1 kann als Steuereinrichtung implementiert werden, die einen Industrieroboter steuert, der zum Beispiel Teile passt und montiert, entgratet und dergleichen.
-
Eine in der Steuereinrichtung 1 vorgesehene CPU 11 ist ein Prozessor, der die gesamte Steuereinrichtung 1 steuert. Die CPU 11 liest ein in einem ROM 12 gespeichertes Systemprogramm über einen Bus 20 und steuert die gesamte Steuereinrichtung 1 entsprechend dem Systemprogramm. Ein RAM 13 speichert vorübergehend temporäre Berechnungsdaten sowie verschiedene Daten, die von einem Bediener durch eine Lehrbedientafel 60, eine Eingabevorrichtung 71 und dergleichen eingegeben werden.
-
Ein nichtflüchtiger Speicher 14 besteht zum Beispiel aus einem durch eine (nicht dargestellte) Batterie gesicherten Speicher, einem Halbleiterlaufwerk (solid state drive, SSD) und dergleichen und ist so konfiguriert, dass der Speicherzustand aufrechterhalten wird, selbst wenn die Steuereinrichtung 1 ausgeschaltet wird. Der nichtflüchtige Speicher 14 speichert von der Lehrbedientafel 60 durch eine Schnittstelle 19 eingegebene Lehrdaten, von der Eingabevorrichtung 71 eingegebene Daten, ein durch eine (nicht dargestellte) Schnittstelle eingegebenes Industrieroboter-Steuerprogramm, durch einen an dem Industrieroboter angebrachten Sensor 3 erkannte Daten (eine Kraft oder ein Moment, die auf den Manipulator ausgeübt werden), durch einen Servomotor 50 erkannte Daten (den Stromwert, die Position, die Geschwindigkeit, die Beschleunigung, das Drehmoment und dergleichen des Servomotors 50) zum Antreiben einer Achse des Industrieroboters, durch eine (nicht dargestellte) externe Speichervorrichtung oder ein Netzwerk gelesene Daten und dergleichen. Die Programme und die verschiedenen Daten, die in dem nichtflüchtigen Speicher 14 gespeichert sind, können in den RAM 13 geladen werden, wenn sie ausgeführt oder verwendet werden. Es ist zu beachten, dass verschiedene Systemprogramme (einschließlich eines Systemprogramms zum Steuern von Wechselwirkungen mit einer im Folgenden beschriebenen Vorrichtung 100 für maschinelles Lernen) zum Ausführen von Prozessen zum Anlernen einer Robotersteuerung und einer Lehrposition im Voraus in den ROM 12 geschrieben werden.
-
Verschiedene in den Speicher gelesene Daten, als Ergebnis einer Ausführung von Programmen und dergleichen gewonnene Daten und von einer im Folgenden beschriebenen Vorrichtung 100 für maschinelles Lernen ausgegebene Daten und sonstige Daten werden durch die Schnittstelle 17 ausgegeben und auf einer Anzeigevorrichtung 70 angezeigt. Ferner übergibt die Eingabevorrichtung 71, die eine Tastatur, eine Zeigevorrichtung und dergleichen beinhaltet, einen Befehl, Daten und dergleichen auf Grundlage der Bedienung durch einen Bediener durch eine Schnittstelle 18 an die CPU 11.
-
Bei der Lehrbedientafel 60 handelt es sich um eine Vorrichtung zur manuellen Dateneingabe, die eine Anzeige, ein Handrad, einen Hardware-Schlüssel und dergleichen beinhaltet. Die Lehrbedientafel 60 empfängt Informationen durch eine Schnittstelle 19 von der Steuereinrichtung 1 und zeigt diese an und übergibt Impulse, Befehle und verschiedene von dem Handrad, dem Hardware-Schlüssel und dergleichen eingegebene Daten an die CPU 11.
-
Eine Achsensteuerschaltung 30 zum Steuern einer Achse eines in dem Industrieroboter vorgesehenen Gelenks und dergleichen empfängt einen Achsenbewegungs-Befehlsbetrag von der CPU 11 und gibt einen Achsenbefehl an einen Servoverstärker 40 aus. Wenn dieser Befehl empfangen wird, steuert der Servoverstärker 40 den Servomotor 50 so an, dass er die in dem Roboter vorgesehene Achse bewegt. Der Servomotor 50 der Achse enthält einen Positions-/Drehzahldetektor und führt ein Positions-/Drehzahl-Rückkopplungssignal von diesem Positions-/Drehzahldetektor zu der Achsensteuerschaltung 30 zurück, um eine Positions-/Drehzahlregelung durchzuführen. Es ist zu beachten, dass die graphische Darstellung der Hardware-Konfiguration von 1 nur einen Satz der Achsensteuerschaltung 30, des Servoverstärkers 40 und des Servomotors 50 darstellt, der Satz der Vorrichtungen jedoch tatsächlich für jede in dem zu steuernden Roboter vorgesehene Achse bereitgestellt wird. Wenn der Roboter zum Beispiel sechs Achsen aufweist, werden sechs Sätze der Achsensteuerschaltung 30, des Servoverstärkers 40 und des Servomotors 50 bereitgestellt.
-
Bei einer Schnittstelle 21 handelt es sich um eine Schnittstelle zum Verbinden der Steuereinrichtung 1 und der Vorrichtung 100 für maschinelles Lernen. Die Vorrichtung 100 für maschinelles Lernen weist einen Prozessor 101 zum Steuern der gesamten Vorrichtung 100 für maschinelles Lernen, einen ROM 102 zum Speichern des Systemprogramms und dergleichen, einen RAM 103 zum vorübergehenden Speichern in jedem Prozess in Bezug auf maschinelles Lernen und einen nichtflüchtigen Speicher 104 zur Verwendung beim Speichern des Lernmodells und dergleichen auf. Die Vorrichtung 100 für maschinelles Lernen kann jede einzelne Information (die Kraft oder das Moment, die auf den Manipulator ausgeübt werden, und den Stromwert, die Position, die Geschwindigkeit, die Beschleunigung, das Drehmoment und dergleichen des Servomotors 50) beobachten, die durch die Steuereinrichtung 1 durch die Schnittstelle 21 erfasst werden kann. Ferner empfängt die Steuereinrichtung 1 eine Änderungsanweisung eines Kraftbefehls oder eines Drehmomentbefehls, der von der Vorrichtung 100 für maschinelles Lernen ausgegeben wird, und führt eine Korrektur oder dergleichen auf Grundlage des Programms oder der Lehrdaten an dem Robotersteuerbefehl durch.
-
2 ist eine schematische graphische Darstellung von Funktionsblöcken der Steuereinrichtung 1 und der Vorrichtung 100 für maschinelles Lernen gemäß eines ersten Beispiels.
-
Die Steuereinrichtung 1 weist eine Konfiguration auf, die erforderlich ist, wenn die Vorrichtung 100 für maschinelles Lernen ein Lernen (einen Lernmodus) durchführt. Jeder in 2 dargestellte Funktionsblock wird implementiert, wenn die in der Steuereinrichtung 1 vorgesehene CPU 11 und der Prozessor 101 der in 1 dargestellten Vorrichtung 100 für maschinelles Lernen die jeweiligen Systemprogramme ausführen und den Betrieb jeder Einheit der Steuereinrichtung 1 und der Vorrichtung 100 für maschinelles Lernen steuern.
-
Diese Steuereinrichtung 1 beinhaltet eine Steuereinheit 32, eine Datenerfassungseinheit 34 und eine Vorverarbeitungseinheit 36. Die in der Steuereinrichtung 1 vorgesehene Vorrichtung 100 für maschinelles Lernen beinhaltet eine Lerneinheit 110 und eine Entscheidungsfindungseinheit 120. Ferner beinhaltet der nichtflüchtige Speicher 14 eine Erfassungsdaten-Speichereinheit 54 zum Speichern von von einem Industrieroboter 2, dem Sensor 3 und dergleichen erfassten Daten. Der nichtflüchtige Speicher 104 in der Vorrichtung 100 für maschinelles Lernen beinhaltet eine Lernmodell-Speichereinheit 130 zum Speichern eines durch maschinelles Lernen durch eine Lerneinheit 110 erstellten Lernmodells.
-
Die Steuereinheit 32 steuert den Betrieb des Industrieroboters 2 auf Grundlage eines in dem nichtflüchtigen Speicher 104 gespeicherten Steuerprogramms 52. Die Steuereinheit 32 steuert den Industrieroboter 2 auf Grundlage eines Steuervorgangs durch den Bediener an der (nicht dargestellten) Bedientafel und des in dem nichtflüchtigen Speicher 14 gespeicherten Steuerprogramms und dergleichen. Ferner weist die Steuereinheit 32 eine allgemeine Steuerfunktion auf, die zum Steuern jedes Teils des Industrieroboters 2 erforderlich ist, zum Beispiel Ausgeben von Befehlsdaten als Änderungsbetrag eines Achsenwinkels in jedem Steuerzyklus an einen Motor, der eine Achse antreibt, wenn das Steuerprogramm 52 einen Befehl zum Bewegen jeder der in dem Industrieroboter 2 vorgesehenen Achsen (Gelenke) ausgibt. Ferner erfasst die Steuereinheit 32 den Motorzustandsbetrag (den Stromwert, die Position, die Geschwindigkeit, die Beschleunigung, das Drehmoment und dergleichen des Motors) jedes in dem Industrieroboter 2 vorgesehenen Motors und gibt diesen an die Datenerfassungseinheit 34 aus.
-
Die Datenerfassungseinheit 34 erfasst verschiedene, von dem Industrieroboter 2, dem Sensor 3, der Eingabevorrichtung 71 und dergleichen eingegebene Daten. Die Datenerfassungseinheit 34 erfasst zum Beispiel den Befehl durch das Programm zum Steuern des Industrieroboters, die Kraft oder das Moment, die auf den Manipulator des Industrieroboters 2 ausgeübt werden, den Stromwert, die Position, die Geschwindigkeit, die Beschleunigung, das Drehmoment und dergleichen des Servomotors 50, der die Achse des Industrieroboters 2 antreibt, und speichert diese in der Erfassungsdaten-Speichereinheit 54. Die Datenerfassungseinheit 34 kann von dem Sensor 3 erkannte Daten und Daten in Bezug auf den Servomotor 50 als Zeitreihendaten erfassen. Ferner kann die Datenerfassungseinheit 34 Daten von einem weiteren Computer über eine (nicht dargestellte) externe Speichervorrichtung oder ein drahtgebundenes/drahtloses Netzwerk erfassen.
-
Die Vorverarbeitungseinheit 36 erzeugt Zustandsdaten zur Verwendung bei einem Lernen durch die Vorrichtung 100 für maschinelles Lernen auf Grundlage von durch die Datenerfassungseinheit 34 erfassten Daten. Genauer gesagt, die Vorverarbeitungseinheit 36 erzeugt die Zustandsdaten, die durch Umwandeln (Digitalisieren, Abtasten und dergleichen) der durch die Datenerfassungseinheit 34 erfassten Daten in ein einheitliches, durch die Vorrichtung 100 für maschinelles Lernen zu verarbeitendes Format gewonnen werden. Wenn die Vorrichtung 100 für maschinelles Lernen zum Beispiel ein bestärkendes Lernen durchführt, erzeugt die Vorverarbeitungseinheit 36 beim Lernen einen Satz von Zustandsdaten S und Ermittlungsdaten D in einem vorgegebenen Format.
-
Die durch die Vorverarbeitungseinheit 36 erzeugten Zustandsdaten S beinhalten Kraftzustandsdaten S1, die Informationen über eine auf den Manipulator des Industrieroboters 2 ausgeübte Kraft enthalten, und Steuerbefehls-Einstelldaten S2, die das Einstellverhalten des Steuerbefehls (des Drehzahlbefehls, Kraftbefehls, Drehmomentbefehls und dergleichen) des Manipulators angeben, das in einem Kraftzustand der Kraftzustandsdaten S1 durchgeführt wird.
-
Die Kraftzustandsdaten S1 können zumindest eine auf den Manipulator des Industrieroboters 2 ausgeübte Kraft in einer Vorschubrichtung beinhalten und können eine in einer anderen Richtung als der Vorschubrichtung ausgeübte Kraft oder ein Moment der Kraft beinhalten. Die Kraftzustandsdaten S1 können durch den in den Manipulator des Industrieroboters 2 eingebauten Sensor 3 erkannt werden oder können umfassend aus dem Strom oder dergleichen gewonnen werden, der durch den Servomotor 50 fließt, der jede Achse des Industrieroboters 2 antreibt.
-
Die Steuerbefehls-Einstelldaten S2 können mindestens einen Steuerbefehl wie zum Beispiel den Drehzahlbefehl, den Kraftbefehl und den Drehmomentbefehl in der Vorschubrichtung des Manipulators als Einstellverhalten des Steuerbefehls (wie zum Beispiel eines Drehzahlbefehls, eines Kraftbefehls und eines Drehmomentbefehls) in der Vorschubrichtung des Manipulators beinhalten, das in dem Kraftzustand der Kraftzustandsdaten S1 durchgeführt wird, und können ferner einen Steuerbefehl in einer anderen Richtung als der Vorschubrichtung beinhalten.
-
Bei den durch die Vorverarbeitungseinheit 36 erzeugten Ermittlungsdaten D handelt es sich um Daten, die ein Ermittlungsergebnis in einem Betriebszustand des Manipulators nach dem Einstellverhalten angeben, wenn das Einstellverhalten des durch die Steuerbefehls-Einstelldaten S2 angegebenen Steuerbefehls in dem Kraftzustand der Kraftzustandsdaten S1 durchgeführt wird. Die Ermittlungsdaten D können mindestens die Belastungsermittlungsdaten D1 beinhalten, die ein Ausmaß einer auf den Manipulator ausgeübten Belastung angeben, und können die Betriebszeit-Ermittlungsdaten D2 beinhalten, die ein Ausmaß der Betriebszeit des Manipulators angeben.
-
Die Lerneinheit 110 führt ein maschinelles Lernen mithilfe der durch die Vorverarbeitungseinheit 36 erzeugten Daten durch. Die Lerneinheit 110 verwendet ein allgemein bekanntes Verfahren für bestärkendes Lernen, um ein Lernmodell zu erzeugen, das durch Lernen des Einstellverhaltens des Steuerbefehls (zum Beispiel eines Drehzahlbefehls, eines Kraftbefehls und eines Drehmomentbefehls) des Manipulators im Hinblick auf den Betriebszustand des Industrieroboters 2 gewonnen wird, und speichert das erzeugte Lernmodell in der Lernmodell-Speichereinheit 130. Bei bestärkendem Lernen handelt es sich um ein Verfahren zum heuristischen Wiederholen eines Zyklus, der den Ist-Zustand (das heißt, eine Eingabe) einer Umgebung beobachtet, in der sich ein Lernobjekt befindet, Durchführen einer vorgegebenen Aktion (d.h., einer Ausgabe) in dem Ist-Zustand und Geben einer Belohnung für die Aktion, um dadurch eine Strategie (ein Einstellverhalten des Steuerbefehls wie zum Beispiel des Drehzahlbefehls, des Kraftbefehls und des Drehmomentbefehls des Manipulators in der Vorrichtung für maschinelles Lernen) zu finden, um die Gesamtheit der Belohnungen zu maximieren und dadurch die Strategie als optimale Lösung zu lernen. Zu Beispielen für das durch die Lerneinheit 110 durchgeführte Verfahren des bestärkenden Lernens zählt Q-Learning.
-
Beim Q-Learning durch die Lerneinheit 110 kann die Belohnung R so ermittelt werden, dass, wenn die Größe der Belastung, die ausgeübt wird, wenn der Manipulator in der Vorschubrichtung bewegt wird, zum Beispiel in einen vorgegebenen Belastungsbereich fällt, die Belohnung R als „gut“, das heißt, eine positive (Plus-)Belohnung R ermittelt wird, und wenn die Größe der Belastung die vorgegebene Belastung übersteigt, die Belohnung R als „schlecht“, das heißt, eine negative (Minus-) Belohnung R ermittelt wird. Alternativ kann die Belohnung R so ermittelt werden, dass zum Beispiel, wenn die Zeit (wie etwa die Zeit, die für einen Vorgang in Anspruch genommen wird, und die Zeit, die für eine Bewegung über eine vorgegebene Entfernung in Anspruch genommen wird), die in Anspruch genommen wird, um den Manipulator in der Vorschubrichtung zu bewegen, unter einen vorgegebenen Schwellenwert fällt, die Belohnung R als „gut“, das heißt, eine positive (Plus-)Belohnung R ermittelt wird, und wenn die Zeit den vorgegebenen Schwellenwert übersteigt, die Belohnung R als „schlecht“, das heißt, eine negative (Minus-)Belohnung R ermittelt wird. Der Wert der Belohnung R kann abhängig von dem Ausmaß der Belastung und der Länge der Zeit, die für den Vorgang in Anspruch genommen wird, geändert werden. Es ist zu beachten, dass, wenn eine Mehrzahl von Datenelementen als Ermittlungsbedingung in den Ermittlungsdaten D beinhaltet ist, eine Kombination der Mehrzahl von Datenelementen für die Ermittlung verwendet werden kann.
-
Die Lerneinheit 110 kann so konfiguriert sein, dass ein neuronales Netz als Wertfunktion Q (Lernmodell) verwendet wird, das annimmt, dass die Zustandsdaten S und eine Aktion a in das neuronale Netz eingegeben werden und ein Wert (Ergebnis y) der Aktion a in dem Zustand ausgegeben wird. Bei einer derartigen Konfiguration kann ein neuronales Netz mit drei Schichten: einer Eingabeschicht, einer Zwischenschicht und einer Ausgabeschicht als Lernmodell verwendet werden, jedoch kann ein sogenanntes Deep-Learning-Verfahren mithilfe eines neuronalen Netzes mit drei oder mehr Schichten dazu verwendet werden, ein effektiveres Lernen und Schlussfolgern durchzuführen.
-
Das durch die Lerneinheit 110 erzeugte Lernmodell wird in der Lernmodell-Speichereinheit 130 gespeichert, die in dem nichtflüchtigen Speicher 104 vorgesehen ist, und wird für einen Schätzprozess des Einstellverhaltens des Steuerbefehls des Manipulators des Industrieroboters 2 durch die Entscheidungsfindungseinheit 120 verwendet.
-
Es ist zu beachten, dass es sich bei der Lerneinheit 110 um einen wesentlichen Bestandteil in der Lernphase handelt, sie jedoch nicht unbedingt ein wesentlicher Bestandteil ist, nachdem das Lernen des Einstellverhaltens des Steuerbefehls des Manipulators des Industrieroboters 2 durch die Lerneinheit 110 abgeschlossen ist. Wenn die Vorrichtung 100 für maschinelles Lernen, in der das Lernen abgeschlossen worden ist, zum Beispiel an einen Kunden ausgeliefert wird, kann die Lerneinheit 110 vor der Auslieferung entfernt werden.
-
Auf Grundlage der von der Vorverarbeitungseinheit 36 eingegebenen Zustandsdaten S und mithilfe des in der Lernmodell-Speichereinheit 130 gespeicherten Lernmodells berechnet die Entscheidungsfindungseinheit 120 eine optimale Lösung für das Einstellverhalten des Steuerbefehls in Bezug auf die Vorschubrichtung des Manipulators des Industrieroboters 2 und gibt das berechnete Einstellverhalten des Steuerbefehls in Bezug auf die Vorschubrichtung des Manipulators des Industrieroboters 2 aus. Die Entscheidungsfindungseinheit 120 kann die Belohnung für einen Fall, in dem die Aktion in dem Ist-Zustand durchgeführt wird, durch Eingeben der Zustandsdaten S (wie zum Beispiel der Kraftzustandsdaten S1 und der Steuerbefehls-Einstelldaten S2), die von der Vorverarbeitungseinheit 36 eingegeben werden, und des Einstellverhaltens (wie zum Beispiel der Einstellung von Befehlswerten für Drehzahl, Kraft und Drehmoment) des Steuerbefehls des Manipulators des Industrieroboters 2 als Eingabedaten in das durch bestärkendes Lernen durch die Lerneinheit 110 erzeugte Lernmodell berechnen (Parameter werden ermittelt). In diesem Fall wird die Belohnungsberechnung an einer Mehrzahl von aktuell verfügbaren Einstellverhalten des Steuerbefehls des Manipulators des Industrieroboters 2 durchgeführt. Durch Vergleichen der Mehrzahl von berechneten Belohnungen wird anschließend das Einstellverhalten des Steuerbefehls des Manipulators des Industrieroboters 2, das die größte Belohnung aufweist, als optimale Lösung geschätzt. Die durch die Entscheidungsfindungseinheit 120 geschätzte optimale Lösung für das Einstellverhalten des Steuerbefehls des Manipulators des Industrieroboters 2 kann nicht nur in die Steuereinheit 32 zur Verwendung beim Einstellen des Steuerbefehls des Manipulators des Industrieroboters 2 eingegeben werden, sondern kann darüber hinaus zum Beispiel zum Anzeigen an die Anzeigevorrichtung 70 ausgegeben werden und kann über ein drahtgebundenes/drahtloses Netzwerk zum Übertragen an einen Host-Computer, einen Cloud-Computer und sonstige Computer ausgegeben werden.
-
Die Steuereinrichtung 1 mit der oben genannten Konfiguration kann die Steuerung eines Vorschubs des Manipulators durch eine geeignete Drehzahleinstellung und Krafteinstellung automatisch einstellen, während die Kraft und das Moment, die in der Vorschubrichtung des Manipulators ausgeübt werden, bei verschiedenen mithilfe des Industrieroboters 2 durchgeführten Vorgängen erkannt werden.
-
3 bis 5 stellen ein Beispiel für einen Vorgang dar, der durch Steuern des Industrieroboters 2 mithilfe der Steuereinrichtung 1 durchgeführt wird.
-
3 stellt ein Beispiel für einen Vorgang dar, bei dem die Steuereinrichtung 1 den Industrieroboter 2 so steuert, dass die an dem Industrieroboter 2 angebrachte Hand 80 veranlasst wird, ein Teil 81 zu greifen und das Teil 81 an eine vorgegebene Position eines weiteren Teils 82 zu passen.
-
In einem solchen Beispiel erfasst die Datenerfassungseinheit 34 eine Kraft in jeder axialen Richtung (der Richtung der x-Achse, der Richtung der y-Achse und der Richtung der z-Achse), die auf die Hand 80 des Industrieroboters 2 ausgeübt wird, und ein Moment um jede Achse, und anschließend erzeugt die Vorverarbeitungseinheit 36 auf Grundlage der Kraft und des Moments die Kraftzustandsdaten S1. Im Gegensatz dazu wird als Einstellverhalten des Steuerbefehls, das in der Vorschubrichtung (der Passrichtung des Teils 81) der Hand 80 angewendet wird, der Kraftbefehl und/oder der Drehzahlbefehl in der Vorschubrichtung eingestellt. Infolgedessen wird angenommen, dass die Belastungsermittlungsdaten D1 angeben, ob die resultierende Kraft der auf die Hand 80 ausgeübten Belastung in jeder axialen Richtung gleich wie oder kleiner als ein vorgegebener Schwellenwert ist, und es wird angenommen, dass die Betriebszeit-Ermittlungsdaten D2 angeben, ob die Zeit, die zum Bewegen in der Passrichtung in Anspruch genommen wird (die Zeit, die zum Bewegen über eine vorgegebene Entfernung in Anspruch genommen wird) gleich wie oder kleiner als ein vorgegebener Schwellenwert ist.
-
Es ist zu beachten, dass das Einstellverhalten des Steuerbefehls der Hand 80 ferner ein Einstellverhalten (wie zum Beispiel eine Feineinstellung einer Neigung des Teils und eine Feineinstellung der Position in der vertikalen Richtung relativ zu der Passrichtung des Teils) der Hand 80 in einer anderen Richtung als der Vorschubrichtung beinhalten kann. Während des Durchführens eines solchen Einstellverhaltens lernt die Lerneinheit 110 ein geeignetes Einstellverhalten im Hinblick auf die in dem Passvorgang auf die Hand 80 ausgeübte Kraft in jeder axialen Richtung und das Moment um jede Achse. Entsprechend dem durch die Entscheidungsfindungseinheit 120 auf Grundlage des Lernergebnisses ermittelten Einstellverhalten kann die Steuereinheit 32 eine geeignete Steuerung an dem Industrieroboter 2 durchführen.
-
4 stellt ein Beispiel für einen Vorgang dar, bei dem die Steuereinrichtung 1 den Industrieroboter 2 so steuert, dass die an dem Industrieroboter 2 angebrachte Hand 80 veranlasst wird, ein Zahnrad 83 zu greifen, und während die Phase des Zahnrads 83 auf ein weiteres Zahnrad 84 eingestellt wird, die Zahnräder 83 und 84 montiert werden.
-
In einem solchen Beispiel erfasst die Datenerfassungseinheit 34 eine auf die Hand 80 des Industrieroboters 2 ausgeübte Kraft in der Vorschubrichtung und ein Moment um die Achse des Zahnrads 83, und anschließend erzeugt die Vorverarbeitungseinheit 36 die Kraftzustandsdaten S1 auf Grundlage der Kraft und des Moments. Im Gegensatz dazu wird als Einstellverhalten des Steuerbefehls, das in der Vorschubrichtung der Hand 80 angewendet wird, der Kraftbefehl in der Vorschubrichtung eingestellt. Infolgedessen wird angenommen, dass die Belastungsermittlungsdaten D1 angeben, ob die auf die Hand 80 ausgeübte Belastung in der Vorschubrichtung gleich wie oder kleiner als ein vorgegebener Schwellenwert ist und ob die Belastung um die Achse des Zahnrads 83 gleich wie oder kleiner als ein vorgegebener Schwellenwert ist, und es wird angenommen, dass die Betriebszeit-Ermittlungsdaten D2 angeben, ob die Zeit, die zum Bewegen der Hand 80 in der Vorschubrichtung in Anspruch genommen wird (die Zeit, die zum Bewegen über eine vorgegebene Entfernung in Anspruch genommen wird) gleich wie oder kleiner als ein vorgegebener Schwellenwert ist. Es ist zu beachten, dass das Einstellverhalten des Steuerbefehls der Hand 80 ferner ein Einstellverhalten eines Winkelgeschwindigkeitsbefehls um die Achse des Zahnrads 83 und den Drehzahlbefehl beinhalten kann. Während des Durchführens eines solchen Einstellverhaltens lernt die Lerneinheit 110 ein geeignetes Einstellverhalten im Hinblick auf die in dem Zahnradmontagevorgang auf die Hand 80 ausgeübte Kraft in der Vorschubrichtung und das Moment um die Achse des Zahnrads 83. Entsprechend dem durch die Entscheidungsfindungseinheit 120 auf Grundlage des Lernergebnisses ermittelten Einstellverhalten kann die Steuereinheit 32 eine geeignete Steuerung an dem Industrieroboter 2 durchführen.
-
5 stellt ein Beispiel für einen Vorgang dar, bei dem die Steuereinrichtung 1 den Industrieroboter 2 so steuert, dass ein an dem Industrieroboter 2 angebrachtes Polierwerkzeug 85 veranlasst wird, ein Werkstück 86 zu entgraten oder zu polieren. In einem solchen Beispiel erfasst die Datenerfassungseinheit 34 eine auf das an dem Industrieroboter 2 angebrachte Polierwerkzeug 85 ausgeübte Kraft in der Vorschubrichtung und eine Kraft in einer Druckrichtung des Polierwerkzeugs 85 gegen das Werkstück 86, und anschließend erzeugt die Vorverarbeitungseinheit 36 die Kraftzustandsdaten S1 auf Grundlage dieser Kräfte. Im Gegensatz dazu wird als Einstellverhalten des Steuerbefehls, das in der Vorschubrichtung des Polierwerkzeugs 85 angewendet wird, der Drehzahlbefehl in der Vorschubrichtung eingestellt. Infolgedessen wird angenommen, dass die Belastungsermittlungsdaten D1 angeben, ob die auf das Polierwerkzeug 85 ausgeübte Belastung in der Vorschubrichtung gleich wie oder kleiner als ein vorgegebener Schwellenwert ist und ob die Belastung in der Druckrichtung gegen das Werkstück 86 in einen vorgegebenen Bereich (gleich wie oder größer als ein erster Schwellenwert und gleich wie oder kleiner als ein zweiter Schwellenwert) fällt, und es wird angenommen, dass die Betriebszeit-Ermittlungsdaten D2 angeben, ob die Zeit, die zum Bewegen des Polierwerkzeugs 85 in der Vorschubrichtung in Anspruch genommen wird (die Zeit, die zum Bewegen über eine vorgegebene Entfernung in Anspruch genommen wird) gleich wie oder kleiner als ein vorgegebener Schwellenwert ist. Es ist zu beachten, dass das Einstellverhalten des Steuerbefehls des Polierwerkzeugs 85 ferner ein Einstellverhalten des Kraftbefehls in der Druckrichtung gegen das Werkstück 86 beinhalten kann.
-
Während des Durchführens eines solchen Einstellverhaltens lernt die Lerneinheit 110 ein geeignetes Einstellverhalten im Hinblick auf die in den Vorgängen des Entgratens und des Polierens auf das Polierwerkzeug 85 ausgeübte Kraft in der Vorschubrichtung und die Kraft in der Druckrichtung gegen das Werkstück 86. Entsprechend dem durch die Entscheidungsfindungseinheit 120 auf Grundlage des Lernergebnisses ermittelten Einstellverhalten kann die Steuereinheit 32 eine geeignete Steuerung an dem Industrieroboter 2 durchführen.
-
Die folgende Beschreibung legt den Schwerpunkt auf ein zweites bis viertes Beispiel, bei denen die oben genannte Steuereinrichtung 1 gemäß des ersten Beispiels als Teil eines Systems implementiert ist, in dem eine Mehrzahl von Vorrichtungen, darunter ein Cloud-Server, ein Host-Computer, Fog-Computer und Edge-Computer (wie zum Beispiel eine Robotersteuereinrichtung und die Steuereinrichtung), über ein drahtgebundenes/drahtloses Netzwerk miteinander verbunden ist.
-
Wie in 6 dargestellt, wird in den folgenden zweiten bis vierten Beispielen ein System angenommen, in dem eine Mehrzahl von Vorrichtungen in einem Zustand, in dem jede der Mehrzahl von Vorrichtungen mit einem Netzwerk verbunden ist, logisch in drei Schichten unterteilt ist: eine Schicht, die einen Cloud-Server 6 und dergleichen enthält, eine Schicht, die einen Fog-Computer 7 und dergleichen enthält, und eine Schicht, die einen Edge-Computer 8 (wie zum Beispiel eine Robotersteuereinrichtung und die Steuereinrichtung, die in einer Zelle 9 beinhaltet sind) enthält.
-
In einem solchen System kann die Steuereinrichtung 1 gemäß eines Beispiels auf einem beliebigen des Cloud-Servers 6, des Fog-Computers 7 und des Edge-Computers 8 so implementiert sein, dass Daten zur Verwendung bei maschinellem Lernen von der Mehrzahl von Vorrichtungen über das Netzwerk für verteiltes Lernen gemeinsam genutzt werden können, kann das erzeugte Lernmodell für eine umfangreiche Analyse in dem Fog-Computer 7 und dem Cloud-Server 6 erfasst werden und kann ferner das erzeugte Lernmodell gemeinsam wiederverwendet werden.
-
In dem in 6 dargestellten System wird eine Mehrzahl von Zellen 9 in einer Fabrikationsstätte an verschiedenen Stellen vorgesehen, und ein Fog-Computer 7, der sich in der oberen Schicht befindet, verwaltet jede Zelle 9 in einer vorgegebenen Einheit (wie zum Beispiel in Einheiten von Fabrikationsstätten und in Einheiten einer Mehrzahl von Fabrikationsstätten desselben Herstellers). Die durch diese Fog-Computer 7 erfassten und analysierten Daten werden durch den Cloud-Server 6 in der oberen Schicht weiter erfasst und analysiert, und die als Ergebnis gewonnenen Informationen können zur Steuerung und dergleichen durch jeden Edge-Computer 8 verwendet werden.
-
7 ist eine schematische graphische Darstellung einer Hardware-Konfiguration, in der die Steuereinrichtung auf einem Computer wie zum Beispiel dem Cloud-Server und dem Fog-Computer implementiert ist.
-
Eine in der auf dem Computer implementierten Steuereinrichtung 1' vorgesehene CPU 311 ist ein Prozessor, der die gesamte Steuereinrichtung 1' steuert. Die CPU 311 liest ein in einem ROM 312 gespeichertes Systemprogramm über einen Bus 320 und steuert die gesamte Steuereinrichtung 1' entsprechend dem Systemprogramm. Ein RAM 313 speichert vorübergehend temporäre Berechnungsdaten, Anzeigedaten und sonstige verschiedene Daten, die von dem Bediener durch eine (nicht dargestellte) Eingabeeinheit eingegeben werden.
-
Ein nichtflüchtiger Speicher 314 ist als Speicher konfiguriert, der zum Beispiel durch eine (nicht dargestellte) Batterie so gesichert ist, dass der Speicherzustand aufrechterhalten wird, selbst wenn die Steuereinrichtung 1' ausgeschaltet wird. Der nichtflüchtige Speicher 314 speichert durch eine Eingabevorrichtung 371 eingegebene Programme und verschiedene, von jeder Einheit der Steuereinrichtung 1' und von dem Industrieroboter 2' durch ein Netzwerk 5 erfasste Daten. Die Programme und die verschiedenen Daten, die in dem nichtflüchtigen Speicher 314 gespeichert sind, können in den RAM 313 geladen werden, wenn sie ausgeführt oder verwendet werden. Es ist zu beachten, dass verschiedene Systemprogramme wie zum Beispiel ein allgemein bekanntes Analyseprogramm (das ein Systemprogramm zum Steuern von Wechselwirkungen mit einer im Folgenden beschriebenen Vorrichtung 100 für maschinelles Lernen beinhaltet) vorläufig in den ROM 312 geschrieben werden.
-
Die Steuereinrichtung 1' ist durch eine Schnittstelle 319 mit einem drahtgebundenen/drahtlosen Netzwerk 5 verbunden. Mindestens ein Industrieroboter 2' (ein Industrieroboter mit der Steuereinrichtung), eine weitere Steuereinrichtung 1, ein Edge-Computer 8, ein Fog-Computer 7, ein Cloud-Server 6 und dergleichen sind mit dem Netzwerk 5 verbunden und tauschen gemeinsam Daten mit der Steuereinrichtung 1' aus.
-
Verschiedene in den Speicher gelesene Daten, als Ergebnis einer Ausführung von Programmen gewonnene Daten und dergleichen werden durch die Schnittstelle 317 ausgegeben und auf einer Anzeigevorrichtung 370 angezeigt. Ferner übergibt die Eingabevorrichtung 371, die eine Tastatur, eine Zeigevorrichtung und dergleichen beinhaltet, einen Befehl, Daten und dergleichen auf Grundlage der Bedienung durch einen Bediener durch eine Schnittstelle 318 an die CPU 311.
-
Bei einer Schnittstelle 321 handelt es sich um eine Schnittstelle zum Verbinden der Steuereinrichtung 1' und der Vorrichtung 100 für maschinelles Lernen. Die Vorrichtung 100 für maschinelles Lernen weist dieselbe Konfiguration wie die in 1 beschriebene auf.
-
Wenn die Steuereinrichtung 1' auf einem Computer wie zum Beispiel einem Cloud-Server und einem Fog-Computer implementiert ist, stimmen folglich die in der Steuereinrichtung 1' vorgesehenen Funktionen mit den in dem ersten Beispielbeschriebenen überein, mit der Ausnahme, dass die Erfassung von Informationen von dem Industrieroboter 2' und die Einstellung des Steuerbefehls des Manipulators im Hinblick auf den Industrieroboter 2' durch das Netzwerk 5 ausgetauscht werden. Da der Industrieroboter 2' die Steuereinrichtung aufweist, steuert dabei die in der Steuereinrichtung 1' vorgesehene Steuereinheit 32 (siehe 2) den Industrieroboter 2' nicht, sondern erfasst und steuert die Informationen in Bezug auf den Verarbeitungszustand des Industrieroboters 2' durch die in dem Industrieroboter 2' vorgesehene Steuereinrichtung.
-
8 ist eine schematische graphische Darstellung einer Konfiguration eines Steuersystems gemäß eines zweiten Beispiels mit einer Steuereinrichtung 1'.
-
Ein Steuersystem 500 des vorliegenden Beispiels weist eine Mehrzahl von Steuereinrichtungen 1 und 1', eine Mehrzahl von Industrierobotern 2' und das Netzwerk 5 auf, das diese Steuereinrichtungen 1 und 1' und die Industrieroboter 2' miteinander verbindet.
-
In diesem Steuersystem 500 schätzt die Steuereinrichtung 1', die die Vorrichtung 100 für maschinelles Lernen aufweist, die Einstellung des Steuerbefehls des Manipulators in dem Industrieroboter 2' mithilfe des Lernergebnisses der Lerneinheit 110. Ferner kann das Steuersystem 500 so konfiguriert sein, dass mindestens eine Steuereinrichtung 1' die Einstellung des Steuerbefehls des Manipulators in jedem der Industrieroboter 2 und 2', die allen Steuereinrichtungen 1 und 1' gemeinsam ist, auf Grundlage der durch jede der sonstigen Mehrzahl von Steuereinrichtungen 1 und 1' gewonnenen Zustandsvariablen S und Ermittlungsdaten D lernt und alle Steuereinrichtungen 1 und 1' die Lernergebnisse gemeinsam nutzen. Daher kann das Steuersystem 500 eine Lerngeschwindigkeit und eine Zuverlässigkeit mithilfe von mehr unterschiedlichen Datensätzen (einschließlich der Zustandsvariablen S und der Ermittlungsdaten D) als Eingabe verbessern.
-
9 ist eine schematische graphische Darstellung einer Konfiguration eines Systems gemäß eines dritten Beispiels, in dem die Vorrichtung für maschinelles Lernen und die Steuereinrichtung auf einer unterschiedlichen Vorrichtung implementiert sind.
-
Ein Steuersystem 500' des Beispiels weist mindestens eine Vorrichtung 100 für maschinelles Lernen (die in 9 als Beispiel dargestellt wird, das als Teil des Fog-Computers 7 implementiert ist), die als Teil eines Computers wie zum Beispiel eines Cloud-Servers, eines Host-Computers und eines Fog-Computers implementiert ist, eine Mehrzahl von Steuereinrichtungen 1" und das Netzwerk 5 auf, das diese Steuereinrichtungen 1" und den Computer miteinander verbindet. Es ist zu beachten, dass die Hardware-Konfiguration des Computers mit der schematischen Hardware-Konfiguration der in 7 dargestellten Steuereinrichtung 1' übereinstimmt, so dass die in einem Universalcomputer vorgesehenen Hardware-Bestandteile wie zum Beispiel die CPU 311, der RAM 313 und der nichtflüchtige Speicher 314 durch den Bus 320 verbunden sind.
-
In dem Steuersystem 500' mit der oben genannten Konfiguration lernt die Vorrichtung 100 für maschinelles Lernen auf Grundlage der von jeder der Mehrzahl von Steuereinrichtungen 1" gewonnenen Zustandsvariablen S und Ermittlungsdaten D die Einstellung des Steuerbefehls des Manipulators in dem Industrieroboter 2, die allen Steuereinrichtungen 1" gemeinsam ist, und kann anschließend mithilfe des Lernergebnisses die Einstellung des Steuerbefehls des Manipulators in jedem Industrieroboter 2 durchführen. Entsprechend der Konfiguration des Steuersystems 500' kann die notwendige Anzahl von Steuereinrichtungen 1" bei Bedarf unabhängig davon, wo und wann jede der Mehrzahl von Steuereinrichtungen 1" vorhanden ist, mit der Vorrichtung 100 für maschinelles Lernen verbunden werden.
-
10 ist eine schematische graphische Darstellung einer Konfiguration eines Steuersystems 500" mit einer Vorrichtung 100' für maschinelles Lernen und der Steuereinrichtung 1 gemäß eines vierten Beispiels.
-
Ein Steuersystem 500" des Beispiels weist mindestens eine Vorrichtung 100' für maschinelles Lernen (die in 10 als Beispiel dargestellt wird, das als Teil des Fog-Computers 7 implementiert ist), die auf einem Computer wie zum Beispiel einem Edge-Computer, einem Fog-Computer, einem Host-Computer und einem Cloud-Server implementiert ist, eine Mehrzahl von Steuereinrichtungen 1 und das drahtgebundene/drahtlose Netzwerk 5 auf, das diese Steuereinrichtungen 1 und den Computer miteinander verbindet.
-
In dem Steuersystem 500" mit der oben genannten Konfiguration erfasst der Fog-Computer 7, der die Vorrichtung 100' für maschinelles Lernen aufweist, das Lernmodell, das als Ergebnis des maschinellen Lernens durch die in der Steuereinrichtung 1 vorgesehene Vorrichtung 100 für maschinelles Lernen gewonnen wird, von jeder Steuereinrichtung 1. Anschließend optimiert oder verbessert die in dem Fog-Computer 7 vorgesehene Vorrichtung 100' für maschinelles Lernen das Wissen auf Grundlage dieser Mehrzahl von Lernmodellen, um dadurch ein neu optimiertes oder verbessertes Lernmodell zu erzeugen und anschließend das erzeugte Lernmodell an jede Steuereinrichtung 1 zu verteilen.
-
Zu Beispielen für ein Optimieren oder Verbessern des Lernmodells durch die Vorrichtung 100' für maschinelles Lernen zählt eine Erzeugung eines Destillationsmodells auf Grundlage einer Mehrzahl von von jeder Steuereinrichtung 1 gewonnenen Lernmodellen. Dabei erzeugt die Vorrichtung 100' für maschinelles Lernen des Beispiels in das Lernmodell einzugebende Eingabedaten. Anschließend erzeugt die Vorrichtung 100' für maschinelles Lernen mithilfe einer Ausgabe, die durch Eingeben der Eingabedaten in jedes Lernmodell als Ergebnis gewonnen wird, ein neues Lernmodell (Destillationsmodell) durch ein Lernen von Grund auf. Das auf diese Weise erzeugte Destillationsmodell wird durch ein externes Speichermedium oder das Netzwerk 5, wie oben beschrieben, an die Steuereinrichtung 1 und sonstige Computer verteilt und durch diese verwendet.
-
Ein weiteres Beispiel für ein Optimieren oder Verbessern des Lernmodells durch die Vorrichtung 100' für maschinelles Lernen kann so in Betracht gezogen werden, dass in dem Prozess eines Durchführens einer Destillation an einer Mehrzahl von von jeder Steuereinrichtung 1 erfassten Lernmodellen eine Verteilung von Ausgabedaten jedes Lernmodells im Hinblick auf Eingabedaten durch ein allgemeines statistisches Verfahren (wie zum Beispiel einen Ausreißertest) analysiert wird, um einen Ausreißer eines Satzes von Eingabedaten und Ausgabedaten zu extrahieren und eine Destillation mithilfe des Satzes von Eingabedaten und Ausgabedaten durchzuführen, aus dem die Ausreißer ausgeschlossen sind. Durch Durchlaufen eines solchen Prozesses werden ungewöhnliche Schätzergebnisse aus dem Satz von Eingabedaten und der Ausgabedaten, die von jedem Lernmodell gewonnen werden, ausgeschlossen, und mithilfe des Satzes von Eingabedaten und der Ausgabedaten, aus dem die ungewöhnlichen Schätzergebnisse ausgeschlossen worden sind, kann das Destillationsmodell erzeugt werden. Das auf diese Weise erzeugte Destillationsmodell kann als vielseitigeres Lernmodell als das durch eine Mehrzahl von Steuereinrichtungen 1 erzeugte Lernmodell verwendet werden.
-
Es ist zu beachten, dass sonstige allgemeine Verfahren zum Optimieren oder Verbessern des Lernmodells (wie zum Beispiel ein Verfahren zum Analysieren jedes Lernmodells und Optimieren von Hyperparametern des Lernmodells auf Grundlage des Analyseergebnisses) nach Bedarf eingebracht werden können.
-
Ein Beispiel für einen Betrieb des Steuersystems 500" kann dergestalt sein, dass die Vorrichtung 100' für maschinelles Lernen an dem Fog-Computer 7 angeordnet ist, der für eine Mehrzahl von Steuereinrichtungen 1 als Edge-Computer installiert ist, das durch jede Steuereinrichtung 1 erzeugte Lernmodell durch den Fog-Computer 7 erfasst und in diesem gespeichert wird, eine Optimierung oder Verbesserung auf Grundlage einer Mehrzahl von gespeicherten Lernmodellen durchgeführt wird und anschließend das optimierte oder verbesserte Lernmodell nach Bedarf neu an jede Steuereinrichtung 1 verteilt wird.
-
Ein weiteres Beispiel für einen Betrieb des Steuersystems 500" kann dergestalt sein, dass die durch den Fog-Computer 7 erfassten und in diesem gespeicherten Lernmodelle und die durch den Fog-Computer 7 optimierten oder verbesserten Lernmodelle durch einen höherrangigen Host-Computer oder Cloud-Server erfasst werden und diese Lernmodelle für eine Anwendung auf intelligente Arbeit in einer Fabrikationsstätte oder bei dem Hersteller der Steuereinrichtung 1 (wie zum Beispiel Erstellung und Neuverteilung eines weiteren vielseitigen Lernmodells in einem höheren Server, Unterstützung von Wartungsarbeit auf Grundlage der Analyseergebnisse der Lernmodelle, Analyse der Leistungsfähigkeit und dergleichen jeder Steuereinrichtung 1 und eine Anwendung auf eine Entwicklung einer neuen Maschine und dergleichen) verwendet werden.
-
Die obigen Beispiele sind so beschrieben worden, dass die Steuereinrichtung 1 und die Vorrichtung 100 für maschinelles Lernen eine unterschiedliche CPU (Prozessor) aufweisen. Die Vorrichtung 100 für maschinelles Lernen kann jedoch auch durch die in der Steuereinrichtung 1 vorgesehene CPU 11 und das in dem ROM 12 gespeicherte Systemprogramm implementiert werden.