DE102020124379A1 - Robotersystem, das einen Arbeitsvorgang eines Arbeiters unterstützt, Steuerverfahren, Maschinenlernvorrichtung und Maschinenlernverfahren - Google Patents

Robotersystem, das einen Arbeitsvorgang eines Arbeiters unterstützt, Steuerverfahren, Maschinenlernvorrichtung und Maschinenlernverfahren Download PDF

Info

Publication number
DE102020124379A1
DE102020124379A1 DE102020124379.0A DE102020124379A DE102020124379A1 DE 102020124379 A1 DE102020124379 A1 DE 102020124379A1 DE 102020124379 A DE102020124379 A DE 102020124379A DE 102020124379 A1 DE102020124379 A1 DE 102020124379A1
Authority
DE
Germany
Prior art keywords
worker
robot
movement
learning
work
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
DE102020124379.0A
Other languages
English (en)
Inventor
Keita Maeda
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 DE102020124379A1 publication Critical patent/DE102020124379A1/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
    • 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/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • B25J13/089Determining the position of the robot with reference to its environment
    • 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
    • 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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • 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
    • 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

Landscapes

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

Abstract

Ein Robotersystem, das einen Arbeiter unterstützt, um es dem Arbeiter zu ermöglichen, einen Arbeitsvorgang reibungsloser durchzuführen. Das Robotersystem umfasst einen Roboter, eine Erkennungseinrichtung, die dazu eingerichtet ist, eine Bewegung eines Arbeiters zu erkennen, wenn der Arbeiter einen vorgegebenen Arbeitsvorgang durchführt, einen Abschlussbestimmungsabschnitt, der dazu eingerichtet ist, basierend auf Erkennungsdaten von der Erkennungseinrichtung zu bestimmen, ob der Arbeitsvorgang abgeschlossen ist, und eine Robotersteuereinrichtung, die dazu eingerichtet ist, wenn der Abschlussbestimmungsabschnitt bestimmt, dass der Arbeitsvorgang abgeschlossen ist, den Roboter zu veranlassen, einen Objektzufuhrvorgang oder einen Objektabholvorgang durchzuführen, wobei beim Objektzuführvorgang ein Objekt für den Arbeitsvorgang zu einer vorgegebenen Position transportiert wird, um das Objekt dem Arbeiter zuzuführen, und beim Objektabholvorgang das für den Arbeitsvorgang verwendete Objekt abgeholt und das Objekt zu einem vorgegebenen Aufbewahrungsort transportiert wird.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft ein Robotersystem, das einen Arbeitsvorgang eines Arbeiters unterstützt, ein Robotersteuerverfahren, eine Maschinenlernvorrichtung und ein Maschinenlernverfahren.
  • Beschreibung des zugehörigen Standes der Technik
  • Robotersysteme, die einen Arbeitsvorgang eines Arbeiters unterstützen, sind bekannt (z.B. JP 2018-058178 A ). Es besteht Bedarf an einem Robotersystem, das einen Arbeiter unterstützt, um es dem Arbeiter zu ermöglichen, einen Arbeitsvorgang reibungsloser durchzuführen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß einem Aspekt der vorliegenden Offenbarung umfasst ein Robotersystem, das dazu eingerichtet ist, einen durch einen Arbeiter durchgeführten Arbeitsvorgang zu unterstützen, einen Roboter, eine Erkennungseinrichtung, die dazu eingerichtet ist, eine Bewegung des Arbeiters zu erkennen, wenn der Arbeiter einen vorgegebenen Arbeitsvorgang durchführt, einen Abschlussbestimmungsabschnitt, der dazu eingerichtet ist, basierend auf Erkennungsdaten der Erkennungseinrichtung zu bestimmen, ob der Arbeitsvorgang abgeschlossen ist, und eine Robotersteuereinrichtung, die dazu eingerichtet ist, wenn der Abschlussbestimmungsabschnitt bestimmt, dass der Arbeitsvorgang abgeschlossen ist, den Roboter zu veranlassen, einen Objektzufuhrvorgang zum Transportieren eines Objekts für den Arbeitsvorgang zu einer vorgegebenen Position, um das Objekt dem Arbeiter zuzuführen, oder einen Objektabholvorgang durchzuführen, um das Objekt, das für den Arbeitsvorgang verwendet wurde, abzuholen und es zu einem vorgegebenen Aufbewahrungsort zu transportieren.
  • Gemäß einem anderen Aspekt der vorliegenden Offenbarung umfasst ein Verfahren zum Steuern eines Roboters, der dazu eingerichtet ist, einen durch einen Arbeiter durchgeführten Arbeitsvorgang zu unterstützen, das Erkennen einer Bewegung des Arbeiters durch eine Erkennungseinrichtung, wenn der Arbeiter einen vorgegebenen Arbeitsvorgang durchführt, das Bestimmen, ob der Arbeitsvorgang abgeschlossen ist, basierend auf Erkennungsdaten der Erkennungseinrichtung, und, wenn bestimmt wird, dass der Arbeitsvorgang abgeschlossen ist, das Veranlassen des Roboters einen Objektzufuhrvorgang zum Transportieren eines Objekts für den Arbeitsvorgang zu einer vorgegebenen Position, um das Objekt dem Arbeiter zuzuführen, oder einen Objektabholvorgang durchzuführen, um das Objekt, das für den Arbeitsvorgang verwendet wurde, abzuholen und es zu einem vorgegebenen Aufbewahrungsort zu transportieren.
  • Gemäß einem weiteren Aspekt der vorliegenden Offenbarung umfasst eine Maschinenlernvorrichtung, die dazu eingerichtet ist, einen Zeitpunkt zu lernen, zu dem ein durch einen Arbeiter durchgeführter Arbeitsvorgang abgeschlossen ist, einen Lerndatenerfassungsabschnitt, der dazu eingerichtet ist, Erkennungsdaten einer Erkennungseinrichtung, die dazu eingerichtet ist, eine Bewegung des Arbeiters zu erkennen, wenn der Arbeiter einen vorgegebenen Arbeitsvorgang durchführt, und Labelinformationen, die eine Phase des Arbeitsvorgangs oder eine für den Arbeitsvorgang erforderliche Zeit 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 Bewegung und der Phase oder der Zeit darstellt.
  • Gemäß noch einem weiteren Aspekt der vorliegenden Offenbarung umfasst ein Maschinenlernverfahren zum Lernen eines Zeitpunkts, zu dem ein durch einen Arbeiter durchgeführter Arbeitsvorgang abgeschlossen ist, das Erfassen von Erkennungsdaten einer Erkennungseinrichtung, die dazu eingerichtet ist, eine Bewegung des Arbeiters zu erkennen, wenn der Arbeiter einen vorgegebenen Arbeitsvorgang durchführt, und Labelinformationen, die eine Phase des Arbeitsvorgangs oder eine für den Arbeitsvorgang erforderliche Zeit angeben, als Lerndatensatz und das Erzeugen eines Lernmodells, das eine Korrelation zwischen der Bewegung und der Phase oder der Zeit darstellt, unter Verwendung der Lerndaten.
  • Gemäß der vorliegenden Offenbarung veranlasst die Robotersteuereinrichtung den Roboter, zu dem Zeitpunkt, zu dem der Arbeitsvorgang abgeschlossen ist, den Objektzufuhrvorgang oder den Objektabholvorgang durchzuführen, wodurch der durch den Arbeiter durchgeführte Arbeitsvorgang unterstützt werden kann, um es dem Arbeiter zu ermöglichen, den Arbeitsvorgang reibungslos durchzuführen.
  • Figurenliste
    • 1 ist ein Blockdiagramm eines Robotersystems gemäß einer Ausführungsform.
    • 2 ist eine perspektivische Ansicht des in 1 gezeigten Robotersystems.
    • 3 ist ein Flussdiagramm, das ein Beispiel für den Betriebsablauf des in 1 gezeigten Robotersystems zeigt.
    • 4 ist eine vergrößerte Ansicht eines in 2 gezeigten Arbeitstisches.
    • 5 ist eine Darstellung zur Beschreibung eines Beispiels eines durch einen Arbeiter durchgeführten Arbeitsvorgangs.
    • 6 zeigt den Arbeiter beim Befestigen eines Befestigungsmittels in einem in 5 gezeigten Befestigungsloch unter Verwendung eines Werkzeugs.
    • 7 ist ein Blockdiagramm einer Maschinenlernvorrichtung gemäß einer Ausführungsform.
    • 8 ist eine Darstellung, die schematisch Erkennungsdaten zeigt, welche kontinuierlich durch eine Erkennungseinrichtung erfasst werden.
    • 9 ist ein Flussdiagramm, das ein Beispiel für einen Lernablauf zeigt, der durch die in 7 gezeigte Maschinenlernvorrichtung durchgeführt wird.
    • 10 zeigt schematisch ein Modell eines Neurons.
    • 11 zeigt schematisch ein Modell eines mehrschichtigen neuronalen Netzes.
    • 12 ist ein Blockdiagramm eines Robotersystems gemäß einer anderen Ausführungsform.
    • 13 ist eine perspektivische Ansicht eines Robotersystems gemäß einer weiteren Ausführungsform.
    • 14 ist ein Blockdiagramm des in 11 gezeigten Robotersystems.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Nachstehend sind Ausführungsformen der vorliegenden Offenbarung unter Bezugnahme auf die Zeichnungen ausführlich beschrieben. In den verschiedenen nachstehend beschriebenen Ausführungsformen sind gleiche Komponenten mit gleichen Bezugszeichen versehen und es wird auf redundante Beschreibungen derselben verzichtet. Zunächst wird ein Robotersystem 10 gemäß einer Ausführungsform unter Bezugnahme auf 1 und 2 beschrieben. Das Robotersystem 10 ist dazu eingerichtet, in Zusammenarbeit mit einem Arbeiter A einen Arbeitsvorgang durchzuführen, und umfasst einen Roboter 12, eine Erkennungseinrichtung 14 und eine Steuereinrichtung 16.
  • Bei der vorliegenden Ausführungsform ist der Roboter 12 ein vertikaler Knickarmroboter und umfasst eine Basis 18, einen Drehkörper 20, einen Roboterarm 22, ein Handgelenk 24 und eine Roboterhand 26. Die Basis 18 ist am Boden einer Arbeitszelle fixiert. Der Drehkörper 20 ist so an der Basis 18 bereitgestellt, dass er um eine vertikale Achse drehbar ist.
  • Der Roboterarm 22 umfasst einen Unterarm 23, der so am Drehkörper 20 angebracht ist, dass er um eine horizontale Achse drehbar ist, und einen Oberarm 25, der drehbar an einem distalen Ende des Unterarms 23 angebracht ist. Das Handgelenk 24 ist mit einem distalen Ende des Oberarms 25 gekoppelt und trägt die Roboterhand 26 drehbar. Die Roboterhand 26 umfasst mehrere Finger 26a, die sich öffnen und schließen können, und hält ein Objekt mit den Fingern 26a fest oder lässt es los.
  • In jeder der Komponenten des Roboters 12 (Basis 18, Drehkörper 20, Roboterarm 22, Handgelenk 24 und Roboterhand 26) ist ein Servomotor (nicht gezeigt) verbaut. Gemäß einem Befehl von der Steuereinrichtung 16 dreht der Servomotor jede bewegbare Komponente des Roboters 12 (den Drehkörper 20, den Roboterarm 22 und das Handgelenk 24) um eine Antriebswelle, um den Roboter 12 zu betreiben.
  • Ein Roboterkoordinatensystem CR ist für den Roboter 12 festgelegt. Das Roboterkoordinatensystem CR dient zum automatischen Steuern der bewegbaren Komponenten des Roboters 12 (des Drehkörpers 20, des Roboterarms 22 und des Handgelenks 24) in einem dreidimensionalen Raum. Bei der vorliegenden Ausführungsform ist das Roboterkoordinatensystem CR so festgelegt, dass sein Ursprung in der Mitte der Basis 18 angeordnet ist, seine Z-Achse parallel zur vertikalen Richtung verläuft und der Drehkörper 20 um die Z-Achse gedreht wird.
  • Die Steuereinrichtung 16 erzeugt basierend auf dem Roboterkoordinatensystem CR einen Befehl für jeden im Roboter 12 verbauten Servomotor und veranlasst jeden Servomotor, die bewegbaren Komponenten des Roboters 12 zu betreiben, um die Roboterhand 26 in einer beliebigen Position und Ausrichtung im Roboterkoordinatensystem CR anzuordnen.
  • Die Erkennungseinrichtung 14 erkennt eine Bewegung des Arbeiters A, wenn der Arbeiter A einen vorgegebenen Arbeitsvorgang durchführt. Bei der vorliegenden Ausführungsform umfasst die Erkennungseinrichtung 14 einen Bildsensor, ein optisches System, wie etwa eine Fokuslinse, und einen Bildprozessor (z.B. eine GPU). Die Erkennungseinrichtung 14 nimmt entlang einer vorgegebenen Sichtlinienrichtung VD ein Bild des den Arbeitsvorgang durchführenden Arbeiters A auf und erkennt die Bewegung des Arbeiters A basierend auf dem aufgenommenen Bild (als optische Bewegungsaufnahme bezeichnet). Der durch den Arbeiter durchgeführte Arbeitsvorgang ist nachstehend beschrieben.
  • Die Steuereinrichtung 16 steuert den Roboter 12 und die Erkennungseinrichtung 14. Die Steuereinrichtung 16 ist ein Computer, der einen Prozessor (CPU, GPU etc.), einen Speicher (ROM, RAM etc.), eine Eingabeeinrichtung (Tastatur, Maus, Berührungssensor etc.) und eine Anzeigeeinrichtung (Flüssigkristallanzeigeeinrichtung, organische EL-Anzeigeeinrichtung etc.) umfasst. Der Prozessor der Steuereinrichtung 16 führt zum Ausführen verschiedener nachstehend beschriebener Funktionen eine Rechenverarbeitung durch.
  • Als Nächstes wird unter Bezugnahme auf 3 der Betrieb des Robotersystems 10 beschrieben. Ein in 3 gezeigter Ablauf wird gestartet, wenn die Steuereinrichtung 16 von einem Bediener, einer Hoststeuereinrichtung oder einem Computerprogramm einen Arbeitsstartbefehl empfängt. In Schritt S1 erfasst die Steuereinrichtung 16 Informationen über den durch den Arbeiter A durchzuführenden Arbeitsvorgang.
  • Bei der vorliegenden Ausführungsform führt der Arbeiter A insgesamt nMAX (nMAX ist eine positive Ganzzahl) Arten von Arbeitsvorgängen durch, und zwar der Reihe nach einen ersten Arbeitsvorgang, einen zweiten Arbeitsvorgang, ..., einen n-ten Arbeitsvorgang ... und einen nMAX-ten Arbeitsvorgang, wobei der Arbeiter A ein n-tes Werkzeug Tn verwendet, um den n-ten Arbeitsvorgang durchzuführen (n=1 bis nMAX). Es wird darauf hingewiesen, dass sich die n-ten Werkzeuge Tn voneinander unterscheiden oder wenigstens zwei Werkzeuge (das (n-1)-te Werkzeug Tn-1 und das n-te Werkzeug Tn ) gleich sein können.
  • In diesem Schritt S1 erfasst die Steuereinrichtung 16 die Arbeitsinformationen von dem Bediener, der Hoststeuereinrichtung oder dem Computerprogramm. Die Arbeitsinformationen umfassen Informationen, die die Art und Reihenfolge des n-ten Arbeitsvorgangs und die Art des n-ten Werkzeugs bezeichnen (z.B. Kennnummern etc.). Anhand der Arbeitsinformationen kann die Steuereinrichtung 16 die Reihenfolge, in der der Arbeitsvorgang durchzuführen ist, und das dem Arbeiter A zuzuführende Werkzeug Tn erkennen.
  • Es wird darauf hingewiesen, dass der Arbeiter A die Eingabeeinrichtung der Steuereinrichtung 16 bedienen kann, um die Arbeitsinformationen einzugeben. Alternativ kann der Arbeiter A die Arbeitsinformationen unter Verwendung einer Spracherkennungstechnik eingeben. In diesem Fall ist die Steuereinrichtung 16 ferner mit einem Mikrofon zum Eingeben von Ton ausgestattet und ein Computerprogramm für die Spracherkennungstechnik wird vorher in der Steuereinrichtung 16 installiert.
  • In Schritt S2 setzt die Steuereinrichtung 16 eine Zahl „n“, die den n-ten Arbeitsvorgang (d.h. das n-te Werkzeug Tn ) bezeichnet, auf „1“. In Schritt S3 veranlasst die Steuereinrichtung 16 den Roboter 12, einen Objektzufuhrvorgang durchzuführen. Bei der vorliegenden Ausführungsform ist, wie in 4 gezeigt, ein Ablagetisch C an einer vorgegebenen Position in der Arbeitszelle aufgestellt. Eine erste Halteeinrichtung D1 und eine zweite Halteeinrichtung D2 sind auf dem Ablagetisch C bereitgestellt.
  • Ein Werkzeug T, das durch den Arbeiter A für den nächsten Arbeitsvorgang zu verwenden ist, wird durch den Roboter 12 auf die erste Halteeinrichtung D1 gesetzt. Nach Durchführung des Arbeitsvorgangs setzt der Arbeiter A dagegen das Werkzeug T, das für den Arbeitsvorgang verwendet wurde, manuell auf die zweite Halteeinrichtung D2 . Außerdem ist ein Aufbewahrungsgestell E, in dem die Werkzeuge T aufbewahrt werden, an einer vorgegebenen Position in der Arbeitszelle aufgestellt. Das für den n-ten Arbeitsvorgang zu verwendende n-te Werkzeug Tn wird in einer vorgegebenen Position stationär im Aufbewahrungsgestell E aufbewahrt.
  • Positionsdaten (Koordinatendaten) im Roboterkoordinatensystem CR der ersten Halteeinrichtung D1 , der zweiten Halteeinrichtung D2 und der n-ten Werkzeuge Tn im Aufbewahrungsgestell E werden vorab im Speicher der Steuereinrichtung 16 gespeichert.
  • In diesem Schritt S3 veranlasst die Steuereinrichtung 16 den Roboter 12, den Objektzufuhrvorgang basierend auf den Positionsdaten des ersten Werkzeugs T1 und der ersten Halteeinrichtung D1 im Roboterkoordinatensystem CR durchzuführen, wobei der Roboter 12 gemäß dem Befehl von der Steuereinrichtung 16 das im Aufbewahrungsgestell E aufbewahrte erste Werkzeug T1 mit seiner Roboterhand 26 ergreift und das erste Werkzeug T1 auf die erste Halteeinrichtung D1 setzt.
  • In Schritt S4 startet die Erkennungseinrichtung 14 die Erkennung der Bewegung des Arbeiters A. Insbesondere nimmt die Erkennungseinrichtung 14 in Antwort auf den Befehl von der Steuereinrichtung kontinuierlich ein Bild des Arbeiters A auf (mit anderen Worten, nimmt ein Bewegtbild auf) und erkennt die Bewegung des Arbeiters A basierend auf dem aufgenommenen Bild. Somit sendet die Erkennungseinrichtung 14 Erkennungsdaten DD, die die Bewegung des Arbeiters A zeigen (z.B. Bilddaten, die die Bewegung des Arbeiters A kontinuierlich in einer Zeitreihe zeigen), an die Steuereinrichtung 16.
  • In Schritt S5 bestimmt die Steuereinrichtung 16 basierend auf den Erkennungsdaten DD der Erkennungseinrichtung 14, ob der n-te Arbeitsvorgang abgeschlossen ist. Ein Verfahren zum Bestimmen eines Zeitpunkts, zu dem der n-te Arbeitsvorgang abgeschlossen ist, ist nachstehend unter Bezugnahme auf 5 und 6 beschrieben. Als Beispiel lässt sich der n-te Arbeitsvorgang als Arbeitsvorgang definieren, bei dem der Arbeiter A unter Verwendung des n-ten Werkzeugs Tn (6) in jedem von fünf in 5 gezeigten Befestigungslöchern F1 bis F5 gemäß der Reihenfolge der Befestigungslöcher F1 -> F2 -> F5 -> F4 -> F5 ein Befestigungsmittel G (wie etwa einen Bolzen) befestigt.
  • In diesem Fall nimmt der Arbeiter A zunächst das auf die erste Halteeinrichtung D1 gesetzte n-te Werkzeug Tn in seine/ihre Hand H und führt den n-ten Arbeitsvorgang durch, um die Befestigungsmittel G mit dem n-ten Werkzeug Tn der Reihe nach in den Befestigungslöchern F1 bis F5 zu befestigen. Nachdem der n-te Arbeitsvorgang abgeschlossen ist (d.h. das Befestigungsmittel G am letzten Befestigungsloch F5 befestigt wurde), setzt der Arbeiter A das verwendete n-te Werkzeug Tn auf die zweite Halteeinrichtung D2 .
  • Die Steuereinrichtung 16 analysiert die von der Erkennungseinrichtung 14 erfassten Erkennungsdaten DD und bestimmt, ob der n-te Arbeitsvorgang, der eine Reihe von Bewegungen zum Befestigen der Befestigungsmittel G der Reihe nach an den Befestigungslöchern F1 bis F5 umfasst, abgeschlossen ist. Als Beispiel berechnet die Steuereinrichtung 16 anhand der erfassten Erkennungsdaten DD kontinuierlich einen Abstand I (6) zwischen einem Teil des Körpers des Arbeiters A (in diesem Fall der Hand H) und dem Befestigungsloch F5 , welches die letzte Arbeitsposition darstellt, und überwacht, ob der Abstand I gleich oder kleiner als ein vorgegebener Schwellenwert Ith (I<Ith) ist.
  • Wenn erkannt wird, dass I<Ith erfüllt ist, bestimmt die Steuereinrichtung 16, dass der n-te Arbeitsvorgang abgeschlossen ist. In diesem Fall werden die Positionsdaten des Befestigungslochs F5 im Roboterkoordinatensystem CR vorab im Speicher der Steuereinrichtung 16 gespeichert. Die Steuereinrichtung 16 kann den Abstand I anhand der Positionsdaten des Befestigungslochs F5 im Roboterkoordinatensystem CR und den Erkennungsdaten DD der Erkennungseinrichtung 14 berechnen.
  • Alternativ kann die Steuereinrichtung 16 bestimmen, dass der n-te Arbeitsvorgang abgeschlossen ist, wenn ab einem Zeitpunkt, zu dem sie erkennt, dass der Abstand I gleich oder kleiner als der vorgegebene Schwellenwert Ith wird, eine vorgegebene Zeitspanne (z.B. 5 Sekunden) verstrichen ist. Alternativ kann die Steuereinrichtung 16 bestimmen, dass der n-te Arbeitsvorgang abgeschlossen ist, wenn der Abstand I den Schwellenwert Ith (I≤Ith) erneut übersteigt, nachdem der Abstand I gleich oder kleiner als der vorgegebene Schwellenwert Ith geworden ist.
  • Als anderes Beispiel speichert die Steuereinrichtung 16 vorab ein Referenzbewegungsmuster der Bewegung, mit der der Arbeiter A das Befestigungsmittel G im Befestigungsloch F5 befestigt, welches die letzte Arbeitsposition darstellt, im Speicher. Dieses Referenzbewegungsmuster kann basierend auf den Erkennungsdaten DD der Bewegung des Arbeiters A (oder eines anderen Arbeiters) erzeugt werden, die durch die Erkennungseinrichtung 14 erkannt wird, wenn der Arbeiter A (oder ein anderer Arbeiter) eine Referenzbewegung zum Befestigen des Befestigungsmittels G am letzten Befestigungsloch Fs durchführt.
  • Die Steuereinrichtung 16 überwacht, ob die Bewegung des Arbeiters A, die durch die ab dem Start von Schritt S4 erfassten Erkennungsdaten DD gezeigt wird, mit dem Referenzbewegungsmuster übereinstimmt, und bestimmt, dass der n-te Arbeitsvorgang abgeschlossen ist, wenn die Bewegung des Arbeiters A mit dem Referenzbewegungsmuster übereinstimmt. Es wird darauf hingewiesen, dass die Steuereinrichtung 16 bestimmen kann, dass der n-te Arbeitsvorgang abgeschlossen ist, wenn seit der Bestimmung, dass die Bewegung des Arbeiters A mit dem Referenzbewegungsmuster übereinstimmt, eine vorgegebene Zeitspanne verstrichen ist.
  • Durch die vorstehend beschriebenen Verfahren kann die Steuereinrichtung 16 den Zeitpunkt bestimmen, zu dem der n-te Arbeitsvorgang abgeschlossen ist. Wenn die Steuereinrichtung 16 bestimmt, dass der n-te Arbeitsvorgang abgeschlossen ist (d.h. JA bestimmt), fährt sie mit Schritt S6 fort. Wenn die Steuereinrichtung 16 hingegen bestimmt, dass der n-te Arbeitsvorgang nicht abgeschlossen ist (d.h. NEIN bestimmt), kehrt sie zu Schritt S5 zurück. Somit fungiert die Steuereinrichtung 16 bei der vorliegenden Ausführungsform als Abschlussbestimmungsabschnitt 30 (1), der dazu eingerichtet ist, basierend auf den Erkennungsdaten DD zu bestimmen, ob der n-te Arbeitsvorgang abgeschlossen ist.
  • In Schritt S6 inkrementiert die Steuereinrichtung 16 eine Zahl „n“, die den n-ten Arbeitsvorgang (oder das n-te Werkzeug) bezeichnet, um „1“ (n=n+1). In Schritt S7 bestimmt die Steuereinrichtung 16, ob die Zahl „n“, die den n-ten Arbeitsvorgang bezeichnet, die maximale Anzahl nMAX Arbeitsvorgänge übersteigt (n>nMAX). Wenn die Steuereinrichtung 16 bestimmt, dass n>nMAX erfüllt ist (d.h. JA bestimmt), fährt sie mit Schritt S10 fort. Wenn die Steuereinrichtung 16 hingegen bestimmt, dass n>nMAX nicht erfüllt ist (d.h. NEIN bestimmt), fährt sie mit Schritt S8 fort.
  • In Schritt S8 veranlasst die Steuereinrichtung 16 den Roboter 12, den Objektzufuhrvorgang durchzuführen. Insbesondere veranlasst die Steuereinrichtung 16 basierend auf den Positionsdaten des für den nächsten Arbeitsvorgang zu verwendenden n-ten Werkzeugs Tn im Roboterkoordinatensystem CR den Roboter 12, den Objektzufuhrvorgang durchzuführen, in dem der Roboter 12 das im Aufbewahrungsgestell E aufbewahrte n-te Werkzeug Tn mit der Roboterhand 26 ergreift und das ergriffene n-te Werkzeug Tn auf die erste Halteeinrichtung D1 setzt.
  • Somit fungiert die Steuereinrichtung 16 bei der vorliegenden Ausführungsform als Robotersteuereinrichtung 28 (1), die dazu eingerichtet ist, den Roboter 12 zu veranlassen, den Objektzufuhrvorgang durchzuführen, um das n-te Werkzeug Tn für den n-ten Arbeitsvorgang zu einer vorgegebenen Position (der ersten Halteeinrichtung D1 ) zu transportieren, um das n-te Werkzeug Tn dem Arbeiter A zuzuführen.
  • In Schritt S9 fungiert die Steuereinrichtung 16 als Robotersteuereinrichtung 28 und veranlasst den Roboter 12, einen Objektabholvorgang durchzuführen. Insbesondere steuert die Steuereinrichtung 16 den Roboter 12 basierend auf den Positionsdaten der zweiten Halteeinrichtung D2 im Roboterkoordinatensystem CR , so dass der Roboter 12 das (n-1)-te Werkzeug Tn-1 , das für den zuletzt durchgeführten (n-1)-ten Arbeitsvorgang verwendet wurde und auf die zweite Halteeinrichtung D2 gesetzt ist, mit der Roboterhand 26 ergreift.
  • Dann steuert die Steuereinrichtung 16 den Roboter 12 basierend auf den Positionsdaten des in das Aufbewahrungsgestell E zu setzenden (n-1)-ten Werkzeugs Tn-1 im Roboterkoordinatensystem CR , so dass der Roboter 12 das mit der Roboterhand 26 ergriffene (n-1)-te Werkzeug Tn-1 zu einer vorgegebenen Position im Aufbewahrungsgestell E zurückbringt. Wenn die Zahl „n“ zum Zeitpunkt des Starts dieses Schritts S9 beispielsweise auf „4“ (n=4) gesetzt ist, veranlasst die Steuereinrichtung 16 den Roboter 12, das dritte Werkzeug T3, das für den dritten Arbeitsvorgang verwendet wurde, von der zweiten Halteeinrichtung D2 abzuholen und das dritte Werkzeug T3 zu einer vorgegebenen Position im Aufbewahrungsgestell E zu transportieren.
  • Somit veranlasst die Steuereinrichtung 16 den Roboter 12, den Objektabholvorgang durchzuführen, um das (n-1)-te Werkzeug Tn-1 , das für den zuletzt durchgeführten (n-1)-ten Arbeitsvorgang verwendet wurde, abzuholen und es zu dem vorgegebenen Aufbewahrungsort (Aufbewahrungsgestell E) zu transportieren. Es wird darauf hingewiesen, dass die Steuereinrichtung 16 vor dem Ausführen dieses Schritts S9 basierend auf einem durch die Erkennungseinrichtung 14 (oder eine andere Erkennungseinrichtung) aufgenommenen Bild bestimmen kann, ob das (n-1)-te Werkzeug Tn-1 auf die zweite Halteeinrichtung D2 gesetzt ist, und Schritt S9 starten kann, wenn das (n-1)-te Werkzeug Tn-1 auf die zweite Halteeinrichtung D2 gesetzt ist.
  • Alternativ kann ein Objekterkennungssensor (z.B. ein Näherungsschalter), der dazu eingerichtet ist, zu erkennen, dass das (n-1)-te Werkzeug Tn-1 auf die zweite Halteeinrichtung D2 gesetzt ist, an der zweiten Halteeinrichtung D2 bereitgestellt sein, und die Steuereinrichtung 16 kann basierend auf einem Ausgangssignal des Objekterkennungssensors bestimmen, ob das (n-1)-te Werkzeug Tn-1 auf die zweite Halteeinrichtung D2 gesetzt ist. Nach Schritt S9 kehrt die Steuereinrichtung 16 zu Schritt S5 zurück und führt eine Schleife der Schritte S5 bis S9 durch, bis sie in Schritt S7 JA bestimmt.
  • Wenn in Schritt S7 JA bestimmt wird, fungiert die Steuereinrichtung 16 in Schritt S10 als Robotersteuereinrichtung 28, um den Roboter 12 zu veranlassen, den Objektabholvorgang durchzuführen. Insbesondere steuert die Steuereinrichtung 16 den Roboter 12 basierend auf den Positionsdaten der zweiten Halteeinrichtung D2 im Roboterkoordinatensystem CR , so dass der Roboter 12 das nMAX-te Werkzeug TnMAX, das für den nMAX-ten Arbeitsvorgang verwendet wurde und auf die zweite Halteeinrichtung D2 gesetzt ist, mit der Roboterhand 26 ergreift.
  • Dann steuert die Steuereinrichtung 16 den Roboter 12 basierend auf den Positionsdaten des in das Aufbewahrungsgestell E zu setzenden nMAX-ten Werkzeugs TnMAX im Roboterkoordinatensystem CR , so dass der Roboter 12 das mit der Roboterhand 26 ergriffene nMAX-te Werkzeug TnMAX zu einer vorgegebene Position im Aufbewahrungsgestell E zurückbringt.
  • Wie vorstehend beschrieben, veranlasst die Steuereinrichtung 16 bei der vorliegenden Ausführungsform den Roboter 12, den Objektzufuhrvorgang durchzuführen (Schritt S8), wenn die Steuereinrichtung 16 bestimmt, dass der n-te Arbeitsvorgang abgeschlossen ist. Gemäß dieser Konfiguration wird das (n+1)-te Werkzeug Tn+1 für den (n+1)-ten Arbeitsvorgang automatisch durch den Roboter 12 auf die erste Halteeinrichtung D1 gesetzt, wenn der Arbeiter A nach dem n-ten Arbeitsvorgang den (n+1)-ten Arbeitsvorgang durchführt. Aufgrund dessen ist es möglich, es dem Arbeiter A zu ermöglichen, den n-ten Arbeitsvorgang reibungslos durchzuführen.
  • Darüber hinaus veranlasst die Steuereinrichtung 16 bei der vorliegenden Ausführungsform den Roboter 12, den Objektabholvorgang durchzuführen (Schritte S9 und S10), wenn die Steuereinrichtung bestimmt, dass der n-te Arbeitsvorgang abgeschlossen ist. Gemäß dieser Konfiguration kann das verwendete n-te Werkzeug Tn automatisch durch den Roboter 12 abgeholt und zurückgebracht werden, wenn der Arbeiter A den n-ten Arbeitsvorgang abschließt. Aufgrund dessen ist es möglich, es dem Arbeiter A zu ermöglichen, den Arbeitsvorgang reibungslos durchzuführen.
  • Es wird darauf hingewiesen, dass die Steuereinrichtung 16 in Schritt S5 basierend auf einem Lernmodell LM, das eine Korrelation zwischen der Bewegung des den n-ten Arbeitsvorgang durchführenden Arbeiters A und einer Phase des n-ten Arbeitsvorgangs oder einer für den n-ten Arbeitsvorgang erforderlichen Zeit t bestimmen kann, ob der n-te Arbeitsvorgang abgeschlossen ist. Eine das Lernmodell LM lernende Maschinenlernvorrichtung 50 ist nachstehend unter Bezugnahme auf 7 beschrieben.
  • Die Maschinenlernvorrichtung 50 besteht aus einem Computer, der beispielsweise einen Prozessor (CPU, GPU etc.), einen Speicher (ROM, RAM etc.), eine Eingabeeinrichtung (Tastatur, Maus, Berührungssensor etc.) und eine Anzeigeeinrichtung (Flüssigkristallanzeigeeinrichtung, organische EL-Anzeigeeinrichtung etc.) umfasst, oder aus Software, wie etwa einem durch den Computer ausgeführten Lernalgorithmus.
  • Die Maschinenlernvorrichtung 50 lernt den Zeitpunkt, zu dem der Arbeiter A den n-ten Arbeitsvorgang abschließt. Die Maschinenlernvorrichtung 50 umfasst einen Lerndatenerfassungsabschnitt 52 und einen Lernabschnitt 54. Als Ausführungsform der Funktion der Maschinenlernvorrichtung 50 erfasst der Lerndatenerfassungsabschnitt 52 die vorstehend beschriebenen Erkennungsdaten DD der Erkennungseinrichtung 14 und Labelinformationen LI, die eine Phase des n-ten Arbeitsvorgangs (Anfangsphase, Zwischenphase, Endphase etc.) angeben, als Lerndatensatz DS1.
  • Genauer gesagt bildet die Erkennungseinrichtung 14 den Arbeiter A entlang ihrer Sichtlinienrichtung VD ab, wenn der Arbeiter A den n-ten Arbeitsvorgang durchführt, und erkennt eine Bewegung des Arbeiters A basierend auf dem aufgenommenen Bild.
  • Die Erkennungseinrichtung 14 führt dem Lerndatenerfassungsabschnitt 52 die Erkennungsdaten DD zu, die die Bewegung des Arbeiters A zeigen (z.B. Bilddaten, die die Bewegung des Arbeiters A kontinuierlich in einer Zeitreihe zeigen).
  • 8 zeigt schematisch kontinuierlich durch die Erkennungseinrichtung 14 erfasste Erkennungsdaten DDm. Die horizontale Achse in 8 zeigt die Zeit t. Es wird darauf hingewiesen, dass 8 300 Elemente von Erkennungsdaten DDm (m=1 bis 300) zeigt, die vom Start bis zum Abschluss des durch den Arbeiter A durchgeführten n-ten Arbeitsvorgangs durch die Erkennungseinrichtung 14 erkannt werden.
  • Die Labelinformationen LI umfassen beispielsweise Anfangsphasen-Labelinformationen LI1, die angeben, dass sich der n-te Arbeitsvorgang in einer „Anfangsphase“ befindet, Zwischenphasen-Labelinformationen LI2, die angeben, dass sich der n-te Arbeitsvorgang in einer „Zwischenphase“ befindet, und Endphasen-Labelinformationen LI3, die angeben, dass sich der n-te Arbeitsvorgang in einer „Endphase“ befindet. Es wird angenommen, dass eine in 8 gezeigte Zusammenstellung von Erkennungsdaten DD1 bis DD99 die Bewegung des Arbeiters A beim Durchführen einer Befestigung an den ersten zwei Befestigungslöchern F (z.B. Befestigungslöcher F1 und F2 ) der Befestigungslöcher F1 bis F5 aus 5 zeigt.
  • Es wird ferner angenommen, dass eine Zusammenstellung von Erkennungsdaten DD100 bis DD199 die Bewegung des Arbeiters A beim Durchführen einer Befestigung an den nächsten zwei Befestigungslöchern F (z.B. Befestigungslöcher F3 und F4 ) der Befestigungslöcher F1 bis F5 aus 5 zeigt. Außerdem wird angenommen, dass eine Zusammenstellung von Erkennungsdaten DD200 bis DD300 die Bewegung des Arbeiters A beim Durchführen einer Befestigung am letzten Befestigungsloch F (z.B. Befestigungsloch F5 ) der Befestigungslöcher F1 bis F5 aus 5 zeigt.
  • In diesem Fall kann der Bediener die Anfangsphasen-Labelinformationen LI1 den Erkennungsdaten DD1 bis DD99 , die Zwischenphasen-Labelinformationen LI2 den Erkennungsdaten DD100 bis DD199 und die Endphasen-Labelinformationen LI3 den Erkennungsdaten DD200 bis DD300 zuordnen. Wenn der Bediener die Labelinformationen LI zuordnet, zeigt die Anzeigeeinrichtung der Maschinenlernvorrichtung 50 die Erkennungsdaten (Bilddaten) DDm an.
  • Dann bedient der Bediener, während er das auf der Anzeigeeinrichtung angezeigte Bild der Erkennungsdaten DDm betrachtet, die Eingabeeinrichtung der Maschinenlernvorrichtung 50, um den Erkennungsdaten DDm optional die Anfangsphasen-Labelinformationen LI1, die Zwischenphasen-Labelinformationen LI2 und die Endphasen-Labelinformationen LI3 zuzuweisen, die den Fortschritt des n-ten Arbeitsvorgangs zeigen.
  • Somit weist der Bediener gemäß der durch die Erkennungsdaten DDm gezeigten Bewegung des Arbeiters A optional den Erkennungsdaten DDm die Labelinformationen LI zu. Der Lerndatenerfassungsabschnitt 52 erfasst die von der Erkennungseinrichtung 14 erfassten Erkennungsdaten DDm und die durch den Bediener eingegebenen Labelinformationen LI als Lerndatensatz DS1.
  • Es wird darauf hingewiesen, dass bei dem in 8 gezeigten Beispiel zum einfacheren Verständnis ein Fall beschrieben ist, in dem die Erkennungseinrichtung 14 während des n-ten Arbeitsvorgangs insgesamt 300 Elemente Erkennungsdaten DD1 bis DD300 erkennt. Die Erkennungseinrichtung 14 kann während des n-ten Arbeitsvorgangs jedoch eine beliebige Anzahl von Elementen der Erkennungsdaten DDm erkennen. Der Bediener kann gemäß den erkannten Erkennungsdaten DDm optional entscheiden, welche Art von Labelinformationen LI1, LI2 oder LI3 der Zusammenstellung einer beliebigen Anzahl von Elementen der Erkennungsdaten DDm zugewiesen werden soll.
  • Darüber hinaus sind die Labelinformationen LI nicht auf die vorstehend beschriebenen Anfangsphasen-Labelinformationen LI1, Zwischenphasen-Labelinformationen LI2 und Endphasen-Labelinformationen LI3 beschränkt. Als Endphasen-Labelinformationen LI3 kann beispielsweise eine Mehrzahl Elemente von Labelinformationen in chronologischer Reihenfolge, wie etwa „Endphase 1“, „Endphase 2“ und „Endphase 3“, festgelegt werden. Ebenso kann eine Mehrzahl Elemente von Labelinformationen als Anfangsphasen-Labelinformationen LI1 oder Zwischenphasen-Labelinformationen LI2 festgelegt werden. Darüber hinaus können den Erkennungsdaten DDm nur die Endphasen-Labelinformationen LI3 zugewiesen werden.
  • Der Lernabschnitt 54 erzeugt ein Lernmodell LM1 (Funktion), das die Korrelation zwischen der Bewegung des den n-ten Arbeitsvorgang durchführenden Arbeiters A und der Phase des n-ten Arbeitsvorgangs (Anfangsphase, Zwischenphase, Endphase) darstellt, unter Verwendung des Lerndatensatzes DS1.Der Lernabschnitt 54 führt zum Erzeugen des Lernmodells LM1 beispielsweise ein überwachtes Lernen durch. In diesem Fall ist der Arbeiter A bestrebt, wiederholt den n-ten Arbeitsvorgang durchzuführen, und der Lerndatenerfassungsabschnitt 52 erfasst jedes Mal, wenn der Arbeiter A den n-ten Arbeitsvorgang durchführt, wiederholt den Lerndatensatz DS1 als überwachte Daten.
  • Der Lernabschnitt 54 lernt das Lernmodell LM1 durch Identifizieren eines Merkmals, das die Korrelation zwischen den Erkennungsdaten DDm und den die Phase des n-ten Arbeitsvorgangs (Anfangsphasen-Labelinformationen LI1, Zwischenphasen-Labelinformationen LI2 und Endphasen-Labelinformationen LI3) angebenden Labelinformationen LI einschließt, welche als überwachte Daten erfasst wurden. Für das überwachte Lernen kann beispielsweise ein Algorithmus, wie etwa eine Support Vector Machine (SVM) oder ein Gaußsches Mischungsmodell (GMM/Gaussian Mixture Model), verwendet werden.
  • Ein Ablauf eines durch die Maschinenlernvorrichtung 50 durchgeführten Lernzyklus ist nachstehend unter Bezugnahme auf 9 beschrieben. In Schritt S11 führt der Arbeiter A den n-ten Arbeitsvorgang durch und die Erkennungseinrichtung 14 erkennt die Bewegung des Arbeiters A während des n-ten Arbeitsvorgangs. In Schritt S12 erfasst der Lerndatenerfassungsabschnitt 52 den Lerndatensatz DS1 der Erkennungsdaten DDm und der Labelinformationen LI und speichert die Erkennungsdaten DDm und die Labelinformationen LI einander zugeordnet im Speicher der Maschinenlernvorrichtung 50.
  • In Schritt S13 erzeugt (oder aktualisiert) der Lernabschnitt 54 das Lernmodell LM1, das die Korrelation zwischen der Bewegung des den n-ten Arbeitsvorgang durchführenden Arbeiters A und der Phase des n-ten Arbeitsvorgangs darstellt, unter Verwendung des in Schritt S12 erfassten Lerndatensatzes DS1.Der Ablauf kehrt dann zu Schritt S11 zurück.
  • Durch Durchführen eines solchen Lernzyklus wird das Lernen des Lernmodells LM1 befördert, wodurch das Lernmodell LM1 zu einer optimalen Lösung geführt wird. Gemäß der vorliegenden Ausführungsform ist es möglich, das Lernmodell LM1, das die Korrelation zwischen der Bewegung des den n-ten Arbeitsvorgang durchführenden Arbeiters A und der Phase des n-ten Arbeitsvorgangs quantitativ darstellt, automatisch und genau zu erhalten.
  • Als Nächstes wird eine andere Ausführungsform der Funktion der Maschinenlernvorrichtung 50 beschrieben. Bei der vorliegenden Ausführungsform erfasst der Lerndatenerfassungsabschnitt 52 die vorstehend beschriebenen Erkennungsdaten DDm und die für den n-ten Arbeitsvorgang erforderliche Zeit t als Lerndatensatz DS2. Beispielsweise erfasst der Lerndatenerfassungsabschnitt 52 die Erkennungsdaten DD1 bis DDm_p, die die Bewegung des Arbeiters A beim Durchführen einer Befestigung an den ersten „p“ Befestigungslöchern F (p ist eine Ganzzahl von 4 oder kleiner) der Befestigungslöcher F1 bis F5 aus 5 zeigen, und die Zeit t von einem Zeitpunkt, zu dem der Arbeiter A die Befestigung am p-ten Befestigungsloch F abschließt, bis zu einem Zeitpunkt, zu dem der n-te Arbeitsvorgang abgeschlossen wird, als Lerndatensatz DS2.
  • Insbesondere erfasst der Lerndatenerfassungsabschnitt 52 die Erkennungsdaten DD1 bis DD99 , die die Bewegung des Arbeiters A beim Durchführen einer Befestigung an den ersten zwei Befestigungslöchern F (z.B. Befestigungslöcher F1 und F2 ) zeigen, und die Zeit t von einem Zeitpunkt, zu dem der Arbeiter A die Befestigung am zweiten Befestigungsloch F (z.B. Befestigungsloch F2 ) abschließt (d.h. einem Zeitpunkt, zu dem die Erkennungsdaten DD99 erkannt werden), bis zu einem Zeitpunkt, zu dem der n-te Arbeitsvorgang abgeschlossen wird (d.h. einem Zeitpunkt, zu dem die Erkennungsdaten DD300 erkannt werden), als Lerndatensatz DS2.
  • Der Lernabschnitt 54 erzeugt ein Lernmodell LM2 (Funktion), das die Korrelation zwischen der Bewegung des den n-ten Arbeitsvorgang durchführenden Arbeiters A und der für den n-ten Arbeitsvorgang erforderlichen Zeit t (z.B. der Zeit t von einem Zeitpunkt, zu dem die Befestigung am p-ten Befestigungsloch F abgeschlossen wird, bis zu einem Zeitpunkt, zu dem der n-te Arbeitsvorgang abgeschlossen wird) darstellt, unter Verwendung des Lerndatensatzes DS2 der Erkennungsdaten DDm und der Zeit t.
  • Ein Ablauf eines Lernzyklus des Lernmodells LM2 ist nachstehend unter Bezugnahme auf 9 beschrieben. Der Lernablauf des Lernmodells LM2 unterscheidet sich in den Schritten S12 und S13 vom Lernablauf des vorstehend beschriebenen Lernmodells LM1. Insbesondere erfasst der Lerndatenerfassungsabschnitt 52 in Schritt S12 den Lerndatensatz DS2 der Erkennungsdaten DDm und der Zeit t und speichert diese einander zugeordnet im Speicher der Maschinenlernvorrichtung 50.
  • In Schritt S13 erzeugt der Lernabschnitt 54 das Lernmodell LM2, das die Korrelation zwischen der Bewegung des den n-ten Arbeitsvorgang durchführenden Arbeiters A und der Zeit t darstellt, unter Verwendung des in Schritt S12 erfassten Lerndatensatzes DS2. Der Lernabschnitt 54 führt beispielsweise den Algorithmus für das überwachte Lernen (SVM, GMM etc.) aus, um das Lernmodell LM2 zu lernen. Dann kehrt der Ablauf zu Schritt S11 zurück.
  • Durch Durchführen eines solchen Lernzyklus wird das Lernen des Lernmodells LM2 befördert, wodurch das Lernmodell LM2 zu einer optimalen Lösung geführt wird. Gemäß der vorliegenden Ausführungsform ist es möglich, das Lernmodell LM2, das die Korrelation zwischen der Bewegung des den n-ten Arbeitsvorgang durchführenden Arbeiters A und der für den n-ten Arbeitsvorgang erforderlichen Zeit t quantitativ darstellt, automatisch und genau zu erhalten.
  • Es wird darauf hingewiesen, dass der durch den Lernabschnitt 54 ausgeführte Lernalgorithmus nicht auf das überwachte Lernen beschränkt ist, sondern ein beliebiger für das maschinelle Lernen bekannter Lernalgorithmus, wie etwa unüberwachtes Lernen, verstärkendes Lernen oder ein neuronales Netz, eingesetzt werden kann. Als Beispiel zeigt 10 schematisch ein Modell eines Neurons. 11 zeigt schematisch ein Modell eines dreischichtigen neuronalen Netzes, das durch Kombinieren von in 10 gezeigten Neuronen erstellt wird. Das neuronale Netz kann unter Verwendung beispielsweise einer Recheneinrichtung und einer Speichereinrichtung, die ein Neuronenmodell simulieren, gebildet werden.
  • Das in 10 gezeigte Neuron gibt in Antwort auf mehrere Eingänge x (in 10 sind die Eingänge x1 bis x3 als Beispiel dargestellt) ein Ergebnis y aus. Die 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 nachstehend aufgeführte Gleichung 1 darstellen. Es wird darauf hingewiesen, dass die Eingänge x, das Ergebnis y und die Gewichte w allesamt Vektoren sind. In Gleichung 1 ist 0 eine systematische Messabweichung und fk eine Aktivierungsfunktion. y = f k ( i = 1 n x i w i θ )
    Figure DE102020124379A1_0001
    Bei dem in 11 gezeigten dreischichtigen neuronalen Netz werden die mehreren Eingänge x (in 11 sind die Eingänge x1 bis x3 als Beispiel dargestellt) auf der linken Seite eingegeben und das Ergebnis y (in 11 sind die Ergebnisse y1 bis y3 als Beispiel dargestellt) auf der rechten Seite ausgegeben. Bei dem gezeigten Beispiel werden die Eingänge x1, x2 und x3 jeweils mit den entsprechend Gewichten (kollektiv als W1 dargestellt) multipliziert und jeder der Eingänge x1, x2 und x3 wird in drei Neuronen N11, N12 und N13 eingegeben.
  • In 11 sind die Ausgänge der Neuronen N11 bis N13 kollektiv als Z1 dargestellt. Z1 kann als Merkmalsvektoren aufgefasst werden, die durch Extrahieren der Merkmalsbeträge der Eingangsvektoren erhalten werden. Bei dem gezeigten Beispiel werden die Merkmalsvektoren Z1 jeweils mit den entsprechenden Gewichten (kollektiv als W2 dargestellt) multipliziert und jeder der Merkmalsvektoren Z1 wird in zwei Neuronen N21 und N22 eingegeben. Die Merkmalsvektoren Z1 stellen Merkmale zwischen dem Gewicht W1 und dem Gewicht W2 dar.
  • In 11 sind die Ausgänge der Neuronen N21 bis N22 kollektiv als Z2 dargestellt. Z2 kann als Merkmalsvektoren aufgefasst werden, die durch Extrahieren der Merkmalsbeträge der Merkmalsvektoren Z1 erhalten werden. Bei dem gezeigten Beispiel werden die Merkmalsvektoren Z2 jeweils mit den entsprechenden Gewichten (kollektiv als W3 dargestellt) multipliziert und jeder der Merkmalsvektoren Z2 wird in drei Neuronen N31, N32 und N33 eingegeben.
  • Die Merkmalsvektoren Z2 stellen Merkmale zwischen dem Gewicht W2 und dem Gewicht W3 dar. Schließlich geben die Neuronen N31 bis N33 jeweils die Ergebnisse y1 bis y3 aus. Die Maschinenlernvorrichtung 50 kann das Lernmodell LM (LM1 oder LM2) durch Verwenden des Lerndatensatzes DS (DS1 oder DS2) als Eingang und Durchführen einer Mehr-Schichten-Strukturberechnung gemäß dem vorstehend beschriebenen neuronalen Netz lernen.
  • Die Konfiguration der vorstehend genannten Maschinenlernvorrichtung 50 lässt sich als Maschinenlernverfahren (oder Software) beschreiben, das durch einen Prozessor eines Computers ausgeführt wird. Das Maschinenlernverfahren umfasst das Erfassen der Erkennungsdaten DDm der Erkennungseinrichtung 14, die die Bewegung des Arbeiters A erkennt, wenn der Arbeiter A den n-ten Arbeitsvorgang durchführt, und der Labelinformationen LI, die die Phase des n-ten Arbeitsvorgangs oder die für den n-ten Arbeitsvorgang erforderliche Zeit t angeben, als Lerndatensatz DS1 oder DS2 und das Erzeugen des Lernmodells LM1 oder LM2, das die Korrelation zwischen der Bewegung des Arbeiters A und der Phase des n-ten Arbeitsvorgangs oder der Zeit t darstellt, unter Verwendung des Lerndatensatzes DS1 oder DS2 durch einen Prozessor.
  • Nun wird unter Bezugnahme auf 2 und 12 ein Robotersystem 60 gemäß einer anderen Ausführungsform beschrieben. Das Robotersystem 60 umfasst den Roboter 12, die Erkennungseinrichtung 14 und eine Steuereinrichtung 62. Die Steuereinrichtung 62 ist ein Computer, der einen Prozessor 64 (CPU, GPU etc.), einen Speicher 66 (ROM, RAM etc.), eine Eingabeeinrichtung 68 (Tastatur, Maus, Berührungssensor etc.) und eine Anzeigeeinrichtung 70 (Flüssigkristallanzeigeeinrichtung, organische EL-Anzeigeeinrichtung etc.) umfasst.
    Der Prozessor 64, der Speicher 66, die Eingabeeinrichtung 68 und die Anzeigeeinrichtung 70 sind über einen Bus 72 kommunikationsfähig miteinander verbunden.
  • Bei der vorliegenden Ausführungsform ist die Maschinenlernvorrichtung 50 in Form von Hardware oder Software in der Steuereinrichtung 62 installiert und der Prozessor 64 führt verschiedene Rechenverarbeitungen durch, um die Funktion der Maschinenlernvorrichtung 50 auszuführen, während er mit dem Speicher 66, der Eingabeeinrichtung 68 und der Anzeigeeinrichtung 70 kommuniziert. Somit fungiert der Prozessor 64 bei der vorliegenden Ausführungsform als Lerndatenerfassungsabschnitt 52 und Lernabschnitt 54. Der Speicher 66 speichert das durch die Maschinenlernvorrichtung 50 gelernte Lernmodell LM (LM1 oder LM2) vor.
  • Als Nächstes wird der Betrieb des Robotersystems 60 unter Bezugnahme auf 3 beschrieben. Der Prozessor 64 fungiert als Robotersteuereinrichtung 28 und Abschlussbestimmungsabschnitt 30, welche vorstehend beschrieben sind, und führt den in 3 gezeigten Ablauf aus, während er mit dem Speicher 66, der Eingabeeinrichtung 68 und der Anzeigeeinrichtung 70 kommuniziert. Der Betriebsablauf des Robotersystems 60 unterscheidet sich in den folgenden Prozessen von dem des vorstehend beschriebenen Robotersystems 10.
  • Insbesondere startet die Erkennungseinrichtung 14 in Schritt S4 die Erkennung der Bewegung des Arbeiters A. Zu dieser Zeit nimmt die Erkennungseinrichtung 14 unter den gleichen Bedingungen wie im vorstehend beschriebenen, in der Lernphase des Lernmodells LM durchgeführten Schritt S11 kontinuierlich ein Bild (Bewegtbild) des Arbeiters A auf, um die Bewegung des Arbeiters A zu erkennen. Insbesondere bildet die Erkennungseinrichtung 14 den Arbeiter A unter den gleichen Abbildungsbedingungen (Verschlusszeit, Aufnahmegeschwindigkeit etc.) wie im vorstehend beschriebenen Schritt S11 entlang der gleichen Sichtlinienrichtung VD wie in Schritt 511 ab. Die Erkennungseinrichtung 14 sendet der Reihe nach kontinuierlich erfasste Erkennungsdaten DDm' an den Prozessor 64.
  • In Schritt S5 bestimmt der Prozessor 64 basierend auf den Erkennungsdaten DDm' der Erkennungseinrichtung 14 und dem Lernmodell LM, ob der n-te Arbeitsvorgang abgeschlossen ist. Wenn der Speicher 66 das Lernmodell LM1 speichert, gibt der Prozessor 64 die kontinuierlichen Erkennungsdaten DDm', die ab dem Start von Schritt S4 von der Erkennungseinrichtung 14 erfasst werden, in das Lernmodell LM1 ein.
  • In Antwort darauf schätzt das Lernmodell LM1 die Labelinformationen LI (d.h. die Anfangsphasen-Labelinformationen LI1, die Zwischenphasen-Labelinformationen LI2 oder die Endphasen-Labelinformationen LI3), die mit den eingegebenen Erkennungsdaten DDm' eine Korrelation aufweisen, und gibt diese aus. Als Beispiel bestimmt der Prozessor 64 in diesem Schritt S5 JA, wenn er erkennt, dass das Lernmodell LM1 die Endphasen-Labelinformationen LI3 ausgibt. Als anderes Beispiel kann der Prozessor 64 JA bestimmen, wenn ab einem Zeitpunkt, zu dem er erkennt, dass das Lernmodell LM die Endphasen-Labelinformationen LI3 ausgibt, eine vorgegebene Zeitspanne verstrichen ist.
  • Wenn der Speicher 66 hingegen das Lernmodell LM2 speichert, gibt der Prozessor 64 in Schritt S5 die kontinuierlichen Erkennungsdaten DDm', die ab dem Start von Schritt S4 von der Erkennungseinrichtung 14 erfasst werden, in das Lernmodell LM2 ein. Wenn beispielsweise die Erkennungsdaten DD1 ' bis DDm_p', die die Bewegung des Arbeiters A beim Durchführen einer Befestigung an den ersten p Befestigungslöchern F zeigen, in das Lernmodell LM2 eingegeben werden, schätzt das Lernmodell LM2 die Zeit t von einem Zeitpunkt, zu dem die Befestigung am p-ten Befestigungsloch F abgeschlossen wird, bis zu einem Zeitpunkt, zu dem der n-te Arbeitsvorgang abgeschlossen wird, und gibt diese aus.
  • Anhand der ausgegebenen Zeit t kann der Prozessor 64 erkennen, wann der n-te Arbeitsvorgang abgeschlossen wird, und den Zeitpunkt bestimmen, zu dem der n-te Arbeitsvorgang abgeschlossen ist. Beispielsweise misst der Prozessor 64 eine Zeit τ, die ab einem Zeitpunkt verstrichen ist, zu dem der Prozessor 64 die Erkennungsdaten DDm_p' erfasst, die die Bewegung des Arbeiters A beim Durchführen der Befestigung am p-ten Befestigungsloch F zeigen, und bestimmt JA, wenn die verstrichene Zeit τ die durch das Lernmodell LM2 ausgegebene Zeit t erreicht (oder einen Zeitpunkt, der um eine vorgegebene Zeitspanne vor der Zeit t liegt).
  • Somit fungiert der Prozessor 64 als Abschlussbestimmungsabschnitt 30, um basierend auf den Erkennungsdaten DDm' und dem Lernmodell LM zu bestimmen, ob der n-te Arbeitsvorgang abgeschlossen ist. Gemäß der vorliegenden Ausführungsform kann der Prozessor 64 den Zeitpunkt, zu dem der n-te Arbeitsvorgang abgeschlossen ist, unter Einsatz des Lernmodells LM genauer bestimmen.
  • Es wird darauf hingewiesen, dass bei den vorstehend beschriebenen Ausführungsformen die Robotersysteme 10 und 60 den Arbeitsvorgang eines einzelnen Arbeiters A unterstützen. Die Robotersysteme 10 oder 60 können jedoch auch dazu eingerichtet werden, die Arbeitsvorgänge mehrerer Arbeiter A zu unterstützen. Eine solche Ausführungsform ist in 13 und 14 dargestellt.
  • Ein in 13 und 14 dargestelltes Robotersystem 80 ist dazu eingerichtet, Arbeitsvorgänge von drei Arbeitern A1, A2 und A3 zu unterstützen. Insbesondere umfasst das Robotersystem 80 den Roboter 12, die Erkennungseinrichtungen 14A, 14B und 14C und die Steuereinrichtung 62. Die Erkennungseinrichtungen 14A, 14B und 14C haben jeweils die gleiche Konfiguration wie die vorstehend beschriebene Erkennungseinrichtung 14. Die Erkennungseinrichtung 14A erkennt die Bewegung des Arbeiters A1, die Erkennungseinrichtung 14B die Bewegung des Arbeiters A2 und die Erkennungseinrichtung 14C die Bewegung des Arbeiters A3.
  • Außerdem sind ein Ablagetisch C1 für den Arbeiter A1, ein Ablagetisch C2 für den Arbeiter A2 und ein Ablagetisch C3 für den Arbeiter A3 an jeweiligen vorgegebenen Positionen in der Arbeitszelle aufgestellt. Die erste Halteeinrichtung D1 und die zweite Halteeinrichtung D2 sind auf jedem der Ablagetische C1, C2 und C3 bereitgestellt.
  • Der Prozessor 64 der Steuereinrichtung 62 des Robotersystems 80 führt den in 3 gezeigten Ablauf für jeden der Arbeiter A1, A2 und A3 parallel durch, um die Objekte (Werkzeuge T) für die Arbeitsvorgänge den Arbeitern A1, A2 und A3 zuzuführen (d.h. den Objektzufuhrvorgang durchzuführen) und die durch die Arbeiter A1, A2 und A3 für die Arbeitsvorgänge verwendeten Objekte abzuholen (Objektabholvorgang).
  • Es wird darauf hingewiesen, dass das im Speicher 66 der Steuereinrichtung 62 des Robotersystems 80 gespeicherte Lernmodell LM (LM1, LM2) ein Lernmodell LM_A (LM1_A, LM2_A), das unter Verwendung der Erkennungsdaten gelernt wird, die durch die die Bewegung des Arbeiters A1 erkennende Erkennungseinrichtung 14A erhalten werden, ein Lernmodell LM_B (LM1_B, LM2_B), das unter Verwendung der Erkennungsdaten gelernt wird, die durch die die Bewegung des Arbeiters A2 erkennende Erkennungseinrichtung 14B erhalten werden, und ein Lernmodell LM_c (LM1_C, LM2_c) umfasst, das unter Verwendung der Erkennungsdaten gelernt wird, die durch die die Bewegung des Arbeiters A3 erkennende Erkennungseinrichtung 14C erhalten werden.
  • Hierbei kann die Art und Reihenfolge des durchzuführenden Arbeitsvorgangs zwischen den Arbeitern A1, A2 und A3 variieren. In diesem Fall unterscheiden sich die in Schritt S1 für die Arbeiter A1, A2 und A3 erfassten Arbeitsinformationen voneinander, wenn der in 3 gezeigte Ablauf für jeden der Arbeiter A1, A2 und A3 parallel durchgeführt wird.
  • Wenn der in 3 gezeigte Ablauf für jeden der Arbeiter A1, A2 und A3 parallel durchgeführt wird, können außerdem die in Schritt S5 durch den Prozessor 64 bestimmten Zeitpunkte, zu denen die Arbeitsvorgänge durch wenigstens zwei Arbeiter A1, A2 und A3 abgeschlossen werden, zeitlich nahe beieinander liegen. In diesem Fall kann der Prozessor 64 die Reihenfolge bestimmen, in der die wenigstens zwei Arbeiter A1, A2 und A3 ihre Arbeitsvorgänge abschließen, und gemäß der Reihenfolge für diese Arbeiter A1, A2, A3 Schritt S8 ausführen.
  • Nachstehend ist ein Fall beschrieben, in dem die Zeitpunkte des Abschlusses der Arbeitsvorgänge durch die Arbeiter A1 und A2 nahe beieinander liegen. Wenn das vorstehend beschriebene Lernmodell LM2 eingesetzt wird, kann der Prozessor 64, wie vorstehend beschrieben, im obigen Schritt S5 die Zeitpunkte schätzen, zu denen die Arbeiter A1 und A2 ihre Arbeitsvorgänge abschließen. Demgemäß kann der Prozessor 64 bestimmen, ob die Zeitpunkte, zu denen die Arbeiter A1 und A2 ihre Arbeitsvorgänge abschließen, nahe beieinander liegen, und außerdem die Reihenfolge bestimmen, in der die Arbeitsvorgänge durch die Arbeiter A1 und A2 abgeschlossen werden.
  • Wenn der Prozessor 64 beispielsweise bestimmt, dass der Arbeiter A1 seinen/ihren Arbeitsvorgang vor dem Arbeiter A2 abschließt, führt der Prozessor 64 Schritt S8 für den Arbeiter A1 und anschließend Schritt S8 für den Arbeiter A2 durch. In diesem Fall kann der Prozessor 64 in Schritt S5 des für den Arbeiter A1 ausgeführten Ablaufs JA bestimmen, wenn die Zeit um die vorgegebene Zeitspanne vor dem Zeitpunkt erreicht wird, zu dem durch das Lernmodell LM2_A geschätzt wird, dass der Arbeitsvorgang abgeschlossen ist.
  • Dagegen kann der Prozessor in Schritt S5 des Ablaufs für den Arbeiter A2 zu dem Zeitpunkt, zu dem das Lernmodell LM2_B schätzt, dass der Arbeitsvorgang abgeschlossen ist, JA bestimmen. Somit kann der Prozessor 64 selbst dann zu verschiedenen Zeitpunkten in der Reihenfolge, in der die Arbeitsvorgänge abgeschlossen werden, Schritt S8 für die Arbeiter A1 und A2 durchführen, wenn die Zeitpunkte, zu denen die Arbeitsvorgänge der Arbeiter A1 und A2 abgeschlossen werden, nahe beieinander liegen.
  • Alternativ kann der Prozessor 64 des Robotersystems 80 ähnlich wie in Schritt S5 des vorstehend beschriebenen Robotersystems 10 überwachen, ob die durch die Erkennungsdaten DDm gezeigte Bewegung des Arbeiters A mit dem Referenzbewegungsmuster übereinstimmt, und bestimmen, dass der n-te Arbeitsvorgang abgeschlossen ist, wenn die Bewegung des Arbeiters A mit dem Referenzbewegungsmuster übereinstimmt. In diesem Fall kann der Prozessor 64, wenn die Zeitpunkte, zu denen die Arbeitsvorgänge durch die Arbeiter A1 und A2 abgeschlossen werden, nahe beieinander liegen, bestimmen, welche der Bewegungen der Arbeiter A1 und A2 zuerst mit dem Referenzbewegungsmuster übereinstimmen.
  • Wenn beispielsweise die Bewegung des Arbeiters A1 vor der Bewegung des Arbeiters A2 mit dem Referenzbewegungsmuster übereinstimmt, wird Schritt S8 zuerst für den Arbeiter A1 und anschließend für den Arbeiter A2 durchgeführt. In diesem Fall bestimmt der Prozessor 64 in Schritt S5 des für den Arbeiter A1 durchgeführten Ablaufs JA, wenn bestimmt wird, dass die Bewegung des Arbeiters A1 mit dem Referenzbewegungsmuster übereinstimmt, und führt Schritt S8 für den Arbeiter A1 durch.
  • Dagegen bestimmt der Prozessor 64 in Schritt S5 des Ablaufs für den Arbeiter A2 JA, nachdem ab dem Zeitpunkt, zu dem der Prozessor 64 bestimmt, dass die Bewegung des Arbeiters A2 mit dem Referenzbewegungsmuster übereinstimmt, eine vorgegebene Zeitspanne verstrichen ist, und führt Schritt S8 für den Arbeiter A2 durch. Dadurch kann der Prozessor 64 zu verschiedenen Zeitpunkten in der Reihenfolge, in der die Arbeitsvorgänge abgeschlossen werden, Schritt S8 für die Arbeiter A1 und A2 durchführen.
  • Durch das vorstehend beschriebene Steuerverfahren können, selbst wenn die Zeitpunkte, zu denen die Arbeitsvorgänge durch wenigstens zwei der Arbeiter A1, A2 und A3 abgeschlossen werden, zeitlich nahe beieinander liegen, Schritt S8 (Objektzufuhrvorgang) und Schritt S9 (Objektabholvorgang) reibungslos für die Arbeiter A1, A2 und A3 durchgeführt werden, ohne die Bewegungen des Roboters 12 oder der Arbeiter A1, A2 und A3 zu unterbrechen.
  • Außerdem kann, da die Objekte effizient durch den Roboter 12 zugeführt werden können, die Betriebsgeschwindigkeit des Roboters 12 erhöht werden. Daher ist es nicht notwendig, mehrere Roboter bereitzustellen, um die Arbeitsvorgänge der jeweiligen Arbeiter A1, A2 und A3 zu unterstützen, und der einzelne Roboter 12 kann die Arbeitsvorgänge der Arbeiter A1, A2 und A3 unterstützen. Dadurch lassen sich die Kosten des Robotersystems 80 reduzieren.
  • Es wird darauf hingewiesen, dass der Prozessor 64 bei dem Robotersystem 80 für jeden der Arbeiter A1, A2 und A3 auch den durch das vorstehend beschriebene Robotersystem 10 durchgeführten Ablauf aus 3 (d.h. den Ablauf, bei dem das Lernmodell LM nicht in Schritt S5 verwendet wird) durchführen kann. In diesem Fall führt der Prozessor 64 den Ablauf aus 3, der das Lernmodell LM nicht verwendet, und den Ablauf aus 3, der das Lernmodell LM verwendet, parallel für die verschiedenen Arbeiter durch. Außerdem kann bei dem Robotersystem 80 die einzelne Erkennungseinrichtung 14 dazu eingerichtet werden, die Bewegungen der Arbeiter A1, A2 und A3 zu erkennen.
  • Bei den vorstehend beschriebenen Ausführungsformen setzt der Roboter 12 in Schritt S8 das n-te Werkzeug Tn auf die erste Halteeinrichtung D1 . Der Roboter 12 kann das n-te Werkzeug Tn jedoch auch direkt dem Arbeiter A (oder A1, A2 oder A3) übergeben.
  • In diesem Fall transportiert die Steuereinrichtung 16 oder 62 (Prozessor 64) in Schritt S8 als Objektzufuhrvorgang das durch den Roboter 12 mit der Roboterhand 26 ergriffene n-te Werkzeug Tn zu einer vorgegebenen Übergabeposition. Die Übergabeposition ist als Position nahe dem Arbeiter A definiert, an der das n-te Werkzeug Tn dem Arbeiter A zu übergeben ist. Die Positionsdaten der Übergabeposition im Roboterkoordinatensystem CR werden vorab im Speicher 66 gespeichert. Der Arbeiter A (oder A1, A2 oder A3) nimmt das in Schritt S8 durch den Roboter 12 in der Übergabeposition angeordnete n-te Werkzeug Tn mit seiner/ihrer Hand H entgegen.
  • In diesem Fall kann der Roboter 12 mit einem Kraftsensor ausgestattet sein, der dazu eingerichtet ist, eine an die Roboterhand 26 angelegte externe Kraft F zu erkennen. Wenn der Arbeiter A (oder A1, A2 oder A3) mit seiner/ihrer Hand H das n-te Werkzeug Tn vom Roboter 12 entgegennimmt, variiert die an die Roboterhand 26 angelegte externe Kraft F. Die Steuereinrichtung 16 oder 62 (Prozessor 64) kann die durch den Kraftsensor erkannte externe Kraft F überwachen und bestimmen, dass der Arbeiter A das n-te Werkzeug Tn entgegennimmt, wenn die externe Kraft F so variiert, dass sie einen vorgegebenen Schwellenwert übersteigt, und dann mit Schritt S9 fortfahren.
  • Bei den vorstehend beschriebenen Ausführungsformen ergreift der Roboter 12 in Schritt S9 das (n-1)-te Werkzeug Tn-1 , das für den zuletzt durchgeführten (n-1)-ten Arbeitsvorgang verwendet wurde und auf die zweite Halteeinrichtung D2 gesetzt ist, und holt es ab. Der Roboter 12 kann das (n-1)-te Werkzeug Tn-1 jedoch auch direkt vom Arbeiter A (oder A1, A2 oder A3) entgegennehmen.
  • In diesem Fall kann der Roboter 12 mit einem Kraftsensor ausgestattet sein, der dazu eingerichtet ist, die an die Roboterhand 26 angelegte externe Kraft F zu erkennen. Dann führt die Steuereinrichtung 16 oder 62 (Prozessor 64) in Schritt S9 den Objektabholvorgang durch, um die Handspitze (TCP) der Roboterhand 26 in der Übergabeposition anzuordnen und dabei die Finger 26a der Roboterhand 26 zu öffnen. Dann bringt der Arbeiter A (oder A1, A2 oder A3) das (n-1)-te Werkzeug zwischen den Fingern 26a der Roboterhand 26 ein und legt über das (n-1)-te Werkzeug Tn-1 die externe Kraft F an die Roboterhand 26 an. Der Kraftsensor erkennt die externe Kraft F zu diesem Zeitpunkt.
  • Die Steuereinrichtung 16 oder 62 (Prozessor 64) schließt die Finger 26a der Roboterhand 26, um das (n-1)-te Werkzeug Tn-1 zu ergreifen, wenn die durch den Kraftsensor erkannte externe Kraft F den vorgegebenen Schwellenwert übersteigt. Somit kann der Roboter 12 das (n-1)-te Werkzeug Tn-1 direkt vom Arbeiter A (oder A1, A2 oder A3) entgegennehmen. Dann transportiert die Steuereinrichtung 16 oder 62 (Prozessor 64) das entgegengenommene (n-1)-te Werkzeug Tn-1 zu der vorgegebenen Position im Aufbewahrungsgestell E.
  • Bei den vorstehend beschriebenen Ausführungsformen erkennt die Erkennungseinrichtung 14 die Bewegung des Arbeiters A (oder A1, A2 oder A3) basierend auf dem Bild des Arbeiters A (oder A1, A2 oder A3) durch optische Bewegungsaufnahme. Die Erkennungseinrichtung kann die Bewegung des Arbeiters A (oder A1, A2 oder A3) jedoch auch durch eine sogenannte Trägheitssensorbewegungsaufnahme erkennen. In diesem Fall umfasst die Erkennungseinrichtung mehrere Beschleunigungssensoren, die an jeweiligen Stellen am Körper des Arbeiters A (oder A1, A2 oder A3) bereitgestellt sind, und erkennt die Bewegung des Arbeiters A (oder A1, A2 oder A3) anhand von Ausgangssignalen der Beschleunigungssensoren.
  • Wenn das Lernmodell LM unter Verwendung einer Erkennungseinrichtung, die solche Beschleunigungssensoren umfasst, durch die Maschinenlernvorrichtung 50 gelernt wird, kann der Prozessor 64 (Lerndatenerfassungsabschnitt 52) als Lerndatensatz DS das Ausgangssignal jedes Beschleunigungssensors als Erkennungsdaten erfassen. Alternativ kann der Prozessor 64 (Lerndatenerfassungsabschnitt 52) als Lerndatensatz DS Erkennungsdaten (Bilddaten) erfassen, die die Bewegung des Arbeiters A (oder A1, A2 oder A3) zeigen und durch das Ausgangssignal jedes Beschleunigungssensors erhalten werden. Darüber hinaus kann die Erkennungseinrichtung eine beliebige Art von Bewegungsaufnahmetechnologie, wie etwa mechanischer oder magnetischer Art, einsetzen.
  • Bei den vorstehend beschriebenen Ausführungsformen fungiert die Steuereinrichtung 16 (Prozessor 64) als Abschlussbestimmungsabschnitt 30 und bestimmt basierend auf den Erkennungsdaten DD der Erkennungseinrichtung 14, ob der n-te Arbeitsvorgang abgeschlossen ist. Der in der Erkennungseinrichtung 14 bereitgestellte Bildverarbeitungsprozessor kann jedoch auch als Abschlussbestimmungsabschnitt 30 fungieren, um basierend auf den Erkennungsdaten DD zu bestimmen, ob der n-te Arbeitsvorgang abgeschlossen ist.
  • Darüber hinaus ist der n-te Arbeitsvorgang bei den vorstehend beschriebenen Ausführungsformen als Befestigung der Befestigungsmittel G an den Befestigungslöchern F1 bis F5 in der Reihenfolge der Befestigungslöcher F1 -> F2 -> F3 -> F4 -> F5 definiert. Die Reihenfolge, in der die Befestigungsmittel G an den Befestigungslöchern F1 bis F5 zu befestigen sind, kann jedoch beliebig sein. Außerdem kann die Anzahl der Befestigungslöcher F1 bis F5 beliebig sein.
  • Darüber hinaus ist der n-te Arbeitsvorgang nicht auf den Befestigungsvorgang beschränkt. Der n-te Arbeitsvorgang kann beispielsweise ein Schweißen (z.B. Punktschweißen) an einem ersten Schweißpunkt, einem zweiten Schweißpunkt,..., einem n-ten Schweißpunkt unter Verwendung des n-ten Werkzeugs, welches ein Schweißbrenner ist, durch den Arbeiter A umfassen. Alternativ kann der n-te Arbeitsvorgang ein Lackieren der Reihe nach in einem ersten Lackierbereich, einem zweiten Lackierbereich, ... und einem n-ten Lackierbereich unter Verwendung des n-ten Werkzeugs, welches ein Lackauftragsgerät ist, durch den Arbeiter A umfassen. Alternativ kann der n-te Arbeitsvorgang ein Verlöten elektronischer Komponenten an einer ersten Montageposition, einer zweiten Montageposition, ... und einer n-ten Montageposition auf einem Substrat unter Verwendung des n-ten Werkzeugs, welches ein Lötkolben ist, durch den Arbeiter A umfassen.
  • Außerdem führt der Roboter 12 bei den vorstehend beschriebenen Ausführungsformen das Werkzeug T als Objekt für den Arbeitsvorgang dem Arbeiter zu und holt es von diesem ab. Als Objekt für den Arbeitsvorgang kann der Roboter 12 jedoch auch eine an einem Produkt anzubringende Komponente (Befestigungsmittel G, wie etwa Bolzen, oder elektronische Komponenten, wie etwa IC-Chips) zuführen und abholen. Darüber hinaus ist die Roboterhand 26 nicht auf eine Hand beschränkt, die dazu eingerichtet ist, das Objekt mit den Fingern 26a zu ergreifen, sondern kann einen Ansaugabschnitt umfassen, der dazu eingerichtet ist, das Objekt anzusaugen. Außerdem ist der Roboter 12 nicht auf den vertikalen Knickarmtyp beschränkt, sondern kann ein beliebiger Typ von Roboter sein, wie etwa ein horizontaler Knickarmroboter oder ein Parallel-Link-Roboter. Obgleich die vorliegende Offenbarung anhand der vorstehenden Ausführungsformen beschrieben ist, sollen die vorstehenden Ausführungsformen die beanspruchte Erfindung nicht einschränken.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2018058178 A [0002]

