DE102020115631A1 - Maschinenlernvorrichtung, Robotersystem und Maschinenlernverfahren zum Lernen eines Zustands eines Werkzeugs - Google Patents

Maschinenlernvorrichtung, Robotersystem und Maschinenlernverfahren zum Lernen eines Zustands eines Werkzeugs Download PDF

Info

Publication number
DE102020115631A1
DE102020115631A1 DE102020115631.6A DE102020115631A DE102020115631A1 DE 102020115631 A1 DE102020115631 A1 DE 102020115631A1 DE 102020115631 A DE102020115631 A DE 102020115631A DE 102020115631 A1 DE102020115631 A1 DE 102020115631A1
Authority
DE
Germany
Prior art keywords
tool
learning
force
robot
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102020115631.6A
Other languages
English (en)
Inventor
Mikito HANE
Takashi Satou
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE102020115631A1 publication Critical patent/DE102020115631A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/005Manipulators for mechanical processing tasks
    • B25J11/0065Polishing or grinding
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/085Force or torque sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37234Monitor tool before, after and during machining
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39529Force, torque sensor in wrist, end effector
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biophysics (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Fuzzy Systems (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

Eine Maschinenlernvorrichtung, die den Zustand eines Werkzeugs anhand einer Kraft bestimmen kann, die vom Werkzeug an einen Roboter angelegt wird, während der Roboter unter Verwendung des Werkzeugs einen Arbeitsvorgang durchführt. Eine Maschinenlernvorrichtung zum Lernen eines Zustands eines Werkzeugs, das durch einen Roboter für einen Arbeitsvorgang verwendet wird, umfasst einen Lerndatenerfassungsabschnitt, der Daten einer Kraft, die vom Werkzeug an den Roboter angelegt wird, während der Roboter das Werkzeug veranlasst, einen vorgegebenen Betrieb durchzuführen, und Daten, die den Zustand des Werkzeugs während des vorgegebenen Betriebs angeben, als Lerndatensatz erfasst, und einen Lernabschnitt, der unter Verwendung des Lerndatensatzes ein Lernmodell erzeugt, das eine Korrelation zwischen der Kraft und dem Zustand des Werkzeugs repräsentiert.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine Maschinenlernvorrichtung, ein Robotersystem und ein Maschinenlernverfahren zum Lernen des Zustands eines Werkzeugs, das durch einen Roboter für einen Arbeitsvorgang verwendet wird.
  • Beschreibung des zugehörigen Standes der Technik
  • Es ist eine Technik zum Lernen der Charakteristika eines Geräusches oder einer Vibration während einer maschinellen Bearbeitung eines Werkstücks durch ein Werkzeug und zum Bestimmen des Verschleißgrads des Werkzeugs bekannt (ungeprüfte japanische Patentveröffentlichung (Kokai) Nr. 2018-156340).
  • Auf dem Gebiet der Robotik wird eine Kraft erkannt, die von einem Werkzeug an einen Roboter angelegt wird, während der Roboter unter Verwendung des Werkzeugs einen Arbeitsvorgang durchführt. Es besteht daher Bedarf an einer Technik zum Bestimmen des Zustands des Werkzeugs anhand der derart erkannten Kraft.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß einem Aspekt der Offenbarung umfasst eine Maschinenlernvorrichtung, die dazu eingerichtet ist, einen Zustand eines Werkzeugs zu lernen, das durch einen Roboter für einen Arbeitsvorgang verwendet wird, einen Lerndatenerfassungsabschnitt, der dazu eingerichtet ist, Daten einer Kraft, die vom Werkzeug an den Roboter angelegt wird, während der Roboter das Werkzeug veranlasst, einen vorgegebenen Betrieb durchzuführen, und Daten, die den Zustand des Werkzeugs während des vorgegebenen Betriebs angeben, als Lerndatensatz zu erfassen, und einen Lernabschnitt, der dazu eingerichtet ist, unter Verwendung des Lerndatensatzes ein Lernmodell zu erzeugen, das eine Korrelation zwischen der Kraft und dem Zustand des Werkzeugs repräsentiert.
  • Gemäß einem anderen Aspekt der Offenbarung umfasst ein Maschinenlernverfahren zum Lernen eines Zustands eines Werkzeugs, das durch einen Roboter für einen Arbeitsvorgang verwendet wird, das Durchführen folgender Schritte durch einen Prozessor: Erfassen von Daten einer Kraft, die vom Werkzeug an den Roboter angelegt wird, während der Roboter das Werkzeug veranlasst, einen vorgegebenen Betrieb durchzuführen, und Daten, die den Zustand des Werkzeugs während des vorgegebenen Betriebs angeben, als Lerndatensatz und Erzeugen eines Lernmodells, das eine Korrelation zwischen der Kraft und dem Zustand des Werkzeugs repräsentiert, unter Verwendung des Lerndatensatzes.
  • Gemäß der Offenbarung kann ein Modell, das eine Korrelation zwischen der von einem Werkzeug an einen Roboter angelegten Kraft und dem Zustand des Werkzeugs, während der Roboter das Werkzeug veranlasst, einen vorgegebenen Betrieb durchzuführen, repräsentiert, automatisch und genau erhalten werden.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das eine Maschinenlernvorrichtung gemäß einer Ausführungsform zeigt;
    • 2 zeigt den Zustand, in dem an einem Roboter gemäß einer Ausführungsform ein Endeffektor angebracht ist;
    • 3 zeigt den Zustand, in dem an dem in 2 gezeigten Roboter ein anderer Endeffektor angebracht ist;
    • 4 zeigt den Zustand, in dem an dem in 2 gezeigten Roboter ein weiterer Endeffektor angebracht ist;
    • 5 zeigt den Zustand, in dem an dem in 2 gezeigten Roboter noch ein weiterer Endeffektor angebracht ist;
    • 6 zeigt den Zustand, in dem ein Werkzeug, das durch den in 5 gezeigten Roboter gehalten wird, in ein Loch eingeführt ist;
    • 7 ist ein Flussdiagramm, das einen beispielhaften Lernzyklus zeigt, der durch die in 1 gezeigte Maschinenlernvorrichtung ausgeführt wird;
    • 8 zeigt schematisch ein Modell eines Neurons;
    • 9 zeigt schematisch ein Modell eines mehrschichtigen neuronalen Netzes;
    • 10 ist ein Blockdiagramm, das ein Robotersystem gemäß einer Ausführungsform zeigt; und
    • 11 ist ein Flussdiagramm, das einen beispielhaften Arbeitsablauf des in 10 gezeigten Robotersystems zeigt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Ausführungsformen der Offenbarung sind nachstehend unter Bezugnahme auf die Zeichnungen ausführlich beschrieben. In verschiedenen nachstehend darzulegenden Ausführungsformen sind gleichen Elementen gleiche Bezugszeichen zugeordnet und es wird auf eine wiederholte Beschreibung derselben verzichtet. Zunächst wird unter Bezugnahme auf 1 eine Maschinenlernvorrichtung 10 gemäß einer Ausführungsform beschrieben. Die Maschinenlernvorrichtung 10 kann durch einen Computer, der z.B. einen Prozessor (CPU, GPU etc.), einen Speicher (ROM, RAM etc.) und eine Eingabeeinrichtung (Tastatur, Maus, Bildschirm-Tastfeld etc.) umfasst, oder durch Software, wie etwa einen Lernalgorithmus, gebildet werden.
  • Die Maschinenlernvorrichtung 10 lernt einen Zustand (z.B. einen normalen Zustand oder anormalen Zustand) eines Werkzeugs, das durch einen nachstehend beschriebenen Roboter 20 für einen Arbeitsvorgang verwendet wird. In 2 bis 7 sind der Roboter 20 und verschiedene am Roboter 20 angebrachte Endeffektoren dargestellt. Wie in 2 gezeigt, ist der Roboter 20 ein vertikaler Knickarmroboter und umfasst eine Basis 22, einen Drehkörper 24, einen Unterarm 26, einen Oberarm 28 und ein Handgelenk 30.
  • Die Basis 22 ist am Boden einer Arbeitszelle fixiert. Der Drehkörper 24 ist so an der Basis 22 montiert, dass er um eine vertikale Achse drehbar ist. Der Unterarm 26 ist so am Drehkörper 24 montiert, dass er um eine horizontale Achse drehbar ist. Der Oberarm 28 ist drehbar an einem distalen Ende des Unterarms 26 montiert. Das Handgelenk 30 ist drehbar an einem distalen Ende des Oberarms 28 montiert.
  • Bei dem in 2 gezeigten Beispiel ist ein Endeffektor 40 zum Polieren eines Werkstücks abnehmbar an einem distalen Ende des Handgelenks 30 angebracht. Das Handgelenk 30 trägt den Endeffektor 40 drehbar. Im Roboter 20 sind mehrere Servomotoren (nicht gezeigt) und durch einen Antrieb bewegbare Elemente (d.h. der Drehkörper 24, der Unterarm 26, der Oberarm 28 und das Handgelenk 30) des Roboters 20 verbaut, so dass der Endeffektor 40 in einer beliebigen Position und Ausrichtung angeordnet werden kann.
  • Der Endeffektor 40 umfasst eine Basis 42, ein Werkzeug 44, das so an der Basis 42 bereitgestellt ist, dass es um eine Achse A1 drehbar ist, und einen Antriebsabschnitt 46, der dazu eingerichtet ist, das Werkzeug 44 zu drehen. Die Basis 42 ist mit dem distalen Ende des Handgelenks 30 verbunden. Das Werkzeug 44 ist beispielsweise ein zylindrisches Poliermaterial, das ein Polierschleifkorn (z.B. Keramik, Zirkonoxid oder Diamant) enthält, und poliert das Werkstück durch seinen Drehbetrieb. Der Antriebsabschnitt 46 ist beispielsweise ein Servomotor und dreht das Werkzeug 44 um die Achse A1.
  • Ein Kraftsensor 32 ist zwischen dem Handgelenk 30 und dem Endeffektor 40 angeordnet. Der Kraftsensor 32 ist beispielsweise ein Sechs-Achsen-Kraftsensor, der mehrere Dehnungsmessstreifen umfasst, und erkennt eine auf den Kraftsensor 32 wirkende Kraft. Insbesondere gibt der Kraftsensor 32 in Antwort auf eine im Kraftsensor 32 erzeugte Dehnung von jedem Dehnungsmessstreifen ein Ausgangssignal SO aus.
  • Aufgrund dieser Ausgangssignale SO ist es möglich, in sechs Richtungen eines Kraftsensorkoordinatensystems CF die Kräfte Fx, Fy, Fz, Mx, My und Mz zu erkennen, d.h. die Kraft Fx in der X-Achsenrichtung, die Kraft Fy in der Y-Achsenrichtung, die Kraft Fz in der Z-Achsenrichtung, das Moment Mx um die X-Achse, das Moment My um die Y-Achse und das Moment Mz um die Z-Achse des Kraftsensorkoordinatensystems CF .
  • Anhand der Kräfte Fx, Fy, Fz, Mx, My und Mz in den sechs Richtungen können die Größe und Richtung einer an den Endeffektor 40 (z.B. das Werkzeug 44) angelegten Kraft FE erkannt werden. Das Kraftsensorkoordinatensystem CF wird beispielsweise so für den Kraftsensor 32 festgelegt, dass sein Ursprung an einer vorgegebenen Position (z.B. dem Zentrum) des Kraftsensors 32 angeordnet ist und seine Z-Achsenrichtung parallel zur Mittelachse des Kraftsensors 32 verläuft.
  • Bei dem in 3 gezeigten Beispiel ist ein anderer Endeffektor 50 zum Polieren eines Werkstücks am Handgelenk 30 des Roboters 20 angebracht. Der Endeffektor 50 umfasst eine Basis 52, das Werkzeug 44, das so an der Basis 52 bereitgestellt ist, dass es um eine Achse A2 drehbar ist, und einen Antriebsabschnitt 54, der dazu eingerichtet ist, das Werkzeug 44 zu drehen.
  • Die Basis 52 ist über den Kraftsensor 32 am distalen Ende des Handgelenks 30 angebracht. Der Antriebsabschnitt 54 ist beispielsweise ein Servomotor und dreht das Werkzeug 44 um die Achse A2. Bei den in 2 und 3 gezeigten Beispielen führt der Roboter 20 unter Verwendung des Werkzeugs 44 einen Arbeitsvorgang zum Polieren des Werkstücks durch.
  • Bei dem in 4 gezeigten Beispiel ist ein Endeffektor 60 zum Bearbeiten (z.B. Entgraten) eines Werkstücks W1 abnehmbar am Handgelenk 30 des Roboters 20 angebracht. Insbesondere umfasst der Endeffektor 60 eine Basis 62, ein Werkzeug 64, das so an der Basis 62 bereitgestellt ist, dass es um eine Achse A3 drehbar ist, und einen Antriebsabschnitt 66, der dazu eingerichtet ist, das Werkzeug 64 zu drehen. Die Basis 62 ist über den Kraftsensor 32 am distalen Ende des Handgelenks 30 angebracht.
  • Das Werkzeug 64 ist ein Bearbeitungswerkzeug, das beispielsweise aus Stahl gefertigt ist und ein im Wesentlichen konisches distales Ende aufweist. Das Werkzeug 64 bearbeitet das Werkstück W1 durch seinen Drehbetrieb. Der Antriebsabschnitt 66 ist eine Einrichtung, die beispielsweise durch einen Motor oder ein Druckgas Leistung erzeugt und in der Basis 62 verbaut ist. Der Antriebsabschnitt 66 dreht das Werkzeug 64 um die Achse A3. Der Roboter 20 führt unter Verwendung des Werkzeugs 64 einen Arbeitsvorgang zum Bearbeiten (z.B. Entgraten) des Werkstücks durch.
  • Bei dem in 5 gezeigten Beispiel ist ein Endeffektor 70 abnehmbar am Handgelenk 30 des Roboters 20 angebracht. Der Endeffektor 70 ist eine Roboterhand, die ein Werkzeug 74 handhabt, und umfasst eine Basis 72, mehrere Finger 76, die so an der Basis 72 bereitgestellt sind, dass sie sich öffnen und schließen, und einen Antriebsabschnitt 78, der dazu eingerichtet ist, die Finger 76 anzutreiben.
  • Die Basis 72 ist über den Kraftsensor 32 am distalen Ende des Handgelenks 30 angebracht. Die Finger 76 sind so an der Basis 72 bereitgestellt, dass sie in Richtungen zueinander hin und voneinander weg bewegbar sind und das Werkzeug 74 festhalten oder loslassen. Der Antriebsabschnitt 78 ist beispielsweise ein Servomotor oder Zylinder und in der Basis 72 verbaut.
  • Das Werkzeug 74 ist ein zylindrisches oder prismatisches Element (z.B. ein selbstbeweglicher Zylinder). Der Roboter 20 hält das Werkzeug 74 durch den Endeffektor 70 fest und führt einen Arbeitsvorgang zum Einsetzen des gehaltenen Werkzeugs 74 in ein in einem Zielwerkstück W2 ausgebildetes Loch H durch, um das Werkzeug 74, wie in 6 gezeigt, in das Werkstück W2 einzupassen.
  • Bezug nehmend wieder auf 1 umfasst die Maschinenlernvorrichtung 10 einen Lerndatenerfassungsabschnitt 12 und einen Lernabschnitt 14. Der Lerndatenerfassungsabschnitt 12 erfasst Daten einer Kraft F, die vom Werkzeug 44, 64 oder 74 an den Roboter 20 angelegt wird, während der Roboter 20 das Werkzeug 44, 64 oder 74 veranlasst, einen vorgegebenen Betrieb durchzuführen, und Daten, die einen Zustand S des Werkzeugs 44, 64 oder 74 während des vorgegebenen Betriebs angeben, als Lerndatensatz.
  • Bei den in 2 bis 4 gezeigten Beispielen ist der „vorgegebene Betrieb“ beispielsweise ein Betrieb zum Drehen des Werkzeugs 44 oder 64 durch den Roboter 20, bei dem das Werkzeug 44 oder 64 das Werkstück nicht berührt. Alternativ ist der „vorgegebene Betrieb“ ein Betrieb zum Drehen des Werkzeugs 44 oder 64 durch den Roboter 20, bei dem das Werkzeug 44 oder 64 das Werkstück berührt. Es wird darauf hingewiesen, dass, wenn der Roboter den Betrieb zum Drehen des Werkzeugs 44 oder 64, bei dem das Werkzeug 44 oder 64 das Werkstück berührt, als vorgegebenen Betrieb durchführt, der Roboter 20 eine Kraftregelung durchführen kann, um die Kraft F, die vom Werkzeug 44 oder 64 an den Roboter 20 angelegt wird (d.h. die Kraft, die vom Werkzeug 44 oder 64 an das Werkstück angelegt wird), auf einen vorgegebenen Zielwert zu regeln.
  • Bei dem in 5 gezeigten Beispiel hingegen, ist der „vorgegebene Betrieb“ ein Betrieb zum Einsetzen des Werkzeugs 74 in das Loch H durch den Roboter 20. Es wird darauf hingewiesen, dass, wenn der Roboter 20 den Betrieb zum Einsetzen des Werkzeugs 74 in das Loch H als vorgegebenen Betrieb durchführt, der Roboter 20 eine Kraftregelung durchführen kann, um die Kraft F, die vom Werkzeug 74 an den Roboter 20 angelegt wird (d.h. die Kraft, die vom Werkzeug 74 an das Werkstück W2 angelegt wird), auf einen vorgegebenen Zielwert zu regeln.
  • Wie vorstehend erwähnt werden abhängig von den Arbeitsvorgängen verschiedene Endeffektoren, wie etwa der Endeffektor 40, 50, 60 oder 70, am Handgelenk 30 des Roboters 20 angebracht und der Roboter 20 veranlasst das Werkzeug 44, 64 oder 74, den vorstehend beschriebenen vorgegebenen Betrieb durchzuführen. Der Kraftsensor 32 erkennt die Kraft F, die vom Werkzeug 44, 64 oder 74 an den Roboter 20 angelegt wird, während der Roboter 20 das Werkzeug 44, 64 oder 74 veranlasst, den vorgegebenen Betrieb durchzuführen, und führt dem Lerndatenerfassungsabschnitt 12 Daten der Kraft F zu.
  • Bei den in 2 bis 4 gezeigten Beispielen wird, während der Roboter 20 den Betrieb zum Drehen des Werkzeugs 44 oder 64, bei dem das Werkzeug 44 oder 64 das Werkstück nicht berührt (oder bei dem das Werkzeug 44 oder 64 das Werkstück berührt), als vorgegebenen Betrieb durchführt, durch die Drehung des Werkzeugs 44 oder 64 eine Kraft an den Kraftsensor 32 angelegt. Der Kraftsensor 32 erkennt eine solche Kraft als Kraft F, die während des vorgegebenen Betriebs vom Werkzeug 44 oder 64 an den Roboter 20 angelegt wird.
  • Bei dem in 5 gezeigten Beispiel wird, während der Roboter 20 den Betrieb zum Einsetzen des Werkzeugs 74 in das Loch H als vorgegebenen Betrieb durchführt, eine auf diesen Betrieb zurückzuführende Kraft an den Kraftsensor 32 angelegt. Der Kraftsensor 32 erkennt eine solche Kraft als Kraft F, die während des vorgegebenen Betriebs vom Werkzeug 74 an den Roboter 20 angelegt wird. Der Lerndatenerfassungsabschnitt 12 erfasst vom Kraftsensor 32 die Daten der durch den Kraftsensor 32 erkannten Kraft F. Die Daten der Kraft F umfassen das Ausgangssignal SO, die Kräfte Fx, Fy, Fz, Mx, My und Mz und/oder die an den Endeffektor 40 angelegte Kraft FE.
  • Des Weiteren können die Daten der Kraft F eine Zeitänderungscharakteristik CT, einen Amplitudenwert AP (z.B. einen positiven oder negativen Spitzenwert oder einen Spitze-Spitze-Wert) und/oder ein Frequenzspektrum FS der Daten SO, Fx, Fy, Fz, Mx, My, Mz oder FE umfassen. Die Zeitänderungscharakteristik CT oder das Frequenzspektrum FS können Daten sein, die über eine vorgegebene Zeitspanne τ erkannt werden. Der Amplitudenwert AP kann der Mittel- oder Maximalwert der vorgegebenen Zeitspanne τ sein. Die vorgegebene Zeitspanne τ kann die Zeit vom Start bis zum Ende des durch den Roboter 20 durchgeführten „vorgegebenen Betriebs“ oder eine beliebige Zeitspanne (z.B. 1 s) während des „vorgegebenen Betriebs“ sein.
  • Die den Zustand S des Werkzeugs 44, 64 oder 74 angebenden Daten umfassen beispielsweise Label-Informationen, wie etwa „normaler Zustand“ oder „anormaler Zustand“. Der anormale Zustand gibt einen Zustand an, in dem das Werkzeug 44, 64 oder 74 eine Beschädigung aufweist, beispielsweise etwa Absplitterungen, Brüche oder Risse. Der normale Zustand hingegen gibt einen Zustand an, in dem das Werkzeug 44, 64 oder 74 keine Beschädigung aufweist.
  • Als Label-Informationen des „normalen Zustands“ können mehrere einzelne Label-Informationen, wie etwa „fabrikneuer Zustand“ und „gebrauchter Zustand“, festgelegt werden. Außerdem können, abhängig von der Schwere des anormalen Zustands, mehrere einzelne Label-Informationen, wie etwa „anormaler Zustand Stufe 1“, „anormaler Zustand Stufe 2“ und „anormaler Zustand Stufe 3“, als Label-Informationen des „anormalen Zustands“ festgelegt werden.
  • Die den Zustand S des Werkzeugs 44, 64 oder 74 angebenden Daten werden durch einen Bediener bestimmt. Beispielsweise bestätigt der Bediener den Zustand (normaler Zustand, anormaler Zustand) des Werkzeugs 44, 64 oder 74 z.B. durch visuelle Betrachtung und gibt die den Zustand S des Werkzeugs 44, 64 oder 74 angebenden Daten in den Lerndatenerfassungsabschnitt 12 ein.
  • Alternativ kann der Bediener vorab ein Lernmodell LM2 bereitstellen, das eine Korrelation zwischen Bilddaten des Werkzeugs 44, 64 oder 74 und dem Zustand S des Werkzeugs 44, 64 oder 74 repräsentiert, und die durch Abbilden des Werkzeugs 44, 64 oder 74 erhaltenen Bilddaten in das Lernmodell LM2 eingeben, um den Zustand S des Werkzeugs 44, 64 oder 74 zu bestimmen. Der Lerndatenerfassungsabschnitt 12 erfasst die vom Kraftsensor 32 erfassten Daten der Kraft F und die den Zustand S angebenden Daten, die durch den Bediener (oder das Lernmodell LM2) bestimmt werden, als Lerndatensatz DS.
  • Es besteht eine Korrelation zwischen der Kraft F, die vom Werkzeug 44, 64 oder 74 an den Roboter 20 angelegt wird, während der Roboter 20 das Werkzeug 44, 64 oder 74 veranlasst, den vorgegebenen Betrieb durchzuführen, und dem Zustand S (z.B. dem normalen Zustand oder dem anormalen Zustand) des Werkzeugs 44, 64 oder 74. Bei den in 2 bis 4 gezeigten Beispielen wird angenommen, dass das Werkzeug 44 oder 64 eine Beschädigung aufweist.
  • Wenn der Roboter 20 in einem solchen Fall den vorgegebenen Betrieb zum Drehen des Werkzeugs 44 oder 64 durchführt, kann aufgrund der Beschädigung bei der Drehung des Werkzeugs 44 oder 64 eine Dezentrierung auftreten, wodurch die vom Werkzeug 44 oder 64 an den Roboter 20 angelegte Kraft F im Vergleich zu einem Fall, in dem das keine Beschädigung aufweisende Werkzeug 44 oder 64 gedreht wird, anders ausfallen kann.
  • Außerdem wird bei den in 5 und 6 gezeigten Beispielen angenommen, dass das Werkzeug 74 eine Beschädigung aufweist. Wenn der Roboter 20 in einem solchen Fall den vorgegebenen Betrieb zum Einsetzen des Werkzeugs 74 in das Loch H durchführt, kann aufgrund von Reibung zwischen dem beschädigten Abschnitt des Werkzeugs 74 und der das Loch H begrenzenden Wandfläche die vom Werkzeug 74 an den Roboter 20 angelegte Kraft F im Vergleich zu einem Fall, in dem das keine Beschädigung aufweisende Werkzeug 74 in das Loch H eingesetzt wird, anders ausfallen.
  • Der Lernabschnitt 14 erzeugt unter Verwendung des Lerndatensatzes DS der Kraft F und des Zustands S ein Lernmodel (Funktion) LM, das eine Korrelation zwischen der Kraft F und dem Zustand S repräsentiert. Der Lernabschnitt 14 erzeugt das Lernmodell LM beispielsweise durch Durchführen überwachten Lernens. In diesem Fall wird der Roboter 20 jedes Mal, wenn ein anderes Werkzeug 44, 64 oder 74 am Roboter 20 angebracht wird, veranlasst, zu versuchen, den vorgegebenen Betrieb zu wiederholen. Der Lerndatenerfassungsabschnitt 12 erfasst, jedes Mal wenn der Roboter 20 den vorgegebenen Betrieb durchführt, wiederholt den Lerndatensatz DS als Lehrerdaten.
  • Der Lernabschnitt 14 lernt das Lernmodell LM durch Identifizieren eines Merkmals, das die Korrelation zwischen den als Lehrerdaten erfassten Daten (der Zeitänderungscharakteristik, dem Frequenzspektrum etc.) der Kraft F und den Zustand S angebenden Daten (Label-Informationen, wie etwa normaler Zustand oder anormaler Zustand) impliziert. Als ein solches überwachtes Lernen kann ein Algorithmus, wie etwa Support Vector Machine (SVM) oder ein Gaußsches Mischmodell (GMM), eingesetzt werden.
  • Unter Bezugnahme auf 7 ist nachstehend der Ablauf eines durch die Maschinenlernvorrichtung 10 ausgeführten Lernzyklus beschrieben. In Schritt S1 bringt der Bediener das Werkzeug 44, 64 oder 74 (d.h. den Endeffektor 40, 50, 60 oder 70) am Roboter 20 an und veranlasst das Werkzeug 44, 64 oder 74 durch den Roboter 20, den vorgegebenen Betrieb durchzuführen.
  • In Schritt S2 erfasst der Lerndatenerfassungsabschnitt 12 den Lerndatensatz DS. Insbesondere erfasst der Lerndatenerfassungsabschnitt 12 vom Kraftsensor 32 die Daten der Kraft F, die durch den Kraftsensor 32 erkannt wird, während der Roboter 20 in Schritt S1 das Werkzeug 44, 64 oder 74 veranlasst, den vorgegebenen Betrieb durchzuführen.
  • Des Weiteren erfasst der Lerndatenerfassungsabschnitt 12 die Label-Informationen des normalen Zustands oder die Label-Informationen des anormalen Zustands als Daten, die den Zustand S des in Schritt S1 gedrehten Werkzeugs 44, 64 oder 74 angeben. Als Beispiel bestätigt der Bediener, ob sich das Werkzeug 44, 64 oder 74 im normalen Zustand oder anormalen Zustand befindet, indem er das Werkzeug 44, 64 oder 74 vor dem Durchführen des vorgegebenen Betriebs in Schritt S1 visuell betrachtet.
  • Als anderes Beispiel bestätigt der Bediener, ob sich das Werkzeug 44, 64 oder 74 im normalen Zustand oder anormalen Zustand befindet, indem er die Daten der Kraft F bestätigt, die während des vorgegebenen Betriebs in Schritt S1 durch den Kraftsensor 32 erkannt wird. Der Bediener bedient dann die Eingabeeinrichtung der Maschinenlernvorrichtung 10, um die Label-Informationen des normalen Zustands oder die Label-Informationen des anormalen Zustands als Daten einzugeben, die den Zustand S des in Schritt S1 angebrachten Werkzeugs 44, 64 oder 74 angeben.
  • Als weiteres Beispiel wird das Werkzeug 44, 64 oder 74 vor oder nach dem Durchführen des vorgegebenen Betriebs in Schritt S1 durch eine Kamera (nicht gezeigt) abgebildet. Die aufgenommenen Bilddaten werden in das Lernmodell LM2 eingegeben. Das Lernmodell LM2 gibt die Label-Informationen des normalen Zustands oder die Label-Informationen des anormalen Zustands an den Lerndatenerfassungsabschnitt 12 aus.
  • Der Lerndatenerfassungsabschnitt 12 erfasst die eingegebenen Label-Informationen des normalen Zustands oder die eingegebenen Label-Informationen des anormalen Zustands. Somit erfasst der Lerndatenerfassungsabschnitt 12 den Lerndatensatz DS der Daten der Kraft F und der den Zustand S angebenden Daten und speichert diese einander zugeordnet im Speicher.
  • In Schritt S3 erzeugt der Lernabschnitt 14 das Lernmodell LM, das die Korrelation zwischen der Kraft F und dem Zustand S repräsentiert, unter Verwendung des in Schritt S2 erfassten Lerndatensatzes DS. Insbesondere lernt der Lernabschnitt 14 das Lernmodell LM durch Ausführen des Algorithmus zum überwachten Lernen (z.B. SVM oder GMM).
  • Dann kehrt der Prozess zu Schritt S1 zurück und der Bediener bringt ein anderes Werkzeug 44, 64 oder 74 (d.h. den Endeffektor 40, 50, 60 oder 70) am Roboter 20 an und der Roboter 20 führt anschließend unter Verwendung dieses Werkzeugs 44, 64 oder 74 den vorgegebenen Betrieb durch. Der Lerndatenerfassungsabschnitt 12 erfasst den Lerndatensatz DS für dieses Werkzeug 44, 64 oder 74 in Schritt S2 und der Lernabschnitt 14 aktualisiert das Lernmodell LM unter Verwendung des neu erfassten Lerndatensatzes DS in Schritt S3.
  • Durch Ausführen eines solchen Lernzyklus wird das Lernen des Lernmodells LM befördert, wodurch das Lernmodell LM zu einer optimalen Lösung geführt wird. Ein solcher Lernzyklus wird für jedes der Werkzeuge 44, 64 und 74 durchgeführt, wodurch es möglich ist, für jedes der Werkzeuge 44, 64 und 74 das Lernmodell LM zu erfassen, das die Korrelation zwischen der Kraft F und dem Zustand S des Werkzeugs 44, 64, 74 repräsentiert.
  • Gemäß dieser Ausführungsform ist es möglich, ein Modell, das die Korrelation zwischen der Kraft F und dem Zustand S des Werkzeugs quantitativ repräsentiert, automatisch und genau zu erhalten. Die Erfindung ist nicht auf den in 7 dargestellten Ablauf des Lernzyklus beschränkt. Beispielsweise kann die Schleife der Schritte S1 und S2 wiederholt durchgeführt werden, um eine größere Anzahl Lerndatensätze DS zu erfassen, und Schritt S3 anschließend durchgeführt werden, wobei der Lernabschnitt 14 unter Verwendung der größeren Anzahl Lerndatensätze DS das Lernmodell LM lernen kann.
  • Als andere Funktion der Maschinenlernvorrichtung 10 kann der Lerndatenerfassungsabschnitt 12 in Schritt S2 ferner Daten der Position und Ausrichtung des Werkzeugs 44, 64 oder 74, während der Roboter 20 in Schritt S1 den vorgegebenen Betrieb durchführt, als Lerndatensatz DS erfassen. Insbesondere veranlasst der Roboter 20 in Schritt S1 das Werkzeug 44, 64 oder 74, den vorgegebenen Betrieb durchzuführen, während der Roboter 20 das Werkzeug 44, 64 oder 72 in einer vorgegebenen Position und Ausrichtung anordnet.
  • In Schritt S2 erfasst der Lerndatenerfassungsabschnitt 12 einen Drehwinkel θ jedes Servomotors des Roboters 20 von einem Encoder (Drehgeber/nicht gezeigt), der dazu eingerichtet ist, den Drehwinkel θ zu erkennen, wenn das Werkzeug 44, 64 oder 74 in Schritt S1 in der vorgegebenen Position und Ausrichtung angeordnet ist. Anhand der Drehwinkel θ können die Position und Ausrichtung des Werkzeugs 44, 64 oder 74 (oder des Endeffektors 40, 50, 60 oder 70) berechnet werden.
  • In diesem Schritt S2 erfasst der Lerndatenerfassungsabschnitt 12 zusätzlich zu den Daten der Kraft F und den Daten, die den Zustand S angeben, Daten der Position und Ausrichtung des Werkzeugs 44, 64 oder 74 als Lerndatensatz DS. Es wird darauf hingewiesen, dass der Lerndatenerfassungsabschnitt 12 den Drehwinkel θ als Daten der Position und Ausrichtung erfassen kann. In Schritt S3 erzeugt der Lernabschnitt 14 das Lernmodell LM unter Verwendung des Lerndatensatzes DS der Daten der Kraft F, der Daten des Zustands S und der Daten der Position und Ausrichtung.
  • Nachstehend ist die technische Bedeutung des Erfassens der Daten der Position und Ausrichtung als Lerndatensatz DS beschrieben. Die Kraft F, die durch den Kraftsensor 32 erkannt wird, während der Roboter 20 den vorgegebenen Betrieb durchführt, variiert abhängig von der Position und Ausrichtung des Werkzeugs 44, 64 oder 74. Daher ist es durch Erzeugen des Lernmodells LM durch Hinzufügen einer Beziehung zwischen der Kraft F und der Position und Ausrichtung des Werkzeugs 44, 64 oder 74 möglich, das Lernmodell LM zu erfassen, das die Korrelation zwischen der Kraft F und dem Zustand S repräsentiert, wenn der vorgegebene Betrieb durchgeführt wird, während das Werkzeug 44, 64 oder 72 in verschiedenen Positionen und Ausrichtungen angeordnet ist.
  • Als weitere Funktion der Maschinenlernvorrichtung 10 kann, wenn das Werkzeug 44 oder 64 verwendet wird, der Lerndatenerfassungsabschnitt 12 in Schritt S2 ferner Daten der Drehzahl des Werkzeugs 44 oder 64, während der Roboter 20 in Schritt S1 den vorgegebenen Betrieb durchführt, als Lerndatensatz DS erfassen.
  • Insbesondere erfasst der Lerndatenerfassungsabschnitt 12, während der Roboter 20 in Schritt S1 den vorgegebenen Betrieb zum Drehen des Werkzeugs 44 oder 64 durchführt, Daten einer Drehzahl V von einem Drehzahlsensor (nicht gezeigt), der dazu eingerichtet ist, die Drehzahl des Werkzeugs 44 oder 64 zu erkennen.
  • Alternativ kann der Lerndatenerfassungsabschnitt 12 Daten eines an den Endeffektor 40, 50 oder 60 gesendeten Drehzahlbefehls CR erfassen, während der Roboter 20 in Schritt S1 das Werkzeug 44 oder 64 veranlasst, den vorgegebenen Betrieb durchzuführen. Der Drehzahlbefehl CR ist ein Befehl, der die Drehzahl des Werkzeugs 44 oder 64 während des vorgegebenen Betriebs definiert.
  • Wenn hingegen das Werkzeug 74 verwendet wird, kann der Lerndatenerfassungsabschnitt 12 in Schritt S2 ferner Daten der Arbeitsgeschwindigkeit des Werkzeugs 74 (d.h. der Geschwindigkeit, mit der das Werkzeug 74 in das Loch H bewegt wird) erkennen, während der Roboter 20 in Schritt S1 den vorgegebenen Betrieb durchführt. Insbesondere erfasst der Lerndatenerfassungsabschnitt 12 eine Arbeitsgeschwindigkeit V von einem Geschwindigkeitssensor (nicht gezeigt), der dazu eingerichtet ist, die Arbeitsgeschwindigkeit des Werkzeugs 74 zu erkennen, während der Roboter 20 in Schritt S1 den vorgegebenen Betrieb zum Einsetzen des Werkzeugs 74 in das Loch H durchführt.
  • Alternativ kann der Lerndatenerfassungsabschnitt 12 Daten eines an den Endeffektor 70 gesendeten Geschwindigkeitsbefehls CR erfassen, während der Roboter 20 in Schritt S1 das Werkzeug 74 veranlasst, den vorgegebenen Betrieb durchzuführen. Der Geschwindigkeitsbefehl CR ist ein Befehl, der die Arbeitsgeschwindigkeit des Werkzeugs 74 während des vorgegebenen Betriebs definiert.
  • Somit erfasst der Lerndatenerfassungsabschnitt 12 in Schritt S2 zusätzlich zu den Daten der Kraft F und den Daten, die den Zustand S angeben, die Daten der Drehzahl/Geschwindigkeit V (oder des Drehzahl-/Geschwindigkeitsbefehls CR) des Werkzeugs 44, 64 oder 74 als Lerndatensatz DS. In Schritt S3 erzeugt der Lernabschnitt 14 das Lernmodell LM unter Verwendung des Lerndatensatzes DS der Daten der Kraft F, der Daten des Zustands S und der Daten der Drehzahl/Geschwindigkeit V (oder des Drehzahl-/Geschwindigkeitsbefehls CR).
  • Die Kraft F, die durch den Kraftsensor 32 erkannt wird, während der Roboter 20 den vorgegebenen Betrieb durchführt, variiert abhängig von der Drehzahl/Geschwindigkeit V des Werkzeugs 44, 64 oder 74. Daher ist es durch Erzeugen des Lernmodells LM durch Hinzufügen einer Beziehung zwischen der Kraft F und der Drehzahl/Geschwindigkeit V (oder dem Drehzahl-/Geschwindigkeitsbefehl CR) des Werkzeugs 44, 64 oder 74 möglich, das der Drehzahl/Geschwindigkeit V entsprechende Lernmodell LM zu erfassen.
  • Als weitere Funktion der Maschinenlernvorrichtung 10 kann der Lerndatenerfassungsabschnitt 12 in Schritt S2 ferner Daten eines Gewichts WG des Werkzeugs 44, 64 oder 74 als Lerndatensatz DS erfassen. Insbesondere erfasst der Lerndatenerfassungsabschnitt 12 vor oder nach der Durchführung des vorgegebenen Betriebs in Schritt S1 die Daten des Gewichts WG von einem Gewichtssensor (nicht gezeigt), der dazu eingerichtet ist, das Gewicht des Werkzeugs 44, 64 oder 74 zu erkennen.
  • Somit erfasst der Lerndatenerfassungsabschnitt 12 in Schritt S2 zusätzlich zu den Daten der Kraft F und den Daten, die den Zustand S angeben, die Daten des Gewichts WG des Werkzeugs 44, 64 oder 74 als Lerndatensatz DS. In Schritt S3 erzeugt der Lernabschnitt 14 das Lernmodell LM unter Verwendung des Lerndatensatzes DS der Daten der Kraft F, der Daten des Zustands S und der Daten des Gewichts WG.
  • Die Kraft F, die durch den Kraftsensor 32 erkannt wird, während der Roboter 20 den vorgegebenen Betrieb durchführt, variiert abhängig vom Gewicht WG des Werkzeugs 44, 64 oder 74. Daher ist es durch Erzeugen des Lernmodells LM durch Hinzufügen einer Beziehung zwischen der Kraft F und dem Gewicht WG des Werkzeugs 44, 64 oder 74 möglich, das dem Gewicht WG entsprechende Lernmodell LM zu erfassen.
  • Als weitere Funktion der Maschinenlernvorrichtung 10 kann der Lerndatenerfassungsabschnitt 12 in Schritt S2 ferner Daten des Typs des durch das Werkzeug 44, 64 oder 74 zu bearbeitenden Werkstücks W als Lerndatensatz DS erfassen. Die Daten des Typs des Werkstücks W umfassen beispielsweise Informationen einer Spezifikation des Werkstücks W, wie etwa das Material, die Rauheit oder den Schubmodul desselben, oder Informationen zum Identifizieren des Typs des Werkstücks W.
  • Die Informationen der Spezifikation des Werkstücks W können Zeichen (z.B. „Eisen“, Aluminium” oder „SUS3044“) oder numerische Werte umfassen. Die Informationen zum Identifizieren des Typs des Werkstücks W können Zeicheninformationen, wie etwa „Werkstücktyp A“ oder „Werkstücktyp B“, oder eine Identifikationsnummer umfassen, die jedem Werkstück W durch den Bediener zugewiesen wird.
  • In Schritt S2 kann der Bediener die Eingabeeinrichtung der Maschinelernvorrichtung 10 bedienen, um Daten des Typs des Werkstücks W einzugeben. Somit erfasst der Lerndatenerfassungsabschnitt 12 in Schritt S2 zusätzlich zu den Daten der Kraft F und den Daten, die den Zustand S angeben, die Daten des Typs des Werkstücks W als Lerndatensatz DS. In Schritt S3 erzeugt der Lernabschnitt 14 das Lernmodell LM unter Verwendung des Lerndatensatzes DS der Daten der Kraft F, der Daten des Zustands S und der Daten des Typs des Werkstücks W.
  • Die Kraft F, die durch den Kraftsensor 32 erkannt wird, während der Roboter 20 den vorgegebenen Betrieb durchführt, variiert abhängig von den Daten des Typs des Werkstücks W. Beispielsweise wenn der Roboter 20 in Schritt S1 den vorgegebenen Betrieb zum Drehen des Werkzeugs 44 oder 64 durchführt, bei dem das Werkzeug 44 oder 64 das Werkstück W berührt, oder der Roboter 20 in Schritt S1 den vorgegebenen Betrieb zum Einsetzen des Werkzeugs 74 in das Loch H durchführt, kann die vom Werkstück W an das Werkzeug 44, 64 oder 74 angelegte Kraft abhängig beispielsweise vom Material, der Rauheit oder dem Schubmodul des Werkstücks W variieren.
  • Daher ist es durch Erzeugen des Lernmodells LM durch Hinzufügen einer Beziehung zwischen der Kraft F und dem Typ des Werkstücks W möglich, das dem Typ des Werkstücks W entsprechende Lernmodell LM zu erfassen. Es wird darauf hingewiesen, dass der Lerndatenerfassungsabschnitt 12 ferner Daten des Typs des Werkzeugs 44, 64 oder 74 (z.B. Zeicheninformationen zum Identifizieren des Typs des Werkzeugs) als Lerndatensatz DS erfassen kann.
  • Das Werkzeug 44, 64 oder 74 hat eine bekannte Lebensdauer T, in der sich der Zustand S mit der Zeit ändert. Die Lebensdauer T kann als Spezifikation des Werkzeugs 44, 64 oder 74 vorher beispielsweise auf einen Monat oder ein Jahr festgelegt werden. Wenn eine solche Lebensdauer T gegeben ist, kann der Lernabschnitt 14 für jeden von mehreren in der Lebensdauer T enthaltenen Teilzeiträumen das Lernmodell LM erzeugen.
  • Beispielsweise wird die Lebensdauer T in einen Teilzeitraum T1 von einem Zeitpunkt t0, zu dem das Werkzeug 44, 64 oder 74 fabrikneu ist, bis zu einem Zeitpunkt t1, zu dem das Werkzeug 44, 64 oder 74 ab dem Zeitpunkt t0 über eine vorgegebene Zeitspanne benutzt wurde, einen Teilzeitraum T2 vom Zeitpunkt t1 bis zu einem Zeitpunkt t2, zu dem das Werkzeug 44, 64 oder 74 ab dem Zeitpunkt t1 über eine vorgegebene Zeitspanne benutzt wurde, ... einen Teilzeitraum Tn von einem Zeitpunkt tn-1 bis zu einem Zeitpunkt tn, zu dem das Werkzeug 44, 64 oder 74 ab dem Zeitpunkt tn-1 über eine vorgegebene Zeitspanne benutzt wurde, aufgeteilt.
  • In diesem Fall kann der Lernabschnitt 14 durch Ausführen des in 7 gezeigten Lernzyklus für jeden Teilzeitraum Tn ein Lernmodell LMn für jeden Teilzeitraum Tn (n = 1, 2, 3, ... n) erzeugen. Gemäß dieser Konfiguration ist es möglich, das der Nutzungsdauer des Werkzeugs 44, 64 oder 74 entsprechende Lernmodell LM zu erzeugen.
  • Es wird darauf hingewiesen, dass der durch den Lernabschnitt 14 ausgeführte Lernalgorithmus nicht auf überwachtes Lernen beschränkt ist, sondern auch ein bekannter Lernalgorithmus, wie etwa unüberwachtes Lernen und verstärkendes Lernen, oder ein neuronales Netz zum maschinellen Lernen eingesetzt werden kann. Als Beispiel zeigt 8 schematisch ein Modell eines Neurons. 9 zeigt schematisch ein Modell eines dreischichtigen neuronalen Netzes, das durch Kombinieren von in 8 gezeigten Neuronen gebildet wird. 8 zeigt als Beispiel drei Eingänge x, die Anzahl der Eingänge x kann jedoch n (n ist eine positive Zahl von zwei, vier oder mehr) betragen. 9 zeigt als Beispiel ein Modell eines dreischichtigen neuronalen Netzes, es kann jedoch auch ein neuronales Netz mit n Schichten (n ist eine positive Zahl von zwei, vier oder mehr) verwendet werden. Das neuronale Netz kann beispielsweise durch eine Recheneinrichtung oder Speichereinrichtung gebildet werden, die ein Modell eines Neurons imitiert.
  • Das in 8 gezeigte Neuron gibt in Antwort auf die Eingänge x (die Eingänge x1 bis x3 sind in 8 als Beispiel definiert) ein Ergebnis y aus. Die einzelnen Eingänge x (x1, x2 und x3) werden jeweils mit Gewichten w (w1, w2 und w3) multipliziert. Die Beziehung zwischen den Eingängen x und dem Ergebnis y lässt sich durch die folgende Gleichung ausdrücken. y = f k ( 1 = 1 0 x 1 w 1 θ )
    Figure DE102020115631A1_0001
  • Die Eingänge x, das Ergebnis y und die Gewichte w sind allesamt Vektoren. Außerdem ist in Gleichung (1) θ eine systematische Messabweichung und fk eine Aktivierungsfunktion.
  • Bei dem in 9 gezeigten dreischichtigen neuronalen Netz werden die Eingänge x (die Eingänge x1 bis x3 sind in 9 als Beispiel definiert) auf der linken Seite eingegeben und die Ergebnisse y (die Ergebnisse y1 bis y3 sind in 9 als Beispiel definiert) auf der rechten Seite ausgegeben. Bei dem in 9 gezeigten Beispiel wird jeder der Eingänge x1, x2 und x3 mit einem entsprechend Gewicht (kollektiv mit W1 bezeichnet) multipliziert und sämtliche der einzelnen Eingänge x1, x2 und x3 werden in drei Neuronen N11, N12 und N13 eingegeben.
  • In 9 sind die Ausgänge jedes der Neuronen N11 bis N13 kollektiv mit Z1 bezeichnet. Z1 kann als Merkmalsvektor angesehen werden, der durch Extrahieren eines Merkmalsbetrags eines Eingangsvektors erhalten wird. Bei dem in 9 gezeigten Beispiel wird jeder Merkmalsvektor Z1 mit einem entsprechenden Gewicht (kollektiv mit W2 bezeichnet) multipliziert und sämtliche der einzelnen Merkmalsvektoren Z1 werden in zwei Neuronen N21 und N22 eingegeben. Die Merkmalsvektoren Z1 repräsentieren Merkmale zwischen dem Gewicht W1 und dem Gewicht W2.
  • In 9 sind die Ausgänge jedes der Neuronen N21 und N22 kollektiv mit Z2 bezeichnet. Z2 kann als Merkmalsvektor angesehen werden, der durch Extrahieren eines Merkmalsbetrags des Merkmalsvektors Z1 erhalten wird. Bei dem in 9 gezeigten Beispiel wird jeder Merkmalsvektor Z2 mit einem entsprechenden Gewicht (kollektiv mit W3 bezeichnet) multipliziert und sämtliche der einzelnen Merkmalsvektoren Z2 werden in drei Neuronen N31, N32 und N33 eingegeben.
  • Die Merkmalsvektoren Z2 repräsentieren Merkmale zwischen dem Gewicht W2 und dem Gewicht W3. Schließlich geben die Neuronen N31 bis N33 jeweils die Ergebnisse y1 bis y3 aus. Die Maschinenlernvorrichtung 10 kann das Lernmodell LM durch Durchführen einer Mehr-Schichten-Strukturberechnung gemäß dem vorstehend genannten neuronalen Netz unter Verwendung des Lerndatensatzes DS als Eingang lernen.
  • Die Konfiguration der Maschinenlernvorrichtung 10 lässt sich als Maschinenlernverfahren (oder Software) beschreiben, das durch einen Prozessor eines Computers ausgeführt wird. Das Maschineniernverfahren umfasst das Erfassen der Daten der Kraft F, die vom Werkzeug 44, 64 oder 74 an den Roboter 20 angelegt wird, während der Roboter 20 das Werkzeug 44, 64 oder 74 veranlasst, den vorgegebenen Betrieb durchzuführen, und Daten, die den Zustand S des Werkzeugs 44, 64 oder 74 während des vorgegebenen Betriebs angeben, als Lerndatensatz DS und das Erzeugen des Lernmodells LM, das die Korrelation zwischen der Kraft F und dem Zustand S des Werkzeugs 44, 64 oder 74 repräsentiert, unter Verwendung des Lerndatensatzes DS.
  • Als Nächstes wird unter Bezugnahme auf 10 ein Robotersystem 100 gemäß einer Ausführungsform beschrieben. Das Robotersystem 100 umfasst den Roboter 20, den Kraftsensor 32 und eine Steuereinrichtung 102. Die Steuereinrichtung 102 umfasst einen Prozessor 104 und einen Speicher 106. Der Prozessor 104 und der Speicher 106 sind über einen Bus 108 kommunikationsfähig miteinander verbunden, wobei der Prozessor 104 beispielsweise eine CPU (Zentraleinheit) oder einen GPU (Grafikprozessor) umfasst und verschiedene Rechenvorgänge ausführt und gleichzeitig mit dem Speicher 106 kommuniziert.
  • Bei dieser Ausführungsform ist die Maschinenlernvorrichtung 10 in Form von Hardware oder Software in der Steuereinrichtung 102 installiert und der Prozessor 104 führt verschiedene Rechenvorgänge zum Ausführen der Funktion der Maschinenlernvorrichtung 10 durch. Somit fungiert der Prozessor 104 bei dieser Ausführungsform als Lerndatenerfassungsabschnitt 12 und Lernabschnitt 14. Der Speicher 106 umfasst beispielsweise ein ROM und ein RAM und speichert das durch die Maschinenlernvorrichtung 10 gelernte Lernmodell LM vor.
  • Der Betrieb des Robotersystems 100 ist nachstehend unter Bezugnahme auf 11 beschrieben. Der in 11 gezeigte Ablauf wird gestartet, wenn der Prozessor 104 von einem Bediener, einer Host-Steuereinrichtung oder einem Arbeitsprogramm einen Arbeitsstartbefehl empfängt. In Schritt S11 startet der Prozessor 104 einen Betrieb des Roboters 20. In diesem Schritt S11 veranlasst der Prozessor 104 den Roboter 20, einen Betrieb durchzuführen, der dem „vorgegebenen Betrieb“ entspricht, der in der Lernphase des Lernmodells LM durchgeführt wurde.
  • Bei den in 2 bis 4 gezeigten Beispielen veranlasst der Prozessor 104 den Roboter 20, den Betrieb zum Drehen des Werkzeugs 44 oder 64 durchzuführen, bei dem das Werkzeug 44 oder 64 das Werkstück nicht berührt (oder berührt). Bei den in 5 und 6 gezeigten Beispielen veranlasst der Prozessor 104 den Roboter 20, den Betrieb zum Einsetzen des durch den Endeffektor 70 gehaltenen Werkzeugs 74 in das Loch H durchzuführen. In diesem Zusammenhang kann der Prozessor 104 die vorstehend genannte Kraftregelung während des Betriebs zum Drehen des Werkzeugs 44 oder 64, bei dem das Werkzeug 44 oder 64 das Werkstück berührt, oder des Betriebs zum Einsetzen des Werkzeugs 74 in das Loch H durchführen.
  • Es wird darauf hingewiesen, dass der in diesem Schritt S11 durchzuführende „gleiche Betrieb“ nicht unbedingt ein Betrieb unter den gänzlich gleichen Bedingungen (z.B. Typ des Werkzeugs, Typ des Werkstücks, Typ des Roboters 20, Position und Ausrichtung des Roboters 20 und Bewegungsbahn des Roboters 20) wie bei dem in der Lernphase des Lernmodells LM durchgeführten „vorgegebenen Betrieb“ sein muss, sondern einen Betrieb umfassen kann, bei dem sich wenigstens eine der Bedingungen von dem „vorgegebenen Betrieb“ unterscheidet.
  • In Schritt S12 beginnt der Prozessor 104, Daten einer Kraft F zu erfassen. Insbesondere beginnt der Prozessor 104, vom Kraftsensor 32 die Daten der Kraft F zu erfassen, die während des Betriebs in Schritt S11 durch den Kraftsensor 32 erkannt wird. Der Prozessor 104 kann die Daten der Kraft F über eine vorgegebene Zeitspanne τ während des Betriebs in Schritt S11 erfassen.
  • Die vorgegebene Zeitspanne τ kann die Zeitspanne vom Start bis zum Ende des durch den Roboter 20 in Schritt S11 durchgeführten Betriebs oder eine beliebige Zeitspanne (z.B. 1 s) während des Betriebs sein. In diesem Zusammenhang kann, wenn zum Lernen des Lernmodells LM in dem in 7 gezeigten Lernzyklus ferner die Daten der Position und Ausrichtung des Werkzeugs 44, 64 oder 74 erfasst wurden, der Prozessor 104 in diesem Schritt S12 bei der Erkennung der Kraft F durch den Kraftsensor 32 Daten der Position und Ausrichtung des Werkzeugs 44, 64 oder 74 erfassen und diese zusammen mit den erfassten Daten der Kraft F im Speicher 106 speichern.
  • Außerdem kann, wenn zum Lernen des Lernmodells LM in dem in 7 gezeigten Lernzyklus ferner die Daten der Drehzahl/Geschwindigkeit V des Werkzeugs 44, 64 oder 74 erfasst wurden, der Drehzahl-/Geschwindigkeitssensor eine Drehzahl/Geschwindigkeit V (oder einen Drehzahl-/Geschwindigkeitsbefehl CR) des Werkzeugs 44, 64 oder 74 während der Ausführung von Schritt S11 erkennen und der Prozessor 104 in diesem Schritt S12 Daten der Drehzahl/Geschwindigkeit V vom Drehzahl-/Geschwindigkeitssensor erfassen.
  • Außerdem kann, wenn zum Lernen des Lernmodells LM in dem in 7 gezeigten Lernzyklus ferner die Daten des Gewichts WG des Werkzeugs 44, 64 oder 74 erfasst wurden, der Prozessor 104 Daten des Gewichts WG des Werkzeugs 44, 64 oder 74 vom Gewichtssensor erfassen. Des Weiteren kann, wenn zum Lernen des Lernmodells LM in dem in 7 gezeigten Lernzyklus ferner die Daten des Typs des Werkstücks (oder Werkzeugs) erfasst wurden, der Prozessor 104 die durch den Bediener über die Eingabeeinrichtung eingegebenen Daten des Typs des Werkstücks (oder Werkzeugs) erfassen.
  • In Schritt S13 bestimmt der Prozessor 104 basierend auf dem Lernmodell LM den Zustand S des Werkzeugs 44, 64 oder 74. Insbesondere gibt der Prozessor 104 die in Schritt S12 erfassten Daten der Kraft F in das im Speicher 106 gespeicherte Lernmodell LM ein. In Antwort darauf schätzt das Lernmodell LM die den Zustand S angebenden Daten (d.h. die Label-Informationen, wie etwa „normaler Zustand“ oder „anormaler Zustand“), die mit den eingegebenen Daten der Kraft F korreliert sind, und gibt diese aus. Somit kann der Prozessor 104 den Zustand S des Werkzeugs 44, 64 oder 74 anhand der erfassten Daten der Kraft F bestimmen.
  • Wenn das Lernmodell LM unter Verwendung der Daten der Position und Ausrichtung des Werkzeugs 44, 64 oder 74 als Lerndatensatz DS erzeugt wurde, kann der Prozessor 104 die in Schritt S12 erfassten Daten der Position und Ausrichtung des Werkzeugs 44, 64 oder 74 zusammen mit den Daten der Kraft F in das Lernmodell LM eingeben. In diesem Fall schätzt das Lernmodell LM die den Zustand S angebenden Daten, die mit den Daten der Kraft F korreliert sind, entsprechend der Position und Ausrichtung des Werkzeugs 44, 64 oder 74, und gibt diese aus.
  • Außerdem kann, wenn das Lernmodell LM unter Verwendung der Daten der Drehzahl/Geschwindigkeit V (oder des Drehzahl-/Geschwindigkeitsbefehls CR) oder des Gewichts WG des Werkzeugs 44, 64 oder 74 oder des Typs des Werkstücks (oder Werkzeugs) als Lerndatensatz DS erzeugt wurde, der Prozessor 104 die in Schritt S12 erfassten Daten der Drehzahl/Geschwindigkeit V (oder des Drehzahl-/Geschwindigkeitsbefehls CR), des Gewichts WG oder des Typs zusammen mit den Daten der Kraft F in das Lernmodell LM eingeben. In diesem Fall schätzt das Lernmodell LM die den Zustand S angebenden Daten in Antwort auf die Daten der Kraft F und die Daten der Drehzahl/Geschwindigkeit V (oder des Drehzahl-/Geschwindigkeitsbefehls CR), des Gewichts WG oder des Typs und gibt diese aus.
  • Somit ist es durch Erzeugen des Lernmodells LM unter Verwendung einer größeren Anzahl Daten zusätzlich zu den Daten der Kraft F möglich, in dem in 11 gezeigten Ablauf eine Anomalie des Werkzeugs 44, 64 oder 74 so zu bestimmen, dass diese einer größeren Anzahl Bedingungen (der Position und Ausrichtung, der Drehzahl/Geschwindigkeit V, dem Gewicht WG und dem Typ des Werkstücks oder Werkzeugs) entspricht.
  • Wenn der Zustand S des Werkzeugs 44, 64 oder 74 nicht anormal (oder normal) ist, bestimmt der Prozessor 104 NEIN und schließt den in Schritt S11 gestarteten Betrieb ab, um den in 11 dargestellten Ablauf zu beenden. Wenn der Zustand S des Werkzeugs 44, 64 oder 74 hingegen anormal (oder nicht normal) ist, bestimmt der Prozessor 104 JA und fährt mit Schritt S15 fort. Somit fungiert der Prozessor 104 bei dieser Ausführungsform als Zustandsbestimmungsabschnitt 110 (10), der dazu eingerichtet ist, den Zustand S des Werkzeugs 44, 64 oder 74 zu bestimmen.
  • In Schritt S15 erkennt der Prozessor 104, ob im Kraftsensor 32 ein Defekt aufgetreten ist. In diesem Zusammenhang kann, wenn im Kraftsensor 32 ein Defekt aufgetreten ist, der Kraftsensor 32 dem Prozessor 104 keine geeigneten Daten der Kraft F zuführen. In diesem Fall kann der Prozessor 104, selbst wenn der Zustand S des Werkzeugs 44, 64 oder 74 normal ist, in Schritt S13 fälschlich bestimmen, dass der Zustand S anormal ist (d.h. JA).
  • Zur Unterscheidung zwischen der Richtigkeit oder Unrichtigkeit der Bestimmung des Zustands S führt der Prozessor 104 bei dieser Ausführungsform diesen Schritt S15 aus. Insbesondere stoppt der Prozessor 104 den in Schritt S11 gestarteten Betrieb und ordnet das Werkzeug 44, 64 oder 74 (d.h. den Endeffektor 40, 50, 60 oder 70) in einer vorgegebenen Position und Ausrichtung an.
  • Dann erfasst der Prozessor 104 vom Kraftsensor 32 eine Kraft Fo, die zu diesem Zeitpunkt durch den Kraftsensor 32 erkannt wird. Der Prozessor 104 bestimmt, ob sich die erfasste Kraft F0 von einem vorgegebenen Referenzwert Fα unterscheidet. In diesem Zusammenhang kann eine Kraft, die von dem gestoppten Werkzeug 44, 64 oder 74 an den Roboter 20 anzulegen ist, wenn das Werkzeug 44, 64 oder 74 in der vorgegebenen Position und Ausrichtung angeordnet ist, beispielsweise durch eine Messung oder Simulation geschätzt werden. Daher kann die derart geschätzte Kraft als Referenzwert Fα im Speicher 106 vorgespeichert werden.
  • Wenn der Prozessor 104 bestimmt, dass sich die erfasste Kraft F0 vom Referenzwert Fα unterscheidet (d.h. JA), fährt er mit Schritt S17 fort. Wenn der Prozessor 104 hingegen bestimmt, dass die erfasste Kraft F0 im Wesentlichen gleich dem Referenzwert Fα ist (d.h. NEIN), fährt er mit Schritt S16 fort. Es wird darauf hingewiesen, dass, wenn die Differenz zwischen der Kraft F0 und dem Referenzwert Fα (d.h. |F0-Fα|) größer als ein vorgegebener Schwellenwert ist, der Prozessor 104 in diesem Schritt S15 JA bestimmen kann. Somit fungiert der Prozessor 104 bei dieser Ausführungsform als Defektdetektor 112 (10), der dazu eingerichtet ist, zu erkennen, ob im Kraftsensor 32 ein Defekt aufgetreten ist.
  • Es wird darauf hingewiesen, dass der Bediener vorab ein Lernmodell LM3 bereitstellen kann, das eine Korrelation zwischen der Position und Ausrichtung des Werkzeugs 44, 64 oder 74 und dem Zustand (einem normalen Wert oder einem anormalen Wert) der durch den Kraftsensor 32 erkannten Kraft F repräsentiert. Der Prozessor 104 kann, wenn das Werkzeug 44, 64 oder 74 in diesem Schritt S15 in der vorgegebenen Position und Ausrichtung angeordnet ist, sowohl die Daten der Position und Ausrichtung des Werkzeugs 44, 64 oder 74 als auch die zu diesem Zeitpunkt durch den Kraftsensor 32 erkannte Kraft F0 in das Lernmodell LM3 eingeben und erkennen, ob im Kraftsensor 32 ein Defekt aufgetreten ist.
  • Außerdem kann, wenn das Werkzeug 44 oder 64 verwendet wird, der Kraftsensor 32 während des Betriebs zum Drehen des Werkzeugs 44 oder 64, bei dem das Werkzeug 44 oder 64 das Werkstück nicht berührt, eine Kraft F0' erkennen. Eine Kraft, die vom Werkzeug 44, 64 oder 74 an den Roboter 20 anzulegen ist, während das Werkzeug 44 oder 64 gedreht wird, ohne das Werkstück zu berühren, kann ebenfalls beispielsweise durch eine Messung oder Simulation geschätzt werden. Daher kann der Prozessor 104 die derart geschätzte Kraft als Referenzwert Fα' verwenden, um in diesem Schritt S15 zu bestimmen, ob sich die durch den Kraftsensor 32 erkannte Kraft F0' vom Referenzwert Fα' unterscheidet.
  • In Schritt S16 erzeugt der Prozessor 104 ein erstes Warnsignal. Der Prozessor 104 erzeugt beispielsweise ein Audio- oder Bildsignal, das angibt, dass „am Werkzeug eine Anomalie aufgetreten sein kann“ und gibt dieses über einen Lautsprecher oder eine Anzeigeeinrichtung (beide nicht gezeigt) aus, der/die in der Steuereinrichtung 102 bereitgestellt ist. Der Prozessor 104 beendet dann den in 11 gezeigten Ablauf.
  • In Schritt S17 erzeugt der Prozessor 104 ein zweites Warnsignal. Der Prozessor 104 erzeugt beispielsweise ein Audio- oder Bildsignal, das angibt, dass „im Kraftsensor eine Anomalie aufgetreten sein kann“ und gibt dieses über den Lautsprecher oder die Anzeigeeinrichtung aus, der/die in der Steuereinrichtung 102 bereitgestellt ist. Der Prozessor 104 beendet dann den in 11 gezeigten Ablauf.
  • Wie vorstehend beschrieben, bestimmt der Prozessor 104 bei dieser Ausführungsform basierend auf dem durch die Maschinenlernvorrichtung 10 gelernten Lernmodell LM den Zustand S des Werkzeugs 44, 64 oder 74, während der Roboter 20 unter Verwendung des Werkzeugs 44, 64 oder 74 den Arbeitsvorgang durchführt. Gemäß dieser Konfiguration ist es möglich, anhand der während des Arbeitsvorgangs erfassten Daten der Kraft F automatisch und genau zu bestimmen, ob am Werkzeug 44, 64 oder 74 eine Anomalie aufgetreten ist.
  • Außerdem erkennt der Prozessor 104 bei dieser Ausführungsform, ob im Kraftsensor 32 ein Defekt aufgetreten ist, wenn er bestimmt, dass der Zustand S des Werkzeugs 44, 64 oder 74 anormal ist. Gemäß dieser Konfiguration ist es möglich, zu verhindern, dass der Bediener den Zustand S des Werkzeugs 44, 64 oder 74 falsch bestimmt und gleichzeitig einen Defekt des Kraftsensors 32 angibt.
  • Es wird darauf hingewiesen, dass die Funktion des Defektdetektors 112 im Robotersystem 100 weggelassen werden kann. In diesem Fall werden die Schritte S15 und S17 in dem in 11 gezeigten Ablauf weggelassen und der Prozessor 104 fährt mit Schritt S16 fort, wenn er in Schritt S13 JA bestimmt. Außerdem kann der Speicher 106 des Robotersystems 100 als Einrichtung (z.B. als externer Speicher, externer Server oder Cloud) bereitgestellt werden, die sich von der Steuereinrichtung 102 unterscheidet.
  • Bei der vorstehend beschriebenen Ausführungsform führt der Prozessor 104 den Prozess zum Bestimmen, ob im Kraftsensor 32 ein Defekt aufgetreten ist (Schritt S15) durch, wenn er in Schritt S13 JA bestimmt. Der Prozessor 104 kann den Prozess zum Bestimmen, ob im Kraftsensor 32 ein Defekt aufgetreten ist, jedoch auch durchführen, wenn er in Schritt S13 NEIN bestimmt, und mit Schritt S17 fortfahren, wenn er bestimmt, dass im Kraftsensor 32 ein Defekt aufgetreten ist.
  • Der Kraftsensor 32 kann an einer beliebigen Position am Roboter 20 bereitgestellt werden. Der Kraftsensor 32 kann beispielsweise an der Basis 22 des Roboters 20 bereitgestellt werden. Der Kraftsensor 32 ist nicht auf den Sechs-Achsen-Kraftsensor beschränkt, sondern kann beispielsweise durch mehrere Drehmomentsensoren gebildet werden, die jeweils an den im Roboter 20 verbauten Servomotoren bereitgestellt sind. In diesem Fall erkennt jeder Drehmomentsensor ein an den entsprechenden Servomotor angelegtes Drehmoment als Kraft F und führt die Daten der Kraft F dem Lerndatenerfassungsabschnitt 12 zu.
  • In den vorstehend genannten Ausführungsformen sind die Werkzeuge 44, 64 und 74 (die Endeffektoren 40, 50, 60 und 70) für Polier-, Bearbeitungs- und Einsetzvorgänge beschrieben. Es kann jedoch auch ein Werkzeug (eine Punktschweißzange) zum Durchführen eines anderen Arbeitsvorgangs (z.B. Punktschweißen) am Roboter 20 angebracht werden. Außerdem ist der Roboter 20 nicht auf einen vertikalen Knickarmroboter beschränkt, sondern kann ein Roboter beliebigen Typs sein, wie etwa ein horizontaler Knickarmroboter oder ein Parallel-Link-Roboter. Des Weiteren kann der Roboter 20 ein Robotertyp sein, der von einer Decke oder einer Wand herabhängt.
  • Außerdem fungiert der Prozessor 104 der Steuereinrichtung 102 bei der in 10 gezeigten Ausführungsform als Lerndatenerfassungsabschnitt 12 und Lernabschnitt 14. Der Lernabschnitt 14 kann jedoch auch beispielsweise in einen Computer installiert werden, der sich von der Steuereinrichtung 102 unterscheidet.
  • In diesem Fall ist der andere Computer kommunikationsfähig mit der Steuereinrichtung 102 verbunden und der Prozessor 104 der Steuereinrichtung 102 sendet den durch den Lerndatenerfassungsabschnitt 12 erfassten Lerndatensatz DS an den anderen Computer, wobei der Lernabschnitt 14 das Lernmodell LM unter Verwendung des von der Steuereinrichtung 102 erfassten Lerndatensatzes DS erzeugt. Alternativ kann die Maschinenlernvorrichtung 10, die den Lerndatenerfassungsabschnitt 12 und den Lernabschnitt 14 umfasst, in den anderen Computer installiert werden. In diesem Fall fungiert der andere Computer als Lerndatenerfassungsabschnitt 12 zum Erfassen der Daten der Kraft F vom Kraftsensor 32.
  • Die Offenbarung ist vorstehend unter Bezugnahme auf Ausführungsformen beschrieben, die vorstehend beschriebenen Ausführungsformen sollen die Erfindung gemäß dem Umfang der Ansprüche jedoch nicht einschränken.

Claims (10)

  1. Maschinenlernvorrichtung (10), die dazu eingerichtet ist, einen Zustand eines Werkzeugs (44, 64, 74) zu lernen, das durch einen Roboter (20) für einen Arbeitsvorgang verwendet wird, wobei die Vorrichtung (10) umfasst: einen Lerndatenerfassungsabschnitt (12), der dazu eingerichtet ist, Daten einer Kraft, die vom Werkzeug (44, 64, 74) an den Roboter (20) angelegt wird, während der Roboter (20) das Werkzeug (44, 64, 74) veranlasst, einen vorgegebenen Betrieb durchzuführen, und Daten, die den Zustand des Werkzeugs (44, 64, 74) während des vorgegebenen Betriebs angeben, als Lerndatensatz zu erfassen, und einen Lernabschnitt (14), der dazu eingerichtet ist, unter Verwendung des Lerndatensatzes ein Lernmodell zu erzeugen, das eine Korrelation zwischen der Kraft und dem Zustand des Werkzeugs (44, 64, 74) repräsentiert.
  2. Maschinenlernvorrichtung (10) nach Anspruch 1, wobei der Lerndatenerfassungsabschnitt (12) ferner Daten einer Position und Ausrichtung des Werkzeugs (44, 64, 74) während des vorgegebenen Betriebs als Lerndatensatz erfasst, wobei der Lernabschnitt (14) durch Hinzufügen einer Beziehung zwischen der Kraft und der Position und Ausrichtung zur Korrelation das Lernmodell erzeugt.
  3. Maschinenlernvorrichtung (10) nach Anspruch 1 oder 2, wobei das Werkzeug (44, 64, 74) ein Poliermaterial (44) zum Polieren eines Werkstücks durch einen Drehbetrieb ist, wobei der vorgegebene Betrieb umfasst: einen Betrieb zum Drehen des Poliermaterials (44), bei dem das Poliermaterial (44) das Werkstück nicht berührt, oder einen Betrieb zum Drehen des Poliermaterials (44), bei dem das Poliermaterial (44) das Werkstück berührt.
  4. Maschinenlernvorrichtung (10) nach einem der Ansprüche 1 bis 3, wobei das Werkzeug (44, 64, 74) eine bekannte Lebensdauer hat, in der sich der Zustand mit der Zeit ändert, wobei der Lernabschnitt (14) für jeden von mehreren in der Lebensdauer enthaltenen Teilzeiträumen das Lernmodell erzeugt.
  5. Maschinenlernvorrichtung (10) nach Anspruch 1 oder 2, wobei das Werkzeug (44, 64, 74) ein durch den Roboter (20) gehandhabtes Werkstück (74) ist, wobei der vorgegebene Betrieb ein Betrieb zum Einsetzen des Werkstücks (74) in ein Loch ist.
  6. Maschinenlernvorrichtung (10) nach einem der Ansprüche 1 bis 5, wobei der Lerndatenerfassungsabschnitt (12) die Daten der Kraft erfasst, während der Roboter (20) eine Kraftregelung zum Regeln der Kraft durchführt.
  7. Maschinenlernvorrichtung (10) nach einem der Ansprüche 1 bis 6, wobei die Daten der Kraft eine Zeitänderungscharakteristik der Kraft, einen Amplitudenwert der Kraft und/oder ein Frequenzspektrum der Kraft umfassen.
  8. Robotersystem (100), das umfasst: einen Roboter (20), der dazu eingerichtet ist, unter Verwendung eines Werkzeugs (44, 64, 74) einen Arbeitsvorgang durchzuführen, die Maschineniernvorrichtung (10) nach einem der Ansprüche 1 bis 7, einen Kraftsensor (32), der dazu eingerichtet ist, die Kraft zu erkennen und diese dem Lerndatenerfassungsabschnitt (12) als Daten der Kraft zuzuführen, und einen Zustandsbestimmungsabschnitt (110), der dazu eingerichtet ist, basierend auf dem durch den Lernabschnitt (14) erzeugten Lernmodell den Zustand des Werkzeugs (44, 64, 74) zu bestimmen, während der Roboter (20) im Arbeitsvorgang den vorgegebenen Betrieb durchführt.
  9. Robotersystem (100) nach Anspruch 8, das ferner einen Defektdetektor (112) umfasst, der dazu eingerichtet ist, zu erkennen, ob im Kraftsensor (32) ein Defekt aufgetreten ist.
  10. Maschineniernverfahren zum Lernen eines Zustands eines Werkzeugs (44, 64, 74), das durch einen Roboter (20) für einen Arbeitsvorgang verwendet wird, wobei das Verfahren das Durchführen folgender Schritte durch einen Prozessor umfasst: Erfassen von Daten einer Kraft, die vom Werkzeug (44, 64, 74) an den Roboter (20) angelegt wird, während der Roboter (20) das Werkzeug (44, 64, 74) veranlasst, einen vorgegebenen Betrieb durchzuführen, und Daten, die den Zustand des Werkzeugs (44, 64, 74) während des vorgegebenen Betriebs angeben, als Lerndatensatz, und Erzeugen eines Lernmodells, das eine Korrelation zwischen der Kraft und dem Zustand des Werkzeugs (44, 64, 74) repräsentiert, unter Verwendung des Lerndatensatzes.
DE102020115631.6A 2019-06-21 2020-06-12 Maschinenlernvorrichtung, Robotersystem und Maschinenlernverfahren zum Lernen eines Zustands eines Werkzeugs Pending DE102020115631A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-115371 2019-06-21
JP2019115371A JP7401207B2 (ja) 2019-06-21 2019-06-21 ツールの状態を学習する機械学習装置、ロボットシステム、及び機械学習方法

Publications (1)

Publication Number Publication Date
DE102020115631A1 true DE102020115631A1 (de) 2020-12-24

Family

ID=73654377

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020115631.6A Pending DE102020115631A1 (de) 2019-06-21 2020-06-12 Maschinenlernvorrichtung, Robotersystem und Maschinenlernverfahren zum Lernen eines Zustands eines Werkzeugs

Country Status (4)

Country Link
US (1) US11712801B2 (de)
JP (1) JP7401207B2 (de)
CN (1) CN112109077A (de)
DE (1) DE102020115631A1 (de)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021109336A1 (de) 2021-04-14 2022-10-20 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Trainieren eines Neuronalen Netzes zum Steuern eines Roboters für eine Einsetzaufgabe
DE102021109334A1 (de) 2021-04-14 2022-10-20 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Trainieren eines Neuronalen Netzes zum Steuern eines Roboters für eine Einsetzaufgabe
DE102021109333A1 (de) 2021-04-14 2022-10-20 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Trainieren eines Neuronalen Netzes zum Steuern eines Roboters für eine Einsetzaufgabe
DE102021109332A1 (de) 2021-04-14 2022-10-20 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Steuern eines Roboters zum Einsetzen eines Objekts in eine Einsetzstelle
DE102021209867A1 (de) 2021-09-07 2023-03-09 Kuka Deutschland Gmbh Bewerten und/oder Steuern eines Roboterarbeitsprozesses

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6898506B1 (ja) * 2020-07-01 2021-07-07 株式会社安川電機 制御システム、ロボットシステム及び制御方法
US11898996B2 (en) * 2022-01-03 2024-02-13 Teng-Jen Yang Test system with detection feedback

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59142048A (ja) * 1983-01-26 1984-08-15 Mitsubishi Electric Corp 工具異常検出装置
JP3076548B2 (ja) * 1998-03-20 2000-08-14 川崎重工業株式会社 工具摩耗検知装置および方法
JP2002355782A (ja) * 2001-05-31 2002-12-10 Yaskawa Electric Corp ロボット先端の作用力推定装置および作用力推定方法
JP2003011080A (ja) * 2001-06-29 2003-01-15 Toyota Motor Corp 搬送作業補助装置
JP2003019643A (ja) * 2001-07-06 2003-01-21 Mitsubishi Materials Corp 加工状態検出装置および加工状態検出方法および記録媒体およびプログラム
US20050159840A1 (en) * 2004-01-16 2005-07-21 Wen-Jong Lin System for surface finishing a workpiece
JP2008304970A (ja) * 2007-06-05 2008-12-18 Sony Corp 制御装置および方法、並びにプログラム
CN101612712B (zh) * 2009-07-10 2011-03-09 同济大学 旋转式动态铣削扭矩测量仪
JP5962371B2 (ja) * 2012-09-20 2016-08-03 株式会社Ihi ロボットシステム並びにセンサ検査装置及び方法
JP5616478B1 (ja) * 2013-04-18 2014-10-29 ファナック株式会社 ワークを搬送するロボットを備えるロボットシステム
US9403273B2 (en) * 2014-05-23 2016-08-02 GM Global Technology Operations LLC Rapid robotic imitation learning of force-torque tasks
JP6148316B2 (ja) * 2015-07-31 2017-06-14 ファナック株式会社 故障条件を学習する機械学習方法及び機械学習装置、並びに該機械学習装置を備えた故障予知装置及び故障予知システム
JP6426667B2 (ja) * 2016-08-10 2018-11-21 三菱重工工作機械株式会社 工作機械の工具の異常検知装置及び方法
JP6438450B2 (ja) * 2016-11-29 2018-12-12 ファナック株式会社 レーザ加工ロボットの加工順序を学習する機械学習装置、ロボットシステムおよび機械学習方法
JP2018126798A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
JP6487475B2 (ja) * 2017-02-24 2019-03-20 ファナック株式会社 工具状態推定装置及び工作機械
JP6822242B2 (ja) 2017-03-16 2021-01-27 株式会社リコー 診断装置、診断システム、診断方法およびプログラム
JP6577527B2 (ja) * 2017-06-15 2019-09-18 ファナック株式会社 学習装置、制御装置及び制御システム
JP7069747B2 (ja) * 2018-01-26 2022-05-18 セイコーエプソン株式会社 ロボット制御装置及びロボットシステム
JP6836577B2 (ja) * 2018-02-06 2021-03-03 ファナック株式会社 研磨工具摩耗量予測装置、機械学習装置及びシステム
US11642183B2 (en) * 2018-06-06 2023-05-09 Verily Life Sciences Llc Systems and methods for fleet management of robotic surgical systems
JP7305945B2 (ja) 2018-10-31 2023-07-11 株式会社ジェイテクト 工作機械
JP7342444B2 (ja) * 2019-06-18 2023-09-12 株式会社ジェイテクト 加工工具の異常検知装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021109336A1 (de) 2021-04-14 2022-10-20 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Trainieren eines Neuronalen Netzes zum Steuern eines Roboters für eine Einsetzaufgabe
DE102021109334A1 (de) 2021-04-14 2022-10-20 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Trainieren eines Neuronalen Netzes zum Steuern eines Roboters für eine Einsetzaufgabe
DE102021109333A1 (de) 2021-04-14 2022-10-20 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Trainieren eines Neuronalen Netzes zum Steuern eines Roboters für eine Einsetzaufgabe
DE102021109332A1 (de) 2021-04-14 2022-10-20 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Steuern eines Roboters zum Einsetzen eines Objekts in eine Einsetzstelle
DE102021109334B4 (de) 2021-04-14 2023-05-25 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Trainieren eines Neuronalen Netzes zum Steuern eines Roboters für eine Einsetzaufgabe
DE102021109336B4 (de) 2021-04-14 2023-06-01 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Trainieren eines Neuronalen Netzes zum Steuern eines Roboters für eine Einsetzaufgabe
DE102021109332B4 (de) 2021-04-14 2023-07-06 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Steuern eines Roboters zum Einsetzen eines Objekts in eine Einsetzstelle
DE102021109333B4 (de) 2021-04-14 2023-07-06 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Trainieren eines Neuronalen Netzes zum Steuern eines Roboters für eine Einsetzaufgabe
DE102021209867A1 (de) 2021-09-07 2023-03-09 Kuka Deutschland Gmbh Bewerten und/oder Steuern eines Roboterarbeitsprozesses

Also Published As

Publication number Publication date
JP2021000692A (ja) 2021-01-07
US11712801B2 (en) 2023-08-01
CN112109077A (zh) 2020-12-22
US20200398424A1 (en) 2020-12-24
JP7401207B2 (ja) 2023-12-19

Similar Documents

Publication Publication Date Title
DE102020115631A1 (de) Maschinenlernvorrichtung, Robotersystem und Maschinenlernverfahren zum Lernen eines Zustands eines Werkzeugs
DE102017009471B4 (de) Humankollaboratives Robotersytem mit verbesserter Genauigkeit der Erfassng einer äußeren Kraft durch maschinelles Lernen
DE102018006946B4 (de) Steuerung und maschinelle Lernvorrichtung
DE102016015942B3 (de) Maschinelle Lernvorrichtung, Robotercontroller, Robotersytem und maschinelles Lernverfahren zum Lernen des Handlungsmusters einer Person
DE112019002310B4 (de) Ausführen einer "peg in hole"-aufgabe mit unbekannter neigung
DE102020100316B4 (de) Bestimmungsgerät
JP6453805B2 (ja) 製品の異常に関連する変数の判定値を設定する生産システム
DE102014108287B4 (de) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE102018129528B4 (de) Schwingungsunterdrückungsvorrichtung
DE102016100966A1 (de) Schabvorrichtung und Schabverfahren unter Verwendung eines Roboters
DE102018009008B4 (de) Steuervorrichtung und Maschinenlernvorrichtung
JP6940542B2 (ja) 把持力調整装置及び把持力調整システム
JP3076548B2 (ja) 工具摩耗検知装置および方法
DE102020110252B4 (de) Vibrationsanzeigeeinrichtung, Betriebsprogrammerstellungseinrichtung und System
DE112019007852B4 (de) Informationsverarbeitungsvorrichtung, Werkstückerkennungsvorrichtung und Werkstückaufgreifvorrichtung
US20190275629A1 (en) Controller, machine learning device, and system
DE102020115658A1 (de) Anpassungsunterstützungsvorrichtung
DE102019006725A1 (de) Steuereinrichtung und Steuersystem
DE102019118637A1 (de) Automatische pfadgenerierungsvorrichtung
WO2021001312A1 (de) Durchführen einer applikation mithilfe wenigstens eines roboters
DE102018006550A1 (de) Abnormalitätserkennungsvorrichtung und maschinelles Lernverfahren
DE102019001177B4 (de) Steuergerät, maschinelle Lernvorrichtung und System
DE102020003517A1 (de) Überwachungsvorrichtung, die mit einer Kamera zum Erfassen eines bewegten Bildes einer Bewegung der Robotervorrichtung ausgestattet ist
DE102019109258A1 (de) Wellenformanzeigevorrichtung
DE102020124379A1 (de) Robotersystem, das einen Arbeitsvorgang eines Arbeiters unterstützt, Steuerverfahren, Maschinenlernvorrichtung und Maschinenlernverfahren

Legal Events

Date Code Title Description
R012 Request for examination validly filed