-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine Maschinenlernvorrichtung, ein Robotersystem und ein Maschinenlernverfahren zum Erlernen eines Betriebsprogramms eines Roboters.
-
Beschreibung der verwandten Technik
-
Herkömmlicherweise wird bei einem Punktschweißroboter, der Punktschweißen einer Fahrzeugkarosserie eines Personenkraftwagens und dergleichen durchführt, ein Lehrprogramm, das den Punktschweißroboter veranlasst, eine Mehrzahl von Punktschweißpunkten in einer Reihenfolge zu passieren, von einem Lehrer (Person) erstellt.
-
Anders ausgedrückt: Der Lehrer lehrt den Punktschweißroboter die Mehrzahl von Punktschweißpunkten unter Berücksichtigung einer Reihenfolge, in der Schweißen der Mehrzahl von Punktschweißpunkten effizient durchgeführt wird.
-
Zum Beispiel legt der Lehrer zwischen einem Schweißpunkt und dem folgenden Schweißpunkt mehrere Lehrpunkte fest, die ein Roboterarm passiert, und legt in Bezug auf einen Vorgang dazwischen auch eine Geschwindigkeit und eine Beschleunigung fest. Anders ausgedrückt: Um eine Verarbeitungszeit (Zykluszeit) des Punktschweißroboters zu verkürzen, legt der Lehrer zum Beispiel die Lehrpunkte derart fest, dass eine Bewegungsbahn des Roboterarms die kürzeste ist, und ändert ferner Einstellungen der Beschleunigung und Verlangsamung sowie der Geschwindigkeit zwischen jeweiligen Lehrpunkten.
-
Übrigens offenbart bisher zum Beispiel das Dokument
JP 4087 841 B2 eine Robotersteuerung, die eine Roboterhand entlang einem Weg bewegt, der an eine tatsächliche Position angepasst ist, an der ein Werkstück angeordnet ist, eine spezielle Zielposition auswählt, um eine Zykluszeit eines Arbeitsvorgangs der Roboterhand zu verkürzen, und eine Mehrzahl von unterschiedlichen Wegmustern als Annäherungs- und Entfernungswege der Roboterhand bezogen auf die ausgewählte spezielle Zielposition speichert. Die Robotersteuerung ist derart ausgestaltet, dass sie ein Wegmuster aus der Mehrzahl von gespeicherten Wegmustern auf der Grundlage einer von einem visuellen Sensor erkannten Position des Werkstücks auswählt, das ausgewählte Wegmuster derart abwandelt, dass die Ziel position, zu der sich die Roboterhand hinbewegt, und die tatsächliche Position des Werkstücks miteinander übereinstimmen, um die Roboterhand zu bewegen.
-
Wie vorstehend beschrieben, wurde bisher die Robotersteuerung vorgeschlagen, die ein Wegmuster aus der Mehrzahl von Wegmustern auf der Grundlage einer von dem visuellen Sensor erkannten Position des Werkstücks auswählt, und ferner das ausgewählte Wegmuster derart abwandelt, dass die Ziel position der Roboterhand (Roboterarm) und die tatsächliche Position des Werkstücks miteinander übereinstimmen, wodurch eine Bewegung des Roboterarms gesteuert wird.
-
Allerdings ist es zum Beispiel bei dem Punktschweißroboter, der Punktschweißen an einer Mehrzahl von Schweißpunkten an einer Fahrzeugkarosserie eines Personenkraftwagens durchführt, für einen Lehrer (Person) schwierig, Einstellungen (Lehren) derart durchzuführen, dass eine Bewegungsbahn, auf welcher der Roboterarm eine derartige Mehrzahl von Schweißpunkten passiert, die kürzeste ist. Des Weiteren ist es in Anbetracht von Einstellungen der Beschleunigung und Verlangsamung und der Geschwindigkeit zwischen jeweiligen Lehrpunkten, und wenn man berücksichtigt, dass Schweißen durchgeführt werden soll, nachdem eine Schwankung einer Punktschweißgenauigkeit aufgrund des Wackelns des Roboterarms abnimmt und das Wackeln des Roboterarms endet, und dergleichen, für den Lehrer schwierig, eine optimale Bewegungsbahn, Geschwindigkeit und Beschleunigung des Roboterarms zu lehren, durch die eine kurze Zykluszeit erreicht wird.
-
Bei der vorliegenden Beschreibung wird als ein Beispiel eines Roboters, auf den die vorliegende Erfindung angewendet wird, ein Punktschweißroboter beschrieben, aber eine Anwendung der vorliegenden Erfindung ist nicht auf den Punktschweißroboter beschränkt, und eine Anwendung kann breit gefächert bei verschiedenen industriellen Robotern und Servicerobotern erfolgen.
-
-
In Anbetracht des vorstehend beschriebenen Problems des Standes der Technik ist es eine Aufgabe der vorliegenden Erfindung, eine Maschinenlernvorrichtung, ein Robotersystem und ein Maschinenlernverfahren vorzusehen, die ein abgewandeltes Betriebsprogramm eines Roboters erfassen können.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Die Erfindung ist durch den Hauptanspruch sowie den nebengeordneten Anspruch 12 definiert. Weitere Ausgestaltungen der Erfindung sind durch die abhängigen Ansprüche definiert.
-
Gemäß einem ersten Aspekt der vorliegenden Erfindung ist eine Maschinenlernvorrichtung vorgesehen, die ein Betriebsprogramm eines Roboters erlernt, welche umfasst: eine Zustandsbeobachtungseinheit, die als eine Zustandsvariable ein Wackeln eines Arms des Roboters und/oder eine Länge einer Betriebsbewegungsbahn des Arms des Roboters beobachtet; eine Bestimmungsdaten-Erlangungseinheit, die als Bestimmungsdaten eine Zykluszeit erlangt, in der der Roboter eine Verarbeitung durchführt; und eine Lerneinheit, die das Betriebsprogramm des Roboters auf Grundlage einer Ausgabe der Zustandsbeobachtungseinheit und einer Ausgabe der Bestimmungsdaten-Erlangungseinheit erlernt.
-
Die Daten über das Wackeln des Arms und die Länge der Betriebsbewegungsbahn des Arms können auf Grundlage eines von einer Kamera erfassten Bildes oder von Daten von einer Robotersteuerung beobachtet werden, und die Zykluszeit kann aus Daten von der Robotersteuerung oder durch Analysieren eines von der Kamera erfassten Bildes erlangt werden. Die Zustandsbeobachtungseinheit kann ferner als eine Zustandsvariable mindestens eines aus einer Position, einer Geschwindigkeit und einer Beschleunigung des Arms beobachten. Die Maschinenlernvorrichtung kann ferner eine Entscheidungseinheit aufweisen, die einen Arbeitsvorgang des Roboters auf Grundlage des Betriebsprogramms des Roboters bestimmt, wie es von der Lerneinheit erlernt wird. Die Lerneinheit kann ferner eine Belohnungsberechnungseinheit umfassen, die eine Belohnung auf Grundlage der Ausgabe der Zustandsbeobachtungseinheit und der Ausgabe der Bestimmungsdaten-Erlangungseinheit (22) berechnet; und eine Wertfunktions-Aktualisierungseinheit, die eine Wertfunktion aktualisiert, die einen Wert des Betriebsprogramms des Roboters auf Grundlage der Ausgabe der Zustandsbeobachtungseinheit, der Ausgabe der Bestimmungsdaten-Erlangungseinheit und einer Ausgabe der Belohnungsberechnungseinheit bestimmt.
-
Die Belohnungsberechnungseinheit kann eine negative Belohnung festlegen, wenn die Zykluszeit lang ist, und eine positive Belohnung festlegen, wenn die Zykluszeit kurz ist. Die Belohnungsberechnungseinheit legt bevorzugt eine negative Belohnung fest, wenn das Wackeln des Arms ausgeprägt ist, und legt eine positive Belohnung fest, wenn das Wackeln des Arms gering ist, und legt eine negative Belohnung fest, wenn die Betriebsbewegungsbahn des Arms lang ist, und legt eine positive Belohnung fest, wenn die Betriebsbewegungsbahn des Arms kurz ist. Die Maschinenlernvorrichtung kann ein neuronales Netzwerk aufweisen. Die Maschinenlernvorrichtung kann in jedem Roboter vorgesehen sein, verbindbar mit mindestens einer anderen Maschinenlernvorrichtung sein und ein Maschinenlernergebnis mit der mindestens einen anderen Maschinenlernvorrichtung austauschen oder teilen. Die Maschinenlernvorrichtung kann sich in einem Cloud-Server oder einem Fog-Server befinden.
-
Gemäß einem zweiten Aspekt der vorliegenden Erfindung sind ein Robotersystem, das eine Robotersteuerung aufweist; wobei der Roboter von der Robotersteuerung gesteuert wird; und die Maschinenlernvorrichtung gemäß dem vorstehend beschriebenen ersten Aspekt vorgesehen. Das Robotersystem kann ferner eine Kamera aufweisen, die Daten über das Wackeln des Arms und die Länge der Betriebsbewegungsbahn des Arms beobachten kann, wobei die Kamera mindestens eines aus einer ersten Kamera, die auf dem Arm des Roboters angebracht ist; einer zweiten Kamera, die auf einem Arm eines peripheren Roboters angebracht ist, der in der Nähe des Roboters vorgesehen ist, und einer dritten Kamera aufweisen kann, die in der Nähe des Roboters vorgesehen ist. Der Roboter kann ein Punktschweißroboter sein.
-
Gemäß einem dritten Aspekt der vorliegenden Erfindung ist ein Maschinenlernverfahren vorgesehen, das ein Betriebsprogramm eines Roboters erlernt, wobei das Verfahren beinhaltet, als eine Zustandsvariable ein Wackeln eines Arms des Roboters und/oder eine Länge einer Betriebsbewegungsbahn des Arms des Roboters zu beobachten; als Bestimmungsdaten eine Zykluszeit zu erlangen, in der der Roboter eine Verarbeitung durchführt; und das Betriebsprogramm des Roboters auf Grundlage einer Ausgabe der Zustandsvariablen und der Bestimmungsdaten zu erlernen. Das Erlernen des Betriebsprogramms des Roboters kann ein Berechnen einer Belohnung auf Grundlage der Zustandsvariablen und der Bestimmungsdaten und ein Aktualisieren einer Wertfunktion beinhalten, die einen Wert des Betriebsprogramms des Roboters auf Grundlage der Zustandsvariablen, der Bestimmungsdaten und der Belohnung bestimmt.
-
Figurenliste
-
Die vorliegende Erfindung ist durch Bezugnahme auf die folgenden begleitenden Zeichnungen besser zu verstehen:
- 1 ist ein Blockschaltbild, das schematisch eine Ausführungsform einer Maschinenlernvorrichtung der vorliegenden Erfindung veranschaulicht;
- 2 ist ein Blockschaltbild, das eine Ausführungsform eines Robotersystems der vorliegenden Erfindung veranschaulicht;
- 3 ist ein Blockschaltbild, das ein Beispiel der Maschinenlernvorrichtung der vorliegenden Erfindung veranschaulicht;
- 4 ist eine Darstellung, die schematisch ein Modell für ein Neuron veranschaulicht;
- 5 ist eine Darstellung, die schematisch ein dreischichtiges neuronales Netzwerk veranschaulicht, das durch Kombinieren der in 4 veranschaulichten Neuronen gebildet wird;
- 6 ist ein Ablaufplan, der ein Beispiel einer Verarbeitung in der in 3 veranschaulichten Maschinenlernvorrichtung veranschaulicht;
- 7 ist ein Ablaufplan, der ein weiteres Beispiel der Verarbeitung in der in 3 veranschaulichten Maschinenlernvorrichtung veranschaulicht;
- 8 ist eine Darstellung zum Veranschaulichen einer Bewegungsbahn eines Arms eines Roboters in dem Robotersystem.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Nachfolgend werden hier Ausführungsformen einer Maschinenlernvorrichtung, eines Robotersystems und eines Maschinenlernverfahrens der vorliegenden Erfindung detailliert mit Bezug auf die begleitenden Zeichnungen beschrieben. 1 ist ein Blockschaltbild, das schematisch eine Ausführungsform der Maschinenlernvorrichtung der vorliegenden Erfindung veranschaulicht.
-
Wie in 1 veranschaulicht, soll die Maschinenlernvorrichtung gemäß der vorliegenden Erfindung ein Betriebsprogramm eines Roboters ausgeben, das durch Durchführen eines Erlernens des Betriebsprogramms, zum Beispiel durch Verstärkendes Lernen, abgewandelt wurde, und weist eine künstliche Intelligenz 20 auf. Eine derartige Maschinenlernvorrichtung kann zum Beispiel für eine Robotersteuerung (Edge) jedes Roboters 1 vorgesehen werden, kann aber auch für jede Fabrik vorgesehen werden, die über eine Mehrzahl von Robotern (Robotersysteme) verfügt, zum Beispiel auf einem Fog-Server oder einem Cloud-Server, der mit einer Mehrzahl von Fabriken über eine Datenübertragungsleitung wie beispielsweise das Internet verbunden ist. Die in jedem Roboter vorgesehene Maschinenlernvorrichtung kann zum Beispiel derart ausgestaltet sein, dass sie verbindbar mit mindestens einer anderen Maschinenlernvorrichtung ist und ein Maschinenlernergebnis mit mindestens einer anderen derartigen Maschinenlernvorrichtung austauscht oder teilt.
-
Die künstliche Intelligenz (artificial intelligence, AI) 20 wird zum Beispiel mithilfe eines später beschriebenen neuronalen Netzwerks mit einer mehrschichtigen Struktur oder dergleichen realisiert, und empfängt Daten wie beispielsweise Information (Bildinformation) von den Kameras 12, 12' und 12a, eine Zykluszeit, in der der Roboter eine Verarbeitung durchführt, das Wackeln eines Arms des Roboters und eine Länge einer Betriebsbewegungsbahn des Arms des Roboters, um Lernen durchzuführen (Verstärkendes Lernen), und gibt das Betriebsprogramm als abgewandelt (erlernt) aus. Anders ausgedrückt: Ein derartiges Betriebsprogramm wie das erlernte ermöglicht eine Abwandlung von Lehren, zum Beispiel derart, dass der Arm des Roboters, eine an dem Arm angebrachte Vorrichtung oder dergleichen nicht in Kontakt mit einem Vorgangsziel und einem peripheren Material kommen, während eine Länge der Zykluszeit oder dergleichen eingeschränkt ist.
-
2 ist ein Blockschaltbild, das eine Ausführungsform des Robotersystems der vorliegenden Erfindung veranschaulicht. Wie in 2 veranschaulicht, umfasst das Robotersystem der vorliegenden Erfindung den Roboter 1 und eine Maschinenlernvorrichtung 2. Wie vorstehend beschrieben, kann die Maschinenlernvorrichtung 2 zum Beispiel für die Robotersteuerung vorgesehen werden, die einen Betrieb des Roboters 1 steuert.
-
Wie in 2 veranschaulicht, umfasst die Maschinenlernvorrichtung 2 (Robotersteuerung) eine Zustandsbeobachtungseinheit 21, eine Bestimmungsdaten-Erlangungseinheit 22, eine Lerneinheit 23 sowie eine Entscheidungseinheit 24, und die Lerneinheit 23 umfasst eine Belohnungsberechnungseinheit 231 und eine Wertfunktions-Aktualisierungseinheit 232. Die Maschinenlernvorrichtung 2 wird später detailliert beschrieben. An einem Arm 11 des Roboters 1 ist die Kamera 12 vorgesehen, und außerdem ist über dem Roboter 1 die Kamera 12a vorgesehen. Ferner kann, wie später detailliert mit Bezug auf 8 beschrieben wird, als die Kamera zum Beispiel auch die Kamera 12', die an einem Arm 11' eines benachbarten Roboters 1' angebracht ist, verwendet werden. Durch die Information von Bildern, erfasst mithilfe derartiger Kameras 12, 12' und 12a, werden zum Beispiel Daten wie das Wackeln des Arms 11 und die Betriebsbewegungsbahn des Arms 11 beobachtet und an die Maschinenlernvorrichtung 2 ausgegeben. Überdies kann die Zykluszeit, in der der Roboter 1 eine Verarbeitung durchführt, auch aus der Information der von den Kameras 12, 12a erfassten Bilder bestimmt werden, aber eine Ausgabe eines in der Robotersteuerung vorgesehenen Zeitgebers kann zum Beispiel ebenfalls genutzt werden.
-
3 ist ein Blockschaltbild, das ein Beispiel der Maschinenlernvorrichtung der vorliegenden Erfindung veranschaulicht. Wie in 3 veranschaulicht, umfasst die Maschinenlernvorrichtung 2 die Zustandsbeobachtungseinheit 21, die Bestimmungsdaten-Erlangungseinheit 22, die Lerneinheit 23 sowie die Entscheidungseinheit 24. Die Zustandsbeobachtungseinheit 21 beobachtet als eine Zustandsvariable das Wackeln des Arms 11 des Roboters 1 und/oder die Betriebsbewegungsbahn des Arms 11. Daten über das Wackeln des Arms 11 und die Betriebsbewegungsbahn des Arms 11 werden auf der Grundlage eines von den Kameras 12, 12a erfassten Bildes oder von Daten von der Robotersteuerung beobachtet, wie später beschrieben wird. Zu den Daten von der Robotersteuerung zählen zum Beispiel Daten über die Betriebsbewegungsbahn des Arms 11, erfasst auf Grundlage eines Signals von einem Codierer (Drehgeber), der auf jeder Achse des Roboters 1 vorgesehen ist. Des Weiteren kann die die Zustandsbeobachtungseinheit 21 ferner als die Zustandsvariable auch mindestens eines aus einer Position, einer Geschwindigkeit und einer Beschleunigung des Arms 11 des Roboters 1 beobachten.
-
Die Bestimmungsdaten-Erlangungseinheit 22 erlangt als Bestimmungsdaten die Zykluszeit, in der der Roboter 1 eine Verarbeitung durchführt. Die Lerneinheit 23 erlernt das Betriebsprogramm des Roboters 1 auf der Grundlage einer Ausgabe der Zustandsbeobachtungseinheit 21 und einer Ausgabe der Bestimmungs-Erlangungseinheit 22. Zu der Lerneinheit 23 zählen die Belohnungsberechnungseinheit 231 und die Wertfunktions-Aktualisierungseinheit 232. Die Belohnungsberechnungseinheit 231 berechnet eine Belohnung auf Grundlage der Ausgabe der Zustandsbeobachtungseinheit 21 und der Ausgabe der Bestimmungs-Erlangungseinheit 22, und die Wertfunktions-Aktualisierungseinheit 232 aktualisiert eine Wertfunktion, die einen Wert des Betriebsprogramms des Roboters 1 auf Grundlage der Ausgabe der Zustandsbeobachtungseinheit 21, der Ausgabe der Bestimmungsdaten-Erlangungseinheit 22 und einer Ausgabe der Belohnungsberechnungseinheit 231 bestimmt. Die Entscheidungseinheit 24 bestimmt den Arbeitsvorgang des Roboters 1 auf Grundlage des Betriebsprogramms des Roboters 1, wie es von der Lerneinheit 23 erlernt wird.
-
Übrigens verfügt die Maschinenlernvorrichtung 2 über Funktionen zum analytischen Extrahieren einer nützlichen Regel, einer Wissensdarstellung, eines Kriteriums zur Bestimmung oder dergleichen aus einem in die Vorrichtung eingegebenen Datensatz, in dem diese enthalten sind, Ausgeben eines Ergebnisses der Bestimmung und Durchführen eines Erlernens von Wissen (Maschinenlernen). Für das Maschinenlernen stehen verschiedene Techniken zur Verfügung, die grob zum Beispiel in „Überwachtes Lernen“, „Nicht überwachtes Lernen“ und „Verstärkendes Lernen“ eingeteilt werden. Des Weiteren gibt es eine als „Deep Learning“ bezeichnete Technik, bei der ein Extrahieren eines Merkmalswertes per se erlernt wird, um diese Techniken zu realisieren.
-
Die Maschinenlernvorrichtung 2, veranschaulicht in 3, nutzt „Verstärkendes Lernen (Q-Learning)“.
-
Obwohl bei der Maschinenlernvorrichtung 2 ein Universalcomputer oder ein Prozessor genutzt werden kann, ermöglicht zum Beispiel ein Übernehmen von General-Purpose Computing on Graphics Processing Units (GPGPU), großen PC-Clustern oder dergleichen eine höhere Verarbeitung. Es wird ein Überblick über das gesamte Maschinenlernen gegeben.
-
Als Erstes wird beim Überwachten Lernen die Maschinenlernvorrichtung mit einer großen Menge Lehrerdaten versehen, d.h. Datensätzen von gewissen Eingaben und Ergebnissen (Labels), um Merkmale in den Datensätzen zu erlernen und induktiv ein Modell (Fehlermodell) zum Schätzen des Ergebnisses aus der Eingabe, d.h. einer Beziehung von diesen, zu erhalten. Zum Beispiel kann Überwachtes Lernen unter Verwendung eines Algorithmus, wie beispielsweise eines neuronalen Netzwerks wie nachfolgend beschrieben, realisiert werden.
-
Nicht überwachtes Lernen ist eine Technik, bei der die Maschinenlernvorrichtung ausschließlich mit einer großen Menge Eingabedaten versehen wird, um zu lernen, wie die Eingabedaten verteilt sind, und die Vorrichtung, die eine Kompression, Klassifizierung, ein Formen oder dergleichen bezogen auf die Eingabedaten durchführt, ein Lernen durchführt, ohne mit entsprechenden Lehrer-Ausgabedaten versehen zu sein. Zum Beispiel können Merkmale in den Datensätzen zu ähnlichen Merkmalen geclustert werden. Unter Verwendung dieses Ergebnisses ist es möglich, eine Vorhersage einer Ausgabe zu erreichen, indem Ausgaben derart zugewiesen werden, dass ein Kriterium definiert wird, um das Ergebnis zu optimieren.
-
Als eine dazwischenliegende Problemstellung zwischen Nicht überwachtem Lernen und Überwachtem Lernen gibt es eine als Halbüberwachtes Lernen bezeichnete, die zum Beispiel auf einen Fall zutrifft, bei dem nur einige Datensätze von Eingaben und Ausgaben vorliegen, und die verbleibenden Daten nur Eingaben sind.
-
Als Nächstes wird Verstärkendes Lernen detailliert näher beschrieben.
-
Als Erstes wird eine Problemstellung beim Verstärkenden Lernen betrachtet wie folgt.
-
Ein Robotersystem (d.h. der Roboter 1 und die Robotersteuerung (eingeschlossen zum Beispiel die Maschinenlernvorrichtung 2)) beobachtet einen Zustand der Umgebung und entscheidet sich für eine Aktion.
-
Die Umgebung kann sich gemäß einer Regel verändern, und ferner kann das Robotersystem die Umgebung durch seine eigene Aktion verändern.
-
Ein Belohnungssignal wird jedes Mal zurückgegeben, wenn die Aktion unternommen wird.
-
Es ist die Summe (unberücksichtigter) Belohnungen in der Zukunft, deren Maximierung gewünscht wird.
-
Lernen beginnt in einem Zustand, in dem das von der Aktion verursachte Ergebnis vollständig unbekannt oder nur unvollständig bekannt ist. Anders ausgedrückt: Die Robotersteuerung kann das Ergebnis als Daten nur erlangen, nachdem sie tatsächlich eine Aktion unternimmt. Kurz gesagt, ist es zu bevorzugen, die optimale Aktion durch Versuch und Irrtum zu untersuchen.
-
Durch Festlegen eines Zustands, bei dem Lernen (eine Technik wie beispielsweise Überwachtes Lernen wie vorstehend beschrieben oder Umgekehrtes verstärkendes Lernen) im Voraus durchgeführt wird, um ein menschliches Verhalten als den Anfangszustand nachzuahmen, kann Lernen von einem guten Ausgangspunkt aus begonnen werden.
-
Verstärkendes Lernen ist eine Technik, bei der nicht nur durch Bestimmung oder Klassifizierung, sondern auch durch Erlernen von Aktionen eine angemessene Aktion erlernt wird, unter Berücksichtigung der Interaktion, für die eine Aktion gegenüber der Umgebung sorgt, d.h., wie die in der Zukunft erlangte Belohnung zu maximieren ist. Im Folgenden wird hier die Beschreibung mit einem Beispiel für Q-Lernen fortgesetzt, aber die vorliegende Erfindung ist nicht auf Q-Lernen beschränkt.
-
Q-Lernen ist ein Verfahren zum Erlernen eines Wertes Q(s, a) zum Auswählen einer Aktion a in einem gewissen Umgebungszustand s. Anders ausgedrückt: In dem gewissen Zustand s kann eine Aktion a mit dem höchsten Wert Q(s, a) bevorzugt als die optimale Aktion ausgewählt werden. Allerdings ist anfangs der richtige Wert für den Wert Q(s, a) für ein Paar aus dem Zustand s und der Aktion a vollständig unbekannt. Dementsprechend wählt ein Agent (Aktionssubjekt) verschiedene Aktionen a unter dem gewissen Zustand s und bekommt zu dieser Zeit eine Belohnung für die Aktion a. Folglich lernt der Agent, eine bessere Aktion auszuwählen, d.h. einen richtigen Wert Q(s, a).
-
Ferner wird als ein Ergebnis der Aktion gewünscht, die Summe der in der Zukunft erhaltenen Belohnungen zu maximieren, und es wird darauf abgezielt, schließlich
zu erfüllen.
-
Es wird angenommen, dass der erwartete Wert für den Fall genommen wird, wenn sich der Zustand nach der optimalen Aktion ändert, und da er nicht bekannt ist, wird er durch Durchführen von Erkundung (exploration) erlernt. Eine Aktualisierungsformel für einen derartigen Wert Q(s, a) kann zum Beispiel durch Gleichung (1) dargestellt werden wie folgt:
-
In der vorstehenden Gleichung (1), repräsentiert st einen Zustand der Umgebung zu einer Zeit t, und at repräsentiert eine Aktion zu der Zeit t. Die Aktion at ändert den Zustand in st+1. rt+1 repräsentiert eine Belohnung, die mit der Änderung des Zustands gewonnen werden kann. Ferner ist der Term, an den max angehängt ist, das Produkt des Q-Wertes multipliziert mit yfür den Fall, in dem die Aktion a mit dem höchsten zu der Zeit bekannten Q-Wert unter dem Zustand st+1 ausgewählt wird. γ ist ein Parameter, der 0 < γ ≤ 1 erfüllt und als eine Discount Rate bezeichnet wird. α ist ein Lernfaktor, der in dem Bereich von 0 < α ≤ 1 liegt.
-
Die vorstehende Gleichung (1) repräsentiert ein Verfahren zum Aktualisieren des Bewertungswertes Q(st, at) der Aktion at in dem Zustand st auf der Grundlage der Belohnung rt+1, die als ein Ergebnis der Aktion at zurückgegeben wird. Anders ausgedrückt: Es wird angegeben, dass, wenn eine Summe der Belohnung rt+1 und des Bewertungswertes Q(st+1, max at+1) der besten Aktion max a in dem Zustand, der auf den Zustand s bei der Aktion a folgt, größer ist als der Bewertungswert Q(st, at) der Aktion a in dem Zustand s, Q(st, at) zunimmt; andernfalls nimmt Q(st, at) ab. Anders ausgedrückt: Er ist derart ausgestaltet, dass ein Wert einer gewissen Aktion in einem gewissen Zustand an die Belohnung angenähert wird, die aufgrund dessen umgehend zurückgegeben wird, und an den Wert der besten Aktion in dem bei dieser Aktion folgenden Zustand.
-
Zu Verfahren zum Darstellen von Q(s, a) auf einem Computer zählen ein Verfahren, bei dem Werte aller Zustand-Aktion-Paare (s, a) in der Form einer Tabelle festgehalten werden, und ein Verfahren, bei dem eine Funktion vorgesehen wird, die Q(s, a) approximiert.
-
Bei dem letzteren Verfahren kann die vorstehende Gleichung (1) durch Anpassen von Parametern der Approximationsfunktion unter Verwendung einer Technik wie beispielsweise einem Stochastic-Gradient-Descent-Verfahren realisiert werden. Als die Approximationsfunktion kann ein später beschriebenes neuronales Netzwerk verwendet werden.
-
Als ein Approximationsalgorithmus für eine Wertfunktion bei Verstärkendem Lernen kann ebenfalls ein neuronales Netzwerk verwendet werden. 4 ist eine Darstellung, die schematisch ein Modell für ein Neuron veranschaulicht, und 5 ist eine Darstellung, die schematisch ein dreischichtiges neuronales Netzwerk veranschaulicht, das durch Kombinieren von Neuronen gebildet wird, wie sie in 4 veranschaulicht sind. Anders ausgedrückt: Das neuronale Netzwerk ist zum Beispiel aus einer arithmetischen Vorrichtung, die ein Modell für ein Neuron simuliert, wie es in 4 veranschaulicht ist, einem Speicher und dergleichen ausgestaltet.
-
Wie in
4 veranschaulicht, gibt das Neuron eine Ausgabe (Ergebnis) y für eine Mehrzahl von Eingaben x (in
4 beispielhaft die Eingaben x1 bis x3) aus. 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. Zu beachten ist, dass alle der eingegeben x, das Ergebnis y und die Gewichtung w Vektoren sind. In der folgenden Gleichung (2) ist θ ein Bias, und f
k ist eine Aktivierungsfunktion.
-
Mit Bezug auf 5: Es wird eine Beschreibung eines dreischichtigen neuronalen Netzwerks gegeben, das mithilfe einer Kombination von Neuronen gebildet wird, wie in 4 veranschaulicht. Wie in 5 veranschaulicht, wird eine Mehrzahl von Eingaben x (hier beispielhaft Eingabe x1 bis Eingabe x3) von der linken Seite des neuronalen Netzwerks her eingegeben, und ein Ergebnis y (hier beispielhaft Ergebnis yl bis Eingabe y3) wird von der rechten Seite ausgegeben. Insbesondere werden die drei Eingaben x1, x2 und x3 mit einer Gewichtung multipliziert, die jedem der drei Neuronen N11 bis N13 entspricht, und eingegeben. Die zum Multiplizieren dieser Eingaben verwendeten Gewichtungen werden insgesamt als W1 bezeichnet.
-
Die Neuronen N11 bis N13 geben jeweils z11 bis z13 aus. In 5 werden z11 bis z13 zusammen als ein Merkmalsvektor Z1 bezeichnet, der als ein Vektor betrachtet werden kann, der durch Extrahieren von Merkmalswerten des Eingangsvektors erlangt 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 zwei Neuronen N21 und N22 entspricht, und eingegeben. Die zum Multiplizieren dieser Merkmalsvektoren verwendeten Gewichtungen werden insgesamt als W2 bezeichnet.
-
Die Neuronen N21 und N22 geben jeweils z21 und z22 aus. In 5 werden z21, z22 insgesamt als ein Merkmalsvektor Z2 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 zum Multiplizieren dieser Merkmalsvektoren verwendeten Gewichtungen werden insgesamt als W3 bezeichnet.
-
Schließlich geben die Neuronen N31 bis N33 jeweils das Ergebnis yl bis Ergebnis y3 aus. Der Betrieb des neuronalen Netzwerks beinhaltet einen Lernmodus und einen Wertvorhersagemodus. Zum Beispiel wird in dem Lernmodus die Gewichtung W unter Verwendung eines Lerndatensatzes erlernt, und in dem Vorhersagemodus wird die Aktion der Robotersteuerung unter Verwendung der Parameter bestimmt. Obwohl der Einfachheit halber auf Vorhersage Bezug genommen wird, ist es überflüssig zu sagen, dass verschiedene Aufgaben wie beispielsweise Erkennung, Klassifizierung, Folgerung und dergleichen möglich sind.
-
Es ist möglich, dass die Daten, die durch ein tatsächliches Betreiben der Robotersteuerung in dem Vorhersagemodus erlangt werden, umgehend erlernt werden, um bei der folgende Aktion reflektiert zu werden (Online Learning), und ebenso, dass eine Gruppe von im Voraus gesammelten Daten verwendet wird, um Collective Learning durchzuführen, und ein Erkennungsmodus mit dem Parameter ab dann ausgeführt wird (Batch-Learning). Ein dazwischen liegender Fall, bei dem ein Lernmodus jedes Mal dazwischengeschaltet wird, wenn Daten in einem gewissen Ausmaß angesammelt werden, ist ebenfalls möglich.
-
Die Gewichtungen W1 bis W3 können mithilfe eines Fehler-Backpropagation-Verfahrens erlernt werden. Die Fehlerinformation tritt von der rechten Seite ein und fließt zu der linken Seite. Das Fehler-Backpropagation-Verfahren ist eine Technik zum Anpassen (Lehnen) 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 verringern. Ein derartiges neuronales Netzwerk kann drei oder mehr Schichten aufweisen (als Deep Learning bezeichnet). Es ist möglich, Merkmale der Eingabe Schritt für Schritt zu extrahieren, um automatisch eine arithmetische Vorrichtung zu erlangen, die die Ergebnisse ausschließlich aus den Lehrerdaten zurückmeldet.
-
Wie mit Bezug auf 3 beschrieben, umfasst die Maschinenlernvorrichtung 2 gemäß dem vorliegenden Beispiel die Zustandsbeobachtungseinheit 21, die Bestimmungsdaten-Erlangungseinheit 22, die Lerneinheit 23 sowie die Entscheidungseinheit 24, um zum Beispiel Q-Lernen durchzuführen. Es sollte beachtet werden, dass das auf die vorliegende Erfindung angewendete Maschinenlernverfahren nicht auf Q-Lernen beschränkt ist, und wie vorstehend beschrieben kann die Maschinenlernvorrichtung 2 durch Übernehmen von GPGPU, großen PC-Clustern oder dergleichen realisiert werden.
-
6 ist ein Ablaufplan, der ein Beispiel einer Verarbeitung in der in 3 veranschaulichten Maschinenlernvorrichtung veranschaulicht. Wie in 6 veranschaulicht, werden, wenn ein Maschinenlernen beginnt (Lernbeginn), bei Schritt ST11 die Bewegungsbahn, die Geschwindigkeit und die Beschleunigung des Roboters (Arm 11) auf der Grundlage der Information von den Kameras 12 und 12a geändert. Als Nächstes wird bei Schritt ST12 das Wackeln des Arms 11 bestimmt, bei Schritt ST17 wird die Länge der Bewegungsbahn des Arms 11 bestimmt, und bei Schritt ST22 wird die Zykluszeit bestimmt. In Bezug auf das Bestimmen des Wackelns des Arms 11 bei Schritt ST12, das Bestimmen der Länge der Bewegungsbahn des Arms 11 bei Schritt ST17 und das Bestimmen der Zykluszeit bei Schritt ST22, wird möglicherweise, anstatt alle Bestimmungen durchzuführen, nur ein Teil der Bestimmungen (zum Beispiel nur das Bestimmen des Wackelns des Arms bei Schritt ST12 und das Bestimmen der Zykluszeit bei Schritt ST22) durchgeführt. Alternativ ist es ferner auch möglich, noch ein weiteres Bestimmungselement hinzuzufügen.
-
Bei dem Beispiel der in 6 veranschaulichten Verarbeitung schreitet bei Schritt ST12, wenn das Wackeln des Arms 11 als stark (ausgeprägt) bestimmt wird, der Prozess fort zu ST13, und „-20“ (Belohnungswert) wird festgelegt; wenn das Wackeln des Arms 11 als unverändert bestimmt wird, schreitet der Prozess fort zu Schritt ST14, und „0“ wird festgelegt; oder wenn das Wackeln des Arms 11 als leicht (gering) bestimmt wird, schreitet der Prozess fort zu Schritt ST15, und „+20“ wird festgelegt; und dann schreitet der Prozess fort zu Schritt ST16, und eine Belohnungsaddition wird durchgeführt.
-
Bei Schritt ST17, wenn die Länge der Bewegungsbahn des Arms 11 als lang bestimmt wird, schreitet der Prozess fort zu Schritt ST18, und „-10“ (Belohnungswert) wird festgelegt; wenn die Länge der Bewegungsbahn des Arms 11 als unverändert bestimmt wird, schreitet der Prozess fort zu Schritt ST19, und „0“ wird festgelegt; oder wenn die Länge der Bewegungsbahn des Arms 11 als kurz bestimmt wird, schreitet der Prozess fort zu Schritt ST20, und „+10“ wird festgelegt; und dann schreitet der Prozess fort zu Schritt ST21, und eine Belohnungsaddition wird durchgeführt.
-
Bei Schritt ST22 schreitet, wenn die Zykluszeit als lang bestimmt wird, der Prozess fort zu Schritt ST23, und „-30“ (Belohnungswert) wird festgelegt; wenn die Zykluszeit als unverändert bestimmt wird, schreitet der Prozess fort zu Schritt ST24, und „0“ wird festgelegt; oder wenn die Zykluszeit als kurz bestimmt wird, schreitet der Prozess fort zu Schritt ST25, und „+30“ wird festgelegt; und ferner schreitet der Prozess fort zu Schritt ST26, und eine Belohnungsaddition wird durchgeführt.
-
Wie vorstehend beschrieben, werden die Belohnungswerte entsprechend jeweiligen Bestimmungselementen gewichtet, und bei dem Beispiel der in 6 veranschaulichten Verarbeitung, wird beispielsweise die Bestimmung der Zykluszeit bei Schritt ST22 stark gewichtet („-30, 0, +30“), und die Bestimmung der Länge der Bewegungsbahn des Arms 11 bei Schritt ST17 wird gering gewichtet („-10, 0, +10“). Gewichten entsprechend jeweiligen Bestimmungselementen kann derart variiert werden, dass es einen positiven Wert oder einen negativen Wert annimmt, oder es kann dafür gesorgt werden, dass Gewichten in Bezug auf alle Elemente denselben Wert annimmt.
-
Als Nächstes schreitet der Prozess fort zu Schritt ST27, und die Belohnungswerte in Bezug auf jeweilige Bestimmungselemente, die bei den vorstehend beschriebenen Schritten ST16, ST21 und ST26 addiert wurden, werden addiert, und der Prozess schreitet weiter fort zu Schritt ST28, und auf der Grundlage der bei Schritt ST27 addierten Belohnungswerte wird ein Lehrprogramm (Betriebsprogramm des Roboters) abgewandelt. Wenn der Prozess bei Schritt ST28 beendet ist, kehrt der Prozess zum Beispiel zurück zu Schritt ST11, und die ungefähr gleiche Verarbeitung wird wiederholt.
-
Die Prozesse bei jeweiligen vorstehend beschriebenen Schritten können mithilfe jeweiliger Blöcke in 3 durchgeführt werden, wie vorstehend beschrieben. Anders ausgedrückt: Die Addition der Belohnungswerte bei Schritt ST12 bis ST27 kann zum Beispiel als Belohnungsberechnungsprozess von der Belohnungsberechnungseinheit 231 in 3 durchgeführt werden. Die Abwandlung des Lehrprogramms bei Schritt ST28 kann zum Beispiel durch einen Aktualisierungsprozess der Wertfunktion (Aktionswerttabelle) mithilfe der Wertfunktions-Aktualisierungseinheit 232 und einen Bestimmungsprozess des Betriebsprogramms (Lehrprogramm) des Roboters auf Grundlage der aktualisierten Wertfunktion mithilfe der Entscheidungseinheit 24 in 3 durchgeführt werden. Auf diese Weise kann gemäß der vorliegenden Ausführungsform das abgewandelte Betriebsprogramm des Roboters erlangt werden.
-
7 ist ein Ablaufplan, der ein weiteres Beispiel der Verarbeitung in der in 3 veranschaulichten Maschinenlernvorrichtung veranschaulicht. Wie in 7 veranschaulicht, werden, wenn ein Maschinenlernen beginnt (Lernbeginn), bei Schritt ST31 die Bewegungsbahn, die Geschwindigkeit und die Beschleunigung des Roboters 1 (Arm 11) auf der Grundlage der Information von den Kameras 12 und 12a geändert. Der Prozess schreitet weiter fort zu Schritt ST32, und die Länge der Bewegungsbahn des Arms 11 wird bestimmt; wenn die Länge der Bewegungsbahn des Arms 11 als lang bestimmt wird, schreitet der Prozess fort zu Schritt ST33, und „-10“ (Belohnungswert) wird festgelegt; wenn die Länge der Bewegungsbahn des Arms 11 als unverändert bestimmt wird, schreitet der Prozess fort zu Schritt ST34, und „0“ wird festgelegt; oder wenn die Länge der Bewegungsbahn des Arms 11 als kurz bestimmt wird, schreitet der Prozess fort zu Schritt ST35, und „+10“ wird festgelegt; und dann schreitet der Prozess fort zu Schritt ST36, und eine Belohnungsaddition wird durchgeführt.
-
Als Nächstes schreitet der Prozess fort zu Schritt ST37, und das Wackeln des Arms 11 wird bestimmt; wenn das Wackeln des Arms 11 als stark bestimmt wird, schreitet der Prozess fort zu Schritt ST38, und „-20“ (Belohnungswert) wird festgelegt; wenn das Wackeln des Arms 11 als unverändert bestimmt wird, schreitet der Prozess fort zu Schritt ST39, und „0“ wird festgelegt; oder wenn das Wackeln des Arms 11 als leicht bestimmt wird, schreitet der Prozess fort zu Schritt ST40, und „+20“ wird festgelegt; und dann schreitet der Prozess fort zu Schritt ST41, und eine Belohnungsaddition wird durchgeführt. Der Prozess schreitet fort zu Schritt ST42, und die Zykluszeit wird festgelegt; wenn die Zykluszeit als lang bestimmt wird, schreitet der Prozess fort zu Schritt ST43, und „-30“ (Belohnungswert) wird festgelegt; wenn die Zykluszeit als unverändert bestimmt wird, schreitet der Prozess fort zu Schritt ST44, und „0“ wird festgelegt; oder wenn die Zykluszeit als kurz bestimmt wird, schreitet der Prozess fort zu Schritt ST45, und „+30“ wird festgelegt; und dann schreitet der Prozess fort zu Schritt ST46, und eine Belohnungsaddition wird durchgeführt. Der Prozess schreitet weiter fort zu Schritt ST47, und das Lehrprogramm wird auf der Grundlage der addierten Belohnungswerte abgewandelt. Wenn der Prozess bei Schritt ST47 beendet ist, kehrt der Prozess zurück zu Schritt ST31, und die ungefähr gleiche Verarbeitung wird wiederholt.
-
Ähnlich wie bei den mit Bezug auf 6 beschriebenen Bestimmungen, kann in Bezug auf die Bestimmung der Länge der Bewegungsbahn des Arms 11 bei Schritt ST32 bis ST36, der Bestimmung des Wackelns des Arms 11 bei Schritt ST37 bis ST41 und der Bestimmung der Zykluszeit bei Schritt ST42 bis ST46, anstatt alle Bestimmungen durchzuführen, nur ein Teil der Bestimmungen durchgeführt werden, oder ein weiteres Bestimmungselement kann hinzugefügt werden. Überdies kann Gewichten entsprechend jeweiligen Bestimmungselementen angemessen variiert werden. Des Weiteren können die Prozesse bei jeweiligen Schritten zum Beispiel mithilfe jeweiliger Blöcke durchgeführt werden, wie in der vorstehend beschriebenen 3 veranschaulicht.
-
8 ist eine Darstellung zum Veranschaulichen der Bewegungsbahn des Arms des Roboters in dem Robotersystem, und soll schematisch die Bewegungsbahn des Arms veranschaulichen, zum Beispiel, wenn der Arm 11 des Roboters 1, der Punktschweißen durchführt, in einer Richtung von links nach rechts in der Zeichnung bewegt wird, um Punktschweißen durchzuführen. In 8 bezeichnen die Bezugszeichen WP1 bis WP5 Positionen (Schweißpunkte, an denen Punktschweißen durchgeführt wird), die der Arm 11 (Schweißkopf) des Roboters 1 passieren muss, und die Bezugszeichen TP11 bis TP19 bezeichnen Punkte (Lehrpunkte), die der Lehrer den Roboter 1 lehrt.
-
Außerdem gibt in 8 eine Kurve TL1 die von einer Person (Lehrer) gelehrte Bewegungsbahn (Betriebsbewegungsbahn) des Arms 11 an, eine Kurve TL2 gibt die Bewegungsbahn des Arms 11 auf Grundlage des Betriebsprogramms des Roboters an, das von der Maschinenlernvorrichtung gemäß der vorstehend beschriebenen vorliegenden Ausführungsform erlangt und abgewandelt wurde, und eine Kurve TL3 gibt die Bewegungsbahn des Arms 11 an, der einen Weg nimmt, auf dem eine Entfernung zu einem peripheren Material und einem Werkstück (Vorgangsziel) die kürzeste ist. Wie in 8 veranschaulicht, ist der Arm 11 des Roboters 1 mit der Kamera 12 versehen, und sie ist zum Beispiel derart ausgestaltet, dass sie in der Lage ist, eine Entfernung zu dem Arbeitsvorgangsziel und Betriebspositionen (Schweißpunkte) zu bestätigen und Information über das Wackeln des Arms 11 und dergleichen zu erfassen.
-
Über dem Roboter 1 und an einer Position, von der aus die Gesamtheit eines Betriebsbereichs, in dem ein Arbeitsvorgang von dem Roboter 1 (Arm 11) durchgeführt wird, zu übersehen ist, ist die Kamera 12a vorgesehen, und sie ist derart ausgestaltet, dass sie zum Beispiel in der Lage ist, eine Entfernung und eine Positionsbeziehung zwischen dem Arm 11 oder einer an dem Arm 11 angebrachten Vorrichtung und dem Arbeitsvorgangsziel und dem peripheren Material, sowie Information über das Wackeln des Arms 11, die Bewegungsbahn des Arms 11 und dergleichen zu erfassen.
-
Es ist auch möglich, als die Kamera zum Beispiel die Kamera 12' zu verwenden, die an dem Arm 11' des peripheren Roboters 1' angebracht ist.
-
In 8 bezeichnet das Bezugszeichen 1' einen peripheren Roboter, der in der Nähe (zum Beispiel benachbart) des Roboters 1 vorgesehen ist, und ein Arm 11' des Roboters 1' ist auch mit der Kamera 12' versehen. Die Kamera 12', die an dem Arm 11' des peripheren Roboters 1' vorgesehen ist, kann den Arm 11 des Roboters 1 erfassen und das Wackeln und die Bewegungsbahn des Arms 11 des Roboters 1 auf der Grundlage der erfassten Daten bestimmen. Anders ausgedrückt: Das Wackeln und die Bewegungsbahn des Arms 11 des gewissen Roboters 1 können aus Daten bestimmt werden, die von der Kamera 12' erfasst werden, die an dem Arm 11' des peripheren Roboters 1' vorgesehen ist. Es sollte beachtet werden, dass der periphere Roboter 1' zum Beispiel nicht auf einen benachbarten Roboter beschränkt ist, und Daten, die von jeweiligen Kameras einer Mehrzahl von Robotern in der Nähe erfasst werden, können gegebenenfalls auch anders verwendet werden.
-
Mithilfe der Kamera 12a oder verschiedenen Typen von Sensoren wie beispielsweise einem an dem Arm 11 vorgesehenen Beschleunigungssensor zusammen mit der Kamera 12, oder mithilfe der Kamera 12', die an dem peripheren Roboter 1' angebracht ist, und verschiedenen Typen von Sensoren, die in den Robotern 1 und 1' vorgesehen sind, kann Information über die Geschwindigkeit, die Beschleunigung und dergleichen des Arms 11 des Roboters 1 erfasst werden. Überdies kann die Zykluszeit der Verarbeitung durch den Roboter 1 aus Ausgabedaten eines Zeitgebers der Robotersteuerung, die den Roboter 1 steuert, und dergleichen erfasst werden, aber sie kann zum Beispiel auch durch Analysieren eines von der Kamera 12a erfassten Bildes oder dergleichen erfasst werden. Es ist überflüssig zu sagen, dass ein Ort, an dem die Kamera angebracht ist, nicht auf einen Ort über dem Roboter 1 beschränkt ist, sondern sich in der Nähe des Roboters 1 befinden kann, z.B. an einer Seite des Roboters 1 oder unter diesem.
-
Wie in 8 veranschaulicht, ist zum Beispiel offensichtlich, dass die Bewegungsbahn TL2 entsprechend dem Betriebsprogramm des Roboters, wie es durch Lernen der Maschinenlernvorrichtung 2 gemäß der vorliegenden Ausführungsform abgewandelt wurde, sich von der von dem Lehrer gelehrten Bewegungsbahn TL1 unterscheidet, und sich auch von der Bewegungsbahn TL3 unterscheidet, die einen Weg nimmt, auf dem eine Entfernung zu dem peripheren Material und dem Werkstück die kürzeste ist.
-
Anders ausgedrückt: Es ist offensichtlich, dass die Bewegungsbahn TL1, bestimmt von dem Lehrer (Person) unter Berücksichtigung von Bedingungen wie beispielsweise dem Wackeln des Arms 11 des Roboters 1, der Länge der Betriebsbewegungsbahn oder der Zykluszeit, in der Roboter eine Verarbeitung durchführt, weitgehend von der Bewegungsbahn (durch Maschinenlernen erlangte Bewegungsbahn) TL2 abweicht, die in Bezug auf verschiedene Bedingungen als vorteilhaft angesehen wird. Es ist außerdem offensichtlich, dass sich die durch Maschinenlernen erlangte Bewegungsbahn TL2 von der Bewegungsbahn TL3 unterscheidet, die einen Weg nimmt, auf dem eine Entfernung zu dem peripheren Material und dem Werkstück lediglich die kürzeste ist. Anders ausgedrückt: Sie kann ebenfalls in Betracht gezogen werden, da bei der Bewegungsbahn TL3, die den kürzesten Weg nimmt, die Geschwindigkeit und die Beschleunigung des Arms 11 verringert werden müssen, oder das Wackeln des Arms 11 wird ausgeprägt, sodass eine zum Punktschweißen benötigte Zeit lang wird.
-
Wie vorstehend detailliert beschrieben, kann gemäß der Maschinenlernvorrichtung, dem Robotersystem und dem Maschinenlernverfahren gemäß der vorliegenden Ausführungsform das modifizierte Betriebsprogramm des Roboters erlangt werden. Daher ist es zum Beispiel möglich, Lehren derart abzuwandeln, dass der Arm des Roboters, eine an dem Arm angebrachte Vorrichtung oder dergleichen nicht in Kontakt mit einem Arbeitsvorgangsziel und einem peripheren Material kommen. Es ist überflüssig zu sagen, dass eine Anwendung der vorliegenden Ausführungsform nicht auf den Punktschweißen durchführenden Roboter beschränkt ist, sondern eine Anwendung kann breitgefächert bei verschiedenen industriellen Robotern und Servicerobotern erfolgen.
-
Die Maschinenlernvorrichtung, das Robotersystem und das Maschinenlernverfahren der vorliegenden Erfindung bieten derart eine vorteilhafte Wirkung, dass sie in der Lage sind, ein modifiziertes Betriebsprogramm eines Roboters zu erlangen.
-
Alle Beispiele sowie konditionale Sprache, die hier vorkommen, dienen den pädagogischen Zwecken, den Leser beim Verstehen der Erfindung und der Konzepte zu unterstützen, die von dem Erfinder beigesteuert werden, um die Technik voranzubringen, und sollen weder als Einschränkungen derartiger speziell angeführter Beispiele und Bedingungen aufgefasst werden, noch bezieht sich die Anordnung derartiger Beispiele in der Beschreibung auf ein Zeigen der Überlegenheit und Minderwertigkeit der Erfindung. Obwohl eine oder mehrere Ausführungsformen der vorliegenden Erfindung detailliert beschrieben wurden, sollte beachtet werden, dass verschiedene Änderungen, Ersetzungen und Abänderungen daran vorgenommen werden können, ohne von dem Erfindungsgedanken und Schutzbereich der Erfindung abzuweichen.