-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine Robotersteuerung und eine Vorrichtung für maschinelles Lernen und insbesondere eine Steuerung, eine Vorrichtung für maschinelles Lernen und ein Verfahren für maschinelles Lernen zum Erlernen einer optimalen Roboterbetriebsstartbedingung.
-
Beschreibung der verwandten Technik
-
Es gibt Warenträgersysteme, die mindestens einer auf einer Trägereinrichtung wie einem Förderer laufenden Ware folgen und diese aufnehmen (siehe beispielsweise die
japanische Patentanmeldung mit der Offenlegungsnummer 08-063214 ). In einem solchen Warenträgersystem wird eine Ware, die eine vorab festgelegte Betriebsstartposition erreicht, durch eine Bildaufnahmevorrichtung oder dergleichen erkannt, die an einem oberen Teil der Trägereinrichtung oder einem Roboterarm befestigt ist, und der Roboter folgt und ergreift die erkannte Ware und lagert die ergriffene Ware in einem Lagerbehälter oder einem Lagerraum, wie in
9 gezeigt. Die in
9 gezeigte Betriebsstartposition wird von einem Facharbeiter oder dergleichen bestimmt.
-
In einer solchen verwandten Technik kann jedoch, wie oben beschrieben, da der Roboter einer Ware folgt, die eine willkürlich vorab festgelegte Position überschritten hat, eine sinnlose Bewegung durchführen, falls eine Position weg von einer optimalen Position falsch als die Startposition gesetzt ist, der gefolgt werden soll. Darüber hinaus besteht das Problem, dass es für einen unerfahrenen Arbeiter schwierig ist, über eine optimale Betriebsstartposition in Übereinstimmung mit einer für einen Roboter spezifischen Fähigkeit und einer Anordnung des Roboters zu entscheiden.
-
DARSTELLUNG DER ERFINDUNG
-
Deshalb ist es eine Aufgabe der vorliegenden Erfindung, eine Steuerung, eine Einrichtung für maschinelles Lernen und ein Verfahren für maschinelles Lernen bereitzustellen, die fähig sind, über eine optimale Roboterbetriebsstartbedingung zu entscheiden.
-
Eine Steuerung nach einer Ausführungsform der vorliegenden Erfindung steuert einen Roboter zum Ergreifen mindestens einer Ware, die auf einer Trägereinrichtung platziert ist, und lagert die Ware an einer vorbestimmten Position und enthält eine Einrichtung für maschinelles Lernen, die eine Betriebsstartbedingung für eine Lagerbewegung durch den Roboter für die auf der Trägereinrichtung platzierte Ware erlernt. Die Einrichtung für maschinelles Lernen enthält: einen Zustandsbeobachtungsabschnitt, der Daten zur Betriebsstartbedingung, die die Betriebsstartbedingung zeigen, und Fördererzustandsdaten, die einen Zustand der auf der Trägereinrichtung platzierten Ware zeigen, als Zustandsvariablen beobachtet, die einen aktuellen Zustand einer Umgebung angeben; einen Beurteilungsdatenerfassungsabschnitt, der Beurteilungsdaten erfasst, die ein Ergebnis der Beurteilung der Eignung der Lagerbewegung zeigen; und einen Lernabschnitt, der die Betriebsstartbedingung in Verbindung mit den Fördererzustandsdaten unter Verwendung der Zustandsvariablen und der Beurteilungsdaten erlernt.
-
Der Zustandsbeobachtungsabschnitt kann ferner eine Klassifizierungsinformation beobachten, die eine Klassifizierung der Ware als eine Zustandsvariable identifiziert; und der Lernabschnitt kann die Betriebsstartbedingung in Verbindung mit sowohl den Fördererzustandsdaten als auch der Klassifizierungsinformation erlernen.
-
Die Beurteilungsdaten können zumindest eines von einer Zyklusdauer, die zum Lagern einer vorbestimmten Anzahl von Waren erforderlich ist, der Anzahl der Waren, die der Roboter auf der Trägereinrichtung verfehlt hat, eines Drehmoments eines Motors, der den Roboter zum Zeitpunkt des Lagerns der Waren mithilfe des Roboters antreibt, und einer Vibration enthalten, die zum Zeitpunkt des Lagerns der Waren mithilfe des Roboters auftritt.
-
Der Lernabschnitt kann enthalten: einen Belohnungsberechnungsabschnitt, der eine mit dem Ergebnis der Beurteilung der Eignung verbundene Belohnung ermittelt; und eine Wertfunktion, die einen Abschnitt aktualisiert, der eine Funktion aktualisiert, die einen Wert der Betriebsstartbedingung für den Zustand der Waren auf der Trägereinrichtung anzeigt, unter Verwendung der Belohnung.
-
Der Lernabschnitt kann eine mehrschichtige Berechnung der Zustandsvariablen und der Beurteilungsdaten durchführen.
-
Die Steuerung kann ferner einen Entscheidungsfindungsabschnitt umfassen, der einen Anweisungswert auf Grundlage der Betriebsstartbedingung auf Grundlage eines Lernergebnisses durch den Lernabschnitt ausgibt.
-
Der Lernabschnitt kann die Betriebsstartbedingung für jeden von einer Vielzahl von Robotern unter Verwendung der Zustandsvariablen und der Beurteilungsdaten erlernen, die für jeden der Vielzahl der Roboter erhalten wurden.
-
Die Vorrichtung für maschinelles Lernen kann in einem Cloudserver existieren.
-
Eine Einrichtung für maschinelles Lernen nach einer Ausführungsform der vorliegenden Erfindung erlernt eine Betriebsstartbedingung für eine Lagerbewegung für mindestens eine durch einen Roboter auf der Trägereinrichtung platzierte Ware zum Ergreifen der mindestens einen auf der Trägereinrichtung platzierten Ware und zum Lagern der Ware an einer vorbestimmten Position. Diese Einrichtung für maschinelles Lernen enthält: einen Zustandsbeobachtungsabschnitt, der Daten zur Betriebsstartbedingung, die die Betriebsstartbedingung zeigen, und Fördererzustandsdaten, die einen Zustand der auf der Trägereinrichtung platzierten Ware zeigen, als Zustandsvariablen beobachtet, die einen aktuellen Zustand einer Umgebung angeben; einen Beurteilungsdatenerfassungsabschnitt, der Beurteilungsdaten erfasst, die ein Ergebnis der Beurteilung der Eignung der Lagerbewegung zeigen; und einen Lernabschnitt, der die Betriebsstartbedingung in Verbindung mit den Fördererzustandsdaten unter Verwendung der Zustandsvariablen und der Beurteilungsdaten erlernt.
-
In einem Verfahren für maschinelles Lernen nach einer Ausführungsform der vorliegenden Erfindung wird eine Betriebsstartbedingung für eine Lagerbewegung für mindestens eine durch einen Roboter auf einer Trägereinrichtung platzierte Ware erlernt, wobei der Roboter zum Ergreifen der mindestens einen auf der Trägereinrichtung platzierten Ware und zum Lagern der Ware an einer vorbestimmten Position dient. Dieses Verfahren für maschinelles Lernen enthält die Schritte zum: Beobachten von Daten zur Betriebsstartbedingung, die die Betriebsstartbedingung zeigen, und Fördererzustandsdaten, die einen Zustand der auf der Trägereinrichtung platzierten Ware zeigen, als Zustandsvariablen, die einen aktuellen Zustand einer Umgebung angeben; Erfassen von Beurteilungsdaten, die ein Ergebnis der Beurteilung der Eignung der Lagerbewegung zeigen; und Lernen der Betriebsstartbedingung in Verbindung mit den Fördererzustandsdaten unter Verwendung der Zustandsvariablen und der Beurteilungsdaten.
-
Nach der vorliegenden Erfindung wird im Vergleich zu einem Schema der verwandten Technik eine Zyklusdauer von Warenlagerbewegungen minimiert, während eine Belastung eines Roboters verringert wird, und es kann eine Verbesserung der Produktivität erwartet werden. Ferner wird durch Berücksichtigen nicht nur der Positionen der Waren, sondern auch der Typen der Waren, eine Bewegung für eine Ware gestartet, die leichter aufgenommen werden kann.
-
Figurenliste
-
- 1 ist ein schematisches funktionales Blockdiagramm einer Steuerung nach einer ersten Ausführungsform;
- 2 ist ein Diagramm, das ein Beispiel für Daten zeigt, die für maschinelles Lernen verwendet werden;
- 3 ist ein schematisches funktionales Blockdiagramm, das eine Form der Steuerung zeigt;
- 4 ist ein schematisches Ablaufdiagramm, das eine Form eines Verfahrens für maschinelles Lernen zeigt;
- 5A ist ein Diagramm, das ein Neuron veranschaulicht;
- 5B ist ein Diagramm, das ein neuronales Netz veranschaulicht;
- 6 ist ein schematisches funktionales Blockdiagramm einer Steuerung nach einer zweiten Ausführungsform;
- 7 ist ein schematisches funktionales Blockdiagramm, das eine Form eines Warenträgersystems zeigt;
- 8 ist ein schematisches funktionales Blockdiagramm, das eine andere Form des Warenträgersystems zeigt; und
- 9 ist ein Diagramm, das einen Betrieb eines Trägersystems für Waren nach einer verwandten Technik veranschaulicht.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
1 ist ein schematisches funktionales Blockdiagramm einer Steuerung 10 nach einer ersten Ausführungsform.
-
Die Steuerung 10 kann beispielsweise als eine Steuerung zum Steuern eines Roboters (nicht gezeigt) implementiert werden, der einer Ware, die auf einer Trägereinrichtung läuft, folgt und diese aufnimmt. Die Steuerung 10 ist mit einer Einrichtung für maschinelles Lernen 20 versehen, die Software (einen Lernalgorithmus und dergleichen) und Hardware (wie eine CPU eines Computers) zum eigenständigen Erlernen einer Betriebsstartbedingung (wie einer Warenposition auf der Trägereinrichtung, um eine Erfassungsbewegung zu starten) durch sogenanntes maschinelles Lernen enthält. Die Betriebsstartbedingung, die die Einrichtung für maschinelles Lernen 20 der Steuerung 10 erlernt, entspricht einer Modellstruktur, die eine Korrelation zwischen einer Information, die Zustände von Waren auf der Trägereinrichtung, wie Positionen und Ausrichtungen der Waren auf der Trägereinrichtung zeigen, und einer Betriebsstartbedingung für die Zustände anzeigt.
-
Wie durch funktionale Blöcke in 1 gezeigt, ist die Einrichtung für maschinelles Lernen 20 der Steuerung 10 mit einem Zustandsbeobachtungsabschnitt 22 versehen, der Betriebsstartbedingungsdaten S1, die eine für Zustände von auf der Trägereinrichtung laufenden Waren (nicht gezeigt) festgelegte Betriebsstartbedingung zeigen, und Fördererzustandsdaten S2, die Zustände der auf der Trägereinheit laufenden Waren zeigen, als Zustandsvariablen S beobachtet, die einen aktuellen Zustand einer Umgebung angeben, einen Beurteilungsdatenerfassungsabschnitt 24, der Beurteilungsdaten D erfasst, die ein Ergebnis einer Beurteilung der Eignung einer Warenlagerbewegung durch einen Roboter unter der festgelegten Betriebsstartbedingung zeigen, und einen Lernabschnitt 26, der die Betriebsstartbedingungsdaten S1 in Verbindung mit den Fördererzustandsdaten S2 unter Verwendung der Zustandsvariablen S und der Beurteilungsdaten D erlernt.
-
Der Zustandsbeobachtungsabschnitt 22 kann beispielsweise als eine Funktion der CPU des Computers konfiguriert sein. Andernfalls kann der Zustandsbeobachtungsabschnitt 22 beispielsweise als Software konfiguriert sein, um zu bewirken, dass die CPU des Computers arbeitet. Es können zum Beispiel Betriebsstartbedingungsangabedaten, die von Facharbeitern angegeben und der Steuerung 10 übermittelt wurden, Protokolldaten über Lagerbewegungen des Roboters, der einer auf der Trägereinrichtung laufenden Ware folgt und diese aufnimmt, die vom Roboter oder einer Steuerung für den Roboter erfasst wurden, oder dergleichen als die Betriebsstartbedingungsdaten S1 unter den vom Zustandsbeobachtungsabschnitt 22 beobachteten Zustandsvariablen S verwendet werden. Als Betriebsstartbedingungsdaten S1 kann beispielsweise eine Erfassungsbewegungsbetriebsstartposition oder eine Bedingung zum Entscheiden über eine Reihenfolge der Erfassung der Waren auf der Trägereinrichtung (wobei zum Beispiel einer Nähe in einer x-Achsensichtung Priorität gegeben wird oder einer Nähe in einer zweidimensionalen Richtung Priorität gegeben wird) oder dergleichen verwendet werden.
-
Ferner kann als die Fördererzustandsdaten S2 unter den Zustandsvariablen S beispielsweise ein von einer ersten Messeinrichtung (nicht gezeigt), die am Roboter befestigt ist, tatsächlich gemessener Wert oder ein vom Roboter erfasster Betriebsparameter verwendet werden. Als Fördererzustandsdaten S2 können Positionen und Ausrichtungen einer vorbestimmten Anzahl an Waren verwendet werden, die auf einem Förderer zu einem Betriebsbereich des Roboters laufen.
-
Die erste Messeinrichtung kann beispielsweise die gesamte Fläche oder zumindest eine vorbestimmte Fläche der Trägereinrichtung von einer vorbestimmten Position aus messen. Die erste Messeinrichtung kann an einem oberen Teil der Trägereinrichtung angeordnet sein oder kann am Arm des Roboters befestigt sein. Die erste Messeinrichtung kann Positionen von Waren auf der Trägereinrichtung berechnen, zum Beispiel auf Grundlage einer Differenz zwischen der Trägereinrichtung, auf der die Waren nicht laufen, und der Trägereinrichtung, auf der die Waren laufen. Die erste Messeinrichtung ausgelegt sein, Formen, Farben und dergleichen von Waren auf der Trägereinrichtung berechnen, zum Beispiel auf Grundlage einer Differenz zwischen der Trägereinrichtung, auf der die Waren nicht laufen, und der Trägereinrichtung, auf der die Waren laufen. Diese Berechnung kann zum Beispiel von der Steuerung 10 oder dem Zustandsbeobachtungsabschnitt 22 selbst durchgeführt werden. Als die erste Messeinrichtung kann eine optische Bildaufnahmevorrichtung, ein Infrarotlaser, ein Ultraschallmessinstrument oder dergleichen eingesetzt werden.
-
Der Beurteilungsdatenerfassungsabschnitt 24 kann beispielsweise als eine Funktion der CPU des Computers konfiguriert sein. Andernfalls kann der Beurteilungsdatenerfassungsabschnitt 24 beispielsweise als Software konfiguriert sein, um zu bewirken, dass die CPU des Computers arbeitet. Die Beurteilungsdaten D, die vom Beurteilungsdatenerfassungsabschnitt 24 zu erfassen sind, können beispielsweise unter Verwendung eines Werts, der tatsächlich von der am Roboter befestigten ersten Messeinrichtung gemessen wird, oder eines Betriebsparameters erfasst werden, der vom Roboter erfasst wird, nachdem Bewegungen zum Lagern einer auf der Trägereinrichtung laufenden Ware vom Roboter durchgeführt werden. Als Beurteilungsdaten D kann zum Beispiel eine zum Lagern einer vorbestimmten Anzahl von Waren erforderliche Zyklusdauer, die Anzahl der verfehlten Waren, ein Drehmoment eines den Roboter antreibenden Motors (das aus einem Stromwert des Motors erfasst werden kann), eine am Roboter auftretende Vibration (die von einem am Roboter befestigten Beschleunigungssensor oder dergleichem erfasst werden kann) oder dergleichen verwendet werden. Die Beurteilungsdaten D sind ein Index, der ein Ergebnis einer Ausführung von Warenlagerbewegungen durch den Roboter unter den Zustandsvariablen S anzeigt, und zeigen indirekt einen Zustand der Lagerbewegungen an.
-
Während deshalb die Einrichtung für maschinelles Lernen 20 der Steuerung 10 das Lernen vorantreibt, werden die Messung der Positionen und Ausrichtungen einer vorbestimmten Anzahl an Waren auf der Trägereinrichtung, die auf dem Förderer zum Betriebsbereich des Roboters hin laufen, die Implementierung der Warenlagerarbeit durch den Roboter, die Messung der Positionen der Waren auf der Trägereinrichtung nach der Lagerarbeit (zur Messung der Anzahl der verfehlten Waren und dergleichen) durch die erste Messeinrichtung, die Erfassung der Daten, die einen Zustand des Roboters zeigen (eine Zyklusdauer, das Drehmoment, ein Vibrationsausmaß und dergleichen), in der Umgebung durchgeführt.
-
2 ist ein Diagramm, das ein Festlegungsbeispiel der Zustandsvariablen S und der Beurteilungsdaten D zeigt. Wie in 2 veranschaulicht, kann zum Beispiel ein x-Koordinatenwert einer Warenposition auf der Trägereinrichtung, an der eine Lagerbewegung zu starten ist, als eine Betriebsstartposition st für die Erfassungsbewegung verwendet werden, die in den Betriebsstartbedingungsdaten S1 enthalten ist. Ferner können beispielsweise ein x-Koordinatenwert und ein y-Koordinatenwert jeder der Waren auf dem Förderer und ein Winkel θ jeder der Waren in Bezug auf eine x-Achse eines Koordinatensystems als Positionen und Ausrichtungen (xn, yn, θn) einer vorbestimmten Anzahl von Waren auf der Trägereinrichtung, die auf der Trägereinrichtung zum Betriebsbereich des Roboters hin laufen, die in den Fördererzustandsdaten S2 enthalten sind, verwendet werden. Ferner kann die Anzahl der Waren, die nicht innerhalb des Betriebsbereichs des Roboters innerhalb einer vorab festgelegten vorbestimmten Zeit gelagert wurden, als die Anzahl der verfehlten Waren Ip verwendet werden, die in den Beurteilungsdaten D enthalten ist.
-
Der Lernabschnitt 26 kann beispielsweise als eine Funktion der CPU des Computers konfiguriert sein. Andernfalls kann der Lernabschnitt 26 beispielsweise als Software konfiguriert sein, um zu bewirken, dass die CPU des Computers arbeitet. Der Lernabschnitt 26 erlernt eine Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung gemäß beliebigen der Lernalgorithmen, die allgemein als maschinelles Lernen bezeichnet werden. Der Lernabschnitt 26 kann auf Grundlage eines Datensatzes, der die oben genannten Zustandsvariablen S und Beurteilungsdaten D enthält, das Lernen für Lagerbewegungen für eine Vielzahl von Waren wiederholt ausführen. Während der Lernzyklus für die Lagerbewegungen für die Vielzahl der Waren wiederholt wird, wird eine in vorangehenden Lernzyklen erhaltene Betriebsstartbedingung als die Betriebsstartbedingungsdaten S1 unter den Zustandsvariablen S festgelegt und die Beurteilungsdaten D sind ein Ergebnis einer Beurteilung der Eignung für Warenlagerbewegungen auf Grundlage der festgelegten Betriebsstartbedingung.
-
Durch Wiederholen eines solchen Lernzyklus kann der Lernabschnitt 26 automatisch Eigenschaften identifizieren, die auf eine Korrelation zwischen Zuständen von Waren auf der Trägereinrichtung (den Fördererzustandsdaten S2) und einer Betriebsstartbedingung für Lagerbewegungen durch den Roboter für die Waren auf der Trägereinrichtung hinweisen. Obwohl die Korrelation zwischen den Fördererzustandsdaten S2 und den Betriebsstartbedingungen zu Beginn des Lernalgorithmus im Wesentlichen unbekannt ist, identifiziert der Lernabschnitt 26 die Eigenschaften allmählich mit fortschreitendem Lernen und interpretiert die Korrelation.
-
Wenn die Korrelation zwischen den Fördererzustandsdaten S2 und den Betriebsstartbedingungen in einem zuverlässigen Ausmaß interpretiert ist, können wiederholt vom Lernabschnitt 26 ausgegebene Lernergebnisse verwendet werden, um eine Auswahl einer Aktion (das heißt eine Entscheidungsfindung) darüber zu treffen, unter welcher Betriebsstartbedingung eine Warenlagerbewegung für einen aktuellen Zustand durchzuführen ist (das heißt für Zustände von Waren auf der Trägereinrichtung). Das heißt, mit fortschreitendem Lernalgorithmus kann der Lernabschnitt 26 allmählich eine Korrelation zwischen den Zuständen der Waren auf der Fördermaschine und darüber, unter welcher Betriebsstartbedingung eine Warenlagerbewegung durchzuführen ist, für die Zustände nahe einer optimalen Lösung erstellen.
-
Wie oben beschrieben, lernt der Lernabschnitt 26 in der Einrichtung für maschinelles Lernen 20 der Steuerung 10 eine Betriebsstartbedingung zum Zeitpunkt des Lagerns einer auf der Trägereinrichtung platzierten Ware durch den Roboter gemäß dem Algorithmus für maschinelles Lernen unter Verwendung der vom Zustandsbeobachtungsabschnitt 22 beobachteten Zustandsvariablen S und der vom Beurteilungsdatenerfassungsabschnitt 24 erfassten Beurteilungsdaten D. Die Zustandsvariablen S sind mit solchen Daten konfiguriert, die weniger für Störungen anfällig sind, wie den Betriebsstartbedingungsdaten S1 und den Fördererzustandsdaten S2, und die Beurteilungsdaten D werden eindeutig durch Messen von Zuständen von Waren auf der Trägereinrichtung nach Warenlagerbewegungen oder durch Erfassen eines Betriebsparameters des Roboters ermittelt, der die Lagerbewegungen durchführt. In Bezug auf die Fördererzustandsdaten S2, obwohl die Fördererzustandsdaten S2 beispielsweise von einer Messgenauigkeit jedes Maschinenteils als eine Fähigkeit der ersten Messeinrichtung abhängen, wird erwartet, dass die Fördererzustandsdaten S2, die selbst sehr genau sind, beobachtet werden können. Außerdem wird ferner in Bezug auf die Beurteilungsdaten D erwartet, dass die Beurteilungsdaten D mit einer hohen Genauigkeit erfasst werden können, abhängig von einer Messgenauigkeit der ersten Messeinrichtung. Deshalb wird es gemäß der Einrichtung für maschinelles Lernen 20 der Steuerung 10 möglich, unter Verwendung eines Lernergebnisses des Lernabschnitts 26, eine Betriebsstartbedingung zum Zeitpunkt des Lagerns einer auf der Trägereinrichtung platzierten Ware durch den Roboter in Übereinstimmung mit den Zuständen der Waren nicht durch Berechnung oder Schätzung, sondern automatisch und genau zu bestimmen.
-
Wenn es möglich ist, eine Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung nicht durch Berechnung oder Schätzung, sondern automatisch zu ermitteln, ist es möglich, eine passende Betriebsstartbedingung zum Zeitpunkt des Lagerns einer auf die Trägereinrichtung platzierten Ware durch den Roboter rasch festzulegen, nur durch Erfassen von Zuständen der Waren auf der Trägereinrichtung (der Fördererzustandsdaten S2) vor dem Starten der Bewegung zum Lagern einer auf der Trägereinrichtung platzierten Ware durch den Roboter. Deshalb ist es möglich, zu ermöglichen, dass die Bewegung zum Lagern einer auf der Trägereinrichtung platzierten Ware durch den Roboter effizient durchgeführt wird, ohne den Roboter zu belasten.
-
Als eine Modifikation der Einrichtung für maschinelles Lernen 20 der Steuerung 10 kann der Zustandsbeobachtungsabschnitt 22 ferner eine Klassifizierungsinformation S3 beobachten, die eine Klassifizierung einer Lagerzielware als eine Zustandsvariable S identifiziert. Die Klassifizierungsinformation S3 kann beispielsweise eine Form, eine Farbe, ein Gewicht und dergleichen einer Lagerzielware enthalten. Der Zustandsbeobachtungsabschnitt 22 kann die Klassifizierungsinformation S3 beispielsweise aus einer Ausgabe der ersten Messeinrichtung erfassen. In diesem Fall kann die Klassifizierungsinformation S3 (als eine Klassifizierung eines Lagerzielartikels) in einer Betriebsstartbedingung enthalten sein und der Lernabschnitt 26 kann die Betriebsstartbedingung in Verbindung mit sowohl den Fördererzustandsdaten S2 als auch der Klassifizierungsinformation S3 lernen.
-
Nach der obigen Modifikation kann die Einrichtung für maschinelles Lernen 20 eine Betriebsstartbedingung in dem Fall lernen, in dem eine Lagerbewegung des Roboters auf Waren einer bestimmten Klassifizierung abzielt. Beispielsweise in Bezug auf zwei Arten von Waren, auf die von der Lagerung abgezielt wird, falls Gewichte und Formen (die Klassifizierungsinformation S3) der Waren verschieden sind, obwohl Positionen und Ausrichtungen (die Fördererzustandsdaten S2) der Waren auf der Trägereinrichtung fast gleich sind, kann eine Situation eintreten, dass die Betriebsstartbedingungen zum Zeitpunkt der Lagerung der Waren leicht unterschiedlich sind. Nach der oben beschriebenen Konfiguration ist es möglich, auch in einer solchen Situation die Betriebsstartbedingungen zum Zeitpunkt der Lagerung der Lagerzielwaren gemäß den Gewichten, Formen und dergleichen (der Klassifizierungsinformation S3) der Waren zu optimieren. Darüber hinaus kann es einen Fall geben, bei dem eine Korrelation zwischen Positionen und Ausrichtungen der Lagerzielwaren auf der Trägereinrichtung (den Fördererzustandsdaten S2) und Klassifizierungen der Waren (der Klassifizierungsinformation S3) mit fortschreitendem Lernen gefunden wird. In diesem Fall wird es möglich, in einem gewissen Maß die Fördererzustandsdaten S2 aus der Klassifizierungsinformation S3 abzuschätzen. Auch wenn eine Messgenauigkeit der Zustände der Waren auf der Trägereinrichtung durch die erste Messeinrichtung niedrig ist, ist es deshalb möglich, dass das Lernen angemessen konvergiert, und es ist möglich, eine Betriebsstartbedingung zum Zeitpunkt der Lagerung einer Ware zu optimieren.
-
Als eine weitere Modifikation der Einrichtung für maschinelles Lernen 20 der Steuerung 10 kann der Lernabschnitt 26 unter Verwendung von Zustandsvariablen S und Beurteilungsdaten D, die für jeden einer Vielzahl von Robotern mit der gleichen Konfiguration erhalten wurden, Betriebsstartbedingungen für Lagerbewegungen durch die Roboter für eine Ware auf der Trägereinrichtung erlernen. Nach dieser Konfiguration, da es möglich ist, eine Größe des Datensatzes zu erhöhen, der Zustandsvariablen S und Beurteilungsdaten D enthält, die in einer vorbestimmten Zeitspanne erhalten wurden, ist es möglich, eine Geschwindigkeit und Zuverlässigkeit des Lernens der Betriebsstartbedingungen für die Lagerbewegungen durch die Roboter für eine Ware auf der Trägereinrichtung mit einem Satz stärker variierender Daten als Eingabe zu verbessern.
-
In der Einrichtung für maschinelles Lernen 20 mit der obigen Konfiguration ist der vom Lernabschnitt 26 ausgeführte Lernalgorithmus nicht besonders eingeschränkt und ein Lernalgorithmus, der als maschinelles Lernen wohlbekannt ist, kann eingesetzt werden. 3 zeigt eine Form der in 1 gezeigten Steuerung 10, die eine Konfiguration ist, die mit dem Lernabschnitt 26 vorgesehen ist, der ein bestärkendes Lernen als ein Beispiel des Lernalgorithmus ausführt. Das bestärkende Lernen ist ein Verfahren, bei dem ein Zyklus zum Beobachten eines aktuellen Zustands (das heißt einer Eingabe) einer Umgebung, in dem ein Lernziel existiert, zum Ausführen einer vorbestimmten Aktion (das heißt einer Ausgabe) im aktuellen Zustand und zum Erteilen einer Belohnung für die Aktion durch Versuch und Irrtum wiederholt wird; und ein solches Schema (in der Einrichtung für maschinelles Lernen der vorliegenden Anmeldung eine Betriebsstartbedingung für Bewegungen zum Lagern einer auf der Trägereinrichtung platzierten Ware durch einen Roboter) wird als optimale Lösung erlernt, sodass eine Summe der Belohnungen maximiert wird.
-
In der Einrichtung für maschinelles Lernen 20 der in 3 gezeigten Steuerung 10 ist der Lernabschnitt 26 mit einem Belohnungsberechnungsabschnitt 28 versehen, der eine Belohnung R in Bezug auf ein Ergebnis der Beurteilung der Eignung (den Beurteilungsdaten D entsprechend, die im nächsten Lernzyklus verwendet werden) von Lagerbewegungen durch einen Roboter für eine Ware auf der Trägereinrichtung, auf Grundlage der Zustandsvariablen S ermittelt, und mit einem Wertfunktionsaktualisierungsabschnitt 30, der eine Funktion Q aktualisiert, die unter Verwendung der ermittelten Belohnung R einen Wert einer Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung aktualisiert. Durch den Wertfunktionsaktualisierungsabschnitt 30, der die Aktualisierung der Funktion Q wiederholt, erlernt der Lernabschnitt 26 die Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung für Zustände von Waren auf der Trägereinrichtung.
-
Ein Beispiel des bestärkenden Lernalgorithmus, der vom Lernabschnitt 26 ausgeführt wird, wird beschrieben. Der Algorithmus dieses Beispiels ist als Q-Lernen bekannt und ist ein Verfahren zum Lernen einer Funktion Q(s, a), die einen Aktionswert im Fall des Auswählens einer Aktion a in einem Zustand s anzeigt, wenn ein Zustand s einer Aktionsentität und eine Aktion a, die von der Aktionsentität im Zustand s ausgewählt werden kann, unabhängige Variablen sind. Durch Auswahl einer solchen Aktion a, dass die Wertfunktion Q in einem Zustand s am höchsten ist, wird eine optimale Lösung erhalten. Indem mit dem Q-Lernen in einem Zustand begonnen wird, in dem eine Korrelation zwischen einem Zustand s und einer Aktion a unbekannt ist, und indem Versuch und Irrtum beim Auswählen verschiedener Aktionen a in einem beliebigen Zustand s wiederholt werden, wird die Wertfunktion Q wiederholt aktualisiert und der optimalen Lösung angenähert. Hier ist es möglich, die Wertfunktion Q in einer relativ kurzen Zeit nahe an die optimale Lösung zu bringen, indem eine Konfiguration erstellt wird, sodass, wenn sich eine Umgebung (das heißt ein Zustand s) als Ergebnis davon ändert, dass eine Aktion a in einem Zustand s ausgewählt wird, eine Belohnung (das heißt eine Gewichtung der Aktion a) r gemäß der Änderung erhalten wird, und indem das Lernen so gelenkt wird, dass eine solche Aktion a ausgewählt wird, sodass eine höhere Belohnung r erhalten werden kann.
-
Eine Formel zum Aktualisieren der Wertfunktion Q kann allgemein durch Formel (1) ausgedrückt werden, die unten gezeigt ist. In Formel (1) sind s
t und a
t ein Zustand bzw. eine Aktion zum Zeitpunkt t und der Zustand ändert sich durch die Aktion a
t auf s
t+1. Hier bezeichnet r
t+1 eine Belohnung, die dadurch erhalten wird, dass sich der Zustand von s
t auf s
t+1 geändert hat. Der Ausdruck ,maxQ‘ bezeichnet Q zu dem Zeitpunkt, zu dem eine Aktion a, die zum Zeitpunkt t betrachtet wird, getätigt wird, sodass der Maximalwert Q zum Zeitpunkt t+1 erreicht wird. Ferner sind α und γ ein Lernkoeffizient bzw. eine Diskontrate, die beliebig innerhalb von Bereichen von „0 < α ≤ 1“ bzw. „0 < γ ≤ 1“ festgelegt sind.
-
Wenn der Lernabschnitt 26 Q-Lernen ausführt, entsprechen vom Zustandsbeobachtungsabschnitt 22 beobachtete Zustandsvariablen S und vom Beurteilungsdatenerfassungsabschnitt 24 erfasste Beurteilungsdaten dem Zustand s in der Aktualisierungsformel (Formel (1) oben); eine Aktion, wie eine Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung für einen aktuellen Zustand (das heißt einen Zustand der Waren auf der Trägereinrichtung) geändert werden sollte, entspricht der Aktion a in der Aktualisierungsformel; und eine Belohnung R, die vom Belohnungsberechnungsabschnitt 28 ermittelt wird, entspricht der Belohnung r in der Aktualisierungsformel. Deshalb aktualisiert der Wertfunktionsaktualisierungsabschnitt 30 die Funktion Q, die den Wert einer Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung für einen aktuellen Zustand anzeigt, durch Q-Lernen unter Verwendung der Belohnung R wiederholt.
-
In Bezug auf die vom Belohnungsberechnungsabschnitt 28 ermittelte Belohnung R, wenn nach Festlegung einer Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung die Lagerbewegungen für eine Ware auf der Trägereinrichtung durch den Roboter auf Grundlage der Betriebsstartbedingung durchgeführt werden, kann die Belohnung R sein:
- - eine positive (plus) Belohnung R, falls ein Lagerbewegungszustand als „geeignet“ erachtet wird (zum Beispiel in einem Fall, in dem eine Zyklusdauer der Lagerbewegungen für eine vorbestimmte Anzahl an Waren innerhalb eines zulässigen Bereichs liegt, in einem Fall, in dem die Anzahl der verfehlten Waren innerhalb eines zulässigen Bereichs liegt, in einem Fall, in dem das Drehmoment des Motors, der den Roboter antreibt, innerhalb eines zulässigen Bereichs liegt, in einem Fall, in dem ein Vibrationsausmaß des Roboters innerhalb eines zulässigen Bereichs liegt, und dergleichen); und andererseits
- - eine negative (minus) Belohnung R, falls ein Lagerbewegungszustand als „ungeeignet“ erachtet wird (zum Beispiel in einem Fall, in dem die Zyklusdauer der Lagerbewegungen für die vorbestimmte Anzahl an Waren außerhalb des zulässigen Bereichs liegt, in einem Fall, in dem die Anzahl der verfehlten Waren außerhalb des zulässigen Bereichs liegt, in einem Fall, in dem das Drehmoment des Motors, der den Roboter antreibt, außerhalb des zulässigen Bereichs liegt, in einem Fall, in dem das Vibrationsausmaß des Roboters außerhalb des zulässigen Bereichs liegt, und dergleichen).
-
Absolutbeträge der positiven und negativen Belohnungen R können jeweils gleich oder unterschiedlich sein. Ferner kann die Beurteilung durch Kombinieren einer Vielzahl von Werten durchgeführt werden, die als eine Bedingung für die Beurteilung in den Beurteilungsdaten D enthalten sind.
-
Ferner kann ein Ergebnis der Beurteilung der Eignung eines Zustands von Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung nicht nur auf zwei Arten von „geeignet“ und „ungeeignet“, sondern auch auf eine Vielzahl von Graden gesetzt werden. Als ein Beispiel, wenn ein Maximalwert eines zulässigen Bereichs einer Zyklusdauer einer Warenlagerbewegung Tmax ist, kann eine Konfiguration erstellt werden, in der eine Belohnung „R = 5“ erteilt wird, falls eine eine Zyklusdauer t der Warenlagerbewegung „0 ≤ T < Tmax/5“ erfüllt, eine Belohnung „R = 2“ wird erteilt, falls die Zyklusdauer der Warenlagerbewegung „Tmax/5 ≤ T < Tmax/2“ erfüllt, und eine Belohnung „R = 1“ wird erteilt, falls die Zyklusdauer der Warenlagerbewegung „Tmax/2 ≤ T ≤ Tmax“ erfüllt. Ferner ist es auch möglich, in einer Anfangsphase des Lernens Tmax relativ groß festzulegen und Tmax mit fortschreitendem Lernen zu reduzieren.
-
Der Wertfunktionsaktualisierungsabschnitt 30 kann eine Aktionswertetabelle aufweisen, in der die Zustandsvariablen S, die Beurteilungsdaten D und die Belohnungen R zusammen mit Aktionswerten (zum Beispiel numerischen Werten) angeordnet sind, die von der Funktion Q angegeben werden. In diesem Fall hat ein Verhalten des Wertfunktionsaktualisierungsabschnitts 30, der die Funktion Q aktualisiert, die gleiche Bedeutung wie ein Verhalten des Wertfunktionsaktualisierungsabschnitts 30, der die Aktionswertetabelle aktualisiert. Da die Korrelation zwischen einem aktuellen Zustand der Umgebung und einer Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung zu Beginn des Q-Lernens unbekannt ist, werden verschiedene Zustandsvariablen S, Beurteilungsdatensätze D und Belohnungen R zusammen mit zufällig gegebenen Werten der Aktionswerte (der Funktion Q) in der Aktionswertetabelle vorbereitet. Falls die Beurteilungsdaten D bekannt sind, kann der Belohnungsberechnungsabschnitt 28 sofort eine Belohnung R berechnen, die den Beurteilungsdaten D entspricht, und der berechnete Wert R wird in die Aktionswertetabelle geschrieben.
-
Wenn Q-Lernen mithilfe einer Belohnung R gefördert wird, die einem Ergebnis der Beurteilung der Eignung eines Zustands für Lagerbewegungen durch einen Roboter für eine Ware auf der Trägereinrichtung entspricht, wird das Lernen so gelenkt, dass eine Aktion ausgewählt wird, die eine höhere Belohnung R erzielen kann. Danach wird ein Wert eines Aktionswerts (die Funktion Q) über eine in einem aktuellen Zustand durchzuführende Aktion gemäß einem Zustand einer Umgebung (das heißt den Zustandsvariablen S und den Beurteilungsdaten D) umgeschrieben, der sich als Ergebnis der Ausführung einer ausgewählten Aktion im aktuellen Zustand ändert, und die Aktionswertetabelle wird aktualisiert. Durch Wiederholen der Aktualisierung werden die in der Aktionswertetabelle angezeigten Werte des Aktionswerts (der Funktion Q) so umgeschrieben, dass einer geeigneteren Aktion ein größerer Wert gegeben wird. Auf diese Weise wird eine Korrelation zwischen dem aktuellen Zustand der Umgebung (den Zuständen von Waren auf der Trägereinrichtung) und einer Aktion für den Zustand (eine Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung), die unbekannt war, allmählich sichtbar. Das heißt, durch Aktualisieren der Aktionswertetabelle wird eine Beziehung zwischen den Zuständen von Artikeln auf der Trägereinrichtung und der Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung allmählich in die Nähe einer optimalen Lösung gebracht.
-
Ein Ablauf des obigen vom Lernabschnitt 26 ausgeführten Q-Lernens (das heißt einer Form eines Verfahrens für maschinelles Lernen) wird weiter in Bezug auf 4 beschrieben.
-
Zuerst wählt der Wertfunktionsaktualisierungsabschnitt 30 bei Schritt SA01 zufällig eine Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung als eine Aktion aus, die in einem aktuellen Zustand durchzuführen ist, der durch die vom Zustandsbeobachtungsabschnitt 22 beobachteten Zustandsvariablen S angezeigt wird, unter Bezugnahme auf die Aktionswertetabelle zu diesem Zeitpunkt. Als Nächstes nimmt der Wertfunktionsaktualisierungsabschnitt 30 bei Schritt SA02 vom Zustandsbeobachtungsabschnitt 22 beobachtete Zustandsvariablen S des aktuellen Zustands auf und nimmt bei Schritt SA03 vom Beurteilungsdatenerfassungsabschnitt 24 erfasste Beurteilungsdaten D des aktuellen Zustands auf.
-
Als Nächstes beurteilt der Wertfunktionsaktualisierungsabschnitt 30 bei Schritt SA04 auf Grundlage der Beurteilungsdaten D, ob die Betriebsstartbedingung für die Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung geeignet ist oder nicht. Falls die Betriebsstartbedingung geeignet ist, wendet der Wertfunktionsaktualisierungsabschnitt 30 eine vom Belohnungsberechnungsabschnitt 28 ermittelte positive Belohnung R auf die Formel an, um die Funktion Q bei Schritt SA05 zu aktualisieren, und aktualisiert dann bei Schritt SA06 die Aktionswertetabelle unter Verwendung der Zustandsvariablen S, der Beurteilungsdaten D, der Belohnung R und eines Werts des Aktionswerts (der aktualisierten Funktion Q) für den aktuellen Zustand. Falls andererseits bei Schritt SA04 geurteilt wird, dass die Betriebsstartbedingung für die Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung ungeeignet ist, wendet der Wertfunktionsaktualisierungsabschnitt 30 eine vom Belohnungsberechnungsabschnitt 28 ermittelte negative Belohnung R auf die Formel an, um die Funktion Q bei Schritt SA07 zu aktualisieren, und aktualisiert dann bei Schritt SA06 die Aktionswertetabelle unter Verwendung der Zustandsvariablen S, der Beurteilungsdaten D, der Belohnung R und eines Werts des Aktionswerts (der aktualisierten Funktion Q) für den aktuellen Zustand.
-
Der Lernabschnitt 26 aktualisiert die Aktionswertetabelle wiederholt durch wiederholtes Verarbeiten der Schritte SA01 bis SA07 und treibt das Erlernen der Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung voran.
-
Zum Zeitpunkt des Fortschreitens des oben genannten bestärkenden Lernens kann beispielsweise ein neuronales Netz anstatt des Q-Lernens verwendet werden. 5A zeigt ein Modell eines Neurons schematisch. 5B zeigt ein Modell eines dreischichtigen neuronalen Netzes schematisch, das durch Kombinieren der in 5A gezeigten Neuronen konfiguriert ist. Das neuronale Netz kann beispielsweise mit arithmetischen Einheiten, Speichereinrichtungen und dergleichen konfiguriert sein, die neuronale Modelle simulieren.
-
Das in
5A gezeigte Neuron gibt ein Ergebnis y für eine Vielzahl von Eingaben (hier als Beispiel Eingaben x
1 bis x
3) aus. Gewichte w (w
1 bis w
3), die den Eingaben x entsprechen, werden auf die Eingaben x
1 bzw. x
3 angewandt. Dadurch gibt das Neuron eine Ausgabe y aus, die durch Formel (2) unten ausgedrückt ist. In Formel (2) sind alle Eingaben x, die Ausgabe y und die Gewichte w Vektoren. Ferner bezeichnet θ einen Bias und f
k bezeichnet eine Aktivierungsfunktion.
-
Im in 5B gezeigten dreischichtigen neuronalen Netz wird eine Vielzahl von Eingaben x (hier als Beispiel die Eingaben x1 bis x3) auf der linken Seite eingegeben und Ergebnisse y (hier als Beispiel die Ausgaben y1 bis y3) auf der rechten Seite ausgegeben. Im in 5B gezeigten Beispiel werden die Eingaben x1, x2 und x3 mit entsprechenden Gewichten (gemeinsam durch w1 bezeichnet) multipliziert und jede der Eingaben x1, x2 und x3 wird in drei Neuronen N11, N12 und N13 eingegeben.
-
In 5B werden die Ausgaben der Neuronen N11 bis N13 gemeinsam als z1 bezeichnet. Hier können z1 als Merkmalsvektoren angesehen werden, die durch Extrahieren von Merkmalsbeträgen der Eingangsvektoren erhalten werden. Im in 5B gezeigten Beispiel werden die Merkmalsvektoren z1 mit entsprechenden Gewichten (gemeinsam durch w2 bezeichnet) multipliziert und jeder der Merkmalsvektoren z1 wird in zwei Neuronen N21 und N22 eingegeben. Die Merkmalsvektoren z1 zeigen Merkmale zwischen den Gewichten w1 und den Gewichten w2 an.
-
In 5B werden die Ausgaben der Neuronen N21 bis N22 gemeinsam als z2 bezeichnet. Hier können z2 als Merkmalsvektoren angesehen werden, die durch Extrahieren von Merkmalsbeträgen der Merkmalsvektoren z1 erhalten werden. Im in 5B gezeigten Beispiel werden die Merkmalsvektoren z2 mit entsprechenden Gewichten (gemeinsam durch w3 bezeichnet) multipliziert und jeder der Merkmalsvektoren z2 wird in drei Neuronen N31, N32 und N33 eingegeben. Die Merkmalsvektoren z2 zeigen Merkmale zwischen den Gewichten w2 und den Gewichten w3 an. Zuletzt geben die Neuronen N31 bis N33 jeweils die Ergebnisse y1 bis y3 aus.
-
In der Einrichtung für maschinelles Lernen 20 der Steuerung 10 kann durch die Durchführung der mehrschichtigen Berechnung gemäß dem oben beschriebenen neuronalen Netz durch den Lernabschnitt 26 mit den Zustandsvariablen S und den Beurteilungsdaten D als den Eingaben x eine Betriebsstartbedingung (Ergebnis y) für die Lagerbewegung durch den Roboter für eine Ware auf der Trägereinrichtung ausgegeben werden. Betriebsmodi des neuronalen Netzes enthalten einen Lernmodus und einen Wertabschätzungsmodus. Es ist beispielsweise möglich, im Lernmodus ein Gewicht w unter Verwendung eines Trainingsdatensatzes zu erlernen und im Wertabschätzungsmodus eine Beurteilung über den Wert einer Aktion unter Verwendung des erlernten Gewichts w durchzuführen. Im Wertabschätzungsmodus können außerdem eine Erkennung, Klassifizierung und Argumentation und dergleichen durchgeführt werden.
-
Die oben beschriebene Konfiguration der Steuerung 10 kann als ein Verfahren (oder Software) für maschinelles Lernen beschrieben werden, die von der CPU des Computers ausgeführt wird. Das Verfahren für maschinelles Lernen ist ein Verfahren zum Erlernen einer Betriebsstartbedingung für eine Lagerbewegung durch den Roboter für eine Ware auf der Trägereinrichtung und enthält die Schritte zum: Beobachten von Betriebsstartbedingungsdaten S1, die die Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung zeigen, und von Fördererzustandsdaten S2, die Zustände von Waren auf der Trägereinrichtung zeigen, als Zustandsvariablen S, die einen aktuellen Zustand einer Umgebung angeben, in der eine Lagerbewegung durch den Roboter für eine Ware auf der Trägereinrichtung durchgeführt wird; Erfassen von Beurteilungsdaten D, die ein Ergebnis der Beurteilung der Eignung des Zustands von Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung zeigen; und Erlernen der Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung in Verbindung mit den Fördererzustandsdaten S2 unter Verwendung der Zustandsvariablen S und der Beurteilungsdaten D.
-
6 zeigt eine Steuerung 40 nach einer zweiten Ausführungsform.
-
Die Steuerung 40 ist mit einer Einrichtung für maschinelles Lernen 50 und einem Zustandsdatenerfassungsabschnitt 42 versehen, die die Betriebsstartbedingungsdaten S1 und die Fördererzustandsdaten S2 der Zustandsvariablen S, die vom Zustandsbeobachtungsabschnitt 22 beobachtet werden, als Zustandsdaten S0 erfasst. Die vom Zustandsdatenerfassungsabschnitt 42 erfassten Zustandsdaten S0 können auch die Klassifizierungsinformation S3 enthalten. Der Zustandsdatenerfassungsabschnitt 42 kann die Zustandsdaten S0 von der oben erwähnten, an einer Maschine befestigten ersten Messeinrichtung oder einer geeigneten Dateneingabe durch einen Arbeiter erfassen.
-
Die Einrichtung für maschinelles Lernen 50 der Steuerung 40 enthält zusätzlich zur Software (dem Lernalgorithmus und dergleichen) und der Hardware (wie einer CPU eines Computers) zum Erlernen einer Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung durch maschinelles Lernen selbst Software (einen arithmetischen Algorithmus und dergleichen) und Hardware (eine CPU des Computers) zum Ausgeben der erlernten Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung als eine Anweisung an den Roboter (nicht gezeigt). Die Einrichtung für maschinelles Lernen 50, die in der Steuerung 40 enthalten ist, kann eine Konfiguration aufweisen, in der eine gemeinsame CPU alle Softwareabschnitte ausführt, einschließlich des Lernalgorithmus, des arithmetischen Algorithmus und dergleichen.
-
Ein Entscheidungsfindungsabschnitt 52 kann beispielsweise als eine Funktion der CPU des Computers konfiguriert sein. Andernfalls kann der Entscheidungsfindungsabschnitt 52 beispielsweise als Software konfiguriert sein, um zu bewirken, dass die CPU des Computers arbeitet. Der Entscheidungsfindungsabschnitt 52 erstellt auf Grundlage einer Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung, die vom Lernabschnitt 26 erlernt wurde, einen Anweisungswert C an den Roboter, der eine Lagerbewegung durchführt, und gibt den erstellten Anweisungswert C aus. Wenn der Entscheidungsfindungsabschnitt 52 den Anweisungswert C auf Grundlage der Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung an den Roboter ausgibt, ändert sich ein Zustand einer Umgebung (die Betriebsstartbedingungsdaten S1) dementsprechend.
-
Der Zustandsbeobachtungsabschnitt 22 beobachtet die Zustandsvariablen S, die die Betriebsstartbedingungsdaten S1 enthalten, die sich nach Anzeige oder Ausgabe der Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung an die Umgebung durch den Entscheidungsfindungsabschnitt 52 geändert haben, im nächsten Lernzyklus. Der Lernabschnitt 26 erlernt die Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung, zum Beispiel durch Aktualisieren der Wertfunktion Q (das heißt der Aktionswertetabelle) unter Verwendung der Zustandsvariablen S, die sich geändert haben. Unter der erlernten Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung gibt der Entscheidungsfindungsabschnitt 52 den Anweisungswert C auf Grundlage der Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung gemäß den Zustandsvariablen S an den Roboter aus. Durch Wiederholen dieses Zyklus fördert die Einrichtung für maschinelles Lernen 50 das Lernen der Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung und verbessert eine Zuverlässigkeit der Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung schrittweise, über die die Einrichtung für maschinelles Lernen 50 selbst entscheidet.
-
Die Einrichtung für maschinelles Lernen 50 der Steuerung 40 mit der obigen Konfiguration weist eine vorteilhafte Wirkung auf, die gleich der der vorher beschriebenen Einrichtung für maschinelles Lernen 20 ist. Insbesondere kann die Einrichtung für maschinelles Lernen 50 mithilfe einer Ausgabe des Entscheidungsfindungsabschnitts 52 bewirken, dass sich ein Zustand einer Umgebung ändert. Andererseits kann die Einrichtung für maschinelles Lernen 20 eine Funktion anfordern, die dem Entscheidungsfindungsabschnitt 52 entspricht, die zum Wiedergeben eines Lernergebnisses des Lernabschnitts 26 an eine Umgebung von einer externen Vorrichtung (zum Beispiel der Steuerung für den Roboter) dient.
-
7 zeigt ein Warenträgersystem 70, das mit Robotern 60 versehen ist, nach einer Ausführungsform.
-
Das Warenträgersystem 70 ist mit einer Vielzahl von Robotern 60 und 60' mit der gleichen Maschinenkonfiguration und einem Netzwerk 72 ausgestattet, das die Roboter 60 und 60' miteinander verbindet. Mindestens einer der Vielzahl der Roboter 60 und 60' ist als ein Roboter 60 konfiguriert, der mit der oben beschriebenen Steuerung 40 versehen ist. Ferner kann das Warenträgersystem 70 Roboter 60' enthalten, die nicht mit der Steuerung 40 ausgestattet sind. Die Roboter 60 und 60' weisen eine allgemeine Konfiguration auf, die zum Lagern von Waren auf der Trägereinrichtung erforderlich ist.
-
Im Warenträgersystem 70 mit der obigen Konfiguration kann der mit der Steuerung 40 versehene Roboter 60 unter der Vielzahl der Roboter 60 und 60' eine Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung, die Zuständen von Waren auf der Trägereinrichtung entspricht, nicht durch Berechnung oder Abschätzung, sondern unter Verwendung eines Lernergebnisses des Lernabschnitts 26 automatisch und darüber hinaus genau ermitteln. Ferner kann eine Konfiguration erstellt werden, in der die Steuerung 40 des mindestens einen Roboters 60 eine Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung, die allen Robotern 60 und 60' gemeinsam ist, aufgrund von Zustandsvariablen S und Beurteilungsdaten D erlernt, die für jeden der Vielzahl der Roboter 60 und 60' erhalten wurden, und alle Roboter 60 und 60' teilen sich das Ergebnis des Lernvorgangs. Deshalb ist es gemäß dem Warenträgersystem 70 möglich, die Geschwindigkeit und Zuverlässigkeit des Erlernens einer Betriebsstartbedingung für Lagerbewegungen durch den Roboter für eine Ware auf der Trägereinrichtung mit einem Satz stärker variierender Daten (einschließlich der Zustandsvariablen S und der Beurteilungsdaten D) als Eingabe zu verbessern.
-
8 zeigt ein Warenträgersystem 70', das mit Robotern 60' versehen ist, nach einer anderen Ausführungsform.
-
Das Warenträgersystem 70' ist mit der Einrichtung für maschinelles Lernen 50 (oder 20), einer Vielzahl von Robotern 60' mit der gleichen Maschinenkonfiguration, einem Netzwerk 72 ausgestattet, das die Roboter 60' und die Einrichtung für maschinelles Lernen 50 (oder 20) miteinander verbindet.
-
Im Warenträgersystem 70' mit der obigen Konfiguration kann die Einrichtung für maschinelles Lernen 50 (oder 20) eine Betriebsstartbedingung für Lagerbewegungen durch die Roboter für eine Ware auf der Trägereinrichtung, die allen Robotern 60' gemeinsam ist, auf Grundlage von Zustandsvariablen S und Beurteilungsdaten D erlernen, die für jeden der Vielzahl der Roboter 60' erhalten wurden, und eine Betriebsstartbedingung für Lagerbewegungen durch die Roboter für eine Ware auf der Trägereinrichtung gemäß den Zuständen von auf der Trägereinrichtung platzierten Waren nicht durch Berechnung oder Abschätzung, sondern unter Verwendung eines Ergebnisses des Lernvorgangs automatisch und genau ermitteln.
-
Das Warenträgersystem 70' kann eine Konfiguration aufweisen, in der die Einrichtung für maschinelles Lernen 50 (oder 20) in einem Cloudserver, einer Zellensteuerung oder dergleichen im Netzwerk 72 existiert. Gemäß dieser Konfiguration ist es möglich, bei Bedarf eine notwendige Anzahl von Robotern 60' mit der Einrichtung für maschinelles Lernen 50 (oder 20) anzubinden, unabhängig von einem Ort oder Zeitraum, an bzw. in dem jeder der Vielzahl der Roboter 60' existiert.
-
Ein Arbeiter, der am Warenträgersystem 70 oder 70' beschäftigt ist, kann eine Beurteilung darüber treffen, ob die Betriebsstartbedingung für Lagerbewegungen durch die Roboter für eine Ware auf der Trägereinrichtung durch die Einrichtung für maschinelles Lernen 50 (oder 20) (das heißt die Zuverlässigkeit der Betriebsstartbedingung für Lagerbewegungen durch die Roboter für eine Ware auf der Trägereinrichtung) in einem erforderlichen Ausmaß in einer angemessenen Zeitspanne nach Beginn des Lernvorgangs durch die Einrichtung für maschinelles Lernen 50 (oder 20) erlernt wurde oder nicht.
-
Oben wurden Ausführungsformen der vorliegenden Erfindung beschrieben. Die vorliegende Erfindung ist jedoch nicht auf die Beispiele der oben beschriebenen Ausführungsformen beschränkt und kann in verschiedenen Aspekten implementiert werden, indem eine geeignete Änderung vorgenommen wird.
-
Der von der Einrichtung für maschinelles Lernen 20 oder 50 ausgeführte Lernalgorithmus, der von der Einrichtung für maschinelles Lernen 50 ausgeführte arithmetische Algorithmus, der von der Steuerung 10 oder 40 ausgeführte Steueralgorithmus und dergleichen sind beispielsweise nicht auf die oben beschriebenen beschränkt und es können verschiedene Algorithmen eingesetzt werden.
-
Ferner, obwohl ein Beispiel in den Ausführungsformen oben beschrieben wurde, in dem die Einrichtung für maschinelles Lernen 20 oder 50 das maschinelle Lernen mitlaufend an der Steuerung 10 oder 40 durchführt, ist es auch möglich, die Zustandsdaten S und die Beurteilungsdaten D als Protokolldaten zum Zeitpunkt des Steuerns eines Roboters durch die Steuerung 10 oder die Steuerung 40 aufzuzeichnen und die aufgezeichneten Protokolldaten zu sammeln, sodass die Einrichtung für maschinelles Lernen 20 oder 50 das maschinelle Lernen auf Grundlage der aus den gesammelten Protokolldaten erfassten Zustandsdaten S und Beurteilungsdaten D durchführt.
-
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
-