-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine maschinelle Lernvorrichtung, ein Robotersystem und ein maschinelles Lernverfahren zum Lernen des Betriebs eines Roboters und eines Laserscanners.
-
Beschreibung der verwandten Technik
-
In den letzten Jahren hat beispielsweise zum Schweißen einer Fahrzeugkarosserie eines Kraftfahrzeugs ein ferngesteuerter Laserschweißroboter (ein Robotersystem), der das Laserschweißen unter Verwendung eines Laserscanners, der an einem Spitzenende (einem Handabschnitt) des Roboters montiert ist, ausführt, Interesse geweckt und wurde in die Praxis umgesetzt. Dabei ist der Laserscanner eine Laseroptik und eine Vorrichtung zum Bewegen eines Laserstrahls durch Betätigen mindestens eines Spiegels (z.B. zwei Spiegel in einer XY-Richtung: optische Bauteile) oder eines optischen Bauteils, wie etwa einer Linse oder einer Glasplatte. Von diesen wird eine Vorrichtung, die eine Laseroptik ist und einen Laserstrahl bewegt, indem sie mindestens einen Spiegel betätigt (z.B. zwei Spiegel in der XY-Richtung), im Allgemeinen als Galvanometer-Scanner bezeichnet. Es ist zu beachten, dass in der vorliegenden Beschreibung hauptsächlich ein Galvanometer-Scanner beschrieben wird, bei dem es sich um ein Beispiel eines Laserscanners handelt, doch dass die vorliegende Erfindung ohne Einschränkung auf einen Galvanometer-Scanner anwendbar ist und weitgehend im Allgemeinen auf einen Laserscanner, wie etwa einen Kernbohrkopf und einen Polygon-Scanner, anwendbar ist.
-
Im Übrigen offenbart bisher beispielsweise das
japanische Patent Nr. 4922584 ein Robotersystem, an dem ein Werkzeug, das mit einer Antriebsachse versehen ist, montiert ist, und das eine Bearbeitung unter Verwendung eines Lasers ausführt, bei der ein Roboter auf einer eingelernten Bahn fährt und die Antriebsachse des Werkzeugs derart gesteuert wird, dass sie einen Laserstrahl über eine Bearbeitungsbahn bewegt, die von einem Manipulator erwünscht ist. Ein derartiges Robotersystem umfasst eine Roboterachsen-Recheneinheit, die eine Position und Lage eines Steuerpunkts des Roboters, der an dem Werkzeug eingestellt wird, berechnet, und eine Werkzeugachsen-Recheneinheit, die einen Fahrbefehl, der an die Antriebsachse des Werkzeugs zu senden ist, durch Berechnen aus der Position und Lage des Steuerpunkts des Roboters, wie er durch die Roboterachsen-Recheneinheit berechnet wird, und einer Fokusposition des Laserstrahls, wie sie im Voraus eingestellt wird, bestimmt.
-
Ferner offenbart bisher beispielsweise das
japanische Patent Nr. 4792901 eine Laserschweißvorrichtung, die in der Lage ist, einen Laserstrahl genau auf eine vorbestimmte Laserbestrahlungsposition zu strahlen. Eine derartige Laserschweißvorrichtung umfasst einen Roboter, einen Teilabschnitt zum Emittieren von Laserstrahlen, der an dem Roboter montiert ist und einen Laserstrahl emittiert (ausstrahlt), einen Messteilabschnitt, der eine aktuelle Position des Roboters misst, und einen Steuerteilabschnitt, der eine Richtung eines Laserstrahls, der von dem Laseremissionsteilabschnitt emittiert wird, basierend auf der gemessenen aktuellen Position des Roboters steuert, so dass eine Laserbestrahlungsposition einer vorbestimmten Bestrahlungsposition entspricht.
-
Wie zuvor beschrieben, wurden bisher das Robotersystem, bei dem der Roboter auf einer eingelernten Bahn fährt und die Antriebsachse des Werkzeugs gesteuert wird, um einen Laserstrahl über eine Bearbeitungsbahn, die von einem Manipulator erwünscht ist, zu bewegen, und die Laserschweißvorrichtung, die in der Lage ist, einen Laserstrahl genau auf eine vorbestimmte Laserbestrahlungsposition zu strahlen, vorgeschlagen. Ein derartiges Robotersystem und eine derartige Laserschweißvorrichtung sind jedoch nicht dazu gedacht, den Betrieb des Roboters und des Werkzeugs (des Laseremissionsteilabschnitts) basierend auf den Merkmalen des Roboters und den Merkmalen des Werkzeugs (des Laseremissionsteilabschnitts) zu optimieren.
-
Ferner wurde, wie zuvor beschrieben, in den letzten Jahren das ferngesteuerte Laserschweißrobotersystem, welches das Laserschweißen unter Verwendung des Galvanometer-Scanners (eines Laserscanners), der an dem Spitzenende des Roboters montiert ist, ausführt, in die Praxis umgesetzt. Beim Betrieb des Galvanometer-Scanners kann beispielsweise ein ausgestrahlter Laserstrahl hoch genau mit einer hohen Geschwindigkeit bewegt werden, wohingegen eine Fläche (ein Bereich), auf der ein Laserstrahl bewegt werden kann, nicht so groß ist. Dagegen sind beim Betrieb des Roboters (des Spitzenendes des Roboters) eine Genauigkeit und eine Geschwindigkeit im Vergleich zum Bewegen eines Laserstrahls durch den Galvanometer-Scanner geringer, wohingegen eine Fläche, an der eine Bewegung möglich ist, groß genug ist.
-
Dann kann bei dem ferngesteuerten Robotersystem zum Laserschweißen, wenn beispielsweise eine Bearbeitungsbahn (eine Führungsbahn) zum Schweißen eingestellt wird, eine Konfiguration derart sein, dass eine Person (ein Bediener oder ein Benutzer) die Merkmale des Betriebs des Roboters und des Galvanometer-Scanners berücksichtigt, um den Betrieb des Roboters und des Galvanometer-Scanners zu optimieren. Das Ausführen einer derartigen Optimierung des Betriebs des Roboters und des Galvanometer-Scanners (Einlernen des Betriebs oder Erstellen eines Programms) durch eine Person ist jedoch schwierig.
-
Es ist zu beachten, dass in der vorliegenden Beschreibung ein ferngesteuertes Robotersystem zum Laserschweißen, welches das Schweißen durch Bewegen eines Laserstrahls in zwei Dimensionen (2D) in einer XY-Richtung ausführt, als Beispiel beschrieben wird, doch das Robotersystem der vorliegenden Erfindung nicht nur auf ein Robotersystem anwendbar ist, das Laserschweißen ausführt, sondern beispielsweise auch auf solche, die diverse Vorgänge, wie etwa Laserschneiden, Laserlochstechen, Metallbearbeitung, Laserharzschweißen, Harzbearbeitung, Oberflächenbearbeitung und Oberflächenmodifikation, ausführen, anwendbar ist. Zudem ist der Galvanometer-Scanner nicht auf einen solchen eingeschränkt, der einen Laserstrahl in zwei Dimensionen in der XY-Richtung bewegt, sondern kann beispielsweise ein solcher sein, der ihn in drei Dimensionen (3D) bewegt, wobei eine Z-Richtung durch einen Fokussteuermechanismus hinzugefügt wird, und ferner eine Art von Laserstrahl, zunächst ein Faserlaser und ein Kohlendioxid- (CO2) Laser, ein Yttrium-Aluminium-Garnet- (YAG) Laser und dergleichen, verwendet werden kann.
-
Angesichts des Problems aus dem Stand der Technik, wie zuvor beschrieben, besteht eine Aufgabe der vorliegenden Erfindung darin, eine maschinelle Lernvorrichtung, ein Robotersystem und ein maschinelles Lernverfahren, die in der Lage sind, den Betrieb eines Roboters und eines Laserscanners zu optimieren, bereitzustellen.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Gemäß einem ersten Aspekt der vorliegenden Erfindung wird eine maschinelle Lernvorrichtung zum Lernen des Betriebs eines Roboters und eines Laserscanners, die eine Zustandsbeobachtungseinheit umfasst, die einen Zustand eines Spitzenendes des Roboters, an dem der Laserscanner montiert ist, und einen Zustand eines optischen Bauteils in dem Laserscanner als Zustandsdaten beobachtet; eine Einheit zum Erzielen von Bestimmungsdaten, die mindestens eines von einer Bearbeitungszeit des Roboters, an dem der Laserscanner montiert ist, einem Antriebsstrom, der den Roboter antreibt, einer Führungsbahn des Laserscanners, einer Durchgangszeit über eine verarbeitungsfähige Fläche, an welcher der Laserscanner eine Verarbeitung ausführt, und einem Abstand zwischen dem Roboter und einem Teil, an dem der Laserscanner eine Verarbeitung ausführt, als Bestimmungsdaten empfängt; und eine Lerneinheit, die den Betrieb des Roboters und des Laserscanners basierend auf einer Ausgabe der Zustandsbeobachtungseinheit und einer Ausgabe der Einheit zum Erzielen von Bestimmungsdaten bestimmt, bereitgestellt.
-
Die Zustandsbeobachtungseinheit kann eine Position, eine Geschwindigkeit und eine Beschleunigung des Spitzenendes des Roboters, an dem der Laserscanner montiert ist, beobachten. Die Zustandsbeobachtungseinheit kann eine Position, eine Geschwindigkeit und eine Beschleunigung des optischen Bauteils in dem Laserscanner beobachten. Die maschinelle Lernvorrichtung kann ferner eine Entscheidungseinheit umfassen, die eine Aktion, die an den Roboter und den Laserscanner ausgegeben wird, basierend auf dem Betrieb des Roboters und des Laserscanners, wie er durch die Lerneinheit erlernt wird, bestimmt.
-
Die Lerneinheit kann eine Belohnungsberechnungseinheit, die basierend auf einer Ausgabe der Zustandsbeobachtungseinheit und einer Ausgabe der Einheit zum Erzielen von Bestimmungsdaten eine Belohnung berechnet; und eine Einheit zum Aktualisieren einer Wertfunktion, die eine Wertfunktion, die einen Wert des Betriebs des Roboters und des Laserscanners bestimmt, basierend auf der Ausgabe der Zustandsbeobachtungseinheit, der Ausgabe der Einheit zum Erzielen von Bestimmungsdaten und einer Ausgabe der Belohnungsberechnungseinheit aktualisiert, umfassen. Die Belohnungsberechnungseinheit kann eine negative Belohnung einstellen, wenn die Bearbeitungszeit des Roboters lang ist, und kann eine positive Belohnung einstellen, wenn die Bearbeitungszeit des Roboters kurz ist. Die Belohnungsberechnungseinheit kann eine negative Belohnung einstellen, wenn die Führungsbahn des Laserscanners kurz ist, und kann eine positive Belohnung einstellen, wenn die Führungsbahn des Laserscanner lang ist; oder sie kann eine negative Belohnung einstellen, wenn der Antriebsstrom, der den Roboter antreibt, hoch ist, und kann eine positive Belohnung einstellen, wenn der Antriebsstrom, der den Roboter antreibt, niedrig ist. Die Belohnungsberechnungseinheit kann eine negative Belohnung einstellen, wenn die Durchgangszeit über die verarbeitungsfähige Fläche, an welcher der Laserscanner eine Verarbeitung ausführt, kurz ist, und kann eine positive Belohnung einstellen, wenn die Durchgangszeit über die verarbeitungsfähige Fläche, an welcher der Laserscanner eine Verarbeitung ausführt, lang ist; oder sie kann eine negative Belohnung einstellen, wenn der Abstand zwischen dem Roboter und dem Teil, an dem der Laserscanner eine Verarbeitung ausführt, groß ist, und kann eine positive Belohnung einstellen, wenn der Abstand zwischen dem Roboter und dem Teil, an dem der Laserscanner eine Verarbeitung ausführt, klein ist.
-
Die maschinelle Lernvorrichtung kann ein neuronales Netzwerk umfassen. Die maschinelle Lernvorrichtung kann für jeden Roboter bereitgestellt werden, konfiguriert sein, um an mindestens eine andere maschinelle Lernvorrichtung anschließbar zu sein, und kann ein Ergebnis des maschinellen Lernens mit der mindestens einen anderen maschinellen Lernvorrichtung gegenseitig austauschen oder teilen. Die maschinelle Lernvorrichtung kann sich in einem Cloud-Server oder einem FOG-Server befinden.
-
Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird ein Robotersystem bereitgestellt, das einen Roboter-Controller, den Roboter, der durch den Roboter-Controller gesteuert wird, einen Laserscanner-Controller, den Laserscanner, der durch den Laserscanner-Controller gesteuert wird, und die maschinelle Lernvorrichtung gemäß dem zuvor beschriebenen ersten Aspekt umfasst. Der Roboter kann ein ferngesteuerter Laserschweißroboter sein, der einen Schweißvorgang unter Verwendung eines Laserstrahls ausführt, der von dem Laserscanner ausgestrahlt wird.
-
Gemäß einem dritten Aspekt der vorliegenden Erfindung wird ein maschinelles Lernverfahren zum Lernen des Betriebs eines Roboters und eines Laserscanners bereitgestellt, welches das Beobachten eines Zustand eines Spitzenendes des Roboters, an dem der Laserscanner montiert ist, und eines Zustands eines optischen Bauteils in dem Laserscanner als Zustandsdaten; das Empfangen mindestens eines von einer Bearbeitungszeit des Roboters, an dem der Laserscanner montiert ist, eines Antriebsstroms, der den Roboter antreibt, einer Führungsbahn des Laserscanners, einer Durchgangszeit über eine verarbeitungsfähige Fläche, an welcher der Laserscanner eine Verarbeitung ausführt, und einem Abstand zwischen dem Roboter und einem Teil, an dem der Laserscanner eine Verarbeitung ausführt, als Bestimmungsdaten; und das Lernen des Betriebs des Roboters und des Laserscanners basierend auf den beobachteten Zustandsdaten und den erzielten Bestimmungsdaten umfasst. Das Lernen des Betriebs des Roboters und des Laserscanners kann das Berechnen einer Belohnung basierend auf den beobachteten Zustandsdaten und den erzielten Bestimmungsdaten und das Aktualisieren einer Wertfunktion, die einen Wert des Betriebs des Roboters und des Laserscanners basierend auf den beobachteten Zustandsdaten, den erzielten Bestimmungsdaten und der berechneten Belohnung bestimmt, umfassen.
-
Figurenliste
-
Die vorliegende Erfindung wird mit Bezug auf die folgenden beiliegenden Zeichnungen besser verständlich werden. Es zeigen:
- 1 ein Blockdiagramm, das schematisch eine Ausführungsform eines Robotersystems und einer maschinellen Lernvorrichtung der vorliegenden Erfindung abbildet;
- 2 ein Blockdiagramm, das schematisch die Ausführungsform der maschinellen Lernvorrichtung der vorliegenden Erfindung abbildet;
- 3 ein Diagramm, das schematisch ein Modell für ein Neuron abbildet;
- 4 ein Diagramm, das schematisch ein dreischichtiges neuronales Netzwerk abbildet, das durch Kombinieren der Neuronen, wie in 3 abbildet, gebildet wird;
- 5 ein Ablaufschema, das ein erstes Beispiel der Verarbeitung in der maschinellen Lernvorrichtung, wie in 2 abgebildet, abbildet;
- 6 ein Ablaufschema, das ein zweites Beispiel der Verarbeitung in der maschinellen Lernvorrichtung, wie in 2 abgebildet, abbildet;
- 7 ein Ablaufschema, das ein drittes Beispiel der Verarbeitung in der maschinellen Lernvorrichtung, wie in 2 abgebildet, abbildet;
- 8 ein Ablaufschema, das ein viertes Beispiel der Verarbeitung in der maschinellen Lernvorrichtung, wie in 2 abgebildet, abbildet;
- 9 ein Ablaufschema, das ein fünftes Beispiel der Verarbeitung in der maschinellen Lernvorrichtung, wie in 2 abgebildet, abbildet;
- 10 ein Ablaufschema, das ein sechstes Beispiel der Verarbeitung in der maschinellen Lernvorrichtung, wie in 2 abgebildet, abbildet;
- 11 ein Diagramm, das schematisch ein Beispiel des Robotersystems abbildet;
- 12A und 12B Diagramme (Nr. 1) zum Abbilden einer Bearbeitungsbahn eines Galvanometer-Scanners in dem Robotersystem; und
- 13A und 13B Diagramme (Nr. 2) zum Abbilden der Bearbeitungsbahn des Galvanometer-Scanners in dem Robotersystem.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Zuerst wird ein Beispiel eines Robotersystems und seiner Probleme mit Bezug auf 11 bis 13B beschrieben, bevor eine maschinelle Lernvorrichtung, ein Robotersystem und ein maschinelles Lernverfahren der vorliegenden Erfindung ausführlich beschrieben werden. 11 ist ein Diagramm, das schematisch ein Beispiel des Robotersystems abbildet. Es ist zu beachten, dass in der folgenden Beschreibung ein Galvanometer-Scanner als Beispiel beschrieben wird, die vorliegende Erfindung jedoch ohne Einschränkung auf einen Galvanometer-Scanner anwendbar ist und natürlich weitgehend auf einen Laserscanner im Allgemeinen, wie etwa einen Kernbohrkopf und einen Polygon-Scanner, anwendbar ist.
-
Wie in 11 abgebildet, soll ein Robotersystem (ferngesteuertes Robotersystem zum Laserschweißen) 1 einen Laserschweißvorgang WL, WP1, WP2 an einem Schweißobjekt WO ausführen und umfasst beispielsweise einen Roboter 11, einen Controller (einen Roboter-Controller) 12, der den Roboter 11 steuert, und einen Galvanometer-Scanner (einen Laserscanner) 13, der an einem Spitzenende (einem Handabschnitt) des Roboters 11 montiert ist. Dabei besteht die Konfiguration darin, dass ein Galvanometer-Scanner-Controller (ein Laserscanner-Controller), der den Galvanometer-Scanner 13 steuert, in den Controller 12 integriert ist.
-
Das Schweißobjekt WO ist beispielsweise eine Fahrzeugkarosserie eines Kraftfahrzeugs, und an der Fahrzeugkarosserie WO des Kraftfahrzeugs, beispielsweise an den Schweißpunkten WP1, WP2 und einer vorbestimmten Schweißlinie (einer Bearbeitungsbahn) WL, die in einem Abstand positioniert ist, wird der Betrieb des Roboters 11 und des Galvanometer-Scanners 13 gesteuert, um einen Laserschweißvorgang auszuführen. Dabei umfasst der Galvanometer-Scanner 13 beispielsweise zwei Spiegel (optische Bauteile) in einer X-Achsenrichtung und einer Y-Achsenrichtung, die zueinander orthogonal sind, und die beiden Spiegel werden gesteuert, wodurch ein Laserstrahl, der von dem Galvanometer-Scanner 13 ausgestrahlt wird, in einem Bereich einer Fläche Rs bewegt werden kann. Ferner kann sich das Spitzenende des Roboters 11 beispielsweise in einem Bereich einer Fläche Rr bewegen.
-
Es ist zu beachten, dass der Galvanometer-Scanner 13 beispielsweise einen Laserstrahl bewegt, indem er einen Winkel der Spiegel in den X- und Y-Richtungen ändert, so dass ein Laserstrahl, der von dem Galvanometer-Scanner 13 ausgestrahlt wird, hoch genau mit einer hohen Geschwindigkeit bewegt werden kann. Es ist zu beachten, dass, weil die Fläche Rs, an welcher der Galvanometer-Scanner 13 einen Laserstrahl bewegen kann, nicht so groß ist, beispielsweise um einen Laserstrahl auf die Schweißpunkte WP1, WP2 und die Schweißlinie WL zu strahlen, der Roboter 11 betätigt wird. Da ferner der Roboter 11 (das Spitzenende des Roboters) dadurch funktioniert (fährt), dass er einen Motor regelt, der jede Achse des Roboters antreibt, sind eine Fahrgenauigkeit und eine Fahrgeschwindigkeit im Vergleich zum Bewegen eines Laserstrahls durch den Galvanometer-Scanner 13 schlechter, während die Fläche Rr, an der eine Fahrt möglich ist, groß genug ist, so dass ein Laserstrahl auf alle Schweißpunkte WP1, WP2 und die Schweißlinie WL gestrahlt werden kann.
-
12A, 12B, 13A und 13B sind Diagramme zum Abbilden einer Bearbeitungsbahn des Galvanometer-Scanners in dem Robotersystem. 12A, 12B, 13A und 13B bilden ab, dass das Schweißzielobjekt (ein zu schweißendes Werkstück) WO eine Fahrzeugkarosserie eines Kraftfahrzeugs ist und der Schweißvorgang an den Schweißpunkten (z.B. Punktschweißpunkten) WP11 bis WP16 der Fahrzeugkarosserie WO eines Kraftfahrzeugs ausgeführt wird. Dabei werden im Allgemeinen, wenn das zu schweißende Werkstück (WO) geschweißt wird, die Schweißpositionen (WP11 bis WP16) des Werkstücks in einer Konstruktionsphase bestimmt.
-
Wie in 12A abgebildet, wird beispielsweise beim Betrieb eines Punktschweißroboters oder eines Lichtbogenschweißroboters, der einen Schweißvorgang in einer festen Position an einem Schweißwerkzeug (einer Punktschweißzange und einem Schweißbrenner), das beispielsweise an dem Spitzenende des Roboters (11) montiert ist, ausführt, der Betrieb des Roboters beispielsweise derart gesteuert, dass das Spitzenende eines Schweißwerkzeugs relativ zu den Schweißpositionen WP11 bis WP166 positioniert ist oder an diesen vorbeigeht. Entsprechend ist eine Bewegungsbahn des Spitzenendes eines derartigen Punktschweißroboters oder Bogenschweißroboters relativ zu den Schweißpositionen WP11 bis WP16 sozusagen einläufig.
-
Dagegen kann, wie in 12B abgebildet, bei dem ferngesteuerten Robotersystem zum Laserschweißen 1, das den Galvanometer-Scanner 13 verwendet, der Schweißvorgang in den Schweißpositionen WP11 bis WP16 erfolgen, wobei es sich um Positionen handelt, die relativ zum Spitzenende des Roboters 11 veränderbar sind. Entsprechend kann als Bewegungsbahn des Spitzenendes (des Galvanometer-Scanners 13) des Roboters 11 eine Mehrzahl von Bahnen, wie etwa die Bewegungsbahnen ML1, ML2 von einem Schweißstartpunkt S aus, ausgelegt werden. Mit anderen Worten können bei dem ferngesteuerten Robotersystem zum Laserschweißen, das den Galvanometer-Scanner verwendet, die Schweißpositionen (WP11 bis WP16) Positionen sein, die relativ zu dem Schweißwerkzeug (dem Galvanometer-Scanner 13) veränderbar sind, so dass eine Bewegungsbahn des Spitzenendes des ferngesteuerten Schweißroboters relativ zu den Schweißpositionen WP11 bis WP16 nicht einläufig ist, was einen hohen Freiheitsgrad bereitstellt. Auf Grund des hohen Freiheitsgrads muss jedoch eine optimale Bahn des Roboters durch Ausprobieren gefunden werden, was ein schwieriger Vorgang ist.
-
In 13A und 13B geben die Bezugszeichen WA (WA11 bis WA16) Flächen (schweißbare Flächen) an, an denen der Schweißvorgang in den jeweiligen Schweißpositionen WP11 bis WP16 erfolgen kann. Um somit die Schweißpositionen WP11 bis WP16 zu schweißen, muss der Galvanometer-Scanner 13 (das Spitzenende des Roboters 11) über die schweißbaren Flächen WA11 bis WA16 gehen. Die schweißbaren Flächen WA11 bis WA16 entsprechen den Bestrahlungsflächen des Scanners (einem Laserstrahl) jeweils relativ zu den Schweißpositionen WP11 bis WP16.
-
Wie in 13B abgebildet, sind beispielsweise wenn der Galvanometer-Scanner 13 von dem Schweißstartpunkt S über die schweißbaren Flächen WA11 bis WA16 (Schweißpositionen WP11 bis WP16) einen Schweißendpunkt G erreicht, beispielsweise eine Mehrzahl von Bahnen, wie etwa die Bewegungsbahnen ML1, ML2 möglich, während beim Gehen über jede der schweißbaren Flächen WA11 bis WA16 eine Durchgangszeit (eine gebietsinterne Zeit) größer oder gleich einer Schweißvorgangszeit (z.B. einer Zeit zum Schweißen, Luftschleifen und Springen von einem vorhergehenden oder zu einem folgenden Schweißvorgang) sein soll, um einen vorbestimmten Schweißvorgang durch den Galvanometer-Scanner 13 auszuführen (gebietsinterne Zeit > Schweißvorgangszeit).
-
Somit besteht bei dem ferngesteuerten Robotersystem zum Laserschweißen (Robotersystem) 1, wenn eine Bearbeitungsbahn (eine Führungsbahn), auf der das Laserschweißen erfolgt, eingestellt wird, beispielsweise die Konfiguration darin, dass eine Person (ein Bediener oder ein Benutzer) die Merkmale des Betriebs des Roboters 11 und des Galvanometer-Scanners 13 berücksichtigt, um den Betrieb des Roboters 11 und des Galvanometer-Scanners 13 zu optimieren. Da jedoch, wie zuvor beschrieben, der Betrieb des Roboters 11 und des Galvanometer-Scanners 13 jeweils unterschiedliche Merkmale aufweist, ist das Ausführen einer derartigen Optimierung des Betriebs des Roboters 11 und des Galvanometer-Scanners 13 durch eine Person schwierig, und gewöhnlich besteht die Konfiguration beispielsweise darin, dass, ähnlich wie eine gestrichelte Linie ML in 11, das Spitzenende des Roboters 11 linear bewegt wird, und auf dem Weg einer derartigen linearen Bewegungslinie ML der Galvanometer-Scanner 13 gesteuert wird, um einen Laserstrahl auf die vorbestimmten Positionen (WP1, WP2, WL) zu strahlen.
-
Nachstehend werden Ausführungsformen der maschinellen Lernvorrichtung, des Robotersystems und des maschinellen Lernverfahrens der vorliegenden Erfindung mit Bezug auf die beiliegenden Zeichnungen ausführlich beschrieben. Zuerst wird bei der maschinellen Lernvorrichtung, dem Robotersystem und dem maschinellen Lernverfahren gemäß der vorliegenden Ausführungsform der Betrieb (eine Trajektorie und eine Fahrgeschwindigkeit) des Roboters unter den Bedingungen, wie nachstehend beschrieben, günstig optimiert.
- • Es wird eine Schweißposition festgelegt.
- • Eine Bahn des Roboters fällt in eine mögliche Bewegungsfläche des Roboters.
- • Eine Fahrgeschwindigkeit des Roboters ist kleiner oder gleich einer Höchstgeschwindigkeit des Roboters.
- • Eine Beschleunigung und eine Verzögerung des fahrenden Roboters ist kleiner oder gleich einer Beschleunigungs- und einer Verzögerungskapazität des Roboters.
- • Der Roboter geht über eine schweißbare Fläche relativ zu der Schweißposition, die einer Bestrahlungsfläche eines Scanners entspricht.
- • Eine Zeit, in welcher der Roboter über die schweißbare Fläche geht, ist größer oder gleich der Schweißvorgangszeit des Scanners.
-
Ferner wird bei der maschinellen Lernvorrichtung, dem Robotersystem und dem maschinellen Lernverfahren gemäß der vorliegenden Ausführungsform der Betrieb des Roboters und des Galvanometer-Scanners (des Laserscanners) basierend auf den obigen Bedingungen maschinell erlernt, um auf die Optimierung des Betriebs des Roboters abzuzielen. Es ist zu beachten, dass die Erfolgsbelohnungen des maschinellen Lernens der vorliegenden Ausführungsform beispielsweise Folgendes umfassen können.
- • Es ist zweckmäßig, dass eine Zeit, in welcher der Roboter auf der Bahn fährt, kürzer ist (Produktivität).
- • Es ist zweckmäßig, dass eine Beschleunigung und eine Verzögerung des Roboters geringer sind (ohne Erschütterung kann die Lebensdauer des Roboters verlängert werden).
- • Es ist zweckmäßig, dass die Zeit, in welcher der Roboter über die schweißbare Fläche geht, länger ist (eine Einstelltoleranz der Bearbeitungsbedingungen kann sichergestellt werden).
- • Es ist zweckmäßig, dass sich der Roboter (der Galvanometer-Scanner) näher an der Schweißposition befindet (ein Lichtsammelfehler einer Linse ist geringer).
- • Diverse Arten von Erfolgsbelohnungen werden gewichtet, so dass der Betrieb optimiert wird, wie durch den Benutzer erwünscht, wie etwa so, dass der Betrieb die Produktivität verstärkt.
-
1 ist ein Blockdiagramm, das schematisch eine Ausführungsform des Robotersystems und der maschinellen Lernvorrichtung der vorliegenden Erfindung abbildet, und 2 ist ein Blockdiagramm, das schematisch ein Beispiel der maschinellen Lernvorrichtung der vorliegenden Erfindung abbildet. Wie in 1 abgebildet, funktioniert das Robotersystem (das ferngesteuerte Robotersystem zum Laserschweißen) 1 gemäß der vorliegenden Ausführungsform, das dem Robotersystem entspricht, wie mit Bezug auf 1 beschrieben, um an eine maschinelle Lernvorrichtung 2 Bestimmungsdaten und Zustandsdaten (eine Zustandsvariable) auszugeben und eine Aktionsausgabe (einen erlernten Führungswert, eine manipulierte Variable) des Betriebs des Roboters und des Galvanometer-Scanners (des Laserscanners), wie durch die maschinelle Lernvorrichtung 2 erlernt, zu empfangen. Es ist zu beachten, dass die maschinelle Lernvorrichtung 2 beispielsweise für einen Roboter-Controller 12 bereitgestellt werden kann, der den Betrieb des Roboters 11 steuert. Ferner kann, wie zuvor beschrieben, der Roboter-Controller 12 mit dem Galvanometer-Scanner-Controller versehen sein, der den Galvanometer-Scanner 13 steuert.
-
Wie in 1 abgebildet, umfasst die maschinelle Lernvorrichtung 2 eine Zustandsbeobachtungseinheit 21, eine Einheit 22 zum Erzielen von Bestimmungsdaten, eine Lerneinheit 23 und eine Entscheidungseinheit 24, und die Lerneinheit 23 umfasst eine Belohnungsberechnungseinheit 231 und eine Einheit 232 zum Aktualisieren einer Wertfunktion. Die Zustandsbeobachtungseinheit 21 empfängt Statusdaten von dem Robotersystem 1, und die Einheit 22 zum Erzielen von Bestimmungsdaten empfängt die Bestimmungsdaten von dem Robotersystem 1. Eine Ausgabe der Zustandsbeobachtungseinheit 21 und der Einheit 22 zum Erzielen von Bestimmungsdaten wird in die Lerneinheit 23 eingegeben, und eine Ausgabe der Lerneinheit 23 wird über die Entscheidungseinheit 24 als Aktionsausgabe zum Steuern des Betriebs des Robotersystems 1 (des Roboters 11 und des Galvanometer-Scanners 13) an das Robotersystem 1 (den Controller 12) ausgegeben.
-
Dabei wird die maschinelle Lernvorrichtung 2 beispielsweise jedem Roboter 11 (dem Robotersystem 1) bereitgestellt und ist konfiguriert, um an mindestens eine andere maschinelle Lernvorrichtung (2) anschließbar zu sein, und kann mit der mindestens einen anderen maschinellen Lernvorrichtung ein Ergebnis des maschinellen Lernens gegenseitig austauschen oder teilen. Alternativ kann sich die maschinelle Lernvorrichtung 2 in einem Cloud-Server oder einem FOG-Server befinden und konfiguriert sein, um Daten (die Zustandsdaten, die Bestimmungsdaten und die Aktionsausgabe) mit jedem Roboter 11 (dem Robotersystem 1) über ein Netzwerk auszutauschen.
-
Wie in 2 abgebildet, umfassen bei der maschinellen Lernvorrichtung 2 die Zustandsdaten, die durch die Zustandsbeobachtungseinheit 21 empfangen werden, beispielsweise eine Position, eine Geschwindigkeit und eine Beschleunigung des Spitzenendes des Roboters 11 und eine Position (einen Spiegelwinkel), eine Geschwindigkeit und eine Beschleunigung des Galvanometer-Scanners 13 (eines Spiegels (eines optischen Bauteils)) und die Bestimmungsdaten, die durch die Einheit 22 zum Erzielen von Bestimmungsdaten empfangen werden, umfassen beispielsweise eine Bearbeitungszeit des Roboters 11 (des Robotersystems 1), einen Antriebsstrom, der den Roboter 11 antreibt, eine Führungsbahn des Galvanometer-Scanners 13, eine Durchgangszeit über eine verarbeitungsfähige Fläche, an welcher der Galvanometer-Scanner 13 eine Verarbeitung ausführt (die gebietsinterne Zeit in der schweißbaren Fläche WA (WA11 bis WA16)), und einen Abstand zwischen dem Roboter 11 und den Punkten (den Schweißpositionen WP11 bis WP16), an denen der Galvanometer-Scanner 13 die Verarbeitung ausführt. Ferner umfasst die Aktionsausgabe von der maschinellen Lernvorrichtung 2 (der Entscheidungseinheit 24) beispielsweise einen Geschwindigkeitsführungswert jeder Achse des Roboters 11 zu jeder Zeit.
-
Es ist zu beachten, dass die Zustandsdaten, die Bestimmungsdaten und die Aktionsausgabe, wie zuvor beschrieben, rein beispielhaft sind und diverse andere Daten ebenfalls anwendbar sind. Zudem ist man zum Bestimmen eines Zielbetriebs (Aktionsausgabe) nicht darauf eingeschränkt, dass der Roboter 11 und der Galvanometer-Scanner 13 tatsächlich betätigt werden, damit die maschinelle Lernvorrichtung 2 lernen kann, sondern es ist beispielsweise auch möglich, dass man die maschinelle Lernvorrichtung 2 durch eine Simulation unter Verwendung von ROBOGUIDE lernen lässt.
-
Wie in 2 abgebildet, beobachtet die Zustandsbeobachtungseinheit 21 als Zustandsdaten einen Zustand des Spitzenendes des Roboters 11 (eine Position, eine Geschwindigkeit und eine Beschleunigung des Spitzenendes des Roboters), an dem der Galvanometer-Scanner 13 montiert ist, und einen Zustand des optischen Bauteils in dem Galvanometer-Scanner 13 (eine Position, eine Geschwindigkeit und eine Beschleunigung des Spiegels). Die Einheit 22 zum Erzielen von Bestimmungsdaten empfängt als Bestimmungsdaten mindestens eines von der Bearbeitungszeit des Roboters 11, an dem der Galvanometer-Scanner 13 montiert ist, dem Antriebsstrom, der den Roboter 11 antreibt, der Führungsbahn des Galvanometer-Scanners 13, der Durchgangszeit über die verarbeitungsfähige Fläche, an welcher der Galvanometer-Scanner 13 die Verarbeitung ausführt, und einem Abstand zwischen dem Roboter 11 und den Punkten, an denen der Galvanometer-Scanner 13 eine Verarbeitung ausführt. Die Lerneinheit 23 lernt basierend auf einer Ausgabe der Zustandsbeobachtungseinheit 21 und einer Ausgabe der Einheit 22 zum Erzielen von Bestimmungsdaten den Betrieb des Roboters 11 und des Galvanometer-Scanners 13.
-
Dabei umfasst die Lerneinheit 23 die Belohnungsberechnungseinheit 231 und die Einheit 232 zum Aktualisieren einer Wertfunktion. Die Belohnungsberechnungseinheit 231 berechnet eine Belohnung basierend auf der Ausgabe der Zustandsbeobachtungseinheit 21 und der Ausgabe der Einheit 22 zum Erzielen von Bestimmungsdaten, und die Einheit 232 zum Aktualisieren einer Wertfunktion aktualisiert eine Wertfunktion, die einen Wert des Betriebs des Roboters 11 und des Galvanometer-Scanners 13 bestimmt, basierend auf der Ausgabe der Zustandsbeobachtungseinheit 21, der Ausgabe der Einheit 22 zum Erzielen von Bestimmungsdaten und einer Ausgabe der Belohnungsberechnungseinheit 231. Es ist zu beachten, dass obwohl sie mit Bezug auf 5 bis 8 noch ausführlich beschrieben wird, die Belohnungsberechnungseinheit 231 beispielsweise eine negative Belohnung einstellen kann, wenn die Bearbeitungszeit des Roboters 11 (des Robotersystems 1) lang ist, und eine positive Belohnung einstellen kann, wenn die Bearbeitungszeit des Roboters 11 kurz ist.
-
Ferner kann die Belohnungsberechnungseinheit 231 beispielsweise auch eine negative Belohnung einstellen, wenn die Führungsbahn des Galvanometer-Scanners 13 kurz ist, und kann eine positive Belohnung einstellen, wenn die Führungsbahn des Galvanometer-Scanners 13 lang ist. Zudem kann die Belohnungsberechnungseinheit 231 beispielsweise auch eine negative Belohnung einstellen, wenn der Antriebsstrom, der den Roboter 11 antreibt, hoch ist, und kann eine positive Belohnung einstellen, wenn der Antriebsstrom, der den Roboter 11 antreibt, niedrig ist. Es ist zu beachten, dass diese Belohnung in der Belohnungsberechnungseinheit 231 dadurch eingestellt werden können, dass die obige Mehrzahl von Daten geeignet miteinander kombiniert wird, und es kann auch eine Belohnung von einer Mehrzahl von Daten hinzugefügt werden. Ferner sind die Zustandsdaten, wie zuvor beschrieben, rein beispielhaft, und wie zuvor beschrieben, können diverse andere Daten angewendet werden. Zudem bestimmt die Entscheidungseinheit 24 der maschinellen Lernvorrichtung 2 basierend auf dem Betrieb des Roboters 11 und des Galvanometer-Scanners 13, wie sie durch die Lerneinheit 23 erlernt werden, die Aktionsausgabe für den Roboter 11 und den Galvanometer-Scanner 13 (das Robotersystem 1).
-
Im Übrigen weist die maschinelle Lernvorrichtung 2 Funktionen auf, um aus einem Datensatz als Eingabe in die Vorrichtung eine nützliche Regel, eine Wissensdarstellung, ein Kriterium zum Bestimmen oder dergleichen, das darin enthalten ist, analytisch zu entnehmen, um ein Ergebnis der Bestimmung auszugeben, und um das Lernen von Wissen (maschinelles Lernen) auszuführen. Diverse Techniken stehen für das maschinelle Lernen zur Verfügung, die in etwa beispielsweise als „betreutes Lernen“, „nicht betreutes Lernen“ und „Verstärkungslernen“ klassifiziert werden können. Zudem gibt es eine Technik, die als „tiefgehendes Lernen“ bezeichnet wird, bei der das Entnehmen eines Merkmalsworts an sich erlernt wird, um diese Techniken umzusetzen.
-
Die maschinelle Lernvorrichtung 2, wie in 2 abgebildet, verwendet das „Verstärkungslernen (Q-Lernen)“. Obwohl die maschinelle Lernvorrichtung 2 einen universellen Computer oder einen Prozessor verwenden kann, erlaubt die Übernahme beispielsweise des universellen Rechnens auf Grafikeinheiten (GPGPU), großen PC-Clustern oder dergleichen eine bessere Verarbeitung. Mit Bezug auf das gesamte maschinelle Lernen wird ein Überblick beschrieben.
-
Zunächst wird beim betreuten Lernen eine große Menge von Lehrerdaten, d.h. Datensätzen gewisser Eingaben und Ergebnisse (Kennsätzen), für die maschinelle Lernvorrichtung bereitgestellt, um die Merkmale in den Datensätzen zu erlernen und induktiv ein Modell (Fehlermodell) zu erzielen, um das Ergebnis aus der Eingabe, d.h. eine Beziehung desselben, zu schätzen. Beispielsweise kann das betreute Lernen unter Verwendung eines Algorithmus, wie etwa eines neuronalen Netzwerks, wie nachstehend beschrieben umgesetzt werden.
-
Das unbetreute Lernen ist eine Technik, bei der eine große Menge nur von Eingabedaten für die maschinelle Lernvorrichtung bereitgestellt wird, um zu lernen, wie die Eingabedaten verteilt sind, und die Vorrichtung, welche die Kompression, die Klassifizierung, die Gestaltung oder dergleichen mit Bezug auf die Eingabedaten ausführt, führt das Lernen aus, ohne dass ihr die entsprechenden Lehrausgabedaten bereitgestellt werden. Beispielsweise können die Merkmale in den Datensätzen nach ähnlichen Merkmalen gruppiert werden. Unter Verwendung dieses Ergebnisses ist es möglich, eine Vorhersage der Ausgabe zu erreichen, indem die Ausgaben derart zugeteilt werden, dass ein gewisses Kriterium definiert wird, um das Ergebnis zu optimieren.
-
Als Zwischenproblemstellung zwischen dem unbetreuten Lernen und dem betreuten Lernen gibt es das so genannte halbbetreute Lernen, das für einen Fall angewendet wird, bei dem beispielsweise nur einige Datensätze von Eingaben und Ausgaben vorhanden sind und die übrigen Daten nur Eingaben sind.
-
Als Nächstes wird das Verstärkungslernen ausführlicher beschrieben. Zunächst wird eine Problemstellung beim Verstärkungslernen wie folgt untersucht.
- • Ein Robotersystem (d.h. der Roboter 11, der Galvanometer-Scanner 13 und der Controller (wozu beispielsweise der Roboter-Controller und der Galvanometer-Scanner-Controller (der Laserscanner-Controller)) 12 gehören) beobachtet einen Zustand der Umgebung und entscheidet sich für eine Aktion.
- • Die Umgebung kann sich gemäß einer gewissen Regel ändern, und ferner kann das Robotersystem die Umgebung durch seine eigene Aktion ändern.
- • Ein Belohnungssignal kehrt jedes Mal zurück, wenn eine Aktion erfolgt.
- • Es ist die Summe der (ermäßigten) Belohnungen in der Zukunft, die man maximieren möchte.
- • Das Lernen beginnt in einem Zustand, in dem das Ergebnis, das durch die Aktion verursacht wird, völlig unbekannt oder nur unvollständig bekannt ist. Mit anderen Worten kann der Roboter-Controller das Ergebnis als Daten nur erzielen, nachdem er tatsächlich eine Aktion vornimmt. Kurz gesagt wird es bevorzugt, die optimale Aktion durch Ausprobieren zu untersuchen.
- • Durch das Einstellen eines Zustands, bei dem das Lernen (eine Technik, wie etwa das betreute Lernen, wie zuvor beschrieben, oder das umgekehrte Verstärkungslernen) im Voraus ausgeführt wird, um ein menschliches Verhalten als anfänglichen Zustand nachzuahmen, kann das Lernen mit einem guten Ausgangspunkt begonnen werden.
-
Das Verstärkungslernen ist eine Technik, bei der nicht nur durch Bestimmungs- und Klassifizierungs- sondern auch durch Lernaktionen eine geeignete Aktion angesichts der Interaktion, die durch eine Aktion mit der Umgebung bereitgestellt wird, erlernt wird, d.h. es wird gelernt, wie die Belohnung zu maximieren ist, die in der Zukunft erzielt wird. Nachstehend fährt die Beschreibung mit einem Beispiel des Q-Lernens fort, doch die vorliegende Erfindung nicht auf das Q-Lernen eingeschränkt.
-
Das Q-Lernen ist ein Verfahren zum Lernen eines Wertes Q(s, a) zum Auswählen einer Aktion a in einem gewissen Umgebungszustand s. Mit anderen Worten kann in dem gewissen Zustand s eine Aktion a mit dem höchsten Wert Q(s, a) bevorzugt als die optimale Aktion ausgewählt werden. Zunächst ist der richtige Wert für den Wert Q(s, a) jedoch für ein Paar aus dem Zustand s und der Aktion a völlig unbekannt. Entsprechend wählt ein Agent (Aktionssubjekt) diverse Aktionen a in dem gewissen Zustand s aus und erhält eine Belohnung für die Aktion a zu diesem Zeitpunkt. Folglich lernt der Agent, eine bessere Aktion, d.h. einen richtigen Wert Q(s, a), auszuwählen.
-
Ferner ist es als Ergebnis der Aktion erwünscht, die Summe der Belohnungen, die in der Zukunft erzielt werden, zu maximieren, und es wird darauf abgezielt, letztendlich Q(s, a) = E[Σү
tr
t] zu erfüllen. Es wird vorausgesetzt, dass der erwartete Wert für den Fall genommen wird, dass sich der Zustand nach der optimalen Aktion ändert, und da er nicht bekannt ist, wird er durch Vornehmen einer Untersuchung erlernt. Eine Aktualisierungsformel für einen derartigen Wert Q(s, a) kann beispielsweise durch die Gleichung (1) wie folgt angegeben werden:
-
In der obigen Gleichung (1) steht st für einen Zustand der Umgebung zu einem Zeitpunkt t, und at steht für eine Aktion zu dem Zeitpunkt t. Die Aktion at ändert den Zustand auf st+1. rt+1 steht für eine Belohnung, die mit der Änderung des Zustands zu erlangen ist. Ferner ist der Term, der mit max verbunden ist, das Produkt des Q-Wertes, der mit ү multipliziert wird, für den Fall, dass die Aktion a mit dem höchsten Q-Wert, die zu diesem Zeitpunkt bekannt ist, in dem Zustand st+1 ausgewählt wird. ү ist ein Parameter, der 0 < ү ≤ 1 erfüllt und als Ermäßigungsrate bezeichnet wird. α ist ein Lernfaktor, der sich in dem Bereich von 0 < α ≤ 1 befindet.
-
Die obige Gleichung (1) stellt ein Verfahren zum Aktualisieren des Bewertungswertes Q(st, at) der Aktion at in dem Zustand st basierend auf der Belohnung rt+1, die als ein Ergebnis der Aktion at zurückgegeben wird, dar. Mit anderen Worten wird angegeben, dass wenn die Summe der Belohnung rt+1 und des Bewertungswertes Q(st+1, max at+1) der besten Aktion max a in dem Zustand nach dem Zustand s bei der Aktion a größer als der Bewertungswert Q(st, at) der Aktion a in dem Zustand s ist, Q(st, at) erhöht wird; ansonsten wird Q(st, at) verringert. Mit anderen Worten ist die Konfiguration derart, dass ein Wert einer gewissen Aktion in einem gewissen Zustand näher an die Belohnung gebracht wird, die gerade als ein Ergebnis und der Wert der besten Aktion in dem folgenden Zustand bei dieser Aktion zurückgegeben wird.
-
Die Verfahren zum Darstellen von Q(s, a) auf einem Computer umfassen ein Verfahren, bei dem die Werte aller Paare von Zustand und Aktion (s, a) in Form einer Tabelle geführt werden, und ein Verfahren, bei dem eine Funktion, die Q(s, a) nähert, bereitgestellt wird. Bei dem letztgenannten Verfahren kann die obige Gleichung (1) umgesetzt werden, indem die Parameter der Näherungsfunktion unter Verwendung einer Technik, wie etwa eines stochastischen Gradientenabstiegsverfahrens, angepasst werden. Als Näherungsfunktion kann ein neuronales Netzwerk verwendet werden, das noch beschrieben wird.
-
Als Näherungsalgorithmus für eine Wertfunktion beim Verstärkungslernen kann ebenfalls ein neuronales Netzwerk verwendet werden. 3 ist ein Diagramm, das schematisch ein Modell für ein Neuron abbildet, und 4 ist ein Diagramm, das schematisch ein dreischichtiges neuronales Netzwerk abbildet, das durch Kombinieren von Neuronen, wie in 3 abgebildet, gebildet wird. Mit anderen Worten ist das neuronale Netzwerk beispielsweise aus einer arithmetischen Vorrichtung, die ein Modell für ein Neuron simuliert, wie in 3 abgebildet, einem Speicher und dergleichen konfiguriert.
-
Wie in
3 abgebildet, gibt das Neuron eine Ausgabe (Ergebnis) y für eine Mehrzahl von Eingaben x aus (in
3 beispielhaft die Eingaben x1 bis x3). Jede der Eingaben x (x1, x2, x3) wird mit einer Gewichtung w (w1, w2, w3) multipliziert, die der Eingabe x entspricht. Dadurch gibt das Neuron das Ergebnis y aus, das durch die folgende Gleichung (2) dargestellt wird. Es ist zu beachten, dass alle Eingaben x, das Ergebnis y und die Gewichtung w Vektoren sind. In der nachstehenden Gleichung (2) ist θ ein systematischer Fehler, und f
k ist eine Aktivierungsfunktion.
-
Mit Bezug auf 4 erfolgt eine Beschreibung eines dreischichtigen neuronalen Netzwerks, das durch eine Kombination von Neuronen, wie in 3 abgebildet, gebildet wird. Wie in 4 abgebildet, wird eine Mehrzahl von Eingaben x (hier beispielhaft Eingabe x1 bis Eingabe x3) auf der linken Seite des neuronalen Netzwerks eingegeben, und ein Ergebnis y (hier beispielhaft Ergebnis y1 bis Ergebnis y3) wird auf der rechten Seite ausgegeben. Insbesondere werden die Eingaben x1, x2 und x3 mit einer Gewichtung multipliziert, die jedem der drei Neuronen N11 bis N13 entspricht, und eingegeben. Die Gewichtungen, die verwendet werden, um diese Eingaben zu multiplizieren, werden insgesamt mit W1 bezeichnet.
-
Die Neuronen N11 bis N13 geben jeweils z11 bis z13 aus. In 4 werden z11 bis z13 insgesamt als Merkmalsvektor Z1 bezeichnet, den man als einen Vektor ansehen kann, der durch Entnehmen der Merkmalswerte des Eingangsvektors erzielt wird. Der Merkmalsvektor Z1 ist ein Merkmalsvektor, der zwischen der Gewichtung W1 und der Gewichtung W2 definiert ist. z11 bis z13 werden mit einer Gewichtung multipliziert, die jedem der beiden Neuronen N21 und N22 entspricht, und eingegeben. Die Gewichtungen, die verwendet werden, um diese Merkmalsvektoren zu multiplizieren, werden insgesamt mit W2 bezeichnet.
-
Die Neuronen N21 und N22 geben jeweils z21 und z22 aus. In 4 werden z21, z22 insgesamt als Merkmalsvektor 22 bezeichnet. Der Merkmalsvektor Z2 ist ein Merkmalsvektor, der zwischen der Gewichtung W2 und der Gewichtung W3 definiert ist. z21 und z22 werden mit einer Gewichtung multipliziert, die jedem der drei Neuronen N31 bis N33 entspricht, und eingegeben. Die Gewichtungen, die verwendet werden, um diese Merkmalsvektoren zu multiplizieren, werden insgesamt mit W3 bezeichnet.
-
Schließlich geben die Neuronen N31 bis N33 jeweils Ergebnis y1 bis Ergebnis y3 aus. Der Betrieb des neuronalen Netzwerks umfasst einen Lernmodus und einen Wertvorhersagemodus. Beispielsweise wird im Lernmodus die Gewichtung W unter Verwendung eines Lerndatensatzes erlernt, und im Vorhersagemodus wird die Aktion des Roboter-Controllers unter Verwendung der Parameter bestimmt. Obwohl aus praktischen Gründen Bezug auf die Vorhersage genommen wird, ist es selbstverständlich, dass diverse Aufgaben, wie etwa Detektion, Klassifizierung, Inferenz und dergleichen, möglich sind.
-
Es ist möglich, dass die Daten, die erzielt werden, indem der Roboter-Controller tatsächlich im Vorhersagemodus betätigt wird, sofort erlernt werden, um in der folgenden Aktion wiedergegeben zu werden (Online-Lernen), und auch dass eine Gruppe von im Voraus erhobenen Daten verwendet wird, um ein kollektives Lernen auszuführen, und ein Detektionsmodus mit bisherigen Parametern ausgeführt wird (Stapellernen). Ein dazwischenliegender Fall ist ebenfalls möglich, bei dem ein Lernmodus jedes Mal eingeschoben wird, wenn sich Daten in einem gewissen Ausmaß angesammelt haben.
-
Die Gewichtungen W1 bis W3 können durch ein Fehlerrückführungsverfahren erlernt werden. Die Fehlerinformationen treten auf der rechten Seite ein und verlaufen bis zur linken Seite. Das Fehlerrückführungsverfahren ist eine Technik zum Anpassen (Lernen) jeder Gewichtung, um die Differenz zwischen einer Ausgabe y, wenn eine Eingabe x eingegeben wird, und einer wahren Ausgabe y (Lehrer) für jedes Neuron zu reduzieren. Ein derartiges neuronales Netzwerk kann drei oder mehrere Schichten aufweisen (als tiefgehendes Lernen bezeichnet). Es ist möglich, die Merkmale der Eingabe Schritt für Schritt zu entnehmen, um automatisch eine arithmetische Vorrichtung, welche die Ergebnisse zurückführt, nur aus den Lehrerdaten zu erzielen.
-
Wie mit Bezug auf 2 beschrieben, umfasst die maschinelle Lernvorrichtung 2 gemäß dem vorliegenden Beispiel die Zustandsbeobachtungseinheit 21, die Einheit 22 zum Erzielen von Bestimmungsdaten, die Lerneinheit 23, und die Entscheidungseinheit 24, um beispielsweise ein Q-Lernen auszuführen. Es ist zu beachten, dass das maschinelle Lernverfahren, das auf die vorliegende Erfindung angewendet wird, nicht auf das Q-Lernen eingeschränkt ist, und dass wie zuvor beschrieben, die maschinelle Lernvorrichtung 2 ausgebildet werden kann, indem man eine GPGPU, große PC-Cluster oder dergleichen übernimmt.
-
Nachstehend wird mit Bezug auf 5 bis 8 eine Verarbeitung in der maschinellen Lernvorrichtung 2 gemäß der vorliegenden Ausführungsform beschrieben, und die maschinelle Lernvorrichtung 2 gemäß der vorliegenden Ausführungsform soll den Betrieb des Roboters 11 und des Galvanometer-Scanners (des Laserscanners) 13, die synchronisiert funktionieren, erlernen und optimieren. Wie zuvor beschrieben, kann das Lernen durch die maschinelle Lernvorrichtung 2 auch erfolgen, indem das eigentliche Robotersystem 1 (eine wirkliche Maschine) bewegt wird, jedoch auch durch eine Simulation, die ROBOGUIDE verwendet, erfolgen kann. Ferner kann das Lernen durch die maschinelle Lernvorrichtung 2 gemäß der vorliegenden Ausführungsform beispielsweise angesichts der Optimierung einer Laserausgabe und dergleichen erfolgen.
-
5 ist ein Ablaufschema, das ein erstes Beispiel der Verarbeitung in der maschinellen Lernvorrichtung, wie in 2 abgebildet, beschreibt. Beispielsweise werden als anfängliche Bedingung (als Anfangswert, bevor das Lernen erfolgt), um eine vorbestimmte Verarbeitungsbahn zu befolgen, die Führungsbahnen des Roboters 11 und des Galvanometer-Scanners 13 im Voraus erstellt. Ferner wird die Verarbeitungsbahn (z.B. die Schweißlinie WL in 11) durch eine Kombination der Führungsbahnen des Roboters 11 und des Galvanometer-Scanners 13 bestimmt. Es ist zu beachten, dass wie zuvor beschrieben, der Betrieb des Roboters 11 Merkmale aufweist, bei denen eine Positionierungsgenauigkeit und eine Reaktivität gering sind, aber eine mögliche Bewegungsfläche groß ist, und der Betrieb des Galvanometer-Scanners 13 Merkmale aufweist, bei denen eine Positionierungsgenauigkeit und eine Reaktivität groß sind, aber eine mögliche Bewegungsfläche klein ist.
-
Wie in 5 abgebildet, wenn das maschinelle Lernen in Schritt ST11 basierend auf einer Aktionswerttabelle beginnt (das Lernen beginnt), werden die Führungsbahnen des Roboters 11 und des Galvanometer-Scanners 13 generiert, und der Prozess fährt mit Schritt ST12 fort. In Schritt ST12 wird die Bestimmung basierend auf der Bearbeitungszeit des Roboters 11 ausgeführt. Es ist zu beachten, dass die Bearbeitungszeit beispielsweise eine Zeit eines Zyklus angibt, bis eine vorbestimmte gewisse Schweißbearbeitung mit Bezug auf ein Bearbeitungszielobjekt (z.B. eine Fahrzeugkarosserie eines Kraftfahrzeugs) unter Verwendung eines Laserstrahls, der von dem Galvanometer-Scanner 13 ausgestrahlt wird, der an dem Spitzenende (einer Spitzenendabschnitt eines Arms) des Roboters 11 montiert ist, beendet ist.
-
Wenn in Schritt ST12 bestimmt wird, dass die Bearbeitungszeit lang ist, fährt der Prozess mit Schritt ST13 fort, und es wird eine Belohnung „-5“ eingestellt; wenn bestimmt wird, dass die Bearbeitungszeit normal ist, fährt der Prozess mit Schritt ST14 fort, und es wird eine Belohnung „+5“ eingestellt; oder wenn bestimmt wird, dass die Bearbeitungszeit kurz ist, fährt der Prozess mit Schritt ST15 fort, und es wird eine Belohnung „+10“ eingestellt. Dann fährt der Prozess mit Schritt ST16 fort, und es werden Belohnungen hinzugefügt, mit anderen Worten werden Belohnungen, wie in den Schritten ST13 bis ST15 eingestellt, hinzugefügt, und der Prozess fährt mit Schritt ST17 fort. In Schritt ST17 wird basierend auf den hinzugefügten Belohnungen die Aktionswerttabelle aktualisiert, und der Prozess kehrt zu Schritt ST11 zurück, und eine ähnliche Verarbeitung wird wiederholt. Dadurch kann der Betrieb des Roboters und des Galvanometer-Scanners basierend auf der Bearbeitungszeit optimiert werden.
-
Es ist zu beachten, dass die Belohnungswerte „-5“, „+5“, und „+10“, die in den Schritten ST13 bis ST15 eingestellt werden, rein beispielhaft sind, und dass selbstverständlich diverse Änderungen vorgenommen werden können. Mit anderen Worten wird bei dem Beispiel, wie in 5 abgebildet, da die Bearbeitungszeit (z.B. eine Zeit, in der eine vorbestimmte gewisse Schweißbearbeitung mit Bezug auf eine Fahrzeugkarosserie eines Kraftfahrzeugs ausgeführt wird) günstigerweise kurz ist, beispielsweise die Länge der Bearbeitungszeit in drei Möglichkeiten klassifiziert: „lang“, „normal“ und „kurz“, für die jeweils die Belohnungen „-5“, „+5“ und „+10“ eingestellt werden, die jedoch rein beispielhaft sind.
-
6 ist ein Ablaufschema, das ein zweites Beispiel der Verarbeitung in der maschinellen Lernvorrichtung, wie in 2 abgebildet, abbildet. Wie aus einem Vergleich von 6 und 5, wie zuvor beschrieben, hervorgeht, wird bei dem vorliegenden zweiten Beispiel zusätzlich zu der Bestimmung basierend auf der Bearbeitungszeit bei dem ersten Beispiel, wie in 5 abgebildet, die Bestimmung durch den Antriebsstrom (einen Roboterantriebsstrom), der den Roboter 11 antreibt, ebenfalls ausgeführt. Es ist zu beachten, dass die Schritte ST11 bis ST17 in 6 jeweils den Schritten ST11 bis ST17 in 5 entsprechen. Es ist ebenfalls zu beachten, dass eine Belohnung „+10“, die in Schritt S15 in 5 eingestellt wird, in Schritt S15' in 6 durch eine Belohnung „+20“ ersetzt wird.
-
Mit anderen Worten, wie in 6 abgebildet, wenn das maschinelle Lernen in Schritt ST11 basierend auf der Aktionswerttabelle beginnt, werden die Führungsbahnen des Roboters 11 und des Galvanometer-Scanners 13 generiert, der Prozess fährt mit Schritt ST12 fort, und die Bestimmung wird basierend auf der Bearbeitungszeit des Roboters 11 ausgeführt. Wenn in Schritt ST12 bestimmt wird, dass die Bearbeitungszeit lang ist, fährt der Prozess mit Schritt ST13 fort, und es wird eine Belohnung „-5“ eingestellt; wenn bestimmt wird, dass die Bearbeitungszeit normal ist, fährt der Prozess mit Schritt ST14 fort, und es wird eine Belohnung „+5“ eingestellt; oder wenn bestimmt wird, dass die Bearbeitungszeit kurz ist, fährt der Prozess mit Schritt ST15' fort, und es wird eine Belohnung „+20“ eingestellt.
-
Wie zuvor beschrieben, wird bei dem vorliegenden zweiten Beispiel, wenn bestimmt wird, dass die Bearbeitungszeit kurz ist, in Schritt ST15' eine Belohnung „+20“ eingestellt, die doppelt so groß ist wie eine Belohnung (Gewichtung) von „+10“ in Schritt ST15 in dem ersten Beispiel. Dann fährt der Prozess mit Schritt ST16 fort, und es werden Belohnungen basierend auf der Bearbeitungszeit hinzugefügt, mit anderen Worten werden Belohnungen, wie in den Schritten ST13 bis ST15' eingestellt, hinzugefügt.
-
Ferner werden in Schritt ST11 basierend auf der Aktionswerttabelle die Führungsbahnen des Roboters 11 und des Galvanometer-Scanners 13 generiert, dann fährt der Prozess mit Schritt ST22 fort, und die Bestimmung wird basierend auf dem Roboterantriebsstrom ausgeführt. Wenn in Schritt ST22 bestimmt wird, dass der Roboterantriebsstrom hoch ist, fährt der Prozess mit Schritt ST23 fort, und es wird eine Belohnung „-5“ eingestellt; wenn bestimmt wird, dass der Roboterantriebsstrom normal ist, fährt der Prozess mit Schritt ST24 fort, und es wird eine Belohnung „0“ eingestellt; oder wenn bestimmt wird, dass der Roboterantriebsstrom niedrig ist, fährt der Prozess mit Schritt ST25 fort, und es wird eine Belohnung „+5“ eingestellt. Ferner fährt der Prozess mit Schritt ST26 fort, und es werden Belohnungen basierend auf dem Roboterantriebsstrom hinzugefügt, mit anderen Worten werden Belohnungen, wie in den Schritten ST23 bis ST15 eingestellt, hinzugefügt.
-
Dann fährt der Prozess mit Schritt ST27 fort, und die Hinzufügung eines Integralwertes der Belohnungen basierend auf der Bearbeitungszeit in Schritt ST16 und eines Integralwertes der Belohnungen basierend auf dem Roboterantriebsstrom wird in Schritt ST26 ausgeführt. Ferner fährt der Prozess mit Schritt ST17 fort, und basierend auf den Belohnungen, wie in Schritt ST27 hinzugefügt, wird die Aktionswerttabelle aktualisiert, und der Prozess kehrt wieder zu Schritt ST11 zurück, und eine ähnliche Verarbeitung wird wiederholt. Dadurch kann der Betrieb des Roboters und des Galvanometer-Scanners basierend auf der Bearbeitungszeit und dem Roboterantriebsstrom optimiert werden.
-
7 ist ein Ablaufschema, das ein drittes Beispiel der Verarbeitung in der maschinellen Lernvorrichtung, wie in 2 abgebildet, abbildet. Wie aus einem Vergleich von 7 und 6, wie zuvor beschrieben, hervorgeht, wird bei dem vorliegenden dritten Beispiel nicht die Bestimmung basierend auf dem Roboterantriebsstrom in dem zweiten Beispiel, wie in 6 abgebildet, sondern die Bestimmung durch die Führungsbahn des Galvanometer-Scanners 13 ausgeführt. Mit anderen Worten wird zusätzlich zu der Bestimmung basierend auf der Bearbeitungszeit bei dem ersten Beispiel, wie in 5 abgebildet, die Bestimmung durch die Führungsbahn des Galvanometer-Scanners ebenfalls ausgeführt. Es ist zu beachten, dass ähnlich wie das zweite Beispiel, wie in 6 abgebildet, eine Belohnung „+10“, die in Schritt S15 in 5 eingestellt wird, in Schritt S15' in 7 durch eine Belohnung von „+20“ ersetzt wird. Mit anderen Worten entsprechen die Schritte ST11 bis ST17 in 7 jeweils den Schritten ST11 bis ST17 in 6, deren Beschreibung entfällt.
-
Bei dem vorliegenden dritten Beispiel werden in Schritt ST11 basierend auf der Aktionswerttabelle die Führungsbahnen des Roboters 11 und des Galvanometer-Scanners 13 generiert, dann fährt der Prozess mit Schritt ST32 fort, und die Bestimmung wird basierend auf der Führungsbahn des Galvanometer-Scanners ausgeführt. Wenn in Schritt ST32 bestimmt wird, dass die Führungsbahn des Galvanometer-Scanners kurz ist, fährt der Prozess mit Schritt ST33 fort, und es wird eine Belohnung „-5“ eingestellt; wenn bestimmt wird, dass die Führungsbahn des Galvanometer-Scanners normal ist, fährt der Prozess mit Schritt ST34 fort, und es wird eine Belohnung „0“ eingestellt; oder wenn bestimmt wird, dass die Führungsbahn des Galvanometer-Scanners lang ist, fährt der Prozess mit Schritt ST35 fort, und es wird eine Belohnung „+5“ eingestellt. Ferner fährt der Prozess mit Schritt ST36 fort, und es werden Belohnungen basierend auf der Führungsbahn des Galvanometer-Scanners hinzugefügt, mit anderen Worten werden Belohnungen, wie in den Schritten ST33 bis ST35 eingestellt, hinzugefügt.
-
Dann fährt der Prozess mit Schritt ST27 fort, und es erfolgt die Hinzufügung eines Integralwertes der Belohnungen basierend auf der Bearbeitungszeit in Schritt ST16 und eines Integralwertes der Belohnungen basierend auf der Führungsbahn des Galvanometer-Scanners in Schritt ST36. Ferner fährt der Prozess mit Schritt ST17 fort, und basierend auf den Belohnungen, wie in Schritt ST27 hinzugefügt, wird die Aktionswerttabelle aktualisiert, und der Prozess kehrt wieder zu Schritt ST11 zurück, und eine ähnliche Verarbeitung wird wiederholt. Dadurch kann der Betrieb des Roboters und des Galvanometer-Scanners basierend auf der Bearbeitungszeit und der Führungsbahn des Galvanometer-Scanners optimiert werden.
-
8 ist ein Ablaufschema, das ein viertes Beispiel der Verarbeitung in der maschinellen Lernvorrichtung, wie in 2 abgebildet, abbildet. Wie aus einem Vergleich von 8 und 6 und 7, wie zuvor beschrieben, hervorgeht, wird bei dem vorliegenden vierten Beispiel zusätzlich zu den Bestimmungen basierend auf der Bearbeitungszeit und dem Roboterantriebsstrom bei dem zweiten Beispiel, wie in 6 abgebildet, die Bestimmung durch die Führungsbahn des Galvanometer-Scanners ebenfalls ausgeführt. Mit anderen Worten entsprechen die Schritte ST11 bis ST17 und ST22 bis ST27 in 8 jeweils den Schritten ST11 bis ST17 und ST22 bis ST27 in 6, und die Schritte (ST11 bis ST17 und) ST32 bis ST36 in 8 entsprechen jeweils den Schritten (ST11 bis ST17 und) ST32 bis ST36 in 7.
-
Es ist zu beachten, dass bei dem vorliegenden vierten Beispiel in Schritt ST27 die Hinzufügung eines Integralwertes der Belohnungen basierend auf der Bearbeitungszeit in Schritt ST16, eines Integralwertes der Belohnungen basierend auf dem Roboterantriebsstrom in Schritt ST26 und eines Integralwertes der Belohnungen basierend auf der Führungsbahn des Galvanometer-Scanners in Schritt ST36 ausgeführt wird.
-
Ferner fährt der Prozess mit Schritt ST17 fort, und basierend auf den Belohnungen, wie in Schritt ST27 hinzugefügt, wird die Aktionswerttabelle aktualisiert, und der Prozess kehrt wieder zu Schritt ST11 zurück, und eine ähnliche Verarbeitung wird wiederholt. Dadurch kann der Betrieb des Roboters und des Galvanometer-Scanners basierend auf der Bearbeitungszeit, dem Roboterantriebsstrom und der Führungsbahn des Galvanometer-Scanners optimiert werden.
-
9 ist ein Ablaufschema, das ein fünftes Beispiel der Verarbeitung in der maschinellen Lernvorrichtung, wie in 2 abgebildet, abbildet. Wie aus einem Vergleich von 9 und 7, wie zuvor beschrieben, hervorgeht, erfolgt bei dem vorliegenden fünften Beispiel nicht die Bestimmung basierend auf der Führungsbahn des Galvanometer-Scanners bei dem dritten Beispiel, wie in 7 abgebildet, sondern die Bestimmung durch die Durchgangszeit über die verarbeitungsfähige (schweißbare) Fläche, an welcher der Galvanometer-Scanner 13 die Verarbeitung (Schweißvorgang) ausführt. Da mit anderen Worten, wenn die Durchgangszeit über die schweißbare Fläche, an welcher der Galvanometer-Scanner 13 den Schweißvorgang ausführt (die gebietsinterne Zeit auf den schweißbaren Flächen WA11 bis WA16: siehe 13B), lang ist, die Schweißverarbeitung durch den Galvanometer-Scanner 13 in der Zeit erfolgen kann, besteht die Konfiguration darin, dass die Bestimmung basierend auf der Durchgangszeit über die schweißbare Fläche ausgeführt wird. Es ist zu beachten, dass die Schritte ST11 bis ST14, ST15', ST16, ST17 und ST27 in 9 ähnlich wie die in 7 sind, so dass ihre Beschreibung entfällt.
-
Bei dem vorliegenden fünften Beispiel werden in Schritt ST11 basierend auf der Aktionswerttabelle die Führungsbahnen des Roboters 11 und des Galvanometer-Scanners 13 generiert, dann fährt der Prozess mit Schritt ST42 fort, und die Bestimmung wird basierend auf der Durchgangszeit über die schweißbare Fläche ausgeführt. Wenn in Schritt ST42 bestimmt wird, dass die Durchgangszeit über die schweißbare Fläche kurz ist, wenn mit anderen Worten bestimmt wird, dass die Schweißverarbeitung durch den Galvanometer-Scanner 13 nicht in der Zeit ausgeführt wird, fährt der Prozess mit Schritt ST43 fort, und es wird eine Belohnung „-5“ eingestellt, oder wenn bestimmt wird, dass die Durchgangszeit über die schweißbare Fläche normal ist, fährt der Prozess mit Schritt ST44 fort, und es wird eine Belohnung „0“ eingestellt. Wenn alternativ in Schritt ST42 bestimmt wird, dass die Durchgangszeit über die schweißbare Fläche lang ist, wenn mit anderen Worten bestimmt wird, dass die Schweißverarbeitung durch den Galvanometer-Scanner 13 in der Zeit erfolgen kann, fährt der Prozess mit Schritt ST45 fort, und es wird eine Belohnung „+5“ eingestellt. Ferner fährt der Prozess mit Schritt ST46 fort, und es werden Belohnungen basierend auf der Durchgangszeit über die schweißbare Fläche hinzugefügt, mit anderen Worten werden Belohnungen, wie in den Schritten ST43 bis ST45 eingestellt, hinzugefügt.
-
Dann fährt der Prozess mit Schritt ST27 fort, und die Hinzufügung eines Integralwertes der Belohnungen basierend auf der Bearbeitungszeit in Schritt ST16 und eines Integralwertes der Belohnungen basierend auf der Durchgangszeit über die schweißbare Fläche in Schritt ST46 wird ausgeführt. Ferner fährt der Prozess mit Schritt ST17 fort, und basierend auf den Belohnungen, wie in Schritt ST27 hinzugefügt, wird die Aktionswerttabelle aktualisiert, und der Prozess kehrt wieder zu Schritt ST11 zurück, und eine ähnliche Verarbeitung wird wiederholt. Dadurch kann der Betrieb des Roboters und des Galvanometer-Scanners basierend auf der Bearbeitungszeit und der Durchgangszeit über die schweißbare Fläche optimiert werden.
-
10 ist ein Ablaufschema, das ein sechstes Beispiel der Verarbeitung in der maschinellen Lernvorrichtung, wie in 2 abgebildet, abbildet. Wie aus einem Vergleich von 10 und 7, wie zuvor beschrieben, hervorgeht, wird bei dem vorliegenden sechsten Beispiel nicht die Bestimmung basierend auf der Führungsbahn des Galvanometer-Scanners bei dem dritten Beispiel, wie in 7 abgebildet, sondern die Bestimmung durch den Abstand zwischen dem Roboter 11 und den Punkten, an denen der Galvanometer-Scanner 13 die Verarbeitung ausführt, d.h. den Abstand zwischen dem Roboter 11 (dem Robotersystem 1) und den Schweißpositionen WP11 bis WP16, ausgeführt. Die Konfiguration ist derart, dass die Bestimmung basierend auf dem Abstand zwischen dem Roboter und den Schweißpunkten ausgeführt wird, weil, wenn der Abstand zwischen dem Roboter und den Schweißpunkten klein ist, beispielsweise ein Laserstrahl von dem Galvanometer-Scanner 13 senkrecht auf die Schweißpositionen WP11 bis WP16 gestrahlt werden kann, was günstig ist, oder wenn der Abstand zwischen dem Roboter und den Schweißpunkten groß ist, beispielsweise ein Laserstrahl von dem Galvanometer-Scanner 13 schräg auf die Schweißpositionen gestrahlt wird, so dass die Qualität des Schweißvorgangs geringer sein kann als wenn die Bestrahlung senkrecht erfolgt. Es ist zu beachten, dass die Schritte ST11 bis ST14, ST15', ST16, ST17 und ST27 in 9 ähnlich wie die in 7 (9) sind, deren Beschreibung somit entfällt.
-
Bei dem vorliegenden sechsten Beispiel werden in Schritt ST11 basierend auf der Aktionswerttabelle die Führungsbahnen des Roboters 11 und des Galvanometer-Scanners 13 generiert, dann fährt der Prozess mit Schritt ST52 fort, und die Bestimmung wird basierend auf dem Abstand zwischen dem Roboter und den Schweißpunkten ausgeführt. Wenn in Schritt ST52 bestimmt wird, dass der Abstand zwischen dem Roboter und den Schweißpunkten groß ist, mit anderen Worten wenn bestimmt wird, dass ein Laserstrahl von dem Galvanometer-Scanner 13 schräg auf die Schweißpositionen gestrahlt werden kann, fährt der Prozess mit Schritt ST53 fort, und es wird eine Belohnung „-5“ eingestellt, oder wenn bestimmt wird, dass der Abstand zwischen dem Roboter und den Schweißpunkten normal ist, fährt der Prozess mit Schritt ST54 fort, und es wird eine Belohnung von „0“ eingestellt. Wenn alternativ in Schritt ST52 bestimmt wird, dass der Abstand zwischen dem Roboter und den Schweißpunkten klein ist, mit anderen Worten wenn bestimmt wird, dass ein Laserstrahl von dem Galvanometer-Scanner 13 im Wesentlichen senkrecht auf die Schweißpositionen gestrahlt werden kann, fährt der Prozess mit Schritt ST55 fort, und es wird eine Belohnung „+5“ eingestellt. Ferner fährt der Prozess mit Schritt ST56 fort, und es werden Belohnungen basierend auf dem Abstand zwischen dem Roboter und den Schweißpunkten hinzugefügt, mit anderen Worten werden Belohnungen, wie in den Schritten ST53 bis ST55 eingestellt, hinzugefügt.
-
Dann fährt der Prozess mit Schritt ST27 fort, und die Hinzufügung eines Integralwertes der Belohnungen basierend auf der Bearbeitungszeit in Schritt ST16 und eines Integralwertes der Belohnungen basierend auf dem Abstand zwischen dem Roboter und den Schweißpunkten in Schritt ST56 wird ausgeführt. Ferner fährt der Prozess mit Schritt ST17 fort, und basierend auf den Belohnungen, wie in Schritt ST27 hinzugefügt, wird die Aktionswerttabelle aktualisiert, und der Prozess kehrt wieder zu Schritt ST11 zurück, und eine ähnliche Verarbeitung wird wiederholt. Dadurch kann der Betrieb des Roboters und des Galvanometer-Scanners basierend auf der Bearbeitungszeit und dem Abstand zwischen dem Roboter und den Schweißpunkten optimiert werden.
-
Vorstehend sind die Bestimmungsdaten zum Einstellen einer Belohnung in der Belohnungsberechnungseinheit 231 nicht auf die Bearbeitungszeit, den Roboterantriebsstrom, die Führungsbahn des Galvanometer-Scanners (des Laserscanners), die Durchgangszeit über die verarbeitungsfähige Fläche, an welcher der Galvanometer-Scanner die Verarbeitung ausführt, und den Abstand zwischen dem Roboter und den Punkten, an denen der Galvanometer-Scanner die Verarbeitung ausführt, wie zuvor beschrieben, einzuschränken, sondern diese Bestimmungsbedingungen können optional miteinander kombiniert werden. Ferner wird das Robotersystem der vorliegenden Erfindung auf ein ferngesteuertes Robotersystem zum Laserschweißen, das ein Laserschweißen ausführt, ohne Einschränkung angewendet, und kann auf Robotersysteme angewendet werden, die diverse Vorgänge ausführen, wie etwa Laserschneiden, Laserlochstechen, Metallbearbeitung, Laserharzschweißen, Harzbearbeitung, Oberflächenbearbeitung und Oberflächenmodifikation. Ferner ist der Galvanometer-Scanner nicht auf einen derartigen eingeschränkt, der einen Laserstrahl in zwei Dimensionen in der XY-Richtung bewegt, sondern kann beispielsweise ein derartiger sein, der ihn in drei Dimensionen bewegt, und ferner kann eine Art eines Laserstrahls, der verwendet wird, unterschiedlich sein, wie etwa ein Faserlaser, ein Kohlendioxidlaser und ein YAG-Laser. Dann wird die vorliegende Erfindung auf den Galvanometer-Scanner gemäß den zuvor beschriebenen Beispielen ohne Einschränkung angewendet, und kann, wie zuvor beschrieben, weitgehend auf einen Laserscanner im Allgemeinen, wie etwa einen Kernbohrkopf und einen Polygon-Scanner, angewendet werden.
-
Die maschinelle Lernvorrichtung, das Robotersystem und das maschinelle Lernverfahren der vorliegenden Erfindung ergeben Wirkungen, so dass der Betrieb eines Roboters und eines Laserscanners optimiert werden kann.
-
Alle hier bereitgestellten Beispiele und bedingten Formulierungen sind zu pädagogischen Zwecken gedacht, um dem Leser beim Verständnis der Erfindung und der Konzepte zu helfen, die vom Erfinder zur Förderung der Technik beigetragen werden, und sind nicht als Einschränkungen auf diese spezifisch erwähnten Beispiele und Bedingungen auszulegen, und die Anordnung dieser Beispiele in der Beschreibung soll auch keine Überlegenheit und Unterlegenheit der Erfindung zeigen. Obwohl eine oder mehrere Ausführungsformen der vorliegenden Erfindung ausführlich beschrieben wurde(n), versteht es sich, dass diverse Änderungen, Ersetzungen und Abänderungen daran vorgenommen werden könnten, ohne Geist und Umfang der Erfindung zu verlassen.
-
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
-
- JP 4922584 [0003]
- JP 4792901 [0004]