-
ALLGEMEINER STAND DER TECHNIK
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine Bauteilzuführvorrichtung und eine maschinelle Lernvorrichtung und betrifft insbesondere eine Bauteilzuführvorrichtung und eine maschinelle Lernvorrichtung, die die Betriebsparameter optimieren.
-
Beschreibung des Standes der Technik
-
In einer Produktionslinie für die Produktmontage entnimmt ein Montageroboter manchmal ein auf einer Palette platziertes Bauteil auf und integriert es beispielsweise in ein Produkt. Die Bauteile werden mit einheitlichen Stellungen (zwei Seiten oder Richtungen) auf der Palette so abgelegt, dass der Montageroboter die Bauteile leicht greifen kann. Die Zuführung solcher Bauteile mit einheitlichen Stellungen wird durch eine Bauteilzuführung ausgeführt (siehe beispielsweise die offengelegte
Japanische Patentanmeldung Nr. 2017-030097 ).
-
9 stellt eine Teilkonfiguration einer Bauteilzuführvorrichtung dar. Wie in 9 dargestellt, wird die Platzierung der Bauteile 5 auf eine Palette (nicht dargestellt) durch eine Bauteilzuführeinrichtung 1 so ausgeführt, dass ein Roboter 6 die Bauteile 5, die willkürlich auf einer Ablage 4 verteilt sind, aufnimmt und die Bauteile 5 auf der Palette ablegt, während beispielsweise die Stellungen der Bauteile 5 aufeinander abgestimmt werden. Auf der Ablage 4 sind Bauteile 5a, deren Vorderseite nach oben zeigen, und Bauteile 5b, deren Rückseite nach oben zeigen, verteilt. Die Bauteilzuführvorrichtung 1 erkennt einen Zustand jedes der Bauteile 5 durch eine Bildgebungseinheit 60, die von der Oberseite ein Bild der Ablage 4 aufnimmt, und greift und nimmt die Bauteile 5a, deren Vorderseiten nach oben zeigen und leicht zu greifen sind, durch den Roboter 6 auf, um die Bauteile 5a auf der Palette abzusetzen.
-
Während der Betriebsvorgang zur Übergabe der Bauteile 5 auf die Palette wie oben beschrieben fortgesetzt wird, werden die Bauteile 5a, deren Vorderseiten nach oben zeigen, auf der Ablage 4 auf Null reduziert. Deshalb sind beispielsweise an vier Ecken der Ablage 4 Schwingungseinheiten 50 vorgesehen, die aus einem Aktor, wie einer Schwingspule und einem Zylinder, bestehen. Wenn der Anteil der Bauteile 5b, deren Rückseite nach oben zeigt, unter den Bauteilen 5 auf der Ablage 4 erhöht wird, lässt die Bauteilzuführeinrichtung 1 jede der Schwingungseinheiten 50 mit einer vorbestimmten Größe und einer vorbestimmten Frequenz mit einer vorbestimmten Phasendifferenz für eine vorbestimmte Zeitdauer schwingen, um die Bauteile 5b, die auf der Ablage 4 umgekehrt sind, umzudrehen oder die Bauteile 5, die sich an den Rändern der Ablage 4 befinden und somit nicht leicht zu greifen sind, in die Mitte der Ablage zu verschieben. Die Bauteilzuführvorrichtung 1 versucht also, die Bauteile 5 auf der Ablage 4 greifbar zu machen. Wenn des Weiteren die Anzahl der Bauteile auf der Ablage 4 etwas verringert wird, führt die Bauteilzuführvorrichtung 1 die Bauteile über eine nicht abgebildete Bauteilzuführungsvorrichtung erneut auf die Ablage 4 zu.
-
Der oben beschriebene Ablageschwingungsbetrieb durch die Bauteilzuführvorrichtung 1 wird basierend auf Betriebsparametern (Schwingungsgröße, Schwingungsfrequenz, Phasendifferenz der Schwingung, Schwingungszeit und dergleichen) ausgeführt. Betriebsparameter, durch welche sich die Stellungen der Bauteile auf der Ablage 4 effizient in Stellungen umwandeln lassen, in denen die Bauteile leicht zu greifen sind, variieren beispielsweise abhängig von Gewichten, Größen und Formen von Bauteilen, sodass ein erfahrener Bediener die Betriebsparameter durch Ausprobieren einstellen muss. Die Einstellung von Betriebsparametern stellt somit eine erhebliche Belastung für einen Betriebsprozess dar.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Es ist eine Aufgabe der vorliegenden Erfindung, eine Bauteilzuführvorrichtung und eine maschinelle Lernvorrichtung bereitzustellen, die in der Lage sind, die Betriebsparameter für einen Ablageschwingungsbetrieb automatisch einzustellen.
-
Die Bauteilzuführvorrichtung gemäß der vorliegenden Erfindung löst das oben genannte Problem so, dass die Bauteilzuführvorrichtung das maschinelle Lernen von Betriebsparametern einer Schwingungseinheit (Erregereinheit), die eine Ablage zum Schwingen bringt, in Bezug auf die Arten von Bauteilen (Gewichte, Größen und Formen) und eine Anordnung der Bauteile auf der Ablage durchführt und basierend auf dem Ergebnis des maschinellen Lernens die Stellungen der auf der Ablage angeordneten Bauteile effizient in Stellungen ändert, in denen die Bauteile leicht ergriffen werden können.
-
Gemäß einem Aspekt der vorliegenden Erfindung umfasst eine Bauteilzuführvorrichtung, die auf einer Ablage abgelegte Bauteile zuführt und Betriebsparameter für einen Schwingungsbetrieb der Ablage bestimmt, durch den eine Anordnung und eine Stellung der auf der Ablage abgelegten Bauteile verändert werden, eine maschinelle Lernvorrichtung, die die Betriebsparameter für den Schwingungsbetrieb lernt. Die maschinelle Lernvorrichtung umfasst: eine Zustandsbeobachtungseinheit, die Schwingungsbetriebsparameterdaten, die die Betriebsparameter für den Schwingungsbetrieb repräsentieren, und Bauteilanordnungsdaten, die eine Anordnung und eine Stellung der Bauteile auf der Ablage repräsentieren, als eine Zustandsvariable beobachtet, die einen aktuellen Zustand einer Umwelt repräsentiert; eine Bestimmungsdatenerfassungseinheit, die Bestimmungsdaten erfasst, die ein Eignungsbestimmungsergebnis des Schwingungsbetriebs repräsentieren, das eine Effizienz bei der Zuführung der Bauteile repräsentiert; und eine Lerneinheit, die unter Verwendung der Zustandsvariable und der Bestimmungsdaten die Betriebsparameter für den Schwingungsbetrieb und die Bauteilanordnungsdaten lernt, während sie die Betriebsparameter für den Schwingungsbetrieb den Bauteilanordnungsdaten zuordnet.
-
Gemäß einem weiteren Aspekt der vorliegenden Erfindung umfasst eine maschinelle Lernvorrichtung, die Betriebsparameter für einen Schwingungsbetrieb einer Ablage, in einer Bauteilzuführvorrichtung zum Zuführen von auf der Ablage abgelegten Bauteilen, durch den eine Anordnung und eine Stellung von den auf der Ablage abgelegten Bauteilen geändert wird, lernt: eine Zustandsbeobachtungseinheit, die Schwingungsbetriebsparameterdaten, die die Betriebsparameter für den Schwingungsbetrieb repräsentieren, Bauteilanordnungsdaten, die eine Anordnung und eine Stellung der Bauteile auf der Ablage repräsentieren, und Bauteilartdaten, die eine Art der Bauteile repräsentieren, als eine Zustandsvariable beobachtet, die einen aktuellen Zustand einer Umwelt repräsentiert; eine Bestimmungsdatenerfassungseinheit, die Bestimmungsdaten erfasst, die ein Eignungsbestimmungsergebnis des Schwingungsbetriebs repräsentieren, das eine Effizienz bei der Zuführung der Bauteile repräsentiert; und eine Lerneinheit, die unter Verwendung der Zustandsvariable und der Bestimmungsdaten die Betriebsparameter für den Schwingungsbetrieb, die Bauteilanordnungsdaten und die Bauteilartdaten lernt, während sie die Betriebsparameter für den Schwingungsbetrieb den Bauteilanordnungsdaten und den Bauteilartdaten zuordnet.
-
Die vorliegende Erfindung verwirklicht die schnelle Einstellung von Betriebsparametern, um die auf der Ablage der Bauteilzuführvorrichtung angeordneten Stellungen der Bauteile effizient in Stellungen zu bringen, in denen die Bauteile leicht zu greifen sind.
-
Figurenliste
-
Die oben beschriebenen und weitere Aufgaben und Merkmale der vorliegenden Erfindung werden aus den folgenden Ausführungsformen ersichtlich, die mit Bezug auf die beigefügten Zeichnungen beschrieben sind. Diese Zeichnungen zeigen:
- 1 ist ein schematisches Hardware-Konfigurationsdiagramm, das eine Bauteilzuführvorrichtung gemäß der ersten Ausführungsform darstellt;
- 2 ist ein schematisches Funktionsblockschaltbild, das die Bauteilzuführvorrichtung gemäß der ersten Ausführungsform darstellt;
- 3 ist ein schematisches Funktionsblockschaltbild, das einen Aspekt der Bauteilzuführvorrichtung darstellt;
- 4 ist ein schematisches Flussdiagramm, das einen Aspekt eines maschinellen Lernverfahrens darstellt;
- 5A stellt ein Neuron dar;
- 5B stellt ein neuronales Netzwerk dar;
- 6 ist ein schematisches Funktionsblockschaltbild, das eine Bauteilzuführvorrichtung gemäß der zweiten Ausführungsform darstellt;
- 7 ist ein schematisches Funktionsblockschaltbild, das einen Aspekt eines Systems darstellt, in dem Bauteilzuführvorrichtungen integriert sind;
- 8 ist ein schematisches Funktionsblockschaltbild, das einen weiteren Aspekt eines Systems darstellt, in demBauteilzuführvorrichtungen integriert sind; und
- 9 zeigt eine Teilkonfiguration der Bauteilzuführvorrichtung.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Die Ausführungsformen der vorliegenden Erfindung werden im Folgenden unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
-
1 ist ein schematisches Hardware-Konfigurationsdiagramm, das die Hauptteile einer Bauteilzuführvorrichtung gemäß der ersten Ausführungsform darstellt. Eine Bauteilzuführvorrichtung 1 kann als Bauteilzuführvorrichtung zum Zuführen von Bauteilen zu einem Industrieroboter (nicht dargestellt), der beispielsweise elektronische Bauteile montiert, aufgestellt werden. Eine CPU 11, die in der Bauteilzuführvorrichtung 1 gemäß der vorliegenden Ausführungsform umfasst ist, ist ein Prozessor zur gesamten Steuerung der Bauteilzuführvorrichtung 1. Die CPU 11 liest ein in einem ROM 12 gespeichertes Systemprogramm über einen Bus 20 aus und steuert die gesamte Bauteilzuführvorrichtung 1 entsprechend dem Systemprogramm. In einem RAM 13 werden transiente Berechnungsdaten oder Anzeigedaten, verschiedene Arten von Daten, die von einem Bediener über eine nicht dargestellte Eingabeeinheit eingegeben werden, und dergleichen zwischengespeichert.
-
Ein nichtflüchtiger Speicher 14 ist als Speicher konfiguriert, der beispielsweise durch eine Batterie gesichert wird, die nicht abgebildet ist, und somit auch dann ein Speicherzustand beibehalten wird, wenn die Bauteilzuführvorrichtung 1 abgeschaltet ist. Der nichtflüchtige Speicher 14 speichert verschiedene Arten von Daten (beispielsweise Betriebsparameter, wie Größe und eine Frequenz der Schwingung der Schwingungseinheit 50, Zeitpunkt der Schwingung und eine Phasendifferenz, Art der zuzuführenden Bauteile, Gewichte, Formen und Größen der Bauteile), die von einem Bediener über eine Eingabeeinheit, die nicht dargestellt ist, eingegeben werden, ein Steuerprogramm, das über eine Schnittstelle eingegeben wird, die nicht dargestellt ist, und dergleichen. Das Programm und verschiedene Arten von Daten, die im nichtflüchtigen Speicher 14 gespeichert sind, können im RAM 13 erweitert werden, wenn das Programm und die Daten ausgeführt oder verwendet werden. Im ROM 12 werden verschiedene Arten von Systemprogrammen, wie etwa ein bekanntes Analyseprogramm zur Analyse einer Anordnung und von Stellungen von Bauteilen auf der Ablage 4, basierend auf einem von der Bildgebungseinheit 60 aufgenommenen Bild (mit einem Systemprogramm zur Steuerung der Kommunikation mit einer maschinellen Lernvorrichtung 100, das später beschrieben wird), vorläufig geschrieben.
-
Ein Steuerkreis 30 steuert die für die Ablage 4 vorgesehene Schwingungseinheit 50 in Erwiderung auf einen Befehl der CPU 11. Der Steuerkreis 30 kann beispielsweise so konfiguriert werden, dass er eine Schwingungsgröße (Amplitude) und eine Schwingungsfrequenz der Schwingungseinheit 50 steuern kann. Außerdem kann der Steuerkreis 30 so konfiguriert werden, dass er die Zeit steuern kann, in der die Schwingungseinheit 50 schwingt. Hier werden der Ablage 4 in der oben genannten Technik des Standes der Technik vier Schwingungseinheiten 50 bereitgestellt, wobei jedoch die Stellungen der Bauteile 5 auf der Ablage 4 von mindestens einer Schwingungseinheit 50 gesteuert werden können. In dem Fall, in eine Vielzahl von Schwingungseinheiten 50 für die Ablage 4 vorgesehen sind, kann der Steuerkreis 30 so konfiguriert werden, dass er eine Phasendifferenz/Phasendifferenzen zwischen den Schwingungseinheiten 50 steuern kann.
-
Die Bildgebungseinheit 60 nimmt ein Bild der auf der Ablage 4 angeordneten Bauteil 5 auf. Die Bildgebungseinheit 60 kann in der Lage sein, zumindest von einem Bereich der Ablage 4, in dem die Bauteile 5 angeordnet sind, ein Bild aufzunehmen. Die Bildgebungseinheit 60 überträgt ein aufgenommenes Bild der Ablage 4 über eine Schnittstelle 18 an die CPU 11.
-
Eine Robotersteuerung 70 ist eine Steuervorrichtung zur Steuerung eines Roboters, der die auf der Ablage 4 angeordneten Bauteile 5 zu einer Palette oder dergleichen weiterleitet. Die Robotersteuerung 70 steuert den Roboter über eine Schnittstelle 19 so, dass der Roboter basierend auf einem Analyseergebnis eines von der Bildgebungseinheit 60 aufgenommenen Bildes des Ablage 4 die leicht zu greifenden Bauteile 5 auf der Ablage 4 auf eine Palette oder ähnliches überträgt. Weiterhin meldet die Robotersteuerung 70 der CPU 11 bei Bedarf einen Betriebszustand des Roboters über die Schnittstelle 19.
-
Eine Schnittstelle 21 ist eine Schnittstelle zur Verbindung der Bauteilzuführvorrichtung 1 mit der maschinellen Lernvorrichtung 100. Die maschinelle Lernvorrichtung umfasst einen Prozessor 101 zum Steuern der gesamten maschinellen Lernvorrichtung 100, einen ROM 102, der ein Systemprogramm und dergleichen speichert, einen RAM 103 zum Ausführen einer Zwischenspeicherung in jeder Verarbeitung, die mit dem maschinellen Lernen zusammenhängt, und einen nichtflüchtigen Speicher 104 zur Speicherung eines Lernmodells oder dergleichen. Die maschinelle Lernvorrichtung 100 ist in der Lage, verschiedene Informationen (zum Beispiel Betriebsparameter der Schwingungseinheit 50, Analyseergebnisse einer Anordnung und von Stellungen von Bauteilen auf der Ablage 4, die durch die Bildgebungseinheit 60 erhalten werden, Arten von Bauteilen, sowie Gewichte, Formen und Größen des Bauteils), die über die Schnittstelle 21 von der Bauteilzuführvorrichtung 1 erfasst werden können, zu beobachten. Die Bauteilzuführvorrichtung 1 legt beispielsweise in Erwiderung auf einen Befehl, der von der maschinellen Lernvorrichtung 100 ausgegeben wird, Betriebsparameter der Schwingungseinheit 50 fest, die im nichtflüchtigen Speicher 14 gespeichert sind, um die Betriebsparameter der Schwingungseinheit 50 einzustellen.
-
2 ist ein schematisches Funktionsblockschaltbild, das die Bauteilzuführvorrichtung 1 und die maschinelle Lernvorrichtung 100 gemäß der ersten Ausführungsform darstellt. Die maschinelle Lernvorrichtung 100 umfasst Software (einen Lernalgorithmus und dergleichen) und Hardware (den Prozessor 101 und dergleichen), durch die die maschinelle Lernvorrichtung 100 Betriebsparameter der Schwingungseinheit 50 in Bezug auf eine Anordnung und auf Stellungen von Bauteilen auf der Ablage 4 und Arten der Bauteile durch sogenanntes maschinelles Lernen von selbst erlernt. Was die in der Bauteilzuführvorrichtung 1 umfasste maschinelle Lernvorrichtung 100 lernt, entspricht einer Modellstruktur, die eine Korrelation einer Anordnung und Stellungen von Bauteilen auf der Ablage 4 und Arten der Bauteile in Bezug auf Betriebsparameter der Schwingungseinheit 50 darstellt.
-
Wie im Funktionsblock von 2 dargestellt, umfasst die in der Bauteilzuführung 1 umfasste maschinelle Lernvorrichtung 100 eine Zustandsbeobachtungseinheit 106, eine Bestimmungsdatenerfassungseinheit 108 und eine Lerneinheit 110. Die Zustandsbeobachtungseinheit 106 beobachtet einen aktuellen Zustand einer Umwelt als Zustandsvariablen S, die Schwingungsbetriebsparameterdaten S1, die Betriebsparameter der Schwingungseinheit 50 darstellen, Bauteilanordnungsdaten S2, die eine Anordnung und Stellungen von Bauteilen auf der Ablage 4 darstellen, und Bauteilartendaten S3, die Arten von Bauteilen darstellen, umfassen. Die Bestimmungsdatenerfassungseinheit 108 erfasst die Bestimmungsdaten D, die Schwingungsbetriebsbestimmungsdaten D1 umfassen, die ein Eignungsbestimmungsergebnis eines Ablageschwingungsbetriebs in dem Fall darstellen, in dem Betriebsparameter der Schwingungseinheit 50 eingestellt sind. Die Lerneinheit 110 führt unter Verwendung der Zustandsvariablen S und der Bestimmungsdaten D ein Lernen aus, während sie eine Anordnung und Stellungen von Bauteilen auf der Ablage 4 und Arten der Bauteile den Schwingungsbetriebsparameterdaten S1 zuordnet.
-
Die Zustandsbeobachtungseinheit 106 kann zum Beispiel als eine Funktion des Prozessors 101 konfiguriert werden. Alternativ kann die Zustandsbeobachtungseinheit 106 als Software konfiguriert werden, die verwendet wird um zu bewirken, dass der Prozessor 101 arbeitet und beispielsweise im ROM 102 gespeichert wird. Die Schwingungsbetriebsparameterdaten S1 unter den von der Zustandsbeobachtungseinheit 106 beobachteten Zustandsvariablen S können als ein Satz von Betriebsparametern erfasst werden, die zur Steuerung der Schwingungseinheit 50 verwendet werden. Als Betriebsparameter, die zum Steuern der Schwingungseinheit 50 verwendet werden, werden eine Schwingungsgröße, eine Schwingungsfrequenz und dergleichen dargestellt, und die Schwingungszeit, eine Phasendifferenz zwischen einer Vielzahl von Schwingungseinheiten 50 und dergleichen können gegebenenfalls ebenfalls eingesetzt werden. Derartige Betriebsparameter, die zur Steuerung der Schwingungseinheit 50 verwendet werden, können abhängig von der Art eines für die Schwingungseinheit 50 verwendeten Aktors und einem Installationszustand der Schwingungseinheit 50 in Bezug auf die Ablage 4 entsprechend eingestellt werden.
-
Als die Schwingungsbetriebsparameterdaten S1 können in einer ersten Lernphase Betriebsparameter der Schwingungseinheit 50 verwendet werden, die der Bauteilzuführvorrichtung 1 beispielsweise durch Vorschlag eines erfahrenen Bediener zur Verfügung gestellt werden. Weiterhin können in einer Phase, in der das Lernen bis zu einem gewissen Grad fortgeschritten ist, Betriebsparameter der Schwingungseinheit 50, die durch die maschinelle Lernvorrichtung 100 in einer vorangegangenen Lernphase basierend auf einem Lernergebnis, das durch die Lerneinheit 110 erhalten wurde, bestimmt werden, als die Schwingungsbetriebsparameterdaten S1 verwendet werden. In diesem Fall kann die maschinelle Lernvorrichtung 100 bestimmte Betriebsparameter der Schwingungseinheit 50 in jeder Lernperiode im RAM 103 zwischenspeichern und die Zustandsbeobachtungseinheit 106 kann die Betriebsparameter der Schwingungseinheit 50, die durch die maschinelle Lernvorrichtung 100 in einer vorangegangenen Lernperiode bestimmt werden, aus dem RAM 103 erfassen.
-
Als die Bauteilanordnungsdaten S2 unter den Zustandsvariablen S können beispielsweise Daten verwendet werden, die sich auf eine Anordnung und auf Stellungen von Bauteilen auf der Ablage 4 beziehen und basierend auf einem von der Bildgebungseinheit 60 aufgenommenen Bild analysiert werden. Hier können bezüglich einer Anordnung von Bauteilen als Bauteilanordnungsdaten S2 Koordinatenwerte der jeweiligen Bauteile auf einem Koordinatensystem, die durch die Verwendung einer vorgegebenen Position als Referenz auf der Ablage 4 erhalten werden, verwendet werden. Ferner können bezüglich der Stellungen von Bauteilen als die Bauteilanordnungsdaten S2 Daten verwendet werden, die lediglich darstellen, ob eine Vorderseite oder eine Rückseite eines jeden Bauteils nach oben zeigt, oder genauer, es kann eine Winkelablenkung eines jeden Bauteils, aus einer Richtung eines Referenzbauteils betrachtet, verwendet werden.
-
Als die Bauteilartdaten S3 unter den Zustandsvariablen S können von einem Bediener in Bezug auf die Bauteilzuführvorrichtung 1 eingestellte Bauteilarten verwendet werden. Ferner können Gewichte oder Formen von Bauteilen oder Größen von Bauteilen als Bauteildaten S3 entsprechend einem Verwendungszweck verwendet werden. Im ersteren Fall können die Betriebsparameter der Schwingungseinheit 50 für jede Art von Bauteilen erlernt werden. Indessen können Betriebsparameter der Schwingungseinheit 50 in Bezug auf ähnliche Gewichte, Formen und Größen von Bauteilen im letztgenannten Fall erlernt werden.
-
Die Bestimmungsdatenerfassungseinheit 108 kann beispielsweise als eine Funktion des Prozessors 101 konfiguriert werden. Alternativ kann die Bestimmungsdatenerfassungseinheit 108 als Software konfiguriert werden, die verwendet wird, um zu bewirken, dass der Prozessor 101 arbeitet, und beispielsweise im ROM 102 gespeichert wird. Die Bestimmungsdatenerfassungseinheit 108 kann die Schwingungsbetriebsbestimmungsdaten D1, die ein Eignungsbestimmungswert des Ablageschwingungsbetriebs sind, in dem Fall, in dem Betriebsparameter der Schwingungseinheit 50 eingestellt sind, als die Bestimmungsdaten D verwenden. Die Bestimmungsdatenerfassungseinheit 108 kann eine für die Zuführung einer vorbestimmten Stückzahl von Bauteilen von der Ablage 4 (ein Betriebsvorgang zum Überführen von Bauteilen durch einen Roboter) verwendete Zeit (Zykluszeit) oder die Stückzahl von Bauteilen, die innerhalb eines vorbestimmten Zeitraums von der Ablage 4 zugeführt werden können, als die Bestimmungsdaten D1 für den Schwingungsbetrieb verwenden. Die Bestimmungsdaten D sind ein Indikator, der ein Ergebnis der Effizienz der Bauteilzuführung für den Fall darstellt, in dem der Ablageschwingungsbetrieb basierend auf den Zustandsvariablen S durchgeführt wird.
-
Bei Betrachtung basierend auf einer Lernperiode durch die Lerneinheit 110 werden die gleichzeitig in die Lerneinheit 110 eingegebenen Zustandsvariablen S auf Daten einer vorangegangenen Lernperiode basiert, in der die Bestimmungsdaten D erfasst werden. Während somit die maschinelle Lernvorrichtung 100, die in der Bauteilzuführvorrichtung 1 umfasst ist, das Lernen vorantreibt, werden die Erfassung der Bauteilanordnungsdaten S2 und der Bauteilartdaten S3, die Ausführung des auf den Schwingungsbetriebsparameterdaten S1 basierenden Ablageschwingungsbetriebs und die Erfassung der Bestimmungsdaten D wiederholt in einer Umwelt durchgeführt.
-
Die Lerneinheit 110 kann beispielsweise als eine Funktion des Prozessors 101 konfiguriert werden. Alternativ kann die Lerneinheit 110 als Software konfiguriert werden, die verwendet wird um zu bewirken, dass der Prozessor 101 arbeitet, und beispielsweise im ROM 102 gespeichert wird. Die Lerneinheit 110 lernt die Schwingungsbetriebsparameterdaten S1 in Bezug auf eine Anordnung und Stellungen der Bauteile auf der Ablage 4 und auf Arten der Bauteile entsprechend einem beliebigen Lernalgorithmus, der insgesamt als maschinelles Lernen bezeichnet wird. Die Lerneinheit 110 ist in der Lage, das Lernen basierend auf einem Datensatz, der die oben beschriebenen Zustandsvariablen S und die Bestimmungsdaten D umfasst, wiederholt durchzuführen. Bei der Wiederholung eines Zyklus des Lernens der Schwingungsbetriebsparameterdaten S1 in Bezug auf eine Anordnung und auf Stellungen von Bauteilen auf der Ablage 4 und auf Arten der Bauteile werden die Bauteilanordnungsdaten S2 und die Bauteilartdaten S3 unter den Zustandsvariablen S aus einem Analyseergebnis eines Bildes, das, wie oben beschrieben, von der Bildgebungseinheit 60 in der vorhergehenden Lernperiode aufgenommen wird, oder aus Information in Bezug auf Bauteile, die im nichtflüchtigen Speicher 14 festgelegt ist, erfasst, die Schwingungsbetriebsparameterdaten S1 werden als Betriebsparameter der Schwingungseinheit 50, die aufgrund von Ergebnissen bis zum vorhergehenden Lernen bestimmt werden, eingestellt und die Bestimmungsdaten D werden als ein Eignungsbestimmungsergebnis des Ablageschwingungsbetriebs in einer aktuellen Lernperiode, die nach Einstellen der Betriebsparameter der Schwingungseinheit 50 basierend auf den Schwingungsbetriebsparameterdaten S1 ausgeführt wird, eingestellt.
-
Durch Wiederholung eines solchen Lernzyklus kann die Lerneinheit 110 automatisch ein Merkmal identifizieren, das eine Korrelation einer Anordnung und Stellungen von Bauteilen auf der Ablage 4 (die Bauteilanordnungsdaten S2) und Arten der Bauteile (die Bauteilartdaten S3) in Bezug auf die diesem Zustand entsprechenden Betriebsparameter der Schwingungseinheit 50 anzeigt. Obwohl die Korrelation der Bauteilanordnungsdaten S2 und der Bauteilartdaten S3 bezüglich der Betriebsparameter der Schwingungseinheit 50 zu Beginn des Lernalgorithmus im Wesentlichen unbekannt ist, identifiziert die Lerneinheit 110 schrittweise Merkmale, während die Lerneinheit 110 das Lernen vorantreibt und somit die Korrelation interpretiert. Wenn die Korrelation der Bauteilanordnungsdaten S2 und der Bauteilartdaten S3 bezüglich der Betriebsparameter der Schwingungseinheit 50 zu einem einigermaßen zuverlässigen Niveau interpretiert wird, geht ein Lernergebnis, das von der Lerneinheit 110 wiederholt ausgegeben wird, auf ein brauchbares Niveau, um eine Auswahl einer Aktion zur Einstellung von Werten der Betriebsparameter der Schwingungseinheit 50 in Bezug auf einen aktuellen Zustand (das heißt, eine Anordnung und Stellungen von Bauteilen auf der Ablage 4 und Arten der Bauteile) durchzuführen. Das heißt, die Lerneinheit 110 ist in der Lage, die Korrelation einer Anordnung und Stellungen von Bauteilen auf der Ablage 4 und Arten der Bauteile in Bezug auf eine Aktion zur Einstellung von Werten von Betriebsparametern der Schwingungseinheit 50 in dem entsprechenden Zustand einhergehend mit der Weiterentwicklung des Lernalgorithmus schrittweise zu einer optimalen Lösung zu bringen.
-
Wie oben beschrieben, lernt die in der Bauteilzuführungsvorrichtung 1 umfasste Lerneinheit 110 der maschinellen Lernvorrichtung 100 die Betriebsparameter der Schwingungseinheit 50 gemäß dem maschinellen Lernalgorithmus unter Verwendung der von der Zustandsbeobachtungseinheit 106 beobachteten Zustandsvariablen S und der von der Bestimmungsdatenerfassungseinheit 108 erfassten Bestimmungsdaten D. Die Zustandsvariable S setzt sich aus Daten zusammen, die weniger wahrscheinlich durch Störungen beeinträchtigt werden, wie etwa die Schwingungsbetriebsparameterdaten S1, die Bauteilanordnungsdaten S2 und die Bauteilartdaten S3, und die Bestimmungsdaten D werden eindeutig durch Analysieren eines von der in der Bauteilzuführvorrichtung 1 umfassten Bildgebungseinheit 60 aufgenommenen Bildes gewonnen. Somit können gemäß der in der Bauteilzuführvorrichtung 1 umfassten maschinellen Lernvorrichtung 100 Betriebsparameter der Schwingungseinheit 50, die einer Anordnung und Stellungen von Bauteilen auf der Ablage 4 und Arten der Bauteile entsprechen, automatisch und genau erhalten werden, indem Lernergebnisse der Lerneinheit 110 ohne Abhängigkeit von einer Berechnung oder Schätzung verwendet werden.
-
Wenn die Betriebsparameter der Schwingungseinheit 50 automatisch ohne Abhängigkeit von einer Berechnung oder Schätzung ermittelt werden können, können angemessene Werte der Betriebsparameter der Schwingungseinheit 50 schnell ermittelt werden, indem lediglich eine Anordnung (die Bauteilanordnungsdaten S2) und Stellungen von Bauteilen auf der Ablage 4 und Arten der Bauteile (die Bauteilartendaten S3) erfasst werden. Somit können die Betriebsparameter der Schwingungseinheit 50 effizient bestimmt werden.
-
Als eine Modifikation der in der Bauteilzuführvorrichtung 1 umfassten maschinellen Lernvorrichtung 100 kann die Bestimmungsdatenerfassungseinheit 108 Bauteilfallanzahl-Bestimmungsdaten D2 verwenden, die als Bestimmungsdaten D die Anzahl der nach einem Schwingungsbetrieb aus der Ablage 4 gefallenen Bauteile darstellen. Die Bauteilfallanzahl-Bestimmungsdaten D2 können aus einem Analyseergebnis erfasst werden, das durch Analysieren eines von der Bildgebungseinheit 60 aufgenommenen Bildes (Differenz zwischen der Anzahl der Bauteile auf der Ablage 4 vor dem Schwingungsbetrieb und der Anzahl der Bauteile nach dem Schwingungsbetrieb, zum Beispiel) gewonnen wird.
-
Gemäß der oben beschriebenen Modifikation ist die maschinelle Lernvorrichtung 100 in der Lage, die Stückzahl der aus der Ablage 4 gefallenen Bauteile als negative Bewertung beim Erlernen der Betriebsparameter der Stellung der Teile auf der Ablage 4 und Arten der Bauteile zu berücksichtigen.
-
Als weitere Modifikation der in der Bauteilzuführvorrichtung 1 umfassten maschinellen Lernvorrichtung 100 ist die Lerneinheit 110 in der Lage, Betriebsparameter der Schwingungseinheiten 50 in einer Vielzahl von Bauteilzuführungsvorrichtungen 1, die identische Betriebsvorgänge ausführen, unter Verwendung der Zustandsvariable S und der Bestimmungsdaten D, die für jede der Bauteilzuführungsvorrichtungen 1 gewonnen werden, zu lernen. Diese Konfiguration kann die Anzahl der Datensätze, die in einem bestimmten Zeitraum gewonnen werden können, erhöhen und umfasst die Zustandsvariablen S und die Bestimmungsdaten D, sodass die Geschwindigkeit und Zuverlässigkeit des Lernens der Betriebsparameter der Schwingungseinheit 50 durch die Eingabe von vielfältigeren Datensätzen verbessert werden kann.
-
In der maschinellen Lernvorrichtung 100 mit der oben beschriebenen Konfiguration ist ein von der Lerneinheit 110 ausgeführter Lernalgorithmus nicht besonders eingeschränkt, sondern es kann ein bekannter Lernalgorithmus als maschinelles Lernen verwendet werden. 3 stellt einen Aspekt der in 1 dargestellten Bauteilzuführvorrichtung 1 dar und stellt die Konfiguration mit der Lerneinheit 110 dar, die als Beispiel für den Lernalgorithmus das bestärkende Lernen durchführt. Das bestärkende Lernen ist ein Verfahren, bei dem ein Zyklus, in dem eine vorbestimmte Aktion (das heißt, eine Ausgabe) in einem aktuellen Zustand einer Umwelt, in der ein Lernobjekt existiert, ausgeführt wird, während der aktuellen Zustand (das heißt, eine Eingabe) beobachtet wird und eine Belohnung in Bezug auf die Aktion erteilt wird, durch Ausprobieren wiederholt wird, um Maßnahmen zu lernen, durch die eine Gesamtbelohnung als optimale Lösung maximiert wird (Bestimmung der Betriebsparameter der Schwingungseinheit 50 in der maschinellen Lernvorrichtung in der vorliegenden Anwendung).
-
In der maschinellen Lernvorrichtung 100, die in der in 3 dargestellten Bauteilzuführungsvorrichtung 1 umfasst ist, umfasst das Lernvorrichtung 110 eine Belohnungsberechnungseinheit 112 und eine Wertfunktions-Aktualisierungseinheit 114. Die Belohnungsberechnungseinheit 112 erhält eine Belohnung R in Bezug auf ein Eignungsbestimmungsergebnis (entsprechend den Bestimmungsdaten D, die in der folgenden Lernperiode einer Periode verwendet werden, in der die Zustandsvariablen S erfasst werden) des Ablageschwingungsbetriebs in dem Fall, in dem Betriebsparameter der Schwingungseinheit 50 basierend auf den Zustandsvariablen S eingestellt werden. Die Wertfunktions-Aktualisierungseinheit 114 aktualisiert die Funktion Q, die Werte der Betriebsparameter der Schwingungseinheit 50 darstellt, mit Hilfe der Belohnung R. Die Lerneinheit 110 lernt die Betriebsparameter der Schwingungseinheit 50 in Bezug auf eine Anordnung und Stellungen der Bauteile auf der Ablage 4 und auf Arten der Bauteile durch wiederholtes Aktualisieren der durch die Wertfunktions-Aktualisierungseinheit 114 ausgeführten Funktion Q.
-
Ein Beispiel für einen Algorithmus des bestärkenden Lernens, der von der Lerneinheit 110 ausgeführt wird, wird beschrieben. Der Algorithmus in diesem Beispiel ist als Q-Learning bekannt und ist ein Verfahren zum Erlernen der Funktion Q(s,a), die einen Wert einer Aktion in dem Fall darstellt, in dem eine Aktion a in einem Zustand s gewählt wird, wenn der Zustand s eines Aktionssubjekts und die Aktion a, die von dem Aktionssubjekt im Zustand s ausgewählt werden kann, als unabhängige Größen eingesetzt werden. Die Auswahl der Aktion a, bei der die Wertfunktion Q den höchsten Wert im Zustand s erreicht, ist eine optimale Lösung. Das Q-Learning wird in einem Zustand gestartet, in dem eine Korrelation zwischen dem Zustand s und der Aktion a unbekannt ist und ein Ausprobieren bei der Auswahl verschiedener Aktionen a in einem beliebigen Zustand s wiederholt werden. Daher wird die Wertfunktion wiederholt aktualisiert, um die optimale Lösung anzunähern. Hierbei wird die Konfiguration eingesetzt, bei der bei Änderung einer Umwelt (das heißt, des Zustandes s) infolge der Auswahl der Aktion a im Zustand s die der Änderung entsprechende Belohnung r (das heißt, Gewicht der Aktion a) erhalten werden kann und das Lernen so geführt wird, dass die Aktion a ausgewählt wird, durch die eine höhere Belohnung r erzielt werden kann. Somit kann die Wertfunktion Q in relativ kurzer Zeit der optimalen Lösung angenähert werden.
-
Eine Aktualisierungsformel der Wertfunktion Q kann allgemein als Formel 1 ausgedrückt werden. In der Formel 1 bezeichnen s
t und a
t jeweils einen Zustand beziehungsweise eine Aktion zum Zeitpunkt t, und der Zustand wird in Abhängigkeit von der Aktion a
t auf s
t+1 geändert. r
t+1 bezeichnet eine Belohnung, die erhalten wird, wenn der Zustand von s
t auf s
t+1 geändert wird. Ein Ausdruck von maxQ bezeichnet Q, der beim Ausführen der Aktion a, bei der der Maximalwert Q zum Zeitpunkt t+1 erreicht wird (zum Zeitpunkt t gilt, dass der Maximalwert Q zum Zeitpunkt t+1 erreicht wird), erhalten wird. α und y bezeichnen einen Lernkoeffizienten beziehungsweise einen Diskontierungsfaktor und sind willkürlich auf 0<α≤1 und 0<γ≤1 gesetzt.
-
In dem Fall, in dem die Lerneinheit 110 das Q-Learning durchführt, entsprechen die von der Zustandsbeobachtungseinheit 106 beobachtete Zustandsvariable S und die von der Bestimmungsdatenerfassungseinheit 108 erfassten Bestimmungsdaten D dem Zustand s in einer Aktualisierungsformel, die Art der Bestimmung von Betriebsparametern der Schwingungseinheit 50, die einem aktuellen Zustand (das heißt, einer Anordnung und Stellungen von Bauteilen auf der Ablage 4 und Arten der Bauteile) entsprechen, entspricht der Aktion a in der Aktualisierungsformel, und die von der Belohnungsberechnungseinheit 112 erhaltene Belohnung R entspricht der Belohnung r in der Aktualisierungsformel. Dementsprechend aktualisiert die Wertfunktions-Aktualisierungseinheit 114 durch das Q-Learning unter Verwendung der Belohnung R wiederholt die Funktion Q, die Werte von Betriebsparametern der Schwingungseinheit 50 darstellt, die einem aktuellen Zustand entsprechen.
-
In dem Fall, in dem, wenn der Ablageschwingungsbetrieb basierend auf bestimmten Betriebsparametern nach Bestimmung der Betriebsparameter der Schwingungseinheit 50 durchgeführt wird, ein Eignungsbestimmungsergebnis des Ablageschwingungsbetriebs als „geeignet“ bestimmt wird (der Fall, in dem die Zykluszeit, in der eine vorbestimmte Stückzahl von Bauteilen zugeführt wird, innerhalb eines zulässigen Bereichs liegt, der Fall, in dem die Stückzahl der in einer vorbestimmten Zeitspanne zugeführten Bauteile gleich oder höher ist als die zulässige Anzahl, oder dergleichen), kann beispielsweise die von der Belohnungsberechnungseinheit 112 erhaltene Belohnung R als positive (plus) Belohnung R eingesetzt werden. In dem Fall, in dem, wenn der Ablageschwingungsbetrieb basierend auf bestimmten Betriebsparameter nach Bestimmung der Betriebsparameter der Schwingungseinheit 50 durchgeführt wird, ein Eignungsbestimmungsergebnis des Ablageschwingungsbetriebs als „ungeeignet“ bestimmt wird (der Fall, in dem die Zykluszeit, in der eine vorbestimmte Stückzahl von Bauteilen zugeführt wird, einen zulässigen Bereich überschreitet, der Fall, in dem Stückzahl von Bauteilen, die in einer vorbestimmten Zeitspanne zugeführt werden, kleiner als die zulässige Anzahl ist, oder dergleichen), kann beispielsweise die von der Belohnungsberechnungseinheit 112 erhaltene Belohnung R als negative (minus) Belohnung R eingesetzt werden. Absolutwerte der positiven und negativen Belohnungen R können miteinander identisch oder voneinander verschieden sein. Bezüglich einer Bedingung der Bestimmung kann die Bestimmung durch Kombinieren einer Vielzahl von in den Bestimmungsdaten D umfasster Werte durchgeführt werden.
-
Weiterhin kann ein Eignungsbestimmungsergebnis für einen Betrieb eines Roboters nicht nur auf zwei Arten, die „geeignet“ und „ungeeignet“ sind, sondern auch in mehreren Stufen erfolgen. In dem Fall, in dem beispielsweise der maximale Wert des zulässigen Bereichs der Zykluszeit, in dem eine vorbestimmte Stückzahl von Bauteilen zugeführt wird, Tmax ist, kann die Konfiguration eingesetzt werden, in der die Belohnung R = 5 vergeben wird, wenn die Zykluszeit T, in der eine vorbestimmte Stückzahl von Bauteilen zugeführt wird, 0≤T<Tmax/5 ist, die Belohnung R = 2 vergeben wird, wenn die Zykluszeit T gleich Tmax/5≤T<Tmax/2 ist, und die Belohnung R = 1 vergeben wird, wenn die Zykluszeit T gleich Tmax/2≤T≤Tmax ist. Ferner kann die Konfiguration eingesetzt werden, bei der Tmax in der Anfangsphase des Lernens relativ groß eingestellt wird und Tmax einhergehend mit dem Fortschreiten des Lernens reduziert wird.
-
Die Wertfunktions-Aktualisierungseinheit 114 kann eine Aktionswerttabelle aufweisen, in der die Zustandsvariablen S, die Bestimmungsdaten D und die Belohnungen R organisiert sind, während sie den durch die Funktion Q ausgedrückten (z.B. Zahlenwerten) Aktionswerten zugeordnet werden. In diesem Fall ist eine Aktion zur Aktualisierung der Funktion Q durch die Wertfunktions-Aktualisierungseinheit 114 synonym mit einer Aktion zur Aktualisierung der Aktionswerttabelle durch die Wertfunktions-Aktualisierungseinheit 114. Da die Korrelation zwischen einem aktuellen Zustand einer Umwelt und Betriebsparametern der Schwingungseinheit 50 zu Beginn des Q-Learning nicht bekannt ist, werden verschiedene Zustandsvariablen S, Bestimmungsdaten D und Belohnungen R so aufbereitet, dass sie Werten von Aktionswerten (Funktionen Q) zugeordnet werden, die willkürlich in der Auslösewertetabelle definiert sind. Die Belohnungsberechnungseinheit 112 ist in der Lage, die Belohnung R entsprechend den Bestimmungsdaten D zu berechnen, sobald die Belohnungsberechnungseinheit 112 die Bestimmungsdaten D kennt, und der berechnete Wert R wird in die Aktionswerttabelle geschrieben.
-
Während das Q-Lernen durch die Verwendung der einem Eignungsbestimmungsergebnis des Betriebszustandes eines Roboters entsprechenden Belohnung R vorangetrieben wird, wird das Lernen zur Auswahl einer Aktion geführt, für die eine höhere Belohnung R erzielt werden kann, und ein Wert des Aktionswertes (Funktion Q) für eine in einem aktuellen Zustand durchgeführte Aktion wird entsprechend einem Zustand einer Umwelt (d.h. der Zustandsvariable S und den Bestimmungsdaten D), der infolge der Ausführung der ausgewählten Aktion in dem aktuellen Zustand geändert wird, neu geschrieben. Somit wird die Aktionswerttabelle aktualisiert. Durch Wiederholen dieser Aktualisierung wird ein Wert eines Aktionswertes (Funktion Q), der in der Aktionswerttabelle angezeigt wird, in einen Wert so umgeschrieben, dass er größer ist, wenn eine Aktion angemessener ist. Somit wird eine Korrelation zwischen dem aktuellen Zustand einer Umwelt, der bisher unbekannt war (eine Anordnung und Stellungen der Bauteile auf der Ablage 4 und Arten der Bauteile), und einer entsprechenden Aktion (Bestimmung von Betriebsparametern der Schwingungseinheit 50) schrittweise ersichtlich. Das heißt, eine Beziehung einer Anordnung und Stellungen der Bauteile auf der Ablage 4 und Arten der Bauteile in Bezug auf die Betriebsparameter der Schwingungseinheit 50 wird durch Aktualisierung der Aktionswerttabelle schrittweise zu einer optimalen Lösung angenähert.
-
Ein Ablauf des durch die Lerneinheit 110 (d.h. ein Aspekt des maschinellen Lernverfahrens) ausgeführten oben beschriebenen Q-Learning wird mit Bezug auf 4 näher beschrieben. Zunächst wählt im Schritt SA01 die Wertfunktions-Aktualisierungseinheit 114 die Betriebsparameter der Schwingungseinheit 50 willkürlich als eine Aktion aus, die in einem aktuellen Zustand durchgeführt wird, der durch die von der Zustandsbeobachtungseinheit 106 beobachtete Zustandsvariable S repräsentiert wird, während zu diesem Zeitpunkt auf die Aktionswerttabelle Bezug genommen wird. Dann nimmt die Wertfunktions-Aktualisierungseinheit 114 die Zustandsvariable S des von der Zustandsbeobachtungseinheit 106 in Schritt SA02 beobachteten Zustands auf und nimmt die von der Bestimmungsdatenerfassungseinheit 108 in Schritt SA03 erfassten Bestimmungsdaten D des aktuellen Zustands auf. Anschließend bestimmt die Wertfunktions-Aktualisierungseinheit 114 basierend auf den Bestimmungsdaten D in Schritt SA04, ob die Betriebsparameter der Schwingungseinheit 50 geeignet sind oder nicht. Falls die Betriebsparameter der Schwingungseinheit 50 geeignet sind, wird die durch die Belohnungsberechnungseinheit 112 erhaltene positive Belohnung R auf eine Aktualisierungsformel der Funktion Q in Schritt SA05 angewendet und dann wird die Aktionswerttabelle unter Verwendung der Zustandsvariable S, der Bestimmungsdaten D, der Belohnung R und des Wertes des Aktionswertes (die Funktion Q nach der Aktualisierung) im aktuellen Zustand in Schritt SA06 aktualisiert. Falls in Schritt SA04 bestimmt wird, dass die Betriebsparameter der Schwingungseinheit 50 nicht geeignet sind, wird die von der Belohnungsberechnungseinheit 112 erhaltene negative Belohnung R auf die Aktualisierungsformel der Funktion Q in Schritt SA07 angewendet und dann wird die Aktionswerttabelle unter Verwendung der Zustandsvariable S, der Bestimmungsdaten D, der Belohnung R und des Wertes des Aktionswertes (die Funktion Q nach der Aktualisierung) in dem aktuellen Zustand in Schritt SA06 aktualisiert. Die Lerneinheit 110 aktualisiert wiederholt die Aktionswerttabelle, indem sie die Schritte SA01 bis SA07 wiederholt, um so das Lernen der Betriebsparameter der Schwingungseinheit 50 voranzutreiben. Hierbei wird die Verarbeitung zum Erhalten der Belohnung R und die von Schritt SA04 bis Schritt SA07 ausgeführte Verarbeitung zum Aktualisieren der Wertfunktion für alle Daten durchgeführt, die in den Ermittlungsdaten D umfasst sind.
-
Wenn das oben beschriebene bestärkende Lernen fortgeschritten ist, ist beispielsweise ein neuronales Netzwerk anwendbar. 5A stellt schematisch ein Modell eines Neurons dar. 5B stellt schematisch ein Modell eines dreischichtigen neuronalen Netzwerks dar, das durch Kombinieren der in 5A dargestellten Neuronen konfiguriert wird. Das neuronale Netzwerk kann beispielsweise aus Rechenvorrichtungen, Speichervorrichtungen oder dergleichen bestehen, in Anlehnung an das Modell der Neuronen.
-
Das in
5A dargestellte Neuron gibt ein Ergebnis y in Bezug auf eine Vielzahl von Eingaben x aus (hier Eingabe x
1 bis Eingabe x
3 als Beispiel). Die Eingaben x
1 bis x
3 werden jeweils mit Gewichten w (w
1 bis w
3) multipliziert, die diesen Eingaben x entsprechen. Entsprechend gibt das Neuron die durch die untenstehende Formel 2 ausgedrückten Ausgabe y aus. Hierbei sind in der Formel 2 Eingabe x, Ausgabe y und Gewicht w jeweils Vektoren. Weiterhin bezeichnet θ einen Bias und f
k bezeichnet eine Aktivierungsfunktion.
-
In dem in 5B dargestellten dreischichtigen neuronalen Netzwerk werden eine Vielzahl von Eingaben x (hier Eingabe x1 bis Eingang x3 als Beispiel) von links eingegeben und Ergebnisse y (hier Ergebnis y1 bis Ergebnis y3 als Beispiel) werden von rechts ausgegeben. In dem in 5B dargestellten Beispiel werden die Eingaben xl, x2, x3 jeweils mit entsprechenden Gewichten (insgesamt mit w1 bezeichnet) multipliziert und jede der Eingaben xl, x2, x3 wird in drei Neuronen N11, N12, N13 eingegeben.
-
In 5B wird eine Ausgabe von jedem der Neuronen N11, N12, N13 insgesamt mit z1 bezeichnet. z1 kann als ein Merkmalsvektor betrachtet werden, der durch Extrahieren eines Merkmalsbetrags eines Eingangsvektors erhalten wird. In dem in 5B dargestellten Beispiel werden die Merkmalsvektoren z1 jeweils mit entsprechenden Gewichten multipliziert (insgesamt mit w2 bezeichnet) und jeder der Merkmalsvektoren z1 wird in zwei Neuronen N21, N22 eingegeben. Der Merkmalsvektor z1 stellt ein Merkmal zwischen Gewicht w1 und Gewicht w2 dar.
-
In 5B wird eine Ausgabe von jedem der Neuronen N21, N22 insgesamt mit z2 bezeichnet. z2 kann als ein Merkmalsvektor betrachtet werden, der durch Extrahieren eines Merkmalsbetrags des Merkmalsvektors z1 erhalten wird. In dem in 5B dargestellten Beispiel werden die Merkmalsvektoren z2 jeweils mit den entsprechenden Gewichten (insgesamt mit w3 bezeichnet) multipliziert und jeder der Merkmalsvektoren z2 wird in drei Neuronen N31, N32, N33 eingegeben. Der Merkmalsvektor z2 stellt ein Merkmal zwischen Gewicht w2 und Gewicht w3 dar. Schließlich geben die Neuronen N31 bis N33 jeweils die Ergebnisse y1 bis y3 aus.
-
Hierbei kann auch das Verfahren des sogenannten Deep Learning eingesetzt werden, bei dem ein neuronales Netzwerk mit drei oder mehr Schichten verwendet wird.
-
In der in der Bauteilzuführvorrichtung 1 umfassten maschinellen Lernvorrichtung 100 führt die Lerneinheit 110 eine Berechnung der Mehrschichtstruktur gemäß dem oben beschriebenen neuronalen Netzwerk unter Verwendung der Zustandsvariable S und der Bestimmungsdaten D als Eingaben x durch, um Betriebsparameter (Ergebnisse y) der Schwingungseinheit 50 ausgeben zu können. Weiterhin führt die Lerneinheit 110 in der in der Bauteilzuführvorrichtung 1 umfassten maschinellen Lernvorrichtung 100 die Berechnung der Mehrschichtstruktur gemäß dem oben beschriebenen neuronalen Netz unter Verwendung des neuronalen Netzwerks als eine Wertfunktion im Q-Learning und unter Verwendung der Zustandsvariable S und der Aktion a als Eingaben x durch, um auch in diesem Zustand Werte (Ergebnisse y) der Aktion ausgeben zu können. Hierbei umfassen die Betriebsmodi des neuronalen Netzwerks einen Lernmodus und einen Wertvorhersagemodus. Beispielsweise kann das Gewicht w unter Verwendung eines Lerndatensatzes im Lernmodus gelernt werden und die Wertermittlung einer Aktion kann unter Verwendung des gelernten Gewichts w im Wertevorhersagemodus durchgeführt werden. Hier können Detektion, Klassifikation, Inferenz und dergleichen auch im Wertevorhersagemodus durchgeführt werden.
-
Die oben beschriebene Konfiguration der Bauteilzuführvorrichtung 1 kann als ein vom Prozessor 101 ausgeführtes maschinelles Lernverfahren (oder Software) beschrieben werden. Dieses maschinelle Lernverfahren ist ein maschinelles Lernverfahren zum Erlernen der Betriebsparameter der Schwingungseinheit 50. Das maschinelle Lernverfahren umfasst: einen Schritt zum Beobachten der Schwingungsbetriebsparameterdaten S1, der Bauteilanordnungsdaten S2 und der Bauteilartdaten S3 als die Zustandsvariablen S, die einen aktuellen Zustand einer Umwelt darstellen, in der ein Roboter gesteuert wird; einen Schritt zum Erfassen der Bestimmungsdaten D, die ein Eignungsbestimmungsergebnis der Ablageschwingungsaktion basierend auf den bestimmten Betriebsparametern darstellen; und einen Schritt zum Erlernen der Bauteilanordnungsdaten S2, der Bauteilartdaten S3 und der Betriebsparameter der Schwingungseinheit 50 unter Verwendung der Zustandsvariablen S und der Bestimmungsdaten D, während die Bauteilanordnungsdaten S2 und die Bauteilartdaten S3 den Betriebsparametern der Schwingungseinheit 50 zugeordnet werden. Bei diesem Verfahren werden die Schritte durch eine CPU eines Computers ausgeführt.
-
6 stellt eine Bauteilzuführvorrichtung 2 gemäß der zweiten Ausführungsform dar. Die Bauteilzuführvorrichtung 2 umfasst eine maschinelle Lernvorrichtung 120 und eine Zustandsdatenerfassungseinheit 3, die die Schwingungsbetriebsparameterdaten S1, die Bauteilanordnungsdaten S2 und die Bauteilartdaten S3 erfasst, welche die von der Zustandsbeobachtungseinheit 106 als Zustandsdaten S0 beobachteten Zustandsvariablen S sind. Die Zustandsdatenerfassungseinheit 3 ist in der Lage, die Zustandsdaten S0 von jeder Einheit der Bauteilzuführvorrichtung 2, ein Analyseergebnis eines von der Bildgebungseinheit 60 aufgenommenen Bildes, beliebige durch einen Bediener eingegebene Daten und dergleichen zu erfassen.
-
Die in der Bauteilzuführvorrichtung 2 umfasste maschinelle Lernvorrichtung 120 umfasst Software (ein Lernalgorithmus und dergleichen) und Hardware (den Prozessor 101 und dergleichen), durch die die maschinelle Lernvorrichtung 120 Betriebsparameter der Schwingungseinheit 50 durch maschinelles Lernen von selbst lernt und umfasst ferner Software (einen Berechnungsalgorithmus und dergleichen) und Hardware (der Prozessor 101 und dergleichen), durch die die basierend auf Lernergebnissen erhaltenen Betriebsparameter der Schwingungseinheit 50 als Befehl an die Bauteilzuführvorrichtung 2 ausgegeben werden. Die in der Bauteilzuführvorrichtung 2 umfasste maschinelle Lernvorrichtung 120 kann die Konfiguration aufweisen, in der ein einziger gemeinsamer Prozessor die gesamte Software, wie etwa einen Lernalgorithmus und einen Berechnungsalgorithmus ausführt.
-
Eine Entscheidungseinheit 122 kann beispielsweise als eine Funktion des Prozessors 101 konfiguriert werden. Alternativ kann die Entscheidungseinheit 122 als Software konfiguriert werden, die beispielsweise verwendet wird, um zu bewirken, dass der Prozessors 101 arbeitet, und die im ROM 102 gespeichert ist. Die Entscheidungseinheit 122 erzeugt einen Befehlswert C, der einem Befehl umfasst zum Bestimmen von Betriebsparametern der Schwingungseinheit 50 in Bezug auf eine Anordnung und Stellungen von Bauteilen auf der Ablage 4 und auf Arten der Bauteile basierend auf einem von der Lerneinheit 110 gelernten Ergebnis und gibt den erzeugten Befehlswert C aus. In dem Fall, in dem die Entscheidungseinheit 122 den Befehlswert C an die Bauteilzuführvorrichtung 2 ausgibt, ändert sich als Reaktion auf den Befehlswert C ein Zustand einer Umwelt.
-
Die Zustandsbeobachtungseinheit 106 beobachtet die Zustandsvariablen S, die, nachdem die Entscheidungseinheit 122 den Befehlswert C an die Umwelt ausgibt, in der folgenden Lernperiode geändert werden. Die Lerneinheit 110 lernt Betriebsparameter der Schwingungseinheit 50 durch Aktualisieren der Wertfunktion Q (das heißt, der Aktionswerttabelle), beispielsweise durch Verwendung der geänderten Zustandsvariablen S. Zu diesem Zeitpunkt kann die Zustandsbeobachtungseinheit 106 die Beobachtung durchführen, indem sie die Schwingungsbetriebsparameterdaten S1, wie in der ersten Ausführung beschrieben, aus dem RAM 103 der maschinellen Lernvorrichtung 120 erfasst, ohne die Schwingungsbetriebsparameterdaten S1 aus den von der Zustandsdatenerfassungseinheit 3 erfassten Zustandsdaten S0 zu erfassen.
-
Die Entscheidungseinheit 122 gibt an die Bauteilzuführvorrichtung 2 den Befehlswert C aus, um die Einstellung von Betriebsparametern der Schwingungseinheit 50 anzuweisen, die basierend auf einem Lernergebnis ermittelt werden. Durch Wiederholen dieser Lernperiode bringt die maschinelle Lernvorrichtung 120 das Erlernen der Betriebsparameter der Schwingungseinheit 50 voran und verbessert schrittweise die Zuverlässigkeit der Betriebsparameter der Schwingungseinheit 50, die durch die maschinelle Lernvorrichtung 120 bestimmt werden.
-
Die in der Bauteilzuführungsvorrichtung 2 umfasste maschinelle Lernvorrichtung 120 mit der oben beschriebenen Konfiguration weist vorteilhafte Wirkungen auf, die denen der oben beschriebenen maschinellen Lernvorrichtung 100 entsprechen. Die maschinelle Lernvorrichtung 120 ist insbesondere in der Lage, den Zustand einer Umwelt mit einer Ausgabe der Entscheidungseinheit 122 zu verändern. Andererseits kann in der maschinellen Lernvorrichtung 100 eine der Entscheidungseinheit entsprechende Funktion zur Wiedergabe eines Lernergebnisses der Lerneinheit 110 an eine Umwelt von einer externen Vorrichtung erhalten werden.
-
7 zeigt ein System 170 gemäß einer Ausführungsform, die Bauteilzuführvorrichtungen 160 umfasst. Das System 170 umfasst mindestens eine Vielzahl von Bauteilzuführvorrichtungen 160, 160', die identische Betriebsvorgänge durchführen, und ein drahtgebundenes/drahtloses Netzwerk 172, das diese Bauteilzuführvorrichtungen 160, 160' miteinander verbindet. Mindestens eine von der Vielzahl von Bauteilzuführvorrichtungen 160 ist als die Bauteilzuführvorrichtung 160 konfiguriert, die die oben beschriebene maschinelle Lernvorrichtung 120 umfasst. Weiterhin kann das System 170 die Bauteilzuführvorrichtung 160' umfassen, die die maschinelle Lernvorrichtung 120 nicht umfasst. Die Bauteilzuführvorrichtungen 160, 160' weisen die für einen Betrieb für den gleichen Zweck erforderliche Konfiguration auf.
-
In dem System 170 mit der oben beschriebenen Konfiguration ist die Bauteilzuführvorrichtung 160 mit der maschinellen Lernvorrichtung 120 aus einer Vielzahl von Bauteilzuführvorrichtungen 160, 160' in der Lage, automatisch und genau Betriebsparameter der Schwingungseinheit 50 in Bezug auf eine Anordnung und Stellungen von Bauteilen auf der Ablage 4 und auf Arten der Bauteile unter Verwendung eines Lernergebnisses der Lerneinheit 110 zu erhalten, ohne von einer Berechnung oder Schätzung abhängig zu sein. Weiterhin kann das System 170 so konfiguriert werden, dass die maschinelle Lernvorrichtung 120 von mindestens einer Bauteilzuführvorrichtung 160 Betriebsparameter der Schwingungseinheit 50, die allen Bauteilzuführvorrichtungen 160, 160' gemeinsam sind, basierend auf den Zustandsvariablen S und den Bestimmungsdaten D, die jeweils für andere Bauteilzuführvorrichtungen 160, 160' erhalten werden, lernt und alle Bauteilzuführvorrichtungen 160, 160' das Lernergebnis teilen. Gemäß dem System 170 können Geschwindigkeit und Zuverlässigkeit beim Erlernen von Betriebsparametern der Schwingungseinheit 50 durch die Verwendung vielfältigerer Datensätze (mit den Zustandsvariablen S und den Bestimmungsdaten D) als Eingaben verbessert werden.
-
8 zeigt ein System 170' gemäß einer anderen Ausführungsform, das Bauteilzuführvorrichtungen 160' umfasst. Das System 170' umfasst die maschinelle Lernvorrichtung 120 (oder 100), eine Vielzahl von Bauteilzuführvorrichtungen 160', die die gleichen mechanischen Konfigurationen aufweisen, und das drahtgebundene/drahtlose Netzwerk 172, das diese Bauteilzuführvorrichtungen 160' und die maschinelle Lernvorrichtung 120 (oder 100) miteinander verbindet.
-
In dem System 170' mit der oben beschriebenen Konfiguration lernt die maschinelle Lernvorrichtung 120 (oder 100) basierend auf der Zustandsvariable S und den Bestimmungsdaten D, die jeweils für eine Vielzahl von Bauteilzuführvorrichtungen 160' erhalten werden, die Betriebsparameter der Schwingungseinheit 50, die allen Bauteilzuführvorrichtungen 160' gemeinsam sind, in Bezug auf eine Anordnung und Stellungen der Bauteile auf der Ablage 4 und auf Arten der Bauteile und dementsprechend ist die maschinelle Lernvorrichtung 120 (oder 100) in der Lage, die Betriebsparameter der Schwingungseinheit 50 in Bezug auf eine Anordnung und Stellungen von Bauteilen auf der Ablage 4 und auf Arten der Bauteile durch Verwendung des Lernergebnisses automatisch und genau zu erhalten, ohne von einer Berechnung oder Schätzung abhängig zu sein.
-
Das System 170' kann die Konfiguration aufweisen, in der die maschinelle Lernvorrichtung 120 (oder 100) in einem im Netzwerk 172 bereitgestellten Cloud-Server vorhanden ist. Gemäß dieser Konfiguration kann die benötigte Stückzahl von Bauteilzuführvorrichtungen 160' bei Bedarf mit der maschinellen Lernvorrichtung 120 (oder 100) verbunden werden, unabhängig davon, an welchem Ort oder zu welcher Zeit eine jede der Vielzahl von Bauteilzuführvorrichtungen 160' vorhanden ist.
-
Ein in den Systemen 170 und 170' involvierter Bediener kann eine Bestimmung dahingehend durchführen, ob das Erreichungsniveau des Erlernens der Betriebsparameter der Schwingungseinheit 50 durch die maschinelle Lernvorrichtung 120 (oder 100) (das heißt, die Zuverlässigkeit der Betriebsparameter der Schwingungseinheit 50) zu einem angemessenen Zeitpunkt nach Beginn des Lernens durch die maschinelle Lernvorrichtung 120 (oder 100) erreicht wurde oder nicht.
-
Die Ausführungsformen der vorliegenden Erfindung wurden oben beschrieben, wobei jedoch die vorliegende Erfindung in verschiedenen Aspekten durch Hinzufügen beliebiger Änderungen ausgeführt werden kann, ohne auf die Beispiele der oben beschriebenen Ausführungsformen beschränkt zu sein.
-
Beispielsweise sind der von den maschinellen Lernvorrichtungen 100 und 120 ausgeführte Lernalgorithmus, der von der maschinellen Lernvorrichtung 120 ausgeführte Berechnungsalgorithmus, der von den Bauteilzuführvorrichtungen 1 und 2 ausgeführte Steueralgorithmus und dergleichen nicht auf die oben genannten Algorithmen beschränkt, sondern es können verschiedene Algorithmen eingesetzt werden.
-
Die oben beschriebenen Ausführungsformen umfassen die Beschreibung, dass die Bauteilzuführvorrichtung 1 (oder 2) und die maschinelle Lernvorrichtung 100 (oder 120) Vorrichtungen sind, die voneinander unterschiedliche CPUs umfassen, wobei jedoch die maschinelle Lernvorrichtung 100 (oder 120) von der in der Bauteilzuführvorrichtung 1 (oder 2) umfassten CPU 11 und dem im ROM 12 gespeicherten Systemprogramm realisiert werden kann.
-
Des Weiteren stellen die oben beschriebenen Ausführungsformen das Beispiel bereit, in dem die Zustandsbeobachtungseinheit 106 die Bauteilartdaten S3, die Arten von Bauteilen darstellen, als eine Zustandsvariable beobachtet. In dem Fall, in dem das Lernen durch die maschinelle Lernvorrichtung 100 (oder 120) auf eine Korrelation zwischen Betriebsparametern einer Schwingungsaktion für ein bestimmtes Bauteil und einer Anordnung von Bauteilen auf der Ablage 4 spezialisiert ist, muss jedoch die Zustandsbeobachtungseinheit 106 nicht immer die Bauteilartdaten S3 als eine Zustandsvariable beobachten. Obwohl die maschinelle Lernvorrichtung 100 (oder 120), die somit das Lernen durch Beobachten nur der Schwingungsbetriebsparameterdaten S1 und der Bauteilanordnungsdaten S2 als Zustandsvariablen durchführt, nicht zur Bestimmung von Betriebsparametern für den Schwingungsbetrieb der Schwingungseinheit 50 für verschiedene Bauteile verwendet werden kann, kann diese maschinelle Lernvorrichtung 100 (oder 120) zur Bestimmung von Betriebsparametern für den Schwingungsbetrieb der Schwingungseinheit 50 für ein bestimmtes Bauteil, das ein Lernobjekt ist (Bestimmung von Betriebsparametern entsprechend einer Größe, einem Gewicht und einer Form des betreffenden Bauteils), ohne Probleme verwendet werden. Weiterhin reicht es aus, wenn diese maschinelle Lernvorrichtung 100 (oder 120) das Lernen nur für ein bestimmtes Bauteil, das das Lernobjekt ist, vorantreibt, sodass Vorteile dahingehend vorliegen, dass die Geschwindigkeit des Erlernens der Betriebsparameter der Schwingungseinheit 50 verbessert wird und die Bauteilzuführvorrichtung 1 (oder 2) und die maschinelle Lernvorrichtung 100 (oder 120) frühzeitig einem Markt zugeführt werden können.
-
Die Ausführungsformen der vorliegenden Erfindung wurden oben beschrieben, wobei jedoch die vorliegende Erfindung nicht auf die Beispiele der oben beschriebenen Ausführungsformen beschränkt ist und in anderen Aspekten durch Hinzufügen beliebiger Änderungen ausgeführt 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
-