-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine Lernvorrichtung, Steuerung und ein Steuersystem und insbesondere eine Lernvorrichtung, Steuerung und ein Steuersystem, die fähig sind, ein Betriebsgeräusch eines Werkzeugs zu entfernen und eine Presskraft fein zu steuern.
-
Beschreibung des Standes der Technik
-
Es gibt wohlbekannte Roboter, die konfiguriert sind, ein Entgraten, Schleifen und dergleichen an einem Werkstück auszuführen. Ein solcher Roboter umfasst ein Werkzeug zur Bearbeitung und einen Kraftsensor am Endstück seines Arms und er steuert die Presskraft des Werkzeugs unter Verwendung detektierter Werte des Kraftsensors, sodass sie konstant ist. In einigen Fällen kann die Presskraft des Werkzeugs jedoch aufgrund des Einflusses des Betriebsgeräuschs des Werkzeugs nicht fein gesteuert werden. Wenn insbesondere ein Geräusch wie eine Vibration größer als die Presskraft ist, kann der Kraftsensor die Presskraft nicht detektieren, sodass er nicht bestimmen kann, ob das Werkzeug in Kontakt mit dem Werkstück ist oder nicht. Daher kann der konventionelle Roboter das Werkzeug nicht mit einer sehr kleinen Kraft pressen, die für den Kraftsensor nicht nachweisbar war, sodass er nicht vermeiden kann, das Werkzeug mit einer Kraft zu pressen, die größer ist als eine gewünschte. Wenn ein Versuch unternommen wird, das Betriebsgeräusch mit einer Feder oder mit Gummi zu absorbieren, wird es infolgedessen unweigerlich fehlschlagen, die Presskraft zu steuern. Daher ist es konventionell schwierig, kleine Grate zu entfernen. Konventionelle Roboter und deren Steuerungen sind ferner den Druckschriften
DE 10 2016 013 731 A1 ,
DE 102016 009 113 A1 ,
DE 10 2016009 030 A1 ,
DE 10 2013203 381 B4 ,
EP 0 933 868 B1 und
JP H04-148 307A zu entnehmen.
-
JP H07-319 558 A beschreibt, wie Maschinenlernen mit Betriebsinformationen einer Maschine, die als Eingabedaten verwendet werden, und mit Störungen (Änderung von Gravitationskomponenten, die aufgrund der Stellung einer Vorrichtung auf einen Kraftsensor einwirken, Trägheitskraft, die im Betrieb der Vorrichtung auftritt, usw.), die mit dem Maschinenbetrieb einhergehend erzeugt werden, in einem als Lehrdaten verwendeten lastlosen Zustand ausgeführt wird, wobei die Störungen von den Betriebsinformationen während des Maschinenbetriebs in einem belasteten Zustand abgeschätzt werden und eine resultierende äußere Kraft durch Subtrahieren von abgeschätzten Störungswerten von den tatsächlich erlangten detektierten Werten des Kraftsensors abgeschätzt wird.
Elemente, die das Betriebsgeräusch der Maschine beeinflussen, sind jedoch nicht immer auf die Gravitationskomponente und die Trägheitskraft begrenzt und Vibration oder ein Betriebsgeräusch, das einem Drehbohrer eigen ist, sollten insbesondere bei solchen Arbeitsvorgängen wie Entgraten und Schleifen berücksichtigt werden. Obwohl es mehrere Stellungen geben kann, die der Roboter beim Ausführen eines bestimmten Arbeitsvorgangs annehmen kann, d. h., es kann mehrere Kombinationen von Winkeln von Gelenkachsen geben, besteht des Weiteren das Problem, dass sich das Betriebsgeräusch der Maschine auch abhängig von diesen Stellungen ändert. Die Erfindung stellt sich die Aufgabe diese Nachteile zumindest abzumildern.
-
Diese Aufgabe wird durch die in den unabhängigen Ansprüchen angegebene Erfindung gelöst. Vorteilhafte Ausgestaltungen sind den Unteransprüchen zu entnehmen. Aspekte der Erfindung, die diese Aufgabe lösen sind eine Lernvorrichtung, eine Steuerung und ein Steuersystem, die fähig sind, ein Betriebsgeräusch eines Werkzeugs zu entfernen und eine Presskraft fein zu steuern.
-
Eine Steuerung gemäß dem ersten Aspekt der vorliegenden Erfindung ist eine Steuerung, die ein Werkstück durch Steuern einer Presskraft eines Werkzeugs bearbeitet, das am Endstück eines Arms eines Roboters angebracht ist, und umfasst eine Zustandsbeobachtungseinheit, die konfiguriert ist, einen gegenwärtigen Zustand des Roboters als eine Zustandsgröße zu erlangen, eine Labeldatenerfassungseinheit, die konfiguriert ist, als ein Label einen detektierten Wert eines Kraftsensors zu erlangen, der an dem Arm angebracht und konfiguriert ist, erforderliche Daten zur Steuerung der Presskraft zu detektieren, und eine Lerneinheit, die konfiguriert ist, ein Lernmodell zu erzeugen, das die Korrelation zwischen der Zustandsgröße, die in einem lastlosen Zustand erlangt wurde, und dem Label, das beim Erlangen der Zustandsgröße im lastlosen Zustand erlangt wurde, angibt und den detektierten Wert des Kraftsensors entsprechend dem gegenwärtigen Zustand des Roboters basierend auf dem Lernmodell abschätzt. Die Steuerung steuert die Presskraft unter Verwendung des detektierten Werts des Kraftsensors, der im gegenwärtigen Zustand des Roboters, in einem belasteten Zustand erlangt wurde, und dem detektierten Wert des Kraftsensors, der durch die Lerneinheit basierend auf dem gegenwärtigen Zustand des Roboters, der im belasteten Zustand erlangt wurde, abgeschätzt wird.
Bei der Steuerung gemäß einer Ausführungsform der vorliegenden Erfindung ist der detektierte Wert des Kraftsensors eine Kraft, die auf den Kraftsensor einwirkt, und/oder eine Vibrationsfrequenz, die auf den Kraftsensor einwirkt.
Bei der Steuerung gemäß einer Ausführungsform der vorliegenden Erfindung ist der gegenwärtige Zustand des Roboters mindestens einer von Faktoren, welche die Arbeitsrichtung, die Geschwindigkeit, die Beschleunigung, Ruck und die Stellung des Roboters und die Dreh- und Vibrationsfrequenzen einer Antriebseinheit des Werkzeugs umfassen.
Bei der Steuerung gemäß einer Ausführungsform der vorliegenden Erfindung führt der Roboter ein Entgraten und/oder Schleifen des Werkstücks aus.
-
Gemäß einem zweiten Aspekt der Erfindung ist ein Steuersystem geschaffen, umfassend einen Roboter, der konfiguriert ist, ein Werkstück mittels einer Presskraft eines Werkzeugs zu bearbeiten, das am Endstück eines Arms angebracht ist, und eine Steuerung, die konfiguriert ist, den Betrieb des Roboters zu steuern, wobei die Steuerung eine Zustandsbeobachtungseinheit, die konfiguriert ist, einen gegenwärtigen Zustand des Roboters als eine Zustandsgröße zu erlangen, eine Labeldatenerfassungseinheit, die konfiguriert ist, als ein Label einen detektierten Wert eines Kraftsensors zu erlangen, der an dem Arm angebracht und konfiguriert ist, erforderliche Daten zur Steuerung der Presskraft zu detektieren, und eine Lerneinheit umfasst, die konfiguriert ist, ein Lernmodell zu erzeugen, das die Korrelation zwischen der Zustandsgröße, die in einem lastlosen Zustand erlangt wurde, und dem Label, das beim Erlangen der Zustandsgröße im lastlosen Zustand erlangt wurde, angibt und den detektierten Wert des Kraftsensors entsprechend dem gegenwärtigen Zustand des Roboters basierend auf dem Lernmodell abschätzt. Die Steuerung steuert die Presskraft unter Verwendung des detektierten Werts des Kraftsensors, der im gegenwärtigen Zustand des Roboters, in einem belasteten Zustand erlangt wurde, und dem detektierten Wert des Kraftsensors, der durch die Lerneinheit basierend auf dem gegenwärtigen Zustand des Roboters, der im belasteten Zustand erlangt wurde, abgeschätzt wird.
-
Gemäß einem dritten Aspekt der Erfindung ist eine Lernvorrichtung geschaffen, umfassend eine Zustandsbeobachtungseinheit, die konfiguriert ist, einen gegenwärtigen Zustand eines Roboters als eine Zustandsgröße zu erlangen, eine Labeldatenerfassungseinheit, die konfiguriert ist, als ein Label einen detektierten Wert eines Kraftsensors zu erlangen, der an einem Arm des Roboters angebracht und konfiguriert ist, erforderliche Daten zum Steuern einer Presskraft eines Werkzeugs zu detektieren, das an dem Endstück des Arms angebracht ist, und eine Lerneinheit, die konfiguriert ist, ein Lernmodell zu erzeugen, das die Korrelation zwischen der Zustandsgröße, die in einem lastlosen Zustand erlangt wurde, und dem Label das beim Erlangen der Zustandsgröße im lastlosen Zustand erlangt wurde, angibt und den detektierten Wert des Kraftsensors, der dem gegenwärtigen Zustand des Roboters entspricht, basierend auf dem Lernmodell abschätzt.
Gemäß der Erfindung kann eine Lernvorrichtung, Steuerung und ein Steuersystem bereitgestellt werden, die fähig sind Betriebsgeräusch eines Werkzeugs zu entfernen und eine Presskraft fein zu steuern.
-
Die vorstehenden und andere Aufgaben und Merkmale der vorliegenden Erfindung werden aus der anschließenden Beschreibung von Ausführungsformen unter Bezugnahme auf die begleitenden Zeichnungen offensichtlich:
- 1 ist ein schematisches Funktionsdiagramm eines Steuersystems;
- 2 ist ein schematisches Funktionsdiagramm einer Steuerung;
- 3 ist ein schematisches Funktionsdiagramm, das eine Form der Steuerung zeigt;
- 4A ist ein Diagramm, das ein Neuron veranschaulicht; und
- 4B ist ein Diagramm, das ein neuronales Netzwerk veranschaulicht.
-
Eine Ausführungsform der vorliegenden Erfindung wird jetzt unter Bezugnahme auf die begleitenden Zeichnungen beschrieben. Unter Bezugnahme auf 1 wird eine Konfiguration eines Steuersystems 100 gemäß der Ausführungsform 1 der vorliegenden Erfindung beschrieben. Das Steuersystem 100 umfasst einen Roboter 1 und eine Steuerung 10 zum Steuern des Roboters 1. Die Steuerung 10 umfasst eine Lernvorrichtung 20.
-
2 ist ein Funktionsdiagramm, das eine schematische Konfiguration der Steuerung 10 gemäß Ausführungsform 1 zeigt. Gewöhnlich ist die Steuerung 10 eine Robotersteuerung zum Steuern des Betriebs des Roboters 1. Die Steuerung 10 umfasst eine Vorverarbeitungseinheit 12, die Eingabedaten erlangt und vorverarbeitet, und die Lernvorrichtung 20, die Software (Lernalgorithmus usw.) und Hardware (CPU eines Computers, usw.) zum Selbstlernen basierend auf dem sogenannten Maschinenlernen umfasst.
-
Die Steuerung 10 interpretiert ein Betriebsprogramm und steuert den Roboter 1. Ein Kraftsensor und ein Werkzeug sind am Armendstück des Roboters 1 angebracht. Das Werkzeug ist beispielsweise eine Schleifmaschine, eine Polierscheibe mit exzentrischer Drehbewegung, Leutor oder Vibrationsfeile. Eine Antriebseinheit steuert das Werkzeug mit einer Vibrations- oder Drehfrequenz, die in dem Betriebsprogramm oder dergleichen spezifiziert ist. Der Kraftsensor detektiert Kräfte, die zwischen dem Werkzeug und einem Werkstück wirken, und speziell Kräfte oder Vibrationsfrequenzen, die durch den Betrieb des Werkzeugs erzeugt werden. Die durch den Kraftsensor detektierten Kräfte umfassen eine Kraft, wie eine Drehung oder Vibration, die durch den Werkzeugbetrieb selbst erzeugt werden, sowie eine Presskraft, die erzeugt wird, während das Werkzeug gegen das Werkstück gepresst wird.
-
Die Lernvorrichtung 20, erzeugt durch Maschinenlernen eine Modellstruktur, die für die Korrelationen des Zustandes (Arbeitsrichtung, Geschwindigkeit, Beschleunigung, Ruck, Stellung usw.) des Roboters 1 und des Zustandes (Drehfrequenz, Vibrationsfrequenz usw.) der Antriebseinheit des Werkzeugs, das am Roboter 1 angebracht ist, mit den dann detektierten Werten (Kraft, Vibrationsfrequenz usw.) des Kraftsensors repräsentativ sind. Speziell umfasst die Lernvorrichtung 20 eine Zustandsbeobachtungseinheit 22, die konfiguriert ist, Zustandsgrößen S zu beobachten, die für die gegenwärtigen Zustände des Roboters 1 und die Antriebseinheit repräsentativ sind, eine Labeldatenerfassungseinheit 24, die konfiguriert ist, Labeldaten L zu erlangen, welche die detektierten Werte des Kraftsensors angeben, und eine Lerneinheit 26, die konfiguriert ist, die Zustandsgrößen S und die Labeldaten L in Verbindung miteinander zu lernen.
-
Die Vorverarbeitungseinheit 12 kann beispielsweise als eine Funktion der CPU der Robotersteuerung ausgelegt sein. Alternativ kann die Zustandsbeobachtungseinheit 22 beispielsweise als Software für die CPU der Robotersteuerung ausgelegt sein. Die Vorverarbeitungseinheit 12 führt eine Vorverarbeitung für Daten, die von dem Betriebsprogramm des Roboters 1 erlangt wurden, Daten, welche die gegenwärtigen Zustände des Roboters 1 und der Antriebseinheit angeben, Daten, die von dem Kraftsensor erlangt wurden, der am Roboter 1 angebracht ist, und dergleichen aus und gibt die vorverarbeiteten Daten an die Zustandsbeobachtungseinheit 22 und die Labeldatenerfassungseinheit 24 aus. Die Vorverarbeitung, die durch die Vorverarbeitungseinheit 12 ausgeführt wird, kann beispielsweise eine Anpassung der Anzahl an Stichprobendaten sein. Die Anpassung der Anzahl an Stichprobendaten, die hierin angegeben ist, ist eine Verarbeitung, die das Ausdünnen von gleitenden Durchschnitten und Daten, die Reduzierung der Anzahl an Daten durch partielle Extraktion, Zwischenpunktinterpolation und Datenanzahlerhöhung durch Festwertaddition kombiniert. Die Vorverarbeitung, die durch die Vorverarbeitungseinheit 12 ausgeführt wird, kann mit einer Verarbeitung für Skalieren, wie beispielsweise eine konventionelle Standardisierung, kombiniert sein.
-
In einer Lernstufe aktiviert die Steuerung 10 den Roboter 1 in einem lastlosen Zustand vor der Werkstückbearbeitung oder dergleichen und die Vorverarbeitungseinheit 12 erlangt die Stichprobendaten in einem vorbestimmten Abtastzeitraum. In einer Stufe des Verwendens der Resultate des Lernens aktiviert die Steuerung 10 den Roboter 1 in einem lastlosen Zustand während der Werkstückbearbeitung und die Vorverarbeitungseinheit 12 erlangt die Stichprobendaten in dem vorbestimmten Abtastzeitraum. In jedem Fall dient die Vorverarbeitungseinheit 12 dazu, die Anzahl an Stichprobendaten anzupassen und sie an die Zustandsbeobachtungseinheit 22 und die Labeldatenerfassungseinheit 24 zu liefern, wodurch die Genauigkeit des Maschinenlernens durch die Lernvorrichtung 20 relativ zur Diversität der Betriebseinstellung aufrechterhalten und verbessert wird.
-
Die Zustandsbeobachtungseinheit 22 kann beispielsweise als eine Funktion der CPU der Robotersteuerung ausgelegt sein. Alternativ kann die Zustandsbeobachtungseinheit 22 beispielsweise als Software für die CPU der Robotersteuerung ausgelegt sein. Die Vorverarbeitungseinheit 12 kann konfiguriert sein, Istwerte, wie die Arbeitsrichtung, Geschwindigkeit, Beschleunigung, Ruck und die Stellung des Roboters 1 und die Dreh- und Vibrationsfrequenzen der Antriebseinheit des Werkzeugs, das am Roboter 1 angebracht ist, direkt als die Zustandsgrößen S an die Zustandsbeobachtungseinheit 22 auszugeben. Die Arbeitsrichtung, Geschwindigkeit, Beschleunigung, Ruck und die Stellung des Roboters 1 und die Dreh- und Vibrationsfrequenzen der Antriebseinheit des Werkzeugs, das am Roboter 1 angebracht ist, und dergleichen können beispielsweise als Daten erlangt werden, die vom Betriebsprogramm des Roboters 1 erlangt sind, Daten, die direkt vom Roboter 1 und der Antriebseinheit erlangt sind, und Daten, die durch Verwenden oder Umwandeln dieser Daten erlangt sind. Im Allgemeinen sind die Arbeitsrichtung, Geschwindigkeit, Beschleunigung und Ruck diejenigen des Endstücks des Roboters 1. Des Weiteren können die Daten, welche die Stellung des Roboters 1 angeben, beispielsweise als eine Kombination aus Winkeln von Gelenkachsen des Arms erlangt sein.
-
Die Labeldatenerfassungseinheit 24 kann beispielsweise als eine Funktion der CPU der Robotersteuerung ausgelegt sein. Alternativ kann die Labeldatenerfassungseinheit 24 beispielsweise als Software für die CPU der Robotersteuerung ausgelegt sein. Die Labeldaten L, die durch die Labeldatenerfassungseinheit 24 erlangt werden, sind beispielsweise Kräfte und Frequenzen, die von dem Kraftsensor erlangt werden, der am Endstück des Roboters 1 angebracht ist, oder Daten die erlangt werden, nachdem diese Daten durch die Vorverarbeitungseinheit 12 vorverarbeitet wurden. Daher sind kurz gesagt die Labeldaten L Daten, welche die Kräfte und Vibrationsfrequenzen angeben, die durch den Kraftsensor unter den Zustandsgrößen S detektiert werden.
-
In der Lernstufe der Lernvorrichtung 20 erfolgt die Ausführung des Betriebs des Roboters 1 im lastlosen Zustand, die Detektion der Zustände des Roboters 1 und der Antriebseinheit während der Ausführung und die Detektion der Kräfte und Vibrationsfrequenzen durch den Kraftsensor.
-
Die Lerneinheit 26 kann beispielsweise als eine Funktion der CPU der Robotersteuerung ausgelegt sein. Alternativ kann die Lerneinheit 26 beispielsweise als Software für die CPU der Robotersteuerung ausgelegt sein. Die Lerneinheit 26 lernt die Beziehungen zwischen den Zustandsgrößen S, die für die gegenwärtigen Zustände des Roboters 1 und der Antriebseinheit repräsentativ sind, und den Labeldaten L, welche die detektierten Werte des Kraftsensors angeben, gemäß einem willkürlichen Lernalgorithmus, der kollektiv Maschinenlernen genannt wird. Die Lerneinheit 26 kann wiederholt ein Lernen basierend auf einem Datensatz, der die vorstehenden Zustandsgrößen S und die Labeldaten L umfasst, während der Roboter 1 mehrere Arbeitsvorgänge ausführt, ausführen. Wenn dies erfolgt, sollte der Roboter 1 bevorzugt in mehreren Betriebsmustern betrieben werden, um verschiedene Kombinationen von Stellungen, Drehfrequenzen, Vibrationsfrequenzen und dergleichen abzudecken.
-
Indem diese Lernzyklen wiederholt werden, kann die Lerneinheit 26 automatisch Charakteristiken identifizieren, die auf Korrelationen zwischen den Zustandsgrößen S, die für die gegenwärtigen Zustände des Roboters 1 und der Antriebseinheit repräsentativ sind, und den Labeldaten L, welche die detektierten Werte des Kraftsensors angeben, hinweisen. Obwohl die Korrelationen zwischen den Zustandsgrößen S und den Labeldaten L beim Start des Lernalgorithmus unbekannt sind, interpretiert die Lerneinheit 26 die Korrelationen, indem sie allmählich die Charakteristiken mit dem Fortschritt des Lernens identifiziert. Wenn die Korrelationen zwischen den Zustandsgrößen S und den Labeldaten L mit einem zuverlässigen Niveau interpretiert werden, können die Lernresultate, die wiederholt durch die Lerneinheit 26 ausgegeben werden, verwendet werden, um die detektierten Werte des Kraftsensors basierend auf den gegenwärtigen Zuständen des Roboters 1 und der Antriebseinheit abzuschätzen.
-
Die Zustandsgrößen S bestehen aus Daten, die durch Störungen nicht leicht beeinflusst werden, während die Labeldaten L eindeutig erlangt werden. Daher kann gemäß der Lernvorrichtung 20 der Steuerung 10 die Abschätzung der detektierten Werte des Kraftsensors, die den gegenwärtigen Zuständen des Roboters 1 und der Antriebseinheit entsprechen, automatisch und genau unter Verwendung der Lernresultate der Lerneinheit 26 ausgeführt werden.
-
Wenn die Abschätzung der detektierten Werte des Kraftsensors im lastlosen Zustand automatisch und genau ausgeführt werden kann, können nur die durch die Bearbeitung erzeugten Kräfte und Vibrationsfrequenzen durch Subtrahieren abgeschätzter detektierter Werte des Kraftsensors im lastlosen Zustand von detektierten Werten des Kraftsensors, die tatsächlich in einem belasteten Zustand gemessen wurden, berechnet werden. Während der Werkstückbearbeitung, wie beispielsweise Entgraten oder Schleifen, erlangen daher die Vorverarbeitungseinheit 12 und die Zustandsbeobachtungseinheit 22, wie in der Lernstufe, den Zustand (Arbeitsrichtung, Geschwindigkeit, Beschleunigung, Ruck, Stellung usw.) des Roboters 1 und den Zustand (Drehfrequenz, Vibrationsfrequenz usw.) der Antriebseinheit des Werkzeugs, das an dem Roboter 1 angebracht ist, als die Zustandsgrößen S. Die Lerneinheit 26 gibt die Zustandsgrößen S in ein gelerntes Modell ein und gibt die Schätzwerte des Kraftsensors unter den Zustandsgrößen S aus. Andererseits erlangt die Steuerung 10 die gegenwärtig detektierten Werte (Kraft, Vibrationsfrequenz usw.) des Kraftsensors. Des Weiteren subtrahiert die Steuerung 10 die Schätzwerte, die durch die Lerneinheit 26 ausgegeben werden, von den gegenwärtig detektierten Werten des Kraftsensors. Die auf diese Weise erlangten Daten sind Daten, die nur die Kräfte und Vibrationsfrequenzen angeben, die aufgrund der Werkstückbearbeitung, wie Entgraten oder Schleifen, erzeugt werden.
-
Die Steuerung 10 kann die vorstehende Verarbeitung beispielsweise als Zyklussteuerung ausführen. Speziell berechnet die Lerneinheit 26 Schätzwerte der Ausgaben des Kraftsensors in einem feststehenden Zeitraum. Wenn die gegenwärtig detektierten Werte des Kraftsensors erlangt sind, berechnet die Steuerung 10 die Kräfte und Vibrationsfrequenzen, die aufgrund der Bearbeitung erzeugt werden, unter Verwendung des geschätzten Wertes der Ausgabe des Kraftsensors, der in dem vorhergehenden Zeitraum berechnet wurde. Gemäß diesem Verfahren ist ein geschätzter Wert, der verwendet wird, um Geräusche aufzuheben, ein vorhergehender. Da angenommen werden kann, dass sich die Geräusche abhängig von den Zustandswechseln des Roboters 1 und der Antriebseinheit im Wesentlichen linear ändern, können jedoch praktisch keine ernsthaften Fehler erzeugt werden.
-
Alternativ kann die Steuerung 10 ein Steuern, das frei von den vorstehenden periodischen Fehlern ist, durch Ausführen einer solchen Bearbeitung, wie die gleichen Arbeitsvorgänge viele Male zu wiederholen, erreichen. In diesem Fall sind die Betriebsmuster des Roboters 1 und der Antriebseinheit feststehend, sodass die Lerneinheit 26 ein Lernen in der Lernstufe ausführt, das für die Betriebsmuster des Roboters 1 und die Antriebseinheit spezifisch ist, die bei der Bearbeitung verwendet werden. Des Weiteren führt in der Stufe des Verwendens der Lernresultate die Steuerung 10 beginnend von der ersten Stufe der Bearbeitung eine Geräuschaufhebungsverarbeitung unter Verwendung der Lernresultate aus.
-
Daher erstellt gemäß der vorliegenden Ausführungsform die Lernvorrichtung 20 ein Lernmodell, das Korrelationen zwischen den gegenwärtigen Zuständen des Roboters 1 und der Antriebseinheit im lastlosen Zustand und den detektierten Werten des Kraftsensors angibt. Des Weiteren schätzt die Lernvorrichtung 20 die detektierten Werte des Kraftsensors im lastlosen Zustand entsprechend den gegenwärtigen Zuständen des Roboters 1 und der Antriebseinheit basierend auf dem gelernten Modell ab. Des Weiteren subtrahiert die Steuerung 10 während der Bearbeitung die abgeschätzten detektierten Werte des Kraftsensors im lastlosen Zustand von den detektierten Werten des Kraftsensors, wodurch nur die durch die Bearbeitung erzeugten Kräfte detektiert werden. Auf diese Weise kann ein Betriebsgeräusch des Werkzeugs entfernt werden, um die Detektion von kleinen Kräften zu ermöglichen, die aufgrund der Werkstückbearbeitung, wie Entgraten oder Schleifen, erzeugt werden, sodass eine Feinbearbeitung erreicht werden kann. Insbesondere variiert das Betriebsgeräusch des Werkzeugs in hohem Maße abhängig von der Vibrations- oder Drehfrequenz der Antriebseinheit, der Stellung des Arms des Roboters 1 und dergleichen, sowie vom Betrieb (Richtung, Geschwindigkeit, Beschleunigung, Ruck usw.) des Roboters 1. Gemäß der vorliegenden Ausführungsform kann das diesen Faktoren zurechenbare Betriebsgeräusch entfernt werden, sodass die Vorrichtung der vorliegenden Ausführungsform insbesondere für eine Bearbeitung wie Entgraten oder Schleifen nützlich ist.
-
Bei einer Modifikation der Lernvorrichtung 20 der Steuerung 10 kann die Lerneinheit 26 die detektierten Werte des Kraftsensors, die den Betriebszuständen von mehreren Robotern 1 entsprechen, welche die gleiche Konfiguration aufweisen, unter Verwendung von Zustandsgrößen S und Labeldaten L, die individuell für die Roboter 1 erlangt wurden, lernen. Gemäß dieser Konfiguration kann das Volumen eines Datensatzes, der die in einem bestimmten Zeitraum erlangten Zustandsgrößen S und Labeldaten umfasst, vergrößert werden, sodass die Geschwindigkeit und Zuverlässigkeit des Lernens in einem anormalen Zustand einer Spritzgießmaschine relativ zum Betriebszustand der Maschine mit als Eingaben verwendeten vielfältigeren Datensätzen erhöht werden.
-
Bei der Lernvorrichtung 20 mit der vorstehenden Konfiguration ist der Lernalgorithmus, der durch die Lerneinheit 26 ausgeführt wird, nicht speziell begrenzt, und es kann ein konventioneller Lernalgorithmus als das Maschinenlernen verwendet werden. 3 zeigt eine Konfiguration basierend auf einer Form der Steuerung 10, die in 2 gezeigt ist, bei der die Lerneinheit 26 überwachtes Lernen als ein Beispiel des Lernalgorithmus ausführt. Das überwachte Lernen ist ein Verfahren, bei dem ein großes Volumen bekannter Datensätze (genannt Lehrdaten) einschließlich Eingaben und Ausgaben, die diesen entsprechen, im Voraus gegeben sind, und Charakteristiken, welche auf die Korrelationen zwischen den Eingaben und den Ausgaben hinweisen, werden von diesen Lehrdaten identifiziert, wodurch ein Korrelationsmodell (detektierte Werte des Kraftsensors, die den gegenwärtigen Zuständen des Roboters 1 und der Antriebseinheit entsprechen, in der Lernvorrichtung 20 der vorliegenden Erfindung) zum Abschätzen einer für eine neue Eingabe erforderlichen Ausgabe gelernt wird.
-
Bei der Lernvorrichtung 20 der Steuerung 10, die in 3 gezeigt ist, umfasst die Lerneinheit 26 eine Fehlerberechnungseinheit 32 und eine Modellaktualisierungseinheit 34. Die Fehlerberechnungseinheit 32 berechnet Fehler E zwischen einem Korrelationsmodell M, das die detektierten Werte des Kraftsensors von den Zustandsgrößen S ableitet, und Korrelationscharakteristiken, die von Lehrdaten T identifiziert werden, die im Voraus vorbereitet werden. Die Modellaktualisierungseinheit 34 aktualisiert das Korrelationsmodell M, um die Fehler E zu reduzieren. Die Lerneinheit 26 lernt die detektierten Werte des Kraftsensors, die den gegenwärtigen Zuständen des Roboters 1 und der Antriebseinheit entsprechen, während die Modellaktualisierungseinheit 34 die Aktualisierung des Korrelationsmodells M wiederholt. Das Korrelationsmodell M kann durch Regressionsanalyse, verstärkendes Lernen, Tiefenlernen oder dergleichen aufgebaut werden. Ein Anfangswert des Korrelationsmodells M wird beispielsweise als eine vereinfachte Darstellung der Korrelationen zwischen den Zustandsgrößen S und den detektierten Werten des Kraftsensors vor dem Start des überwachten Lernens an die Lerneinheit 26 gegeben. Die Lehrdaten T können beispielsweise aus Erfahrungswerten (bekannten Datensätzen, welche die gegenwärtigen Zustände des Roboters 1 und der Antriebseinheit und die detektierten Werte des Kraftsensors umfassen) bestehen, die als die detektierten Werte des Kraftsensors gespeichert sind, die den vergangenen gegenwärtigen Zuständen des Roboters 1 und der Antriebseinheit entsprechen, die aufgezeichnet sind und vor dem Start des überwachten Lernens an die Lerneinheit 26 gegeben werden. Die Fehlerberechnungseinheit 32 identifiziert die Korrelationscharakteristiken, welche auf die Korrelationen der detektierten Werte des Kraftsensors mit den gegenwärtigen Zuständen des Roboters 1 und der Antriebseinheit hinweisen, aus dem großen Volumen von Lehrdaten T, welche der Lerneinheit 26 gegeben werden, und erlangt die Fehler E zwischen den Korrelationscharakteristiken und dem Korrelationsmodell M entsprechend den Zustandsgrößen S in den gegenwärtigen Zuständen. Die Modellaktualisierungseinheit 34 aktualisiert das Korrelationsmodell M, um die Fehler E beispielsweise gemäß einer vorbestimmten Aktualisierungsregel zu reduzieren.
-
Im nächsten Lernzyklus erlangt die Fehlerberechnungseinheit 32 die Fehler E in Bezug auf das Korrelationsmodell M entsprechend den Zustandsgrößen S und den Labeldaten L unter Verwendung der Zustandsgrößen S und der Labeldaten L, die durch Ausführen des Betriebs des Roboters 1 erlangt sind, gemäß dem aktualisierten Korrelationsmodell M, und die Modellaktualisierungseinheit 34 aktualisiert das Korrelationsmodell M erneut. Auf diese Weise wird die Korrelation zwischen den gegenwärtigen Zuständen der Umgebungen (gegenwärtige Zustände des Roboters 1 und der Antriebseinheit), die bis jetzt unbekannt waren, und der Bestimmung der entsprechenden Zustände (Bestimmung der detektierten Werte des Kraftsensors) allmählich klar. Die Beziehungen zwischen den gegenwärtigen Zuständen des Roboters 1 und der Antriebseinheit und detektierten Werten des Kraftsensors werden mit anderen Worten durch Aktualisieren des Korrelationsmodells M allmählich einer optimalen Lösung angenähert.
-
Es kann beispielsweise ein neuronales Netzwerk verwendet werden, um das vorstehende überwachte Lernen zu verbessern. 4A zeigt schematisch ein Modell eines Neurons.
-
4B zeigt schematisch ein Modell eines dreischichtigen neuronalen Netzwerks, das durch Kombinieren der in 4A gezeigten Neuronen aufgebaut ist. Das neuronale Netzwerk kann beispielsweise aus einer Arithmetikeinheit oder einer Speichervorrichtung bestehen, die das Neuronenmodell imitiert.
-
Das in
4A gezeigte Neuron gibt Resultate y von mehreren Eingaben x (z. B. die Eingaben x
1 bis x
3 ) aus. Die Eingaben x
1 bis x
3 werden mit ihren entsprechenden Gewichtungen w (w
1 bis w
3) multipliziert. Daher liefert das Neuron die Ausgaben y, die durch die nachstehende Gleichung 2 dargestellt sind. In der Gleichung 2 sind die Eingaben x, , die Ausgaben y und die Gewichtungen w alle Vektoren. Des Weiteren ist θ ein Bias und f
k ist eine Aktivierungsfunktion.
-
In dem dreischichtigen neuronalen Netzwerk, das in 4B gezeigt ist, werden die Eingaben x (z. B. die Eingaben x1 bis x3) von der linken Seite eingegeben und die Resultate y (z. B. die Resultate y1 bis y3) von der rechten Seite ausgegeben. In dem veranschaulichten Beispiel werden die individuellen Eingaben x1, x2 und x3 mit ihren entsprechenden Gewichtungen (kollektiv dargestellt durch w1) multipliziert und jede davon wird in drei Neuronen N11, N12 und N13 eingegeben.
-
In 4B sind die entsprechenden Ausgaben der Neuronen N11 bis N13 kollektiv durch z1 dargestellt. Die Ausgaben z1 können als Merkmalvektoren basierend auf der Extraktion der Merkmalquantität von Eingangsvektoren betrachtet werden. In dem veranschaulichten Beispiel werden die individuellen Merkmalvektoren z1 mit ihren entsprechenden Gewichtungen (kollektiv dargestellt durch w2) multipliziert und jede davon wird in zwei Neuronen N21 und N22 eingegeben. Die Merkmalvektoren z1 stellen Merkmale zwischen den Gewichtungen w1 und w2 dar.
-
In 4B sind die entsprechenden Ausgaben der Neuronen N21 und N22 kollektiv durch z2 dargestellt. Die Ausgaben z2 können als Merkmalvektoren basierend auf der Extraktion der Merkmalquantität der Merkmalvektoren z1 betrachtet werden. In dem veranschaulichten Beispiel werden die individuellen Merkmalvektoren z2 mit ihren entsprechenden Gewichtungen (kollektiv dargestellt durch w3) multipliziert und jeder davon wird in drei Neuronen N31, N32 und N33 eingegeben. Die Merkmalvektoren z2 stellen Merkmale zwischen den Gewichtungen w2 und w3 dar. Letztendlich geben die Neuronen N31 bis N33 die Resultate y1 bis y3 entsprechend aus.
-
Bei der Lernvorrichtung 20 der Steuerung 10 können die detektierten Werte (die Resultate y) des Kraftsensors ausgegeben werden, während die Lerneinheit 26 eine Berechnung einer mehrschichtigen Struktur basierend auf dem vorstehenden neuronalen Netzwerk mit den Zustandsgrößen S, die als die Eingaben x verwendet werden, ausführt. Betriebsmodi des neuronalen Netzwerks umfassen einen Lernmodus und einen Bestimmungsmodus. Die Gewichtungen w können beispielsweise unter Verwendung eines Lerndatensatzes in dem Lernmodus gelernt werden, während die detektierten Werte des Kraftsensors in dem Bestimmungsmodus unter Verwendung der gelernten Gewichtungen w bestimmt werden können. Detektion, Klassifizierung, Rückschluss und dergleichen können im Bestimmungsmodus ebenfalls ausgeführt werden.
-
Die vorstehende Konfiguration der Steuerung 10 kann als ein Maschinenlernverfahren (oder eine Software), das durch die CPU des Computers ausgeführt wird, beschrieben werden. Dieses Maschinenlernverfahren ist ein Lernverfahren zum Lernen der detektierten Werte des Kraftsensors, die den gegenwärtigen Zuständen des Roboters 1 und der Antriebseinheit entsprechen. Dieses Verfahren umfasst einen Schritt, in dem die CPU des Computers die Zustandsgrößen S, welche die gegenwärtigen Zustände des Roboters 1 und der Antriebseinheit angeben, beobachtet, einen Schritt des Erlangens der Labeldaten L, welche die detektierten Werte des Kraftsensors angeben, und einen Schritt des Lernens der gegenwärtigen Zustände des Roboters 1 und der Antriebseinheit und der detektierten Werte des Kraftsensors in Verbindung miteinander unter Verwendung der Zustandsgrößen S und der Labeldaten L.
-
Während eine Ausführungsform der vorliegenden Erfindung hierin beschrieben wurde, ist die Erfindung nicht auf die vorstehend beschriebene Ausführungsform begrenzt und kann in verschiedenen Formen geeignet modifiziert und verkörpert werden.
-
Der Lernalgorithmus, der durch die Lernvorrichtung 20 ausgeführt wird, ein Steuerungsalgorithmus, der durch die Steuerung 10 ausgeführt wird, und dergleichen sind nicht auf diejenigen begrenzt, die vorstehend beschrieben sind, und verschiedene Algorithmen können verwendet werden.
-
Obwohl die Vorverarbeitungseinheit 12 an der Steuerung 10 in der vorstehend beschriebenen Ausführungsform vorgesehen ist, kann sie des Weiteren alternativ am Roboter 1 vorgesehen werden. In diesem Fall kann die Vorverarbeitung in einem oder beiden von der Steuerung 10 und dem Roboter 1 ausgeführt werden und der Ort der Verarbeitung kann geeignet unter Berücksichtigung der Verarbeitungskapazität und der Geschwindigkeit der Kommunikation festgelegt werden.
-
Des Weiteren sind in der vorstehend beschriebenen Ausführungsform die Zustandsgrößen S und die Labeldaten L nur beispielhaft angegeben. Es können nur einige der vorstehenden Daten als die Zustandsgrößen S verwendet werden oder anderweitig können andere Daten, welche die gegenwärtigen Zustände des Roboters 1 und der Antriebseinheit angeben, für diesen Zweck verwendet werden. Des Weiteren können nur einige der vorstehenden Daten oder anderweitig andere Daten, die durch den Kraftsensor ausgegeben werden, als die Labeldaten verwendet werden.