-
Die vorliegende Erfindung bezieht sich auf eine Steuervorrichtung und eine Maschinenlernvorrichtung und bezieht sich insbesondere auf eine Steuervorrichtung und eine Maschinenlernvorrichtung, die eine Steuerung zum Greifen eines Objekts mit geringer Reaktionskraft durchführen.
-
Das Greifen eines Objekts mit einer Maschine durch eine Steuerung wird bislang für gewöhnlich so umgesetzt, dass ein mechanischer Mechanismusteil zum Greifen eines Objekts mit dem Objekt in Kontakt gebracht und gegen dieses gedrückt wird, um einen Stromwert eines Motors und Leistung und Moment rückzumelden, die von einem Kraftsensor erfasst werden, um die Leistung für ein Greifen des Objekts bereitzustellen (z. B.
JP 2014 - 024 134 A ).
-
Im Allgemeinen ist eine Reaktionskraft von einem Objekt erforderlich, um einen Stromwert eines Motors zu erfassen und Leistung und Moment durch einen Kraftsensor zu erfassen. Beim Greifen eines Objekts mit geringer Reaktionskraft wie z. B. eines weichen Objekts: z. B. Tofu und Brandteigkrapfen, kann jedoch nicht ausreichend Reaktionskraft erfasst werden, so dass es schwierig ist, eine Steuerung zum Greifen des Objekts durchzuführen.
-
Ferner weist ein weiches Objekt wie z. B. ein Brandteigkrapfen und Brot einen großen Fehler auf, was dessen Form betrifft. Demgemäß kann das Objekt aufgrund des Fehlers im Verfahren, bei dem ein Stromwert eines Motors zum Antreiben eines Mechanismusteils und Leistung und Moment, die von einem Kraftsensor erfasst werden, rückgemeldet werden, um die Leistung für ein Greifen eines Objekts bereitzustellen, ggf. zu stark gegriffen und beschädigt werden.
-
Weiteren Stand der Technik offenbaren die Druckschriften
DE 10 2016 009 030 A1 ,
WO 2017 / 103 682 A2 ,
US 2017 / 0 252 922 A1 ,
US 2013 / 0 200 644 A1 ,
US 2013 / 0 090 761 A1 und
JP 2013 - 052 490 A .
-
Die Aufgabe der vorliegenden Erfindung liegt in der Bereitstellung einer Steuervorrichtung und einer Maschinenlernvorrichtung, die eine Steuerung zum Greifen eines Objekts mit geringer Reaktionskraft ermöglicht.
-
Die Lösung dieser Aufgabe liegt erfindungsgemäß in einer Steuervorrichtung mit den Merkmalen des Patentanspruchs 1 und in einer Maschinenlernvorrichtung mit den Merkmalen des Patentanspruchs 7.
-
Gemäß der vorliegenden Erfindung kann eine Maschine dazu veranlasst werden, ein Objekt mit geringer Reaktionskraft sicher zu greifen, ohne das Objekt dabei zu beschädigen.
-
Die oben beschriebenen und andere Ziele und Merkmale der vorliegenden Erfindung gehen aus der folgenden Ausführungsform hervor, die unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben wird. In diesen Zeichnungen:
- ist 1 ein Hardwarekonfigurationsschaubild, das eine Steuervorrichtung gemäß einer Ausführungsform schematisch veranschaulicht;
- ist 2 ein Funktionsblockschaubild, das die Steuervorrichtung gemäß einer Ausführungsform schematisch veranschaulicht;
- ist 3 ein Funktionsblockschaubild, das einen Aspekt der Steuervorrichtung schematisch veranschaulicht;
- veranschaulicht 4A ein Neuron;
- veranschaulicht 4B ein neuronales Netzwerk; und
- ist 5 ein Funktionsblockschaubild, das einen Aspekt eines Systems, in das eine Steuervorrichtung integriert ist, schematisch veranschaulicht.
-
Eine Ausführungsform der vorliegenden Erfindung wird nachstehend unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben.
-
1 ist ein Hardwarekonfigurationsschaubild, das wesentliche Teile einer Steuervorrichtung gemäß einer ersten Ausführungsform schematisch veranschaulicht. Eine Steuervorrichtung 1 kann z. B. als Steuervorrichtung zum Steuern eines Roboters vorgesehen werden. Ferner kann die Steuervorrichtung 1 als Computer wie z. B. Zellcomputer, Host-Computer und Cloud-Server vorgesehen werden, der mit einer Steuervorrichtung verbunden ist, die einen Roboter über ein Netzwerk steuert. 1 veranschaulicht z. B. den Fall, dass die Steuervorrichtung 1 als Steuervorrichtung vorgesehen ist, die einen Roboter steuert.
-
Eine in der Steuervorrichtung 1 gemäß der vorliegenden Ausführungsform umfasste CPU 11 ist ein Prozessor, mit dem die Steuervorrichtung 1 gänzlich gesteuert wird. Die CPU 11 liest ein in einem ROM 12 gespeichertes Systemprogramm über einen Bus 20 aus und steuert die gesamte Steuervorrichtung 1 gemäß dem Systemprogramm. Ein RAM 13 speichert temporäre Berechnungsdaten und Anzeigedaten und diverse Typen von Daten, die von einem Benutzer z. B. über eine nicht gezeigte Eingabeeinheit eingegeben werden, temporär.
-
Ein nicht flüchtiger Speicher 14 wird z. B. von einem nicht gezeigten Akku notversorgt und somit ist der nicht flüchtige Speicher 14 als Speicher konfiguriert, dessen Speicherstatus sogar bei ausgeschalteter Steuervorrichtung 1 beibehalten wird. Der nicht flüchtige Speicher 14 speichert z. B. Steuerprogramme, die über eine Schnittstelle eingelesen werden, Steuerprogramme, die über eine Anzeige-/MID-Einheit eingegeben werden, und diverse Typen von Daten, die aus einem Roboter 2 und einem Sensor 3 erfasst werden. Die im nicht flüchtigen Speicher 14 gespeicherten Steuerprogramme können im RAM 13 entwickelt werden, wenn die Steuerprogramme verwendet werden. Ferner werden diverse Typen von Systemprogrammen, die für einen Betrieb der Steuervorrichtung 1 (darunter ein Systemprogramm zum Steuern eines Austauschs mit einer Maschinenlernvorrichtung 100) erforderlich sind, vorab in den ROM 12 geschrieben.
-
Die Steuervorrichtung 1 gibt Befehle zum Steuern z. B. eines Gelenks und einer Hand des Roboters 2 in Bezug auf den Roboter 2 über eine Schnittstelle 18 auf Basis der Steuerprogramme und dergleichen aus. Ferner erfasst die Steuervorrichtung 1 Daten aus jeder Einheit des Roboters 2 über die Schnittstelle 18.
-
Ferner erfasst die Steuervorrichtung 1 Daten, die von zumindest einem Sensor (z. B. einem Längenmesssensor zum Messen der Länge eines Greifobjekts, einer Kamera zum Aufnehmen eines Bilds des Greifobjekts und Sensoren für Umgebungstemperatur und Umgebungsfeuchtigkeit) erfasst werden, der an der Peripherie oder jeder Einheit des Roboters über eine Schnittstelle 19 angeschlossen ist.
-
Eine Schnittstelle 21 ist eine Schnittstelle zum Verbinden der Steuervorrichtung 1 mit der Maschinenlernvorrichtung 100. Die Maschinenlernvorrichtung 100 umfasst einen Prozessor 101, der die Maschinenlernvorrichtung 100 zur Gänze steuert, einen ROM 102, der Systemprogramme und dergleichen speichert, einen RAM 103, der eine temporäre Speicherung bei jeder Verarbeitung in Zusammenhang mit Maschinenlernen durchführt, und einen nicht flüchtigen Speicher 104, der zum Speichern von Lernmodellen und dergleichen verwendet wird. Die Maschinenlernvorrichtung 100 ist in der Lage, diverse Informationen (z. B. die Länge eines Greifobjekts, ein Erscheinungsbild des Greifobjekts, Umgebungstemperatur und Umgebungsfeuchtigkeit) zu beobachten, die von der Steuervorrichtung 1 über die Schnittstelle 21 erfasst werden können. Ferner steuert die Steuervorrichtung 1 die Greifbreite der Hand, die eingestellt wird, wenn der Roboter 2 ein Greifobjekt greift, z. B. auf Basis eines von der Maschinenlernvorrichtung 100 ausgegebenen Werts.
-
2 ist ein Funktionsblockschaubild, das die Steuervorrichtung 1 und die Maschinenlernvorrichtung 100 gemäß der ersten Ausführungsform schematisch veranschaulicht. Funktionsblöcke, die in 2 veranschaulicht sind, werden umgesetzt, wenn die in der Steuervorrichtung 1 umfasste CPU 11 und der Prozessor 101 der Maschinenlernvorrichtung 100, die in 1 veranschaulicht sind, jeweilige Systemprogramme ausführen und jeweils einen Betrieb jeder Einheit der Steuervorrichtung 1 und der Maschinenlernvorrichtung 100 steuern.
-
Die Steuervorrichtung 1 gemäß der vorliegenden Ausführungsform umfasst eine Steuereinheit 34, die den Roboter 2 auf Basis der Steuerprogramme, die im nicht flüchtigen Speicher 14 gespeichert sind, und eines von der Maschinenlernvorrichtung 100 ausgegebenen Schätzungsergebnisses zur Greifbreite der Hand, die eingestellt wird, wenn der Roboter 2 ein Greifobjekt greift, steuert.
-
Unterdessen umfasst die in der Steuervorrichtung 1 umfasste Maschinenlernvorrichtung 100 Software (z. B. einen Lernalgorithmus) und Hardware (z. B. den Prozessor 101), mit denen die Maschinenlernvorrichtung 100 selbst eine Schätzung in Bezug auf die Breite der Hand des Roboters 2 beim Greifen eines Greifobjekts, was die Form des Greifobjekts betrifft, durch sogenanntes Maschinenlernen lernt. Was die in der Steuervorrichtung 1 umfasste Maschinenlernvorrichtung 100 lernt, entspricht einer Modellstruktur, die eine Korrelation zwischen einer Form eines Greifobjekts und der Greifbreite der Hand des Roboters 2 beim Greifen des Greifobjekts darstellt.
-
Wie im Funktionsblock von 2 veranschaulicht, umfasst die in der Steuervorrichtung 1 umfasste Maschinenlernvorrichtung 100 eine Statusbeobachtungseinheit 106, eine Kennzeichnungsdatenerfassungseinheit 108, eine Lerneinheit 110 und eine Schätzungsergebnisausgabeeinheit 122. Die Statusbeobachtungseinheit 106 beobachtet Greifobjektformdaten S1, die eine Form eines Greifobjekts darstellen, als eine von Statusvariablen S, die aktuelle Status einer Umgebung darstellen. Die Kennzeichnungsdatenerfassungseinheit 108 erfasst Kennzeichnungsdaten L, die Greifbreitendaten L1 umfassen, die die Greifbreite der Hand des Roboters 2 beim Greifen eines Greifobjekts darstellen. Die Lerneinheit 110 führt ein Lernen auf Basis der Statusvariablen S und der Kennzeichnungsdaten L so durch, dass die Form eines Greifobjekts mit der Greifbreite der Hand des Roboters 2 beim Greifen des Greifobjekts assoziiert wird. Die Schätzungsergebnisausgabeeinheit 122 gibt die Greifbreite der Hand des Roboters 2 beim Greifen eines Greifobjekts, die auf Basis der Form eines Greifobjekts unter Verwendung eines durch die Lerneinheit 110 erhaltenen gelernten Modells geschätzt wird, aus.
-
Die Statusbeobachtungseinheit 106 erfasst die Greifobjektformdaten S1 als Statusvariable S vom Sensor 3 beim Lernen durch die Lerneinheit 110. Ferner erfasst die Statusbeobachtungseinheit 106 die Greifobjektformdaten S1 als Statusvariable S aus dem Sensor 3, wenn die Breite der Hand des Roboters 2 beim Greifen eines Greifobjekts unter Verwendung eines Lernergebnisses der Lerneinheit 110 geschätzt wird. Jedenfalls kann die Statusbeobachtungseinheit 106 Daten z. B. über den nicht flüchtigen Speicher 14 der Steuervorrichtung 1 erfassen, anstatt die Daten direkt aus dem Sensor 3 zu erfassen.
-
Unter den Statusvariablen S, die von der Statusbeobachtungseinheit 106 beobachtet werden, kann z. B. die Länge (laterale Breite) eines Greifobjekts auf einer Greifposition des Roboters in der einfachsten Konfiguration als Greifobjektformdaten S1 verwendet werden. Die Länge eines Greifobjekts auf einer Greifposition des Roboters kann z. B. als Wert, der von einem Längenmesssensor erfasst wird, der auf dem Roboter 2 oder an einer nahgelegenen Position des Roboters 2 angebracht ist, und als Wert, der durch Analysieren eines Bilds erhalten wird, das von einer Kamera aufgenommen wird, die auf dem Roboter 2 oder in einer nahegelegenen Position des Roboters 2 angebracht ist, erfasst werden. Ferner können Daten wie z. B. die Höhe eines Greifobjekts und ein Bild des Greifobjekts, das von einer Kamera aufgenommen wird, die auf dem Roboter 2 oder in einer nahegelegenen Position des Roboters 2 angebracht ist, als Greifobjektformdaten S1 verwendet werden.
-
Die Kennzeichnungsdatenerfassungseinheit 108 erfasst die Greifbreitendaten L1, die mit der Greifbreite der Hand des Roboters 2 beim Greifen eines Greifobjekts in Zusammenhang stehen, als Kennzeichnungsdaten L aus dem Roboter 2 beim Lernen durch die Lerneinheit 110. Hier kann die Kennzeichnungsdatenerfassungseinheit 108 Daten z. B. über den nicht flüchtigen Speicher 14 der Steuervorrichtung 1 erfassen, anstatt die Daten direkt aus dem Roboter 2 zu erfassen. Daten zur Greifbreite der Hand des Roboters 2, die z. B. eingestellt wird, wenn ein Greifen des Greifobjekts durch den Roboter 2 erfolgreich ist, können als Greifbreitendaten L1 verwendet werden. Ob ein Greifen eines Greifobjekts durch den Roboter 2 erfolgreich ist oder fehlschlägt, kann von einem Benutzer durch eine nicht veranschaulichte Eingabevorrichtung eingegeben werden, kann durch Analysieren eines Bilds automatisch ermittelt werden, das von einer Kamera aufgenommen wird, die auf dem Roboter 2 oder in einer nahegelegenen Position des Roboters 2 angebracht ist, oder kann auf Basis eines Werts ermittelt werden, der von einem Sensor erfasst wird, der in einer Platzierungsposition für das Greifobjekt installiert ist. Man beachte, dass die Kennzeichnungsdatenerfassungseinheit 108 beim Lernen durch die Lerneinheit 110 verwendet wird und nicht notwendigerweise als Komponente der Maschinenlernvorrichtung 100 erforderlich ist, nachdem das Lernen durch die Lerneinheit 110 abgeschlossen ist.
-
Die Lerneinheit 110 lernt die Kennzeichnungsdaten L (die Greifbreitendaten L1, die die Breite der Hand des Roboters 2 beim Greifen eines Objekts darstellen) in Bezug auf die Statusvariable S (die Greifobjektformdaten S1, die die Form des Greifobjekts darstellen) gemäß willkürlichen Lernalgorithmen, was gesammelt als Maschinenlernen bezeichnet wird. Die Lerneinheit 110 ist z. B. in der Lage, eine Korrelation zwischen den Greifobjektformdaten S1, die in der Statusvariable S umfasst sind, und den Greifbreitendaten L1, die in den Kennzeichnungsdaten L umfasst sind, zu lernen. Die Lerneinheit 110 ist in der Lage, ein Lernen auf Basis eines Datensatzes, der die Statusvariablen S und die Kennzeichnungsdaten L umfasst, wiederholt durchzuführen.
-
Es ist wünschenswert, dass die Lerneinheit 110 eine Mehrzahl von Lernzyklen auf Basis von Daten, die jeweils für eine Mehrzahl von Robotern 2 erhalten werden, beim Lernen ausführt. Durch Wiederholen eines solchen Lernzyklus interpretiert die Lerneinheit 110 die Korrelation zwischen der Form eines Greifobjekts (den Greifobjektformdaten S1) und der Breite der Hand des Roboters 2 beim Greifen des Greifobjekts (den Greifbreitendaten L1) automatisch. Auch wenn die Korrelation der Greifbreitendaten L1 in Bezug auf die Greifobjektformdaten S1 zu Beginn des Lernalgorithmus im Wesentlichen unbekannt ist, interpretiert die Lerneinheit 110 eine Beziehung der Greifbreitendaten L1 in Bezug auf die Greifobjektformdaten S1 schrittweise, während die Lerneinheit 110 mit dem Lernen fortfährt. Wurde das gelernte Modell folglich erhalten, so kann die Lerneinheit 110 die Korrelation der Greifbreitendaten L1 in Bezug auf die Greifobjektformdaten S1 interpretieren.
-
Die Schätzungsergebnisausgabeeinheit 122 schätzt die Greifbreite der Hand des Roboters 2 beim Greifen eines Greifobjekts anhand der Form des Greifobjekts auf Basis eines Ergebnisses, das durch Lernen durch die Lerneinheit 110 erhalten wird (gelerntes Modell), und gibt die geschätzte Breite der Hand des Roboters 2 beim Greifen des Greifobjekts aus. Mehr im Detail stellen die Greifbreitendaten L1, die sich auf die Breite der Hand des Roboters 2 beim Greifen eines Greifobjekts beziehen, die von der Lerneinheit 110 so gelernt werden, dass sie mit den Greifobjektformdaten S1 assoziiert werden, die die Form eines Greifobjekts darstellen, die Breite der Hand dar, die dem Roboter 2 durch die Steuereinheit 34 anzuweisen ist, wenn der Roboter 2 veranlasst wird, das Greifobjekt zu greifen, und dieser Wert wird in einer Schätzung unter Verwendung eines durch die Lerneinheit 110 erhaltenen gelernten Modells ausgegeben.
-
Erfindungsgemäß beobachtet die Statusbeobachtungseinheit 106 periphere Statusdaten S2, die einen peripheren Status des Roboters 2 darstellen, als Statusvariable S, zusätzlich zu den Greifobjektformdaten S1. Als periphere Statusdaten S2 ist z. B. eine Umgebungstemperatur des Roboters 2 beispielhaft zu nennen. Ferner ist eine Umgebungsfeuchtigkeit des Roboters 2 ein weiteres Beispiel für die peripheren Statusdaten S2.
-
Somit ist die Maschinenlernvorrichtung 100 in der Lage, ein Lernen so durchzuführen, dass die Greifobjektformdaten S1 und die peripheren Statusdaten S2 mit den Greifbreitendaten L1 assoziiert werden. Aus diesem Grund kann die Maschinenlernvorrichtung 100 die korrekte Greifbreite der Hand des Roboters 2 äußerst genau lernen und eine Abweichung dieser äußerst genau schätzen, wenn der Roboter 2 veranlasst wird, ein Greifobjekt zu greifen, dessen Weichheit und dergleichen sich je nach Umgebungstemperatur ändern (z. B. Reisgebäck), und ein Greifobjekt zu greifen, dessen Weichheit, Reibung der Oberfläche und dergleichen sich je nach Umgebungsfeuchtigkeit ändern (z. B. Brandteigkrapfen).
-
Als eine Modifikation der in der Steuervorrichtung 1 umfassten Maschinenlernvorrichtung 100 kann die Statusbeobachtungseinheit 106 Typdaten S3, die einen Typ eines Greifobjekts darstellen, als Statusvariable S beobachten, zusätzlich zu den Greifobjektformdaten S1.
-
Gemäß der oben erwähnten Modifikation ist die Maschinenlernvorrichtung 100 in der Lage, ein Lernen so durchzuführen, dass die Greifobjektformdaten S1 und die Typdaten S3 mit den Greifbreitendaten L1 assoziiert werden, so dass die Maschinenlernvorrichtung 100 die korrekte Breite der Hand des Roboters 2, die je nach einer Änderung des Typs variiert, äußerst genau lernen und eine Abweichung dieser äußerst genau schätzen kann.
-
Bei der Maschinenlernvorrichtung 100 mit der oben beschriebenen Konfiguration unterliegt ein von der Lerneinheit 110 ausgeführter Lernalgorithmus keinen besonderen Beschränkungen, sondern kann ein bekannter Lernalgorithmus als Maschinenlernen verwendet werden. 3 veranschaulicht einen weiteren Aspekt der in 2 veranschaulichten Steuervorrichtung 1 mit der Konfiguration, die die Lerneinheit 110 umfasst, die ein überwachtes Lernen durchführt, als weiteres Beispiel für den Lernalgorithmus. Das überwachte Lernen ist ein Verfahren, bei dem bekannte Datensätze, die Eingaben und Ausgaben umfassen, die jeweils dieses Eingaben entsprechen (als Lehrerdaten bezeichnet), bereitgestellt werden und ein Merkmal, das eine Korrelation zwischen einer Eingabe und einer Ausgabe indiziert, auf Basis dieser Lehrerdaten identifiziert wird, um ein Korrelationsmodell zu lernen, das zum Schätzen einer erforderlichen Ausgabe in Bezug auf eine neue Eingabe verwendet wird.
-
Bei der Maschinenlernvorrichtung 100, die in der Steuervorrichtung 1 umfasst ist, die in 3 veranschaulicht ist, umfasst die Lerneinheit 110 eine Fehlerberechnungseinheit 112 und eine Modellaktualisierungseinheit 114. Die Fehlerberechnungseinheit 112 berechnet einen Fehler E zwischen einem Korrelationsmodell M, das zum Schätzen der Greifbreite der Hand des Roboters 2 beim Greifen eines Greifobjekts auf Basis der Form des Greifobjekts verwendet wird, und einem Korrelationsmerkmal, das anhand von Lehrerdaten T identifiziert wird. Die Lehrerdaten T werden aus Daten zu Formen von Greifobjekten, die bisher erfasst wurden, und tatsächlichen Ergebnissen der Breite der Hand des Roboters 2 beim Greifen von Greifobjekten erhalten. Die Modellaktualisierungseinheit 114 aktualisiert das Korrelationsmodell M, so dass der Fehler E verringert wird. Die Lerneinheit 110 lernt eine Schätzung für die Breite der Hand des Roboters 2 beim Greifen eines Greifobjekts auf Basis der Form des Greifobjekts durch wiederholtes Aktualisieren des Korrelationsmodells M durch die Modellaktualisierungseinheit 114.
-
Ein Ausgangswert des Korrelationsmodells M wird z. B. durch Vereinfachen einer Korrelation zwischen der Statusvariable S und den Kennzeichnungsdaten L (z. B. durch die Funktion N-ten Grades) dargestellt und vor Start des überwachten Lernens an die Lerneinheit 110 bereitgestellt. Bei der vorliegenden Erfindung können Daten von Formen von Greifobjekten, die bisher erfasst wurden, und Daten zur tatsächlichen Breite der Hand des Roboters 2 beim Greifen von Greifobjekten als Lehrerdaten T verwendet werden, wie oben beschrieben, und werden die Lehrerdaten T nach Bedarf während des Betriebs der Steuervorgang 1 an die Lerneinheit 110 bereitgestellt. Die Fehlerberechnungseinheit 112 identifiziert ein Korrelationsmerkmal, das eine Korrelation zwischen einer Form eines Greifobjekts und der Breite der Hand des Roboters 2 beim Greifen des Greifobjekts indiziert, auf Basis der Lehrerdaten T, die nach Bedarf an die Lerneinheit 110 bereitgestellt werden, und erhält den Fehler E zwischen diesem Korrelationsmerkmal und dem Korrelationsmodell M, den Statusvariablen S und den Kennzeichnungsdaten L im aktuellen Status entsprechend. Die Modellaktualisierungseinheit 114 aktualisiert das Korrelationsmodell M z. B. gemäß vordefinierten Aktualisierungsregeln, so dass der Fehler E verringert wird.
-
Im folgenden Lernzyklus schätzt die Fehlerberechnungseinheit 112 die Breite der Hand des Roboters 2 beim Greifen eines Greifobjekts unter Verwendung der Statusvariablen S gemäß dem aktualisierten Korrelationsmodell M und erhält den Fehler E zwischen dem Ergebnis der Schätzung und den Kennzeichnungsdaten L, die tatsächlich erfasst werden, und aktualisiert die Modellaktualisierungseinheit 114 das Korrelationsmodell M erneut. Somit wird eine unbekannte Korrelation zwischen einem aktuellen Status einer Umgebung und einer Schätzung, die dem Status entspricht, schrittweise ersichtlich.
-
Wenn das oben beschriebene überwachte Lernen fortgeschritten ist, kann ein neuronales Netzwerk verwendet werden.
-
4A veranschaulicht ein Modell eines Neurons schematisch. 4B veranschaulicht ein Modell eines dreischichtigen neuronalen Netzwerks, das durch Kombinieren der in 4A veranschaulichten Neuronen konfiguriert wird, schematisch. Das neuronale Netzwerk kann aus arithmetischen Vorrichtungen, Speichervorrichtungen oder dergleichen zusammengesetzt sein, z. B. zur Nachahmung des Neuronenmodells.
-
Das in
4A veranschaulichte Neuron gibt ein Ergebnis y in Bezug auf eine Mehrzahl von Eingaben x aus (hier als Beispiel Eingabe x
1 bis Eingabe x
3). Die Eingaben x
1 bis x
3 werden jeweils mit Gewichtungen w (w
1 bis w
3) multipliziert, die diesen Eingaben x entsprechen. Demgemäß gibt das Neuron die Ausgabe y aus, die durch die nachstehende Formel 1 ausgedrückt wird. Hier sind die Eingabe x, die Ausgabe y und die Gewichtung w in Formel 1 allesamt Vektoren. Ferner bezeichnet θ eine Verzerrung und bezeichnet f
k eine Aktivierungsfunktion.
-
Bei dem dreischichtigen neuronalen Netzwerk, das in 4B veranschaulicht ist, wird eine Mehrzahl von Eingaben x (hier als Beispiel Eingabe x1 bis Eingabe x3) von der linken Seite eingegeben und werden Ergebnisse y (hier als Beispiel Ergebnis y1 bis Ergebnis y3) von der rechten Seite ausgegeben. Bei dem in 4B veranschaulichten Beispiel werden Eingaben x1, x2, x3 jeweils mit entsprechenden Gewichtungen (gesammelt als w1 bezeichnet) multipliziert und wird jede der Eingaben x1, x2, x3 in drei Neuronen N11, N12, N13 eingegeben.
-
In 4B wird eine Ausgabe jedes der Neuronen N11, N12, N13 gesammelt als z1 bezeichnet. z1 kann als Merkmalsvektor angesehen werden, der durch Extrahieren eines Merkmalsbetrags eines Eingabevektors erhalten wird. Bei dem in 4B veranschaulichten Beispiel werden Merkmalsvektoren z1 jeweils mit entsprechenden Gewichtungen (gesammelt als w2 bezeichnet) multipliziert und wird jeder der Merkmalsvektoren z1 in zwei Neuronen N21, N22 eingegeben. Der Merkmalsvektor z1 stellt ein Merkmal zwischen Gewichtung w1 und Gewichtung w2 dar.
-
In 4B wird eine Ausgabe jedes der Neuronen N21, N22 gesammelt als z2 bezeichnet. z2 kann als Merkmalsvektor angesehen werden, der durch Extrahieren eines Merkmalsbetrags eines Merkmalsvektors z1 erhalten wird. Bei dem in 4B veranschaulichten Beispiel werden Merkmalsvektoren z2 jeweils mit entsprechenden Gewichtungen (gesammelt als w3 bezeichnet) multipliziert und wird jeder der Merkmalsvektoren z2 in drei Neuronen N31, N32, N33 eingegeben. Der Merkmalsvektor z2 stellt ein Merkmal zwischen Gewichtung w2 und Gewichtung w3 dar. Schließlich geben Neuronen N31 bis N33 jeweils Ergebnisse y1 bis y3 aus.
-
Hier kann auch das Verfahren des sogenannten tiefen Lernens herangezogen werden, bei dem ein neuronales Netzwerk mit drei oder mehr Schichten verwendet wird.
-
Bei der in der Steuervorrichtung 1 umfassten Maschinenlernvorrichtung 100 führt die Lernvorrichtung 110 eine Berechnung der mehrschichtigen Struktur gemäß dem oben beschriebenen neuronalen Netzwerk unter Verwendung der Statusvariable S als Eingabe x durch, wobei sie in der Lage ist, die Breite (Ausgabe y) der Hand des Roboters 2 beim Greifen eines Greifobjekts auf Basis des Werts (Eingabe x) der Form des Greifobjekts zu schätzen. Hier umfassen Betriebsmodi des neuronalen Netzwerks einen Lernmodus und einen Wertprognosemodus. Beispielsweise kann eine Gewichtung w unter Verwendung eines Lerndatensatzes im Lernmodus gelernt werden und kann eine Wertermittlung einer Aktion unter Verwendung der gelernten Gewichtung w im Wertprognosemodus durchgeführt werden.
-
Im Wertprognosemodus können hier ebenfalls eine Erfassung, eine Klassifizierung, eine Folgerung und dergleichen durchgeführt werden.
-
Die oben beschriebene Konfiguration der Maschinenlernvorrichtung 100 kann als Maschinenlernverfahren (oder -software) beschrieben werden, das (die) jeweils vom Prozessor 101 durchgeführt (ausgeführt) wird. Dieses Maschinenlernverfahren ist ein Maschinenlernverfahren zum Lernen einer Schätzung in Bezug auf die Breite der Hand des Roboters 2 beim Greifen eines Greifobjekts auf Basis der Form des Greifobjekts. Das Maschinenlernverfahren umfasst einen Schritt, bei dem der Prozessor 101 die Form des Greifobjekts (die Greifobjektformdaten S1) als Statusvariable S beobachtet, die einen aktuellen Status darstellt, einen Schritt, bei dem der Prozessor 101 die Breite der Hand des Roboters 2 beim Greifen des Greifobjekts (die Greifbreitendaten L1) als Kennzeichnungsdaten L erfasst, und einen Schritt, bei dem der Prozessor 101 ein Lernen unter Verwendung der Statusvariable S und der Kennzeichnungsdaten L so durchführt, dass die Greifobjektformdaten S1 mit der Breite der Hand des Roboters 2 beim Greifen des Greifobjekts assoziiert werden.
-
Ein gelerntes Modell, das durch Lernen durch die Lerneinheit 110 der Maschinenlernvorrichtung 100 erhalten wird, ist als Programmmodul anwendbar, das Teil von maschinenlernbezogener Software ist. Das gelernte Modell gemäß der vorliegenden Erfindung kann auf einem Computer verwendet werden, der mit einem Prozessor wie z. B. einer CPU und einer GPU und einem Speicher versehen ist. Mehr im Detail arbeitet der Prozessor des Computers so, dass er eine Berechnung unter Verwendung einer Form eines Greifobjekts als Eingabe gemäß einem Befehl aus dem gelernten Modell durchführt, das im Speicher gespeichert ist, und ein Schätzungsergebnis der Breite der Hand des Roboters 2 beim Greifen des Greifobjekts auf Basis des Berechnungsergebnisses ausgibt. Das gelernte Modell gemäß der vorliegenden Erfindung kann so verwendet werden, dass es z. B. über ein externes Speichermedium und ein Netzwerk auf andere Computer kopiert wird.
-
Ferner kann, wenn das gelernte Modell gemäß der vorliegenden Erfindung auf andere Computer kopiert wird, um in einer neuen Umgebung verwendet zu werden, zusätzliches Lernen in Hinblick auf das gelernte Modell auf Basis neuer Statusvariablen und neuer Kennzeichnungsdaten, die in dieser neuen Umgebung erhalten werden, durchgeführt werden. In einem solchen Fall kann ein gelerntes Modell erhalten werden, das vom gelernten Modell in dieser Umgebung abgeleitet wird (nachstehend auch als abgeleitetes Modell bezeichnet). Das abgeleitete Modell gemäß der vorliegenden Erfindung ist dahingehend das gleiche wie das ursprüngliche gelernte Modell, dass das abgeleitete Modell zum Ausgeben eines Schätzungswerts für die Greifbreite der Hand des Roboters 2 beim Greifen eines Greifobjekts auf Basis der Form des Greifobjekts verwendet wird. Das abgeleitete Modell unterscheidet sich jedoch dahingehend vom ursprünglichen gelernten Modell, dass das abgeleitete Modell zum Ausgeben eines Ergebnisses verwendet wird, das an eine neuere Umgebung als jene des ursprünglichen gelernten Modells angepasst ist. Dieses abgeleitete Modell kann auch so verwendet werden, dass es z. B. über ein externes Speichermedium und ein Netzwerk auf andere Computer kopiert wird.
-
Ferner ist es möglich, ein gelerntes Modell zu erstellen und zu verwenden, das durch Durchführen eines Lernens von Beginn weg in einer anderen Maschinenlernvorrichtung (nachstehend als destilliertes Modell bezeichnet) unter Verwendung einer Ausgabe erhalten wird, die in Bezug auf eine Eingabe in die Maschinenlernvorrichtung erhalten wird, in die das gelernte Modell gemäß der vorliegenden Erfindung integriert ist (ein solcher Lernprozess wird als Destillation bezeichnet). Bei der Destillation wird ein ursprüngliches gelerntes Modell auch als Lehrermodell bezeichnet und wird ein neu erstelltes destilliertes Modell auch als Studentenmodell bezeichnet. Im Allgemeinen ist ein destilliertes Modell für eine Verteilung auf andere Computer z. B. über ein externes Speichermedium und ein Netzwerk besser geeignet, da das destillierte Modell kleiner als das ursprüngliche gelernte Modell ist und eine Genauigkeit aufweist, die zu jener des ursprünglichen gelernten Modells äquivalent ist.
-
5 veranschaulicht ein System 170 gemäß einer Ausführungsform, die die Steuervorrichtung 1 umfasst. Das System 170 umfasst zumindest eine Steuervorrichtung 1 (die mit der Maschinenlernvorrichtung 100 versehen ist), die mit einem Netzwerk, Steuervorrichtungen 1' (die nicht mit der Maschinenlernvorrichtung 100 versehen sind) und einem kabelgebundenes/drahtlosen Netzwerk 172 verbunden ist, das die Steuervorrichtung 1 und die Steuervorrichtungen 1' miteinander verbindet.
-
Beim System 170 mit der oben beschriebenen Konfiguration ist die Steuervorrichtung 1, die mit der Maschinenlernvorrichtung 100 versehen ist, in der Lage, die Breite der Hand des Roboters 2 beim Greifen eines Greifobjekts in Bezug auf die Form des Greifobjekts unter der Steuerung durch jede der Steuervorrichtung 1 und der Steuervorrichtungen 1' unter Verwendung eines Lernergebnisses der Lerneinheit 110 automatisch und genau zu schätzen. Ferner kann das System 170 so konfiguriert sein, dass die Maschinenlernvorrichtung 100 der Steuervorrichtung 1 eine Schätzung in Bezug auf die Breite der Hand des Roboters 2 beim Greifen eines Greifobjekts, wie für Steuervorrichtung 1 und die Steuervorrichtungen 1' allesamt gemein, auf Basis der Statusvariablen S und der Kennzeichnungsdaten L lernt, die von jeder der Mehrzahl von Steuervorrichtungen 1 und 1' erhalten werden, und das Lernergebnis bei der Steuerung aller Roboter 2 verwendet wird. Gemäß dem System 170 können Geschwindigkeit und Zuverlässigkeit beim Lernen zum Schätzen der Greifbreite der Hand des Roboters 2 beim Greifen eines Greifobjekts unter Verwendung diverserer Datensätze (darunter die Statusvariablen S und die Kennzeichnungsdaten L) als Eingaben verbessert werden.
-
Die Ausführungsform der vorliegenden Erfindung wurde oben beschrieben, die vorliegende Erfindung kann jedoch unter diversen Aspekten durch Vornehmen beliebiger Änderungen umgesetzt werden, ohne dabei nur auf die Beispiele der oben beschriebenen Ausführungsform beschränkt zu sein.
-
Beispielsweise sind der Lernalgorithmus und der Berechnungsalgorithmus, die von der Maschinenlernvorrichtung 100 ausgeführt werden, der Algorithmus, der von der Steuervorrichtung 1 ausgeführt wird, und dergleichen nicht auf die oben erwähnten Algorithmen beschränkt, sondern diverse Algorithmen können verwendet werden.
-
Die oben beschriebene Ausführungsform umfasst die Beschreibung, dass die Steuervorrichtung 1 und die Maschinenlernvorrichtung 100 Vorrichtungen sind, die CPUs umfassen, die sich voneinander unterscheiden, die Maschinenlernvorrichtung 100 kann jedoch durch die CPU 11, die in der Steuervorrichtung 1 umfasst ist, und das Systemprogramm, das im ROM 12 gespeichert ist, umgesetzt werden.