-
VERWANDTE ANMELDUNGEN
-
Die vorliegende Anmeldung beansprucht die Priorität der offengelegten
Japanischen Patentanmeldung Nr. 2018-053409 , eingereicht am 20. März 2018, und der offengelegten
Japanischen Patentanmeldung Nr. 2019-001285 , eingereicht am 8. Januar 2019, deren Offenbarungen hiermit durch Bezugnahme hierin in ihrer Gesamtheit mit aufgenommen werden.
-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine Steuerung, eine maschinelle Lernvorrichtung und ein System, und insbesondere eine Steuerung, eine maschinelle Lernvorrichtung und ein System, das die Schleifqualität optimiert.
-
Beschreibung des Standes der Technik
-
Wenn ein Roboter einen Schleifvorgang an einem Maschinenbauteil oder dergleichen durchführt, hängt herkömmlicherweise der Vorgang des Bestätigens der Schleifqualität im Allgemeinen von der visuellen Beobachtung einer Person ab. Um die Schleifqualität zu verbessern, ist es außerdem notwendig, ein Testschleifen wiederholt unter Verändern verschiedener Bedingungen, wie z.B. der Aktionsgeschwindigkeit des Roboters, der Presskraft, der Anzahl der Umdrehungen und des Drehmoments eines Schleifwerkzeugs durchzuführen.
-
Die offengelegte
Japanische Patentanmeldung Nr. 07-246552 beschreibt einen Entgratungsroboter, der abwechselnd den Messvorgang der Messung einer verbleibenden Grathöhe mit einem Sensor und einen Schleifvorgang durchführt. Die offengelegte
Japanische Patentanmeldung Nr. 05-196444 beschreibt ein Verfahren, bei dem ein Prüfroboter Defekte in einem Oberflächenzustand eines Werkstücks unter Verwendung einer Bildgebungseinheit überwacht.
-
Um die gewünschte Schleifqualität durch manuelles Ausprobieren zu erreichen, ist es notwendig, sich viel Mühe zu geben und Zeit zu nehmen. In diesem Zusammenhang offenbart weder die offengelegte
Japanische Patentanmeldung Nr. 07-246552 noch die offengelegte
Japanische Patentanmeldung Nr. 05-196444 eine spezifische technologische Einheit zur automatischen Optimierung der Schleifqualität.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Im Hinblick auf die oben genannten Umstände wurde der Wunsch geäußert, eine Steuerung, eine maschinelle Lernvorrichtung und ein System bereitzustellen, die die Schleifqualität optimieren.
-
Eine Steuerung gemäß einer Betriebsart der vorliegenden Erfindung steuert einen Roboter, der das Schleifen an einem Werkstück durchführt. Die Steuerung umfasst eine maschinelle Lernvorrichtung, die die Schleifbedingungen für die Durchführung des Schleifens erlernt. Die maschinelle Lernvorrichtung umfasst einen Zustandsbeobachtungsabschnitt, der als Zustandsvariablen, die einen aktuellen Zustand einer Umgebung ausdrücken, ein Merkmal eines Oberflächenzustandes des Werkstücks nach dem Schleifen und die Schleifbedingungen beobachtet, einen Bestimmungsdaten-Erfassungsabschnitt, der Bestimmungsdaten erfasst, die ein Bewertungsergebnis des Oberflächenzustandes des Werkstücks nach dem Schleifen anzeigen, und einen Lernabschnitt, der das Merkmal des Oberflächenzustandes des Werkstücks nach dem Schleifen und die Schleifbedingungen in Zuordnung zueinander unter Verwendung der Zustandsvariablen und der Bestimmungsdaten erlernt.
-
Die Schleifbedingungen unter den Zustandsvariablen können mindestens eines von der Drehzahl eines Schleifwerkzeugs, des Drehmoments des Schleifwerkzeugs, der Presskraft des Schleifwerkzeugs und der Aktionsgeschwindigkeit des Roboters umfassen, und die Bestimmungsdaten können mindestens eines von der Dichte D1 von Streifen auf der Oberfläche des Werkstücks nach dem Schleifen, der Glätte D2 der Streifen und einem Abstand D3 zwischen den Streifen umfassen.
-
Der Lernabschnitt kann einen Belohnungsberechnungsabschnitt aufweisen, der eine dem Bewertungsergebnis zugeordnete Belohnung berechnet, und einen Wertfunktions-Aktualisierungsabschnitt aufweisen, der unter Verwendung der Belohnung eine Funktion aktualisiert, die einen Wert der Schleifbedingungen in Bezug auf das Merkmal des Oberflächenzustandes des Werkstücks nach dem Schleifen ausdrückt.
-
Der Lernabschnitt kann einen Fehlerberechnungsabschnitt aufweisen, der einen Fehler zwischen einem Korrelationsmodell zum Ableiten der Schleifbedingungen für die Durchführung des Schleifens aus den Zustandsvariablen und den Bestimmungsdaten und einem aus vorher erstellten Lehrerdaten identifizierten Korrelationsmerkmal berechnet, und einen Modellaktualisierungsabschnitt aufweisen, der das Korrelationsmodell aktualisiert, um den Fehler zu reduzieren.
-
Die Steuerung kann ferner einen Entscheidungsabschnitt umfassen, der einen Sollwert basierend auf den Schleifbedingungen auf der Grundlage eines Lernergebnisses des Lernabschnitts ausgibt.
-
Der Lernabschnitt kann die Schleifbedingungen unter Verwendung der Zustandsvariablen und der von einer Mehrzahl der Roboter erhaltenen Bestimmungsdaten erlernen.
-
Die maschinelle Lernvorrichtung kann durch eine Umgebung aus Cloud-Computing, Fog-Computing oder Edge-Computing realisiert werden.
-
Eine maschinelle Lernvorrichtung gemäß einer Betriebsart der vorliegenden Erfindung erlernt Schleifbedingungen zum Ausführen des Schleifens eines Werkstücks durch einen Roboter. Die maschinelle Lernvorrichtung umfasst: einen Zustandsbeobachtungsabschnitt, der als Zustandsvariablen, die einen aktuellen Zustand einer Umgebung ausdrücken, ein Merkmal eines Oberflächenzustandes des Werkstücks nach dem Schleifen und die Schleifbedingungen beobachtet; einen Bestimmungsdaten-Erfassungsabschnitt, der Bestimmungsdaten erfasst, die ein Bewertungsergebnis des Oberflächenzustandes des Werkstücks nach dem Schleifen anzeigen; und einen Lernabschnitt, der das Merkmal des Oberflächenzustandes des Werkstücks nach dem Schleifen und die Schleifbedingungen in Zuordnung zueinander unter Verwendung der Zustandsvariablen und der Bestimmungsdaten erlernt.
-
Ein System gemäß einer Betriebsart der vorliegenden Erfindung ist ein System, in dem eine Mehrzahl von Vorrichtungen über ein Netzwerk miteinander verbunden ist. Die Mehrzahl von Vorrichtungen weist die Steuerung gemäß der vorstehend beschriebenen Betriebsart auf.
-
In dem System kann die Mehrzahl von Vorrichtungen einen Computer mit einer maschinellen Lernvorrichtung aufweisen, der Computer kann mindestens ein durch Lernen des Lernabschnitts der Steuerung erzeugtes Lernmodell erfassen, und die maschinelle Lernvorrichtung des Computers kann auf der Grundlage des erfassten Lernmodells eine Optimierung durchführen oder die Effizienz verbessern.
-
In dem System kann die Mehrzahl von Vorrichtungen einen von dem ersten Roboter unterschiedlichen zweiten Roboter aufweisen, und ein Lernergebnis des Lernabschnitts der Steuerung des ersten Roboters kann mit dem zweiten Roboter geteilt werden.
-
In dem System kann die Mehrzahl von Vorrichtungen einen von dem ersten Roboter unterschiedlichen zweiten Roboter aufweisen, und von dem zweiten Roboter beobachtete Daten können für das Lernen durch den Lernabschnitt der Steuerung des ersten Roboters über das Netzwerk verfügbar sein.
-
Gemäß der vorliegenden Erfindung ist es möglich, eine Steuerung und eine maschinelle Lernvorrichtung bereitzustellen, die die Schleifqualität optimieren.
-
Figurenliste
-
- 1 ist ein Hardware-Konfigurationsdiagramm einer Steuerung gemäß einer Ausführungsform der vorliegenden Erfindung;
- 2 ist ein Funktionsblockdiagramm der Steuerung von 1;
- 3 ist ein Funktionsblockdiagramm, das eine erste Betriebsart der Steuerung von 2 darstellt;
- 4 ist ein schematisches Flussdiagramm, das eine Betriebsart eines maschinellen Lernverfahrens zeigt, das von einem Lernabschnitt in einer maschinellen Lernvorrichtung von 3 durchgeführt wird;
- 5A ist ein Diagramm zur Beschreibung eines Neurons;
- 5B ist ein Diagramm zur Beschreibung eines neuronalen Netzwerks, das durch Kombinieren der Neuronen von 5A miteinander konfiguriert ist;
- 6 ist ein Funktionsblockdiagramm einer Steuerung gemäß einer zweiten Ausführungsform der vorliegenden Erfindung;
- 7 ist ein Diagramm, das eine erste Betriebsart eines Systems mit einer dreistufigen Hierarchie-Struktur darstellt, die einen Cloud-Server, Fog-Computer und Edge-Computer umfasst;
- 8 ist ein Funktionsblockdiagramm, das eine zweite Betriebsart des Systems zeigt, in dem die Steuerungen von 2 integriert sind;
- 9 ist ein Funktionsblockdiagramm, das eine dritte Betriebsart des Systems mit einer Mehrzahl von Robotern darstellt;
- 10 ist ein Funktionsblockdiagramm, das eine vierte Betriebsart des Systems zeigt, in dem die Steuerungen von 2 integriert sind;
- 11 ist ein schematisches Hardware-Konfigurationsdiagramm eines in 10 gezeigten Computers;
- 12 ist ein Funktionsblockdiagramm, das eine weitere Betriebsart des Systems zeigt, in dem die Steuerungen integriert sind;
- 13 ist eine schematische Ansicht eines Roboters, der das Schleifen durchführt;
- 14 ist eine schematische Ansicht des Roboters, der das Schleifen durchführt;
- 15 ist ein Diagramm, das ein Beispiel für einen Oberflächenzustand eines Werkstücks darstellt; und
- 16 ist ein Funktionsblockdiagramm, das eine zweite Betriebsart der Steuerung von 2 darstellt.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
1 ist ein schematisches Hardware-Konfigurationsdiagramm, das eine Steuerung 1 gemäß einer Ausführungsform der vorliegenden Erfindung und der wesentlichen Teile eines von der Steuerung 1 gesteuerten Industrieroboters zeigt. Die Steuerung 1 ist eine Steuerung, die beispielsweise einen Industrieroboter (nachfolgend einfach als Roboter bezeichnet) steuert, der das Schleifen durchführt. Die Steuerung 1 umfasst eine CPU 11, einen ROM 12, einen RAM 13, einen nichtflüchtigen Speicher 14, eine Schnittstelle 18, eine Schnittstelle 19, eine Schnittstelle 21, eine Schnittstelle 22, einen Bus 20, einen Achssteuerkreis 30 und einen Servoverstärker 40. Ein Servomotor 50, ein Programmierhandgerät 60, ein Schleifwerkzeug 70 und eine Bildgebungsvorrichtung 80 sind mit der Steuerung 1 verbunden.
-
Die CPU 11 ist ein Prozessor, der die Steuerung 1 vollständig steuert. Die CPU 11 liest über die Schnittstelle 22 und den Bus 20 ein im ROM 12 gespeichertes Systemprogramm und steuert die gesamte Steuerung 1 gemäß dem Systemprogramm.
-
Der ROM 12 speichert im Voraus ein Systemprogramm zur Durchführung der verschiedenen Steuerungen oder dergleichen des Roboters (das Systemprogramm mit einem Systemprogramm zur Steuerung des Informationsaustauschs mit einer später beschriebenen maschinellen Lernvorrichtung 100).
-
Der RAM 13 speichert temporäre Berechnungsdaten oder Anzeigedaten, von einem Bediener über das später beschriebene Programmierhandgerät 60 eingegebene Daten, oder dergleichen.
-
Der nichtflüchtige Speicher 14 wird beispielsweise durch eine Batterie (nicht gezeigt) gesichert und behält seinen Speicherzustand auch bei ausgeschalteter Steuerung 1. Der nichtflüchtige Speicher 14 speichert von dem Programmierhandgerät 60 eingegebene Daten, ein über eine Schnittstelle (nicht gezeigt) eingegebenes Programm oder Daten zum Steuern des Roboters, oder dergleichen. Das Programm oder die Daten, die in dem nichtflüchtigen Speicher 14 gespeichert sind, können bei Ausführung/Benutzung in den RAM 13 übertragen werden.
-
Der Achssteuerkreis 30 steuert die Achse eines Gelenks oder dergleichen eines Armes des Roboters. Der Achssteuerkreis 30 empfängt einen von der CPU 11 ausgegebenen Achsbewegungsbefehl und gibt einen Befehl zum Bewegen der Achse an den Servoverstärker 40 aus.
-
Der Servoverstärker 40 empfängt den von dem Achssteuerkreis 30 ausgegebenen Befehl zum Bewegen der Achse und steuert den Servomotor 50 an.
-
Der Servomotor 50 wird von dem Servoverstärker 40 angesteuert, um die Achse des Roboters zu bewegen. Der Servomotor 50 umfasst typischerweise einen Positions- und Drehzahldetektor. Der Positions- und Drehzahldetektor gibt ein Positions- und Drehzahl-Rückmeldesignal aus. Das Signal wird an den Achssteuerkreis 30 zurückgeführt, um die Regelung einer Position und einer Drehzahl durchzuführen.
-
Es ist zu beachten, dass obwohl der Achssteuerkreis 30, der Servoverstärker 40 und der Servomotor 50 in 1 nur einfach dargestellt sind, sie tatsächlich aber entsprechend der Anzahl an Achsen eines zu steuernden Roboters vorgesehen sind. Wenn beispielsweise ein Roboter mit sechs Achsen gesteuert wird, werden insgesamt sechs Sätze von Achssteuerkreisen 30, Servoverstärkern 40 und Servomotoren 50 entsprechend den jeweiligen Achsen vorgesehen.
-
Das Programmierhandgerät 60 ist eine manuelle Dateneingabevorrichtung mit einer Anzeige, einem Ziehpunkt, einem Hardware-Schlüssel oder dergleichen. Das Programmierhandgerät 60 zeigt Information, die von der CPU 11 über die Schnittstelle 18 empfangen wird, auf seinem Bildschirm an. Das Programmierhandgerät 60 überträgt einen Impuls, einen Befehl, Daten oder dergleichen von dem Ziehpunkt, dem Hardware-Schlüssel oder dergleichen über die Schnittstelle 18 an die CPU 11.
-
Das Schleifwerkzeug 70 wird am Spitzenende des Armes des Roboters gehalten und schleift ein zu schleifendes Objekt (Werkstück) mit einem rotierenden Schleifstein. Das Schleifwerkzeug 70 führt das Schleifen mit einer Drehzahl, einem Drehmoment und einer Presskraft basierend auf einem von der CPU 11 über die Schnittstelle 19 empfangenen Befehl aus.
-
Die Bildgebungsvorrichtung 80 ist eine Vorrichtung zum Aufnehmen eines Oberflächenzustandes des Werkstücks und ist beispielsweise ein Visionssensor. Die Bildgebungsvorrichtung 80 nimmt den Oberflächenzustand des Werkstücks gemäß einem Befehl auf, der von der CPU 11 über die Schnittstelle 22 empfangen wird.
-
Die Bildgebungsvorrichtung 80 überträgt die Daten des aufgenommenen Bildes über die Schnittstelle 22 an die CPU 11.
-
Die Schnittstelle 21 ist eine Schnittstelle zum Verbinden der Steuerung 1 und der maschinellen Lernvorrichtung 100 miteinander. Die maschinelle Lernvorrichtung 100 umfasst einen Prozessor 101, einen ROM 102, einen RAM 103 und einen nichtflüchtigen Speicher 104.
-
Der Prozessor 101 der maschinellen Lernvorrichtung 100 steuert die gesamte maschinelle Lernvorrichtung 100. Der ROM 102 speichert ein Systemprogramm oder dergleichen. Der RAM 103 speichert temporär Daten in der jeweiligen Verarbeitung in Zuordnung zu dem maschinellen Lernen. Der nichtflüchtige Speicher 104 speichert ein Lernmodell oder dergleichen.
-
Die maschinelle Lernvorrichtung 100 beobachtet unterschiedliche Information (wie die Drehzahl, das Drehmoment und die Presskraft des Schleifwerkzeugs 70, die Aktionsgeschwindigkeit des Roboterarms und die Daten eines von der Bildgebungsvorrichtung 80 aufgenommenen Bildes), die von der Steuerung 1 über die Schnittstelle 21 erfasst werden kann. Die maschinelle Lernvorrichtung 100 gibt über die Schnittstelle 21 einen Befehl zum Steuern des Servomotors 50 oder des Schleifwerkzeugs 70 an die Steuerung 1 aus. Die Steuerung 1 empfängt den Befehl von der maschinellen Lernvorrichtung 100 und führt die Korrektur eines Befehls zur Steuerung des Roboters oder dergleichen durch.
-
13 und 14 sind schematische Ansichten, die ein Beispiel für einen von der Steuerung 1 gesteuerten Roboter 90 zeigen.
-
Der in 13 dargestellte Roboter 90 umfasst einen Arm 91, der sich durch den Antrieb des Servomotors 50 frei bewegt. Der Arm 91 umfasst das Schleifwerkzeug 70, das an seinem Spitzenende mit der Bildgebungsvorrichtung 80 (Visionssensor) ausgestattet ist. Das Schleifwerkzeug 70 schleift die Oberfläche eines Werkstücks 92, das ein zu schleifendes Objekt ist. Nach dem Schleifen nimmt die Bildgebungsvorrichtung 80 einen Oberflächenzustand des Werkstücks 92 auf, wie in 14 gezeigt.
-
2 ist ein schematisches Funktionsblockdiagramm der Steuerung 1 und der maschinellen Lernvorrichtung 100 gemäß einer ersten Ausführungsform.
-
Die maschinelle Lernvorrichtung 100 umfasst einen Zustandsüberwachungsabschnitt 106, einen Bestimmungsdaten-Erfassungsabschnitt 108 und einen Lernabschnitt 110. So können beispielsweise der Zustandsüberwachungsabschnitt 106, der Bestimmungsdaten-Erfassungsabschnitt 108 und der Lernabschnitt 110 als eine Funktion des Prozessors 101 realisiert werden oder können realisiert werden, wenn im ROM 102 gespeicherte Software durch den Prozessor 101 ausgeführt wird.
-
Der Zustandsüberwachungsabschnitt 106 beobachtet Zustandsvariablen S, die den aktuellen Zustand einer Umgebung ausdrücken. Die Zustandsvariablen S umfassen die Drehzahl S1 des Schleifwerkzeugs 70, das Drehmoment S2 des Schleifwerkzeugs 70, die. Presskraft S3 des Schleifwerkzeugs 70, die Aktionsgeschwindigkeit S4 eines Arms eines Roboters und ein Merkmal S5 eines Oberflächenzustandes eines Werkstücks.
-
Der Zustandsbeobachtungsabschnitt 106 erfasst die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 von der Steuerung 1. Die Steuerung 1 kann diese Werte von einem Motor des Schleifwerkzeugs 70 oder einem Sensor oder dergleichen, der am Schleifwerkzeug 70 befestigt ist, erfassen.
-
Der Zustandsbeobachtungsabschnitt 106 erfasst weiterhin die Aktionsgeschwindigkeit S4 des Arms des Roboters von der Steuerung 1. Die Steuerung 1 kann den Wert von dem Servomotor 50 oder einem am Arm angebrachten Sensor oder dergleichen erfassen.
-
Der Zustandsbeobachtungsabschnitt 106 erfasst weiterhin die Aktionsgeschwindigkeit S4 des Roboterarms von der Steuerung 1. Die Steuerung 1 kann den Wert von dem Servomotor 50 oder einem am Arm angebrachten Sensor oder dergleichen erfassen.
-
Der Zustandsbeobachtungsabschnitt 106 erfasst weiterhin das Merkmal S5 des Oberflächenzustandes des Werkstücks von der Steuerung 1. Das Merkmal S5 des Oberflächenzustands des Werkstücks sind Daten, die ein Merkmal anzeigen, das aus einem Bild des Oberflächenzustands des Werkstücks extrahiert wurde, das von der Bildgebungsvorrichtung 80 nach dem Schleifen aufgenommen wurde. So kann beispielsweise das Merkmal S5 des Oberflächenzustands des Werkstücks durch die Extraktion einer Merkmalsgröße in dem Bild des Oberflächenzustands des Werkstücks gemäß einer Funktion der Bildgebungsvorrichtung 80 oder der Bildverarbeitungssoftware der Steuerung 1 erfasst werden. Die Bildgebungsvorrichtung 80 oder die Steuerung 1 kann automatisch eine Merkmalsgröße extrahieren, die die Dichte (Tiefe) von Streifen auf der Oberfläche des Werkstücks, die Glätte der Streifen, den Abstand zwischen den Streifen oder dergleichen beispielsweise gemäß einem bekannten Verfahren, wie dem Deep Learning anzeigt.
-
15 zeigt ein Beispiel für ein Bild des Oberflächenzustands des Werkstücks, das von der Bildgebungsvorrichtung 80 nach dem Schleifen aufgenommen wurde. Wie in 15 gezeigt, bleiben nach dem Schleifen Streifen mit unterschiedlicher Dichte (Tiefe), Glätte und Abständen auf der Oberfläche des Werkstücks zurück. Der Zustandsbeobachtungsabschnitt 106 erkennt solche Merkmale der Streifen aus dem Bild und extrahiert dieselben als das Merkmal S5 des Oberflächenzustandes des Werkstücks.
-
Der Bestimmungsdaten-Erfassungsabschnitt 108 erfasst Bestimmungsdaten D, die ein Index sind, der ein Ergebnis anzeigt, das erhalten wird, wenn der Roboter das Schleifen unter der Zustandsvariablen S ausführt. Die Bestimmungsdaten D umfassen die Dichte D1 der Streifen, die Glätte D2 der Streifen und einen Abstand D3 zwischen den Streifen in einem Bild des Oberflächenzustands des von der Bildgebungsvorrichtung 80 nach dem Schleifen aufgenommenen Werkstücks.
-
So können beispielsweise die Dichte D1 der Streifen, die Glätte D2 der Streifen und der Abstand D3 zwischen den Streifen jeweils durch die Analyse eines von der Bildgebungsvorrichtung 80 nach dem Schleifen aufgenommenen Bildes vom Oberflächenzustand des Werkstücks gemäß der Funktion der Bildgebungsvorrichtung 80 oder der Bildverarbeitungssoftware der Steuerung 1 digitalisiert und ausgegeben werden. Alternativ kann ein Bediener ein Bild des Oberflächenzustands des von der Bildaufnahmevorrichtung 80 aufgenommenen Werkstücks nach dem Schleifen visuell auswerten und einen Wert (z.B. „1“ (= geeignet) oder „0“ (= ungeeignet)) eingeben, der ein Ergebnis der Auswertung über das Bediengerät 60 anzeigt, um die Dichte D1, die Glätte D2 und den Abstand D3 darzustellen.
-
Als modifiziertes Beispiel können die Bestimmungsdaten D ein Drehmoment D4 des Schleifwerkzeugs 70 umfassen. Der Grund dafür ist, dass es bekannt ist, dass das Rotationsdrehmoment D4 eine Korrelation mit der Glätte der Werkstückoberfläche aufweist. Außerdem können die Bestimmungsdaten D die Temperatur D5 des Schleifwerkzeugs 70 umfassen. Der Grund dafür ist, dass es bekannt ist, dass die Temperatur D5 eine Korrelation mit der geeigneten Presskraft aufweist.
-
Der Lernabschnitt 110 lernt unter Verwendung der Zustandsvariablen S und der Bestimmungsdaten D die Korrelation zwischen dem Merkmal S5 des Oberflächenzustandes des Werkstücks und den Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Roboterarms). Das heißt, der Lernabschnitt 110 erzeugt eine Modellstruktur, die die Korrelation zwischen den Bestandteilen S1, S2, S3, S4 und S5 der Zustandsvariablen S anzeigt.
-
In Bezug auf den Lernzyklus des Lernabschnitts 110 sind die Zustandsvariablen S, die in den Lernabschnitt 110 eingegeben werden, diejenigen, die auf Daten des vorherigen Lernzyklus basieren, in dem die Bestimmungsdaten D erfasst wurden. Während die maschinelle Lernvorrichtung 100 mit dem Lernen fortschreitet, werden (1) die Erfassung des Merkmals S5 des Oberflächenzustandes des Werkstücks, (2) die Einstellungen der Drehzahl S1, des Drehmoments S2 und der Presskraft S3 des Schleifwerkzeugs 70 und der Aktionsgeschwindigkeit S4 des Arms des Roboters, d.h. die Einstellungen der Schleifbedingungen, (3) die Ausführung des Schleifens gemäß den obengenannten (1) und (2), und (4) die Erfassung der Bestimmungsdaten D wiederholt in einer Umgebung durchgeführt. Die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Roboterarms in (2) sind die Schleifbedingungen, die auf der Grundlage von Lernergebnissen eines früheren Zeitpunkt erhalten wurden. Die Bestimmungsdaten D in (4) sind ein Bewertungsergebnis des Schleifens, das gemäß der Drehzahl S1, dem Drehmoment S2 und der Presskraft S3 des Schleifwerkzeugs 70 und der Aktionsgeschwindigkeit S4 des Roboterarms durchgeführt wird.
-
Durch wiederholtes Durchführen eines solchen Lernzyklus wird dem Lernabschnitt 110 ermöglicht, automatisch ein Merkmal zu identifizieren, das auf die Korrelation zwischen dem Merkmal S5 des Oberflächenzustandes des Werkstücks und den Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Roboterarms) schließen lässt. Obwohl die Korrelation zwischen dem Merkmal S5 des Oberflächenzustandes des Werkstücks und den Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Roboterarms) zu Beginn eines Lernalgorithmus im Wesentlichen unbekannt ist, identifiziert der Lernabschnitt 110 schrittweise ein Merkmal und interpretiert die Korrelation während des Fortschreitens des Lernens. Wenn die Korrelation zwischen dem Merkmal S5 des Oberflächenzustandes des Werkstücks und den Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Roboterarms) bis zu einem gewissen Grad zuverlässig interpretiert wird, kann ein Lernergebnis, das wiederholt vom Lernabschnitt 110 ausgegeben wird, verwendet werden kann, um die Aktion (d.h. die Entscheidungsfindung) zum Bestimmen, welche Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Arms des Roboters) in Bezug auf einen aktuellen Zustand, d.h. das Merkmal S5 des Oberflächenzustandes des Werkstücks, eingestellt sind, auszuwählen. Das heißt, dem Lernabschnitt 110 wird ermöglicht, die optimale Lösung der Aktion entsprechend dem aktuellen Zustand ausgeben.
-
Die Zustandsvariablen S bestehen aus Daten, die kaum von Störungen beeinflusst werden, und die Bestimmungsdaten D werden eindeutig berechnet, wenn ein Analyseergebnis von Bilddaten der Bildgebungsvorrichtung 80 von der Steuerung 1 erfasst wird. Dementsprechend ermöglicht die maschinelle Lernvorrichtung 100 unter Verwendung eines Lernergebnisses des Lernabschnitts 110 die automatische und genaue Berechnung der optimalen Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Arms des Roboters) für den aktuellen Zustand, d.h. das Merkmal S5 des Oberflächenzustands des Werkstücks ohne Durchführen einer Berechnung oder Schätzung. Mit anderen Worten, die optimalen Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Roboterarms) können nur durch Erfassen des aktuellen Zustands, d.h. des Merkmals S5 des Oberflächenzustandes des Werkstücks, schnell bestimmt werden. Demzufolge können die Einstellungen der Schleifbedingungen für das Schleifen durch den Roboter effizient durchgeführt werden.
-
Als ein modifiziertes Beispiel für die maschinelle Lernvorrichtung 100 kann der Lernabschnitt 110 geeignete Schleifbedingungen erlernen, die allen Robotern gemeinsam sind, wobei die Zustandsvariablen S und die Bestimmungsdaten D für jeden der Mehrzahl von Robotern, die den gleichen Vorgang ausführen, verwendet werden. Je nach Konfiguration ist es möglich, eine Menge eines Datensatzes, der die Zustandsvariablen S und die in einer bestimmten Zeit erhaltenen Bestimmungsdaten D umfasst, zu erhöhen und einen breiter gefächerten Datensatz einzugeben. Daher wird eine Verbesserung der Lerngeschwindigkeit oder Zuverlässigkeit ermöglicht.
-
Es wird angemerkt, dass ein von der Lerneinheit 110 ausgeführter Lernalgorithmus nicht besonders eingeschränkt ist. Es kann ein als maschinelles Lernen bekannter Lernalgorithmus eingesetzt werden. 3 zeigt als eine Betriebsart der in 2 dargestellten Steuerung 1, d.h. eine Konfiguration mit dem Lernabschnitt 110, der bestärkendes Lernen durchführt, als ein Beispiel für einen Lernalgorithmus. Das bestärkende Lernen ist eine Verfahren, bei dem ein Zyklus des Beobachtens des aktuellen Zustands (d.h. einer Eingabe) einer Umgebung, in der ein Lernziel existiert, und ein Durchführen einer vorgeschriebenen Aktion (d.h. eine Ausgabe) im aktuellen Zustand und ein Vergeben einer Belohnung an die Aktion wiederholt durch Ausprobieren durchgeführt wird, um Maßnahmen (die Einstellungen der Schleifbedingungen in der vorliegenden Ausführungsform) zu lernen, um die Summe der Belohnungen als eine optimale Lösung zu maximieren.
-
In der in 3 gezeigten maschinellen Lernvorrichtung 100 der Steuerung 1 umfasst der Lernabschnitt 110 einen Belohnungsberechnungsabschnitt 112 und einen Wertfunktions-Aktualisierungsabschnitt 114.
-
Der Belohnungsberechnungsabschnitt 112 berechnet eine Belohnung R, die einem Bewertungsergebnis des Schleifens zugeordnet ist (entsprechend den Bestimmungsdaten D, die in dem nächsten Lernzyklus verwendet werden, in dem die Zustandsvariablen S erfasst wurden), wenn die Schleifbedingungen auf der Grundlage der Zustandsvariablen S eingestellt werden.
-
Der Wertfunktions-Aktualisierungsabschnitt 114 aktualisiert unter Verwendung der Belohnung R eine Funktion Q, die einen Wert der Schleifbedingungen ausdrückt. Der Lernabschnitt 110 lernt die Korrelation zwischen dem Merkmal S5 des Oberflächenzustandes des Werkstücks und den Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Arms des Roboters) derart, dass der Wertefunktions-Aktualisierungsabschnitt 114 die Funktion Q wiederholt aktualisiert.
-
Ein Beispiel für einen Lernalgorithmus des bestärkenden Lernens, der vom Lernabschnitt 110 von 3 durchgeführt wird, wird beschrieben. Der Algorithmus in diesem Beispiel wird als Q-Learning bezeichnet und drückt ein Verfahren aus, bei dem ein Zustand s eines Aktionssubjekts und eine Aktion a, die von dem Aktionssubjekt in dem Zustand s ausgeführt werden kann, als unabhängige Variablen angenommen werden, und eine Funktion Q(s, a), die einen Aktionswert ausdrückt, wenn die Aktion a in dem Zustand s ausgewählt wird, gelernt wird. Die Auswahl der Aktion a, bei der die Wertfunktion Q die größte im Zustand s wird, führt zu einer optimalen Lösung. Durch das Starten des Q-Learnings in einem Zustand, in dem die Korrelation zwischen dem Zustand s und der Aktion a unbekannt ist, und das wiederholte Durchführen der Auswahl verschiedener Aktionen a durch Ausprobieren in jedem Zustand s, wird die Wertfunktion Q wiederholt aktualisiert, um einer optimalen Lösung angenähert zu werden. Wenn sich hier eine Umgebung (d.h. der Zustand s) ändert, während die Aktion a in dem Zustand s ausgewählt wird, wird eine Belohnung (d.h. 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. Somit kann die Wertfunktion Q in relativ kurzer Zeit zu einer optimalen Lösung angenähert werden.
-
Im Allgemeinen kann die Aktualisierungsformel der Wertfunktion Q wie die folgende Formel (1) ausgedrückt werden. In Formel (1) drücken st und at einen Zustand beziehungsweise 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 die Wertfunktion Q zum Zeitpunkt t+1 (der zum Zeitpunkt t angenommen wird) maximal wird. α und γ drücken einen Lernkoeffizienten bzw. einen Diskontierungsfaktor aus und werden willkürlich so eingestellt, dass sie innerhalb von 0 < α ≤ 1 bzw. 0 < β ≤ 1 liegen.
-
Wenn der Lernabschnitt 110 das Q-Learning durchführt, entsprechen die vom Zustandsbeobachtungsabschnitt 106 beobachteten Zustandsgrößen S und die vom Bestimmungsdaten-Erfassungsabschnitt 108 erfassten Bestimmungsdaten D dem Zustand s in der Aktualisierungsformel, die Aktion des Bestimmens, wie die Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Arms des Roboters) in Bezug auf den aktuellen Zustand, d.h., das Merkmal S5 des Oberflächenzustandes des Werkstücks, eingestellt werden, 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 Wertfunktions-Aktualisierungsabschnitt 114 wiederholt die Funktion Q, die einen Wert der Einstellungen der Schleifbedingungen in Bezug auf den aktuellen Zustand durch das Q-Lernen unter Verwendung der Belohnung R ausdrückt.
-
Ein Wert der durch den Belohnungsberechnungsabschnitt 112 berechneten Belohnung R kann beispielsweise dann positiv sein, wenn ein Bewertungsergebnis des Schleifens als „geeignet“ bestimmt wird, nachdem das Schleifen basierend auf den bestimmten Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Arms des Roboters) ausgeführt worden ist. Andererseits kann der Wert der Belohnung R negativ sein, wenn das Bewertungsergebnis des Schleifens als „ungeeignet“ eingestuft wird. Die Absolutwerte der positiven und negativen Belohnungen R können die gleichen oder voneinander unterschiedlich sein.
-
Wenn die Bestimmungsdaten D durch mehrere Werte angegeben werden, kann das Bewertungsergebnis des Schleifens als „geeignet“ bestimmt werden, wenn beispielsweise die Unterschiede zwischen dem Wert D1, der die Dichte der Streifen angibt, dem Wert D2, der die Glätte der Streifen angibt, und dem Wert D3, der den Abstand zwischen den Streifen angibt, und den für die jeweiligen Werte eingestellten Referenzwerten in vorgeschriebene Bereiche fallen. Andererseits kann das Bewertungsergebnis des Schleifens als „ungeeignet“ eingestuft werden, wenn die Unterschiede außerhalb der vorgegebenen Bereiche fallen. Wenn die Bestimmungsdaten D durch zwei Werte angegeben werden, beispielsweise wenn die Werte D1, D2 und D3 durch Werte wie „1“ (= geeignet) und „0“ (= ungeeignet) angegeben werden, kann das Bewertungsergebnis des Schleifens als „geeignet“ bestimmt werden, wenn eine Eingabe „1“ ist, und als „ungeeignet“ bestimmt werden, wenn die Eingabe „0“ ist.
-
Das Bewertungsergebnis des Schleifens kann nicht nur auf die „geeigneten“ und „ungeeigneten“ Bewertungen, sondern auch auf eine Mehrzahl von Bewertungsstufen eingestellt werden. So kann beispielsweise der Belohnungsberechnungsabschnitt 112 die Belohnung R verringern, wenn die Werte D1, D2 und D3 von den Referenzwerten abweichen, das heißt, wenn die Unterschiede zwischen den Werten D1, D2 und D3 und den für die jeweiligen Werte eingestellten Referenzwerten größer werden.
-
Es ist zu beachten, dass der Belohnungsberechnungsabschnitt 112 eine Mehrzahl von Werten, die in den Bestimmungsdaten D enthalten sind, zusammenfassen kann, um die Eigenschaft zu bestimmen.
-
Der Wertfunktion-Aktualisierungsabschnitt 114 kann eine Aktionswerttabelle aufweisen, in der die Zustandsvariablen S, die Bestimmungsdaten D und die Belohnungen R in Zuordnung zu Aktionswerten (z.B. numerischen Werten) organisiert sind, die durch die Funktion Q ausgedrückt werden. In diesem Fall entspricht die Aktion der Aktualisierung der Funktion Q mit dem Wertfunktions-Aktualisierungsabschnitt 114 der Aktion der Aktualisierung der Aktionswerttabelle mit dem Wertfunktions-Aktualisierungsabschnitt 114. Zu Beginn des Q-Lernens ist die Korrelation zwischen dem Merkmal S5 des Oberflächenzustandes des Werkstücks und den Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Roboterarms) unbekannt. Daher werden in der Aktionswerttabelle verschiedene Arten der Zustandsvariablen S, der Bestimmungsdaten D und der Belohnungen R in Verbindung mit Werten (Funktion Q) von zufällig eingestellten Aktionswerten vorbereitet. Es ist zu beachten, 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 Bewertungsergebnis des Schleifens entspricht, vorangetrieben wird, wird das Lernen darauf ausgerichtet, die Aktion zum Erhalten einer höheren Belohnung R auszuwählen. Danach werden Werte (Funktion Q) von Aktionswerten für eine im aktuellen Zustand ausgeführte Aktion neu geschrieben, um die Aktionswerttabelle entsprechend dem Umgebungszustand (d.h. der Zustandsvariablen S und der Bestimmungsdaten D), der sich ändert, wenn die ausgewählte Aktion im aktuellen Zustand ausgeführt wird, zu aktualisieren. Durch wiederholtes Durchführen der Aktualisierung werden die Werte (die Funktion Q) der in der Aktionswerttabelle angezeigten Aktionswerte neu geschrieben, sodass sie größer zu werden, wenn eine Aktion geeigneter ist. So wird die Korrelation zwischen dem aktuellen Zustand in der unbekannten Umgebung, d.h. dem Merkmal S5 des Oberflächenzustandes des Werkstücks und der entsprechenden Aktion, das heißt den eingestellten Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Roboterarms) allmählich deutlich. Das heißt, durch die Aktualisierung der Aktionswerttabelle wird der Zusammenhang zwischen dem Merkmal S5 des Oberflächenzustandes des Werkstücks und den Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Roboterarms) schrittweise einer optimalen Lösung angenähert.
-
Der Ablauf des Q-Learning (d.h. einer Betriebsart eines maschinellen Lernverfahrens), der durch den Lernabschnitt 110 von 3 durchgeführt wird, wird mit Bezug auf 4 näher beschrieben.
-
Schritt SA01: Der Wertfunktion-Aktualisierungsabschnitt 114 wählt willkürlich unter Bezugnahme auf eine derzeitige Aktionswerttabelle die Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Roboterarms) als eine Aktion aus, die in einem aktuellen Zustand ausgeführt wird, der durch die von dem Zustandsbeobachtungsabschnitt 106 beobachteten Zustandsvariablen S angezeigt wird.
-
Schritt SA02: Der Wertfunktions-Aktualisierungsabschnitt 114 importiert die Zustandsvariable S in den von dem Zustandsüberwachungsabschnitt 106 beobachteten aktuellen Zustand.
-
Schritt SA03: Der Wertfunktions-Aktualisierungsabschnitt 114 importiert die Bestimmungsdaten D in den durch den Bestimmungsdaten-Erfassungsabschnitt 108 erfassten aktuellen Zustand.
-
Schritt SA04: Der Wertfunktions-Aktualisierungsabschnitt 114 bestimmt, ob die Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Roboterarms) auf der Grundlage der Bestimmungsdaten D geeignet waren. Wenn die Schleifbedingungen geeignet waren, geht die Verarbeitung weiter zu Schritt SA05. Wenn die Schleifbedingungen nicht geeignet waren, geht die Verarbeitung weiter zu Schritt SA07.
-
Schritt SA05: Der Wertfunktions-Aktualisierungsabschnitt 114 wendet eine durch den Belohnungsberechnungsabschnitt 112 berechnete positive Belohnung R auf die Aktualisierungsformel der Funktion Q an.
-
Schritt SA06: Der Wertfunktions-Aktualisierungsabschnitt 114 aktualisiert die Aktionswerttabelle unter Verwendung der Zustandsvariablen S und der Bestimmungsdaten D im aktuellen Zustand, der Belohnung R und eines Wertes (aktualisierte Funktion Q) eines Aktionswertes.
-
Schritt SA07: Der Wertfunktions-Aktualisierungsabschnitt 114 wendet eine negative Belohnung R auf die durch den Belohnungsberechnungsabschnitt 112 berechnete Aktualisierungsformel der Funktion Q an.
-
Der Lernabschnitt 110 aktualisiert die Aktionswerttabelle erneut, indem die Verarbeitung der Schritte SA01 bis SA07 wiederholt durchgeführt wird und führt das Lernen fort. Es ist zu beachten, dass die Verarbeitung zur Berechnung der Belohnungen R und die Verarbeitung zur Aktualisierung der Wertfunktion in den Schritten SA04 bis SA07 für alle der in den Bestimmungsdaten D enthaltenen Daten durchgeführt wird.
-
16 zeigt eine weitere Betriebsart der in 2 gezeigten Steuerung 1, d.h. eine Konfiguration mit dem Lernabschnitt 110, der überwachtes Lernen als weiteres Beispiel für den Lernalgorithmus durchführt.
-
Im Gegensatz zum obigen bestärkenden Lernen, bei dem das Lernen begonnen wird, wenn die Beziehung zwischen einer Eingabe und einer Ausgabe unbekannt ist, ist das beaufsichtigte Lernen ein Verfahren, bei dem eine große Menge bekannter Datensätze (als Lehrerdaten bezeichnet) von Eingaben und den Eingaben entsprechenden Ausgaben im Voraus gegeben sind, und ein Merkmal, das auf die Korrelation zwischen den Eingaben und Ausgaben schließen lässt, aus den Lehrerdaten identifiziert wird, um ein Korrelationsmodell (die Schleifbedingungen für das Schleifen durch den Roboter in der maschinellen Lernvorrichtung 100 der vorliegenden Anwendung) zum Schätzen einer gewünschten Ausgabe in Bezug auf eine neue Eingabe zu lernen.
-
In der in 16 dargestellten maschinellen Lernvorrichtung 100 umfasst der Lernabschnitt 110 einen Fehlerberechnungsabschnitt 116 und einen Modellaktualisierungsabschnitt 118. Der Fehlerberechnungsabschnitt 116 berechnet einen Fehler E zwischen einem Korrelationsmodell M zur Ableitung der Schleifbedingungen für das Schleifen durch den Roboter aus den Zustandsvariablen S und den im Voraus aufbereiteten Bestimmungsdaten D und Lehrerdaten T. Der Modellaktualisierungsabschnitt 118 aktualisiert das Korrelationsmodell M, um den Fehler E zu reduzieren. Der Lernabschnitt 110 lernt die Schleifbedingungen für das Schleifen durch den Roboter derart, dass der Modellaktualisierungsabschnitt 118 das Korrelationsmodell M wiederholt aktualisiert.
-
Der Anfangswert des Korrelationsmodells M wird durch die Vereinfachung (z.B. durch eine Primärfunktion) der Korrelation zwischen den Zustandsvariablen S und den Bestimmungsdaten D und den Schleifbedingungen für das Schleifen durch den Roboter ausgedrückt und vor Beginn des überwachten Lernens an den Lernabschnitt 110 übergeben. Die Lehrerdaten T können beispielsweise aus Erfahrungswerten (den bekannten Datensätzen der Merkmale des Oberflächenzustands des Werkstücks und den Schleifbedingungen für das Schleifen durch den Roboter) bestehen, die durch die Aufzeichnung der von einem erfahrenen Bediener beim früheren Schleifen bestimmten Schleifbedingungen gesammelt wurden, und werden vor Beginn des überwachten Lernens an den Lernabschnitt 110 weitergegeben. Der Fehlerberechnungsabschnitt 116 identifiziert ein Korrelationsmerkmal, das auf die Korrelation zwischen dem Merkmal des Oberflächenzustandes des Werkstücks und den Schleifbedingungen für das Schleifen durch den Roboter schließen lässt, aus einer großen Menge der an den Lernabschnitt 110 übergegebenen Lehrerdaten T, und berechnet einen Fehler E zwischen dem Korrelationsmerkmal und dem Korrelationsmodell M entsprechend den Zustandsvariablen S und den Bestimmungsdaten D in einem aktuellen Zustand. Der Modellaktualisierungsabschnitt 118 aktualisiert das Korrelationsmodell M, um den Fehler E beispielsweise gemäß einer vorgeschriebenen Aktualisierungsregel zu reduzieren.
-
Im nächsten Lernzyklus berechnet der Fehlerberechnungsabschnitt 116 den Fehler E von dem Korrelationsmodell M entsprechend den geänderten Zustandsvariablen S und den Bestimmungsdaten D unter Verwendung der Zustandsvariablen S und Bestimmungsdaten D, die sich nach dem versuchten Schleifen gemäß dem aktualisierten Korrelationsmodell M geändert haben, und der Modellaktualisierungsabschnitt 118 aktualisiert das Korrelationsmodell M erneut. So wird der Zusammenhang zwischen dem aktuellen Zustand (dem Merkmal des Oberflächenzustandes des Werkstücks) in einer unbekannten Umgebung und einer entsprechenden Aktion (der Bestimmung der Schleifbedingungen für das Schleifen durch den Roboter) schrittweise deutlich. Das heißt, durch die Aktualisierung des Korrelationsmodells M wird das Verhältnis zwischen dem Merkmal des Oberflächenzustandes des Werkstücks und den Schleifbedingungen für das Schleifen durch den Roboter schrittweise zu einer optimalen Lösung angenähert.
-
Es ist zu beachten, dass in der maschinellen Lernvorrichtung 100 der Lernabschnitt 110 dazu konfiguriert werden kann, das überwachte Lernen in der Anfangsphase des Lernens durchzuführen und das bestärkende Lernen unter Verwendung der Schleifbedingungen für das Schleifen durch den Roboter, die durch das überwachte Lernen als Anfangswert erhalten wurden, durchzuführen, nachdem das Lernen bis zu einem gewissen Grad vorangetrieben wurde. Da der Anfangswert im bestärkenden Lernen bis zu einem gewissen Grad zuverlässig ist, kann relativ schnell eine optimale Lösung gefunden werden.
-
Bei der Weiterentwicklung des bestärkenden Lernens oder des überwachten Lernens kann beispielsweise ein neuronales Netzwerk anstelle des Q-Learnings verwendet werden. 5A zeigt schematisch ein Neuronenmodell. 5B stellt schematisch das Modell eines neuronalen Netzwerks mit drei Schichten dar, in denen die in 5A dargestellten Neuronen miteinander kombiniert sind. Das neuronale Netzwerk kann beispielsweise einem Neuronenmodell folgend aus einer Recheneinheit, einer Speichereinheit oder dergleichen bestehen.
-
Das in
5A dargestellte Neuron gibt ein Ergebnis y in Bezug auf eine Mehrzahl von Eingaben x aus (hier die Eingaben
x1 bis
x3 als Beispiel). Die Eingaben
x1 bis
x3 werden mit den entsprechenden Gewichten w (
w1 bis
w3 ) multipliziert. Somit gibt das Neuron das Ergebnis y aus, das durch die folgende Formel 2 ausgedrückt wird. Es ist zu beachten, dass in der folgenden Formel 2 eine Eingabe x, ein Ergebnis y und ein Gewicht w alle Vektoren sind. Darüber hinaus drückt θ einen Bias aus und
fk drückt eine Aktivierungsfunktion aus.
-
In dem neuronalen Netzwerk mit den drei in 5B dargestellten Schichten werden mehrere Eingaben x (hier die Eingaben 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) werden von der rechten Seite des neuronalen Netzwerks ausgegeben. In dem in 5B dargestellten Beispiel werden die Eingaben x1 bis x3 mit entsprechenden Gewichten (gemeinsam als w1 ausgedrückt) multipliziert und jeweils in drei Neuronen N11 bis N13 eingegeben.
-
In 5B werden die jeweiligen Ausgaben der Neuronen N11 bis N13 gemeinsam als z1 ausgedrückt. Die Ausgaben z1 können als Merkmalsvektoren betrachtet werden, die durch Extraktion von Merkmalsbeträgen der Eingabevektoren erhalten werden. In dem in 5B dargestellten Beispiel werden die jeweiligen Merkmalsvektoren z1 mit entsprechenden Gewichten (gemeinsam als w2 ausgedrückt) multipliziert und jeweils in zwei Neuronen N21 bis N22 eingegeben. Die Merkmalsvektoren z1 drücken die Merkmale zwischen den Gewichten w1 und w2 aus.
-
Außerdem werden die jeweiligen Ausgaben der Neuronen N21 und N22 gemeinsam als z2 ausgedrückt. Die Ausgaben z2 können als Merkmalsvektoren betrachtet werden, die durch Extrahieren von Merkmalsbeträgen der Merkmalsvektoren z1 erhalten werden. In dem in 5B dargestellten Beispiel werden die jeweiligen Merkmalsvektoren z2 mit entsprechenden Gewichten (gemeinsam als w3 ausgedrückt) multipliziert und jeweils in drei Neuronen N31 bis N33 eingegeben. Die Merkmalsvektoren z2 drücken die Merkmale zwischen den Gewichten w2 und w3 aus. Schließlich geben die Neuronen N31 bis N33 jeweils entsprechend die Ergebnisse y1 bis y3 aus.
-
Es ist zu beachten, dass es möglich ist, das sogenannte Deep Learning anzuwenden, bei dem ein ein drei oder mehr Schichten bildendes neuronales Netzwerk verwendet wird.
-
In der maschinellen Lernvorrichtung 100 führt der Lernabschnitt 110 eine Berechnung in einer Mehrschichtstruktur entsprechend einem neuronalen Netzwerk mit den Zustandsvariablen S und den Bestimmungsdaten D als Eingaben x durch, wodurch die Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Arms des Roboters) als Ergebnisse y ausgegeben werden können. Darüber hinaus verwendet der Lernabschnitt 110 in der maschinellen Lernvorrichtung 100 ein neuronales Netz als eine Wertfunktion im bestärkenden Lernen und führt eine Berechnung in einer Mehrschichtstruktur entsprechend dem neuronalen Netz mit den Zustandsvariablen S und der Aktion a als Eingaben x durch, wodurch ein Wert (Ergebnis y) einer bestimmten Aktion in einem bestimmten Zustand ausgegeben werden kann. Es ist zu beachten, dass der Aktionsmodus des neuronalen Netzwerks einen Lernmodus und einen Wertevorhersagemodus umfasst. So ist es beispielsweise möglich, ein Gewicht w unter Verwendung eines Lerndatensatzes im Lernmodus zu erlernen und einen Aktionswert unter Verwendung des erlernten Gewichts w im Wertevorhersagemodus zu bestimmen. Es ist zu beachten, dass die Erkennung, Klassifikation, Deduktion oder dergleichen im Wertvorhersagemodus durchgeführt werden kann.
-
Die Konfiguration der obigen Steuerung 1 kann als maschinelles Lernverfahren (oder Software) beschrieben werden, das von dem Prozessor 101 der maschinellen Lernvorrichtung 100 durchgeführt wird. Das maschinelle Lernverfahren ist ein Verfahren zum Erlernen der Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Arms des Roboters) zum Schleifen durch den Roboter. In dem maschinellen Lernverfahren führt die CPU eines Computers Schritte durch zum
Beobachten des Merkmals S5 des Oberflächenzustands des Werkstücks als die Zustandsvariablen S, die den aktuellen Zustand einer Umgebung ausdrücken, in der das Schleifen durchgeführt wird;
Erfassen der Bestimmungsdaten D, die ein Bewertungsergebnis des gemäß den eingestellten Schleifbedingungen durchgeführten Schleifens anzeigen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Arms des Roboters); und
Erlernen des Merkmals S5 des Oberflächenzustandes des Werkstücks und der Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Arms des Roboters) in Zuordnung zueinander unter Verwendung der Zustandsvariablen S und der Bestimmungsdaten D.
-
6 zeigt eine Steuerung 2 gemäß einer zweiten Ausführungsform der vorliegenden Erfindung.
-
Die Steuerung 2 umfasst eine maschinelle Lernvorrichtung 120 und einen Zustandsdatenerfassungsabschnitt 3. Der Zustandsdatenerfassungsabschnitt 3 erfasst das Merkmal S5 des Oberflächenzustandes des Werkstücks und die Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Arms des Roboters) als Zustandsdaten S0 und liefert das erfasste Merkmal S5 an den Zustandsüberwachungsabschnitt 106. Der Zustandsdatenerfassungsabschnitt 3 kann die Zustandsdaten S0 beispielsweise von der Steuerung 2 oder verschiedenen Vorrichtungen und Sensoren des Roboters erfassen.
-
Die maschinelle Lernvorrichtung 120 umfasst neben dem Zustandsüberwachungsabschnitt 106, dem Bestimmungsdaten-Erfassungsabschnitt 108 und dem Lernabschnitt 110 einen Entscheidungsabschnitt 122. Der Entscheidungsabschnitt 122 kann beispielsweise als eine Funktion des Prozessors 101 der maschinellen Lernvorrichtung 120 realisiert werden. Alternativ kann der Entscheidungsabschnitt 122 realisiert werden, wenn beispielsweise die im ROM 102 gespeicherte Software durch den Prozessor 101 ausgeführt wird.
-
Zusätzlich zu Software (wie etwa ein Lernalgorithmus) und Hardware (wie etwa der Prozessor 101) zum spontanen Erlernen der Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Arms des Roboters) zum Schleifen durch den Roboter durch maschinelles Lernen, umfasst die maschinelle Lernvorrichtung 120 Software (wie etwa einen Berechnungsalgorithmus) und Hardware (wie etwa den Prozessor 101) zum Ausgeben der Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Arms des Roboters), die auf der Grundlage eines Lernergebnisses als Befehl für die Steuerung 2 berechnet werden. Die maschinelle Lernvorrichtung 120 kann eine Konfiguration aufweisen, bei der ein gemeinsamer Prozessor die gesamte Software, wie einen Lernalgorithmus und einen Berechnungsalgorithmus, ausführt.
-
Der Entscheidungsabschnitt 122 erzeugt einen Sollwert C einschließlich eines Befehls zum Bestimmen der Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Arms des Roboters) entsprechend dem Merkmal S5 des Oberflächenzustandes des Werkstücks auf der Grundlage eines Lernergebnisses des Lernabschnitts 110. Wenn der Entscheidungsabschnitt 122 den Sollwert C an die Steuerung 2 ausgibt, steuert die Steuerung 2 den Roboter entsprechend dem Sollwert C. Dadurch ändert sich der Zustand der Umgebung.
-
Der Zustandsbeobachtungsabschnitt 106 beobachtet die geänderten Zustandsvariablen S, wenn der Entscheidungsabschnitt 122 im nächsten Lernzyklus den Sollwert C an die Umgebung ausgibt. Der Lernabschnitt 110 aktualisiert die Wertfunktion Q (d.h. die Aktionswerttabelle) unter Verwendung der geänderten Zustandsgrößen S, um die Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Arms des Roboters) für das Schleifen durch den Roboter zu erlernen. Es ist zu beachten, dass der Zustandsbeobachtungsabschnitt 106 anstelle des Erfassens der Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Arms des Roboters) aus den von dem Zustandsdatenerfassungsabschnitt 3 erfassten Zustandsdaten S0 die Schleifbedingungen aus dem RAM 103 der maschinellen Lernvorrichtung 120, wie in der ersten Ausführungsform beschrieben, beobachten kann.
-
Dann gibt der Entscheidungsabschnitt 122 den aus dem Lernergebnis berechneten Sollwert C zum Vorschreiben der Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Arms des Roboters) wieder an die Steuerung 2 aus. Durch wiederholtes Durchführen des Lernzyklus bringt die maschinelle Lernvorrichtung 120 das Lernen voran und verbessert schrittweise die Zuverlässigkeit der von der maschinellen Lernvorrichtung 120 selbst bestimmten Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 des Arms des Roboters).
-
Die in 6 dargestellte maschinelle Lernvorrichtung 120 erzeugt die gleichen Wirkungen wie diejenigen der maschinellen Lernvorrichtung 100 der in 2 gezeigten ersten Ausführungsform. Außerdem kann die maschinelle Lernvorrichtung 120 den Zustand der Umgebung entsprechend der Ausgabe des Entscheidungsabschnitts 122 ändern. Es ist zu beachten, dass die maschinelle Lernvorrichtung 100 möglich macht, das Lernergebnis des Lernabschnitts 110 der Umgebung zu reflektieren, indem sie eine dem Entscheidungsabschnitt 122 entsprechende Funktion für ein externes Gerät abfragt.
-
Die folgenden dritten bis fünften Ausführungsformen beschreiben Ausführungsformen, in denen die Steuerungen 1 und 2 gemäß der ersten und zweiten Ausführungsform und eine Mehrzahl von Vorrichtungen, die einen Cloud-Server oder einen Host-Computer, Fog-Computer und Edge-Computer (wie Robotersteuerungen und Steuerungen) umfassen, über ein drahtgebundenes/drahtloses Netzwerk miteinander verbunden sind.
-
Wie in 7 dargestellt, gehen die folgende dritte bis fünfte Ausführungsform von einem System aus, in dem jede der Mehrzahl von Vorrichtungen dazu konfiguriert ist, logisch in die drei Hierarchien einer Schicht mit einem Cloud-Server 6 oder dergleichen, einer Schicht mit Fog-Computern 7 oder dergleichen und einer Schicht mit Edge-Computern 8 (wie in den Zellen 9 umfasste Robotersteuerungen und Steuerungen) in einem Zustand der Verbindung mit einem Netzwerk getrennt zu werden. In einem solchen System können die Steuerung 1 und 2 auf einem von dem Cloud-Server 6, den Fog-Computern 7 und den Edge-Computern 8 montiert werden. Die Steuerungen 1 und 2 können gegenseitig Lerndaten mit der Mehrzahl von Vorrichtungen über das Netzwerk austauschen, um verteiltes Lernen durchzuführen, ein erzeugtes Lernmodell in den Fog-Computern 7 oder dem Cloud-Server 6 aufzunehmen, um eine groß angelegte Analyse durchzuführen, oder die gegenseitige Wiederverwendung des erzeugten Lernmodells oder dergleichen durchzuführen.
-
In dem in 7 dargestellten System wird die Mehrzahl der Zellen 9 in Fabriken an verschiedenen Orten bereitgestellt und von den Fog-Computern 7 einer höheren Schicht für jede vorgeschriebene Einheit (wie beispielsweise jede Fabrik und jede aus einer Mehrzahl von Fabriken desselben Herstellers) verwaltet. Dann werden die von den Fog-Computern 7 gesammelten und analysierten Daten von dem Cloud-Server 6 einer noch höheren Schicht gesammelt und analysiert, und die resultierende Information kann für die Steuerung der jeweiligen Edge-Server oder dergleichen verwendet werden.
-
8 zeigt ein System 170 gemäß der dritten Ausführungsform, bei dem eine Mehrzahl von Robotern zu den Steuerungen 1 und 2 hinzugefügt werden.
-
Das System 170 umfasst eine Mehrzahl von Robotern 160 und 160'. Alle Roboter 160 und 160' sind über ein drahtgebundenes oder drahtloses Netzwerk 172 miteinander verbunden.
-
Die Roboter 160 und 160' besitzen einen Mechanismus für eine Vorgang, um das gleiche Ziel zu erreichen und den gleichen Vorgang durchzuführen. Gleichzeitig umfassen die Roboter 160 die Steuerungen 1 und 2, wobei jedoch die Roboter 160' nicht die gleichen Steuerungen wie die Steuerung 1 und 2 umfassen.
-
Durch Verwenden eines Lernergebnisses des Lernabschnitts 110 können die die Steuerung 1 und 2 umfassenden Roboter 160 die Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 der Arme der Roboter) entsprechend dem Merkmal S5 des Oberflächenzustandes des Werkstücks automatisch und genau berechnen, ohne eine Berechnung oder Schätzung durchzuführen. Außerdem kann die Steuerung 2 von mindestens einem der Roboter 160 dazu konfiguriert werden, die allen Robotern 160 und 160' gemeinsamen Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 der Arme der Roboter) für das Schleifen durch die Roboter unter Verwendung der Zustandsvariablen S und der für jeden der Mehrzahl der Roboter 160 und 160' erhaltenen Bestimmungsdaten D zu erlernen, damit alle Roboter 160 und 160' ein Ergebnis des Lernens miteinander teilen können. Gemäß dem System 170 ist es möglich, die Lerngeschwindigkeit oder Zuverlässigkeit der Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 der Arme der Roboter) für das Schleifen durch die Roboter unter Verwendung einer Vielfalt von Datensätzen (einschließlich der Zustandsgrößen S und der Bestimmungsdaten D) als Eingaben zu verbessern.
-
9 zeigt ein System 170 gemäß der vierten Ausführungsform, das die Mehrzahl der Roboter 160' umfasst.
-
Das System 170 umfasst die Mehrzahl der Roboter 160', die die gleiche Maschinenkonfiguration und maschinelle Lernvorrichtung 120 aus 6 (oder die maschinelle Lernvorrichtung 100 aus 2) aufweisen. Die Mehrzahl der Roboter 160' und die maschinelle Lernvorrichtung 120 (oder die maschinelle Lernvorrichtung 100) sind über das drahtgebundene oder drahtlose Netzwerk 172 miteinander verbunden.
-
Die maschinelle Lernvorrichtung 120 (oder die maschinelle Lernvorrichtung 100) erlernt die allen Robotern 160' gemeinsamen Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 der Arme der Roboter) zum Schleifen durch die Roboter auf der Grundlage der für jeden der Mehrzahl von Robotern 160' erhaltenen Zustandsvariablen S und Bestimmungsdaten D. Durch Verwenden eines Ergebnisses des Lernens kann die maschinelle Lernvorrichtung 120 (oder die maschinelle Lernvorrichtung 100) automatisch und genau die Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 der Arme der Roboter) entsprechend dem Merkmal S5 des Oberflächenzustandes des Werkstücks berechnen, ohne eine Berechnung oder Schätzung durchzuführen.
-
Die maschinelle Lernvorrichtung 120 (oder die maschinelle Lernvorrichtung 100) kann auf einem Cloud-Server, einem Fog-Computer, einem Edge-Computer oder dergleichen montiert werden. Entsprechend der Konfiguration kann eine erforderliche Anzahl der Roboter 160' je nach Bedarf mit der maschinellen Lernvorrichtung 120 (oder der maschinellen Lernvorrichtung 100) verbunden werden, unabhängig von den vorhandenen Positionen oder Zeiten der Mehrzahl der Roboter 160'.
-
Das System 170 oder ein das System 170 verwaltender Bediener kann eine Bestimmung darüber durchführen, ob der Erreichungsgrad des Erlernens der Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 der Arme der Roboter) durch die maschinelle Lernvorrichtung 120 (oder die maschinelle Lernvorrichtung 100) (d.h. die die Zuverlässigkeit der ausgegebenen Schleifbedingungen (die Drehzahl S1, das Drehmoment S2 und die Presskraft S3 des Schleifwerkzeugs 70 und die Aktionsgeschwindigkeit S4 der Arme der Roboter)) zu einem geeigneten Zeitpunkt nach Beginn des Lernens durch die maschinelle Lernvorrichtung 120 (oder 100) ein gefordertes Niveau erreicht haben.
-
10 zeigt das System 170 gemäß der fünften Ausführungsform mit den Steuerungen 1.
-
Das System 170 umfasst mindestens eine maschinelle Lernvorrichtung 100', die an einem Computer 5 montiert ist, wie beispielsweise einem Edge-Computer, einem Fog-Computer, einem Host-Computer und einem Cloud-Server, mindestens die eine Steuerung 1, die als eine Steuerung (Edge-Computer), die den Roboter 160 steuert, montiert ist, und das drahtgebundene/drahtlose Netzwerk 172, das den Computer 5 und die Roboter 160 miteinander verbindet.
-
In dem System 170 mit der obigen Konfiguration erfasst der die maschinellen Lernvorrichtung 100' umfassende Computer 5 Lernmodelle, die als Ergebnisse des maschinellen Lernens durch die maschinellen Lernvorrichtungen 100 der Steuerungen 1 von den die jeweiligen Roboter 160 steuernden Steuerungen 1 erhalten werden. Dann führt die maschinelle Lernvorrichtung 100' des Computers 5 eine Verarbeitung zur Optimierung oder Verbesserung der Effizienz des Wissens basierend auf der Mehrzahl von Lernmodellen durch, um ein optimiertes oder effizientes Lernmodell neu zu erzeugen, und verteilt das erzeugte Lernmodell an die Steuerungen 1, die die jeweiligen Roboter 160 steuern.
-
Als Beispiel für die Optimierung oder Verbesserung der Effizienz der von der maschinellen Lernvorrichtung 100' durchgeführten Lernmodelle wird angenommen, dass ein Destillationsmodell basierend auf der Mehrzahl der von den jeweiligen Steuerungen 1 erfassten Lernmodelle erzeugt wird. In diesem Fall erzeugt die maschinelle Lernvorrichtung 100' gemäß der vorliegenden Ausführungsform Eingabedaten, die in die Lernmodelle eingegeben werden sollen, und führt unter Verwendung der Ausgaben, die als ein Ergebnis der Eingabe der Eingabedaten in die jeweiligen Lernmodelle erhalten wurden, das Lernen neu durch, um das Lernmodell (Destillationsmodell) neu zu erzeugen. Wie vorstehend beschrieben, wird das so erzeugte Destillationsmodell weiter bevorzugt über ein externes Speichermedium, ein Netzwerk oder dergleichen auf andere Computer verteilt.
-
Als weiteres Beispiel für die Optimierung oder Verbesserung der Effizienz der von der maschinellen Lernvorrichtung 100' durchgeführten Lernmodelle wird ferner angenommen, dass die Verteilung der Ausgaben der jeweiligen Lernmodelle in Bezug auf die Eingabedaten nach einem allgemeinen statistischen Verfahren analysiert werden, Ausreißer aus den Sätzen der Eingabedaten und Ausgabedaten extrahiert werden und eine Destillation unter Verwendung der Sätze der Eingabedaten und der Ausgabedaten ohne die Ausreißer im Prozess der Destillation in Bezug auf die Mehrzahl der von den jeweiligen Steuerungen 1 erfassten Lernmodelle durchgeführt wird. Durch Durchlaufen eines solchen Prozesses ist es möglich, außergewöhnliche geschätzte Ergebnisse aus den Sätzen der Eingangsdaten und der Ausgangsdaten aus den jeweiligen Lernmodellen auszuschließen und ein Destillationsmodell unter Verwendung der Sätze der Eingangsdaten und der Ausgangsdaten ohne die außergewöhnlichen geschätzten Ergebnisse zu erzeugen. Als das so erzeugte Destillationsmodell kann aus den von der Mehrzahl der Steuerungen 1 erzeugten Lernmodellen ein universelles Destillationsmodell für die von den Steuerungen 1 gesteuerten Roboter 160 erzeugt werden.
-
Es ist zu beachten, dass es zudem möglich ist, ein Verfahren zur Optimierung oder Verbesserung der Effizienz anderer allgemeiner Lernmodelle in geeigneter Weise einzusetzen (z.B. ein Verfahren, bei der entsprechende Lernmodelle analysiert werden und die Hyperparameter der Lernmodelle auf der Grundlage der Ergebnisse der Analyse optimiert werden).
-
Das System 170 gemäß der vorliegenden Ausführungsform ermöglicht einen Betrieb, bei dem die maschinelle Lernvorrichtung 100' an dem als ein Fog-Computer dienenden Computer 5, der in Bezug auf die Mehrzahl von Robotern 160 (die Steuerungen 1) installiert ist, die beispielsweise als Edge-Computer dienen, angeordnet ist, Lernmodelle, die von den jeweiligen Robotern 160 (den Steuerungen 1) erzeugt werden, intensiv auf dem Fog-Computer gespeichert werden und ein optimiertes oder effizientes Lernmodell erneut auf die jeweiligen Roboter 160 (die Steuerungen 1) verteilt wird, wenn dies nach der Optimierung oder der Verbesserung der Effizienz der Mehrzahl von Lernmodellen erforderlich ist.
-
Darüber hinaus ermöglicht das System 170 gemäß der vorliegenden Ausführungsform einen Betrieb, bei dem auf den beispielsweise als Fog-Computer dienenden Computer 5 intensiv gespeicherte Lernmodelle und ein auf dem Fog-Computer optimiertes oder effizient gemachtes Lernmodell in einem noch höheren Host-Computer oder Cloud-Server gesammelt werden und die Lernmodelle auf intellektuelle Betriebsvorgänge in Fabriken oder bei den Herstellern der Roboter 160 angewendet werden (wie dem Aufbau und die Neuverteilung eines weiteren universellen Lernmodells auf dem höheren Server, die Unterstützung eines Wartungsvorgangs auf der Grundlage eines Ergebnisses der Analyse des Lernmodells, die Analyse der Leistung oder dergleichen der jeweiligen Roboter 160 und die Anwendung auf die Entwicklung neuer Maschinen).
-
11 ist ein schematisches Hardware-Konfigurationsdiagramm des in 10 dargestellten Computers 5.
-
Eine CPU 511 des Computers 5 ist ein Prozessor, der den Computer 5 vollständig steuert. Die CPU 511 liest über einen Bus 520 ein in einem ROM 512 gespeichertes Systemprogramm und steuert den gesamten Computer 5 gemäß dem Systemprogramm. In einem RAM 513 werden temporäre Berechnungsdaten, verschiedene von einem Bediener über eine Eingabevorrichtung 531 eingegebene Daten oder dergleichen zwischengespeichert.
-
Ein nichtflüchtiger Speicher 514 besteht aus einem Speicher, der beispielsweise durch eine Batterie (nicht dargestellt), ein SSD (Solid State Drive) oder dergleichen gesichert ist und seinen Speicherzustand auch dann beibehält, wenn die Stromversorgung des Computers 5 ausgeschaltet ist. Der nichtflüchtige Speicher 514 weist einen Einstellbereich auf, in dem Einstellinformation gespeichert wird, die der Aktion des Computers 5 zugeordnet ist. In dem nichtflüchtigen Speicher 514 werden von der Eingabevorrichtung 531 eingegebene Daten, Lernmodelle, die von (den Steuerungen) der jeweiligen Roboter 160 erfasst werden, Daten, die über eine externe Speichervorrichtung (nicht dargestellt) oder ein Netzwerk oder dergleichen gelesen werden, gespeichert. Ein Programm oder verschiedene Daten, die in dem nichtflüchtigen Speicher 514 gespeichert sind, können bei Ausführung/Benutzung in den RAM 513 übernommen werden. Außerdem wird in dem ROM 512 ein ein bekanntes Analyseprogramm zur Analyse verschiedener Daten umfassendes Systemprogramm im Voraus geschrieben.
-
Der Computer 5 ist über eine Schnittstelle 516 mit dem Netzwerk 172 verbunden. Mindestens ein Roboter 160, andere Computer oder dergleichen sind mit dem Netzwerk 172 verbunden und tauschen gegenseitig Daten mit dem Computer 5 aus.
-
Auf einer Anzeigevorrichtung 530 werden Daten, die als Ergebnis der Ausführung aller Daten, eines Programms oder dergleichen auf einem Speicher oder dergleichen gelesen werden, ausgegeben und über eine Schnittstelle 517 angezeigt. Außerdem überträgt die Eingabevorrichtung 531, die aus einer Tastatur, einer Zeigevorrichtung oder dergleichen besteht, einen Befehl basierend auf einer Bedienung durch einen Bediener, Daten oder dergleichen über eine Schnittstelle 518 an die CPU 511.
-
Es ist zu beachten, dass die maschinelle Lernvorrichtung 100 die gleiche Hardwarekonfiguration umfasst, wie diejenige, die in Bezug auf 1 beschrieben ist, mit der Ausnahme, dass die maschinelle Lernvorrichtung 100 zur Optimierung oder Verbesserung der Effizienz von Lernmodellen in Zusammenarbeit mit der CPU 511 des Computers 5 verwendet wird.
-
12 zeigt das System 170 gemäß einer sechsten Ausführungsform, die die Steuerungen 1 umfasst. Das System 170 umfasst die Mehrzahl von Steuerungen 1, die als die Roboter 160 steuernden Steuerungen (Edge-Computer) montiert sind, eine Mehrzahl von anderen Robotern 160 (Steuerungen 1) und das drahtgebundene/drahtlose Netzwerk 172, das die Mehrzahl von Steuerungen 1 und die Mehrzahl von anderen Robotern 160 miteinander verbindet.
-
In dem System 170 mit der obigen Konfiguration führen die Steuerungen 1, die die maschinellen Lernvorrichtungen 100 umfassen, maschinelles Lernen basierend auf den von den zu steuernden Robotern 160 erfassten Zustandsdaten und Bestimmungsdaten und den von anderen Robotern 160' (die die maschinellen Lernvorrichtungen 100 nicht umfassen) erfassten Zustandsdaten und Bestimmungsdaten durch, um ein Lernmodell zu erzeugen. Das so erzeugte Lernmodell wird nicht nur für die Bestimmung der Schleifbedingungen in der Schleifaktion der von den Steuerungen 1 selbst gesteuerten Roboter 160 verwendet, sondern auch für die Bestimmung der Schleifbedingungen in der Schleifaktion von (den Steuerungen) anderen Robotern 160 als Reaktion auf Anfragen von anderen Robotern 160', die die maschinellen Lernvorrichtungen 100 nicht umfassen. Wenn die Steuerung 1, die die maschinelle Lernvorrichtung 100 umfasst, vor der Erzeugung eines Lernmodells neu in das System 170 eingeführt wird, ist es außerdem möglich, über das Netzwerk 172 ein Lernmodell von einer anderen Steuerung 1, die das Lernmodell umfasst, zu erfassen und dieses zu verwenden.
-
Das System nach der vorliegenden Ausführungsform ermöglicht die gemeinsame Nutzung von Daten oder eines Lernmodells zum Lernen zwischen der Mehrzahl von Robotern 160 (den Steuerungen 1), die als sogenannte Edge-Computer dienen. Daher wird eine Verbesserung der Effizienz des maschinellen Lernens oder eine Senkung der Kosten des maschinellen Lernens (wie die gemeinsame Nutzung der maschinellen Lernvorrichtung 100 mit anderen Robotern 160 durch die Einführung der maschinellen Lernvorrichtung 100 in nur eine der Steuerungen (die Steuerungen 1), die die Roboter 160 steuern) ermöglicht.
-
Die Ausführungsformen der vorliegenden Erfindung sind vorstehend beschrieben. Die vorliegende Erfindung ist jedoch nicht auf die Beispiele der oben genannten Ausführungsformen beschränkt und kann auf verschiedene Arten durch Hinzufügen geeigneter Modifikationen durchgeführt werden.
-
So sind beispielsweise ein von der maschinellen Lernvorrichtung 100 oder der maschinellen Lernvorrichtung 120 ausgeführter Lernalgorithmus, ein von der maschinellen Lernvorrichtung 120 ausgeführter Berechnungsalgorithmus und ein von der Steuerung 1 oder der Steuerung 2 ausgeführter Steueralgorithmus nicht auf die obigen Algorithmen beschränkt, sondern es können verschiedene Algorithmen verwendet werden.
-
Darüber hinaus wird in den vorstehenden Ausführungsformen beschrieben, dass die Steuerung 1 (oder die Steuerung 2) und die maschinelle Lernvorrichtung 100 (oder die maschinelle Lernvorrichtung 120) unterschiedliche CPUs aufweisen, wobei jedoch die maschinelle Lernvorrichtung 100 (oder die maschinelle Lernvorrichtung 120) durch die CPU 11 der Steuerung 1 (oder die Steuerung 2) und das in dem ROM 12 gespeicherte Systemprogramm realisiert werden kann.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- JP 2018053409 [0001]
- JP 2019001285 [0001]
- JP 7246552 [0004, 0005]
- JP 5196444 [0004, 0005]