Claims (8)

  1. Robotersystem (10), das dazu eingerichtet ist, einen durch einen Arbeiter (A) durchgeführten Arbeitsvorgang zu unterstützen, wobei das Robotersystem umfasst: einen Roboter (12), eine Erkennungseinrichtung (14), die dazu eingerichtet ist, eine Bewegung des Arbeiters (A) zu erkennen, wenn der Arbeiter (A) einen vorgegebenen Arbeitsvorgang durchführt, einen Abschlussbestimmungsabschnitt (28), der dazu eingerichtet ist, basierend auf Erkennungsdaten der Erkennungseinrichtung (14) zu bestimmen, ob der Arbeitsvorgang abgeschlossen ist, und eine Robotersteuereinrichtung (30), die dazu eingerichtet ist, wenn der Abschlussbestimmungsabschnitt (28) bestimmt, dass der Arbeitsvorgang abgeschlossen ist, den Roboter (12) zu veranlassen, Folgendes durchzuführen: einen Objektzufuhrvorgang zum Transportieren eines Objekts für den Arbeitsvorgang zu einer vorgegebenen Position, um das Objekt dem Arbeiter (A) zuzuführen, oder einen Objektabholvorgang, um das Objekt, das für den Arbeitsvorgang verwendet wurde, abzuholen und es zu einem vorgegebenen Aufbewahrungsort zu transportieren.
  2. Robotersystem (10) nach Anspruch 1, wobei der Abschlussbestimmungsabschnitt (28) dazu eingerichtet ist: anhand der Erkennungsdaten zu überwachen, ob ein Abstand zwischen dem Arbeiter (A) und einer Arbeitsposition gleich oder kleiner als ein vorgegebener Schwellenwert ist, und zu bestimmen, dass der Arbeitsvorgang abgeschlossen ist, wenn der Abstand gleich oder kleiner als der Schwellenwert ist.
  3. Robotersystem (10) nach Anspruch 1, wobei der Abschlussbestimmungsabschnitt (28) dazu eingerichtet ist: zu überwachen, ob die durch die Erkennungseinrichtung (14) erkannte Bewegung mit einem als Referenzbewegung des Arbeiters vorgegebenen Referenzbewegungsmuster übereinstimmt, wenn der Arbeiter den Arbeitsvorgang durchführt, und zu bestimmen, dass der Arbeitsvorgang abgeschlossen ist, wenn die Bewegung mit dem Referenzbewegungsmuster übereinstimmt.
  4. Robotersystem (10) nach Anspruch 1, wobei der Abschlussbestimmungsabschnitt (28) dazu eingerichtet ist, ferner basierend auf einem Lernmodell, das eine Korrelation zwischen der Bewegung und einer Phase des Arbeitsvorgangs oder einer für den Arbeitsvorgang erforderlichen Zeit darstellt, zu bestimmen, ob der Arbeitsvorgang abgeschlossen ist.
  5. Robotersystem (10) nach einem der Ansprüche 1 bis 4, wobei die Robotersteuereinrichtung (30) nach dem Durchführen des Objektzufuhrvorgangs den Roboter (12) veranlasst, den Objektabholvorgang durchzuführen, um das für den zuletzt durchgeführten Arbeitsvorgang verwendete Objekt abzuholen und es zu dem vorgegebenen Aufbewahrungsort zu transportieren.
  6. Verfahren zum Steuern eines Roboters (12), der dazu eingerichtet ist, einen durch einen Arbeiter (A) durchgeführten Arbeitsvorgang zu unterstützen, wobei das Verfahren umfasst: Erkennen einer Bewegung des Arbeiters (A) durch eine Erkennungseinrichtung (14), wenn der Arbeiter (A) einen vorgegebenen Arbeitsvorgang durchführt, Bestimmen, ob der Arbeitsvorgang abgeschlossen ist, basierend auf Erkennungsdaten der Erkennungseinrichtung (14), und wenn bestimmt wird, dass der Arbeitsvorgang abgeschlossen ist, Veranlassen des Roboters (12) Folgendes durchzuführen: einen Objektzufuhrvorgang zum Transportieren eines Objekts für den Arbeitsvorgang zu einer vorgegebenen Position, um das Objekt dem Arbeiter (A) zuzuführen, oder einen Objektabholvorgang, um das Objekt, das für den Arbeitsvorgang verwendet wurde, abzuholen und es zu einem vorgegebenen Aufbewahrungsort zu transportieren.
  7. Maschinenlernvorrichtung (50), die dazu eingerichtet ist, einen Zeitpunkt zu lernen, zu dem ein durch einen Arbeiter durchgeführter Arbeitsvorgang abgeschlossen ist, wobei die Maschinenlernvorrichtung umfasst: einen Lerndatenerfassungsabschnitt (52), der dazu eingerichtet ist, Erkennungsdaten einer Erkennungseinrichtung (14), die dazu eingerichtet ist, eine Bewegung des Arbeiters (A) zu erkennen, wenn der Arbeiter (A) einen vorgegebenen Arbeitsvorgang durchführt, und Labelinformationen, die eine Phase des Arbeitsvorgangs oder eine für den Arbeitsvorgang erforderliche Zeit angeben, als Lerndatensatz zu erfassen, und einen Lernabschnitt (54), der dazu eingerichtet ist, unter Verwendung des Lerndatensatzes ein Lernmodell zu erzeugen, das eine Korrelation zwischen der Bewegung und der Phase oder der Zeit darstellt.
  8. Maschinenlernverfahren zum Lernen eines Zeitpunkts, zu dem ein durch einen Arbeiter (A) durchgeführter Arbeitsvorgang abgeschlossen ist, wobei das Maschinenlernverfahren umfasst: Erfassen von Erkennungsdaten einer Erkennungseinrichtung (14), die dazu eingerichtet ist, eine Bewegung des Arbeiters (A) zu erkennen, wenn der Arbeiter (A) einen vorgegebenen Arbeitsvorgang durchführt, und Labelinformationen, die eine Phase des Arbeitsvorgangs oder eine für den Arbeitsvorgang erforderliche Zeit angeben, als Lerndatensatz, und Erzeugen eines Lernmodells, das eine Korrelation zwischen der Bewegung und der Phase oder der Zeit darstellt, unter Verwendung der Lerndaten.
