-
Hintergrund der Erfindung
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine Maschinenlerneinrichtung, ein Robotersystem und ein Maschinenlernverfahren zum Lernen einer Bewegung eines Roboters, der an einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe beteiligt ist.
-
Beschreibung des zugehörigen Standes der Technik
-
Bei herkömmlichen Robotersystemen werden Sicherheitsmaßnahmen ergriffen, um zu verhindern, dass Menschen den Arbeitsbereich eines Roboters betreten, um die Sicherheit von Menschen zu gewährleisten. Es werden beispielsweise Sicherheitszäune aufgestellt, wobei es Menschen verboten ist, den Bereich innerhalb der Sicherheitszäune zu betreten.
-
In den letzten Jahren wurden Roboter, die an einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe beteiligt sind (kooperative Roboter), untersucht, entwickelt und in der Praxis eingesetzt. Bei einem solchen Roboter (Robotersystem) arbeiten ein Roboter und ein Mensch (Arbeiter) beispielsweise zusammen, um ohne einen um den Roboter aufgestellten Sicherheitszaun eine Aufgabe auszuführen.
-
Im Hinblick auf eine herkömmliche Technik zum Lehren eines Roboters eine Bewegung zum Ausführen einer Aufgabe unter Verwendung eines Handprogrammiergeräts (Teaching Pendant) wurde eine Lehrtechnik für einen Roboter vorgeschlagen, die den Lehrvorgang für einen Roboter vereinfacht und die Lehrzeit durch Einführen eines Lehrvorgangs verkürzt, der auf einem einfachen Drück- oder Berührvorgang auf dem Handprogrammiergerät basiert (z.B. offengelegte japanische Patentveröffentlichung
JP H10 - 146 782 A ).
-
Im Hinblick auf einen Industrieroboter, bei dem das Lehren durch Eingeben von Koordinatenwerten seiner Bewegungsbahn unter Verwendung eines Handprogrammiergeräts durchgeführt wird, wurde ebenfalls in herkömmlicher Weise ein Industrieroboter vorgeschlagen, der mit einem Startschalter, einem Stoppschalter, numerischen Tasten zum Eingeben verschiedener Befehle und Werte, einer Lehrmodustaste, einer Wiederholungseingabetaste und einer Anzeigeeinrichtung ausgestattet ist, mit denen sich Koordinatenwerte zum Festlegen der Bewegungsbahn einfacher und genauer eingeben lassen (z.B. offengelegte japanische Patentveröffentlichung
JP H05 - 318 358 A ).
-
Weiterer Stand der Technik ist aus den Druckschriften
US 2015 / 0 081 099 A1 ,
JP 2007 - 54 899 A ,
JP 2005 - 118 959 A und
US 2006 / 0 149 421 A1 bekannt.
-
Im Allgemeinen werden heutige Industrieroboter gemäß einem vorab erstellten Betriebsprogramm betrieben (angetrieben) oder so angetrieben, dass sie sich längs der gelehrten Punkte, d.h. Punkte, die den Robotern vorab unter Verwendung von Handprogrammiergeräten und dergleichen beigebracht werden, bewegen können. Selbst bei Robotersystemen für eine gemeinsam durch einen Menschen und einen Roboter ausgeführte Aufgabe (kooperative Robotersysteme) werden Bahnen für die Roboter vorab festgelegt und die Roboter längs der Bahnen angetrieben.
-
Wenn ein Mensch und ein Roboter miteinander zusammenarbeiten, um eine Aufgabe auszuführen, kann es jedoch mehr als eine Möglichkeit geben, die Aufgabe abzuschließen. Beispielsweise gibt es beim Bewegen eines Werkstücks von einer Ausgangsposition in eine Zielposition in einer Fabrik oder dergleichen, in der Güter hergestellt werden und der Mensch und der Roboter zusammenarbeiten, um das Werkstück anzuheben und zur Zielposition zu befördern, beim Anheben des Werkstücks eine große Auswahl an Richtungen, Geschwindigkeiten und dergleichen.
-
Der Belastungsgrad des Menschen hängt davon ab, wie die Bewegungen des Roboters relativ zum Werkstück zu steuern sind. Beispielsweise ändert sich der Ermüdungsgrad des Menschen abhängig vom Abstand zum Menschen und der Geschwindigkeit selbst dann, wenn die ausgeführte Aufgabe dieselbe ist. Außerdem kann sich das Verhaltensmuster eines Menschen abhängig vom Inhalt der Aufgabe ändern. Somit ist es schwierig, die Bewegungen des Roboters, der an einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe beteiligt ist, zu optimieren, was problematisch ist.
-
Eine Möglichkeit, dieses Problem anzugehen besteht darin, den Roboter Bewegungen für eine gemeinsam mit einem Menschen ausgeführte Aufgabe durch den Einsatz von Techniken des maschinellen Lernens lernen zu lassen. Jedoch lassen sich selbst die Bewegungen eines Roboters, die durch Anwendung maschinellen Lernens erworben wurden, bevorzugt durch einen Menschen (z.B. einen Arbeiter) weiter verbessern.
-
Angesichts des Problems der vorstehend beschriebenen herkömmlichen Technik besteht ein Hauptziel der vorliegenden Erfindung darin, eine Maschinenlerneinrichtung, ein Robotersystem und ein Maschinenlernverfahren bereitzustellen, die die Bewegungen eines Roboters, der an einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe beteiligt ist, weiter verbessern können. Ein weiteres Ziel der vorliegenden Erfindung besteht darin, eine Maschinenlerneinrichtung, ein Robotersystem und ein Maschinenlernverfahren bereitzustellen, die eine Verbesserung kooperativer Bewegungen durch Nutzung verschiedener Sensorinformationen, durch ein Gespräch mit einem Menschen und durch andere Mittel ermöglichen, wenn ein Mensch und ein Roboter zusammenarbeiten und eine Aufgabe ausführen.
-
Zusammenfassung der Erfindung
-
Eine Lösung wird durch ein Robotersystem gemäß dem unabhängigen Anspruch 1 bereitgestellt. Bevorzugte Ausführungsformen sind in den abhängigen Ansprüchen definiert.
-
Gemäß einem ersten Beispiel der vorliegenden Offenbarung wird eine Maschinenlerneinrichtung zum Lernen einer Bewegung eines Roboters bereitgestellt, der an einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe beteiligt ist, die eine Zustandsüberwachungseinheit, die eine Zustandsgröße überwacht, die einen Zustand des Roboters angibt, wenn der Mensch und der Roboter zusammenarbeiten und eine Aufgabe ausführen, eine Belohnungsberechnungseinheit, die basierend auf Steuerdaten und der Zustandsgröße zum Steuern des Roboters und einer Aktion des Menschen eine Belohnung berechnet, und eine Wertfunktionsaktualisierungseinheit umfasst, die basierend auf der Belohnung und der Zustandsgröße eine Aktionswertfunktion zum Steuern einer Bewegung des Roboters aktualisiert.
-
Die Belohnungsberechnungseinheit kann die Belohnung durch Addieren einer auf der Aktion des Menschen basierenden zweiten Belohnung zu einer auf den Steuerdaten und der Zustandsgröße basierenden ersten Belohnung berechnen. Für die zweite Belohnung kann mit Hilfe eines für den Roboter bereitgestellten Berührungssensors eine positive Belohnung festgelegt werden, wenn der Roboter gestreichelt wird, und eine negative Belohnung festgelegt werden, wenn der Roboter geschlagen wird, oder mit Hilfe eines Mikrofons, das an einem Teil des Roboters oder in dessen Nähe bereitgestellt ist oder von dem Menschen getragen wird, eine positive Belohnung festgelegt werden, wenn der Roboter gelobt wird, und eine negative Belohnung festgelegt werden, wenn der Roboter ausgeschimpft wird.
-
Die Maschinenlerneinrichtung kann ferner eine Entscheidungseinheit umfassen, die basierend auf einem Ausgang der Wertfunktionsaktualisierungseinheit eine Bewegung des Roboters vorgebende Befehlsdaten bestimmt. Die Zustandsgröße kann einen Ausgang einer Kamera, eines Kraftsensors, eines Mikrofons und/oder eines Berührungssensors umfassen. Die Kamera kann direkt am Roboter oder in einem umgebenden Bereich, wie etwa einem Bereich über dem Roboter, bereitgestellt sein, der Kraftsensor kann an einer Stelle an einem Sockelteil und/oder einem Handteil des Roboters und/oder einem Peripheriegerät bereitgestellt sein, oder der Berührungssensor kann für wenigstens einen Teil des Roboters oder an einem Peripheriegerät bereitgestellt sein.
-
Gemäß einem zweiten Beispiel der vorliegenden Offenbarung werden die Maschinenlerneinrichtung gemäß dem vorstehend beschriebenen ersten Beispiel, der Roboter, der gemeinsam mit dem Menschen eine Aufgabe ausführt, und eine Robotersteuereinheit bereitgestellt, die eine Bewegung des Roboters steuert, wobei die Maschinenlerneinrichtung durch Analysieren einer Verteilung von Merkmalspunkten oder Werkstücken eine Bewegung des Roboters lernt, nachdem der Mensch und der Roboter zusammengearbeitet und die Aufgabe ausgeführt haben.
-
Das Robotersystem kann ferner eine Aufgabenintentionserkennungseinheit umfassen, die einen Ausgang einer Kamera, eines Kraftsensors, eines Berührungssensors, eines Mikrofons und einer Eingabeeinrichtung empfängt und eine Intention bezüglich einer Aufgabe erkennt. Das Robotersystem kann ferner eine Spracherkennungseinheit umfassen, die die durch das Mikrofon eingegebene Sprache des Menschen erkennt, wobei die Aufgabenintentionserkennungseinheit die Bewegung des Roboters basierend auf einem Ausgang der Spracherkennungseinheit korrigiert. Das Robotersystem kann ferner eine Frageerzeugungseinheit, die basierend auf einer Analyse der Intention bezüglich der Aufgabe durch die Aufgabenintentionserkennungseinheit eine dem Menschen zu stellende Frage erzeugt, und einen Lautsprecher zum Übermitteln der durch die Frageerzeugungseinheit erzeugten Frage an den Menschen umfassen.
-
Das Mikrofon kann eine Antwort des Menschen auf die durch den Lautsprecher übermittelte Frage empfangen und die Spracherkennungseinheit kann die durch das Mikrofon eingegebene Antwort des Menschen erkennen und die Antwort an die Aufgabenintentionserkennungseinheit ausgeben. Die in die Zustandsüberwachungseinheit der Maschinenlerneinrichtung eingegebene Zustandsgröße kann ein Ausgang der Aufgabenintentionserkennungseinheit sein, wobei die Aufgabenintentionserkennungseinheit eine auf einer Aktion des Menschen basierende positive Belohnung in eine für die positive Belohnung festgelegte Zustandsgröße umsetzen und die Zustandsgröße an die Zustandsüberwachungseinheit ausgeben kann und eine auf einer Aktion des Menschen basierende negative Belohnung in eine für die negative Belohnung festgelegte Zustandsgröße umsetzen und die Zustandsgröße an die Zustandsüberwachungseinheit ausgeben kann. Die Robotersteuereinheit kann den Roboter stoppen, wenn der Berührungssensor eine geringfügige Kollision erfasst. Die Maschinenlerneinrichtung kann so eingestellt sein, dass sie das Durchführen weiteren Lernens einer Bewegung stoppt, die bis zu einem bestimmten Zeitpunkt gelernt wurde.
-
Gemäß einem dritten Beispiel der vorliegenden Offenbarung wird ein Maschinenlernverfahren zum Lernen einer Bewegung eines Roboters bereitgestellt, der an einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe beteiligt ist, das das Überwachen einer Zustandsgröße, die einen Zustand des Roboters angibt, wenn der Mensch und der Roboter zusammenarbeiten und eine Aufgabe ausführen, das Berechnen einer Belohnung basierend auf Steuerdaten und der Zustandsgröße zum Steuern des Roboters und einer Aktion des Menschen, und das Aktualisieren einer Aktionswertfunktion zum Steuern einer Bewegung des Roboters basierend auf der Belohnung und der Zustandsgröße umfasst.
-
Figurenliste
-
Die vorliegende Erfindung geht unter Bezugnahme auf die folgenden zugehörigen Zeichnungen genauer hervor.
- 1 ist ein Blockdiagramm, das ein Robotersystem gemäß einer Ausführungsform der vorliegenden Erfindung darstellt;
- 2 ist eine schematische Darstellung eines Neuronenmodells;
- 3 ist eine schematische Darstellung eines aus drei Schichten bestehenden neuronalen Netzes, das durch Kombinieren der in 2 gezeigten Neuronen gebildet wird;
- 4 ist eine schematische Darstellung eines Beispiels für ein Robotersystem gemäß der vorliegenden Ausführungsform;
- 5 ist eine schematische Darstellung eines Abwandlungsbeispiels des in 4 gezeigten Robotersystems;
- 6 ist ein Blockdiagramm zur Darstellung eines Beispiels für ein Robotersystem gemäß der vorliegenden Ausführungsform;
- 7A und 7B sind Darstellungen zur Veranschaulichung eines Beispiels einer Bewegung des in 6 gezeigten Robotersystems; und
- 8 ist eine Darstellung zur Veranschaulichung eines Beispiels für ein Verfahren, bei dem die in 7A und 7B gezeigte Bewegung des Robotersystems durch tiefes Lernen erreicht wird, das ein neuronales Netz einsetzt.
-
Genaue Beschreibung
-
Nachstehend sind Ausführungsformen einer Maschinenlerneinrichtung, eines Robotersystems und eines Maschinenlernverfahrens gemäß der vorliegenden Erfindung unter Bezugnahme auf die beigefügten Zeichnungen genauer beschrieben. 1 ist ein Blockdiagramm, das ein Robotersystem gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
-
Wie in 1 gezeigt, dient ein Robotersystem gemäß der vorliegenden Ausführungsform dem Lernen von Bewegungen eines Roboters (kooperativer Roboter) 3, der an einer gemeinsam durch einen Menschen (Arbeiter 1) und einen Roboter ausgeführten Aufgabe beteiligt ist, und umfasst einen Roboter 3, eine Robotersteuereinheit 30 und eine Maschinenierneinrichtung 2. Die Maschinenlerneinrichtung 2 kann in einer einheitlichen Konfiguration mit der Robotersteuereinheit 30 oder separat bereitgestellt werden.
-
Wie in 1 gezeigt, lernt die Maschinenlerneinrichtung 2 beispielsweise in der Robotersteuereinheit 30 eingestellte Bewegungsbefehle des Roboters 3 und umfasst eine Zustandsüberwachungseinheit 21, eine Belohnungsberechnungseinheit 22, eine Wertfunktionsaktualisierungseinheit 23 und eine Entscheidungseinheit 24. Die Zustandsüberwachungseinheit 21 überwacht den Zustand des Roboters 3 und die Belohnungsberechnungseinheit 22 berechnet basierend auf einem Ausgang der Zustandsüberwachungseinheit 21 und einer Aktion eines Menschen eine Belohnung.
-
Mit anderen Worten, es werden beispielsweise Steuerdaten des Roboters der Robotersteuereinheit 30, ein Ausgang der Zustandsüberwachungseinheit 21 (eine durch die Zustandsüberwachungseinheit 21 überwachte Zustandsgröße) und eine auf einer Aktion eines Menschen basierende Belohnung in die Belohnungsberechnungseinheit 22 eingegeben und eine Belohnung berechnet. Genauer gesagt wird beispielsweise mit Hilfe eines an einem Teil des Roboters 3 bereitgestellten Berührungssensors 41 eine positive Belohnung festgelegt, wenn der Roboter 3 gestreichelt wird, wohingegen eine negative Belohnung festgelegt wird, wenn der Roboter 3 geschlagen wird, wobei eine Belohnung durch Addieren der auf der Aktion des Menschen basierenden Belohnung zu der auf den Steuerdaten und der Zustandsgröße basierenden Belohnung berechnet werden kann.
-
Alternativ wird beispielsweise mit Hilfe eines Mikrofons 42, das an einem Teil des Roboters 3 oder in dessen Nähe bereitgestellt ist oder von dem Arbeiter 1 getragen wird, eine positive Belohnung festgelegt, wenn der Roboter 3 gelobt wird, wohingegen eine negative Belohnung festgelegt wird, wenn der Roboter 3 ausgeschimpft wird, wobei eine Belohnung durch Addieren der auf der Aktion des Menschen basierenden Belohnung zu der auf den Steuerdaten und der Zustandsgröße basierenden Belohnung berechnet werden kann.
-
Die Wertfunktionsaktualisierungseinheit 23 aktualisiert basierend auf der durch die Belohnungsberechnungseinheit 22 berechneten Belohnung eine den Bewegungsbefehl des Roboters betreffende Wertfunktion, die anhand der vorliegenden Zustandsgröße berechnet wird. Die durch die Zustandsüberwachungseinheit 21 überwachten Zustandsgrößen umfassen, wie vorstehend beschrieben, einen Ausgang eines Mikrofons 42, einer Kamera 44, eines Kraftsensors 45 und/oder eines Berührungssensors 41. Die Entscheidungseinheit 24 bestimmt eine Bewegung des Roboters 3 vorgebende Befehlsdaten basierend auf einem Ausgang der Wertfunktionsaktualisierungseinheit 23.
-
Als Nächstes werden maschinelles Lernen und eine Maschinenierneinrichtung (Maschinenlernvorrichtung) beschrieben. Eine Maschinenierneinrichtung hat die Funktion, in die Einrichtung eingegebene Datensätze zu analysieren und nützliche Regeln, Wissensdarstellungen, Bewertungskriterien und dergleichen zu extrahieren, die in den Datensätzen enthalten sind, und das Bewertungsergebnis auszugeben sowie Wissen zu erwerben (maschinelles Lernen). Es gibt verschiedene Techniken des maschinellen Lernens, die sich grob beispielsweise in „überwachtes Lernen“, „unüberwachtes Lernen“ und „bestärkendes Lernen“ einteilen lassen. Des Weiteren gibt es eine als „tiefes Lernen“ (Deep Learning) bezeichnete Technik, bei der die Maschine lernt, selbstständig Merkmalsbeträge zum Ausführen dieser Techniken zu extrahieren.
-
Die unter Bezugnahme auf 1 beschriebene Maschinenlerneinrichtung 2 setzt „bestärkendes Lernen“ ein, wobei die Maschinenlerneinrichtung 2 durch einen Universalcomputer oder -prozessor umgesetzt werden kann, für eine Verarbeitung mit noch höherer Geschwindigkeit kann jedoch beispielsweise GPGPU (Universalberechnung in Grafikverarbeitungseinheiten /General-Purpose computing on Graphics Processing Units) oder ein großer PC-Cluster eingesetzt werden.
-
Außer „bestärkendem Lernen“ gibt es verschiedene Arten des maschinellen Lernens, die hier kurz beschrieben sind. Zunächst wird beim „überwachten Lernen“ eine große Anzahl Datensätze bestimmter Eingänge und Ergebnisse (Label) in eine Maschinenlerneinrichtung eingegeben, die in diesen Datensätzen enthaltene Merkmale lernt und ein Modell (Fehlermodell) zum Schätzen von Ergebnissen anhand der Eingänge, d.h. deren Beziehung, induktiv erwirbt.
-
Beim „unüberwachten Lernen“ wird das Lernen in einer Vorrichtung durchgeführt, in der ausschließlich Eingangsdaten in großen Mengen in eine Maschinenierneinrichtung eingegeben werden, wobei die Einrichtung die Verteilung der Eingangsdaten lernt und die Eingangsdaten beispielsweise komprimiert, klassifiziert und formt, ohne dass entsprechende Lehrerausgangsdaten in die Einrichtung eingegeben werden. Dies ermöglicht beispielsweise eine Gruppierung ähnlicher oder gleicher in diesen Datensätzen enthaltener Merkmale. Das erhaltene Ergebnis kann dazu verwendet werden, bestimmte Kriterien zu definieren, wobei es durch Zuordnen von Ausgängen derart, dass die Ausgänge gemäß den Kriterien optimiert werden, möglich ist, die Ausgänge vorherzusagen. Ferner gibt es das sogenannte „halbüberwachte Lernen“, das eine Problemstellung nutzt, die sich als Zwischending zwischen „unüberwachtem Lernen“ und „überwachtem Lernen“ charakterisieren lässt. Dies entspricht einem Fall, in dem beispielsweise nur ein Teil der Daten in Form von Datensätzen von Ein- und Ausgängen bereitgestellt wird, während die restlichen Daten ausschließlich aus Eingängen bestehen.
-
Als Nächstes wird das „bestärkende Lernen“ genauer beschrieben. Zunächst wird eine Problemstellung zum „bestärkenden Lernen“ wie folgt bereitgestellt:
- - Der Roboter (d.h. der Roboter, der an einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe beteiligt ist (kooperativen Roboter)) überwacht den Zustand der Umgebung und bestimmt seine Aktion.
- - Die Umgebung ändert sich gemäß einer bestimmten Regel, wobei eine Aktion des Roboters die Umgebung beeinflussen kann.
- - Ein Belohnungssignal wird jedes Mal zurückgeführt, wenn eine Aktion durchgeführt wird.
- - Die gesamte (diskontierte) zukünftige Belohnung soll maximiert werden.
- - Das Lernen beginnt in einem Zustand, in dem das Ergebnis einer Aktion völlig unbekannt oder nur teilweise bekannt ist. Mit anderen Worten, der kooperative Roboter kann ein als Daten dienendes Ergebnis nur erzielen, nachdem er eine Aktion durchgeführt hat. Anders ausgedrückt, eine optimale Aktion wird durch Versuch und Irrtum gesucht.
- - Das Lernen kann außerdem an einem guten Ausgangspunkt begonnen werden, indem es in einem Anfangszustand begonnen wird, in dem vorab gelernt wurde, menschliche Bewegungen nachzuahmen (Techniken, wie etwa „überwachtes Lernen“ oder „inverses bestärkendes Lernen“).
-
Beim „bestärkenden Lernen“ werden, zusätzlich zu einer Bestimmung und Klassifizierung, Aktionen gelernt, um ein Verfahren zum Lernen geeigneter Aktionen unter Berücksichtigung der durch Aktionen auf die Umgebung ausgeübten Wechselwirkung zu erhalten, d.h. ein Lernen zum Maximieren der in der Zukunft zu erhaltenden Belohnung. Nachstehend wird als Beispiel das Q-Lernen beschrieben, wobei die vorliegende Erfindung jedoch nicht auf das Q-Lernen beschränkt ist.
-
Q-Lernen ist ein Verfahren zum Lernen eines Werts Q(s, a) zum Auswählen einer Aktion a in einem Umgebungszustand s. Mit anderen Worten, eine Aktion a mit dem höchsten Wert Q(s, a) im Zustand s wird bevorzugt als optimale Aktion ausgewählt. Zunächst ist der korrekte Wert von Q(s, a) hinsichtlich eines Paares aus einem Zustand s und einer Aktion a jedoch völlig unbekannt. Der Agent (das Subjekt einer Aktion) wählt unter verschiedenen Möglichkeiten eine Aktion a in einem Zustand s aus, wobei in Antwort auf die ausgewählte Aktionen a eine Belohnung vergeben wird. Durch diesen Vorgang lernt der Agent, eine bessere Aktion auszuwählen, d.h. den korrekten Wert Q(s, a).
-
Zum Maximieren der Summe der als Ergebnis der Aktionen in Zukunft zu erhaltenden Belohnungen muss am Ende Q(s, a) = E [Σ (γ
t) r
t] erfüllt werden. Der Erwartungswert in dieser Gleichung wird in einem auf die optimale Aktion folgenden Zustand ermittelt und die optimale Aktion, welche unbekannt ist, ist durch eine Suche zu lernen. Eine Aktualisierungsgleichung eines solchen Werts Q(s, a) ist beispielsweise durch die Gleichung 1 gegeben.
-
In Gleichung 1 stellt st den Umgebungszustand zu einem Zeitpunkt t und at die Aktion zum Zeitpunkt t dar. Durch die Aktion at ändert sich der Zustand in st+1. rt+1 ist die Belohnung, die als Ergebnis der Änderung des Zustands erhalten wird. Der max umfassende Term, ist das Produkt des Q-Werts multipliziert mit γ, wenn eine Aktion a mit dem höchsten im Zustand st+1 bekannten Q-Wert ausgewählt wird. γ ist ein Parameter, der als Diskontierungsrate bezeichnet wird und 0 < γ ≤ 1 erfüllt. α ist ein Lernfaktor, der 0 < α ≤ 1 erfüllt.
-
Die Gleichung 1 stellt ein Verfahren zum Aktualisieren des Bewertungswerts Q(st, at) der Aktion at im Zustand st basierend auf der als Ergebnis des Versuchs at zurückgeführten Belohnung rt+1 dar. Genauer gesagt wird, wenn die Summe der Belohnung rt+1 und des Bewertungswerts Q(st+1, max at+1) der besten Aktion max a in dem auf den Zustand s bei der Aktion a folgenden Zustand größer ist als der Bewertungswert Q(St, at) der Aktion a im Zustand s, Q(st, at) erhöht, ansonsten wird Q(St, at) verringert. Mit anderen Worten, der Wert einer bestimmten Aktion in einem bestimmten Zustand wird an die unverzüglich als Ergebnis zurückgeführte Belohnung und den Wert der besten Aktion in dem auf die bestimmte Aktion folgenden Zustand angenähert.
-
Verfahren zur Darstellung von Q(s, a) auf einem Computer umfassen ein Verfahren zum Speichern der numerischen Werte aller Zustands-/Aktionspaare (s, a) in Form einer Tabelle und ein Verfahren zum Bereitstellen einer Funktion, die Q(s, a) annähert. Durch letzteres Verfahren kann die vorstehend genannte Gleichung 1 durch Einstellen der Parameter einer Näherungsfunktion unter Verwendung einer Technik, wie etwa dem stochastischen Gradientenabstiegsverfahren, ausgeführt werden. Ein neuronales Netz (nachstehend beschrieben) kann als Näherungsfunktion verwendet werden.
-
Beim „bestärkenden Lernen“ kann ein neuronales Netz als Näherungsalgorithmus für die Wertfunktion verwendet werden. 2 ist eine schematische Darstellung eines Neuronenmodells und 3 ist eine schematische Darstellung eines aus drei Schichten bestehenden neuronalen Netzes, das durch Kombinieren der in 2 gezeigten Neuronen gebildet wird. Genauer gesagt wird das neuronale Netz in Nachahmung eines beispielsweise in 2 dargestellten Neuronenmodells beispielsweise durch eine Recheneinrichtung und einen Speicher ausgeführt.
-
Wie in
2 gezeigt, dienen die Neuronen dazu, für eine Mehrzahl Eingänge x (in
2 beispielsweise die Eingänge x1 bis x3) einen Ausgang (Ergebnis) y auszugeben. Jeder der Eingänge x (x1, x2, x3) wird mit einem entsprechenden Gewicht w (w1, w2, w3) multipliziert. Durch diesen Vorgang geben die Neuronen durch die Gleichung 2 gegebene Ergebnisse y aus, wobei θ eine systematische Messabweichung und f
k eine Aktivierungsfunktion ist. Es wird darauf hingewiesen, dass die Eingänge x, die Ergebnisse y und die Gewichte w allesamt Vektoren sind.
-
Ein dreischichtiges neuronales Netz, das durch Kombinieren der in 2 gezeigten Neuronen gebildet wird, ist nachstehend unter Bezugnahme auf 3 beschrieben. Eine Mehrzahl Eingänge x (hierin beispielsweise die Eingänge x1 bis x3) wird auf der linken Seite des neuronalen Netzes eingegeben und Ergebnisse y (hierin beispielsweise die Ergebnisse y1 bis y3) werden auf der rechten Seite dieses Netzes ausgegeben, wie in 3 gezeigt. Genauer gesagt werden die Eingänge x1, x2 und x3 jeweils in drei Neuronen N11 bis N13 eingegeben, nachdem sie mit entsprechenden Gewichten multipliziert wurden. Die zum Multiplizieren dieser Eingänge verwendeten Gewichte sind hierin kollektiv mit W1 bezeichnet.
-
Die Neuronen N11 bis N13 geben jeweils z11 bis z13 aus. Bezug nehmend auf 3 sind z11 bis z13 kollektiv als Merkmalsvektoren Z1 bezeichnet und können als Vektoren angesehen werden, die durch Extrahieren der Merkmalsbeträge von Eingangsvektoren erhalten werden. Die Merkmalsvektoren Z1 sind zwischen den Gewichten W1 und W2 definierte Merkmalsvektoren. z11 bis z13 werden jeweils in zwei Neuronen N21 und N22 eingegeben, nachdem sie mit entsprechenden Gewichten multipliziert wurden. Die zum Multiplizieren dieser Merkmalsvektoren verwendeten Gewichte sind hierin kollektiv mit W2 bezeichnet.
-
Die Neuronen N21 und N22 geben jeweils z21 und z22 aus. Bezug nehmend auf 3 sind z21 und z22 kollektiv als Merkmalsvektoren Z2 bezeichnet. Die Merkmalsvektoren Z2 sind zwischen den Gewichten W2 und W3 definierte Merkmalsvektoren. z21 und z22 werden jeweils in drei Neuronen N31 bis N33 eingegeben, nachdem sie mit entsprechenden Gewichten multipliziert wurden. Die zum Multiplizieren dieser Merkmalsvektoren verwendeten Gewichte sind hierin kollektiv mit W3 bezeichnet.
-
Schließlich geben die Neuronen N31 bis N33 jeweils die Ergebnisse y1 bis y3 aus. Der Betrieb des neuronalen Netzes umfasst einen Lernmodus und einen Wertvorhersagemodus. Beispielsweise wird im Lernmodus ein Gewicht W unter Verwendung von Lerndatensätzen gelernt und im Vorhersagemodus unter Verwendung der Parameter eine Roboteraktion bestimmt. Obgleich der Einfachheit halber vorstehend von „Vorhersage“ gesprochen wird, ist selbstverständlich eine Vielzahl von Aufgaben möglich, wie etwa Erfassung, Klassifizierung und Inferenz.
-
Im Vorhersagemodus durch einen tatsächlichen Betrieb des Roboters erhaltene Daten können unverzüglich gelernt und in einer darauffolgenden Aktion reflektiert werden (Online-Lernen), oder es kann eine Gruppe vorab gesammelter Daten dazu verwendet werden, ein kollektives Lernen durchzuführen und anschließend unter Verwendung derselben Parameter den Erfassungsmodus auszuführen (Batch-Lernen). Alternativ kann in einer Zwischenmaßnahme der Lernmodus immer dann zwischengeschaltet werden, wenn sich eine bestimmte Datenmenge angesammelt hat.
-
Die Gewichte w1 bis w3 können durch Backpropagation (Rückwärtspropagierung) gelernt werden. Die Fehlerinformationen werden von rechts eingegeben und fließen nach links. Backpropagation ist eine Technik, die zum Einstellen (Lernen) jedes Gewichts verwendet wird, um die Differenz zwischen dem den Eingängen x entsprechenden Ausgang und dem tatsächlichen Ausgang y (Lehrer) zu verringern. Ein solches neuronales Netz kann mehr als drei Schichten aufweisen (als tiefes Lernen (Deep Learning) bezeichnet). Es ist auch möglich, Merkmale des Eingangs schrittweise zu extrahieren, um automatisch eine Recheneinrichtung zu erlangen, die ausschließlich anhand der Lehrerdaten ein Ergebnis zurückführt.
-
Wie vorstehend beschrieben, umfasst die Maschinenlerneinrichtung 2 gemäß der vorliegenden Ausführungsform eine Zustandsüberwachungseinheit 21, eine Belohnungsberechnungseinheit 22, eine Wertfunktionsaktualisierungseinheit 23 und eine Entscheidungseinheit 24, um beispielsweise „bestärkendes Lernen (Q-Lernen)“ auszuführen. Das auf die vorliegende Erfindung angewandte Maschinenlernverfahren ist jedoch nicht auf das Q-Lernen beschränkt und es können andere Verfahren angewandt werden, sofern Belohnungen durch Addieren einer auf einer Aktion eines Menschen basierenden Belohnung berechnet werden können. Wie zuvor erwähnt, kann maschinelles Lernen (Maschinenlerneinrichtung 2) durch den Einsatz von beispielsweise GPGPU oder eines großen PC-Clusters ausgeführt werden.
-
4 ist eine schematische Darstellung, die ein Beispiel für das Robotersystem gemäß der vorliegenden Ausführungsform veranschaulicht, und zeigt ein Beispiel, bei dem ein Mensch 1 und ein Roboter 3 zusammenarbeiten und ein Werkstück W transportieren. In 4 bezeichnet das Bezugszeichen 1 einen Menschen (Arbeiter), 3 einen Roboter (kooperativen Roboter), 30 eine Robotersteuereinheit, 31 ein Sockelteil des Roboters 3 und 32 das Handteil des Roboters 3. Ferner bezeichnet das Bezugszeichen 41 einen Berührungssensor, 42 ein Mikrofon, 43 eine Eingabeeinrichtung (Handprogrammiergerät/Teaching Pendant), 44 eine Kamera, 45a und 45b Kraftsensoren, 46 einen Lautsprecher und W ein Werkstück. Die vorstehend unter Bezugnahme auf 1 beschriebene Maschinenlerneinrichtung 2 ist beispielsweise in der Robotersteuereinheit 30 bereitgestellt. Ferner kann die Eingabeeinrichtung 43 die Form einer Armbanduhr haben und von dem Menschen 1 getragen werden.
-
Bei dem in 4 gezeigten Beispiel des Robotersystems sind das Mikrofon 42, die Kamera 44 und der Lautsprecher 46 nahe dem Handteil 32 des Roboters 3, der Kraftsensor 45a nahe dem Sockelteil 31 des Roboters 3 und der Kraftsensor 45b am Handteil 32 des Roboters 3 bereitgestellt. Der Ausgang des Mikrofons 42, der Kamera 44, des Kraftsensors 45a, 45b und/oder des Berührungssensors 41 dient als Zustandsgröße (Zustandsbetrag), die in die Zustandsüberwachungseinheit 21 der vorstehend unter Bezugnahme auf 1 beschriebenen Maschinenlerneinrichtung 2 einzugeben ist. Die Kraftsensoren 45a, 45b erfassen eine durch eine Bewegung des Roboters 3 erzeugte Kraft.
-
Der Berührungssensor 41 ist nahe dem Handteil 32 des Roboters 3 bereitgestellt und eine auf einer Aktion des Menschen 1 basierende Belohnung (eine zweite Belohnung) wird mit Hilfe dieses Berührungssensors 41 in die Maschinenlerneinrichtung 2 (die Belohnungsberechnungseinheit 22) eingegeben. Genauer gesagt wird mit Hilfe des Berührungssensors 41 als zweite Belohnung eine positive Belohnung festgelegt, wenn der Mensch 1 den Roboter 3 streichelt, und eine negative Belohnung festgelegt, wenn der Mensch 1 den Roboter 3 schlägt, wobei diese zweite Belohnung zu einer Belohnung addiert wird, die beispielsweise auf den Steuerdaten und der Zustandsgröße basiert (eine erste Belohnung). Der Berührungssensor 41 kann beispielsweise so bereitgestellt werden, dass er den ganzen Roboter 3 bedeckt und der Roboter 3 kann zur Gewährleistung der Sicherheit dafür konfiguriert werden, zu stoppen, wenn der Berührungssensor 41 eine geringfügige Kollision erfasst.
-
Alternativ wird beispielsweise mit Hilfe des am Handteil 32 des Roboters 3 bereitgestellten Mikrofons 42 eine positive Belohnung festgelegt, wenn der Mensch 1 den Roboter 3 lobt, und eine negative Belohnung festgelegt, wenn der Mensch 1 den Roboter 3 ausschimpft, wobei diese Belohnung (eine zweite Belohnung) zu der auf den Steuerdaten und der Zustandsgröße basierenden ersten Belohnung addiert wird. Es wird darauf hingewiesen, dass die auf einer Aktion des Menschen 1 basierende Belohnung (die zweite Belohnung) nicht auf eine Belohnung beschränkt ist, die auf einem Streicheln und Schlagen unter Verwendung des Berührungssensors 41 oder einem Loben und Schimpfen unter Verwendung des Mikrofons 42 basiert, wobei eine zweite Belohnung, die auf einer Aktion des Menschen 1 unter Verwendung verschiedener Sensoren oder dergleichen basiert, zu der vorstehend beschriebenen ersten Belohnung addiert werden kann.
-
5 ist eine schematische Darstellung eines Abwandlungsbeispiels des in 4 gezeigten Robotersystems. Wie aus einem Vergleich von 5 mit 4 eindeutig hervorgeht, ist bei dem in 5 gezeigten Abwandlungsbeispiel der Berührungssensor 41 an einem Teil des Roboters 3 bereitgestellt, wo es für den Menschen 1 einfach ist, eine Aktion durchzuführen, wie etwa ein Streicheln und Schlagen, während die Kamera 44 über dem Roboter 3 bereitgestellt ist. Die Kamera 44 hat beispielsweise eine Zoom-Funktion und kann vergrößerte und verkleinerte Bilder aufnehmen.
-
Der Kraftsensor 45a ist ausschließlich am Sockelteil 31 des Roboters 3 bereitgestellt und das Mikrofon 42 wird vom Menschen 1 getragen. Ferner ist die Eingabeeinrichtung 43 eine feststehende Einrichtung, die mit einem Lautsprecher 46 ausgestattet ist. Wie beschrieben, können der Berührungssensor 41, das Mikrofon 42, die Eingabeeinrichtung 43, die Kamera 44, der Kraftsensor 45, der Lautsprecher 46 und dergleichen an verschiedenen Stellen (z.B. an Peripheriegeräten) bereitgestellt werden.
-
6 ist ein Blockdiagramm zur Darstellung eines Beispiels für das Robotersystem gemäß der vorliegenden Ausführungsform. Wie in 6 gezeigt, umfasst das Robotersystem einen kooperativen Roboter 3 (einen an einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe beteiligten Roboter), eine Robotersteuereinheit 30, eine Maschinenierneinrichtung 2, eine Aufgabenintentionserkennungseinheit 51, eine Spracherkennungseinheit 52 und eine Frageerzeugungseinheit 53. Das Robotersystem umfasst außerdem einen Berührungssensor 41, ein Mikrofon 42, eine Eingabeeinrichtung 43, eine Kamera 44, einen Kraftsensor 45, einen Lautsprecher 46 und dergleichen. Die Maschinenlerneinrichtung 2 kann eine Bewegung des Roboters 3 beispielsweise durch Analysieren der Verteilung der Merkmalspunkte oder des Werkstücks W lernen, nachdem der Mensch 1 und der Roboter 3 zusammengearbeitet haben, um eine Aufgabe auszuführen.
-
Die Aufgabenintentionserkennungseinheit 51 empfängt beispielsweise den Ausgang der Kamera 44, des Kraftsensors 45, des Berührungssensors 41, des Mikrofons 42 und der Eingabeeinrichtung 43, um die Intention bezüglich der Aufgabe zu erkennen. Die Spracherkennungseinheit 52 erkennt die in das Mikrofon 42 eingegebene Sprache des Menschen 1 und die Aufgabenintentionserkennungseinheit 51 korrigiert die Bewegung des Roboters 3 basierend auf dem Ausgang der Spracherkennungseinheit 52.
-
Die Frageerzeugungseinheit 53 erzeugt eine dem Menschen 1 zu stellende Frage beispielsweise basierend auf einer Analyse der Intention bezüglich der Aufgabe durch die Aufgabenintentionserkennungseinheit 51 und übermittelt die Frage mit Hilfe des Lautsprechers 46 an den Menschen 1. Das Mikrofon 42 empfängt eine Antwort des Menschen 1 auf die durch den Lautsprecher 46 übermittelte Frage und die Spracherkennungseinheit 52 erkennt die mit Hilfe des Mikrofons 42 eingegebene Antwort des Menschen 1 und gibt die Antwort an die Aufgabenintentionserkennungseinheit 51 aus.
-
Bei dem in 6 gezeigten Beispiel des Robotersystems wird beispielsweise eine Zustandsgröße, die in die Zustandsüberwachungseinheit 21 der vorstehend unter Bezugnahme auf 1 beschriebenen Maschinenlerneinrichtung 2 eingegeben wird, als Ausgang der Aufgabenintentionserkennungseinheit 51 bereitgestellt. Hierbei setzt die Aufgabenintentionserkennungseinheit 51 die auf einer Aktion des Menschen 1 basierende Belohnung (die zweite Belohnung) in eine der Belohnung entsprechende Zustandsgröße um und gibt die Zustandsgröße an die Zustandsüberwachungseinheit 21 aus. Mit anderen Worten, die Aufgabenintentionserkennungseinheit 51 kann eine auf einer Aktion des Menschen 1 basierende positive Belohnung in eine für die positive Belohnung festgelegte Zustandsgröße umsetzen und die Zustandsgröße an die Zustandsüberwachungseinheit 21 ausgeben und eine auf einer Aktion des Menschen 1 basierende negative Belohnung in eine für die negative Belohnung festgelegte Zustandsgröße umsetzen und die Zustandsgröße an die Zustandsüberwachungseinheit 21 ausgeben.
-
Bei dem vorliegenden Robotersystem kann die Maschinenlerneinrichtung 2 so eingestellt werden, dass das Durchführen weiteren Lernens einer Bewegung gestoppt wird, die bis zu einem bestimmten Zeitpunkt gelernt wurde. Dies gilt für eine Situation, in der das Lernen der Roboterbewegungen hinreichend durchgeführt wurde und erwartet wird, dass der Roboter Aufgaben sicherer ausführt, indem er keine weiteren Versuche (Lernen) durchführt, oder für ähnliche Situationen. Ferner kann die Robotersteuereinheit 30, wie vorstehend beschrieben, den Roboter 3 aus Sicherheitsgründen stoppen, wenn der Berührungssensor 41 eine geringfügige Kollision (z.B. eine Kollision, die sich vom Streicheln und Schlagen durch den Menschen 1 unterscheidet) erfasst.
-
Unter Bezugnahme auf 6 wird ein Beispiel einer Verarbeitung im Robotersystem gemäß der vorliegenden Ausführungsform beschrieben. Beispielsweise wird die Sprache des Menschen (Arbeiter) 1 mit Hilfe des Mikrofons 42 in die Spracherkennungseinheit 52 eingegeben und der Inhalt der Sprache analysiert. Der durch die Spracherkennungseinheit 52 analysierte (erkannte) Inhalt der Sprache wird in die Aufgabenintentionserkennungseinheit 51 eingegeben. Die Aufgabenintentionserkennungseinheit 51 empfängt außerdem Signale von dem Berührungssensor 41, dem Mikrofon 42, der Eingabeeinrichtung 43, der Kamera 44 und dem Kraftsensor 45 und analysiert die Intention des Arbeiters 1 bezüglich der Aufgabe, die er oder sie ausführt, angesichts dieser Eingänge zusammen mit dem Inhalt der Äußerung des Arbeiters 1. Die in die Aufgabenintentionserkennungseinheit 51 eingegebenen Signale sind nicht auf die vorstehend erwähnten beschränkt und können die Ausgänge verschiedener Sensoren und dergleichen sein.
-
Die Aufgabenintentionserkennungseinheit 51 ist dazu in der Lage, eine Sprache (einen Ausgang des Mikrofons 42) und ein Kamerabild (einen Ausgang der Kamera 44) einander zuzuordnen. Somit kann beispielsweise, wenn der Arbeiter 1 „Werkstück“ sagt, das Werkstück im Bild identifiziert werden. Dies kann beispielsweise durch Kombinieren der von Google (eingetragene Marke) entwickelten Technik zum automatischen Erzeugen einer Legende für ein Bild mit einer herkömmlichen Spracherkennungstechnik umgesetzt werden.
-
Die Aufgabenintentionserkennungseinheit 51 ist außerdem mit einem einfachen Vokabular ausgestattet und der Arbeiter kann beispielsweise den Roboter (kooperativen Roboter) 3 veranlassen, eine Bewegung zum Bewegen eines Werkstücks etwas nach rechts auszuführen, indem er „bewege das Werkstück etwas nach rechts“ sagt. Diese Betriebsart wird bereits in der Praxis angewendet, etwa beim Betrieb von Windows- (eingetragene Marke) Arbeitsplatzrechnern durch Spracherkennung und beim Betrieb von Mobilgeräten, wie etwa Mobiltelefonen, durch Spracherkennung.
-
Ferner kann bei dem Robotersystem gemäß der vorliegenden Ausführungsform eine Sprache (ein Ausgang des Mikrofons 42) einer Kraftsensorinformation zugeordnet werden, wobei der kooperative Roboter 3 beispielsweise durch Sagen „etwas schwächer“ so gesteuert werden kann, dass der Eingang des Kraftsensors 45 abgeschwächt wird. Genauer gesagt wird der kooperative Roboter 3, wenn der Arbeiter beim Anwenden einer Kraft in x-Richtung „etwas schwächer“ sagt, so gesteuert, dass die in x-Richtung angewandte Kraft abgeschwächt wird, beispielsweise um die Geschwindigkeit, Beschleunigung und in x-Richtung angewandte Kraft zu verringern.
-
Die Aufgabenintentionserkennungseinheit 51 speichert die Merkmalspunktverteilung in den Kamerabildern, die vor und nach der Ausführung der Aufgabe aufgenommen wurden (z.B. zu den Zeitpunkten, zu denen der Arbeiter „starte die Arbeit“ und „beende die Arbeit“ sagt), wobei der kooperative Roboter 3 so gesteuert wird, dass eine Merkmalspunktverteilung erhalten wird, die mit dem Zustand nach Abschluss der Aufgabe übereinstimmt. Die Merkmalspunkte sind die Punkte, mit denen die Aufgabe geeignet dargestellt werden kann, beispielsweise unter Verwendung eines Autoencoders, wobei die Merkmalspunkte durch das folgende Verfahren ausgewählt werden können.
-
7A und 7B sind Darstellungen zur Veranschaulichung eines Beispiels einer Bewegung des in 6 gezeigten Robotersystems und zur Veranschaulichung eines Vorgangs zum Auswählen von Merkmalspunkten. Mit anderen Worten, ein L-förmiges Werkstück W0 und eine sternförmige Schraube S0, die wie in 7A gezeigt separat platziert sind, werden durch die Bewegung des Roboters 3 bewegt, so dass die sternförmige Schraube SO an einem Endabschnitt des L-förmigen Werkstücks W0 platziert wird, wie in 7B gezeigt.
-
Zunächst werden geeignete Merkmalspunkte (CP1 bis CP7) ausgewählt und ihre Verteilung und ihr Positionsverhältnis vor und nach der Ausführung der Aufgabe aufgezeichnet. Merkmalspunkte können durch einen Menschen festgelegt werden, es ist jedoch zweckmäßig, sie automatisch durch den Roboter festzulegen. Die automatisch festgelegten Merkmalspunkte werden für charakteristische Abschnitte CP1 bis CP6 des Werkstücks W0 und einen Abschnitt CP7, der die Komponente S0 zu sein scheint, oder Punkte festgelegt, die Veränderungen zwischen vor und nach der Ausführung der Aufgabe zeigen. Wenn eine Punkteverteilung nach der Ausführung der Aufgabe eine gewisse Regelmäßigkeit zeigt, dienen solche Punkte (Merkmalspunkte) als Merkmalspunkte, die die Aufgabe gut darstellen. Wenn eine Punkteverteilung nach der Ausführung der Aufgabe keine Regelmäßigkeit zeigt, werden diese Punkte verworfen, da sie die Aufgabe nicht darstellen. Durch Durchführen dieses Verfahrens immer dann, wenn eine kooperative Aufgabe ausgeführt wird, werden korrekte Merkmalspunkte und die Verteilung der Merkmalspunkte nach der Ausführung der Aufgabe auf das maschinelle Lernen angewendet. In manchen Fällen ist eine gewisse Schwankung der Verteilung von Merkmalspunkten zulässig, kann jedoch durch Anwenden beispielsweise von tiefem Lernen mit einem neuronalen Netz gehandhabt werden, um das Lernen flexibel durchzuführen.
-
Beispielsweise bei der Aufgabe, die sternförmige Schraube SO an einem Endabschnitt des L-förmigen Werkstücks W0 zu platzieren, wie beispielsweise in 7A und 7B gezeigt, werden die Merkmalspunkte (die in punktierter Linie eingefassten Abschnitte) CP1 bis CP7 ausgewählt und die Verteilung der Merkmalspunkte nach Abschluss der Aufgabe im Speicher gespeichert. Die Objekte (W0, S0) werden dann so bewegt, dass die Merkmalspunktverteilung des Objekts mit der Merkmalspunktverteilung übereinstimmt, die den Zustand nach Abschluss der Aufgabe darstellt, wodurch die Aufgabe abgeschlossen wird.
-
8 ist eine Darstellung zur Veranschaulichung eines Beispiels für ein Verfahren, bei dem die in 7A und 7B gezeigte Bewegung des Robotersystems durch tiefes Lernen erreicht wird, das ein neuronales Netz einsetzt. In 8 werden beispielsweise zunächst, wie durch SN1 angegeben, Pixel in dem nach Abschluss der Aufgabe aufgenommenen Bild in jedes Neuron (neuronales Netz) eingegeben und, wie durch SN2 angegeben, die Merkmalspunkte (CP1 bis CP7) und die Objekte (W0, S0) im Bild durch die Neuronen erkannt. Ferner werden, wie durch SN3 angegeben, Verteilungsregelmäßigkeiten der Merkmalspunkte und der Objekte durch die Neuronen gelernt, wobei dann die Intention bezüglich der Aufgabe analysiert werden kann. Es wird darauf hingewiesen, dass die Schichten des neuronalen Netzes nicht auf die drei Schichten beschränkt sind, die aus einer Eingangsschicht, einer Zwischenschicht und einer Ausgangsschicht bestehen, wobei natürlich beispielsweise die Zwischenschicht durch eine Mehrzahl Schichten gebildet werden kann.
-
Als Nächstes wird, wenn die Aufgabe ausgeführt werden soll, das Bild vor der Ausführung der Aufgabe in die Neuronen eingegeben, um, wie durch SN4 angegeben, die Merkmalspunkte und die Objekte im Bild in ähnlichen Verfahren, wie die durch SN1 bis SN3 angegebenen, zu erkennen (Extraktion von Merkmalspunkten), wobei dann, wie durch SN5 angegeben, die Verteilung der Merkmalspunkte und der Objekte nach Abschluss der Aufgabe durch die Verarbeitung durch die Neuronen berechnet wird, wie durch SN2 und SN3 angegeben. Der Roboter 3 wird dann gesteuert, um die Objekte (W0, S0) so zu bewegen, dass die Verteilung der Merkmalspunkte und der Objekte mit der berechneten Verteilung übereinstimmt, wodurch die Aufgabe abgeschlossen wird.
-
Die Beschreibung wird unter Bezugnahme auf die vorstehend beschriebene 6 fortgesetzt. Wie in 6 gezeigt, gibt es beispielsweise Punkte, bei denen während der Analyse durch die Aufgabenintentionserkennungseinheit 51 eine Klarstellung oder Bestätigung erwünscht ist, solche Punkte werden an die Frageerzeugungseinheit 53 übermittelt und in der Frageerzeugungseinheit 53 erzeugte Fragen mit Hilfe des Lautsprechers 46 an den Arbeiter (Menschen) 1 übermittelt. Genauer gesagt kann der kooperative Roboter 3 (Robotersystem) beispielsweise, wenn der Arbeiter 1 „das Werkstück mehr nach rechts“ sagt, das Werkstück etwas nach rechts bewegen und den Arbeiter 1 fragen: „Ist dies die richtige Position?“
-
Der Arbeiter beantwortet die Frage, die er oder sie mit Hilfe des Lautsprechers 46 empfängt, und der Inhalt der Antwort des Arbeiters 1 wird mit Hilfe des Mikrofons 42 und der Spracherkennungseinheit 52 analysiert und zur Aufgabenintentionserkennungseinheit 51 zurückgeführt, die die Intention des Arbeiters bezüglich der Aufgabe analysiert. Die Aufgabenintentionserkennungseinheit 51 gibt das Ergebnis der Analyse (einschließlich beispielsweise einer Ausgabe einer auf einer Aktion des Arbeiters 1 basierenden Belohnung (eine zweite Belohnung), die wie vorstehend beschrieben in eine der Belohnung entsprechende Zustandsgröße umgesetzt wurde) an die Maschinenlerneinrichtung 2 aus. Die Verarbeitung in der Maschinenlerneinrichtung 2 wurde vorstehend genau beschrieben und wird nicht weiter beschrieben, der Ausgang der Maschinenlerneinrichtung 2 wird jedoch in die Robotersteuereinheit 30 eingegeben, um den kooperativen Roboter 3 zu steuern, und wird beispielsweise bei einer späteren Ausführung gemäß der erhaltenen Intention bezüglich der Aufgabe zum Steuern des kooperativen Roboters 3 verwendet.
-
Der vorliegende Roboter versucht selbst im Laufe der kooperativen Arbeit, die Art, wie er die Aufgabe ausführt, durch allmähliches Ändern seiner Bewegungen und seiner Bewegungsgeschwindigkeit zu verbessern. Wie vorstehend beschrieben, kann eine durch den Arbeiter 1 verursachte Belohnung (eine zweite Belohnung) eine positive oder negative Belohnung in Antwort auf eine Verbesserung der Ausführung der Aufgabe sein, wobei die Belohnung durch seine oder ihre Aktion des Streicheins oder Schlagens unter Verwendung des Berührungssensors 41 oder des Lobens oder Schimpfens unter Verwendung des Mikrofons 42 festgelegt wird. Wenn der Arbeiter 1 beispielsweise unter Verwendung des Berührungssensors 41 den kooperativen Roboter 3 schlägt (Festlegen einer negativen Belohnung oder Verhängen einer Strafe), kann der kooperative Roboter 3 seine Bewegungen verbessern, indem er beispielsweise bei einer späteren Ausführung die Art der Richtungsänderung vermeidet, die der kooperative Roboter durch seine Bewegung unmittelbar vor der Verhängung der Strafe durchgeführt hat.
-
Ferner kann, wenn der kooperative Roboter 3 eine Modifikation seiner Bewegung vornimmt, um sich in einen bestimmten Abschnitt ein wenig schneller zu bewegen, und dann vom Arbeiter geschlagen wird (eine Strafe verhängt wird), der kooperative Roboter durch Vermeiden einer Modifikation, um sich in diesem Abschnitt schneller zu bewegen, seine Bewegungen bei einer späteren Ausführung verbessern. Wenn das Robotersystem (der kooperative Roboter 3) nicht versteht, warum die Strafe verhängt wurde, beispielsweise weil es nur wenige Male betrieben wurde, kann das Robotersystem (die Frageerzeugungseinheit 53) dem Arbeiter 1 eine Frage stellen und wenn ihm gesagt wird, dass es sich langsamer bewegen soll, wird der kooperative Roboter 3 so gesteuert, dass er sich beim nächsten Mal langsamer bewegt.
-
Wie vorstehend beschrieben, kann das Robotersystem (der kooperative Roboter 3) gemäß der vorliegenden Ausführungsform nicht nur ein maschinelles Lernen der Bewegungen basierend auf Zustandsgrößen durchführen, sondern auch die Bewegungen des kooperativen Roboters 3 basierend auf einer Aktion des Menschen (Arbeiters) 1 korrigieren (verbessern). Des Weiteren ermöglicht ein Gespräch der Aufgabenintentionserkennungseinheit 51 (der Spracherkennungseinheit 52, der Frageerzeugungseinheit 53) mit dem Arbeiter 1 eine weitere Verbesserung der Bewegungen des kooperativen Roboters 3. Durch die Frageerzeugungseinheit 53 für das Gespräch zwischen dem kooperativen Roboter 3 und dem Arbeiter 1 erzeugte Fragen können nicht nur Fragen umfassen, die auf der mit dem Arbeiter ausgeführten kooperativen Aufgabe basieren, wie etwa „Welches Werkstück soll ich aufnehmen?“ oder „Wo soll ich das Werkstück platzieren?“, die beispielsweise gestellt werden können, wenn eine Mehrzahl Werkstücke ermittelt wird, sondern auch dem Arbeiter 1 zu stellende Fragen bezüglich seiner eigenen Aktionen, wie etwa „Ist das das richtige Werkstück?“ oder „Ist das die richtige Stelle?“, die beispielsweise gestellt werden können, wenn der kooperative Roboter noch nicht genug gelernt hat und sich über seine Aktionen im Unklaren ist.
-
Wie vorstehend genau beschrieben, ermöglicht eine Ausführungsform der Maschinenlerneinrichtung, eines Robotersystems und eines Maschinenlernverfahrens der vorliegenden Erfindung das Sammeln von Lerndaten während der Ausführung einer kooperativen Aufgabe und verbessert dadurch die Bewegungen eines Roboters, der an einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe beteiligt ist. Ferner verbessert die Ausführungsform der Maschinenlerneinrichtung, eines Robotersystems und eines Maschinenlernverfahrens der vorliegenden Erfindung kooperative Bewegungen während einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe durch Nutzen verschiedener Sensorinformationen, durch ein Gespräch mit dem Menschen und durch andere Mittel. In gewissen Fällen lernt der Roboter, eine Aufgabe auszuführen, wodurch die Notwendigkeit, mit dem Menschen zusammenzuarbeiten, beseitigt wird.
-
Die Ausführungsformen einer Maschinenlerneinrichtung, eines Robotersystems und eines Maschinenlernverfahrens gemäß der vorliegenden Erfindung haben den vorteilhaften Effekt, die Bewegungen eines Roboters, der an einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe beteiligt ist, weiter zu verbessern. Darüber hinaus haben eine Maschinenlerneinrichtung, ein Robotersystem und ein Maschinenlernverfahren gemäß der vorliegenden Erfindung außerdem den vorteilhaften Effekt, kooperative Bewegungen während einer gemeinsam durch einen Menschen und einen Roboter ausgeführten Aufgabe durch Nutzen verschiedener Sensorinformationen, durch ein Gespräch mit dem Menschen und durch andere Mittel zu verbessern.
-
Sämtliche Beispiele und die bedingte Sprache, die hierin verwendet sind, sollen dem pädagogischen Zweck dienen, dem Leser dabei zu helfen, die Erfindung und die Konzepte zu verstehen, die durch den Erfinder beigetragen wurden, um den Stand der Technik voranzubringen, und sind weder als Beschränkungen für solche spezifisch angegebenen Beispiele und Gegebenheiten aufzufassen, noch bezieht sich die Ordnung solcher Beispiele in der Beschreibung auf eine Darstellung der Über- oder Unterlegenheit der Erfindung. Obgleich eine oder mehrere Ausführungsformen der vorliegenden Erfindung genau beschrieben wurden, versteht es sich, dass verschiedene Änderungen, Ersetzungen und Abwandlungen daran durchgeführt werden können, ohne vom Gedanken und Umfang der Erfindung abzuweichen.