-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung:
-
Die Erfindung betrifft ein Bestimmungsgerät und insbesondere ein Bestimmungsgerät, das automatisch Zustandsdaten bezüglich Kraftregelung eines Roboters bestimmt.
-
Beschreibung der verwandten Technik:
-
Operationen für präzises Zusammenfügen von Komponenten und Operationen, wie zum Beispiel Phasenausrichtung, Entgratung und Schleifen, werden von einem Roboter mit einem Kraftsensor ausgeführt. Eine solche Operation wird durch Regeln einer Kraft (oder Durchführen von Kraftregelung) in einer vorbestimmten Richtung auf einen gewünschten Wert durch Veranlassen des Roboters, eine Komponente oder ein Werkzeug zu greifen, erzielt. Als ein solches Kraftregelungsverfahren sind Impedanzkontrolle, Dämpfungsregelung, Hybridsteuerung und dergleichen bekannt, und bei jedem dieser Verfahren ist es erforderlich, manuell eine geeignete Steuerverstärkung einzustellen. Verfahren für automatisches Einstellen von Steuerverstärkung sind öffentlich bekannt (siehe zum Beispiel
japanische Patentanmeldungsoffenlegung Nr. 2007-237312 ).
-
Wie oben beschrieben, hängen, auch wenn die Verfahren zum Einstellen der Steuerverstärkung bei der Kraftregelung öffentlich bekannt sind, andere Parameter wie eine geeignete Druckkraft, Bewegungsgeschwindigkeit, Bewegungsrichtung und dergleichen von Einstellung durch die Bedienperson ab. Dabei besteht bei der Einschätzung bezüglich der Eignung solcher Parametereinstellung ein Unterschied zwischen einer erfahrenen Bedienperson und einer unerfahrenen Bedienperson. Insbesondere kann, falls eine unerfahrene Bedienperson eine Bestimmung der Parametereinstellung vornimmt, das Treffen einer Bestimmung basierend auf Versuch und Irrtum Zeit beanspruchen, oder die Bedienperson kann eine Bestimmung unterschiedlich von dem Ergebnis der tatsächlichen Parametereinstellung treffen, was bei nachfolgenden Operationen basierend auf dem Bestimmungsergebnis ein Problem verursachen kann. Zum Beispiel ergibt sich, falls Maschinenlernen basierend auf einem solchen fehlerhaften Bestimmungsergebnis ausgeführt wird, ein Problem dahingehend, dass kein akkurates Lernergebnis (Lernmodell) erhalten werden kann.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Deshalb stellt die vorliegende Erfindung ein Bestimmungsgerät bereit, das einer unerfahrenen Bedienperson beim Treffen einer Bestimmung hilft, auf die gleiche Weise wie es eine erfahrene Bedienperson bei Parametereinstellung für Kraftregelung macht.
-
Bei einem Aspekt der vorliegenden Erfindung wird das obige Problem durch Erstellen - bei der Einstellung jedes Parameters bezüglich der Steuerung eines Manipulators eines Industrieroboters - einer Evaluierungsfunktion, die das Ergebnis der Bestimmung bezüglich Erfolg/Fehler einer Operation hinsichtlich der Daten, die von der Operation zum Zeitpunkt der Ausführung der Kraftsteuerung des Industrieroboters erhalten werden, ausgibt, gelöst. Durch Verwenden einer Evaluierungsfunktion, die ein Bestimmungsergebnis gemäß einem vorbestimmten Standard ausgibt, verwendet das Bestimmungsgerät, das wie oben beschrieben ausgelegt ist, die Evaluierungsfunktion zum Ausführen der Bestimmung der Operation hinsichtlich der Daten, die zum Zeitpunkt der Operation des Industrieroboters erhalten werden, und somit ist es möglich, eine stabile Operationsbestimmung auszuführen, ohne auf die Erfahrung der Bedienperson angewiesen zu sein.
-
Das Bestimmungsgerät gemäß der vorliegenden Erfindung trifft eine Bestimmung der Operation eines Industrieroboters, der die Funktion des Detektierens einer Kraft und eines Moments, die an einen Manipulator angelegt werden, aufweist. Das Bestimmungsgerät weist Folgendes auf: eine Datenerfassungseinheit, die mindestens einen Zustand von Kraft und Moment, die an einen Manipulator angelegt werden, und einen Zustand einer Position und einer Lage bei einer Operation, wenn die Kraftregelung des Industrieroboters ausgeführt wird, als erhaltene Daten erfasst; eine Evaluierungsfunktionserstellungseinheit, die eine Evaluierungsfunktion erstellt, die die Qualität der Operation basierend auf den erhaltenen Daten evaluiert; eine Bestimmungsdatenerstellungseinheit, die Bestimmungsdaten für die erhaltenen Daten unter Verwendung einer Evaluierungsfunktion, die durch die Evaluierungsfunktionserstellungseinheit erstellt wird, erstellt; eine Vorverarbeitungseinheit, die Zustandsdaten, die zum Maschinenlernen verwendet werden, basierend auf den erhaltenen Daten erstellt; und eine Lerneinheit, die ein Lernmodell zum Bestimmen der Qualität einer Operation des Industrieroboters durch Verwendung der Zustandsdaten und der Bestimmungsdaten generiert.
-
Die Datenerfassungseinheit kann dazu ausgelegt sein, temporäre Bestimmungsdaten zu erstellen, in denen die Qualität der Operation gemäß der Zeit, die für die Operation benötigt wurde, bestimmt wird, und die Evaluierungsfunktionserstellungseinheit kann die Evaluierungsfunktion basierend auf den erstellten temporären Bestimmungsdaten erstellen.
-
Da das Bestimmungsgerät gemäß der vorliegenden Erfindung die obige Auslegung aufweist, kann sogar eine unerfahrene Bedienperson eine Bestimmung der Qualität einer Operation eines Industrieroboters gemäß einem vorbestimmten Standard in der Parametereinstellung der Kraftregelung treffen.
-
Figurenliste
-
- 1 ist ein schematisches Hardware-Konfigurationsdiagramm eines Bestimmungsgeräts gemäß einer Ausführungsform;
- 2 ist ein schematisches Funktionsblockdiagramm einer Steuerung gemäß einer ersten Ausführungsform;
- 3 ist eine Ansicht, die ein Beispiel einer Zusammenfügungsoperation einer Komponente durch einen Industrieroboter zeigt;
- 4 ist eine Ansicht, die ein Beispiel einer Anordnungsoperation von Getrieben durch einen Industrieroboter zeigt;
- 5 ist eine Ansicht, die ein Beispiel von Entgratungs- und Schleifoperation eines Werkstücks durch einen Industrieroboter zeigt;
- 6 ist ein schematisches Funktionsblockdiagramm der Steuerung gemäß einer zweiten Ausführungsform;
- 7 ist ein schematisches Funktionsblockdiagramm eines Systems gemäß einer dritten Ausführungsform;
- 8 ist ein schematisches Hardware-Konfigurationsdiagramm eines Computers gemäß einer Ausführungsform; und
- 9 ist ein schematisches Funktionsblockdiagramm eines Systems gemäß einer vierten Ausführungsform.
-
DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
1 ist ein schematisches Hardware-Konfigurationsdiagramm, das ein Hauptteil einer Steuerung, die eine Maschinenlernvorrichtung aufweist, gemäß einer Ausführungsform zeigt. Ein Bestimmungsgerät 1 gemäß der vorliegenden Erfindung kann als eine Steuerung angebracht werden, die einen Industrieroboter steuert, der Zusammenfügung und Anordnung von Komponenten, Entgraten und dergleichen ausführt.
-
Eine CPU 11, die in dem Bestimmungsgerät 1 gemäß der vorliegenden Erfindung, enthalten ist, ist ein Prozessor, der das Bestimmungsgerät 1 in der Gesamtheit steuert. Die CPU 11 liest ein Systemprogramm, das in einem ROM 12 gespeichert ist, über einen Bus 20 aus und steuert das gesamte Bestimmungsgerät 1 gemäß dem Systemprogramm. Ein RAM 13 speichert temporär temporäre Berechnungsdaten, verschiedene Daten und dergleichen, die von der Bedienperson über ein Programmierhandgerät 60 oder eine Eingabevorrichtung 71 eingegeben wurden.
-
Ein nichtflüchtiger Speicher 14 besteht zum Beispiel aus einem Speicher, einem Halbleiterlaufwerk (SSD) oder dergleichen, die von einer Batterie (nicht veranschaulicht) gesichert werden, und hält einen Speicherzustand aufrecht, auch wenn der Strom des Bestimmungsgeräts 1 abgeschaltet ist. Der nichtflüchtige Speicher 14 speichert Lerndaten, die über eine Schnittstelle 19 von dem Programmierhandgerät 60 eingegeben wurden, Daten, die von der Eingabevorrichtung 71 eingegeben wurden, ein Programm zum Steuern eines Industrieroboters, das über eine Schnittstelle (nicht gezeigt) eingegeben wurden, Daten, die durch einen Sensor 3, der an dem Industrieroboter angebracht ist, detektiert werden (Kraft oder Moment, die an den Manipulator angelegt werden), Daten, die durch einen Servomotor 50, der eine Achse des Industrieroboters antreibt, detektiert werden (Stromwert, Position, Geschwindigkeit, Beschleunigung, Drehmoment und dergleichen des Servomotors 50), Daten, die über eine externe Speichervorrichtung (nicht gezeigt) oder ein Netzwerk gelesen werden, und dergleichen. Die Programme und verschiedene Daten, die in dem nichtflüchtigen Speicher 14 gespeichert sind, können zum Zeitpunkt der Ausführung oder Verwendung in dem RAM 13 entwickelt werden. Verschiedene Systemprogramme (darunter Systemprogramme zum Steuern von Interkationen mit einer Maschinenlernvorrichtung 100 wie unten beschrieben) zum Ausführen von Verarbeitung oder dergleichen bezüglich der Steuerung des Roboters und des Lernens der Lernposition werden im Voraus in das ROM 12 geschrieben.
-
Verschiedene Daten, die in den Speicher gelesen wurden, Daten, die als ein Ergebnis der Ausführung des Programms oder dergleichen erhalten wurden, Daten, die von der Maschinenlernvorrichtung 100, wie später beschrieben, ausgegeben wurden, und dergleichen werden über eine Schnittstelle 17 ausgegeben und auf einer Anzeigevorrichtung 70 angezeigt. Die Eingabevorrichtung 71, die eine Tastatur und eine Zeigevorrichtung aufweist, leitet über eine Schnittstelle 18 Befehle, Daten und dergleichen basierend auf einer Operation durch die Bedienperson an die CPU 11.
-
Das Programmierhandgerät 60, bei dem es sich um eine manuelle Dateneingabevorrichtung handelt, die eine Anzeige, einen Griff, einen Hardwareschlüssel und dergleichen aufweist, zeigt Informationen, die über eine Schnittstelle 19 von dem Bestimmungsgerät 1 erhalten werden, an und leitet Impulse, Befehle und verschiedene Daten, die von dem Griff, dem Hardwareschlüssel und dergleichen eingegeben wurden, an die CPU 11.
-
Eine Achsensteuerungsschaltung 30 zum Steuern einer Achse, wie zum Beispiel ein Gelenk, das in dem Industrieroboter vorgesehen ist, empfängt einen Achsenbewegungsmaßbefehl von der CPU 11 und gibt einen Achsenbefehl an einen Hilfsverstärker 40 aus. Der Hilfsverstärker 40 empfängt den Befehl und treibt den Servomotor 50, der die Achse des Roboters bewegt, an. Der Servomotor 50 der Achse beinhaltet einen Positions-/Geschwindigkeitsdetektor und führt ein Positions-/Geschwindigkeitsrückkopplungssignal von dem Positions-Geschwindigkeitsdetektor zu der Achsensteuerschaltung 30 zurück, wodurch Rückkoppelungsregelung der Position/Geschwindigkeit ausgeführt wird. Es sind nur eine Achsensteuerschaltung 30, ein Hilfsverstärker 40 und ein Servomotor 50 in dem Hardware-Konfigurationsdiagramm in 1 gezeigt. Jedoch ist die Anzahl eines jeden davon, die vorgesehen werden soll, tatsächlich gleich der Anzahl an Achsen, die in dem Roboter, der gesteuert werden soll, vorgesehen sind. Zum Beispiel sind in einem Fall eines Roboters, der sechs Achsen aufweist, die Achsensteuerschaltung 30, der Hilfsverstärker 40 und der Servomotor 50 für jede der Achsen vorgesehen.
-
Eine Schnittstelle 21 ist eine Schnittstelle zum Verbinden des Bestimmungsgeräts 1 und der Maschinenlernvorrichtung 100. Die Maschinenlernvorrichtung 100 weist einen Prozessor 101, der die gesamte Maschinenlernvorrichtung 100 steuert, ein ROM 102, das ein Systemprogramm und dergleichen speichert, ein RAM 103, das temporäres Speichern bei jeder Verarbeitung bezüglich Maschinenlernen ausführt, und einen nichtflüchtigen Speicher 104, der zum Speichern eines Lernmodells und dergleichen verwendet wird, auf. Die Maschinenlernvorrichtung 100 kann jedes Informationsstück (Kraft oder Moment, die an dem Manipulator angelegt werden, und Stromwert, Position, Geschwindigkeit, Beschleunigung, Drehmoment und dergleichen des Servomotors 50), das über die Schnittstelle 21 durch das Bestimmungsgerät 1 erhalten werden kann, beobachten. Bei Empfang einer Anweisung zum Ändern eines Kraftbefehls oder eines Drehmomentbefehls, der von der Maschinenlernvorrichtung 100 ausgegeben wird, korrigiert das Bestimmungsgerät 1 einen Steuerbefehl des Roboters basierend auf dem Programm oder den Lerndaten.
-
2 ist ein schematisches Funktionsblockdiagramm des Bestimmungsgeräts 1 und der Maschinenlernvorrichtung 100 gemäß der ersten Ausführungsform.
-
Das Bestimmungsgerät 1 der vorliegenden Ausführungsform weist eine Auslegung auf, die in einem Fall benötigt wird, wenn die Maschinenlernvorrichtung 100 Lernen (Lernmodus) ausführt. Jeder Funktionsblock, der in 2 gezeigt ist, wird durch die CPU 11 des Bestimmungsgeräts 1, das in 1 gezeigt ist, und den Prozessor 101 der Maschinenlernvorrichtung 100, der jeweilige Systemprogramme ausführt und die Operationen der jeweiligen Einheiten des Bestimmungsgeräts 1 und der Maschinenlernvorrichtung 100 steuert, realisiert.
-
Das Bestimmungsgerät 1 der vorliegenden Erfindung weist eine Steuereinheit 32, eine Datenerfassungseinheit 34, eine Evaluierungsfunktionserstellungseinheit 36, eine Bestimmungsdatenerstellungseinheit 37 und eine Vorverarbeitungseinheit 38 auf. Die Maschinenlernvorrichtung 100, die in dem Bestimmungsgerät 1 enthalten ist, weist eine Lerneinheit 110 auf. Der nichtflüchtige Speicher 14 ist mit einer Speichereinheit 54 für erfasste Daten, die Daten, die von einem Industrieroboter 2, dem Sensor 3 und dergleichen erhalten werden, speichert, und einer Evaluierungsfunktionsspeichereinheit 56, die eine Evaluierungsfunktion, die für Evaluierung der erfassten Daten verwendet wird, speichert, versehen. Der nichtflüchtige Speicher 104 der Maschinenlernvorrichtung 100 ist mit einer Lernmodellspeichereinheit 130, die das Lernmodell, das durch das Maschinenlernen durch die Lerneinheit 110 erstellt wird, speichert, versehen.
-
Die Steuereinheit 32 hat eine Funktion für allgemeine Steuerung, die zum Steuern jeder Einheit des Industrieroboters 2 benötigt wird, wie zum Beispiel Steuern der Operation des Industrieroboters 2 basierend auf einem Steuerprogramm 52, das in dem nichtflüchtigen Speicher 104 gespeichert ist, Steuern des Industrieroboters 2 basierend auf einer Steueroperation einer Bedientafel (nicht gezeigt) durch die Bedienperson oder ein Steuerprogramm, das in dem nichtflüchtigen Speicher 14 gespeichert ist, und Ausgeben von Befehlsdaten als ein Änderungsmaß des Achsenwinkels für jeden Steuerzyklus an einen Motor, der die Achse antreibt, in einem Fall, wenn Bewegung jeder Achse (Gelenk) des Industrieroboters 2 durch das Steuerprogramm 52 befohlen wird. Des Weiteren erhält die Steuereinheit 32 Motorzustandsgrößen (Motorstromwert, Position, Geschwindigkeit, Beschleunigung, Drehmoment und dergleichen) jedes Motors, der in dem Industrieroboter 2 enthalten ist und gibt diese an die Datenerfassungseinheit 34 aus.
-
Die Datenerfassungseinheit 34 erhält verschiedene Daten von dem Industrieroboter 3, dem Sensor 3, der Eingabevorrichtung 71 und dergleichen. Die Datenerfassungseinheit 34 erhält zum Beispiel einen Befehl durch ein Programm zum Steuern des Industrieroboters, Kraft und Moment, die an den Manipulator des Industrieroboters 2 angewendet werden, und den Stromwert, die Position, die Geschwindigkeit, die Beschleunigung, das Drehmoment und dergleichen des Servomotors 50, der die Achse des Industrieroboters 2 antreibt, und speichert diese in der Speichereinheit 54 für erhaltene Daten. Die Datenerfassungseinheit 34 kann Daten, die von dem Sensor 3 detektiert werden, und Daten bezüglich des Servomotors 50 als Zeitreihendaten erhalten, oder kann Daten von einem weiteren Computer über eine externe Speichervorrichtung (nicht gezeigt) oder ein verdrahtetes/drahtloses Netzwerk 7 erhalten.
-
In einem Schritt (Evaluierungsfunktionserstellungsmodus), bei dem das Bestimmungsgerät 1 eine Evaluierungsfunktion durch die Evaluierungsfunktionserstellungseinheit 36 erstellt, erstellt die Datenerfassungseinheit 34 temporäre Bestimmungsdaten um Klassifizieren erhaltener Daten gemäß einem vorbestimmten Standard hinsichtlich erhaltener Daten, die von dem Industrieroboter 2, dem Sensor 3, der Eingabevorrichtung 71 und dergleichen erhalten wurden, und speichert die erstellten temporären Bestimmungsdaten und die erhaltenen Daten, die miteinander verbunden sind, als Daten zum Erstellen einer Evaluierungsfunktion in der Speichereinheit 54 für erhaltene Daten.
-
Als ein Beispiel für die temporären Bestimmungsdaten, die durch die Datenerfassungseinheit 34 erstellt werden, zeigt 3 einen Fall, bei dem die Qualität von Zylinderfitting, das zum Einsetzen eines Zylinders verwendet wird, wobei ein Zylinder in ein zylindrisches Loch eingesetzt wird, wobei ein Schwellenwert tlim1 < Schwellenwert tlim2 < Schwellenwert tlim3 im Voraus bestimmt wird, und es wird als Erfolg (hoch) erachtet, wenn die Zeit t, die vergeht, bis der Zylinder in der Zieltiefe eingepasst ist, länger ist als tlim1; es wird als Erfolg (mittel) erachtet, wenn die Zeit t, die vergeht, bis der Zylinder in der Zieltiefe eingepasst ist, gleich oder länger ist als tlim1 und weniger ist als tlim2; es wird als Erfolg (niedrig) erachtet, wenn die Zeit t, die vergeht, bis der Zylinder in der Zieltiefe eingepasst ist, gleich oder höher ist als tlim2 und weniger ist als tlim3; und es wird als Fehler erachtet, wenn Einpassen auf die Zieltiefe bis zur Zeit tlim3 fehlschlägt.
-
Auf diese Weise klassifiziert die Datenerfassungseinheit 34 die erhaltenen Daten gemäß einem vorbestimmten Standard in eine Vielzahl an Kategorien, wie zum Beispiel Erfolg und Fehler, und sie klassifiziert ferner jede Kategorie von Erfolg und Fehler in eine Vielzahl an Unterkategorien. Bei dem obigen Beispiel wird die Kategorie von Erfolg ferner in Unterkategorien basierend auf Zeit klassifiziert. Die Kategorie von Erfolg kann jedoch zum Beispiel in Unterkategorien klassifiziert werden, die Behutsamkeit (Klassifizierung gemäß dem Maximalwert der Kraft, die an dem Roboterspitzenabschnitt angelegt wird) hervorheben, oder die Kategorie von Fehler kann gemäß dem Grad an Furchen (Klassifizierung gemäß dem Maximalwert der Kraft, die an dem Roboterspitzenabschnitt angelegt wird) und der Genauigkeit (Genauigkeit der Position des Roboterspitzenabschnitts) klassifiziert werden. Ein solcher Standard kann geeignet von einer erfahrenen Bedienperson eingestellt werden, zum Beispiel.
-
Die Datenerfassungseinheit 34 speichert bei dem Schritt (Lernmodus), bei dem das Bestimmungsgerät 1 Maschinenlernen durch die Maschinenlernvorrichtung 100 ausführt, erhaltene Daten, die von dem Industrieroboter 2, dem Sensor 3, der Eingabevorrichtung 71 und dergleichen erhalten wurden, als erhaltene Daten, die zum Maschinenlernen verwendet werden, in der Speichereinheit 54 für erhaltene Daten.
-
Basierend auf den Evaluierungsfunktionserstellungsdaten, die durch die Datenerfassungseinheit 34 erhalten und in der Speichereinheit 54 für erhaltene Daten gespeichert werden, erstellt die Evaluierungsfunktionserstellungseinheit 36 eine Evaluierungsfunktion zum Ausgeben der Bestimmungsdaten für die erhaltenen Daten und speichert sie in der Evaluierungsfunktionsspeichereinheit 56. Die Evaluierungsfunktion, die durch die Evaluierungsfunktionserstellungseinheit 36 erstellt wird, weist zum Beispiel eine Funktion, die einen vorbestimmten Evaluierungswert unter Verwendung jedes Datenwerts der erhaltenen Daten als ein Argument berechnet, und einen Evaluierungsausdruck, der Bestimmungsdaten von dem Evaluierungswert ableitet, auf. Die Bestimmungsdaten, die durch die Evaluierungsfunktion, die durch die Evaluierungsfunktionserstellungseinheit 36 erstellt wird, ausgegeben werden sollen, werden zusammen mit den Zustandsdaten, die von den erhaltenen Daten erstellt werden, für Maschinenlernen durch die Maschinenlernvorrichtung 100 verwendet.
-
Ein Beispiel der Evaluierungsfunktion, die durch die Evaluierungsfunktionserstellungseinheit 36 erstellt wird, wird beschrieben. Zum Beispiel wird von einem Zylinderfitting, bei dem ein Zylinder in ein zylindrisches Loch eingesetzt wird, das zum Einsetzen eines Zylinders verwendet wird, wie in 3 gezeigt, ausgegangen. In einem Fall eines solchen Zylinderfittings kann die Datenerfassungseinheit 34 die Zeit, die von Beginn bis zum Ende der Operation vergeht, den Übergang von sechs Komponenten der Kraftdaten am Spitzenabschnitt des Roboters, den Übergang von sechs Komponenten der Positionsdaten (die von dem Übergang der Positionsdaten jedes Servomotors berechnet werden können) und dergleichen von dem Industrieroboter 2, dem Sensor 3 und dergleichen als die erhaltenen Daten erhalten. Als Zustandsdaten S, die zum Maschinenlernen in der Maschinenlernvorrichtung 100 verwendet werden, werden zum Beispiel sechs Komponenten (Fx, Fy, Fz, Mx, My, Mz) von Kraft- und Momentdaten und sechs Komponenten (Px, Py, Pz, Pw, Pd, Pr) von Positions- und Lagendaten in Zeitreihe des Roboterspitzenabschnitts, die jeweils von einer Kraftdetektionseinheit (Kraftsensor) und einer Positionsdetektionseinheit (Impulscodierer) als der Sensor 3 erhalten werden, verwendet und es wird bestimmt, dass die Bestimmungsdaten D Werte von Erfolg (hoch), Erfolg (mittel), Erfolg (niedrig) und Fehler enthalten.
-
Zu diesem Zeitpunkt werden zum Beispiel eine Vorlage einer Funktion, die einen Evaluierungswert wie durch Gleichung (1) veranschaulicht berechnet, und eine Vorlage eines Evaluierungsausdrucks wie durch Gleichung (2) veranschaulicht, die unten gezeigt werden, im Voraus in der Evaluierungsfunktionsspeichereinheit
56 gespeichert. In Gleichung (1) stellt Q
k den Evaluierungswert dar, t stellt die Zeit dar, Fp stellt den Maximalwert der Druckkraft dar, Po stellt das Änderungsmaß der Lage dar, Pd stellt das Änderungsmaß der Position dar und w
k1, w
k2, w
k3 und w
k4 stellen Koeffizienten von Gewicht für die jeweiligen Daten dar. In Gleichung (2) stellen limo, lim
1, lim
2 und lim
3 Schwellenwerte zum Bestimmen der Klassifikation der Bestimmungsdaten dar.
wobei wk
1 + wk
2 + wk
3 + wk
4 = 1
wobei lim
3 < lim
2 < lim
1 < lim
0
-
Die Evaluierungsfunktionserstellungseinheit 36 erstellt eine Evaluierungsfunktion durch Bestimmen der Koeffizienten und Schwellenwerte der Gewichte in Gleichung (1) und (2), wie oben beschrieben. Insbesondere werden die Zeit t, der Maximalwert Fp der Druckkraft, das Änderungsmaß Po der Lage und das Änderungsmaß Pd der Position, die basierend auf den erhaltenen Daten, die in den jeweiligen Evaluierungsfunktionserstellungsdaten, die durch die Datenerfassungseinheit 34 erhalten werden und in der Speichereinheit 54 für erhaltene Daten gespeichert werden, enthalten sind, berechnet werden, in der Gleichung (1) angewendet, und die Gewichtungskoeffizienten und Schwellenwerte werden derart bestimmt, dass die jeweiligen Evaluierungswerte Qk, die zu dem Zeitpunkt berechnet werden, den temporären Bestimmungsdaten entsprechen, die in den Evaluierungsfunktionserstellungsdaten enthalten sind. Die Evaluierungsfunktionserstellungseinheit 36 kann die Gewichtungskoeffizienten durch ein öffentlich bekanntes statistisches Verfahren, wie zum Beispiel Korrelationsanalyse und Regressionsanalyse, bestimmen. Bezüglich des Schwellenwerts kann die Evaluierungsfunktionserstellungseinheit 36 gemäß der Verteilung der Evaluierungswerte aller erhaltenen Daten in den benachbarten Kategorien, ihre Grenzwerte als Schwellenwerte bestimmen.
-
Die Bestimmungsdatenerstellungseinheit 37 erstellt Bestimmungsdaten für die erhaltenen Daten für Maschinenlernen, die in der Speichereinheit 54 für erhaltene Daten gespeichert sind, unter Verwendung der Evaluierungsfunktion, die durch die Evaluierungsfunktionserstellungseinheit 36 erstellt und in der Evaluierungsfunktionsspeichereinheit 56 gespeichert werden. Die Bestimmungsdaten, die durch die Bestimmungsdatenerstellungseinheit 37 erstellt werden, werden zum Erstellen der Lerndaten durch die Vorverarbeitungseinheit 38 verwendet.
-
Die Vorverarbeitungseinheit 38 erstellt Lerndaten, die zum Lernen durch die Maschinenlernvorrichtung 100 verwendet werden, basierend auf den erhaltenen Daten für Maschinenlernen, die von der Datenerfassungseinheit 34 erfasst werden, und den Bestimmungsdaten, die durch die Bestimmungsdatenerstellungseinheit 37 für die erhaltenen Daten erstellt werden. Die Vorverarbeitungseinheit 38 erstellt Zustandsdaten, die durch Umwandeln (Digitalisieren, Sampling und dergleichen) der Daten, die durch die Datenerfassungseinheit 34 erhalten werden, in ein einheitliches Format, das von der Maschinenlernvorrichtung 100 gehandhabt wird, erhalten werden.
-
Die Zustandsdaten S, die durch die Vorverarbeitungseinheit 38 erstellt werden, können zum Beispiel Kraftzustandsdaten S1, die Informationen bezüglich der Kraft, die an den Manipulator des Industrieroboters 2 angelegt wird, enthalten, und Positionszustandsdaten S2, die Informationen bezüglich der Position des Manipulators enthalten, umfassen. In einem solchen Fall umfassen die Kraftzustandsdaten S1 mindestens Kraft in der Zufuhrrichtung, die an den Manipulator des Industrieroboters 2 angelegt wird, und kann ferner eine Kraft, die in einer Richtung anders als die Zufuhrrichtung angelegt wird, und Moment der Kraft umfassen. Die Kraftzustandsdaten S1 können durch den Sensor 3, der in dem Manipulator des Industrieroboters 2 installiert ist, detektiert werden oder können umfangreich von dem elektrischen Strom oder dergleichen, der in dem Servomotor 50, der jede Achse des Industrieroboters 2 antreibt, fließt, erhalten werden. Die Positionszustandsdaten S2 weisen mindestens Steuerbefehle, wie zum Beispiel einen Geschwindigkeitsbefehl, einen Kraftbefehl und einen Drehmomentbefehl in der Zufuhrrichtung des Manipulators als eine Einstellungsaufgabe der Steuerbefehle (Geschwindigkeitsbefehl, Kraftbefehl, Drehmomentbefehl und dergleichen) in der Zufuhrrichtung des Manipulators, die in dem Zustand der Kraft der Kraftzustandsdaten S1 ausgeführt werden, auf und kann ferner einen Steuerbefehl in einer Richtung anders als die Zufuhrrichtung aufweisen.
-
Für die Bestimmungsdaten D, die durch die Vorverarbeitungseinheit 38 als Lerndaten verwendet werden, können die Bestimmungsdaten, die durch die Bestimmungsdatenerstellungseinheit 37 erstellt werden, so wie sie sind, verwendet werden.
-
Die Lerneinheit 110 führt Maschinenlernen unter Verwendung der Daten, die durch die Vorverarbeitungseinheit 38 erstellt werden, aus. Die Lerneinheit 110 erstellt ein Lernmodell, in dem eine Bestimmung der Qualität einer Operation des Industrieroboters 2 hinsichtlich des Betriebszustands, der durch die Bedienperson eingestellt wird, durch ein öffentlich bekanntes Maschinenlernverfahren, wie zum Beispiel überwachtes Lernen, gelernt wird, und speichert das erstellte Lernmodell in der Lernmodellspeichereinheit 130. Zu Beispielen des Verfahrens des überwachten Lernens, das durch die Lerneinheit 110 ausgeführt wird, zählen das Multilayer-Perzeptron-Verfahren, das Rekurrentesneuronales-Netz-Verfahren, das Long-Short-Term-Memory-Verfahren und das Convolutional-Neural-Network-Verfahren.
-
Die Lerneinheit 110 ist in der Lage, überwachtes Lernen hinsichtlich der Zustandsdaten S, die basierend auf den erhaltenen Daten erstellt werden, unter Verwendung der Lerndaten, in denen die Bestimmungsdaten D, die unter Verwendung der Evaluierungsfunktion durch die Bestimmungsdatenerstellungseinheit 37 basierend auf den erhaltenen Daten erstellt werden, als Kennzeichnungsdaten verwendet werden, auszuführen und ist in der Lage, eine Bestimmungsgrenze für Erfolg/Fehler (das heißt den Erfolg/Fehler der Einstellungsoperation durch die Bedienperson) der Operation des Industrieroboters 2 und eine Bestimmungsgrenze für den Grad an Erfolg und den Grad an Fehler als ein Lernmodell zu erstellen. Unter Verwendung des Lernmodells, das auf diese Weise erstellt wird, ist eine Bestimmungseinheit 120, die später beschrieben wird, basierend auf den Daten, die zum Zeitpunkt der Operation des Industrieroboters 2 erhalten werden, in der Lage, Erfolg/Fehler der Operation und den Grad an Erfolg und den Grad an Fehler zu bestimmen, und ist in der Lage, das Bestimmungsergebnis zu berechnen.
-
Das Bestimmungsgerät 1, das die obige Auslegung aufweist, ist in der Lage, eine Evaluierungsfunktion zu erstellen, die zum Bestimmen der Operation des Industrieroboters 2 verwendet wird, basierend auf den Daten, die zum Zeitpunkt der Operation des Industrieroboters 2 erhalten werden. Die Evaluierungsfunktion, die durch das Bestimmungsgerät 1 erstellt wird, wird dazu verwendet, die Bestimmungsdaten für die Daten, die zum Zeitpunkt der Operation des Industrieroboters 2 erhalten werden, zu erstellen und ist in der Lage, ein Bestimmungsergebnis der Operation hinsichtlich der Daten, die zum Zeitpunkt der Operation des Industrieroboters 2 erhalten werden, gemäß dem vorbestimmten Evaluierungsstandard (Standard für Evaluierung durch einen erfahrenen Arbeiter) auszugeben, und somit ist es möglich, stabile Bestimmungsdaten für die Operation des Industrieroboters 2 zu erstellen, ohne auf die Erfahrung der Bedienperson zurückzugreifen.
-
Zusätzlich zu der Zusammenfügungsoperation, die in 3 veranschaulicht ist, kann das Bestimmungsgerät 1 der vorliegenden Ausführungsform auch, wie in 4 gezeigt, zum Beispiel auf eine Operation der Anordnung von Getrieben durch Ergreifen eines Getriebes mit einem Manipulator, der auf dem Industrieroboter 2 installiert ist, und Ausrichten der Phase des Getriebes hinsichtlich eines anderen Getriebes, und wie in 5 gezeigt, eine Operation des Entgratens oder Schleifens eines Werkstücks mit einem Schleifwerkzeug, das auf dem Industrieroboter 2 statt dem Manipulator installiert ist, angewendet werden.
-
Als eine Modifikation der vorliegenden Ausführungsform können zusätzlich zu den Kraftzustandsdaten und den Positionszustandsdaten, die von dem Industrieroboter 2 und dem Sensor 3 erhalten werden, verschiedene Daten, wie zum Beispiel die Masse des Werkzeugs, das an dem Spitzenabschnitt des Roboters angebracht ist, der Spaltabstand zwischen dem Werkstück und dem Werkzeug, der Koeffizient der Reibung, die Temperatur und die Kraftsensoreigenschaften, als die Zustandsdaten S, die zum Lernen durch die Lerneinheit 110 verwendet werden, zu den Zustandsdaten S hinzugefügt werden, um Maschinenlernen auszuführen.
-
6 ist ein schematisches Funktionsblockdiagramm des Bestimmungsgeräts 1 und der Maschinenlernvorrichtung 100 gemäß der zweiten Ausführungsform. Das Bestimmungsgerät 1 der vorliegenden Ausführungsform weist eine Auslegung auf, die in einem Fall benötigt wird, wenn die Maschinenlernvorrichtung 100 Schätzung (Schätzmodus) ausführt. Jeder der Funktionsblöcke, die in 6 gezeigt sind, wird durch die CPU 11 des Bestimmungsgeräts 1, das in 1 gezeigt ist, und den Prozessor 101 der Maschinenlernvorrichtung 100, der jeweilige Systemprogramme ausführt und die Operationen der jeweiligen Einheiten des Bestimmungsgeräts 1 und der Maschinenlernvorrichtung 100 steuert, realisiert.
-
Das Bestimmungsgerät 1 gemäß der vorliegenden Ausführungsform weist die Steuereinheit 32, die Datenerfassungseinheit 34 und die Vorverarbeitungseinheit 38 auf. Die Maschinenlernvorrichtung 100 des Bestimmungsgeräts 1 weist die Bestimmungseinheit 120 auf. Der nichtflüchtige Speicher 14 ist mit der Speichereinheit 54 für erhaltene Daten, die erhaltene Daten, die zur Bestimmung der Operation des Industrieroboters 2 durch die Maschinenlernvorrichtung 100 verwendet werden, speichert, versehen. Der nichtflüchtige Speicher 104 der Maschinenlernvorrichtung 100 ist mit der Lernmodellspeichereinheit 130, die das Lernmodell, das durch das Maschinenlernen durch die Lerneinheit 110 erstellt wird, speichert, versehen.
-
Die Datenerfassungseinheit 34 gemäß der vorliegenden Ausführungsform speichert bei dem Schritt (Bestimmungsmodus), bei dem das Bestimmungsgerät 1 Maschinenlernen durch die Maschinenlernvorrichtung 100 ausführt, die erhaltenen Daten, die von dem Industrieroboter 2, dem Sensor 3, der Eingabevorrichtung 71 und dergleichen erhalten wurden, als erhaltene Daten, die zum Bestimmen der Operation des Industrieroboters 2 verwendet werden, in der Speichereinheit 54 für erhaltene Daten.
-
Die Steuereinheit 32 gemäß der vorliegenden Ausführungsform weist die gleiche Funktion wie die Steuereinheit 32 in der ersten Ausführungsform auf.
-
Die Vorverarbeitungseinheit 38 gemäß der vorliegenden Ausführungsform erstellt die Zustandsdaten S, die für Bestimmung der Operation des Industrieroboters 2 durch die Maschinenlernvorrichtung 100 verwendet werden, basierend auf den erhaltenen Daten, die durch die Datenerfassungseinheit 34 erhalten und in der Speichereinheit 54 für erhaltene Daten gespeichert werden. Die Vorverarbeitungseinheit 38 erstellt Daten, die durch Umwandeln (Digitalisieren, Sampling und dergleichen) der erhaltenen Daten, die durch die Datenerfassungseinheit 34 erhalten wurden, zum Beispiel, in ein einheitliches Format, das von der Maschinenlernvorrichtung 100 gehandhabt wird, erhalten werden.
-
Die Bestimmungseinheit 120 bestimmt die Operation des Industrieroboters 2, die das Lernmodell, das in der Lernmodellspeichereinheit 130 gespeichert ist, verwendet, basierend auf den Zustandsdaten S, die durch die Vorverarbeitungseinheit 38 erstellt werden. In der Bestimmungseinheit 120 der vorliegenden Ausführungsform werden die Zustandsdaten S, die von der Vorverarbeitungseinheit 38 eingegeben wurden, in das Lernmodell (mit den Parametern, die bestimmt wurden), das durch das Lernmodell 110 erstellt wird, eingegeben, wodurch Erfolg/Fehler der Operation des Industrieroboters 2, der Grad an Erfolg, der Grad an Fehler und dergleichen bestimmt und ausgegeben werden. Das Ergebnis, das durch die Bestimmungseinheit 120 bestimmt wurde, kann an die Anzeigevorrichtung 70 ausgegeben und auf dieser angezeigt werden oder an einen Host-Computer, einen Cloud-Computer oder dergleichen über ein verdrahtetes/drahtloses Netzwerk (nicht gezeigt) übertragen und ausgegeben werden.
-
In dem Bestimmungsgerät 1, das die obige Auslegung aufweist, führt die Bestimmungseinheit 120 Bestimmung der Operation des Industrieroboters 2 unter Verwendung der erhaltenen Daten, die von dem Industrieroboter 2 erhalten wurden, aus. Das Lernmodell, das in der Lernmodellspeichereinheit 130 gespeichert wird, wird durch Lernen unter Verwendung der Bestimmungsdaten, die mit einem vorbestimmten Standard durch die Evaluierungsfunktion, die durch die Evaluierungsfunktionserstellungseinheit 36 erstellt wird, erstellt werden, erstellt, und somit ist die Bestimmungseinheit 120, die das Lernmodell verwendet, in der Lage, eine sehr genaue Bestimmung der Operation des Industrieroboters 2 auf der Basis des vorbestimmten Standards durchzuführen.
-
7 zeigt ein System 170 gemäß der dritten Ausführungsform, das Bestimmungsgeräte 1 aufweist. Das System 170 weist mindestens eine Maschinenlernvorrichtung 100, die auf einem Computer 5, wie zum Beispiel einem Zell-Computer, einem Fog-Computer, einem Host-Computer und einem Cloud-Server, installiert ist, mindestens ein Bestimmungsgerät 1, das als eine Steuerung (ein Edge-Computer), die den Industrieroboter 2 steuert, installiert ist, und ein verdrahtetes/drahtloses Netzwerk 172, das den Computer 5 und das Bestimmungsgerät 1 miteinander verbindet, auf.
-
Das Bestimmungsgerät 1 gemäß der vorliegenden Ausführungsform unterscheidet sich von dem Bestimmungsgerät 1 gemäß der ersten und zweiten Ausführungsform dahingehend, dass die Vorverarbeitungseinheit 38 und die Maschinenlernvorrichtung 100 nicht in den Bestimmungsgeräten 1 enthalten sind und stattdessen die Vorverarbeitungseinheit 38 und die Maschinenlernvorrichtung 100 auf dem Computer 5, der über das Netzwerk verbunden ist, angeordnet sind.
-
In dem System 170, das die obige Auslegung aufweist, sammelt der Computer 5, der die Maschinenlernvorrichtung 100 aufweist, erhaltene Daten, die zum Zeitpunkt der Operation des Industrieroboters 2 von jedem der Bestimmungsgeräte 1 erhalten werden, und Bestimmungsdaten (die durch die Bestimmungsdatenerstellungseinheit 37 erstellt werden) über das Netzwerk 172, führt Maschinenlernen unter Verwendung der erhaltenen Daten und der Bestimmungsdaten, die gesammelt wurden, aus und erstellt ein Lernmodell (Betriebsmodus entsprechend dem der ersten Ausführungsform).
-
Der Computer 5, der die Maschinenlernvorrichtung 100 aufweist, empfängt die erhaltenen Daten, die zum Zeitpunkt der Operation des jeweiligen Industrieroboters 2 erhalten werden, von den jeweiligen Bestimmungsgeräten 1 über das Netzwerk 172, führt Bestimmung der Operation des jeweiligen Industrieroboters 2 aus und führt das Bestimmungsergebnis an das Bestimmungsgerät 1 (Betriebsmodus entsprechend dem der zweiten Ausführungsform) zurück.
-
In dem System gemäß der vorliegenden Ausführungsform ist die Maschinenlernvorrichtung 100 zum Beispiel auf dem Computer 5 als ein Fog-Computer, der für die Vielzahl an Industrierobotern 2 (das Bestimmungsgerät 1) vorgesehen ist, als ein Edge-Computer angeordnet und Bestimmung der Operation der einzelnen Industrieroboter 2 (der Bestimmungsgeräte 1) kann auf zentralisierte Weise auf dem Computer 5 durchgeführt werden, derart, dass es nicht notwendig ist, die Maschinenlernvorrichtung 100 für jedes Bestimmungsgerät 1 vorzubereiten, und somit können die Betriebskosten der Maschinenlernvorrichtung 100 reduziert werden.
-
8 ist ein schematisches Hardware-Konfigurationsdiagramm des Computers 5, der in 7 gezeigt ist.
-
Eine CPU 511, die in dem Computer 5, enthalten ist, ist ein Prozessor, der den Computer 5 als Ganzes steuert. Die CPU 511 liest ein Systemprogramm, das in einem ROM 512 gespeichert ist, über einen Bus 520 aus und steuert den gesamten Computer 5 gemäß dem Systemprogramm. Ein RAM 513 speichert temporär temporäre Berechnungsdaten, verschiedene Daten und dergleichen, die von der Bedienperson über eine Eingabevorrichtung 531 eingegeben wurden.
-
Ein nichtflüchtiger Speicher 514 besteht zum Beispiel aus einem Speicher, einem Halbleiterlaufwerk (SSD) oder dergleichen, die von einer Batterie (nicht veranschaulicht) gesichert werden, und hält einen Speicherzustand aufrecht, auch wenn der Strom des Bestimmungsgeräts 5 abgeschaltet ist. Der nichtflüchtige Speicher 514 speichert einen Einstellungsbereich, in dem Einstellungsinformationen bezüglich der Operation des Computers 5, Daten, die von der Eingabevorrichtung 531 eingegeben wurden, Daten, die von jedem Bestimmungsgerät 1 erhalten wurden, Daten, die über eine externe Speichervorrichtung (nicht gezeigt) oder ein Netzwerk gelesen wurden, und dergleichen gespeichert sind. Die Programme und verschiedene Daten, die in dem nichtflüchtigen Speicher 514 gespeichert sind, können zum Zeitpunkt der Ausführung oder Verwendung in dem RAM 513 entwickelt werden. Ein Systemprogramm, das ein öffentlich bekanntes Analyseprogramm zum Analysieren verschiedener Datentypen aufweist, wurde im Voraus in das ROM 512 geschrieben.
-
Der Computer 5 ist über eine Schnittstelle 516 mit dem Netzwerk 172 verbunden. Mindestens ein Bestimmungsgerät 1, ein weiterer Computer und dergleichen sind mit dem Netzwerk 172 verbunden und tauschen Daten mit dem Computer 5 aus.
-
Daten, die in den Speicher gelesen wurden, und Daten, die als ein Ergebnis der Ausführung eines Programms oder dergleichen erhalten wurden, werden über eine Schnittstelle 517 ausgegeben und auf einer Anzeigevorrichtung 530 angezeigt. Die Eingabevorrichtung 531, die eine Tastatur und eine Zeigevorrichtung aufweist, leitet über eine Schnittstelle 518 Befehle, Daten und dergleichen basierend auf einer Operation durch die Bedienperson an die CPU 511.
-
Die Maschinenlernvorrichtung 100 weist die gleiche Hardwarekonfiguration wie unter Bezug auf 1 beschrieben auf.
-
9 zeigt das System 170 gemäß der vierten Ausführungsform, das das Bestimmungsgerät 1 aufweist. Das System 170 weist das Bestimmungsgerät 1, das auf einem Computer, wie zum Beispiel einem Zell-Computer, einem Fog-Computer, einem Host-Computer und einem Cloud-Server, installiert ist, eine Steuerung 6 (einen Edge-Computer), die den Industrieroboter 2 steuert, und ein verdrahtetes/drahtloses Netzwerk 172, das das Bestimmungsgerät 1 und die Steuerung 6 miteinander verbindet, auf.
-
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
-