DE102018000730B4 - Werkstückaufnahmevorrichtung und Werkstückaufnahmeverfahren zum Verbessern des Aufnahmevorgangs eines Werkstücks - Google Patents

Werkstückaufnahmevorrichtung und Werkstückaufnahmeverfahren zum Verbessern des Aufnahmevorgangs eines Werkstücks Download PDF

Info

Publication number
DE102018000730B4
DE102018000730B4 DE102018000730.9A DE102018000730A DE102018000730B4 DE 102018000730 B4 DE102018000730 B4 DE 102018000730B4 DE 102018000730 A DE102018000730 A DE 102018000730A DE 102018000730 B4 DE102018000730 B4 DE 102018000730B4
Authority
DE
Germany
Prior art keywords
state
charge
unit
workpieces
robot
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.)
Active
Application number
DE102018000730.9A
Other languages
English (en)
Other versions
DE102018000730A1 (de
Inventor
Takefumi GOTOU
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 DE102018000730A1 publication Critical patent/DE102018000730A1/de
Application granted granted Critical
Publication of DE102018000730B4 publication Critical patent/DE102018000730B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/402Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for positioning, e.g. centring a tool relative to a hole in the workpiece, additional detection means to correct position
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • 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
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • 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/32Operator till task planning
    • G05B2219/32334Use of reinforcement learning, agent acts, receives reward
    • 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/39298Trajectory learning
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40053Pick 3-D object from pile of objects
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40528Ann for learning robot contact surface shape
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40594Two range sensors for recognizing 3-D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/46Sensing device
    • Y10S901/47Optical

Landscapes

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

Abstract

Werkstückaufnahmevorrichtung, umfassend:
einen Sensor (2), der eine Mehrzahl von Werkstücken (4, 4a bis 4d) misst, die in einem dreidimensionalen Raum wahllos gestapelt sind;
einen Roboter (1), der die Werkstücke (4, 4a bis 4d) hält;
eine Hand (10), die an dem Roboter (1) montiert ist, wobei die Hand (10) zum Halten der Werkstücke (4, 4a bis 4d) fähig ist;
eine Einheit (31a) zum Berechnen einer Haltepositionslage (31), die Haltepositionslagedaten einer Position und einer Lage zum Halten der Werkstücke (4, 4a bis 4d) durch den Roboter (1) auf der Grundlage einer Ausgabe des Sensors (2) berechnet;
eine Einheit (32) zum Generieren eines Vorgangs zum Verbessern eines Ladezustands, die Daten (32a) über einen Vorgang zum Verbessern eines Ladezustands eines Vorgangs zum Verbessern eines Ladezustands der Werkstücke (4, 4a bis 4d) durch den Roboter (1) auf der Grundlage einer Ausgabe des Sensors (2) generiert;
eine Robotersteuereinheit (30), die den Roboter (1) und die Hand (10) steuert,
eine Einheit (33) zum Ausgeben von Vorgangskandidaten, welche die mindestens eine Einheit (31) zum Berechnen einer Haltepositionslage und die mindestens eine Einheit (32) zum Generieren eines Vorgangs zum Verbessern eines Ladezustands umfasst und mindestens einen Vorgangskandidaten ausgibt; und
eine Vorgangsbestimmungseinheit (34), die einen Vorgang aus dem mindestens einen Vorgangskandidaten bestimmt, der von der Einheit (33) zum Ausgeben von Vorgangskandidaten ausgegeben wird, und den Roboter (1) über die Robotersteuereinheit (30) auf der Grundlage des bestimmten Vorgangs steuert,
wobei die Robotersteuereinheit (30) den Roboter (1) und die Hand (10) auf der Grundlage einer Ausgabe der Einheit (31) zum Berechnen einer Haltepositionslage und der Einheit (32) zum Generieren eines Vorgangs zum Verbessern eines Ladezustands steuert, um die Werkstücke (4, 4a bis 4d) aufzuheben oder einen Vorgang zum Verbessern eines Ladezustands auszuführen, wobei
die Vorgangsbestimmungseinheit (34) eine erste maschinelle Lernvorrichtung (6) umfasst, die ein maschinelles Lernen ausführt, um eine Vorgangsbestimmung zum Bestimmen eines Vorgangs aus mindestens einem Vorgangskandidaten, der durch die Einheit (33) zum Ausgeben von Vorgangskandidaten ausgegeben wird, umfasst, und die erste maschinelle Lernvorrichtung (6) umfasst:
eine erste Zustandsbeobachtungseinheit (61), die als Zustandsdaten Messdaten, die durch den Sensor (2) erzielt werden, Haltepositionslagedaten (31a) basierend auf einer Ausgabe der mindestens einen Einheit (31) zum Berechnen einer Haltepositionslage, und Daten über einen Vorgang zum Verbessern eines Ladezustands (32a) basierend auf einer Ausgabe der mindestens einen Einheit (32) zum Generieren eines Vorgangs zum Verbessern eines Ladezustands beobachtet;
eine erste Einheit (62) zum Erzielen von Bestimmungsdaten, die als Bestimmungsdaten Zeitdaten bezüglich der Handhabung, wobei es sich um eine Reihe von Vorgängen des Aufnehmens der Werkstücke (4, 4a bis 4d) durch den Roboter (1) und die Hand (10) handelt, erzielt; und
eine erste Lerneinheit (63), die eine Vorgangsbestimmung zum Bestimmen eines Vorgangs aus mindestens einem Vorgangskandidaten, der durch die Einheit (33) zum Ausgeben von Vorgangskandidaten ausgegeben wird, auf der Grundlage der Zustandsdaten, die durch die erste Zustandsbeobachtungseinheit (61) erzielt werden, und der Bestimmungsdaten, die durch die erste Einheit (62) zum Erzielen von Bestimmungsdaten erzielt werden, erlernt.

Description

  • Die vorliegende Erfindung betrifft eine Werkstückaufnahmevorrichtung und ein Werkstückaufnahmeverfahren zum Verbessern eines Aufnahmevorgangs von Werkstücken.
  • Herkömmlicherweise wurde eine Vorrichtung, die Artikel aufnimmt, die in einer Lagereinrichtung, wie etwa einem Behälter (in einem dreidimensionalen Raum wahllos gestapelte Werkstücke), durch einen Roboter wahllos gestapelt werden, auf diversen Gebieten verwendet. Bei einer derartigen Werkstückaufnahmevorrichtung ist beispielsweise ein stabiler Vorgang, bis das letzte Werkstück aufgehoben wurde, im Allgemeinen schwierig.
  • Dies ist beispielsweise der Fall, weil es, obwohl zur Aufnahme von Werkstücken (Artikeln) ein Vorgang des Vorbewegens einer Hand eines Roboters zu den Werkstücken (Vorbewegungsvorgang) ausgeführt wird, zu einer Störung der Hand mit der Lagereinrichtung oder anderen Werkstücken kommt, und es dadurch zu einem Zustand kommt, in dem die aufzuhebenden Werkstücke nicht gehalten werden. Wenn ferner beispielsweise eine Aufnahmeverarbeitung ausgeführt wird, während die Werkstücke in einer vorgegebenen Halteart gehalten werden, kommt es auch häufig zu einem Fall, bei dem eine derartige vorgegebene Halteart mit Bezug auf die Werkstücke, die eine dreidimensional wahlfreie Lage aufweisen, nicht erreicht wird. Insbesondere wenn nur eine Art des Haltens von Werkstücken vorgegeben ist, falls eine Oberfläche, die gehalten werden soll, nach unten zeigt, wird das Halten der Werkstücke in der vorgegebenen Halteart schwierig.
  • Somit kommt es bei der Werkstückaufnahmevorrichtung (Zufallsstapelaufnahmesystem) häufig zu einem Fall, bei dem die Werkstücke, obwohl sie in der Lagereinrichtung bleiben, nicht mehr aufgehoben werden können.
  • Im Übrigen offenbart bisher das Dokument JP 2013-052 490 A eine Werkstückaufnahmevorrichtung, bei der ein Fehlschlagen der Aufnahme aus einer Mehrzahl von Werkstücken reduziert wird und auch ein Wiederversuchsvorgang reduziert wird, wobei die Werkstückaufnahmevorrichtung ausgelegt ist, um das leichte Halten eines Teils von Werkstücken, die durch einen Sensor gemessen werden, auf der Grundlage einer Information über Erfolg oder Fehlschlagen bei der Aufnahme in der Vergangenheit, die in einer Datenbank gespeichert ist, zu schätzen und bevorzugt Werkstücke nicht zu halten, die anscheinend schwierig zu halten sind, um jedoch mindestens eines von einem Öffnungs-/Schließbetrag, einer Betriebsgeschwindigkeit und einer Haltekraft einer Hand anzupassen, um einen sorgfältigeren Aufnahmevorgang auszuführen, wenn es keine anderen Werkstücke gibt, die aussehen, als ob man sie halten könnte.
  • Ferner offenbart bisher das Dokument JP 2016-132 086 A eine Werkstückzuführtechnik zum Verbessern der Wahrscheinlichkeit des Haltens von wahllos gestapelten Werkstücken und zum Verbessern einer Erfolgsrate eines Vorgangs in einem nachfolgenden Schritt, wobei die Werkstückzuführtechnik Messdaten, in denen wahllos gestapelte Werkstücke gemessen werden, mit Formdaten von Werkstücken, die im Voraus gespeichert sind, vergleicht, um eine Position und eine Lage der Werkstücke zu berechnen, zu haltende Werkstücke auf der Grundlage der berechneten Position der Werkstücke auswählt und eine Position und eine Lage der ausgewählten Werkstücke mit einer Mehrzahl von Haltelagen, die eine berechnete Positionsbeziehung zwischen den Werkstücken und einem Haltemechanismus angeben, derart verknüpft, dass das Zuführen der Werkstücke zu einem Zuführziel möglich ist, um eine Haltelage der Werkstücke zu bestimmen.
  • Das Dokument DE 10 2012 024 328 B4 offenbart eine Entnahmevorrichtung zum Entnehmen eines Artikels aus einem Container. Die Entnahmevorrichtung ist in der Lage eine Stellung des zu entnehmenden Artikels zu verändern, wenn der Container die Roboterhand so stört, dass diese den Artikel anfangs nicht entnehmen kann.
  • Das Dokument DE 11 2012 002 677 T5 offenbart eine Bauelementzuführvorrichtung, welche Bauelemente aus einer Massenartikelkiste herausnimmt und in einer bestimmten Position und Ausrichtung ausgibt. Dies wird durch mehrere Gelenkarmroboter, Sensoren und einem Tisch zur temporären Zwischenablage bewerkstelligt.
  • Das Dokument EP 1 589 483 B1 offenbart ein System zum Aufnehmen von einem Objekt aus einer Vielzahl von in zumindest teilweise einander überlappender Weise angeordneten Objekten. Das System erfasst, ob und wie das aufzunehmende Objekt überlappt wird und führt eine bestimmte Aufnahmebewegung dementsprechend aus, wenn das aufzunehmende Objekt bereits festgehalten wird.
  • Das Dokument JP 2014-138 964 A offenbart eine Roboterhandsteuervorrichtung, welche eine Roboterhand steuert, um ein Objekt aufzunehmen. Wenn das aufzunehmende Objekt so liegt, dass es nicht direkt von der Roboterhand aufgenommen werden kann, steuert die Roboterhandsteuervorrichtung die Roboterhand in so einer Weise, dass die Roboterhand das Objekt so rollt, dass es danach aufgenommen werden kann.
  • Das Dokument JP 2012-135 820 A offenbart eine automatische Aufnahmevorrichtung, welche Höheninformationen von Objekten erlangt und bestimmt, ob diese Höheninformation eine Tolerant übersteigt. Wenn die Toleranz überstiegen wird, bewegt die Aufnahmevorrichtung das am höchsten liegende Objekt.
  • Das Dokument JP 2001-179 669 A offenbart einen Knickarmroboter, welcher zum Aufnehmen von Objekten aus einer Box eingerichtet ist. Wenn der Knickarmroboter ein Objekt nicht richtig greift, führt er eine Rückzugsbewegung zu der Mitte der Box aus.
  • Ferner offenbart bisher beispielsweise die japanische Patent-Auslegeschrift Nr. JP 2012-183 616 A eine Werkstückzuführtechnik zur Aufnahme, um eine Position und eine Lage von wahllos gestapelten Werkstücken zuverlässig zu ändern und einen neuen Zufallsstapelzustand zu generieren, in dem ein Vorsprungsabschnitt von einem unteren Abschnitt zu einer nach oben gerichteten inneren Seite eines Behälterkörpers, der nach oben offen ist und in dem eine Mehrzahl von Werkstücken wahllos gestapelt sein kann, vor und zurück bewegbar bereitgestellt wird, und der Vorsprungsabschnitt wird vor und zurück bewegbar betätigt, um die Werkstücke nacheinander durch eine Roboterhand, die an einem Roboter montiert ist, aufzuheben.
  • Wenn jedoch beispielsweise bei der zuvor beschriebenen Werkstückaufnahmevorrichtung ein Teil von anderen Werkstücken auf einem aufzuhebenden Werkstück liegt, ist es schwierig, eine derartige Situation zu verbessern, um das Werkstück aufzuheben, und somit sind die Wirkungen eingeschränkt. Um zudem eine Verknüpfung mit einer Mehrzahl von Haltelagen auszuführen, entsteht die Notwendigkeit, Kandidaten in einer großen Anzahl von Haltelagen vorzubereiten, was somit unrealistisch ist. Um ferner beispielsweise den Vorsprungsabschnitt des Behälterkörpers vor und zurück bewegbar zu betätigen, muss ein spezieller Hardware-Mechanismus bereitgestellt werden, um die Ausführung eines derartigen Vorgangs zu erlauben, und falls die Werkstücke schwere Artikel sind, kommt es auch zu einem Fall, bei dem es schwierig ist, den Vorsprungsabschnitt vor und zurück bewegbar zu betätigen.
  • Somit wurden bisher diverse Werkstückaufnahmevorrichtungen vorgeschlagen, bei denen das Problem bestand, dass es schwierig war, wahllos gestapelte Werkstücke zufriedenstellend aufzuheben, oder dass ein spezieller Hardware-Mechanismus bereitgestellt werden musste.
  • Eine Aufgabe der vorliegenden Erfindung besteht darin, zu versuchen, eine Werkstückaufnahmevorrichtung und ein Werkstückaufnahmeverfahren bereitzustellen, welche die Anzahl von schwer aufzunehmenden Werkstücken reduzieren können.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung wird eine Werkstückaufnahmevorrichtung bereitgestellt, umfassend einen Sensor, der eine Mehrzahl von wahllos gestapelten Werkstücken in einem dreidimensionalen Raum misst; einen Roboter, der die Werkstücke hält; eine Hand, die an dem Roboter montiert ist, wobei die Hand zum Halten von Werkstücken fähig ist; eine Einheit zum Berechnen einer Haltepositionslage, die Haltepositionslagedaten einer Position und einer Lage, um die Werkstücke durch den Roboter zu halten, auf der Grundlage einer Ausgabe des Sensors berechnet; eine Einheit zum Generieren eines Vorgangs zum Verbessern eines Ladezustands, die Daten über einen Vorgang zum Verbessern eines Ladezustands eines Vorgangs zum Verbessern eines Ladezustands der Werkstücke durch den Roboter auf der Grundlage einer Ausgabe des Sensors generiert; und eine Robotersteuereinheit, die den Roboter und die Hand steuert, wobei die Robotersteuereinheit den Roboter und die Hand auf der Grundlage einer Ausgabe der Einheit zum Berechnen einer Haltepositionslage und der Einheit zum Generieren eines Vorgangs zum Verbessern eines Ladezustands steuert, um die Werkstücke aufzuheben oder einen Vorgang zum Verbessern eines Ladezustands auszuführen.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird ein Werkstückaufnahmeverfahren einer Werkstückaufnahmevorrichtung bereitgestellt, wobei die Werkstückaufnahmevorrichtung einen Sensor, der eine Mehrzahl von wahllos gestapelten Werkstücken in einem dreidimensionalen Raum misst, einen Roboter, der die Werkstücke hält, und eine Hand, die an dem Roboter montiert ist, wobei die Hand zum Halten von Werkstücken fähig ist, umfasst, wobei das Werkstückaufnahmeverfahren das Berechnen von Haltepositionslagedaten einer Position und einer Lage, um die Werkstücke durch den Roboter zu halten, auf der Grundlage einer Ausgabe des Sensors; das Generieren von Daten über einen Vorgang zum Verbessern eines Ladezustands eines Vorgangs zum Verbessern eines Ladezustands der Werkstücke durch den Roboter auf der Grundlage einer Ausgabe des Sensors; und das Steuern des Roboters und der Hand auf der Grundlage der Haltepositionslagedaten und der Daten über einen Vorgang zum Verbessern eines Ladezustands, um die Werkstücke aufzuheben oder einen Vorgang zum Verbessern eines Ladezustands auszuführen, umfasst.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird eine Werkstückaufnahmevorrichtung bereitgestellt, umfassend einen Sensor, der eine Mehrzahl von Werkstücken misst, die in einem dreidimensionalen Raum wahllos gestapelt sind; einen Roboter, der die Werkstücke hält; eine Hand, die an dem Roboter montiert ist, wobei die Hand zum Halten der Werkstücke fähig ist; eine Einheit zum Berechnen einer Haltepositionslage, die Haltepositionslagedaten einer Position und einer Lage zum Halten der Werkstücke durch den Roboter auf der Grundlage einer Ausgabe des Sensors berechnet; eine Einheit zum Generieren eines Vorgangs zum Verbessern eines Ladezustands, die Daten über einen Vorgang zum Verbessern eines Ladezustands eines Vorgangs zum Verbessern eines Ladezustands der Werkstücke durch den Roboter auf der Grundlage einer Ausgabe des Sensors generiert; eine Robotersteuereinheit, die den Roboter und die Hand steuert, wobei die Robotersteuereinheit den Roboter und die Hand auf der Grundlage einer Ausgabe der Einheit zum Berechnen einer Haltepositionslage und der Einheit zum Generieren eines Vorgangs zum Verbessern eines Ladezustands steuert, um die Werkstücke aufzuheben oder einen Vorgang zum Verbessern eines Ladezustands auszuführen, wobei die Einheit zum Generieren eines Vorgangs zum Verbessern eines Ladezustands eine zweite maschinelle Lernvorrichtung umfasst, die ein maschinelles Lernen ausführt, um einen Vorgang zum Verbessern eines Ladezustands der Werkstücke durch den Roboter zu erlernen, und die zweite maschinelle Lernvorrichtung umfasst: eine zweite Zustandsbeobachtungseinheit, die als Zustandsdaten Messdaten jedes der Werkstücke basierend auf einer Ausgabe des Sensors und die Haltepositionslagedaten jedes der Werkstücke basierend auf einer Ausgabe der Einheit zum Berechnen einer Haltepositionslage beobachtet; eine zweite Einheit zum Erzielen von Bestimmungsdaten, die als Bestimmungsdaten erzielt, ob sich in Ladezustand vor oder nach einem Vorgang zum Verbessern eines Ladezustands der Werkstücke ändert oder nicht, basierend auf den Messdaten und den Haltepositionslagedaten jedes der Werkstücke, nachdem ein Vorgang zum Verbessern eines Ladezustands der Werkstücke ausgeführt wurde; und eine zweite Lerneinheit, die eine Ausgabe von der zweiten Zustandsbeobachtungseinheit und eine Ausgabe von der zweiten Einheit zum Erzielen von Bestimmungsdaten empfängt, und einen Vorgang zum Verbessern eines Ladezustands der Werkstücke erlernt.
  • Die vorliegende Erfindung wird mit Bezug auf die folgenden beiliegenden Zeichnungen besser verständlich werden. Es zeigen:
    • 1 ein Diagramm, das schematisch ein Beispiel einer Werkstückaufnahmevorrichtung abbildet;
    • 2A, 2B und 2C Diagramme zum Erläutern eines Beispiels eines Vorgangs der Werkstückaufnahmevorrichtung, wie in 1 abgebildet;
    • 3 ein Blockdiagramm, das schematisch eine Werkstückaufnahmevorrichtung gemäß einer ersten Ausführungsform abbildet;
    • 4A, 4B und 4C sind Diagramme zum Erläutern eines Beispiels eines Vorgangs der Werkstückaufnahmevorrichtung, wie in 3 abgebildet;
    • 5 ein Ablaufschema zum Erläutern eines Beispiels einer Werkstückaufnahmeverarbeitung der Werkstückaufnahmevorrichtung gemäß der ersten Ausführungsform;
    • 6 ein Blockdiagramm, das eine Werkstückaufnahmevorrichtung gemäß einer zweiten Ausführungsform abbildet;
    • 7 ein Diagramm, das schematisch ein Modell für ein Neuron abbildet;
    • 8 ein Diagramm, das schematisch ein dreischichtiges neuronales Netzwerk abbildet, das durch Kombinieren der Neuronen gebildet wird, wie in 7 abgebildet;
    • 9 ein Ablaufschema zum Erläutern eines Beispiels einer Werkstückaufnahmeverarbeitung der Werkstückaufnahmevorrichtung gemäß der zweiten Ausführungsform;
    • 10 ein Blockdiagramm, das eine Werkstückaufnahmevorrichtung gemäß einer dritten Ausführungsform abbildet;
    • 11 ein Blockdiagramm, das die Werkstückaufnahmevorrichtung gemäß der dritten Ausführungsform abbildet;
    • 12 ein Ablaufschema (Nr. 1) zum Erläutern eines Beispiels einer Werkstückaufnahmeverarbeitung der Werkstückaufnahmevorrichtung gemäß der dritten Ausführungsform; und
    • 13 ein Ablaufschema (Nr. 2) zum Erläutern eines Beispiels einer Werkstückaufnahmeverarbeitung der Werkstückaufnahmevorrichtung gemäß der dritten Ausführungsform.
  • Bevor die Ausführungsformen einer Werkstückaufnahmevorrichtung und eines Werkstückaufnahmeverfahrens ausführlich beschrieben werden, wird zunächst ein Beispiel einer Werkstückaufnahmevorrichtung und ein Problem derselben mit Bezug auf 1 und 2A bis 2C beschrieben. 1 ist ein Diagramm, das schematisch ein Beispiel der Werkstückaufnahmevorrichtung abbildet. Wie in 1 abgebildet, soll eine Werkstückaufnahmevorrichtung 500 der Reihe nach eine Mehrzahl von Werkstücken (Artikeln) 4a bis 4d aufnehmen, die in einer Lagereinrichtung, wie etwa in einem Behälter 40, wahllos gestapelt sind, und umfasst einen Roboter 1, einen Sensor 2 und einen Roboter-Controller 3. Es sei zu beachten, dass die Werkstücke 4a bis 4d nicht auf diejenigen eingeschränkt sind, die in dem Behälter 40 gelagert sind, sondern dass die Werkstücke 4a bis 4d selbstverständlich beispielsweise solche sein können, die in einem dreidimensionalen Raum wahllos gestapelt sind.
  • Seitlich zu dem Roboter 1 ist der kastenförmige Behälter 40, der eine offene obere Oberfläche aufweist, angeordnet. In dem Behälter 40 ist die obere Oberfläche offen, und in einem Lagerraum in dem Behälter 40 ist die Mehrzahl von wahllos gestapelten Werkstücken (Mehrzahl von Werkstücken, die durcheinander, auch in einem wahllos gestapelten Zustand, bereitgestellt werden) 4a bis 4d (4) gelagert. Es sei zu beachten, dass die Werkstücke 4 durch eine Hand 10 gehalten werden können, die an dem Roboter 1 montiert ist, und dass die Werkstücke 4 (4a bis 4d) ausgelegt sind, um nacheinander aus dem Behälter 40 durch einen Vorgang des Roboters 1 und der Hand 10, die durch den Roboter-Controller 3 gesteuert werden, aufgehoben zu werden. Ferner wird über einem mittleren Abschnitt des Behälters 40 der Sensor 2 bereitgestellt, und eine Ausgabe (Messdaten) 2a des Sensors wird in den Roboter-Controller 3 eingegeben.
  • In 1 ist der einfacheren Erläuterung halber ein Beispiel abgebildet, bei dem ein Loch eines mittleren Abschnitts jedes der Werkstücke 4 durch die Hand (Innendurchmesserfutter) 10 gehalten wird, während die vier Werkstücke 4a bis 4d (4), die eine Scheibenform aufweisen, wahllos in dem Behälter 40 gestapelt sind, doch die Form der Werkstücke 4 ist nicht auf eine Scheibenform eingeschränkt, und ein Haltemechanismus der Werkstücke 4 ist auch nicht auf das Innendurchmesserfutter eingeschränkt. Mit anderen Worten kann die Hand 10 auch diverse Formen aufweisen, die zum Halten der Werkstücke 4 fähig sind, und kann beispielsweise eine Form zum Halten der Werkstücke 4 durch Öffnen und Schließen von zwei oder mehreren Greifabschnitten aufweisen, oder kann auch mit einem Elektromagneten oder einer Vorrichtung zum Generieren von Unterdruck, die eine Saugkraft in Bezug auf die Werkstücke 4 generiert, versehen sein.
  • Ferner ist der Sensor 2 ein dreidimensionaler visueller Sensor, der Informationen über eine dreidimensionale Position und Lage jedes der Werkstücke 4a bis 4d erzielt, und kann ein solcher sein, der beispielsweise ein Stereoverfahren, das zwei Kameras verwendet, ein Verfahren zum Bewegen von Laserstrichlicht, ein Verfahren zum Bewegen von Laserpunktlicht, ein Verfahren zum Projizieren eines Musterlichts auf Artikel unter Verwendung einer Vorrichtung, wie etwa eines Projektors, ein Verfahren zum Verwenden einer Zeit, in der Licht von einem optischen Projektor emittiert wird, an einer Oberfläche der Werkstücke 4 reflektiert wird und in einen optischen Empfänger eintritt, und dergleichen einsetzt. Wenn zudem auf der Grundlage der Ausgabe (2a) des Sensors 2 eine dreidimensionale Position und Lage der Mehrzahl von wahllos gestapelten Werkstücken 4a bis 4d eine dreidimensionale Form des Behälters 40 und dergleichen gemessen werden, kann beispielsweise ein Triangulationsmessverfahren, ein Lichtschnittverfahren, ein Flugzeitverfahren, ein Depth-from-Defocus-Verfahren oder ein Verfahren zum kombinierten Verwenden derselben eingesetzt werden.
  • Es sei zu beachten, dass in 1 die Auslegung derart ist, dass die Ausgabe (Messdaten) 2a des Sensors (visuellen Sensors) 2 in den Roboter-Controller 3 eingegeben wird, und der Roboter-Controller 3 eine Bildverarbeitung und dergleichen ausführt, die Konfiguration jedoch auch derart sein kann, dass die Ausgabe 2a des Sensors 2 durch eine spezielle Bildverarbeitungsvorrichtung oder dergleichen, die getrennt von dem Roboter-Controller 3 bereitgestellt wird, verarbeitet wird, und eine Ausgabe der Bildverarbeitungsvorrichtung in den Roboter-Controller 3 eingegeben wird. Ferner wird der Sensor 2 bereitgestellt, um über dem mittleren Abschnitt des Behälters 40 befestigt zu werden, er kann jedoch auch als Handauge bereitgestellt werden, das an einem Finger (Spitzenendabschnitt) des Roboters 1 montiert ist.
  • Somit ist bei der Werkstückaufnahmevorrichtung 500, wie in 1 abgebildet, der Roboter-Controller 3 ausgelegt, um Haltepositionslagedaten einer Position und einer Lage zu berechnen, um die Werkstücke 4 durch das Innendurchmesserfutter 10 des Roboters 1 zu halten, auf der Grundlage der Ausgabe 2a des Sensors 2, der eine dreidimensionale Position und Lage der Mehrzahl von wahllos gestapelten Werkstücken 4a bis 4d (4), eine dreidimensionale Form des Behälters 40 und dergleichen misst und den Roboter 1 und das Innendurchmesserfutter 10 steuert, um die Werkstücke 4 nacheinander aufzuheben.
  • 2A, 2B und 2C sind Diagramme zum Erläutern eines Beispiels eines Vorgangs der Werkstückaufnahmevorrichtung, wie in 1 abgebildet. 2A bildet einen Zustand ab, in dem in den vier Werkstücken 4a bis 4d, die in dem Behälter 40 gelagert sind, wie in 1 abgebildet, das Innendurchmesserfutter (Hand) 10 des Roboters 1 zu dem mittleren Abschnitt (Lochposition) eines Werkstücks 4c bewegt wird, und das Innendurchmesserfutter 10 geöffnet wird, um das Werkstück 4c zu halten. Zudem bildet 2B einen Zustand ab, in dem das in 2A gehaltene Werkstück 4c angehoben wird, um einen Aufnahmevorgang auszuführen. Ferner bildet 2C einen Zustand ab, in dem bei den vier Werkstücken 4a bis 4d, die in dem Behälter 40 gelagert sind, eine Aufnahmeverarbeitung der beiden Werkstücke 4c und 4d beendet ist.
  • Wie zuvor beschrieben, berechnet die Werkstückaufnahmevorrichtung 500 die Haltepositionslagedaten einer Position und einer Lage, um die Werkstücke 4 durch das Innendurchmesserfutter 10 des Roboters 1 zu halten, auf der Grundlage der Ausgabe 2a des Sensors 2 und steuert den Roboter 1 und das Innendurchmesserfutter 10, um die Werkstücke 4 nacheinander aufzuheben. Wie jedoch beispielsweise in 2C abgebildet, während sich das Werkstück 4a auf dem Werkstück 4b befindet, und wenn gleichzeitig das Werkstück 4a in einer Ecke des Behälters 40 steht (das Werkstück 4a ist an eine Wandfläche des Behälters 40 in einem spitzen Winkel angelehnt), wird es schwierig, die beiden Werkstücke 4a und 4b aufzuheben.
  • Insbesondere bezüglich des Werkstücks 4b befindet sich beispielsweise das Werkstück 4a auf dem Werkstück 4b, so dass es schwierig ist, das Innendurchmesserfutter 10 des Roboters 1 zu dem mittleren Abschnitt des Werkstücks 4b zu bewegen, das in das Loch eingefügt werden soll. Ferner wird bezüglich des Werkstücks 4a, beispielsweise wenn man versucht, das Innendurchmesserfutter 10 des Roboters 1 in den mittleren Abschnitt des Werkstücks 4a einzufügen, der an der Wandfläche des Behälters 40 in einem spitzen Winkel angelehnt ist, stört ein Teil des Roboters 1 eine Wand des Behälters 40, oder es ist schwierig, das Innendurchmesserfutter 10 in einem geeigneten Winkel einzufügen. Entsprechend gelingt es beispielsweise dem Roboter-Controller 3 folglich nicht, die Haltepositionslagedaten zu berechnen, um das Werkstück 4a oder 4b durch das Innendurchmesserfutter 10 des Roboters 1 zu halten. Wenn somit, obwohl die Werkstücke 4a und 4b in dem Behälter 40 bleiben, die Werkstücke 4a und 4b nicht aufgehoben werden, kommt es zu einer Reduzierung der Produktivität und dergleichen.
  • Nachstehend werden Ausführungsformen einer Werkstückaufnahmevorrichtung und eines Werkstückaufnahmeverfahrens der vorliegenden Erfindung mit Bezug auf die beiliegenden Zeichnungen ausführlich beschrieben. 3 ist ein Blockdiagramm, das eine Werkstückaufnahmevorrichtung 100 gemäß einer ersten Ausführungsform abbildet und schematisch eine Konfiguration des Roboters-Controller 3 abbildet. Ferner sind 4A, 4B und 4C Diagramme zum Erläutern eines Beispiels eines Vorgangs der Werkstückaufnahmevorrichtung, wie in 3 abgebildet: 4A bildet eine Vorbewegungsposition ab, in der sich der Roboter 1 (Hand 10) dem Werkstück (4a) nähert; 4B bildet eine Startposition eines Vorgangs zum Verbessern eines Ladezustands ab, in welcher der Roboter 1 einen Vorgang zum Verbessern eines Ladezustands der Werkstücke (4a und 4b) startet; und 4C bildet eine Endposition eines Vorgangs zum Verbessern eines Ladezustands ab, in welcher der Roboter 1 den Vorgang zum Verbessern eines Ladezustands der Werkstücke (4a und 4b) beendet. Es sei zu beachten, dass 4A einem Zustand entspricht, in dem die Haltepositionslagedaten zum Halten des Werkstücks 4a oder 4b nicht berechnet werden, wie in 2C abgebildet, wie zuvor beschrieben.
  • Mit anderen Worten, wie aus einem Vergleich von 4A bis 4C und 1 und 2A bis 2C hervorgeht, wie zuvor beschrieben, ist die Werkstückaufnahmevorrichtung 100 gemäß der ersten Ausführungsform vom Aussehen her ähnlich wie die Werkstückaufnahmevorrichtung 500, wie zuvor beschrieben, unterscheidet sich jedoch von der Funktion (Konfiguration) des Roboters-Controller 3 her, d.h. der Funktion eines Vorgangs zum Verbessern eines Ladezustands, der ausgeführt wird, wenn keines der Werkstücke durch den Roboter 1 (Hand (Innendurchmesserfutter) 10 des Roboters 1) gehalten werden kann.
  • Wie in 3 abgebildet, umfasst bei der Werkstückaufnahmevorrichtung 100 gemäß der ersten Ausführungsform der Roboter-Controller 3 eine Robotersteuereinheit 30, eine Einheit 31 zum Berechnen einer Haltepositionslage und eine Einheit 32 zum Generieren eines Vorgangs zum Verbessern eines Ladezustands. Die Einheit 31 zum Berechnen einer Haltepositionslage berechnet die Haltepositionslagedaten 31a einer Position und einer Lage zum Halten der Werkstücke 4 (4a bis 4d) durch das Innendurchmesserfutter 10 des Roboters 1 auf der Grundlage der Ausgabe (Messdaten) 2a des Sensors 2. Die Einheit 32 zum Generieren eines Vorgangs zum Verbessern eines Ladezustands generiert Daten 32a über einen Vorgang zum Verbessern eines Ladezustands eines Vorgangs zum Verbessern eines Ladezustands der Werkstücke 4 durch das Innendurchmesserfutter 10 des Roboters 1 auf der Grundlage der Ausgabe (Messdaten) 2a des Sensors 2. Es sei zu beachten, dass die Robotersteuereinheit 30 den Roboter 1 und das Innendurchmesserfutter 10 auf der Grundlage der Ausgabe 2a der Einheit 31 zum Berechnen einer Haltepositionslage und der Einheit 32 zum Generieren eines Vorgangs zum Verbessern eines Ladezustands steuert.
  • Mit anderen Worten, wenn die Werkstücke 4, die durch den Roboter 1 ((Innendurchmesserfutter) 10 des Roboters 1) gehalten werden können, vorhanden sind, beispielsweise wenn das Werkstück 4c unter den vier Werkstücken 4a bis 4d, wie in 1 abgebildet, vorhanden ist, berechnet die Einheit 31 zum Berechnen einer Haltepositionslage die Haltepositionslagedaten 31a zum Halten des Werkstücks 4c auf der Grundlage der Ausgabe 2a des Sensors 2, gibt diese an die Robotersteuereinheit 30 und steuert das Innendurchmesserfutter 10 (Roboter 1) des Roboters 1, um eine Aufnahmeverarbeitung des Werkstücks 4c auszuführen. Es sei zu beachten, dass die Aufnahmeverarbeitung des Werkstücks 4c ähnlich wie diejenige ist, die mit Bezug auf 2A und 2B beschrieben wird.
  • Wenn andererseits keines der Werkstücke 4, die durch das Innendurchmesserfutter 10 des Roboters 1 gehalten werden können, vorhanden ist, wie beispielsweise in 2C abgebildet, wenn die Haltepositionslagedaten zum Halten der beiden verbleibenden Werkstücke 4a oder 4b nicht berechnet werden, generiert die Einheit 32 zum Generieren eines Vorgangs zum Verbessern eines Ladezustands die Daten 32a über einen Vorgang zum Verbessern eines Ladezustands, um einen Ladezustand der Werkstücke 4 (4a und 4b) auf der Grundlage der Ausgabe 2a des Sensors 2 und der Ausgabe der Einheit 31 zum Berechnen einer Haltepositionslage zu verbessern, gibt diese an die Robotersteuereinheit 30 aus und steuert das Innendurchmesserfutter 10 (Roboter 1) des Roboters 1, um den Ladezustand der Werkstücke 4a und 4b zu verbessern.
  • Die Daten 32a über einen Vorgang zum Verbessern eines Ladezustands, die durch die Einheit 32 zum Generieren eines Vorgangs zum Verbessern eines Ladezustands generiert werden, umfassen beispielsweise Daten der Vorbewegungsposition, in der sich der Roboter 1 (Innendurchmesserfutter 10 des Roboters 1) dem Werkstück 4a nähert, wie in 4A abgebildet, die Startposition eines Vorgangs zum Verbessern eines Ladezustands, in welcher der Roboter 1 einen Vorgang zum Verbessern eines Ladezustands der Werkstücke 4a und 4b startet, wie in 4B abgebildet, und die Endposition eines Vorgangs zum Verbessern eines Ladezustands, in welcher der Roboter 1 den Vorgang zum Verbessern eines Ladezustands der Werkstücke 4a und 4b beendet, wie in 4C abgebildet.
  • Ferner können die Daten 32a über einen Vorgang zum Verbessern eines Ladezustands beispielsweise auch Daten einer Geschwindigkeit, mit der sich der Roboter 1 (Innendurchmesserfutter 10 des Roboters 1) von der Vorbewegungsposition zu der Startposition eines Vorgangs zum Verbessern eines Ladezustands (erste Geschwindigkeitsdaten) bewegt, und Daten einer Geschwindigkeit, mit der sich der Roboter 1 von der Startposition eines Vorgangs zum Verbessern eines Ladezustands zu der Endposition eines Vorgangs zum Verbessern eines Ladezustands bewegt (zweite Geschwindigkeitsdaten), umfassen. Es sei zu beachten, dass natürlich derartige Daten rein beispielhaft sind, und dass die Daten 32a über einen Vorgang zum Verbessern eines Ladezustands auch weitere andere Daten umfassen können.
  • Somit wird das Innendurchmesserfutter 10 des Roboters 1 von der Startposition eines Vorgangs zum Verbessern eines Ladezustands, wie in 4B abgebildet, in die Endposition eines Vorgangs zum Verbessern eines Ladezustands bewegt, wie in 4C abgebildet, wodurch beispielsweise das Werkstück 4a, das an der Wandfläche des Behälters 40 in einem spitzen Winkel angelehnt ist, nach unten geschoben wird, um umzukippen. Dadurch berechnet beispielsweise die Einheit 31 zum Berechnen einer Haltepositionslage die Haltepositionslagedaten 31a bezüglich des (umgekippten) Werkstücks 4a, nachdem der Vorgang zum Verbessern eines Ladezustands ausgeführt wurde, um das Innendurchmesserfutter 10 des Roboters 1 zu dem mittleren Abschnitt (Lochposition) eines Werkstücks 4a zu bewegen, damit es darin eingefügt werden kann, wodurch das Werkstück 4a aufgehoben werden kann.
  • Obwohl als Vorgang zum Verbessern eines Ladezustands ein Vorgang zum Ausüben einer externen Kraft auf die wahllos gestapelten Werkstücke 4 durch die Hand (Innendurchmesserfutter) 10, um die Werkstücke 4 zu bewegen oder umzukippen, möglich ist, ist es selbstverständlich, dass als Vorgang zum Verbessern eines Ladezustands diverse Vorgänge möglich sind, wie etwa zunächst ein Vorgang zum zeitweiligen Halten eines optionalen Werkstücks 4 und dann zum Fallenlassen (Loslassen) desselben, wenn die Hand 10 eine Saughand oder eine Magnethand ist. Zudem wird beispielsweise, während der Vorgang zum Verbessern eines Ladezustands ausgeführt wird, eine Kraft, die auf mindestens einen von dem Roboter 1 und der Hand ausgeübt wird, gemessen, und wenn eine vorgegebene Kraft oder mehr auf mindestens einen von dem Roboter 1 und der Hand 10 während des Vorgangs zum Verbessern eines Ladezustands ausgeübt wird, wird der Vorgang zum Verbessern eines Ladezustands angehalten (unterbrochen), um den Roboter 1 zu entfernen, wodurch ein System stabiler funktionieren kann. Ferner wird eine Impedanzsteuerung auf den Vorgang zum Verbessern eines Ladezustands angewendet, wodurch es ebenfalls möglich ist, den Vorgang zum Verbessern eines Ladezustands auszuführen, der eine geeignete externe Kraft auf die Werkstücke ausübt.
  • Es sei zu beachten, dass es selbstverständlich ist, dass nachdem der Vorgang zum Verbessern eines Ladezustands ausgeführt wurde, beispielsweise wenn es möglich ist, die Haltepositionslagedaten 31a bezüglich nicht nur des Werkstücks 4a sondern auch des Werkstücks 4b zu berechnen, das Werkstück 4b aufgehoben werden kann. Wenn zudem, obwohl der Vorgang zum Verbessern eines Ladezustands ausgeführt wird, die Haltepositionslagedaten 31a bezüglich der beiden verbleibenden Werkstücke 4a und 4b immer noch nicht berechnet werden, der Vorgang zum Verbessern eines Ladezustands auf der Grundlage der weiteren Daten 32a über einen Vorgang zum Verbessern eines Ladezustands, die durch die Einheit 32 zum Generieren eines Vorgangs zum Verbessern eines Ladezustands generiert, erneut ausgeführt werden kann. Somit kann die Werkstückaufnahmevorrichtung 100 gemäß der ersten Ausführungsform die Anzahl von Werkstücken reduzieren, die schwer aufzuheben sind, und ermöglicht es, eine Verbesserung der Produktivität anzustreben.
  • Mit anderen Worten ist es gemäß der Werkstückaufnahmevorrichtung 100 gemäß der ersten Ausführungsform beispielsweise möglich, einen Zustand zu beheben, in dem, obwohl die Werkstücke in dem Behälter verbleiben, das Aufnehmen der Werkstücke schwierig ist, und die Anzahl von Werkstücken zu verbessern, die aufgehoben werden können, und beispielsweise die Werkstücke, auch das letzte, aufgehoben werden können. Ferner ist es gemäß der Werkstückaufnahmevorrichtung gemäß der ersten Ausführungsform beispielsweise möglich, einen Ladezustand durch den Roboter unter Verwendung der Hand zu verbessern und den Aufnahmevorgang der Werkstücke fortzuführen, ohne eine spezielle Vorrichtung, wie etwa zum Schütteln des Behälters, bereitzustellen. Es sei zu beachten, dass wenn angestrebt wird, einen derartigen Vorgang zum Verbessern eines Ladezustands unter Verwendung einer herkömmlichen didaktischen Wiedergabestruktur auszubilden, alle flexiblen Vorgänge im Voraus zu programmieren sind, was hohe Qualifikationen seitens des Benutzers und eine große Anzahl von Betriebsstunden benötigt, wohingegen gemäß der Werkstückaufnahmevorrichtung der vorliegenden Ausführungsform, der Roboter selber den Vorgang zum Verbessern eines Ladezustands während eines Systemvorgangs ausführt, wodurch der Benutzer ein stabiles System mühelos hochfahren kann. Diese Wirkungen sind nicht auf die Werkstückaufnahmevorrichtung gemäß der ersten Ausführungsform einzuschränken, sondern können ferner sehe gut durch die zweiten und dritten Ausführungsformen erzielt werden, bei denen maschinelles Lernen eingesetzt wird, wie es nachstehend beschrieben wird.
  • 5 ist ein Ablaufschema zum Abbilden eines Beispiels der Werkstückaufnahmeverarbeitung der Werkstückaufnahmevorrichtung gemäß der ersten Ausführungsform. Wie in 5 abgebildet, wenn ein Beispiel der Werkstückaufnahmeverarbeitung der Werkstückaufnahmevorrichtung 100 gemäß der ersten Ausführungsform in Schritt ST11 startet, werden die Messdaten 2a basierend auf einer Ausgabe des Sensors 2 erzielt, der Prozess fährt mit Schritt ST12 fort, und die Einheit 31 zum Berechnen einer Haltepositionslage berechnet eine Haltepositionslage (Haltepositionslagedaten 31a), und der Prozess fährt mit Schritt ST13 fort.
  • In Schritt ST13 wird bestimmt, ob die Berechnung der Haltepositionslage durch die Einheit 31 zum Berechnen einer Haltepositionslage erfolgreich ist oder nicht, und wenn bestimmt wird, dass die Berechnung der Haltepositionslagedaten 31a erfolgreich ist (ST13: Ja), fährt der Prozess mit Schritt ST14 fort und ein Handhabungsvorgang (Halte- und Aufnahmevorgang der Werkstücke 4 durch das Innendurchmesserfutter 10 des Roboters 1) wird auf der Grundlage der berechneten Haltepositionslagedaten 31a ausgeführt, und der Prozess fährt mit Schritt ST15 fort.
  • In Schritt ST15 wird beispielsweise bestimmt, ob die Aufnahme der Mehrzahl von Werkstücken 4a bis 4d, die in dem Behälter 40 gelagert sind, vollständig beendet ist oder nicht, und wenn bestimmt wird, dass eine vollständige Beendigung erfolgt ist (ST15: Ja) ist die Werkstückaufnahmeverarbeitung beendet, und wenn bestimmt wird, dass keine vollständige Beendigung erfolgt ist (ST15: Nein), kehrt der Prozess zurück zu Schritt ST11 und eine ähnliche Bearbeitung wird wiederholt.
  • Wenn ferner in Schritt ST13 bestimmt wird, dass die Berechnung der Haltepositionslage fehlschlägt (ST13: Nein), fährt der Prozess mit Schritt ST16 fort, und die Einheit 32 zum Generieren eines Vorgangs zum Verbessern eines Ladezustands generiert den Vorgang zum Verbessern eines Ladezustands (Daten 32a über einen Vorgang zum Verbessern eines Ladezustands), und der Prozess fährt mit Schritt ST17 fort. In Schritt ST17 wird eine Wertfunktion des Vorgangs zum Verbessern eines Ladezustands aktualisiert, und der Prozess kehrt zu Schritt ST11 zurück, und eine ähnliche Verarbeitung wie zuvor beschrieben wird wiederholt. Die Generierungsverarbeitung der Daten 32a über einen Vorgang zum Verbessern eines Ladezustands in Schritt ST16 und die Aktualisierungsverarbeitung der Wertfunktion in Schritt ST17 können beispielsweise unter Verwendung von maschinellem Lernen (tiefgehendem Lernen, Verstärkungslernen) ausgeführt werden.
  • Alternativ ist es als Generierungsverarbeitung der Daten 32a über einen Vorgang zum Verbessern eines Ladezustands in Schritt ST16 und als Aktualisierungsverarbeitung der Wertfunktion in Schritt ST17 auch möglich, dass ohne Verwendung von maschinellem Lernen beispielsweise der Roboter 1 und die Hand (Innendurchmesserfutter) 10 auf der Grundlage des Vorgangs zum Verbessern eines Ladezustands, der im Voraus eingestellt wird, gesteuert werden, wodurch es möglich ist, den Vorgang zum Verbessern eines Ladezustands der Werkstücke 4 auszuführen. Dann ist es selbstverständlich, dass es beispielsweise als Vorgang zum Verbessern eines Ladezustands möglich ist, dass die Mehrzahl von Daten 32a über einen Vorgang zum Verbessern eines Ladezustands im Voraus eingestellt werden, optimale Daten über einen Vorgang zum Verbessern eines Ladezustands unter Verwendung der in Schritt ST12 berechneten Haltepositionslagedaten 31a ausgewählt werden, und auf der Grundlage der Daten über einen Vorgang zum Verbessern eines ausgewählten Ladezustands der Vorgang zum Verbessern eines Ladezustands ausgeführt werden kann.
  • 6 ist ein Blockdiagramm, das eine Werkstückaufnahmevorrichtung 200 gemäß der zweiten Ausführungsform abbildet und derjenigen entspricht, bei der als Einheit 32 zum Generieren eines Vorgangs zum Verbessern eines Ladezustands eine maschinelle Lernvorrichtung 5 (zweite maschinelle Lernvorrichtung) verwendet wird. Es sei zu beachten, dass in 6, obwohl nicht abgebildet, die Einheit 31 zum Berechnen einer Haltepositionslage beispielsweise für eine Umgebung bereitgestellt wird, die den Roboter 1, den Sensor 2 und dergleichen umfasst, und die Haltepositionslagedaten 31a von der Einheit 31 zum Berechnen einer Haltepositionslage als Zustandsdaten (Zustandsvariable, Zustandswert) in die maschinelle Lernvorrichtung 5 eingegeben werden. Ferner kann die maschinelle Lernvorrichtung 5 beispielsweise auch in den Roboter-Controller 3 (nicht abgebildet) integriert sein, der die Robotersteuereinheit 30 und die Einheit 31 zum Berechnen einer Haltepositionslage umfasst, sie kann jedoch auch als spezielle Vorrichtung getrennt von dem Roboter-Controller 3 bereitgestellt werden. Es sei zu beachten, dass in 6 die Werkstücke 4 mit einer zylindrischen Form abgebildet sind, und die Hand 10 zum Halten der Werkstücke 4 durch Öffnen und Schließen von zwei Greifabschnitten, abgebildet ist, wobei es sich jedoch um einen von diversen Typen handeln kann, wie zuvor beschrieben.
  • Wie in 6 abgebildet, soll bei der Werkstückaufnahmevorrichtung 200 gemäß der zweiten Ausführungsform die maschinelle Lernvorrichtung 5 beispielsweise eine Funktion der Einheit 32 zum Generieren eines Vorgangs zum Verbessern eines Ladezustands in der Werkstückaufnahmevorrichtung 100 gemäß der ersten Ausführungsform, wie in 3 abgebildet, ausbilden, und umfasst eine Zustandsbeobachtungseinheit (zweite Zustandsbeobachtungseinheit) 51, eine Einheit 52 zum Erzielen von Bestimmungsdaten (zweite Einheit zum Erzielen von Bestimmungsdaten), eine Lerneinheit (zweite Lerneinheit) 53 und eine Entscheidungseinheit 54. Die Zustandsbeobachtungseinheit 51 beobachtet als Zustandsdaten die Messdaten 2a, wobei es sich um eine Ausgabe des Sensors 2 handelt, und die Haltepositionslagedaten 31a jedes der Werkstücke 4 basierend auf einer Ausgabe der Einheit (31) zum Berechnen einer Haltepositionslage.
  • Die Einheit 52 zum Erzielen von Bestimmungsdaten erzielt als Bestimmungsdaten, ob sich ein Ladezustand vor oder nach einem Vorgang zum Verbessern eines Ladezustands der Werkstücke 4 ändert oder nicht, basierend auf den Messdaten 2a und den Haltepositionslagedaten 31a jedes der Werkstücke 4, nachdem der Vorgang zum Verbessern eines Ladezustands der Werkstücke 4 ausgeführt wurde. Die Entscheidungseinheit 54 bezieht sich auf eine Ausgabe von der Lerneinheit 53 und bestimmt mit Bezug auf den Roboter 1 (Hand 10) den Vorgang zum Verbessern eines Ladezustands der Werkstücke 4.
  • Die Lerneinheit 53 umfasst eine Belohnungsberechnungseinheit (zweite Belohnungsberechnungseinheit) 531 und eine Wertfunktionaktualisierungseinheit (zweite Wertfunktionaktualisierungseinheit) 532, empfängt eine Ausgabe von der Zustandsbeobachtungseinheit 51 und eine Ausgabe von der Einheit 52 zum Erzielen von Bestimmungsdaten und erlernt den Vorgang zum Verbessern eines Ladezustands der Werkstücke 4. Die Belohnungsberechnungseinheit 531 berechnet eine Belohnung auf der Grundlage davon, ob sich ein Ladezustand vor oder nach einem Vorgang zum Verbessern eines Ladezustands der Werkstücke 4 ändert oder nicht, und der Haltepositionslagedaten 31a jedes der Werkstücke 4, nachdem der Vorgang zum Verbessern eines Ladezustands der Werkstücke 4 ausgeführt wurde, wobei es sich um die Ausgabe von der Einheit 52 zum Erzielen von Bestimmungsdaten handelt. Ferner weist die Wertfunktionaktualisierungseinheit 532 eine Wertfunktion auf, um einen Wert des Vorgangs zum Verbessern eines Ladezustands der Werkstücke 4 zu bestimmen, und aktualisiert die Wertfunktion gemäß der Belohnung.
  • Mit anderen Worten stellt die Belohnungsberechnungseinheit 531 eine positive Belohnung ein, wenn sich der Ladezustand ändert, und stellt eine negative Belohnung ein, wenn sich der Ladezustand vor und nach dem Vorgang zum Verbessern eines Ladezustands der Werkstücke 4 (dritte Belohnungseinstellung) nicht ändert. Ferner stellt die Belohnungsberechnungseinheit 531 eine positive Belohnung ein, wenn die Berechnung der Haltepositionslagedaten 31a jedes der Werkstücke 4 erfolgreich ist, und stellt eine negative Belohnung ein, wenn die Berechnung der Haltepositionslagedaten 31a fehlschlägt, nachdem der Vorgang zum Verbessern eines Ladezustands der Werkstücke 4 ausgeführt wurde (vierte Belohnungseinstellung). Die Belohnungsberechnungseinheit 531 kann sowohl die dritte Belohnungseinstellung als auch die vierte Belohnungseinstellung ausführen oder kann nur eine dieser Belohnungseinstellungen ausführen.
  • Somit wird gemäß der Werkstückaufnahmevorrichtung 200 gemäß der zweiten Ausführungsform, selbst wenn Werkstücke 4, die durch die Hand 10 des Roboters 1 schwer zu halten und aufzuheben (handhaben) sind, verbleiben, die maschinelle Lernvorrichtung 5 eingesetzt, um somit einen Vorgang zum Verbessern eines Ladezustands der Werkstücke 4 aktualisieren zu können und einen Zustand zu ermöglichen, in dem die Handhabung möglich ist. Dadurch kann die Anzahl von schwer aufzuhebenden Werkstücken, reduziert werden, und es kann eine Verbesserung der Produktivität angestrebt werden.
  • Die maschinelle Lernvorrichtung 5 kann an dem Roboter-Controller 3 (Kante) bereitgestellt werden, der jeden Roboter 1 steuert, kann jedoch beispielsweise auch für jedes Werk bereitgestellt werden, dass die Mehrzahl von Robotern 1 (Robotersystemen) aufweist, (beispielsweise in einem FOG-Server) oder in einem Cloud-Server, der mit einer Mehrzahl von Werken über eine Kommunikationsleitung, wie etwa Internet, verbunden ist. Es sei zu beachten, dass die maschinelle Lernvorrichtung 5, die für jeden Roboter bereitgestellt wird, auch konfiguriert sein kann, um beispielsweise mit mindestens einer anderen maschinellen Lernvorrichtung (5) verbindbar zu sein und um mit mindestens einer anderen derartigen maschinellen Lernvorrichtung (5) ein Ergebnis des maschinellen Lernens auszutauschen oder zu teilen.
  • Im Übrigen verfügt die maschinelle Lernvorrichtung 5 über Funktionen des analytischen Entnehmens aus einem Datensatz, der in die Vorrichtung eingegeben wird, einer nützlichen Regel, einer Wissensdarstellung, eines Kriteriums zur Bestimmung oder dergleichen, das darin enthalten ist, des Ausgebens eines Ergebnisses der Bestimmung und des Ausführens von Wissenslernen (maschinellem Lernen). Es sind diverse Techniken zum maschinellen Lernen verfügbar, die in etwa beispielsweise in „betreutes Lernen“, „nicht betreutes Lernen“ und „Verstärkungslernen“ klassifiziert sind. Zudem gibt es eine Technik, die als „tiefgehendes Lernen“ bezeichnet wird, bei der die Entnahme eines Merkmalswerts an sich erlernt wird, um diese Techniken umzusetzen.
  • Die maschinelle Lernvorrichtung 5, wie in 6 abgebildet, verwendet das „Verstärkungslernen (Q-Lernen)“. Obwohl die maschinelle Lernvorrichtung 5 einen universellen Computer oder einen Prozessor verwenden kann, erlaubt die Übernahme beispielsweise von universellen Berechnungen auf Grafikeinheiten (GPGPU), großen PC-Clustern oder dergleichen eine bessere Verarbeitung. Mit Bezug auf das gesamte maschinelle Lernen wird ein Überblick beschrieben.
  • Zunächst wird beim betreuten Lernen eine große Menge von Lehrerdaten, d.h. Datensätzen von gewissen Eingaben und Ergebnissen (Etiketten) für die maschinelle Lernvorrichtung bereitgestellt, um Merkmale in den Datensätzen zu erlernen und induktiv ein Modell (Fehlermodell) zum Schätzen des Ergebnisses aus der Eingabe, d.h. einer Beziehung davon, zu erzielen. Beispielsweise kann das betreute Lernen unter Verwendung eines Algorithmus, wie etwa eines neuronalen Netzwerks, umgesetzt werden, wie es nachstehend beschrieben wird.
  • Das unbetreute Lernen ist eine Technik, bei der nur eine große Menge von Eingangsdaten für die maschinelle Lernvorrichtung bereitgestellt wird, um zu lernen, wie die Eingangsdaten verteilt sind, wobei die Vorrichtung, welche die Kompression, Klassifizierung, Gestaltung oder dergleichen mit Bezug auf die Eingangsdaten ausführt, das Lernen ausführt, ohne dass ihr entsprechende Lehrerausgangsdaten bereitgestellt werden. Beispielsweise können die Merkmale in den Datensätzen zu ähnlichen Merkmalen gruppiert werden. Unter Verwendung dieses Ergebnisses ist es möglich, eine Vorhersage der Ausgabe zu erreichen, indem die Ausgaben derart zugeteilt werden, dass ein gewisses Kriterium definiert wird, um das Ergebnis zu optimieren.
  • Als Zwischenproblemstellung zwischen dem unbetreuten Lernen und dem betreuten Lernen gibt es das so genannte halbbetreute Lernen, das für den Fall gilt, dass es beispielsweise nur einige Datensätze von Eingaben und Ausgaben gibt und die übrigen Daten nur Eingaben sind.
  • Als Nächstes wird das Verstärkungslernen ausführlicher beschrieben. Zunächst wird eine Problemeinstellung beim Verstärkungslernen wie folgt in Betracht gezogen.
  • Die Werkstückaufnahmevorrichtung (d.h. der Roboter 1 und der Roboter-Controller (einschließlich der Robotersteuereinheit 30 und der maschinellen Lernvorrichtung 5) 3) 200 beobachtet einen Zustand der Umgebung und entscheidet sich für eine Aktion.
  • Die Umgebung kann sich gemäß gewissen Regeln ändern, und ferner kann das Robotersystem die Umgebung durch seine eigene Aktion ändern.
  • Ein Belohnungssignal kehrt jedes Mal zurück, wenn die Aktion vorgenommen wird.
  • Es ist die Summe von (ermäßigten) Belohnungen in der Zukunft, die maximiert werden soll.
  • Das Lernen beginnt in einem Zustand, in dem das Ergebnis, das durch die Aktion verursacht wird, völlig unbekannt oder nur unvollständig bekannt ist. Mit anderen Worten kann die Robotersteuereinheit das Ergebnis erst als Daten erzielen, wenn es tatsächlich eine Aktion vornimmt. Kurz gesagt wird es bevorzugt, die optimale Aktion durch Versuch und Irrtum ausfindig zu machen.
  • Dadurch das Einstellen eines Zustands, bei dem das Lernen (eine Technik, wie etwa das betreute Lernen, wie zuvor beschrieben, oder das inverse Verstärkungslernen) im Voraus ausgeführt wird, um ein menschliches Verhalten als Anfangszustand nachzuahmen, kann das Lernen an einem guten Startpunkt beginnen.
  • Das Verstärkungslernen ist eine Technik, bei der nicht nur durch Bestimmung oder Klassifizierung sondern auch durch Lernaktionen eine geeignete Aktion angesichts der Interaktion, die durch eine Aktion mit der Umgebung bereitgestellt wird, erlernt wird, d.h. es wird erlernt, wie die Belohnung zu maximieren ist, die in der Zukunft erzielt wird. Nachstehend fährt die Beschreibung mit einem Beispiel des Q-Lernens fort, doch die vorliegende Erfindung ist nicht auf das Q-Lernen eingeschränkt.
  • Das Q-Lernen ist ein Verfahren zum Lernen eines Wertes Q(s, a) zum Auswählen einer Aktion a in einem gewissen Umgebungszustand s. Mit anderen Worten kann in dem gewissen Zustand s eine Aktion a mit dem höchsten Wert Q(s, a) bevorzugt als die optimale Aktion ausgewählt werden. Zunächst ist der richtige Wert für den Wert Q(s, a) jedoch für ein Paar aus dem Zustand s und der Aktion a völlig unbekannt. Entsprechend wählt ein Agent (Aktionssubjekt) diverse Aktionen a in dem gewissen Zustand s aus und erhält eine Belohnung für die Aktion a zu diesem Zeitpunkt. Folglich lernt der Agent, eine bessere Aktion, d.h. einen richtigen Wert Q(s, a), auszuwählen.
  • Ferner ist es als Ergebnis der Aktion erwünscht, die Summe der Belohnungen, die in der Zukunft erzielt werden, zu maximieren, und es wird darauf abgezielt, letztendlich Q(s, a) = E[Σγtrt] zu erfüllen. Es wird vorausgesetzt, dass der erwartete Wert für den Fall genommen wird, dass sich der Zustand nach der optimalen Aktion ändert, und da er nicht bekannt ist, wird er durch Vornehmen einer Untersuchung erlernt. Eine Aktualisierungsformel für einen derartigen Wert Q(s, a) kann beispielsweise durch die Gleichung (1) wie folgt dargestellt werden: Q ( s t , a t ) Q ( s t , a t ) + α ( r t + 1 + γ max a Q ( s t + 1 , a ) Q ( s t , a t ) )
    Figure DE102018000730B4_0001
  • In der obigen Gleichung (1) steht st für einen Zustand der Umgebung zu einem Zeitpunkt t, und at steht für eine Aktion zu dem Zeitpunkt t. Die Aktion at ändert den Zustand auf st+1 . rt+1 steht für eine Belohnung, die mit der Änderung des Zustands zu erlangen ist. Ferner ist der Term, der mit max verbunden ist, das Produkt des Q-Wertes, der mit γ multipliziert wird, für den Fall, dass die Aktion a mit dem höchsten Q-Wert, die zu diesem Zeitpunkt bekannt ist, in dem Zustand st+1 ausgewählt wird. γ ist ein Parameter, der 0 < γ ≤ 1 erfüllt und als Ermäßigungsrate bezeichnet wird. α ist ein Lernfaktor, der sich in dem Bereich von 0 < α ≤ 1 befindet.
  • Die obige Gleichung (1) stellt ein Verfahren zum Aktualisieren des Bewertungswertes Q(st, at) der Aktion at in dem Zustand st basierend auf der Belohnung rt+1 , die als ein Ergebnis der Aktion at zurückgegeben wird, dar. Mit anderen Worten wird angegeben, dass wenn die Summe der Belohnung rt+1 , und des Bewertungswertes Q(st+1, max at+1 ) der besten Aktion max a in dem Zustand nach dem Zustand s bei der Aktion a größer als der Bewertungswert Q(st, at) der Aktion a in dem Zustand s ist, Q(st, at) erhöht wird; ansonsten wird Q(st, at) verringert. Mit anderen Worten ist die Konfiguration derart, dass ein Wert einer gewissen Aktion in einem gewissen Zustand näher an die Belohnung, die gerade als ein Ergebnis zurückgegeben wird, und den Wert der besten Aktion in dem folgenden Zustand bei dieser Aktion gebracht wird.
  • Die Verfahren zum Darstellen von Q(s, a) auf einem Computer umfassen ein Verfahren, bei dem die Werte aller Paare von Zustand und Aktion (s, a) in Form einer Tabelle geführt werden, und ein Verfahren, bei dem eine Funktion, die Q(s, a) nähert, bereitgestellt wird. Bei dem letztgenannten Verfahren kann die obige Gleichung (1) umgesetzt werden, indem die Parameter der Näherungsfunktion unter Verwendung einer Technik, wie etwa eines stochastischen Gradientenabstiegsverfahrens, angepasst werden. Als Näherungsfunktion kann ein neuronales Netzwerk verwendet werden, das noch beschrieben wird.
  • Als Näherungsalgorithmus für eine Wertfunktion beim Verstärkungslernen kann ebenfalls ein neuronales Netzwerk verwendet werden. 7 ist ein Diagramm, das schematisch ein Modell für ein Neuron abbildet, und 8 ist ein Diagramm, das schematisch ein dreischichtiges neuronales Netzwerk abbildet, das durch Kombinieren von Neuronen, wie in 7 abgebildet, gebildet wird. Mit anderen Worten ist das neuronale Netzwerk beispielsweise aus einer arithmetischen Vorrichtung, die ein Modell für ein Neuron simuliert, wie in 7 abgebildet, einem Speicher und dergleichen konfiguriert.
  • Wie in 7 abgebildet, gibt das Neuron eine Ausgabe (Ergebnis) y für eine Mehrzahl von Eingaben x aus (in 7 beispielhaft die Eingaben x1 bis x3). Jede der Eingaben x (x1, x2, x3) wird mit einer Gewichtung w (w1, w2, w3) multipliziert, die der Eingabe x entspricht. Dadurch gibt das Neuron das Ergebnis y aus, das durch die folgende Gleichung (2) dargestellt wird. Es sei zu beachten, dass alle Eingaben x, das Ergebnis y und die Gewichtung w Vektoren sind. In der nachstehenden Gleichung (2) ist θ ein systematischer Fehler, und fk ist eine Aktivierungsfunktion. y = f k ( i = 1 n X i W i θ )
    Figure DE102018000730B4_0002
  • Mit Bezug auf 8 erfolgt eine Beschreibung eines dreischichtigen neuronalen Netzwerks, das durch eine Kombination von Neuronen, wie in 7 abgebildet, gebildet wird. Wie in 8 abgebildet, wird eine Mehrzahl von Eingaben x (hier beispielhaft Eingabe x1 bis Eingabe x3) auf der linken Seite des neuronalen Netzwerks eingegeben, und ein Ergebnis y (hier beispielhaft Ergebnis y1 bis Ergebnis y3) wird auf der rechten Seite ausgegeben. Insbesondere werden die Eingaben x1, x2 und x3 mit einer Gewichtung multipliziert, die jedem der drei Neuronen N11 bis N13 entspricht, und eingegeben. Die Gewichtungen, die verwendet werden, um diese Eingaben zu multiplizieren, werden insgesamt mit W1 bezeichnet.
  • Die Neuronen N11 bis N13 geben jeweils z11 bis z13 aus. In 8 werden z11 bis z13 insgesamt als Merkmalsvektor Z1 bezeichnet, den man als einen Vektor ansehen kann, der durch Entnehmen der Merkmalswerte des Eingangsvektors erzielt wird. Der Merkmalsvektor Z1 ist ein Merkmalsvektor, der zwischen der Gewichtung W1 und der Gewichtung W2 definiert ist. z11 bis z13 werden mit einer Gewichtung multipliziert, die jedem der beiden Neuronen N21 und N22 entspricht, und eingegeben. Die Gewichtungen, die verwendet werden, um diese Merkmalsvektoren zu multiplizieren, werden insgesamt mit W2 bezeichnet.
  • Die Neuronen N21 und N22 geben jeweils z21 und z22 aus. In 8 werden z21, z22 insgesamt als Merkmalsvektor 22 bezeichnet. Der Merkmalsvektor Z2 ist ein Merkmalsvektor, der zwischen der Gewichtung W2 und der Gewichtung W3 definiert ist. z21 und z22 werden mit einer Gewichtung multipliziert, die jedem der drei Neuronen N31 bis N33 entspricht, und eingegeben. Die Gewichtungen, die verwendet werden, um diese Merkmalsvektoren zu multiplizieren, werden insgesamt mit W3 bezeichnet.
  • Schließlich geben die Neuronen N31 bis N33 jeweils Ergebnis y1 bis Ergebnis y3 aus. Der Betrieb des neuronalen Netzwerks umfasst einen Lernmodus und einen Wertvorhersagemodus. Beispielsweise wird im Lernmodus die Gewichtung W unter Verwendung eines Lerndatensatzes erlernt, und im Vorhersagemodus wird die Aktion des Roboter-Controllers unter Verwendung der Parameter bestimmt. Obwohl aus praktischen Gründen Bezug auf die Vorhersage genommen wird, ist es selbstverständlich, dass diverse Aufgaben, wie etwa Detektion, Klassifizierung, Inferenz und dergleichen, möglich sind.
  • Es ist möglich, dass die Daten, die erzielt werden, indem der Roboter-Controller tatsächlich im Vorhersagemodus betätigt wird, sofort erlernt werden, um in der folgenden Aktion wiedergegeben zu werden (Online-Lernen), und auch dass eine Gruppe von im Voraus erhobenen Daten verwendet wird, um ein kollektives Lernen auszuführen, und ein Detektionsmodus mit bisherigen Parametern ausgeführt wird (Stapellernen). Ein dazwischenliegender Fall ist ebenfalls möglich, bei dem ein Lernmodus jedes Mal eingeschoben wird, wenn sich Daten in einem gewissen Ausmaß angesammelt haben.
  • Die Gewichtungen W1 bis W3 können durch ein Fehlerrückführungsverfahren erlernt werden. Die Fehlerinformationen treten auf der rechten Seite ein und verlaufen bis zur linken Seite. Das Fehlerrückführungsverfahren ist eine Technik zum Anpassen (Lernen) jeder Gewichtung, um die Differenz zwischen einer Ausgabe y, wenn eine Eingabe x eingegeben wird, und einer wahren Ausgabe y (Lehrer) für jedes Neuron zu reduzieren. Ein derartiges neuronales Netzwerk kann drei oder mehrere Schichten aufweisen (als tiefgehendes Lernen bezeichnet). Es ist möglich, die Merkmale der Eingabe Schritt für Schritt zu entnehmen, um automatisch eine arithmetische Vorrichtung, welche die Ergebnisse zurückführt, nur aus den Lehrerdaten zu erzielen.
  • Wie mit Bezug auf 6 beschrieben, umfasst die maschinelle Lernvorrichtung 5 gemäß dem vorliegenden Beispiel die Zustandsbeobachtungseinheit 51, die Einheit 52 zum Erzielen von Bestimmungsdaten, die Lerneinheit 53 und die Entscheidungseinheit 54, um beispielsweise ein Q-Lernen auszuführen. Es sei zu beachten, dass das maschinelle Lernverfahren, das auf die vorliegende Erfindung angewendet wird, nicht auf das Q-Lernen eingeschränkt ist, und dass wie zuvor beschrieben, die maschinelle Lernvorrichtung 2 ausgebildet werden kann, indem man eine GPGPU, große PC-Cluster oder dergleichen übernimmt.
  • 9 ist ein Ablaufschema zum Erläutern eines Beispiels einer Werkstückaufnahmeverarbeitung der Werkstückaufnahmevorrichtung gemäß der zweiten Ausführungsform und soll ein Beispiel eines Vorgangs zum Verbessern eines Ladezustands erläutern (Verarbeitung zum Verbessern eines Ladezustands). Wie in 9 abgebildet, wenn ein Beispiel einer Werkstückaufnahmeverarbeitung (Verarbeitung zum Verbessern eines Ladezustands) der Werkstückaufnahmevorrichtung 200 gemäß der zweiten Ausführungsform in Schritt ST21 beginnt, werden die Zustandsdaten (Messdaten 2a basierend auf einer Ausgabe des Sensors 2) erzielt, der Prozess fährt mit Schritt ST22 fort, und eine ausgegebene Aktion wird ausgeführt, und ferner fährt der Prozess mit Schritt ST23 fort.
  • Die in Schritt ST22 ausgegebene Aktion entspricht den Daten 32a über einen Vorgang zum Verbessern eines Ladezustands, die durch die Einheit 32 zum Generieren eines Vorgangs zum Verbessern eines Ladezustands in 3 generiert werden, wie zuvor beschrieben, und entspricht beispielsweise dem Ausführen einer Aktion basierend auf Daten der Vorbewegungsposition, in der sich der Roboter 1 dem Werkstück 4 nähert, wie in 4A abgebildet, der Startposition eines Vorgangs zum Verbessern eines Ladezustands, in welcher der Roboter 1 einen Vorgang zum Verbessern eines Ladezustands der Werkstücke 4 beginnt, wie in 4B abgebildet, und der Endposition eines Vorgangs zum Verbessern eines Ladezustands, in welcher der Roboter 1 den Vorgang zum Verbessern eines Ladezustands der Werkstücke 4 beendet, wie in 4C abgebildet. Ferner kann die in Schritt ST22 ausgegebene Aktion beispielsweise Daten einer Geschwindigkeit umfassen, mit der sich der Roboter 1 von der Vorbewegungsposition zur Startposition eines Vorgangs zum Verbessern eines Ladezustands bewegt (erste Geschwindigkeitsdaten), und Daten einer Geschwindigkeit, mit der sich der Roboter 1 von der Startposition eines Vorgangs zum Verbessern eines Ladezustands zur Endposition eines Vorgangs zum Verbessern eines Ladezustands bewegt (zweite Geschwindigkeit Daten).
  • In Schritt ST23 werden die Bestimmungsdaten basierend auf der in Schritt ST22 ausgegebenen Aktion erzielt, und eine Bestimmung gemäß einer Bestimmungsbedingung 1 aus Schritt ST24 und eine Bestimmung gemäß einer Bestimmungsbedingung 2 aus Schritt ST27 werden ausgeführt. Mit anderen Worten wird bei dem Erzielen der Bestimmungsdaten in Schritt ST23 beispielsweise erzielt, ob sich der Ladezustand ändert oder nicht, was durch Vergleichen von Messdaten, bevor der Vorgang zum Verbessern eines Ladezustands ausgeführt wird, und von Messdaten, nachdem der Vorgang zum Verbessern eines Ladezustands ausgeführt wurde, erzielt wird (Bestimmungsbedingung 1), und es wird Erfolg oder Fehlschlag bei der Berechnung einer Haltepositionslage unter Verwendung der Messdaten, nachdem der Vorgang zum Verbessern eines Ladezustands ausgeführt wurde (Bestimmungsbedingung 2), erzielt.
  • Zunächst fährt der Prozess in Schritt ST24 auf der Grundlage der Daten darüber, ob sich der Ladezustand vor und nach dem Vorgang zum Verbessern eines Ladezustands der Werkstücke 4 ändert oder nicht, die in Schritt ST23 erzielt werden, beispielsweise wenn bestimmt wird, dass sich der Ladezustand vor und nach dem Vorgang zum Verbessern eines Ladezustands der Werkstücke 4 ändert, mit Schritt ST25 fort, und eine positive Belohnung wird eingestellt, und wenn bestimmt wird, dass sich der Ladezustand nicht ändert, fährt der Prozess mit Schritt ST26 fort, und eine negative Belohnung wird eingestellt.
  • Ferner fährt der Prozess in Schritt ST27 auf der Grundlage der Haltepositionslage jedes der Werkstücke 4, nachdem der Vorgang zum Verbessern eines Ladezustands der Werkstücke 4 ausgeführt wurde (Haltepositionslagedaten 31a), die in Schritt ST23 erzielt wird, beispielsweise wenn bestimmt wird, dass die Berechnung der Haltepositionslagedaten 31a jedes der Werkstücke 4 erfolgreich ist, nachdem der Vorgang zum Verbessern eines Ladezustands der Werkstücke 4 ausgeführt wurde, mit Schritt ST28 fort, und eine positive Belohnung wird eingestellt, und wenn bestimmt wird, dass die Berechnung der Haltepositionslagedaten 31a fehlschlägt, fährt der Prozess mit Schritt ST29 fort, und eine negative Belohnung wird eingestellt.
  • Es sei zu beachten, dass bei der Bestimmung in Schritt ST24, nicht auf der Grundlage davon, ob sich der Ladezustand vor und nach dem Vorgang zum Verbessern eines Ladezustands der Werkstücke 4 ändert oder nicht, sondern auf einem Änderungsgrad des Ladezustands, ebenfalls eine Belohnung bestimmt werden kann. Insbesondere ist es beispielsweise auch möglich, dass ein Änderungsgrad LV des Ladezustands durch zwei Schwellenwerte TH1, TH2 (jedoch TH1>TH2) geteilt wird, und wenn die Änderung LV des Ladezustands größer als der Schwellenwert TH1 ist, eine positive Belohnung (LV>TH1: Belohnung +5) eingestellt wird, wenn die Änderung LV des Ladezustands zwischen den Schwellenwerten TH1 und TH2 liegt, ein Nullwert (TH1≥LV≥TH2: Belohnung 0) eingestellt wird, und wenn die Änderung LV des Ladezustands kleiner als der Schwellenwert TH2 ist, eine negative Belohnung (TH2>LV: Belohnung -5) eingestellt wird. Ferner kann bezüglich des Änderungsgrads des Ladezustands, beispielsweise wenn die Messdaten ein Abstandsbild sind, auch die Anzahl von Pixeln darin gezählt werden, bei denen es eine Änderung in dem Abstandsbild gibt, oder ein Änderungswert der Pixel kann auch gefaltet werden, wobei dieses Verfahren optional ist.
  • Ferner ist es auch möglich, dass eine Gewichtung konfiguriert wird, um in Abhängigkeit von der Bestimmung gemäß der Bestimmungsbedingung 1 in Schritt ST24 oder der Bestimmung gemäß der Bestimmungsbedingung 2 in Schritt ST27 unterschiedlich zu sein. Insbesondere kann beispielsweise in Schritt ST28, wenn die Berechnung der Haltepositionslagedaten 31a gemäß der Bestimmungsbedingung 2 erfolgreich ist (z.B. +10), eine positive Belohnung eingestellt werden, um größer zu sein als eine positive Belohnung in Schritt ST25, wenn sich ein Ladezustand gemäß der Bestimmungsbedingung 1 (z.B. +5) ändert. Dies ist der Fall, weil es, selbst wenn sich ein Ladezustand gemäß der Bestimmungsbedingung 1 ändert, falls die Berechnung der Haltepositionslagedaten 31a gemäß der Bestimmungsbedingung 2 nicht erfolgreich ist, schwierig ist, die Werkstücke 4 zu halten und aufzuheben, und somit ist das Verstärken einer Gewichtung eines Bestimmungsergebnisses (Belohnung) gemäß der Bestimmungsbedingung 2 von Vorteil. Es sei zu beachten, dass selbstverständlich die Bestimmungsbedingung nicht auf die Bestimmungsbedingung 1 in Schritt ST24 und die Bestimmungsbedingung 2 in Schritt ST27 eingeschränkt ist, sondern zusätzlich auch andere Bedingungen umfassen kann oder auch entweder die Bestimmungsbedingung 1 oder die Bestimmungsbedingung 2 sein kann.
  • Als Nächstes fährt der Prozess mit Schritt ST30 fort, und auf der Grundlage der Bestimmung gemäß der Bestimmungsbedingung 1 in Schritt ST24 und der Bestimmung gemäß der Bestimmungsbedingung 2 in Schritt ST27, d.h. auf der Grundlage einer Summe von Belohnungen durch die Schritte ST25, ST26, ST28 und ST29, wird eine Wertfunktion, die einen Wert des Vorgangs zum Verbessern eines Ladezustands der Werkstücke 4 bestimmt, aktualisiert, und der Prozess fährt mit Schritt ST31 fort. In Schritt ST31 wird bestimmt, ob die Verarbeitung zum Verbessern eines Ladezustands fortzuführen ist oder nicht, und wenn bestimmt wird, diese fortzuführen (ST31: Ja), kehrt der Prozess zu Schritt ST21 zurück, und die Verarbeitung wie zuvor beschrieben wird wiederholt, und wenn bestimmt wird, diese nicht fortzuführen (ST31: Nein), ist die Verarbeitung zum Verbessern eines Ladezustands beendet. Somit wird das maschinelle Lernen (Verstärkungslernen) eingesetzt, um die Verarbeitung zum Verbessern eines Ladezustands auszuführen, so dass die Anzahl von schwer aufzuhebenden Werkstücken noch weiter reduziert werden kann.
  • 10 ist ein Blockdiagramm, das eine Werkstückaufnahmevorrichtung 300 gemäß der dritten Ausführungsform abbildet und soll schematisch eine Konfiguration des Roboters-Controller 3 abbilden. Wie aus dem Vergleich von 10 und 3 hervorgeht, wie zuvor beschrieben, umfasst bei der Werkstückaufnahmevorrichtung 300 gemäß der dritten Ausführungsform der Roboter-Controller 3 eine Robotersteuereinheit 30, eine Einheit 33 zum Ausgeben eines Kandidatenvorgangs, die mindestens eine Einheit 31-1 bis 31-n zum Berechnen einer Haltepositionslage und mindestens eine Einheit 32-1 bis 32-m zum Generieren eines Vorgangs zum Verbessern eines Ladezustands und eine Vorgangsbestimmungseinheit 34 umfasst.
  • Die Vorgangsbestimmungseinheit 34 steuert den Roboter 1 über die Robotersteuereinheit 30 auf der Grundlage einer Ausgabe der Einheit 33 zum Ausgeben eines Kandidatenvorgangs. Die Vorgangsbestimmungseinheit 34 umfasst eine maschinelle Lernvorrichtung 6, die einen Vorgang zum Verbessern eines Ladezustands der Werkstücke (4) durch den Roboter 1 erlernt, indem sie maschinelles Lernen (Verstärkungslernen) ausführt.
  • 11 ist ein Blockdiagramm, das die Werkstückaufnahmevorrichtung 300 gemäß der dritten Ausführungsform abbildet und derjenigen entspricht, bei der als Vorgangsbestimmungseinheit 4 die maschinelle Lernvorrichtung 6 eingesetzt wird. Es sei zu beachten, dass die maschinelle Lernvorrichtung (erste maschinelle Lernvorrichtung) 6 bei der Werkstückaufnahmevorrichtung 300 gemäß der dritten Ausführungsform der maschinellen Lernvorrichtung (zweiten maschinellen Lernvorrichtung) 5 bei der Werkstückaufnahmevorrichtung 200 gemäß der zweiten Ausführungsform entspricht, wie mit Bezug auf 6 beschrieben, und beispielsweise ähnlich wie mit Bezug auf 7, 8 und so weiter beschrieben, konfiguriert sein kann, beispielsweise durch ein neuronales Netzwerk, und ausgebildet sein kann, indem eine GPGPU, große PC-Cluster oder dergleichen übernommen werden. Ferner können ähnlich wie bei der zweiten Ausführungsform bezüglich der Vorgangsbestimmung zum Bestimmen eines Vorgangs aus mindestens einem Vorgangskandidaten, wie er durch die maschinelle Lernvorrichtung 6 erlernt wird, Daten in der Mehrzahl von entsprechenden maschinellen Lernvorrichtungen (6) über ein Kommunikationsmedium gegenseitig geteilt oder ausgetauscht werden. Zudem kann beispielsweise die maschinelle Lernvorrichtung 6 auch in der Robotersteuereinheit 30 und dem Roboter-Controller 3 (nicht abgebildet) integriert sein, der die Einheiten 31-1 bis 31-n zum Berechnen einer Haltepositionslage und dergleichen umfasst, kann jedoch auch als spezielle Vorrichtung getrennt von dem Roboter-Controller 3 bereitgestellt werden.
  • Wie in 11 abgebildet, umfasst die maschinelle Lernvorrichtung 6 eine Zustandsbeobachtungseinheit (erste Zustandsbeobachtungseinheit) 61, eine Einheit 62 zum Erzielen von Bestimmungsdaten (erste Einheit zum Erzielen von Bestimmungsdaten), eine Lerneinheit (erste Lerneinheit) 63, und eine Entscheidungseinheit 64. Die Zustandsbeobachtungseinheit 61 beobachtet als Zustandsdaten die Messdaten 2a jedes der Werkstücke 4 basierend auf einer Ausgabe des Sensors 2, die Haltepositionslagedaten 31a-1 bis 31a-n basierend auf einer Ausgabe mindestens einer Einheit 31 zum Berechnen einer Haltepositionslage 31-1 bis 31-n, und die Daten 32a-1 bis 32am über einen Vorgang zum Verbessern eines Ladezustands basierend auf einer Ausgabe von mindestens einer Einheit 31-1 bis 32-m zum Generieren eines Vorgangs zum Verbessern eines Ladezustands. Ferner erzielt die Einheit zum Erzielen von Bestimmungsdaten 62 als Bestimmungsdaten beispielsweise Zeitdaten bezüglich der Handhabung (Handhabungsvorgang) der Werkstücke 4 durch den Roboter 1. Dann empfängt die Lerneinheit 63 beispielsweise eine Ausgabe von der Zustandsbeobachtungseinheit 61 und eine Ausgabe von der Einheit zum Erzielen von Bestimmungsdaten 62 und erlernt einen Vorgang zum Verbessern eines Ladezustands der Werkstücke 4.
  • Die erste Lerneinheit 63 umfasst eine Belohnungsberechnungseinheit (erste Belohnungsberechnungseinheit) 631, die eine Belohnung auf der Grundlage der Zeitdaten bezüglich der Handhabung der Werkstücke 4 berechnet, wobei es sich um eine Ausgabe der Einheit 62 zum Erzielen von Bestimmungsdaten handelt, und eine Wertfunktionaktualisierungseinheit (erste Wertfunktionaktualisierungseinheit) 632, die eine Wertfunktion aufweist, um einen Wert einer Vorgangsbestimmung zum Bestimmen eines Vorgangs aus mindestens einem Vorgangskandidaten zu bestimmen, und die Wertfunktion gemäß der Belohnung aktualisiert. Die Belohnungsberechnungseinheit 631 stellt beispielsweise eine positive Belohnung ein, wenn eine durchschnittliche Zykluszeit, bei der Zeiten, die zur Handhabung eines Werkstücks 4 benötigt werden, gemittelt werden, kurz ist, und stellt eine negative Belohnung ein, wenn die durchschnittliche Zykluszeit lang ist (erste Belohnungseinstellung). Ferner stellt die Belohnungsberechnungseinheit 631 beispielsweise eine positive Belohnung ein, wenn eine Streuungszykluszeit, die eine Streuung der Zeiten angibt, die zur Handhabung eines Werkstücks 4 benötigt werden, kurz ist, und stellt eine negative Belohnung ein, wenn die Streuungszykluszeit lang ist (zweite Belohnungseinstellung). Es sei zu beachten, dass die Belohnungsberechnungseinheit 631 sowohl die erste Belohnungseinstellung als auch die zweite Belohnungseinstellung ausführen kann, jedoch eine von beiden ausführen kann. Es sei zu beachten, dass bei der Werkstückaufnahmevorrichtung 300 gemäß der dritten Ausführungsform die Einheit 32-1 bis 32-m zum Generieren eines Vorgangs zum Verbessern eines Ladezustands auch derart konfiguriert sein kann, dass sie die maschinelle Lernvorrichtung 5 wie bei der zweiten Ausführungsform einsetzt, wie zuvor beschrieben, um die Daten 32a-1 bis 32a-m über einen Vorgang zum Verbessern eines Ladezustands zu generieren.
  • 12 und 13 sind Ablaufschemata zum Erläutern eines Beispiels einer Werkstückaufnahmeverarbeitung der Werkstückaufnahmevorrichtung 300 gemäß der dritten Ausführungsform: 12 soll einen gesamten Verarbeitungsablauf erläutern; und 13 soll eine Verarbeitung zum Bestimmen eines Vorgangs des maschinellen Lernens (Verstärkungslernens) erläutern.
  • Zunächst, wie in 12 abgebildet, wenn ein Beispiel der Werkstückaufnahmeverarbeitung der Werkstückaufnahmevorrichtung 300 gemäß der dritten Ausführungsform in Schritt ST41 beginnt, werden die Messdaten 2a basierend auf einer Ausgabe des Sensors 2 erzielt, der Prozess fährt mit Schritt ST42 fort, und ein oder mehrere (mindestens ein) Haltepositionslagenkandidat und ein oder mehrere Kandidaten eines Vorgangs zum Verbessern eines Ladezustands (Vorgangskandidatengruppe) werden ausgegeben, und der Prozess fährt mit Schritt ST43 fort. In Schritt ST43 wird beispielsweise bestimmt, welcher Vorgang aus einer Mehrzahl von Haltepositionslagen und Vorgängen zum Verbessern eines Ladezustands bestimmt wird, und der Prozess fährt mit Schritt ST44 fort.
  • In Schritt ST44 wird bestimmt, ob ein Handhabungsvorgang (z.B. eine Reihe von Vorgängen zur Aufnahme der Werkstücke 4 durch den Roboter 1 und das Innendurchmesserfutter (Hand) 10) auszuführen ist oder nicht, und wenn bestimmt wird, den Handhabungsvorgang (ST44: Ja) auszuführen, fährt der Prozess mit Schritt ST45 fort und der Handhabungsvorgang wird ausgeführt, und der Prozess fährt mit Schritt ST47 fort. Wenn ferner in Schritt ST44 bestimmt wird, den Handhabungsvorgang (ST44: Nein) nicht auszuführen, fährt der Prozess mit Schritt ST46 fort, und ein Vorgang zum Verbessern eines Ladezustands wird ausgeführt, und der Prozess fährt mit Schritt ST47 fort.
  • Wenn das maschinelle Lernen (Verstärkungslernen) bei einem Aufnahmevorgang (Handhabungsvorgang) ausgeführt wird, beispielsweise wird in die maschinelle Lernvorrichtung 6 eingegeben, ob das Aufnehmen erfolgreich ist oder nicht, und bei dem Vorgang zum Verbessern eines Ladezustands, wird beispielsweise in die maschinelle Lernvorrichtung 6 eingegeben, ob sich ein Ladezustand ändert oder nicht. Es sei zu beachten, dass sowohl bei dem Handhabungsvorgang als auch bei dem Vorgang zum Verbessern eines Ladezustands beispielsweise eine gesamte verstrichene Zeit, nachdem ein System gestartet wurde (die Verarbeitung begonnen hat), die gesamte Anzahl von Erfolgen beim Aufnehmen, die Messdaten 2a und dergleichen in die maschinelle Lernvorrichtung 6 eingegeben werden.
  • In Schritt ST47 wird eine Wertfunktion der Vorgangsbestimmung zum Bestimmen eines Vorgangs aus mindestens einem Vorgangskandidaten aktualisiert, und der Prozess fährt mit Schritt ST48 fort, und es wird beispielsweise bestimmt, ob das Aufnehmen aller Werkstücke beendet ist oder nicht, und wenn bestimmt wird, dass das Aufnehmen aller Werkstücke beendet ist (ST48: Ja), ist die Verarbeitung beendet, und wenn bestimmt wird, dass das Aufnehmen aller Werkstücke nicht beendet ist (ST48: Nein), kehrt der Prozess zu Schritt ST41 zurück, und eine ähnliche Verarbeitung wie zuvor beschrieben wird wiederholt. Als Messdaten 2a kann man beispielsweise auch verwenden, was beim Lernen durch die maschinelle Lernvorrichtung 6 gelernt wird.
  • Als Nächstes, wie in 13 abgebildet, wenn ein Beispiel einer Verarbeitung zum Verbessern eines Ladezustands der Werkstückaufnahmevorrichtung 300 (maschinelle Lernvorrichtung 6) gemäß der dritten Ausführungsform beginnt, werden in Schritt ST51 die Zustandsdaten erzielt, der Prozess fährt mit Schritt ST52 fort, und eine ausgegebene Aktion wird ausgeführt, und ferner fährt der Prozess mit Schritt ST53 fort. Die Zustandsdaten, die in Schritt ST51 erzielt werden, umfassen beispielsweise die Messdaten 2a basierend auf einer Ausgabe des Sensors 2, mindestens ein Haltepositionslagedatenelement 31a-1 bis 31a-n basierend auf einer Ausgabe von mindestens einer Einheit 31-1 bis 31-n zum Berechnen einer Haltepositionslage, mindestens ein Datenelement 32a-1 bis 32a-m eines Vorgangs zum Verbessern eines Ladezustands basierend auf einer Ausgabe von mindestens einer Einheit 32-1 bis 32-m zum Generieren eines Vorgangs zum Verbessern eines Ladezustands und dergleichen.
  • Zudem entspricht die Aktion, die in Schritt ST52 ausgegeben wird, dem Bestimmen eines Vorgangs aus mindestens einem Vorgangskandidaten, der von der Vorgangskandidateneinheit ausgegeben wird. Ferner umfasst die Aktion, die in Schritt ST52 ausgegeben wird, beispielsweise das Ausführen eines Aufnahmevorgangs oder eines Vorgangs zum Verbessern eines Ladezustands durch den Roboter 1 auf der Grundlage einer Vorgangsbestimmung.
  • In Schritt ST53 werden die Bestimmungsdaten basierend auf der in Schritt ST452 ausgegebenen Aktion erzielt, und eine Bestimmung gemäß einer Bestimmungsbedingung A aus Schritt ST54 und eine Bestimmung gemäß einer Bestimmungsbedingung B aus Schritt ST57 werden ausgeführt. Mit anderen Worten werden bei dem Erzielen der Bestimmungsdaten in Schritt ST53 beispielsweise eine durchschnittliche Zykluszeit, bei der die Zeiten, die zur Handhabung eines Werkstücks 4 notwendig sind, gemittelt sind (Bestimmungsbedingung A), und eine Streuungszykluszeit, die eine Streuung von Zeiten angibt, die zur Handhabung eines Werkstücks 4 benötigt werden (Bestimmungsbedingung B) werden, erzielt.
  • Zunächst fährt der Prozess in Schritt ST54 auf der Grundlage der durchschnittlichen Zykluszeit, bei der die Zeiten, die zur Handhabung eines Werkstücks 4 benötigt werden, gemittelt sind, wie in Schritt ST53 erzielt, wenn beispielsweise bestimmt wird, dass sich die durchschnittliche Zeit verkürzt, mit Schritt ST55 fort, und eine positive Belohnung wird eingestellt, und wenn bestimmt wird, dass sich die durchschnittliche Zeit verlängert, fährt der Prozess mit Schritt ST56 fort, und eine negative Belohnung wird eingestellt. Mit anderen Worten, je kürzer die durchschnittliche Zykluszeit, desto größer ist die Anzahl der Werkstücke, die pro Zeiteinheit verarbeitet werden können, so dass konfiguriert wird, dass, wenn sich die durchschnittliche Zykluszeit verkürzt, eine positive Belohnung eingestellt wird.
  • Ferner fährt der Prozess in Schritt ST57 auf der Grundlage der Streuungszykluszeit, die eine Streuung von Zeiten angibt, die zur Handhabung eines Werkstücks 4 benötigt werden, wie in Schritt ST53 erzielt, beispielsweise wenn bestimmt wird, dass sich die Streuungszykluszeit verringert (verkürzt), mit Schritt ST58 fort, und eine positive Belohnung wird eingestellt, und wenn bestimmt wird, dass sich die Streuungszykluszeit vergrößert (verlängert), fährt der Prozess mit Schritt ST59 fort, und eine negative Belohnung wird eingestellt. Mit anderen Worten, je kürzer die Streuungszykluszeit (Streuung der Zykluszeiten), desto stabiler kann die Handhabung in gewissen Intervallen ausgeführt werden, so dass konfiguriert wird, dass, wenn sich die Streuungszykluszeit verkürzt, eine positive Belohnung eingestellt wird.
  • Ferner fährt der Prozess mit Schritt ST60 fort, und auf der Grundlage der Bestimmung gemäß der Bestimmungsbedingung A in Schritt ST54 und der Bestimmung gemäß der Bestimmungsbedingung B in Schritt ST57, d.h. auf der Grundlage einer Summe von Belohnungen durch die Schritte ST55, ST56, ST58 und ST59, wird die Wertfunktion der Vorgangsbestimmung aktualisiert, und der Prozess fährt mit Schritt ST61 fort. In Schritt ST61 wird bestimmt, ob die Verarbeitung der Vorgangsbestimmung fortzuführen ist oder nicht, und wenn bestimmt wird, diese fortzuführen (ST61: Ja), kehrt der Prozess zu Schritt ST51 zurück, und die Verarbeitung wie zuvor beschrieben wird wiederholt, und wenn bestimmt wird, diese nicht fortzuführen (ST61: Nein), wird die Verarbeitung der Vorgangsbestimmung beendet. Somit wird das maschinelle Lernen (Verstärkungslernen) eingesetzt, um die Verarbeitung der Vorgangsbestimmung auszuführen, so dass die Anzahl von schwer aufzuhebenden Werkstücken noch weiter reduziert werden kann.
  • Es sei zu beachten, dass es auch möglich ist, dass eine Gewichtung konfiguriert wird, um in Abhängigkeit von der Bestimmung gemäß der Bestimmungsbedingung A in Schritt ST54 oder der Bestimmung gemäß der Bestimmungsbedingung B in Schritt ST57 unterschiedlich zu sein, und beispielsweise eine Gewichtung eines Bestimmungsergebnisses gemäß der Bestimmungsbedingung A eingestellt wird, um groß zu sein, wodurch das maschinelle Lernen ausgeführt werden kann und der Anzahl von Werkstücken, die pro Zeiteinheit aufgehoben werden können, Bedeutung gegeben wird. Ferner ist es selbstverständlich, dass die Bestimmungsbedingung nicht auf die Bestimmungsbedingung A in Schritt ST54 und die Bestimmungsbedingung B in Schritt ST57 eingeschränkt ist, sondern auch zusätzlich andere Bedingungen umfassen kann, oder auch entweder die Bestimmungsbedingung A oder die Bestimmungsbedingung B sein kann.
  • Wie zuvor ausführlich beschrieben, kann gemäß jeder Ausführungsform die Anzahl von schwer aufzuhebenden Werkstücken reduziert werden, und beispielsweise können die Werkstücke, auch das letzte, aufgehoben werden, und dadurch kann eine Verbesserung der Produktivität angestrebt werden. Mit anderen Worten erzeugen die Werkstückaufnahmevorrichtung und das Werkstückaufnahmeverfahren der vorliegenden Erfindung Wirkungen, die es ermöglichen, die Anzahl von schwer aufzuhebenden Werkstücken zu reduzieren.

Claims (13)

  1. Werkstückaufnahmevorrichtung, umfassend: einen Sensor (2), der eine Mehrzahl von Werkstücken (4, 4a bis 4d) misst, die in einem dreidimensionalen Raum wahllos gestapelt sind; einen Roboter (1), der die Werkstücke (4, 4a bis 4d) hält; eine Hand (10), die an dem Roboter (1) montiert ist, wobei die Hand (10) zum Halten der Werkstücke (4, 4a bis 4d) fähig ist; eine Einheit (31a) zum Berechnen einer Haltepositionslage (31), die Haltepositionslagedaten einer Position und einer Lage zum Halten der Werkstücke (4, 4a bis 4d) durch den Roboter (1) auf der Grundlage einer Ausgabe des Sensors (2) berechnet; eine Einheit (32) zum Generieren eines Vorgangs zum Verbessern eines Ladezustands, die Daten (32a) über einen Vorgang zum Verbessern eines Ladezustands eines Vorgangs zum Verbessern eines Ladezustands der Werkstücke (4, 4a bis 4d) durch den Roboter (1) auf der Grundlage einer Ausgabe des Sensors (2) generiert; eine Robotersteuereinheit (30), die den Roboter (1) und die Hand (10) steuert, eine Einheit (33) zum Ausgeben von Vorgangskandidaten, welche die mindestens eine Einheit (31) zum Berechnen einer Haltepositionslage und die mindestens eine Einheit (32) zum Generieren eines Vorgangs zum Verbessern eines Ladezustands umfasst und mindestens einen Vorgangskandidaten ausgibt; und eine Vorgangsbestimmungseinheit (34), die einen Vorgang aus dem mindestens einen Vorgangskandidaten bestimmt, der von der Einheit (33) zum Ausgeben von Vorgangskandidaten ausgegeben wird, und den Roboter (1) über die Robotersteuereinheit (30) auf der Grundlage des bestimmten Vorgangs steuert, wobei die Robotersteuereinheit (30) den Roboter (1) und die Hand (10) auf der Grundlage einer Ausgabe der Einheit (31) zum Berechnen einer Haltepositionslage und der Einheit (32) zum Generieren eines Vorgangs zum Verbessern eines Ladezustands steuert, um die Werkstücke (4, 4a bis 4d) aufzuheben oder einen Vorgang zum Verbessern eines Ladezustands auszuführen, wobei die Vorgangsbestimmungseinheit (34) eine erste maschinelle Lernvorrichtung (6) umfasst, die ein maschinelles Lernen ausführt, um eine Vorgangsbestimmung zum Bestimmen eines Vorgangs aus mindestens einem Vorgangskandidaten, der durch die Einheit (33) zum Ausgeben von Vorgangskandidaten ausgegeben wird, umfasst, und die erste maschinelle Lernvorrichtung (6) umfasst: eine erste Zustandsbeobachtungseinheit (61), die als Zustandsdaten Messdaten, die durch den Sensor (2) erzielt werden, Haltepositionslagedaten (31a) basierend auf einer Ausgabe der mindestens einen Einheit (31) zum Berechnen einer Haltepositionslage, und Daten über einen Vorgang zum Verbessern eines Ladezustands (32a) basierend auf einer Ausgabe der mindestens einen Einheit (32) zum Generieren eines Vorgangs zum Verbessern eines Ladezustands beobachtet; eine erste Einheit (62) zum Erzielen von Bestimmungsdaten, die als Bestimmungsdaten Zeitdaten bezüglich der Handhabung, wobei es sich um eine Reihe von Vorgängen des Aufnehmens der Werkstücke (4, 4a bis 4d) durch den Roboter (1) und die Hand (10) handelt, erzielt; und eine erste Lerneinheit (63), die eine Vorgangsbestimmung zum Bestimmen eines Vorgangs aus mindestens einem Vorgangskandidaten, der durch die Einheit (33) zum Ausgeben von Vorgangskandidaten ausgegeben wird, auf der Grundlage der Zustandsdaten, die durch die erste Zustandsbeobachtungseinheit (61) erzielt werden, und der Bestimmungsdaten, die durch die erste Einheit (62) zum Erzielen von Bestimmungsdaten erzielt werden, erlernt.
  2. Werkstückaufnahmevorrichtung nach Anspruch 1, wobei die Einheit (31) zum Berechnen einer Haltepositionslage die Haltepositionslagedaten (31a) an die Robotersteuereinheit (30) ausgibt, wenn die Werkstücke (4, 4a bis 4d), die durch den Roboter (1) gehalten werden können, vorhanden sind, und die Einheit (32) zum Generieren eines Vorgangs zum Verbessern eines Ladezustands die Daten (32a) über einen Vorgang zum Verbessern eines Ladezustands an die Robotersteuereinheit (30) ausgibt, wenn keines der Werkstücke (4, 4a bis 4d), die durch den Roboter (1) gehalten werden können, vorhanden ist.
  3. Werkstückaufnahmevorrichtung nach Anspruch 1 oder 2, wobei die erste Lerneinheit (63) umfasst: eine erste Belohnungsberechnungseinheit (631), die eine Belohnung auf der Grundlage von Zeitdaten berechnet, wobei es sich um Bestimmungsdaten handelt, die durch die erste Einheit (62) zum Erzielen von Bestimmungsdaten erzielt werden; und eine erste Wertfunktionaktualisierungseinheit (632), die eine Wertfunktion aufweist, um einen Wert einer Vorgangsbestimmung zu bestimmen, um einen Vorgang aus dem mindestens einen Vorgangskandidaten zu bestimmen, und die Wertfunktion gemäß der Belohnung aktualisiert, und die Vorgangsbestimmungseinheit (34) führt eine Vorgangsbestimmung auf der Grundlage der Wertfunktion aus.
  4. Werkstückaufnahmevorrichtung nach Anspruch 3, wobei die erste Belohnungsberechnungseinheit (631) mindestens eine ausführt von: einer ersten Belohnungseinstellung zum Einstellen einer positiven Belohnung, wenn eine durchschnittliche Zykluszeit, bei der die Zeiten, die zur Handhabung des einen Werkstücks (4, 4a bis 4d) benötigt werden, gemittelt werden, kurz ist, und zum Einstellen einer negativen Belohnung, wenn die durchschnittliche Zykluszeit lang ist; und eine zweite Belohnungseinstellung zum Einstellen einer positiven Belohnung, wenn eine Streuungszykluszeit, die eine Streuung von Zeiten angibt, die zur Handhabung des einen Werkstücks (4, 4a bis 4d) benötigt werden, kurz ist, und eine negative Belohnung einstellt, wenn die Streuungszykluszeit lang ist.
  5. Werkstückaufnahmevorrichtung, umfassend: einen Sensor (2), der eine Mehrzahl von Werkstücken (4, 4a bis 4d) misst, die in einem dreidimensionalen Raum wahllos gestapelt sind; einen Roboter (1), der die Werkstücke (4, 4a bis 4d) hält; eine Hand (10), die an dem Roboter (1) montiert ist, wobei die Hand (10) zum Halten der Werkstücke (4, 4a bis 4d) fähig ist; eine Einheit (31a) zum Berechnen einer Haltepositionslage (31), die Haltepositionslagedaten einer Position und einer Lage zum Halten der Werkstücke (4, 4a bis 4d) durch den Roboter (1) auf der Grundlage einer Ausgabe des Sensors (2) berechnet; eine Einheit (32) zum Generieren eines Vorgangs zum Verbessern eines Ladezustands, die Daten (32a) über einen Vorgang zum Verbessern eines Ladezustands eines Vorgangs zum Verbessern eines Ladezustands der Werkstücke (4, 4a bis 4d) durch den Roboter (1) auf der Grundlage einer Ausgabe des Sensors (2) generiert; eine Robotersteuereinheit (30), die den Roboter (1) und die Hand (10) steuert, wobei die Robotersteuereinheit (30) den Roboter (1) und die Hand (10) auf der Grundlage einer Ausgabe der Einheit (31) zum Berechnen einer Haltepositionslage und der Einheit (32) zum Generieren eines Vorgangs zum Verbessern eines Ladezustands steuert, um die Werkstücke (4, 4a bis 4d) aufzuheben oder einen Vorgang zum Verbessern eines Ladezustands auszuführen, wobei die Einheit (32) zum Generieren eines Vorgangs zum Verbessern eines Ladezustands eine zweite maschinelle Lernvorrichtung (5) umfasst, die ein maschinelles Lernen ausführt, um einen Vorgang zum Verbessern eines Ladezustands der Werkstücke (4, 4a bis 4d) durch den Roboter (1) zu erlernen, und die zweite maschinelle Lernvorrichtung (5) umfasst: eine zweite Zustandsbeobachtungseinheit (51), die als Zustandsdaten Messdaten jedes der Werkstücke (4, 4a bis 4d) basierend auf einer Ausgabe des Sensors (2) und die Haltepositionslagedaten (31a) jedes der Werkstücke (4, 4a bis 4d) basierend auf einer Ausgabe der Einheit (31) zum Berechnen einer Haltepositionslage beobachtet; eine zweite Einheit (52) zum Erzielen von Bestimmungsdaten, die als Bestimmungsdaten erzielt, ob sich in Ladezustand vor oder nach einem Vorgang zum Verbessern eines Ladezustands der Werkstücke (4, 4a bis 4d) ändert oder nicht, basierend auf den Messdaten und den Haltepositionslagedaten (31a) jedes der Werkstücke (4, 4a bis 4d), nachdem ein Vorgang zum Verbessern eines Ladezustands der Werkstücke (4, 4a bis 4d) ausgeführt wurde; und eine zweite Lerneinheit (53), die eine Ausgabe von der zweiten Zustandsbeobachtungseinheit (51) und eine Ausgabe von der zweiten Einheit (52) zum Erzielen von Bestimmungsdaten empfängt, und einen Vorgang zum Verbessern eines Ladezustands der Werkstücke (4, 4a bis 4d) erlernt.
  6. Werkstückaufnahmevorrichtung nach Anspruch 5, wobei die zweite Lerneinheit (53) umfasst: eine zweite Belohnungsberechnungseinheit (531), die eine Belohnung auf der Grundlage davon, ob sich ein Ladezustand ändert oder nicht, bevor oder nachdem ein Vorgang zum Verbessern eines Ladezustands der Werkstücke (4, 4a bis 4d) ausgeführt wird, und der Haltepositionslagedaten (31a) jedes der Werkstücke (4, 4a bis 4d), nachdem ein Vorgang zum Verbessern eines Ladezustands der Werkstücke (4, 4a bis 4d) ausgeführt wurde, berechnet; und eine zweite Wertfunktionaktualisierungseinheit (532), die eine Wertfunktion aufweist, um einen Wert eines Vorgangs zum Verbessern eines Ladezustands der Werkstücke (4, 4a bis 4d) zu bestimmen, und die Wertfunktion gemäß der Belohnung aktualisiert, und die Einheit (32) zum Generieren eines Vorgangs zum Verbessern eines Ladezustands, die Daten (32a) über einen Vorgang zum Verbessern eines Ladezustands auf der Grundlage einer zweiten Wertfunktion generiert.
  7. Werkstückaufnahmevorrichtung nach Anspruch 6, wobei die zweite Belohnungsberechnungseinheit (531) mindestens eine ausführt von einer dritten Belohnungseinstellung zum Einstellen einer positiven Belohnung, wenn sich ein Ladezustand ändert, und zum Einstellen einer negativen Belohnung, wenn sich der Ladezustand vor oder nach einem Vorgang zum Verbessern eines Ladezustands der Werkstücke (4, 4a bis 4d) nicht ändert, und eine vierte Belohnungseinstellung zum Einstellen einer positiven Belohnung, wenn die Berechnung der Haltepositionslagedaten (31a) jedes der Werkstücke (4, 4a bis 4d) erfolgreich ist, und zum Einstellen einer negativen Belohnung, wenn die Berechnung der Haltepositionslagedaten (31a) jedes der Werkstücke (4, 4a bis 4d) fehlschlägt, nachdem ein Vorgang zum Verbessern eines Ladezustands der Werkstücke (4, 4a bis 4d) ausgeführt wurde.
  8. Werkstückaufnahmevorrichtung nach einem der Ansprüche 1 bis 7, wobei bezüglich einer Vorgangsbestimmung, die durch die erste maschinelle Lernvorrichtung (6) erlernt wird, oder eines Vorgangs zum Verbessern eines Ladezustands der Werkstücke (4, 4a bis 4d), der durch die zweite maschinelle Lernvorrichtung (5) erlernt wird, Daten konfiguriert werden, um in der Mehrzahl von entsprechenden ersten oder zweiten maschinellen Lernvorrichtungen (6, 5) über ein Kommunikationsmedium gegenseitig geteilt oder ausgetauscht zu werden.
  9. Werkstückaufnahmevorrichtung nach einem der Ansprüche 1 bis 8, wobei die Daten über einen Vorgang zum Verbessern eines Ladezustands (32a) Daten umfassen von: einer Vorbewegungsposition, in der sich der Roboter (1) dem Werkstück nähert; einer Startposition eines Vorgangs zum Verbessern eines Ladezustands, in welcher der Roboter (1) einen Vorgang zum Verbessern eines Ladezustands der Werkstücke (4, 4a bis 4d) startet; und einer Endposition eines Vorgangs zum Verbessern eines Ladezustands, in welcher der Roboter (1) einen Vorgang zum Verbessern eines Ladezustands der Werkstücke (4, 4a bis 4d) beendet.
  10. Werkstückaufnahmevorrichtung nach Anspruch 9, wobei die Daten über einen Vorgang zum Verbessern eines Ladezustands (32a) ferner umfassen: erste Daten der Geschwindigkeit, mit der sich der Roboter (1) von der Vorbewegungsposition zu der Startposition eines Vorgangs zum Verbessern eines Ladezustands bewegt; und zweite Daten der Geschwindigkeit, mit der sich der Roboter (1) von der Startposition eines Vorgangs zum Verbessern eines Ladezustands zu der Endposition eines Vorgangs zum Verbessern eines Ladezustands bewegt.
  11. Werkstückaufnahmevorrichtung nach Anspruch 9 oder 10, wobei die Hand (10) eine Magnethand oder eine Saughand ist, und der Vorgang zum Verbessern eines Ladezustands die Werkstücke (4, 4a bis 4d) zeitweilig in der Startposition eines Vorgangs zum Verbessern eines Ladezustands hält und die Werkstücke (4, 4a bis 4d) in der Endposition eines Vorgangs zum Verbessern eines Ladezustands hält.
  12. Werkstückaufnahmevorrichtung nach einem der Ansprüche 1 bis 11, wobei während der Vorgang zum Verbessern eines Ladezustands ausgeführt wird, eine Kraft, die auf mindestens einen von dem Roboter (1) und der Hand (10) ausgeübt wird, gemessen wird, und wenn eine vorgegebene Kraft oder mehr auf den mindestens einen von dem Roboter (1) und der Hand (10) während des Vorgangs zum Verbessern eines Ladezustands ausgeübt wird, der Vorgang zum Verbessern eines Ladezustands unterbrochen wird, um den Roboter (1) zu entnehmen.
  13. Werkstückaufnahmevorrichtung nach einem der Ansprüche 1 bis 12, wobei der Vorgang zum Verbessern eines Ladezustands ein Vorgang zum Bewegen oder Umkippen der Werkstücke (4, 4a bis 4d) durch Ausüben einer externen Kraft auf die Werkstücke (4, 4a bis 4d) durch die Hand (10) oder ein Vorgang, der ausgeführt wird, während eine geeignete externe Kraft auf die Werkstücke (4, 4a bis 4d) ausgeübt wird, indem eine Impedanzsteuerung auf den Vorgang zum Verbessern eines Ladezustands angewendet wird, ist.
DE102018000730.9A 2017-02-06 2018-01-30 Werkstückaufnahmevorrichtung und Werkstückaufnahmeverfahren zum Verbessern des Aufnahmevorgangs eines Werkstücks Active DE102018000730B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017019468A JP6453922B2 (ja) 2017-02-06 2017-02-06 ワークの取り出し動作を改善するワーク取り出し装置およびワーク取り出し方法
JP2017-019468 2017-02-06

Publications (2)

Publication Number Publication Date
DE102018000730A1 DE102018000730A1 (de) 2018-08-16
DE102018000730B4 true DE102018000730B4 (de) 2019-10-31

Family

ID=62982755

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018000730.9A Active DE102018000730B4 (de) 2017-02-06 2018-01-30 Werkstückaufnahmevorrichtung und Werkstückaufnahmeverfahren zum Verbessern des Aufnahmevorgangs eines Werkstücks

Country Status (4)

Country Link
US (1) US10603790B2 (de)
JP (1) JP6453922B2 (de)
CN (1) CN108393908B (de)
DE (1) DE102018000730B4 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021209646A1 (de) 2021-09-02 2023-03-02 Robert Bosch Gesellschaft mit beschränkter Haftung Robotervorrichtung, Verfahren zum computerimplementierten Trainieren eines Roboter-Steuerungsmodells und Verfahren zum Steuern einer Robotervorrichtung
DE102022130461B3 (de) 2022-11-17 2024-01-25 Aumann AG Verfahren und Vorrichtung zum roboterbasierten Vereinzeln von Objekten aus einem Aufnahmebehälter

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6616170B2 (ja) * 2015-12-07 2019-12-04 ファナック株式会社 コアシートの積層動作を学習する機械学習器、積層コア製造装置、積層コア製造システムおよび機械学習方法
JP6603257B2 (ja) * 2017-03-31 2019-11-06 ファナック株式会社 行動情報学習装置、管理装置、ロボット制御システム及び行動情報学習方法
JP6680750B2 (ja) * 2017-11-22 2020-04-15 ファナック株式会社 制御装置及び機械学習装置
JP6911798B2 (ja) * 2018-03-15 2021-07-28 オムロン株式会社 ロボットの動作制御装置
CN110340884A (zh) * 2018-04-05 2019-10-18 发那科株式会社 测定动作参数调整装置、机器学习装置以及系统
JP7102241B2 (ja) * 2018-06-14 2022-07-19 ヤマハ発動機株式会社 機械学習装置及びこれを備えたロボットシステム
JP6940542B2 (ja) * 2019-03-14 2021-09-29 ファナック株式会社 把持力調整装置及び把持力調整システム
JP7173317B2 (ja) * 2019-05-22 2022-11-16 日本電気株式会社 動作規則決定装置、動作規則決定方法およびプログラム
JP7207207B2 (ja) * 2019-07-09 2023-01-18 トヨタ自動車株式会社 演算装置、機械学習方法及び制御プログラム
CN115151389A (zh) * 2020-03-11 2022-10-04 利乐拉瓦尔集团及财务有限公司 推动器装置
EP3915734A1 (de) * 2020-05-29 2021-12-01 SW Automation GmbH Aufnahmevorrichtung zum aufnehmen eines beliebig angeordneten gegenstands sowie verfahren zum betreiben einer aufnahmevorrichtung
US20230109541A1 (en) * 2020-06-09 2023-04-06 Fanuc Corporation Workpiece unloading device
JP2022122670A (ja) * 2021-02-10 2022-08-23 オムロン株式会社 ロボットモデルの学習装置、ロボットモデルの機械学習方法、ロボットモデルの機械学習プログラム、ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
KR102346900B1 (ko) * 2021-08-05 2022-01-04 주식회사 애자일소다 픽 앤 플레이스 시스템을 위한 심층 강화학습 장치 및 방법
CN114800512A (zh) * 2022-05-10 2022-07-29 上海交通大学 一种基于深度强化学习的机器人推拨装箱方法及系统
WO2023242942A1 (ja) * 2022-06-14 2023-12-21 日本電信電話株式会社 スケジュール実行支援装置、方法およびプログラム

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001179669A (ja) * 1999-12-21 2001-07-03 Meidensha Corp ロボットの制御装置
EP1589483A2 (de) * 2004-04-23 2005-10-26 Fanuc Ltd System zum Greifen von Objekten
JP2012135820A (ja) * 2010-12-24 2012-07-19 Ihi Corp 自動ピッキング装置及び自動ピッキング方法
JP2012183616A (ja) * 2011-03-07 2012-09-27 Fuji Electric Co Ltd ピッキング用ワーク供給装置、およびワークピッキング装置
JP2013052490A (ja) * 2011-09-06 2013-03-21 Mitsubishi Electric Corp ワーク取り出し装置
DE102012024328B4 (de) * 2011-12-19 2014-02-13 Fanuc Corporation Entnahmevorrichtung mit einer Funktion zum Korrigieren der Stellung eines Artikels
DE112012002677T5 (de) * 2011-06-29 2014-04-17 Mitsubishi Electric Corp. Zuführvorrichtung für Bauelemente
JP2014138964A (ja) * 2013-01-21 2014-07-31 Toyota Motor Corp ロボットハンドの制御装置及び制御方法
JP2016132086A (ja) * 2015-01-22 2016-07-25 三菱電機株式会社 ワーク供給装置およびワーク把持姿勢計算方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08305433A (ja) * 1995-04-27 1996-11-22 Nissan Motor Co Ltd デパレタイジング制御装置
JP2000263480A (ja) * 1999-03-12 2000-09-26 Meidensha Corp ビンピッキング装置
JP4199264B2 (ja) 2006-05-29 2008-12-17 ファナック株式会社 ワーク取り出し装置及び方法
EP2346649B1 (de) * 2008-08-29 2020-07-29 ABB Schweiz AG Bin-picking-roboter mit mitteln zum bewegen der teile im behälter
JP5402697B2 (ja) * 2009-10-26 2014-01-29 株式会社安川電機 ロボット装置及びワーク取り出しシステム並びにワーク取り出し方法
JP4938115B2 (ja) 2010-07-27 2012-05-23 ファナック株式会社 ワーク取出し装置およびワーク取出し方法
JP5835926B2 (ja) * 2011-04-11 2015-12-24 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、およびプログラム
JP5899951B2 (ja) * 2012-01-18 2016-04-06 セイコーエプソン株式会社 ロボット装置および位置姿勢検出方法
JP5642759B2 (ja) 2012-10-31 2014-12-17 ファナック株式会社 物品取出装置及び物品取出方法
JP5929854B2 (ja) * 2013-07-31 2016-06-08 株式会社安川電機 ロボットシステムおよび被加工物の製造方法
JP5905549B1 (ja) * 2014-09-16 2016-04-20 ファナック株式会社 バラ積みされた物品を取出す物品取出装置
DE102016009030B4 (de) * 2015-07-31 2019-05-09 Fanuc Corporation Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
JP6522488B2 (ja) * 2015-07-31 2019-05-29 ファナック株式会社 ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法
JP7022076B2 (ja) * 2016-12-19 2022-02-17 株式会社安川電機 産業機器用の画像認識プロセッサ及びコントローラ
JP6526100B2 (ja) * 2017-04-28 2019-06-05 ファナック株式会社 物品取出システム
JP6695843B2 (ja) * 2017-09-25 2020-05-20 ファナック株式会社 装置、及びロボットシステム
JP6676030B2 (ja) * 2017-11-20 2020-04-08 株式会社安川電機 把持システム、学習装置、把持方法、及び、モデルの製造方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001179669A (ja) * 1999-12-21 2001-07-03 Meidensha Corp ロボットの制御装置
EP1589483A2 (de) * 2004-04-23 2005-10-26 Fanuc Ltd System zum Greifen von Objekten
JP2012135820A (ja) * 2010-12-24 2012-07-19 Ihi Corp 自動ピッキング装置及び自動ピッキング方法
JP2012183616A (ja) * 2011-03-07 2012-09-27 Fuji Electric Co Ltd ピッキング用ワーク供給装置、およびワークピッキング装置
DE112012002677T5 (de) * 2011-06-29 2014-04-17 Mitsubishi Electric Corp. Zuführvorrichtung für Bauelemente
JP2013052490A (ja) * 2011-09-06 2013-03-21 Mitsubishi Electric Corp ワーク取り出し装置
DE102012024328B4 (de) * 2011-12-19 2014-02-13 Fanuc Corporation Entnahmevorrichtung mit einer Funktion zum Korrigieren der Stellung eines Artikels
JP2014138964A (ja) * 2013-01-21 2014-07-31 Toyota Motor Corp ロボットハンドの制御装置及び制御方法
JP2016132086A (ja) * 2015-01-22 2016-07-25 三菱電機株式会社 ワーク供給装置およびワーク把持姿勢計算方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021209646A1 (de) 2021-09-02 2023-03-02 Robert Bosch Gesellschaft mit beschränkter Haftung Robotervorrichtung, Verfahren zum computerimplementierten Trainieren eines Roboter-Steuerungsmodells und Verfahren zum Steuern einer Robotervorrichtung
DE102021209646B4 (de) 2021-09-02 2024-05-02 Robert Bosch Gesellschaft mit beschränkter Haftung Robotervorrichtung, Verfahren zum computerimplementierten Trainieren eines Roboter-Steuerungsmodells und Verfahren zum Steuern einer Robotervorrichtung
DE102022130461B3 (de) 2022-11-17 2024-01-25 Aumann AG Verfahren und Vorrichtung zum roboterbasierten Vereinzeln von Objekten aus einem Aufnahmebehälter
EP4371716A1 (de) 2022-11-17 2024-05-22 Aumann AG Verfahren und vorrichtung zum roboterbasierten vereinzeln von objekten aus einem aufnahmebehälter

Also Published As

Publication number Publication date
JP2018126802A (ja) 2018-08-16
CN108393908B (zh) 2020-03-13
CN108393908A (zh) 2018-08-14
JP6453922B2 (ja) 2019-01-16
US10603790B2 (en) 2020-03-31
US20180222046A1 (en) 2018-08-09
DE102018000730A1 (de) 2018-08-16

Similar Documents

Publication Publication Date Title
DE102018000730B4 (de) Werkstückaufnahmevorrichtung und Werkstückaufnahmeverfahren zum Verbessern des Aufnahmevorgangs eines Werkstücks
DE102016009030B4 (de) Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
DE102016015873B3 (de) Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
DE102017008475B4 (de) Maschinenlernvorrichtung, robotersystem und maschinenlernverfahren zum erlernen eines roboter-betriebsprogramms
DE102016015942B3 (de) Maschinelle Lernvorrichtung, Robotercontroller, Robotersytem und maschinelles Lernverfahren zum Lernen des Handlungsmusters einer Person
DE102017010799B4 (de) Maschinenlernvorrichtung zum Lernen einer Bearbeitungsreihenfolge eines Robotersystems mit einer Mehrzahl von Laserbearbeitungsrobotern, dazugehöriges Robotersystem sowie Maschinenlernverfahren zum Lernen einer Bearbeitungsreihenfolge des Robotersystems mit einer Mehrzahl von Laserbearbeitungsrobotern
DE102019002065B4 (de) Maschinelle Lernvorrichtung, Robotersteuervorrichtung und Robotervisionssystem, das eine maschinelle Lernvorrichtung verwendet, und maschinelles Lernverfahren
DE112019002310B4 (de) Ausführen einer &#34;peg in hole&#34;-aufgabe mit unbekannter neigung
DE102016014264B4 (de) Maschinelle Lernvorrichtung, Blechpaketherstellungsvorrichtung, Blechpaketherstellungssystem und maschinelles Lernverfahren zum Erlernen des Stapelns von Paketblechen
DE102014108287A1 (de) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE102018215057A1 (de) Maschinelles-lernen-vorrichtung, robotersystem und maschinelles-lernen-verfahren
EP3797337B1 (de) Verfahren zum hantieren eines werkstücks mit hilfe eines entnahmewerkzeugs und maschine zur durchführung des verfahrens
DE102018006465A1 (de) Artikelstapelvorrichtung und maschinelle Lernvorrichtung
DE102018005199B4 (de) Bauteilzuführvorrichtung und maschinelle lernvorrichtung
DE112018007727B4 (de) Robotersystem
DE102018006248A1 (de) Steuervorrichtung und Lernvorrichtung
DE112019000097B4 (de) Steuervorrichtung, Arbeitsroboter, Programm und Steuerverfahren
DE102018002423B4 (de) Robotersteuerung, Vorrichtung für maschinelles Lernen und Verfahren für maschinelles Lernen
DE102017010759A1 (de) Numerische steuerung
EP3587045A1 (de) Verfahren und vorrichtung zum rechnergestützten ermitteln von regelparametern für eine günstige handlung eines technischen systems
DE112018007729B4 (de) Maschinelle Lernvorrichtung und mit dieser ausgestattetes Robotersystem
EP3741518A1 (de) Verfahren und vorrichtung für eine automatisierte beeinflussung eines aktuators
WO2019057679A1 (de) Verfahren und robotersystem zum anpassen eines robotereinsatzes an einen arbeitsprozess
DE102018126310B3 (de) Verfahren zum Erstellen eines Objektmodells zum Greifen eines Objekts, computerlesbares Speichermedium und Robotersystem
WO2024104707A1 (de) Anpassung einer greifsimulation durch parameteridentifikation in der realen welt

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final