DE102020124379.0A 2019-09-26 2020-09-18 Robotersystem, das einen Arbeitsvorgang eines Arbeiters unterstützt, Steuerverfahren, Maschinenlernvorrichtung und Maschinenlernverfahren Pending DE102020124379A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-176122 2019-09-26
JP2019176122A JP7448327B2 (ja) 2019-09-26 2019-09-26 作業員の作業を補助するロボットシステム、制御方法、機械学習装置、及び機械学習方法

Publications (1)

Publication Number Publication Date
DE102020124379A1 true DE102020124379A1 (de) 2021-04-01

Family

ID=74872805

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020124379.0A Pending DE102020124379A1 (de) 2019-09-26 2020-09-18 Robotersystem, das einen Arbeitsvorgang eines Arbeiters unterstützt, Steuerverfahren, Maschinenlernvorrichtung und Maschinenlernverfahren

Country Status (4)

Country Link
US (1) US12017358B2 (de)
JP (2) JP7448327B2 (de)
CN (1) CN112549014A (de)
DE (1) DE102020124379A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113268431B (zh) * 2021-06-24 2022-08-19 深圳市凯莱特科技股份有限公司 一种rpa机器人软件的学习方法
WO2024085159A1 (ja) * 2022-10-18 2024-04-25 ソフトバンクグループ株式会社 作業ロボット調整方法、センシングシステム、センシング方法、移動式ロボット、動作改変システム、動作改変方法、作業ロボット、作業再現システム、作業再現方法、作業習熟システム、作業習熟方法及び作業再現ロボット

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101483713B1 (ko) 2008-06-30 2015-01-16 삼성전자 주식회사 모션 캡쳐 장치 및 모션 캡쳐 방법
JP2010264559A (ja) 2009-05-15 2010-11-25 Seiko Epson Corp ロボットの制御方法
JP5062774B2 (ja) * 2009-05-21 2012-10-31 トヨタ自動車東日本株式会社 作業訓練システム及び作業訓練方法並びに該作業訓練方法を記録した記録媒体
JP5260673B2 (ja) * 2009-05-22 2013-08-14 トヨタ自動車東日本株式会社 作業支援ロボットシステム
JP6344084B2 (ja) * 2014-06-20 2018-06-20 オムロン株式会社 ロボット操作用の作業者端末
JP6494331B2 (ja) * 2015-03-03 2019-04-03 キヤノン株式会社 ロボット制御装置およびロボット制御方法
JP6821374B2 (ja) * 2016-10-06 2021-01-27 川崎重工業株式会社 ロボットシステム及びその運転方法
JP6662746B2 (ja) 2016-10-07 2020-03-11 ファナック株式会社 機械学習部を備えた作業補助システム
JP6487489B2 (ja) * 2017-05-11 2019-03-20 ファナック株式会社 ロボット制御装置及びロボット制御プログラム
US11556879B1 (en) * 2017-06-12 2023-01-17 Amazon Technologies, Inc. Motion data driven performance evaluation and training
US10404851B2 (en) * 2017-07-07 2019-09-03 Tile, Inc. Task completion in a tracking device environment
WO2019097676A1 (ja) 2017-11-17 2019-05-23 三菱電機株式会社 3次元空間監視装置、3次元空間監視方法、及び3次元空間監視プログラム
EP3696772A3 (de) * 2019-02-14 2020-09-09 Denso Wave Incorporated Vorrichtung und verfahren zum analysieren des zustands der handarbeit eines werkers und arbeitsanalyseprogramm
US20200265363A1 (en) * 2019-02-15 2020-08-20 Wipro Limited Method and system for determining working condition of a worker performing qualitative evaluation of products

