-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine Steuervorrichtung und eine Lernvorrichtung und betrifft insbesondere eine Steuervorrichtung und eine Lernvorrichtung, die in der Lage sind, eine Betätigung eines Roboters zu optimieren, wenn sich eine Person dem Roboter nähert.
-
Beschreibung der verwandten Technik
-
Wenn eine Person in einen Betriebsbereich eines Roboters eintritt, führt eine herkömmliche Steuervorrichtung eine Steuerung aus, um die Betätigung des Roboters anzuhalten oder um die Geschwindigkeit des Roboters auf eine sicherere Geschwindigkeit zu schalten und den Roboter mit der Betätigung fortfahren zu lassen, um zu verhindern, dass der Roboter auf die Person trifft. Die
japanische Patent-Offenlegungsschrift Nr. 2012-040626 beschreibt beispielsweise die Technik zum Ausführen einer Steuerung, so dass der Kontakt zwischen einem Roboter und einer Person durch einen Kraftsensor detektiert wird, und die Entstehung einer zu großen Kraft verhindert wird.
-
Gemäß der herkömmlichen Steuerung verschlechtert sich jedoch die Produktivität eines Roboters, wenn eine Person in einen Betriebsbereich des Roboters eintritt. Falls es dem Roboter ermöglicht wird, seine Betätigung sicher und effizient selbst in dem Fall fortzuführen, dass ein Weg des Roboters geändert wird, um zu verhindern, dass der Roboter auf eine Person trifft, oder die Geschwindigkeit des Roboters nicht reduziert wird, wenn kein Risiko eines Zusammenstoßes mit einer Person besteht, sollte beispielsweise eine Verschlechterung der Produktivität unterdrückt werden.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Die vorliegende Erfindung ist ausgebildet, um ein derartiges Problem zu lösen, und eine Aufgabe der vorliegenden Erfindung besteht darin, eine Steuervorrichtung und eine Lernvorrichtung bereitzustellen, die in der Lage sind, eine Betätigung eines Roboters zu optimieren, wenn sich eine Person dem Roboter nähert.
-
Eine Steuervorrichtung gemäß einem Aspekt der vorliegenden Erfindung, die einen Befehl für einen Roboter ausgibt, umfasst eine maschinelle Lernvorrichtung, die einen Befehl für den Roboter erlernt. Die maschinelle Lernvorrichtung umfasst: eine Zustandsbeobachtungseinheit, die einen Zustand des Roboters und einen Zustand einer Person, die in einem Peripheriebereich des Roboters anwesend ist, als Zustandsvariablen, die einen aktuellen Zustand einer Umgebung darstellen, beobachtet; eine Einheit zum Erfassen von Bestimmungsdaten, die Bestimmungsdaten erfasst, die einen Interferenzzustand zwischen dem Roboter und der Person darstellen; und eine Lerneinheit, die den Zustand des Roboters, den Zustand der Person, die in dem Peripheriebereich des Roboters anwesend ist, und den Befehl für den Roboter, der erhalten wird, indem der Zustand des Roboters und der Zustand der Person, die in dem Peripheriebereich des Roboters anwesend ist, unter Verwendung der Zustandsvariablen und der Bestimmungsdaten verknüpft werden, erlernt.
-
Bei der Steuervorrichtung gemäß einem anderen Aspekt der Erfindung umfassen die Zustandsvariablen eine Lage und eine Bewegungsgeschwindigkeit eines Manipulators des Roboters als Daten, die einen Zustand des Roboters darstellen, und die Zustandsvariablen umfassen eine Eintrittsrichtung und eine Verlaufslinie der Person als Daten, die einen Zustand der Person darstellen.
-
Bei der Steuervorrichtung gemäß noch einem anderen Aspekt der Erfindung umfassen die Bestimmungsdaten mindestens eines aus einer Tatsache, ob der Roboter und die Person zusammengestoßen sind oder nicht, einem relativen Abstand zwischen dem Roboter und der Person, einer Größe der Kollisionskraft und einem Durchsatz.
-
Bei der Steuervorrichtung gemäß noch einem anderen Aspekt der Erfindung umfasst die Lerneinheit eine Einheit zum Berechnen von Belohnungen, die eine Belohnung erhält, die mit einem Interferenzzustand zwischen dem Roboter und der Person zusammenhängt, und eine Einheit zum Aktualisieren einer Wertfunktion, die eine Funktion, die einen Wert des Befehls für den Roboter mit Bezug auf den Zustand des Roboters und den Zustand der Person, die in dem Peripheriebereich des Roboters anwesend ist, darstellt, unter Verwendung der Belohnung aktualisiert.
-
Bei der Steuervorrichtung gemäß noch einem anderen Aspekt der Erfindung berechnet die Lerneinheit die Zustandsvariablen und die Bestimmungsdaten in einer Berechnung einer mehrschichtigen Struktur.
-
Die Steuervorrichtung gemäß noch einem anderen Aspekt der Erfindung umfasst ferner eine Entscheidungsfindungseinheit, die einen Befehlswert ausgibt, der den Befehl für den Roboter darstellt, basierend auf einem Lernergebnis, das durch die Lerneinheit erhalten wird.
-
Bei der Steuervorrichtung gemäß noch einem anderen Aspekt der Erfindung erlernt die Lerneinheit den Befehl für den Roboter unter Verwendung der Zustandsvariablen und der Bestimmungsdaten, wobei die Zustandsvariablen und die Bestimmungsdaten von einer Vielzahl von Robotern erhalten werden.
-
Bei der Steuervorrichtung gemäß noch einem anderen Aspekt der Erfindung ist die maschinelle Lernvorrichtung in einem Cloud-Server vorhanden.
-
Eine Lernvorrichtung gemäß einem Aspekt der vorliegenden Erfindung, die einen Befehl für einen Roboter erlernt, umfasst: eine Zustandsbeobachtungseinheit, die einen Zustand des Roboters und einen Zustand einer Person, die in einem Peripheriebereich des Roboters anwesend ist, als Zustandsvariablen, die einen aktuellen Zustand einer Umgebung darstellen, beobachtet; eine Einheit zum Erfassen von Bestimmungsdaten, die Bestimmungsdaten erfasst, die einen Interferenzzustand zwischen dem Roboter und der Person darstellen; und eine Lerneinheit, die den Zustand des Roboters, den Zustand der Person, die in dem Peripheriebereich des Roboters anwesend ist, und den Befehl für den Roboter, der erhalten wird, indem der Zustand des Roboters und der Zustand der Person, die in dem Peripheriebereich des Roboters anwesend ist, unter Verwendung der Zustandsvariablen und der Bestimmungsdaten verknüpft werden, erlernt.
-
Gemäß der vorliegenden Erfindung ist es möglich, eine Steuervorrichtung und eine Lernvorrichtung bereitzustellen, die in der Lage sind, eine Betätigung eines Roboters zu optimieren, wenn sich eine Person dem Roboter nähert.
-
Figurenliste
-
Die zuvor beschriebenen und andere Aufgaben und Merkmale der vorliegenden Erfindung werden aus den folgenden Ausführungsformen hervorgehen, die mit Bezug auf die beiliegenden Zeichnungen beschrieben werden. Es zeigen:
- 1 ein schematisches Funktionsblockdiagramm, das einen Aspekt einer Steuervorrichtung abbildet;
- 2 ein schematisches Funktionsblockdiagramm, das einen anderen Aspekt der Steuervorrichtung abbildet;
- 3 ein Ablaufschema, das einen Aspekt eines maschinellen Lernverfahrens abbildet;
- 4A ein Ablaufschema, das einen anderen Aspekt des maschinellen Lernverfahrens abbildet;
- 4B ein Ablaufschema, das den anderen Aspekt des maschinellen Lernverfahrens abbildet;
- 5A ein Neuron;
- 5B ein neuronales Netzwerk;
- 6 ein schematisches Funktionsblockdiagramm, das einen Aspekt einer Steuervorrichtung abbildet;
- 7 ein schematisches Funktionsblockdiagramm, das einen Aspekt eines Systems abbildet, in dem Steuervorrichtungen integriert sind; und
- 8 ein schematisches Funktionsblockdiagramm, das einen anderen Aspekt eines Systems abbildet, in dem Steuervorrichtungen integriert sind.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Erste Ausführungsform
-
Die Ausführungsformen der vorliegenden Erfindung werden nachstehend mit Bezug auf die beiliegenden Zeichnungen beschrieben. Eine Steuervorrichtung 1 gemäß dieser Ausführungsform der vorliegenden Erfindung ist dadurch gekennzeichnet, dass sie Befehle für einen Roboter optimiert, wenn sich eine Person dem Roboter im Betrieb nähert. Beispiele des Befehls für einen Roboter umfassen einen Befehl bezüglich der Auswahl einer Geschwindigkeit (Halten der Geschwindigkeit, Verzögern, Anhalten) und einen Befehl bezüglich der Auswahl eines Wegs (eines Wegs zu einem Ziel, einer Unterscheidung zwischen einer Wendung im Uhrzeigersinn und einer Wendung im Gegenuhrzeigersinn). Die Steuervorrichtung 1 gemäß der vorliegenden Ausführungsform verwendet maschinelles Lernen als Mittel zum Optimieren von Befehlen für einen Roboter.
-
Dabei sei zu beachten, dass ein steuerndes Objekt der Steuervorrichtung 1 gemäß der vorliegenden Ausführungsform ein Roboter ist, der verzögern oder anhalten kann, wenn eine Person in den Roboter läuft oder sich diesem nähert. Beispiele des Roboters umfassen einen kooperierenden Roboter (einen Roboter, dessen Leistung reduziert ist, um eine Person nicht zu verletzen). Der Roboter kann ein mobiler Roboter oder ein Manipulator, der sich nicht selber bewegt, sein.
-
Die Konfiguration der Steuervorrichtung 1 wird mit Bezug auf das Blockdiagramm aus 1 beschrieben. Die Steuervorrichtung 1 umfasst eine maschinelle Lernvorrichtung 100. Die maschinelle Lernvorrichtung 100 umfasst Software (einen Lernalgorithmus und dergleichen) und Hardware (einen Prozessor und dergleichen) zum selbstständigen Lernen von Befehlen für einen Roboter mit Bezug auf einen Zustand des Roboters und einen Zustand einer Person, die in einem Peripheriebereich des Roboters anwesend ist, durch so genanntes maschinelles Lernen. In diesem Fall entspricht, was die maschinelle Lernvorrichtung 100, die in der Steuervorrichtung 1 enthalten ist, lernt, einer Modellstruktur, die eine Korrelation eines Zustands eines Roboters und eines Zustands einer Person, die in einem Peripheriebereich des Roboters anwesend ist, mit Bezug auf Befehle für den Roboter darstellt.
-
Wie in dem Funktionsblock aus 1 abgebildet, umfasst die maschinelle Lernvorrichtung 100, die in der Steuervorrichtung 1 enthalten ist, eine Zustandsbeobachtungseinheit 106, eine Einheit 108 zum Erfassen von Bestimmungsdaten und eine Lerneinheit 110. Die Zustandsbeobachtungseinheit 106 beobachtet einen Zustand eines Roboters und einen Zustand einer Person, die in einem Peripheriebereich des Roboters anwesend ist, als Zustandsvariablen S, die einen aktuellen Zustand einer Umgebung darstellen. Die Einheit 108 zum Erfassen von Bestimmungsdaten erfasst einen Interferenzzustand zwischen dem Roboter und der Person als Bestimmungsdaten D. Die Lerneinheit 110 führt ein Lernen eines Zustands des Roboters, eines Zustands der Person, die in einem Peripheriebereich des Roboters anwesend ist, und von Befehlen für den Roboter aus, während sie den Zustand des Roboters und den Zustand der Person, die in dem Peripheriebereich des Roboters anwesend ist, mit den Befehlen für den Roboter unter Verwendung der Zustandsvariablen S und der Bestimmungsdaten D verknüpft.
-
Die Zustandsbeobachtungseinheit 106 kann beispielsweise als eine Funktion eines Prozessors, der in der Steuervorrichtung 1 enthalten ist, konfiguriert sein. Alternativ kann die Zustandsbeobachtungseinheit 106 beispielsweise als Software konfiguriert sein, die verwendet wird, um zu bewirken, dass der Prozessor funktioniert.
-
Ein Zustand eines Roboters unter den Zustandsvariablen S entspricht Daten, die einen Zustand eines Roboters im Betrieb darstellen, und umfasst eine Lage (eine Kombination von Gelenkwinkeln) und eine Bewegungsgeschwindigkeit eines Manipulators des Roboters. Zusätzlich dazu kann der Zustand des Roboters beispielsweise eine Position des Roboters und eine Position eines vorgeschobenen Werkstücks umfassen. Dies sind alles Daten, welche die Steuervorrichtung 1 durch einen Sensor oder dergleichen im Innern des Roboters direkt beobachten kann. Die Steuervorrichtung 1 kann diese Daten beispielsweise für jede Steuerperiode erfassen und die Daten in die Zustandsbeobachtungseinheit 106 eingeben. Alternativ kann die Steuervorrichtung 1 diese Daten für jede gegebene Zeit in einem vorbestimmten Zeitraum erfassen und die Menge dieser Zeitreihendaten als Zustandsvariable S eingeben.
-
Ein Zustand einer Person, die in einem Peripheriebereich eines Roboters anwesend ist, unter den Zustandsvariablen S entspricht Daten, die einen Zustand einer Person darstellen, die im Innern eines Betriebsbereichs des Roboters (oder einem beliebigen Bereich, der einen Betriebsbereich des Roboters umfasst) anwesend ist, und umfasst beispielsweise eine Eintrittsrichtung einer Person, die in den Betriebsbereich eingetreten ist (von der Stelle, an der die Person eingetreten ist), und eine Verlaufslinie (eine Strecke, welche die Person zurückgelegt hat). Zusätzlich dazu kann der Zustand einer Person eine Position, eine Geschwindigkeit und ein Aussehen (beispielsweise eine Art von Kleidung (beispielsweise Arbeitskleidung oder einen Anzug), eine Farbe einer Kopfbedeckung, eine Art von persönlichem Schmuck, ein Gesicht und eingegebene Elemente einer ID) der Person, Besitztümer (beispielsweise eine Art eines Werkzeugs und eine Art eines getragenen Werkstücks) und dergleichen umfassen. Die Steuervorrichtung 1 fotografiert das Innere des Betriebsbereichs beispielsweise mit einem optischen Sensor, der nicht gezeigt ist, und verfolgt eine Person basierend auf dem fotografierten Bild, wobei sie in der Lage ist, eine Eintrittsrichtung und eine Verlaufslinie vorzugeben und ein Aussehen und Besitztümer zu erkennen. Da die Erkennungsverarbeitung basierend auf Bildern eine bekannte Technik ist, entfällt hier ihre ausführliche Beschreibung. Alternativ kann die Steuervorrichtung 1 eine Eintrittsrichtung (an der Stelle, an der eine Person eingetreten ist), eine Verlaufslinie (eine Strecke, welche die Person zurückgelegt hat), eine Position und eine Geschwindigkeit der Person unter Verwendung beispielsweise eines Bereichssensors oder einer Piezoschaltmatte, die nicht gezeigt ist, detektieren. Die Steuervorrichtung 1 kann diese Daten beispielsweise für jede Steuerperiode erfassen und die Daten in die Zustandsbeobachtungseinheit 106 eingeben. Alternativ kann die Steuervorrichtung 1 diese Daten für jede gegebene Zeit in einem vorbestimmten Zeitraum erfassen und die Menge dieser Zeitreihendaten als die Zustandsvariablen S eingeben.
-
Dabei werden die Daten bezüglich des Aussehens einer Person verwendet, weil es eine Korrelation zwischen dem Aussehen einer Person und einer Möglichkeit, dass sich die Person einer spezifischen Maschine nähert, geben kann. Eine Stellung, eine Aufgabe und eine Tätigkeit einer Person werden beispielsweise häufig in ihrem Aussehen wiedergegeben. Beispielsweise kann man eine Person, die für eine Fertigungsstraße verantwortlich ist, einen Aufseher und einen Außenstehenden basierend auf ihrem Aussehen unterscheiden. Ferner besteht eine Beziehung zwischen einer Stellung einer Person und einer Bewegung der Person. Beispielsweise kann eine Korrelation, wie etwa dass sich eine Person, die für eine Fertigungsstraße verantwortlich ist, höchst wahrscheinlich einer spezifischen Maschine nähert, hergestellt werden.
-
Die Einheit 108 zum Erfassen von Bestimmungsdaten kann beispielsweise als eine Funktion des Prozessors der Steuervorrichtung 1 konfiguriert sein. Alternativ kann die Einheit 108 zum Erfassen von Bestimmungsdaten beispielsweise als Software konfiguriert sein, die verwendet wird, um zu bewirken, dass der Prozessor funktioniert.
-
Der Interferenzzustand zwischen einem Roboter und einer Person als Bestimmungsdaten D entspricht beispielsweise Daten, welche die Tatsache, ob der Roboter und die Person zusammengestoßen sind oder nicht, eine Größe der Kollisionskraft und einen relativen Abstand zwischen dem Roboter und der Person darstellen. Die Tatsache, ob der Roboter und die Person zusammengestoßen sind oder nicht, und die Größe der Kollisionskraft sind Daten, welche die Steuervorrichtung 1 unter Verwendung eines Kraftsensors oder dergleichen beobachten kann. Für den relativen Abstand zwischen einem Roboter und einer Person fotografiert die Steuervorrichtung 1 das Innere eines Betriebsbereichs unter Verwendung eines optischen Sensors, der nicht gezeigt ist, und ist in der Lage, den relativen Abstand basierend auf dem fotografierten Bild vorzugeben. Da die Objekterkennung durch automatische Bildanalyse und einer Verarbeitung zum Schätzen eines Abstands zwischen Objekten wohlbekannte Techniken sind, entfallen hier ausführliche Beschreibungen derselben. Die Steuervorrichtung 1 kann diese Daten für jede Steuerperiode erfassen und die Daten in die Einheit 108 zum Erfassen von Bestimmungsdaten eingeben. Alternativ kann die Steuervorrichtung 1 diese Daten für jede gegebene Zeit in einem vorbestimmten Zeitraum erfassen und die Menge dieser Zeitreihendaten als die Bestimmungsdaten D eingeben.
-
Wenn sie durch die Lerneinheit 110 basierend auf einer Lernperiode betrachtet werden, basieren die Zustandsvariablen S, die in die Lerneinheit 110 eingegeben werden, auf Daten einer vorhergehenden Lernperiode, in der die Bestimmungsdaten D erfasst wurden. Obwohl somit die maschinelle Lernvorrichtung 100, die in der Steuervorrichtung 1 enthalten ist, mit dem Lernen Fortschritte macht, werden die Erfassung der Zustandsvariablen S, die Ausgabe von Befehlen (Weg, Geschwindigkeit) für einen Roboter, die basierend auf den Zustandsvariablen S angepasst werden, und die Erfassung der Bestimmungsdaten D in einer Umgebung wiederholt ausgeführt.
-
Die Lerneinheit 110 kann beispielsweise als eine Funktion des Prozessors der Steuervorrichtung 1 konfiguriert sein. Alternativ kann die Lerneinheit 110 beispielsweise als Software konfiguriert sein, die verwendet wird, um zu bewirken, dass der Prozessor funktioniert. Die Lerneinheit 110 erlernt Befehle für einen Roboter, die einem Zustand des Roboters und einem Zustand einer Person, die in einem Peripheriebereich des Roboters anwesend ist, entsprechen, in Übereinstimmung mit einem beliebigen Lernalgorithmus, der insgesamt als maschinelles Lernen bezeichnet wird. Die Lerneinheit 110 kann das Lernen basierend auf einem Datensatz, der die Zustandsvariablen S und die Bestimmungsdaten D umfasst, für jede Steuerperiode oder zu jeder beliebigen Zeit wiederholt ausführen.
-
Durch das Wiederholen eines derartigen Lernzyklus kann die Lerneinheit 110 automatisch ein Merkmal identifizieren, das eine Korrelation der Zustandsvariablen S, die einen Zustand eines Roboters und einen Zustand einer Person, die in einem Peripheriebereich des Roboters anwesend ist, darstellen, mit Bezug auf Befehle für den Roboter angibt. Obwohl die Korrelation zwischen den Zustandsvariablen S und den Befehlen für einen Roboter zu Beginn des Lernalgorithmus im Wesentlichen unbekannt sind, identifiziert die Lerneinheit 110 allmählich Merkmale, wenn die Lerneinheit 110 mit dem Lernen Fortschritte macht, und somit interpretiert die Lerneinheit 110 die Korrelation. Wenn die Korrelation zwischen den Zustandsvariablen S und den Befehlen für einen Roboter bis auf ein einigermaßen zuverlässiges Niveau interpretiert wird, begibt sich ein Lernergebnis, das von der Lerneinheit 110 wiederholt ausgegeben wird, auf ein brauchbares Niveau, um eine Auswahl (d.h. Entscheidungsfindung) einer Aktion auszuführen, um Werte von Befehlen für einen Roboter mit Bezug auf einen aktuellen Zustand (d.h. einen Zustand des Roboters und einen Zustand einer Person, die in einem Peripheriebereich des Roboters anwesend ist) einzustellen.
-
Wie zuvor beschrieben, erlernt die Lerneinheit 110 der maschinellen Lernvorrichtung 100, die.in der Steuervorrichtung 1 enthalten ist, Befehle für einen Roboter in Übereinstimmung mit dem maschinellen Lernalgorithmus unter Verwendung der Zustandsvariablen S, die durch die Zustandsbeobachtungseinheit 106 beobachtet werden, und der Bestimmungsdaten D, die durch die Einheit 108 zum Erfassen von Bestimmungsdaten erfasst werden. Die Zustandsvariablen S bestehen aus Daten, die wahrscheinlich nicht durch eine Störung beeinträchtigt werden, wie etwa ein Zustand eines Roboters und ein Zustand einer Person, die in einem Peripheriebereich des Roboters anwesend ist, und die Bestimmungsdaten D werden einzigartig erhalten, indem ein Interferenzzustand zwischen dem Roboter und der Person erfasst wird. Somit können gemäß der maschinellen Lernvorrichtung 100, die in der Steuervorrichtung 1 enthalten ist, Befehle für einen Roboter, die einem Zustand des Roboters und einem Zustand einer Person, die in einem Peripheriebereich des Roboters anwesend ist, entsprechen, automatisch und genau erhalten werden, ohne von einer Berechnung oder Schätzung abhängig zu sein.
-
Falls Befehle für einen Roboter automatisch erhalten werden können, ohne von einer Berechnung oder Schätzung abhängig zu sein, können geeignete Werte von Befehlen für einen Roboter schnell bestimmt werden, ohne einen Zustand des Roboters und einen Zustand einer Person, die in einem Peripheriebereich des Roboters anwesend ist, zu begreifen. Somit können Befehle für einen Roboter effizient bestimmt werden.
-
Bei der maschinellen Lernvorrichtung 100, welche die zuvor beschriebene Konfiguration aufweist, ist ein Lernalgorithmus, der durch die Lerneinheit 110 ausgeführt wird, nicht besonders eingeschränkt, sondern ein bekannter Lernalgorithmus kann als maschinelles Lernen verwendet werden. 2 bildet einen Aspekt der in 1 abgebildeten Steuervorrichtung 1 ab und bildet die Konfiguration ab, welche die Lerneinheit 110 umfasst, die ein Verstärkungslernen als Beispiel des Lernalgorithmus ausführt. Das Verstärkungslernen ist ein Verfahren, bei dem ein Zyklus, in dem eine vorbestimmte Aktion (d.h. eine Ausgabe) in einem aktuellen Zustand einer Umgebung, in der ein Lernobjekt existiert, ausgeführt wird, während der aktuelle Zustand (d.h. eine Eingabe) beobachtet wird und eine gewisse Belohnung mit Bezug auf die Aktion erteilt wird, durch Ausprobieren wiederholt wird, um Maßnahmen zu erlernen, mit denen eine Gesamtbelohnung (Bestimmung von Befehlen für einen Roboter in der maschinellen Lernvorrichtung der vorliegenden Anmeldung) als eine optimale Lösung maximiert wird.
-
Bei der maschinellen Lernvorrichtung 100, die in der in 2 abgebildeten Steuervorrichtung enthalten ist, umfasst die Lerneinheit 110 eine Einheit 112 zum Berechnen von Belohnungen und eine Einheit 114 zum Aktualisieren einer Wertfunktion. Die Einheit 112 zum Berechnen von Belohnungen erhält eine Belohnung R bezüglich eines Interferenzzustands zwischen einem Roboter und einer Person (der den Bestimmungsdaten D entspricht, die in der folgenden Lernperiode einer Periode verwendet werden, in der die Zustandsvariablen S erfasst werden) für den Fall, dass Befehle für den Roboter basierend auf den Zustandsvariablen S bestimmt werden. Die Einheit 114 zum Aktualisieren einer Wertfunktion aktualisiert die Funktion Q, die Werte von Befehlen für einen Roboter darstellt, unter Verwendung der Belohnung R. Die Lerneinheit 110 erlernt optimale Lösungen von Befehlen für einen Roboter durch eine wiederholte Aktualisierung der Funktion Q, die durch die Einheit 114 zum Aktualisieren einer Wertfunktion ausgeführt wird.
-
Ein Beispiel eines Algorithmus des Verstärkungslernens, der durch die Lerneinheit 110 ausgeführt wird, wird beschrieben. Der Algorithmus bei diesem Beispiel ist als Q-Lernen bekannt und ist ein Verfahren zum Lernen der Funktion Q(s,a), die einen Wert einer Aktion für den Fall darstellt, dass die Aktion a in einem Zustand s ausgewählt wird, wenn der Zustand s eines Aktionssubjekts und die Aktion a, die durch das Aktionssubjekt in dem Zustand s ausgewählt werden kann, als unabhängige Variablen eingestellt sind. Das Auswählen der Aktion a, bei der die Wertfunktion Q in dem Zustand s am höchsten ist, ist eine optimale Lösung. Das Q-Lernen beginnt in einem Zustand, in dem eine Korrelation zwischen dem Zustand s und der Aktion a unbekannt ist und das Ausprobieren bei der Auswahl diverser Aktionen a in einem beliebigen Zustand s wiederholt wird. Somit wird die Wertfunktion Q wiederholt aktualisiert, um sich der optimalen Lösung zu nähern. Dabei wird die Konfiguration verwendet, bei der, wenn eine Umgebung (d.h. der Zustand s) infolge der Auswahl der Aktion a in dem Zustand s geändert wird, die Belohnung r (d.h. eine Gewichtung der Aktion a), die der Änderung entspricht, erzielt werden kann, und das Lernen wird geführt, um die Aktion a auszuwählen, mit der eine höhere Belohnung r erzielt werden kann. Somit kann die Wertfunktion Q der optimalen Lösung in einem relativ kurzen Zeitraum genähert werden.
-
Eine Aktualisierungsformel der Wertfunktion
Q kann im Allgemeinen als die nachstehende Formel 1 ausgedrückt werden. In der Formel 1, bezeichnen s
t und a
t jeweils einen Zustand und eine Aktion zu dem 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 erzielt wird, wenn der Zustand von s
t auf s
t+1 geändert wird. Ein Term maxQ bezeichnet den Wert
Q, der erzielt wird, wenn die Aktion a ausgeführt wird, bei welcher der maximale Wert
Q zu dem Zeitpunkt t+1 erzielt wird (man geht an dem Zeitpunkt t davon aus, dass der maximale Wert
Q zu dem Zeitpunkt t+1 erzielt wird). α und γ bezeichnen jeweils einen Lernkoeffizienten und eine Ermäßigungsrate und sind willkürlich auf 0 < α ≤ 1 und 0 < γ ≤ 1 eingestellt.
-
Für den Fall, dass die Lerneinheit 110 das Q-Lernen ausführt, entsprechen die Zustandsvariablen S, die durch die Zustandsbeobachtungseinheit 106 beobachtet werden, und die Bestimmungsdaten D, die durch die Einheit 108 zum Erfassen von Bestimmungsdaten erfasst werden, dem Zustand s in einer Aktualisierungsformel, wobei die Art, wie Befehle für den Roboter bestimmt werden, die einem aktuellen Zustand (d.h. einem Zustand des Roboters und einen Zustand einer Person, die in einem Peripheriebereich des Roboters anwesend ist) entsprechen, der Aktion a in der Aktualisierungsformel entspricht, und die Belohnung R, die durch die Einheit 112 zum Berechnen von Belohnungen erzielt wird, der Belohnung r in der Aktualisierungsformel entspricht. Entsprechend aktualisiert die Einheit 114 zum Aktualisieren einer Wertfunktion wiederholt die Funktion Q, die Werte der Ausgaben von Befehlen für einen Roboter darstellt, die einem aktuellen Zustand entsprechen, durch das Q-Lernen unter Verwendung der Belohnung R.
-
Für den Fall, dass bestimmt wird, dass sich ein Roboter und eine Person nicht stören, wenn der Roboter beispielsweise basierend auf bestimmten Befehlen nach der Bestimmung der Befehle für den Roboter gesteuert wird, kann die Belohnung R, die durch die Einheit 112 zum Berechnen von Belohnungen erzielt wird, als positive (Plus-) Belohnung R eingestellt werden. Für den Fall, dass bestimmt wird, dass sich der Roboter und die Person gestört haben oder einander gestört haben können, kann beispielsweise die Belohnung R, die durch die Einheit 112 zum Berechnen von Belohnungen erzielt wird, als eine negative (Minus-) Belohnung R eingestellt werden.
-
Die Belohnung R kann beispielsweise auf -10, -5 und +5 eingestellt werden, jeweils für den Fall, dass ein Roboter und eine Person zusammengestoßen sind, den Fall, dass sich der Roboter und die Person näher als bis auf einen vorbestimmten Abstand kommen, und den Fall, dass der Roboter und die Person voneinander um den vorbestimmten Abstand oder mehr entfernt sind. Entsprechend stellt die Funktion Q eine Bewertung bereit, dass ein Befehl, der eine gegenseitige Störung zwischen dem Roboter und der Person schwieriger macht, einen größeren Wert aufweist. Ferner kann die Einheit 112 zum Berechnen von Belohnungen die Belohnung R erteilen, mit der eine Bewertung niedriger wird, wenn die Größe der Kollisionskraft zunimmt. Entsprechend stellt die Funktion Q eine Bewertung bereit, dass ein Befehl, der eine geringere Auswirkung auf den Zusammenstoß hat, einen größeren Wert aufweist. Ferner kann die Einheit 112 zum Berechnen von Belohnungen die Belohnung R erteilen, die zunimmt, wenn der Durchsatz des Roboters ansteigt. Entsprechend stellt die Funktion Q eine Bewertung bereit, dass ein Befehl, der die gegenseitige Störung zwischen dem Roboter und der Person schwieriger macht und der einen höheren Durchsatz erbringt, einen größeren Wert aufweist (siehe 4A und 4B).
-
Die Einheit 114 zum Aktualisieren einer Wertfunktion kann eine Aktionswerttabelle aufweisen, in der die Zustandsvariablen S, die Bestimmungsdaten D und die Belohnungen R organisiert sind, wobei sie mit Aktionswerten (beispielsweise Zahlenwerten) verknüpft sind, die durch die Funktion Q ausgedrückt werden. In diesem Fall ist eine Aktion zum Aktualisieren der Funktion Q durch die Einheit 114 zum Aktualisieren einer Wertfunktion gleichbedeutend mit einer Aktion zum Aktualisieren der Aktionswerttabelle durch die Einheit 114 zum Aktualisieren einer Wertfunktion. Da die Korrelation zwischen einem aktuellen Zustand einer Umgebung und von Befehlen für einen Roboter zu Beginn des Q-Lernens unbekannt ist, werden diverse Zustandsvariablen S, Bestimmungsdaten D und Belohnungen R derart vorbereitet, dass sie mit Werten von Aktionswerten (Funktionen Q), die auf Zufallsbasis definiert sind, in der Aktionswerttabelle verknüpft sind. Die Einheit 112 zum Berechnen von Belohnungen ist in der Lage, die Belohnung R zu berechnen, die den Bestimmungsdaten D entspricht, sobald die Einheit 112 zum Berechnen von Belohnungen die Bestimmungsdaten D zur Kenntnis nimmt, und der berechnete Wert R wird in die Aktionswerttabelle eingetragen.
-
Wenn das Q-Lernen unter Verwendung der Belohnung R, die einem Interferenzzustand zwischen einem Roboter und einer Person entspricht, Fortschritte macht, wird das Lernen geführt, um eine Aktion auszuwählen, für die eine höhere Belohnung R erzielt werden kann, und ein Wert des Aktionswertes (Funktion Q) für eine Aktion, die in einem aktuellen Zustand ausgeführt wird, wird in Übereinstimmung mit einem Zustand einer Umgebung (d.h. den Zustandsvariablen S und den Bestimmungsdaten D), der infolge der Ausführung der ausgewählten Aktion in dem aktuellen Zustand geändert wird, überschrieben. Somit wird die Aktionswerttabelle aktualisiert. Durch das Wiederholen dieser Aktualisierung wird ein Wert eines Aktionswertes (Funktion Q), der in der Aktionswerttabelle angezeigt wird, überschrieben, so dass der Wert des Aktionswertes umso größer ist je besser die Aktion geeignet ist. Somit wird eine Korrelation zwischen einem aktuellen Zustand einer Umgebung (einem Zustand eines Roboters und einem Zustand einer Person, die in einem Peripheriebereich des Roboters anwesend ist), die unbekannt war, und einer entsprechenden Aktion (Befehle für den Roboter) allmählich ersichtlich. D.h. eine Beziehung eines Zustands eines Roboters und eines Zustands einer Person, die in einem Peripheriebereich des Roboters anwesend ist, mit Bezug auf Befehle für den Roboter wird durch Aktualisieren der Aktionswerttabelle allmählich einer optimalen Lösung genähert.
-
Ein Ablauf des zuvor beschriebenen Q-Lernens, das durch die Lerneinheit 110 ausgeführt wird (d.h. ein Aspekt des maschinellen Lernverfahrens) wird ferner mit Bezug auf 3 beschrieben. Zuerst wählt die Einheit 114 zum Aktualisieren einer Wertfunktion in Schritt SA01 Befehle für den Roboter durch Zufall als eine Aktion aus, die in einem aktuellen Zustand ausgeführt wird, der durch die Zustandsvariablen S dargestellt wird, die durch die Zustandsbeobachtungseinheit 106 beobachtet werden, wobei sie sich zu diesem Zeitpunkt auf die Aktionswerttabelle bezieht. Dann übernimmt die Einheit 114 zum Aktualisieren einer Wertfunktion in Schritt SA02 die Zustandsvariablen S des aktuellen Zustands, der durch die Zustandsbeobachtungseinheit 106 beobachtet wird, und übernimmt in Schritt SA03 die Bestimmungsdaten D des aktuellen Zustands, die durch die Einheit 108 zum Erfassen von Bestimmungsdaten erfasst werden. Anschließend bestimmt die Einheit 114 zum Aktualisieren einer Wertfunktion in Schritt SA04, ob die Befehle für den Roboter geeignet sind oder nicht, basierend auf den Bestimmungsdaten D. Für den Fall, dass die Befehle für den Roboter geeignet sind, wird in Schritt SA05 die positive Belohnung R, die durch die Einheit 112 zum Berechnen von Belohnungen erzielt wird, auf eine Aktualisierungsformel der Funktion Q angewendet, und dann wird die Aktionswerttabelle unter Verwendung der Zustandsvariablen S, der Bestimmungsdaten D, der Belohnung R und des Wertes des Aktionswertes (der Funktion Q nach der Aktualisierung) in dem aktuellen Zustand in Schritt SA06 aktualisiert. Für den Fall, dass in Schritt SA04 bestimmt wird, dass die Befehle für den Roboter nicht geeignet sind, wird die negative Belohnung R, die durch die Einheit 112 zum Berechnen von Belohnungen erzielt wird, in Schritt SA07 auf die Aktualisierungsformel der Funktion Q angewendet, und dann wird die Aktionswerttabelle unter Verwendung der Zustandsvariablen S, der Bestimmungsdaten D, der Belohnung R und des Wertes des Aktionswertes (der Funktion Q nach der Aktualisierung) in dem aktuellen Zustand in Schritt SA06 aktualisiert. Die Lerneinheit 110 aktualisiert wiederholt die Aktionswerttabelle durch Wiederholen der Schritte SA01 bis SA07, damit das Lernen von optimalen Lösungen der Befehle für den Roboter Fortschritte macht. Dabei werden die Verarbeitung zum Erzielen der Belohnung R und die Verarbeitung zum Aktualisieren der Wertfunktion, die von Schritt SA04 bis Schritt SA07 ausgeführt werden, für jedes Datenelement ausgeführt, das in den Bestimmungsdaten D enthalten ist.
-
Wenn das Verstärkungslernen Fortschritte macht, kann beispielsweise ein neuronales Netzwerk anstelle des Q-Lernens verwendet werden. 5A bildet schematisch ein Modell eines Neurons ab. 5B bildet schematisch ein Modell eines neuronalen Netzwerks auf drei Ebenen ab, das konfiguriert wird, indem die in 5A abgebildeten Neuronen kombiniert werden. Das neuronale Netzwerk kann beispielsweise aus arithmetischen Vorrichtungen, Speichervorrichtungen oder dergleichen als Nachbildung des Neuronenmodells bestehen.
-
Das in
5A abgebildete Neuron gibt ein Ergebnis y mit Bezug auf eine Vielzahl von Eingaben x aus (beispielsweise hier Eingabe x
1 bis Eingabe x
3). Die Eingaben x
1 bis x
3 werden jeweils mit den Gewichtungen w (w
1 bis w
3) multipliziert, die diesen Eingaben x entsprechen. Entsprechend gibt das Neuron die Ausgabe y aus, die durch die nachstehende Formel 2 ausgedrückt wird. Dabei sind in der Formel 2 die Eingabe x, die Ausgabe y und die Gewichtung w allesamt Vektoren. Ferner bezeichnet θ einen systematischen Fehler, und f
k bezeichnet eine Aktivierungsfunktion.
Formel 2
-
In dem neuronalen Netzwerk auf drei Ebenen, das in 5B abgebildet ist, wird eine Vielzahl von Eingaben x (hier beispielsweise Eingabe x1 bis Eingabe x3) von der linken Seite aus eingegeben, und die Ergebnisse y (hier beispielsweise Ergebnis y1 bis Ergebnis y3) werden von der rechten Seite aus ausgegeben. Bei dem in 5B abgebildeten Beispiel werden die Eingaben x1, x2, x3 jeweils mit entsprechenden Gewichtungen (insgesamt mit w1 bezeichnet) multipliziert, und jede der Eingaben x1, x2, x3 wird in die drei Neuronen N11, N12, N13 eingegeben.
-
In 5B wird jedes der Neuronen N11, N12, N13 insgesamt mit z1 bezeichnet. z1 kann als Merkmalsvektor angesehen werden, der erzielt wird, indem ein Merkmalsbetrag eines Eingangsvektors entnommen wird. Bei dem in 5B abgebildeten Beispiel werden die Merkmalsvektoren z1 jeweils mit entsprechenden Gewichtungen (insgesamt mit w2 bezeichnet) multipliziert, und jeder der Merkmalsvektoren z1 wird in die beiden Neuronen N21, N22 eingegeben. Der Merkmalsvektor z1 stellt ein Merkmal zwischen der Gewichtung w1 und der Gewichtung w2 dar.
-
In 5B ist eine Ausgabe jedes der Neuronen N21, N22 insgesamt mit z2 bezeichnet. z2 kann als Merkmalsvektor angesehen werden, der erzielt wird, indem ein Merkmalsbetrag des Merkmalsvektor z1 entnommen wird. Bei dem in 5B abgebildeten Beispiel werden die Merkmalsvektoren z2 jeweils mit entsprechenden Gewichtungen (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 der Gewichtung w2 und der Gewichtung w3 dar. Schließlich geben die Neuronen N31 bis N33 jeweils die Ergebnisse y1 bis y3 aus.
-
Dabei kann auch das Verfahren des so genannten tiefgehenden Lernens, bei dem ein neuronales Netzwerk, das drei oder mehr Ebenen aufweist, verwendet wird, eingesetzt werden.
-
Bei der maschinellen Lernvorrichtung 100, die in der Steuervorrichtung 1 enthalten ist, führt die Lerneinheit 110 eine Berechnung der mehrschichtigen Struktur dem zuvor beschriebenen neuronalen Netzwerk folgend unter Verwendung der Zustandsvariablen S und der Bestimmungsdaten D als Eingaben x aus, um Befehle für den Roboter (Ergebnisse y) ausgeben zu können. Ferner führt bei der maschinellen Lernvorrichtung 100, die in der Steuervorrichtung 1 enthalten ist, die Lerneinheit 110 eine Berechnung der mehrschichtigen Struktur dem zuvor beschriebenen neuronalen Netzwerk folgend unter Verwendung des neuronalen Netzwerks als Wertfunktion beim Verstärkungslernen und unter Verwendung der Zustandsvariablen S und der Aktion a als Eingaben x aus, um auch die Werte (Ergebnisse y) der Aktion in diesem Zustand ausgeben zu können. Dabei umfassen die Betriebsmodi des neuronalen Netzwerks einen Lernmodus und einen Wertvorhersagemodus. Beispielsweise kann die Gewichtung w unter Verwendung eines Lerndatensatzes im Lernmodus erlernt werden, und die Wertbestimmung einer Aktion kann unter Verwendung der erlernten Gewichtung w im Wertvorhersagemodus ausgeführt werden. Dabei können im Wertvorhersagemodus auch eine Detektion, Klassifizierung, Inferenz und dergleichen ausgeführt werden.
-
Die zuvor beschriebene Konfiguration der Steuervorrichtung 1 kann als ein maschinelles Lernverfahren (bzw. Software), das durch den Prozessor ausgeführt wird, beschrieben werden. Dieses maschinelle Lernverfahren ist ein maschinelles Lernverfahren zum Lernen von Befehlen für einen Roboter. Das maschinelle Lernverfahren umfasst: einen Schritt zum Beobachten eines Zustands des Roboters und eines Zustands einer Person, die in einem Peripheriebereich des Roboters anwesend ist, als die Zustandsvariablen S, die einen aktuellen Zustand einer Umgebung darstellen; einen Schritt zum Erfassen der Bestimmungsdaten D, die einen Interferenzzustand zwischen dem Roboter und der Person darstellen, die in Übereinstimmung mit angepassten Befehlen für den Roboter erhalten werden; und einen Schritt zum Lernen eines Zustands des Roboters, eines Zustands der Person, die in dem Peripheriebereich des Roboters anwesend ist, und von Befehlen für den Roboter, wobei der Zustand des Roboters und der Zustand einer Person, die in einem Peripheriebereich des Roboters anwesend ist, mit den Befehlen für den Roboter unter Verwendung der Zustandsvariablen S und der Bestimmungsdaten D verknüpft werden. Bei diesem Verfahren werden diese Schritte durch eine CPU eines Computers ausgeführt.
-
Zweite Ausführungsform
-
6 bildet eine Steuervorrichtung 2 gemäß der zweiten Ausführungsform ab. Die Steuervorrichtung 2 umfasst eine maschinelle Lernvorrichtung 120 und eine Einheit 3 zum Erfassen von Zustandsdaten, die einen Zustand eines Roboters und einen Zustand einer Person, die in einem Peripheriebereich des Roboters anwesend ist, wobei es sich um die Zustandsvariablen S handelt, die durch die Zustandsbeobachtungseinheit 106 beobachtet werden, als Zustandsdaten SO erfasst. Die Einheit 3 zum Erfassen von Zustandsdaten kann die Zustandsdaten S0 von der Steuervorrichtung 2 erfassen.
-
Die maschinelle Lernvorrichtung 120, die in der Steuervorrichtung 2 enthalten ist, umfasst Software (einen Lernalgorithmus und dergleichen) und Hardware (den Prozessor und dergleichen), mit denen die maschinelle Lernvorrichtung 120 selbstständig Befehle für einen Roboter durch maschinelles Lernen erlernt, und umfasst ferner Software (einen Berechnungsalgorithmus und dergleichen) und Hardware (den Prozessor und dergleichen), mit denen die maschinelle Lernvorrichtung 120 die Befehle für einen Roboter, die basierend auf einem Lernergebnis erhalten werden, an die Steuervorrichtung 2 ausgibt. Die maschinelle Lernvorrichtung 120, die in der Steuervorrichtung 2 enthalten ist, kann die Konfiguration aufweisen, bei der ein einziger gemeinsamer Prozessor die gesamte Software, wie etwa einen Lernalgorithmus und einen Berechnungsalgorithmus, ausführt.
-
Eine Entscheidungsfindungseinheit 122 kann als eine Funktion des Prozessors konfiguriert sein, die beispielsweise in der Steuervorrichtung 2 enthalten ist. Alternativ kann die Entscheidungsfindungseinheit 122 als Software konfiguriert sein, die beispielsweise verwendet wird, um zu bewirken, dass der Prozessor funktioniert. Die Entscheidungsfindungseinheit 122 generiert einen Befehlswert C, der Befehle für einen Roboter mit Bezug auf einen Zustand des Roboters und einen Zustand einer Person, die in einem Peripheriebereich des Roboters anwesend ist, basierend auf einem Ergebnis, das durch Lernen durch die Lerneinheit 110 erhalten wird, umfasst, und gibt den generierten Befehlswert C aus. Für den Fall, dass die Entscheidungsfindungseinheit 122 den Befehlswert C an die Steuervorrichtung 2 ausgibt, ändert sich ein Zustand einer Umgebung als Reaktion auf den Befehlswert C.
-
Die Zustandsbeobachtungseinheit 106 beobachtet die Zustandsvariablen S, die geändert werden, nachdem die Entscheidungsfindungseinheit 122 den Befehlswert C an die Umgebung in der folgenden Lernperiode ausgegeben hat. Die Lerneinheit 110 erlernt Befehle für den Roboter durch Aktualisieren der Wertfunktion Q (d.h. der Aktionswerttabelle) beispielsweise unter Verwendung der geänderten Zustandsvariablen S.
-
Die Entscheidungsfindungseinheit 122 gibt den Befehlswert C, der Befehle für einen Roboter darstellt, die basierend auf einem Lernergebnis erhalten werden, an die Steuervorrichtung 2 aus. Durch das Wiederholen dieser Lernperiode macht die maschinelle Lernvorrichtung 120 Fortschritte mit dem Lernen von Befehlen für einen Roboter und verbessert allmählich die Zuverlässigkeit von Befehlen für einen Roboter, die durch die maschinelle Lernvorrichtung 120 bestimmt werden.
-
Die maschinelle Lernvorrichtung 120, die in der Steuervorrichtung 2 enthalten ist, welche die zuvor beschriebene Konfiguration aufweist, hat vorteilhafte Auswirkungen, die denen der zuvor beschriebenen maschinellen Lernvorrichtung 100 entsprechen. Die maschinelle Lernvorrichtung 120 ist insbesondere in der Lage, einen Zustand einer Umgebung mit einer Ausgabe der Entscheidungsfindungseinheit 122 zu ändern. Andererseits kann in der maschinellen Lernvorrichtung 100 eine Funktion, die der Entscheidungsfindungseinheit entspricht, um ein Lernergebnis der Lerneinheit 110 an eine Umgebung wiederzugeben, von einer externen Vorrichtung erhalten werden.
-
Andere Ausführungsformen
-
7 bildet ein System 170 gemäß einer Ausführungsform, die Roboter 160 umfasst, ab. Das System 170 umfasst eine Vielzahl von Robotern 160, 160', die gleichartige Konfigurationen und ein drahtgebundenes/drahtloses Netzwerk 172, das diese Roboter 160, 160' miteinander verbindet, aufweisen. Mindestens einer der Vielzahl von Robotern 160 ist als der Roboter 160 konfiguriert, der die zuvor beschriebene Steuervorrichtung 2 umfasst. Ferner kann das System 170 den Roboter 160' umfassen, der die Steuervorrichtung 2 nicht umfasst. Die Roboter 160, 160' weisen die Konfigurationen und peripheren Umgebungen auf, wie etwa einen Betriebsbereich, die für eine Betätigung für den gleichen Zweck benötigt werden.
-
In dem System 170, das die zuvor beschriebene Konfiguration aufweist, ist der Roboter 160, der die Steuervorrichtung 2 umfasst, aus der Vielzahl von Robotern 160, 160' in der Lage, Befehle für einen Roboter mit Bezug auf einen Zustand des Roboters und einen Zustand einer Person, die in einem Peripheriebereich des Roboters anwesend ist, unter Verwendung eines Lernergebnisses der Lerneinheit 110 automatisch und genau zu erhalten, ohne von einer Berechnung oder Schätzung abhängig zu sein. Ferner kann das System 170 derart konfiguriert sein, dass die Steuervorrichtung 2 von mindestens einem Roboter 160 Befehle für einen Roboter erlernt, die allen Robotern 160, 160' gemeinsam sind, basierend auf den Zustandsvariablen S und den Bestimmungsdaten D, die jeweils für andere Roboter 160, 160' erhalten werden, und alle Roboter 160, 160' teilen sich das Lernergebnis. Gemäß dem System 170 können die Geschwindigkeit und die Zuverlässigkeit beim Lernen von Befehlen für einen Roboter unter Verwendung vielfältigerer Datensätze (welche die Zustandsvariablen S und die Bestimmungsdaten D umfassen) als Eingaben verbessert werden.
-
8 bildet ein System 170' gemäß einer anderen Ausführungsform, die Roboter 160' umfasst, ab. Das System 170' umfasst die maschinelle Lernvorrichtung 120 (oder 100), eine Vielzahl von Robotern 160', die gleichartige Konfigurationen und das drahtgebundene/drahtlose Netzwerk 172, das diese Roboter 160' und die maschinelle Lernvorrichtung 120 (oder 100) miteinander verbindet, aufweisen.
-
In dem System 170', das die zuvor beschriebene Konfiguration aufweist, ist die maschinelle Lernvorrichtung 120 (oder 100) in der Lage, Befehle für einen Roboter, die allen Robotern 160' gemeinsam sind, mit Bezug auf einen Zustand des Roboters und einen Zustand einer Person, die in einem Peripheriebereich des Roboters anwesend ist, basierend auf den Zustandsvariablen S und den Bestimmungsdaten D, die jeweils für die Vielzahl von Robotern 160' erhalten werden, zu erlernen, und entsprechend ist die maschinelle Lernvorrichtung 120 (oder 100) in der Lage, Befehle für den Roboter mit Bezug auf einen Zustand des Roboters und einen Zustand einer Person, die in einem Peripheriebereich des Roboters anwesend ist, unter 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, bei der die maschinelle Lernvorrichtung 120 (oder 100) auf einem Cloud-Server oder dergleichen, der in dem Netzwerk 172 angelegt ist, vorhanden ist. Gemäß dieser Konfiguration, kann die notwendige Anzahl von Exemplaren der Roboter 160' mit der maschinellen Lernvorrichtung 120 (oder 100) bei Bedarf verbunden werden, und zwar unabhängig von Ort oder Zeit, an dem bzw. zu der jeder der Vielzahl von Robotern 160' existiert.
-
Ein Bediener, der mit den Systemen 170 und 170' beschäftigt ist, kann eine Bestimmung darüber ausführen, ob das Leistungsniveau des Lernens von Befehlen für einen Roboter, das durch die maschinelle Lernvorrichtung 120 (oder 100) ausgeführt wird, (d.h. die Zuverlässigkeit der Befehle für einen Roboter) zu einem geeigneten Zeitpunkt nach dem Beginn des Lernens durch die maschinelle Lernvorrichtung 120 (oder 100) ein notwendiges Niveau erreicht hat.
-
Die Ausführungsformen der vorliegenden Erfindung wurden zuvor beschrieben, doch die vorliegende Erfindung kann in diversen Aspekten umgesetzt werden, indem beliebige Änderungen hinzugefügt werden, ohne auf die Beispiele der zuvor beschriebenen Ausführungsformen eingeschränkt zu sein.
-
Beispielsweise sind der Lernalgorithmus, der durch die maschinellen Lernvorrichtungen 100 und 120 ausgeführt wird, der Berechnungsalgorithmus, der durch die maschinelle Lernvorrichtung 120 ausgeführt wird, der Steueralgorithmus, der durch die Steuervorrichtungen 1 und 2 ausgeführt wird, und dergleichen nicht auf die zuvor erwähnten Algorithmen eingeschränkt, sondern es können diverse Algorithmen verwendet werden.
-
Die zuvor beschriebenen Ausführungsform umfassen die Beschreibung, dass die Steuervorrichtung 1 (oder 2) und die maschinelle Lernvorrichtung 100 (oder 120) Vorrichtungen sind, die unterschiedliche CPUs umfassen, doch die maschinelle Lernvorrichtung 100 (oder 120) kann durch den Prozessor, der in der Steuervorrichtung 1 (oder 2) enthalten ist, und das Systemprogramm, das in der Speichervorrichtung abgelegt ist, ausgebildet sein.
-
Die Ausführungsformen der vorliegenden Erfindung wurden zuvor beschrieben, doch die vorliegende Erfindung ist nicht auf die Beispiele der zuvor beschriebenen Ausführungsformen eingeschränkt und kann in anderen Aspekten ausgebildet sein, indem beliebige Änderungen hinzugefügt werden.
-
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
-