Also Published As

Publication number Publication date
US20210094175A1 (en) 2021-04-01
JP2021053708A (ja) 2021-04-08
JP7448327B2 (ja) 2024-03-12
US12017358B2 (en) 2024-06-25
CN112549014A (zh) 2021-03-26
JP2024023873A (ja) 2024-02-21

Similar Documents

Publication Publication Date Title
DE112019002310B4 (de) Ausführen einer &#34;peg in hole&#34;-aufgabe mit unbekannter neigung
DE102017008836B4 (de) Maschinelle Lernvorrichtung und maschinelles Lernverfahren zum Lernen eines optimalen Objekt-Greifwegs
DE102018006465B4 (de) Artikelstapelvorrichtung und maschinelle Lernvorrichtung
DE102016009030B4 (de) Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
DE102014108287B4 (de) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE102010021607B4 (de) Kontaktzustandsschätzung für Roboterhände mit mehreren Fingern unter Verwendung von Partikel-Filtern
DE102017128543B4 (de) Störbereich-einstellvorrichtung für einen mobilen roboter
DE102019216229B4 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE112017007397B4 (de) Steuervorrichtung, Greifsystem, Verteilersystem, Programm, Steuerverfahren und Herstellungsverfahren
DE102019109624B4 (de) Roboterbewegungseinlernvorrichtung, Robotersystem und Robotersteuerung
DE112017007392B4 (de) Steuervorrichtung, Greifsystem, Verteilersystem, Programm, Steuerverfahren und Herstellungsverfahren
DE102017124423B4 (de) Simulationsvorrichtung und simulationsverfahren zum simulieren einer operation eines roboters
DE102017128652A1 (de) Robotersystem mit einer mehrzahl von robotern, robotersteuerung und robotersteuerverfahren
DE112017007399B4 (de) Steuervorrichtung, Greifsystem, Verteilersystem, Programm, Steuerverfahren und Herstellungsverfahren
DE102020124379A1 (de) Robotersystem, das einen Arbeitsvorgang eines Arbeiters unterstützt, Steuerverfahren, Maschinenlernvorrichtung und Maschinenlernverfahren
DE112011103794T5 (de) Aufnehmervorrichtung für Werkstücke
DE102018005199B4 (de) Bauteilzuführvorrichtung und maschinelle lernvorrichtung
DE102019002928B4 (de) Simulationsvorrichtung für Roboter
DE102020115631A1 (de) Maschinenlernvorrichtung, Robotersystem und Maschinenlernverfahren zum Lernen eines Zustands eines Werkzeugs
DE112017007394B4 (de) Informationsverarbeitungsvorrichtung, Greifsystem, Verteilersystem, Programm und Informationsverarbeitungsverfahren
DE102020001708A1 (de) Vorrichtung, Verfahren und Programm zur Schätzung eines Gewichts und einer Position des Schwerpunkts einer Last unter Verwendung eines Roboters
DE102019007186B4 (de) Robotersystem und Robotersteuerungsverfahren für kooperatives Arbeiten mit Menschen
DE102018002423A1 (de) Robotersteuerung, Vorrichtung für maschinelles Lernen und Verfahren für maschinelles Lernen
DE102020003517A1 (de) Überwachungsvorrichtung, die mit einer Kamera zum Erfassen eines bewegten Bildes einer Bewegung der Robotervorrichtung ausgestattet ist
DE112017007903B4 (de) Haltepositions- und Orientierungslehreinrichtung, Haltepositions- und Orientierungslehrverfahren und Robotersystem

Legal Events

Date Code Title Description
R012 Request for examination validly filed