DE112017007028T5 - Positionskontrollvorrichtung und Positionskontrollverfahren - Google Patents

Positionskontrollvorrichtung und Positionskontrollverfahren Download PDF

Info

Publication number
DE112017007028T5
DE112017007028T5 DE112017007028.7T DE112017007028T DE112017007028T5 DE 112017007028 T5 DE112017007028 T5 DE 112017007028T5 DE 112017007028 T DE112017007028 T DE 112017007028T DE 112017007028 T5 DE112017007028 T5 DE 112017007028T5
Authority
DE
Germany
Prior art keywords
movement
unit
objects
control
learning
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.)
Granted
Application number
DE112017007028.7T
Other languages
English (en)
Other versions
DE112017007028B4 (de
Inventor
Toshisada Mariyama
Mamoru Miura
Wataru Matsumoto
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE112017007028T5 publication Critical patent/DE112017007028T5/de
Application granted granted Critical
Publication of DE112017007028B4 publication Critical patent/DE112017007028B4/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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/085Force or torque sensors
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • B25J9/12Programme-controlled manipulators characterised by positioning means for manipulator elements electric
    • B25J9/126Rotary actuators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/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
    • 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
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D3/00Control of position or direction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

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

Abstract

Falls Vorgänge einschließlich einer Ausrichtung und Einführung hinsichtlich zwei Objekten durchgeführt werden, werden eine Pfadeinstellungseinheit 806 und eine Aktoreinheit 804 bereitgestellt, um eine Kontrollmenge zu lernen. Die Pfadeinstellungseinheit 806 stellt die Bewegungsmenge für das Entfernen eines Objekts aus seiner eingeführten Position und zum Lokalisieren von ihm auf dem und um den Pfad des Entfernens herum bereit. Die Aktoreinheit 804 erhält Positionen des Objekts und die Werte eines Kraftsensors 801 dort, um das Lernen durchzuführen, indem die Positionen des Objekts als die Werte für die Ausgabeschicht genommen werden und die Werte des Kraftsensors 801 als die Werte für die Eingabeschicht genommen werden. Daher können Lerndaten effizient gesammelt werden.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft eine Positionskontrollvorrichtung und ein Positionskontrollverfahren.
  • Stand der Technik
  • Allgemein muss zum Erzeugen eines Produktionssystems, in dem ein Roboterarm eine Montagearbeit durchführt, ein manueller Anweisungsvorgang, der als Lehren (Teaching) bezeichnet wird, durch einen Bediener durchgeführt werden. In einem solchen Fall wiederholt der Roboter Bewegungen nur für die bei dem Lehren gespeicherte Position, so dass der Roboter möglicherweise nicht dazu in der Lage ist, angemessen zu reagieren, falls Herstellungs- oder Montagefehler auftreten. Daher wird, falls eine Positionskorrekturtechnik, die einzelne Positionsfehler erlauben kann, entwickelt wird, eine Zunahme der Verwendungsmöglichkeiten von Robotern sowie eine Verbesserung der Produktivität erwartet.
  • Eine herkömmliche Technik ermöglicht eine Positionskorrektur unter Verwendung eines Kamerabildes bei Vorgängen bis zu dem Verbindereinführen (Patentdokument 1). Falls mehrere Vorrichtungen, wie etwa ein Kraftsensor und eine Stereokamera verwendet werden, ist es außerdem möglich, Positionsfehler zu erlauben, die den Produktionszusammenbau betreffen (Einführen, Werkstückhaltung usw.). Zum Bestimmen der Positionskorrekturmenge müssen jedoch die Werte, wie etwa die Koordinaten des Zentrums des ergriffenen Verbinders und die Koordinaten des Zentrums des Verbinders, der das Einführungszielteil ist, speziell aus den Bildinformationen berechnet werden, wie das Patentdokument 1 offenbart. Weil diese Berechnung von den Formen der Verbinder abhängt, muss eine Einstellung für jeden zu verwendenden Verbinder durch einen Designer vorgenommen werden. Falls die dreidimensionalen Informationen von einer Vorrichtung, wie etwa einer Entfernungskamera, erhalten werden, ist die Berechnung vergleichsweise einfach. Falls jedoch die dreidimensionalen Informationen aus zweidimensionalen Bildinformationen erhalten werden müssen, müssen die Bildverarbeitungsalgorithmen für jeden Verbinder entwickelt werden, was hohe Gestaltungskosten erfordert.
  • Als ein Verfahren für einen Roboter zum automatischen Lernen, ordnungsgemäße Handlungen zu erlangen, gibt es solche Verfahren, die als tiefgehendes Lernen und tiefgehendes bestärkendes Lernen bezeichnet werden. Jedoch muss die Datensammlung unter Verwendung von Techniken wie bestärkendes Lernen die gleiche Situation viele Male erfahren, so dass eine große Anzahl an Versuchen notwendig ist und eine zufriedenstellende Leistungsfähigkeit in unerprobten Situationen nicht garantiert werden kann. Außerdem müssen die Lerndaten gleichmäßig und extensiv für eine große Vielfalt an Situationen gesammelt werden, was viel Zeit und Aufwand in Anspruch nimmt.
  • Ein in dem Patentdokument 2 offenbartes Verfahren ermöglicht zum Beispiel eine Bestimmung eines optimalen Pfades in einem einzigen erfolgreichen Versuch; jedoch ist es unmöglich, Daten zu sammeln, die für tiefgehendes Lernen oder tiefgehendes bestärkendes Lernen verwendet werden können.
  • Zitierte Referenzen
  • Patentdokumente
    • Patentdokument 1: WO 98-017444
    • Patentdokument 2: Japanisches Patent mit der Offenlegungsnummer 2005-125475
  • Kurzdarstellung der Erfindung
  • Technisches Problem
  • Falls Vorgänge durchgeführt werden, die Ausrichtung und Einführung in Bezug auf zwei Objekte beinhalten, war es notwendig, Einführung in Bezug auf die zwei Objekte viele Male vorzunehmen, um eine große Menge an Daten zu erlangen.
  • Die vorliegende Offenbarung, die zum Lösen des Problems entwickelt wurde, ermöglicht eine Sammlung der Lerndaten effizient lediglich durch eine einzige Einführung.
  • Lösung des Problems
  • Eine Positionskontrollvorrichtung gemäß der vorliegenden Erfindung beinhaltet, falls Vorgänge durchgeführt werden, die Ausrichtung und Einführung hinsichtlich zwei Objekten beinhalten, Folgendes: eine Pfadeinstellungseinheit zum Anweisen, beim Entfernen von einem der zwei Objekte aus ihrem eingeführten Zustand, einer Bewegungsmenge für eine Bewegung von dem eingeführten Zustand zu einer Position auf einem Pfad und ihrer Umgebung; und eine Aktoreinheit zum Erhalten von Positionsdaten und eines Kraftsensorwertes nach einer Bewegung, um die Positionsdaten nach der Bewegung als eine Ausgabeschicht und den Kraftsensorwert an der Position nach der Bewegung als eine Eingabeschicht zu lernen.
  • Vorteilhafte Effekte der Erfindung
  • Gemäß der vorliegenden Offenbarung werden, falls Vorgänge durchgeführt werden, die eine Ausrichtung und Einführung hinsichtlich zwei Objekten beinhalten, die Werte eines Kraftsensors auf einem und um einen Pfad herum gemessen, durch den ein Objekt aus seiner eingeführten Position entfernt wird; dies ermöglicht eine effiziente Sammlung von Lerndaten.
  • Figurenliste
    • 1 ist eine Veranschaulichung, in der ein Roboterarm 100 gemäß Ausführungsform 1, männliche Verbinder 110 und weibliche Verbinder 120 angeordnet sind.
    • 2 ist ein funktionales Konfigurationsdiagramm, das die Positionskontrollvorrichtung gemäß Ausführungsform 1 zeigt.
    • 3 ist ein Hardwarestrukturdiagramm, das die Positionskontrollvorrichtung gemäß Ausführungsform 1 zeigt.
    • 4 ist ein Flussdiagramm, das die Positionskontrolle, die durch die Positionskontrollvorrichtung durchgeführt wird, gemäß Ausführungsform 1 zeigt.
    • 5 ist ein Beispiel für Diagramme, die die Kamerabilder und die Kontrollmengen zeigen; die Bilder sind durch die monokulare Kamera 102 gemäß Ausführungsform 1 bei der Einführungsstartposition und in ihren Umgebungen erfasst.
    • 6 ist ein Beispiel, das ein neuronales Netz und eine Lernregel des neuronalen Netzes gemäß Ausführungsform 1 zeigt.
    • 7 ist ein Flussdiagramm, das das neuronale Netz gemäß Ausführungsform 1 zeigt, wobei mehrere Netze verwendet werden.
    • 8 ist ein funktionales Konfigurationsdiagramm einer Positionskontrollvorrichtung gemäß Ausführungsform 2.
    • 9 ist ein Hardwarestrukturdiagramm der Positionskontrollvorrichtung gemäß Ausführungsform 2.
    • 10 zeigt einen männlichen Verbinder 110 und einen weiblichen Verbinder 120 bei einem Versuch zum Zusammenfügen gemäß Ausführungsform 2.
    • 11 ist ein Flussdiagramm, das das Pfadlernen der Positionskontrollvorrichtung gemäß Ausführungsform 2 zeigt.
    • 12 ist ein Flussdiagramm, das das Pfadlernen einer Positionskontrollvorrichtung gemäß Ausführungsform 3 zeigt.
    • 13 ist ein Beispiel, das ein neuronales Netz und eine Lernregel des neuronalen Netzes gemäß Ausführungsform 3 zeigt.
  • Beschreibung der Ausführungsformen
  • Ausführungsform 1
  • Nachfolgend werden Ausführungsformen der vorliegenden Erfindung beschrieben.
  • In Ausführungsform 1 werden ein Roboterarm, der die Einführungspositionen von Verbindern lernt und in einer Fertigungsstraße arbeitet, sowie sein Positionskontrollverfahren beschrieben.
  • Konfigurationen werden beschrieben. 1 ist eine Veranschaulichung, in der ein Roboterarm 100, männliche Verbinder 110 und weibliche Verbinder 120 gemäß Ausführungsform 1 angeordnet sind. Der Roboterarm 100 ist mit einer Greifeinheit 101 zum Ergreifen eines männlichen Verbinders 110 versehen und eine monokulare Kamera 102 ist an dem Roboterarm 100 bei einer Position angebracht, bei der die monokulare Kamera 102 die Greifeinheit sehen kann. Wenn die Greifeinheit 101 an dem Ende des Roboterarms 100 den männlichen Verbinder 110 greift, ist die monokulare Kamera 102 so positioniert, dass sie dazu in der Lage ist, das Ende des ergriffenen männlichen Verbinders 110 und den weiblichen Verbinder 120, in den er eingeführt wird, zu sehen.
  • 2 ist ein funktionales Konfigurationsdiagramm, das die Positionskontrollvorrichtung gemäß Ausführungsform 1 zeigt.
  • Wie in 2 gezeigt, beinhaltet die Positionskontrollvorrichtung Folgendes: eine Bildgebungseinheit 201, die zum Erfassen von Bildern ausgelegt ist, wobei die Bildgebungseinheit 201 eine Funktion der in 1 gezeigten monokularen Kamera 102 ist; eine Kontrollparametererzeugungseinheit 202, die zum Erzeugen einer Positionskontrollmenge des Roboterarms 100 durch Verwenden der erfassten Bilder ausgelegt ist; eine Kontrolleinheit 203, die zum Kontrollieren der Strom- und Spannungswerte, die für die Antriebseinheit 204 des Roboterarms 100 bereitzustellen sind, durch Verwenden der Positionskontrollmenge ausgelegt ist; und eine Antriebseinheit 204, die zum Ändern der Position des Roboterarms 100 basierend auf den Strom- und Spannungswerten, die von der Kontrolleinheit 203 ausgegeben werden, ausgelegt ist.
  • Die Kontrollparametererzeugungseinheit 202 bestimmt, beim Empfang eines Bildes, das durch die Bildgebungseinheit 201 erfasst wird, die eine Funktion der monokularen Kamera 102 ist, die Kontrollmenge (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz), die der Position des Roboterarms 100 (X, Y, Z, Ax, Ay, Az) entspricht, und gibt die Kontrollmenge an die Kontrolleinheit 203 aus. Hier sind X, Y und Z Koordinaten der Position des Roboterarms 100 und sind Ax, Ay und Az die Lagewinkel des Roboterarms 100.
  • Die Kontrolleinheit 203 bestimmt und kontrolliert die Strom- und Spannungswerte für die Vorrichtungen, die die Antriebseinheit 204 darstellen, basierend auf der empfangenen Kontrollmenge (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz), die der Position (X, Y, Z, Ax, Ay, Az) des Roboterarms 100 entspricht.
  • Jede Vorrichtung, die die Antriebseinheit 204 darstellt, arbeitet gemäß den Strom- und Spannungswerten, die von der Kontrolleinheit 203 empfangen werden, wobei bewirkt wird, dass sich der Roboterarm 100 zu der Position (X+ΔX, Y+ΔY, Z+ΔZ, Ax+ΔAx, Ay+ΔAy, Az+ΔAz) bewegt.
  • 3 ist ein Hardwarestrukturdiagramm der Positionskontrollvorrichtung gemäß Ausführungsform 1. Die monokulare Kamera 102 ist über eine Eingabe/Ausgabe-Schnittstelle 301 drahtgebunden oder drahtlos kommunikativ mit einem Prozessor 302 und einem Speicher 303 verbunden. Die Eingabe/Ausgabe-Schnittstelle 301, der Prozessor 302 und der Speicher 303 realisieren die Funktionen der Kontrollparametererzeugungseinheit 202 in 2. Die Eingabe/Ausgabe-Schnittstelle 301 ist drahtgebunden oder drahtlos kommunikativ mit einem Kontrollschaltkreis 304 verbunden, der der Kontrolleinheit 203 entspricht. Der Kontrollschaltkreis 304 ist ferner elektrisch mit einem Motor 305 verbunden. Der Motor 305, der der Antriebseinheit 204 in 2 entspricht, ist eine Komponente für jede Vorrichtung zum Durchführen einer Positionskontrolle. Bei der vorliegenden Ausführungsform wird der Motor 305 als eine Form der Hardware verwendet, die der Antriebseinheit 204 entspricht, wobei eine beliebige Hardware, die zum Bereitstellen der Funktionalität einer solchen Positionskontrolle in der Lage ist, ausreichen würde. Die monokulare Kamera 201 und die Eingabe/Ausgabe-Schnittstelle 301 können getrennte Körper sein und die Eingabe/Ausgabe-Schnittstelle 301 und der Kontrollschaltkreis 304 können getrennte Körper sein.
  • Als nächstes werden Arbeitsvorgänge beschrieben.
  • 4 ist ein Flussdiagramm, das die Positionskontrolle, die durch die Positionskontrollvorrichtung durchgeführt wird, gemäß Ausführungsform 1 zeigt.
  • Zuerst ergreift in Schritt S101 die Greifeinheit 101 des Roboterarms 100 einen männlichen Verbinder 110. Die Position und die Lage des männlichen Verbinders 110 sind in der in 2 gezeigten Kontrolleinheit 203 vorregistriert und der Vorgang wird gemäß dem Kontrollprogramm durchgeführt, das ebenfalls in der Kontrolleinheit 203 vorregistriert ist.
  • Als Nächstes wird der Roboterarm 100 in Schritt S102 näher zu der Umgebung der Einführungsposition eines weiblichen Verbinders 120 gebracht. Die ungefähre Position und Lage des weiblichen Verbinders 110 sind in der in 2 gezeigten Kontrolleinheit 203 vorregistriert und die Position des männlichen Verbinders 110 wird gemäß dem Kontrollprogramm kontrolliert, das in der Kontrolleinheit 203 vorregistriert ist.
  • Als Nächstes weist die Kontrollparametererzeugungseinheit 202 in Schritt S103 die Bildgebungseinheit 201 der monokularen Kamera 102 an, ein Bild zu erfassen, und die monokulare Kamera 103 erfasst ein Bild, das sowohl den männlichen Verbinder 110, der durch die Greifeinheit 101 ergriffen ist, als auch den weiblichen Verbinder 120, der der Einführungszielteil ist, beinhaltet.
  • Als Nächstes erhält die Kontrollparametererzeugungseinheit 202 in Schritt S104 das Bild von der Bildgebungseinheit 201 und bestimmt die Kontrollmenge (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz). Beim Bestimmen der Kontrollmenge verwendet die Kontrollparametererzeugungseinheit 202 den Prozessor 302 und den Speicher 303, die in 3 gezeigt sind, als Hardware und berechnet die Kontrollmenge (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) durch Verwenden eines neuronalen Netzes. Das Berechnungsverfahren der Kontrollmenge durch Verwenden des neuronalen Netzes wird später beschrieben.
  • Als Nächstes erhält die Kontrolleinheit 203 in Schritt S105 die Kontrollmenge (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz), die von der Kontrollparametererzeugungseinheit 202 ausgegeben wird, und vergleicht alle Komponenten der Kontrollmenge mit ihren jeweiligen vorbestimmten Schwellenwerten. Falls alle Komponenten der Kontrollmenge gleich oder kleiner als ihre jeweiligen Schwellenwerte sind, geht der Prozess zu Schritt S107 über, und die Kontrolleinheit 203 kontrolliert die Antriebseinheit 204 so, dass der männliche Verbinder 110 in den weiblichen Verbinder 120 eingeführt wird.
  • Falls eine beliebige der Komponenten der Kontrollmenge größer als ihr entsprechender Schwellenwert ist, kontrolliert die Kontrolleinheit 203 die Antriebseinheit 204 in Schritt S106 durch Verwenden der Kontrollmenge (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz), die durch die Kontrollparametererzeugungseinheit 202 ausgegeben wird, und der Prozess kehrt zu Schritt S103 zurück.
  • Als Nächstes wird das Berechnungsverfahren der Kontrollmenge durch Verwenden des neuronalen Netzes beschrieben, das in Schritt S104 aus 4 durchgeführt wird.
  • Bevor die Berechnung der Kontrollmenge durch Verwenden des neuronalen Netzes begonnen wird, werden mehrere Datensätze aus einem Bild und einer notwendigen Bewegungsmenge gesammelt; dies ist eine Vorbereitung zum Ermöglichen, dass das neuronale Netz die Bewegungsmenge bis zum erfolgreichen Zusammenfügen unter Verwendung des Eingabebildes berechnet. Zum Beispiel sind der männliche Verbinder 110 und der weibliche Verbinder 120, deren Positionen bekannt sind, zusammengefügt und der männliche Verbinder 110 wird durch die Greifeinheit 101 des Roboterarms 100 ergriffen. Dann bewegt sich die Greifeinheit 101 entlang der bekannten Richtung, wobei der Verbinder herausgezogen wird, bis zu der Einführungsstartposition und die monokulare Kamera 102 erfasst mehrere Bilder. Außerdem wird, wenn die Kontrollmenge für die Einführungsstartposition auf (0, 0, 0, 0, 0, 0) eingestellt wird, nicht nur die Bewegungsmenge von der Zusammenfügungszustandsposition zu der Startposition der Einführung mit ihrem Bild erfasst, sondern werden auch die Bewegungsmengen zu Positionen in der Umgebung der Einführungsstartposition oder die Kontrollmengen (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) mit ihren Bildern erfasst.
  • 5 ist ein Beispiel für Diagramme, die Kontrollmengen und ihre jeweiligen Bilder zeigen, die durch die monokulare Kamera 102 in Ausführungsform 1 bei der Einführungsstartposition und in ihren Umgebungen erfasst werden.
  • Dann wird das Lernen basierend auf einer allgemeinen Lernregel des neuronalen Netzes (wie etwa einem stochastischen Gradientenverfahren) durchgeführt, indem die mehreren Datensätze verwendet werden, die jeweils aus der Bewegungsmenge von der Zusammenfügungsposition zu der Einführungsstartposition und dem Bild, das durch die monokulare Kamera 102 bei der Einführungsstartposition oder in ihrer Umgebung erfasst wird, zusammengesetzt sind.
  • Es gibt verschiedene Typen des neuronalen Netzes, wie etwa CNN und RNN, und ein beliebiger Typ kann für die vorliegende Offenbarung verwendet werden.
  • 6 ist ein Diagramm, das ein Beispiel für das neuronale Netz und die Lernregel des neuronalen Netzes gemäß Ausführungsform 1 zeigt.
  • Die von der monokularen Kamera 102 erhaltenen Bilder (wie etwa Leuchtdichten- und Farbdifferenz jedes Pixels) werden der Eingabeschicht zugeführt und die Kontrollmengen (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) werden in der Ausgabeschicht ausgegeben.
  • In dem Lernprozess des neuronalen Netzes werden die Parameter der Zwischenschicht so optimiert, dass die Ausgabewerte der Ausgabeschicht, die von den eingegebenen Bildern über die Zwischenschicht erhalten werden, an die Kontrollmengen approximiert werden, die in Assoziation mit ihren jeweiligen Bildern gespeichert sind. Solche Approximationsverfahren beinhalten das stochastische Gradientenverfahren.
  • Daher kann ein genaueres Lernen erreicht werden, wie in 5 gezeigt, indem die Bilder erhalten werden, die nicht nur der Bewegungsmenge von der Zusammenfügungsposition zu der Einführungsstartposition, sondern auch den Bewegungsmengen zu Positionen um die Einführungsstartposition herum entsprechen.
  • In 5 ist ein Fall gezeigt, in dem die Position des männlichen Verbinders 110 mit Bezug auf die monokulare Kamera 102 fest ist und nur die Position des weiblichen Verbinders 120 geändert wird. Tatsächlich jedoch ergreift die Greifeinheit 101 des Roboterarms 100 den männlichen Verbinder 110 nicht immer genau bei der designierten Position und die Position des männlichen Verbinders 110 kann aufgrund seiner einzelnen Unterschiede usw. von der Normalposition abweichen. In dem Lernprozess werden in einem Zustand, in dem der männliche Verbinder 110 von der genauen Position abweicht, Datensätze einer Kontrollmenge und ein Bild bei der Einführungsstartposition und den Positionen in ihren Umgebungen erfasst, um das Lernen durchzuführen; dementsprechend wird das Lernen, das mit einzelnen Unterschieden sowohl des männlichen Verbinders 110 als auch des weiblichen Verbinders 120 fertig wird, durchgeführt.
  • Es wird angemerkt, dass die Kontrollmenge (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) zu der Zeit des Erfassens ausschließlich der Bewegungsmenge von der Zusammenfügungsposition zu der Einführungsstartposition berechnet wird. Dementsprechend muss die Bewegungsmenge von der Zusammenfügungsposition zu der Einführungsstartposition separat zur Verwendung in Schritt S107 in 4 gespeichert werden. Es wird ebenfalls angemerkt, dass die oben erwähnten Koordinaten mit Bezug auf das Koordinatensystem der monokularen Kamera erhalten werden. Wenn das Koordinatensystem der monokularen Kamera nicht mit dem Koordinatensystem des gesamten Roboterarms 100 übereinstimmt, muss die Kontrolleinheit 203 dementsprechend eine Koordinatenumwandlung vor dem Kontrollieren des Roboterarms 100 durchführen.
  • Bei dieser Ausführungsform sind, weil die monokulare Kamera an dem Roboterarm 100 angebracht ist, das Koordinatensystem des weiblichen Verbinders 120 und das Koordinatensystem der monokularen Kamera 102 verschieden. Falls sich die monokulare Kamera 102 und der weibliche Verbinder 120 in demselben Koordinatensystem befinden, ist die Umwandlung von dem Koordinatensystem für die monokulare Kamera 102 zu dem Koordinatensystem für den Roboterarm 100 nicht notwendig.
  • Als Nächstes werden die Einzelheiten des Betriebs und eines Betriebsbeispiels, die in 4 gezeigt sind, beschrieben.
  • In Schritt S101 greift der Roboterarm 100 einen männlichen Verbinder 110 auf eine vorregistrierte Weise und in Schritt S102 wird der männliche Verbinder 110 zu einem Punkt beinahe oberhalb des weiblichen Verbinders 120 bewegt.
  • Es wird angemerkt, dass die Position des ergriffenen männlichen Verbinders 110 gerade vor dem Greifen nicht immer die gleiche ist. Aufgrund von fast unmerklichen Betriebsabweichungen der Maschine, die die Position des männlichen Verbinders 110 einstellt, gibt es immer eine Möglichkeit, dass fast unmerkliche Positionsfehler aufgetreten sind. Ebenso kann der weibliche Verbinder 120 auch einige Fehler aufweisen.
  • Daher ist es wichtig, dass die in Schritt S103 erlangten Bilder sowohl den männlichen Verbinder 110 als auch den weiblichen Verbinder 120 zeigen, wobei die Bilder wie in 5 durch die Bildgebungseinheit 201 der monokularen Kamera 102 erfasst werden, die an dem Roboterarm 100 angebracht ist. Die Position der monokularen Kamera 102 mit Bezug auf den Roboterarm 100 ist immer fest, so dass die Bilder die Informationen über die Positionsbeziehung zwischen dem männlichen Verbinder 110 und dem weiblichen Verbinder 120 beinhalten.
  • In Schritt S104 wird die Kontrollmenge (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) durch die Kontrollparametererzeugungseinheit 202 mit dem neuronalen Netz wie in 6 gezeigt berechnet, das die Informationen über die Positionsbeziehung im Voraus gelernt hat. Jedoch ist die Bewegung zu der Einführungsstartposition unter Verwendung der Kontrollmenge, die durch die Kontrollparametererzeugungseinheit 202 ausgegeben wird, in Abhängigkeit von der Genauigkeit des Lernens unmöglich. In einem solchen Fall kann die Kontrollparametererzeugungseinheit 202 durch Wiederholen der Schleife von Schritt S103 bis S106 Berechnungen durchführen, bis alle Komponenten der Kontrollmenge gleich oder kleiner als ihre jeweiligen Schwellenwerte, wie in Schritt S105 gezeigt, werden, und die Kontrolleinheit 203 und die Antriebseinheit 204 kontrollieren ferner die Position des Roboterarms 100.
  • Die in S105 gezeigten Schwellenwerte werden basierend auf der erforderlichen Genauigkeit des männlichen Verbinders 110 und des weiblichen Verbinders 120, die zusammenzufügen sind, bestimmt. Falls zum Beispiel die Zusammenfügung locker ist, das heißt, ursprünglich ist die hohe Genauigkeit als die Charakteristik des Verbinders nicht notwendig, können die Schwellenwerte groß eingestellt werden. In dem entgegengesetzten Fall werden die kleinen Schwellenwerte eingestellt. In einem allgemeinen Herstellungsprozess können Herstellungstoleranzen, die in vielen Fällen spezifiziert werden, für die Schwellenwerte verwendet werden.
  • Unter Berücksichtigung des Falls, in dem in Abhängigkeit von der Genauigkeit des Lernens die Bewegung zu der Einführungsstartposition unter Verwendung der Kontrollmenge, die durch die Kontrollparametererzeugungseinheit 202 ausgegeben wird, unmöglich ist, können außerdem mehrere Einführungsstartpositionen eingestellt werden. Falls eine Einführungsstartposition ohne einen ausreichenden Abstand zwischen dem männlichen Verbinder 110 und dem weiblichen Verbinder 120 eingestellt wird, können sie miteinander kollidieren und kann einer oder können beide von ihnen vor der Einführung brechen. Um ein solches Risiko zu vermeiden, kann die Einführungsstartposition schrittweise gemäß der Anzahl an Schleifendurchläufen von Schritt S103 bis Schritt S106, die in 4 gezeigt sind, eingestellt werden. Zum Beispiel kann der Abstand zwischen dem männlichen Verbinder 110 und dem weiblichen Verbinder 120 für das erste Mal auf 5 mm, für das zweite Mal auf 20 mm, für das dritte Mal auf 10 mm und so weiter eingestellt werden.
  • Obwohl die vorliegende Ausführungsform unter Verwendung von Verbindern beschrieben ist, ist die Anwendung der Technik nicht auf das Zusammenfügen von Verbindern beschränkt. Dieses Verfahren kann zum Beispiel effektiv auf das Montieren von IC-Chips auf einem Substrat und insbesondere das Einführen von Kondensatoren oder dergleichen, die Beine aufweisen, mit einem großen Abmessungsfehler in Löcher eines Substrats angewandt werden.
  • Dieses Verfahren kann nicht nur auf eine Kontrolle zum Einführen in Substrate angewandt werden, sondern auch auf eine allgemeine Positionskontrolle, um eine Kontrollmenge aus bekannten Beziehungen zwischen Bildern und Kontrollmengen abzuleiten. Bei der vorliegenden Offenbarung werden die Beziehungen zwischen Bildern und Kontrollmengen von dem neuronalen Netz gelernt; dementsprechend können individuelle Unterschiede der Objekte beim Durchführen einer Ausrichtung der Objekte zugelassen werden.
  • Bei Ausführungsform 1 sind eine Bildgebungseinheit 201, eine Kontrollparametererzeugungseinheit 202, eine Kontrolleinheit 203 und eine Antriebseinheit 204 bereitgestellt. Die Bildgebungseinheit 201 erfasst ein Bild, das zwei Objekte beinhaltet. Die Kontrollparametererzeugungseinheit 202 speist Informationen des erfassten Bildes, das die zwei Objekte beinhaltet, in eine Eingabeschicht eines neuronalen Netzes ein und gibt eine Positionskontrollmenge zum Kontrollieren der Positionsbeziehung zwischen den erfassten zwei Objekten als eine Ausgabeschicht des neuronalen Netzes aus. Die Kontrolleinheit 203 kontrolliert Strom oder Spannung, um die Positionsbeziehung zwischen den zwei Objekten durch Verwenden der ausgegebenen Positionskontrollmenge zu kontrollieren. Die Antriebseinheit 204 ändert eine Position von einem der zwei Objekte durch Verwenden des Stroms oder der Spannung. Daher kann, selbst wenn es Unterschiede zwischen Objekten oder Fehler in der Positionsbeziehung zwischen den zwei Objekten gibt, eine Ausrichtung nur mit einer monokularen Kamera durchgeführt werden.
  • Eine Ausführungsform, die nur ein einziges neuronales Netz verwendet, ist oben beschrieben. In manchen Fällen müssen jedoch mehrere neuronale Netze verwendet werden. Aufgrund dessen, dass, wenn die Eingaben Bilder sind und die Ausgaben numerische Werte sind, wie bei der Ausführungsform, können die Ausgaben Fehler von etwa einigen Prozent beinhalten; dies liegt darin begründet, dass eine Approximationsgenauigkeit der numerischen Werte beschränkt ist. In Abhängigkeit von der Menge von der Einführungsstartposition zu ihrer Umgebung in Schritt 2 aus 4 kann das Bestimmungsergebnis immer in „Nein“ fallen und infolgedessen kann der Vorgang in Schritt S105 nicht abgeschlossen werden. Um einen solchen Fall zu bewältigen, werden mehrere Netze verwendet, wie in 7 gezeigt ist.
  • 7 ist ein Flussdiagramm zum Verwenden mehrerer neuronaler Netze im Gegensatz zu der Verwendung des einzigen neuronalen Netzes, die oben in Ausführungsform 1 gezeigt ist. Dies zeigt das Detail aus Schritt S104 aus 4. Die mehreren Parameter sind in der Kontrollparametererzeugungseinheit enthalten, die in 2 gezeigt ist.
  • In Schritt S701 wählt die Kontrollparametererzeugungseinheit 202 das zu verwendende Netz basierend auf dem eingegebenen Bild aus.
  • Wenn die Schleifenzahl eins ist oder die zuvor erhaltene Kontrollmenge gleich oder größer als 25 mm ist, wird das neuronale Netz 1 ausgewählt und geht der Prozess zu Schritt S702 über. Wenn die Schleifenzahl zwei oder später ist und die zuvor erhaltene Kontrollmenge gleich oder größer als 5 mm und kleiner als 25 mm ist, wird das neuronale Netz 2 ausgewählt und geht der Prozess zu Schritt S703 über. Wenn die Schleifenzahl zwei oder später ist und die zuvor erhaltene Kontrollmenge kleiner als 5 mm ist, wird das neuronale Netz 3 ausgewählt und geht der Prozess zu Schritt S704 über. Das neuronale Netz für einen Schritt, der von S702 bis S704 ausgewählt wird, wird verwendet, um die Kontrollmenge zu berechnen.
  • Jedes der neuronalen Netze hat basierend auf dem Abstand zwischen dem männlichen Verbinder 110 und dem weiblichen Verbinder 120 oder der Kontrollmenge gelernt. In der Figur werden zum Beispiel die Bereiche der Lerndaten auf eine schrittweise Art geändert: das neuronale Netz 3 verwendet die Lerndaten mit Fehlern innerhalb von ±1 mm und ±1 Grad, und das neuronale Netz 2 verwendet die Lerndaten mit Fehlern innerhalb von ±1 mm bis ±10 mm und von ±1 Grad bis ±5 Grad. Es ist effizienter, dass sich die Bereiche der Bilder, die in jedem neuronalen Netz verwendet werden, nicht überschneiden.
  • Das in 7 gezeigte Beispiel beinhaltet drei Netze, aber die Anzahl an Netzen ist nicht beschränkt. Wenn ein solches Verfahren verwendet wird, muss eine Bestimmungsfunktion in Schritt S701, die ein zu verwendendes Netz bestimmt, als „ein Netzauswahlschalter“ vorbereitet werden. Dieser Netzauswahlschalter kann auch durch Verwenden eines neuronalen Netzes konfiguriert werden. In diesem Fall ist die Eingabe in die Eingabeschicht ein Bild und ist die Ausgabe in der Ausgabeschicht eine Netzzahl. Als ein Bilddatensatz werden ein Bild, das in allen Netzen verwendet wird, und eine Netzzahl verwendet.
  • Ein Beispiel für die Verwendung mehrerer neuronaler Netze ist durch Verwenden von Verbindern beschrieben. Eine Anwendung dieser Technik ist jedoch nicht auf das Zusammenfügen von Verbindern beschränkt. Dieses Verfahren kann zum Beispiel effektiv auf das Montieren von IC-Chips auf einem Substrat und insbesondere das Einführen von Kondensatoren oder dergleichen, die Beine aufweisen, mit einem großen Abmessungsfehler in Löcher eines Substrats angewandt werden.
  • Dieses Verfahren, das mehrere neuronale Netze verwendet, kann nicht nur auf eine Kontrolle zum Einführen in Substrate angewandt werden, sondern auch auf eine allgemeine Positionskontrolle, um eine Kontrollmenge aus bekannten Beziehungen zwischen Bildern und Kontrollmengen abzuleiten. Bei der vorliegenden Offenbarung werden die Beziehungen zwischen Bildern und Kontrollmengen von dem neuronalen Netz gelernt; dementsprechend können individuelle Unterschiede der Objekte beim Durchführen einer Ausrichtung der Objekte zugelassen werden und können die Kontrollmengen genau berechnet werden.
  • Bei dem obigen Beispiel sind eine Bildgebungseinheit 201, eine Kontrollparametererzeugungseinheit 202, eine Kontrolleinheit 203 und eine Antriebseinheit 204 bereitgestellt. Die Bildgebungseinheit 201 erfasst ein Bild, das zwei Objekte beinhaltet. Die Kontrollparametererzeugungseinheit 202 speist Informationen des erfassten Bildes, das die zwei Objekte beinhaltet, in eine Eingabeschicht eines neuronalen Netzes ein und gibt eine Positionskontrollmenge zum Kontrollieren der Positionsbeziehung zwischen den erfassten zwei Objekten als eine Ausgabeschicht des neuronalen Netzes aus. Die Kontrolleinheit 203 kontrolliert Strom oder Spannung, um die Positionsbeziehung zwischen den zwei Objekten durch Verwenden der ausgegebenen Positionskontrollmenge zu kontrollieren. Die Antriebseinheit 204 ändert eine Position von einem der zwei Objekte durch Verwenden des Stroms oder der Spannung. Hier wählt die Kontrollparametererzeugungseinheit 202 das neuronale Netz aus mehreren neuronalen Netzen aus. Daher kann, selbst wenn es Unterschiede zwischen Objekten oder Fehler in der Positionsbeziehung zwischen den zwei Objekten gibt, eine Ausrichtung genauer durchgeführt werden.
  • Ausführungsform 2
  • Bei Ausführungsform 1 sind der männliche Verbinder 110 und der weibliche Verbinder 120, deren Positionen bekannt sind, zusammengefügt und der männliche Verbinder 110 wird durch die Greifeinheit 101 des Roboterarms 100 ergriffen. Dann bewegt sich die Greifeinheit 101 entlang der bekannten Richtung, wobei der Verbinder herausgezogen wird, bis zu der Einführungsstartposition und die monokulare Kamera 102 erfasst mehrere Bilder. Bei Ausführungsform 2 wird ein Fall beschrieben, bei dem die Zusammenfügungsposition des männlichen Verbinders 110 und des weiblichen Verbinders 120 unbekannt ist.
  • Ein als bestärkendes Lernen bezeichnetes Verfahren wurde als ein Verfahren für einen Roboter dazu untersucht, autonom zu lernen, angemessene Handlungen zu erlangen. Bei diesem Verfahren führt ein Roboter eine Vielzahl von Handlungen durch Trial-and-Error durch, speichert die Handlung, die ein besseres Ergebnis erzielt, und erhält die optimierte Handlung am Ende. Die Optimierung der Handlung erfordert unglücklicherweise eine große Anzahl an Versuchen.
  • Unter den Verfahren zum Reduzieren der Anzahl an Versuchen wird ein als „on Policy“ bezeichnetes Framework allgemein in dem Gebiet des bestärkenden Lernens verwendet. Jedoch erfordert die Anwendung dieses Frameworks zum Lehren eines Roboterarms verschiedene Verbesserungen, die für den Roboterarm und die Kontrollsignale dediziert sind, und wurde bisher nicht praktisch verwendet.
  • In einer in Ausführungsform 2 zu beschreibenden Konfiguration führt der Roboter, wie etwa in Ausführungsform 1 gezeigt, eine Vielzahl von Handlungen durch Trial-and-Error durch und die Handlung, die ein gutes Ergebnis produziert, wird gespeichert, wodurch eine große Anzahl an Versuchen reduziert wird, die momentan zum Optimieren der Handlung erfordert wird.
  • Als Nächstes wird die Systemkonfiguration beschrieben. Was hier nicht beschrieben ist, ist das Gleiche wie in Ausführungsform 1. Die Gesamthardwarestruktur ist die gleiche wie 1 in Ausführungsform 1, jedoch ist sie insofern verschieden, dass der Roboterarm 100 mit einem (in 1 nicht veranschaulichten) Kraftsensor 801 zum Messen der auf die Greifeinheit 101 angewandten Belastung versehen ist.
  • 8 ist ein funktionales Konfigurationsdiagramm, das eine Positionskontrollvorrichtung gemäß Ausführungsform 2 zeigt. Der Unterschied zu 2 ist, dass ein Kraftsensor 801 und eine Pfadbestimmungseinheit 802 hinzugefügt werden, wobei die Pfadbestimmungseinheit 802 eine Kritikereinheit 803, eine Aktoreinheit 804, eine Beurteilungseinheit 805 und eine Pfadeinstellungseinheit 806 beinhaltet.
  • 9 ist ein Hardwarestrukturdiagramm, das die Positionskontrollvorrichtung gemäß Ausführungsform 2 zeigt. Der einzige Unterschied zu 3 ist, dass der Kraftsensor 801 elektrisch oder kommunikativ mit einer Eingabe/Ausgabe-Schnittstelle 301 verbunden ist. Die Eingabe/Ausgabe-Schnittstelle 301, der Prozessor 302 und der Speicher 303 führen außerdem die Funktionen der Kontrollparametererzeugungseinheit 202 und der Pfadbestimmungseinheit 802, die in 8 gezeigt sind, durch. Der Kraftsensor 801, die monokulare Kamera 201 und die Eingabe/Ausgabe-Schnittstelle 301 können getrennte Körper sein und die Eingabe/Ausgabe-Schnittstelle 301 und der Kontrollschaltkreis 304 können getrennte Körper sein.
  • Als Nächstes werden die Einzelheiten aus 8 beschrieben.
  • Der Kraftsensor 801 misst die Belastung, die auf die Greifeinheit 101 des Roboterarms 100 angewandt wird; zum Beispiel misst er den Kraftwert, der angewandt wird, wenn der männliche Verbinder 110 und der weibliche Verbinder 120, die in 1 gezeigt sind, in Kontakt kommen.
  • Die Kritikereinheit 803 und die Aktoreinheit 804, S3, S4 sind die gleichen wie der Kritiker und der Aktor bei dem herkömmlichen bestärkenden Lernen.
  • Als Nächstes wird der herkömmliche Typ des Bestärkendes-Lernen-Verfahrens beschrieben. Bei der vorliegenden Ausführungsform wird ein Modell bei dem bestärkenden Lernen verwendet, das als Aktor-Kritiker(Actor-Critic)-Modell bezeichnet wird (Quellennachweis: Reinforcement Learning: R. S. Sutton und A. G. Barto, veröffentlicht im Dez. 2000). Die Aktoreinheit 804 und die Kritikereinheit 803 erhalten einen Zustand einer Umgebung über die Bildgebungseinheit 201 und den Kraftsensor 801. Die Aktoreinheit 804 ist eine Funktion zum Empfangen des Umgebungszustands I, der durch die Sensorvorrichtung erhalten wird, und zum Ausgeben der Kontrollmenge A an die Roboterkontrolle. Die Kritikereinheit 803 ist dazu konfiguriert, die Aktoreinheit 804 zum angemessenen Lernen einer Ausgabe A für die Eingabe I zu veranlassen, so dass die Zusammenfügung der Aktoreinheit 804 ordnungsgemäß gelingt.
  • Als Nächstes wird der herkömmliche Typ des Bestärkendes-Lernen-Verfahrens beschrieben.
  • Bei dem bestärkenden Lernen wird eine Menge definiert, die als Belohnung R bezeichnet wird, und die Aktoreinheit 804 erfasst die Handlung A, die die Belohnung R maximiert. Unter Annahme als ein Beispiel, dass die zu lernende Arbeit das Zusammenfügen eines männlichen Verbinders 110 und eines weiblichen Verbinders 120, wie in Ausführungsform 1 gezeigt, ist, ist R = 1, wenn das Zusammenfügen erfolgreich ist, und R = 0 ansonsten gegeben. Bei diesem Beispiel gibt die Handlung A eine „Bewegungskorrekturmenge“ von der momentanen Position (X, Y, Z, Ax, Ay, Az) an, wobei A = (dX, dY, dZ, dAx, dAy, dAz) gilt. Hier sind X, Y und Z Positionskoordinaten mit dem Mittelpunkt des Roboters als Ursprung; Ax, Ay und Az sind Rotationsmengen um die X-Achse, Y-Achse bzw. Z-Achse. Die „Bewegungskorrekturmenge“ ist die Menge einer Bewegung von der momentanen Position zu der Einführungsstartposition in einem ersten Zusammenfügungsversuch des männlichen Verbinders 110. Der Umgebungszustand oder das Versuchsergebnis wird durch die Bildgebungseinheit 201 und den Kraftsensor 801 beobachtet und von diesen als ein Bild und ein Wert erhalten.
  • Bei dem bestärkenden Lernen lernt die Kritikereinheit 803 eine Funktion, die als Zustandswertfunktion V(I) bezeichnet wird. Es wird hier angenommen, dass zur Zeit t = 1 (zum Beispiel wenn der erste Zusammenfügungsversuch gestartet wird) die Handlung A(1) in dem Zustand I(1) durchgeführt wird und sich zur Zeit t = 2 (zum Beispiel nach dem Abschluss des ersten Zusammenfügungsversuchs und vor dem Start des zweiten Zusammenfügungsversuchs) die Umgebung zu I(2) ändert und die Belohnungsmenge R(2) (das Ergebnis des ersten Zusammenfügungsversuchs) gegeben ist. Ein Beispiel unter einer Vielzahl von möglichen Aktualisierungsformeln wird als Nächstes gezeigt. Die Aktualisierungsformel von V(I) ist wie folgt definiert.
    δ = R ( 2 ) + γ  V ( I ( 2 ) ) V ( I ( 1 ) )
    Figure DE112017007028T5_0001

    V ( I ( 1 ) ) V ( I ( 1 ) ) + α   δ
    Figure DE112017007028T5_0002
  • Hier ist δ ein Vorhersagefehler, ist α eine Lernrate, die eine positive reale Zahl von 0 bis 1 ist, und ist γ ein Abzugsfaktor, der eine positive reale Zahl von 0 bis 1 ist. Die Aktoreinheit 804 aktualisiert A(I) wie folgt, mit einer Eingabe als I und einer Ausgabe als A(I). Wenn  δ >0 ,
    Figure DE112017007028T5_0003

    A ( I ( 1 ) ) A ( I ( 1 ) ) + α ( A ( 1 ) A ( I ( 1 ) ) )
    Figure DE112017007028T5_0004
    Wenn  δ 0,
    Figure DE112017007028T5_0005

    σ ( I ( 1 ) ) β   σ ( I ( 1 ) )
    Figure DE112017007028T5_0006
  • Hier bezeichnet σ die Standardabweichung der Ausgaben. In dem Zustand I addiert die Aktoreinheit zufällige Zahlen, die eine Verteilung mit dem Durchschnitt 0 und der Streuung σ2 aufweisen, zu A(I). Dies bedeutet, dass die Bewegungskorrekturmenge für den zweiten Versuch unabhängig von dem Ergebnis des ersten Versuchs zufällig bestimmt wird.
  • Es wird angemerkt, dass aus einer Vielzahl der Aktualisierungsformeln in dem Aktor-Kritiker-Modell ein beliebiger Typ von üblicherweise verwendeten Modellen die Aktualisierungsformel ersetzen kann, die oben als ein Beispiel gezeigt ist.
  • Mit einer solchen Konfiguration lernt die Aktoreinheit 804 die Handlung, die für jeden Zustand geeignet ist. Jedoch wird die Handlung, wie in Ausführungsform 1 gezeigt, durchgeführt, nachdem das Lernen abgeschlossen wurde. Während des Lernens berechnet die Pfadeinstellungseinheit 806 die empfohlene Handlung zum Lernen und sendet sie an die Kontrolleinheit 203. Mit anderen Worten empfängt die Kontrolleinheit 203 während des Lernens das Bewegungssignal so, wie es ist, von der Pfadeinstellungseinheit 806 und kontrolliert die Antriebseinheit 204.
  • Dies bedeutet, dass das Lernen bei dem herkömmlichen Aktor-Kritiker-Modell aufgrund der Definition, dass R = 1 für den Erfolg des Zusammenfügens und R = 0 ansonsten gilt, nur dann erfolgt, wenn die Zusammenfügung erfolgreich war, und die Bewegungskorrekturmengen, die für die folgenden Versuche zu verwenden sind, bis zu dem Erfolg des Zusammenfügens zufällig gegeben werden. Infolgedessen wird die Bestimmung der Bewegungskorrekturmenge für den nächsten Versuch gemäß einem Grad des Versagens des Versuchs bis zu dem Erfolg des Zusammenfügens nicht durchgeführt. Selbst wenn andere Typen eines Bestärkendes-Lernen-Modells, wie etwa Q-Lernen, verwendet werden, werden die ähnlichen Ergebnisse wie dann erhalten, wenn der herkömmliche Typ der Aktor-Kritiker-Modelle verwendet wird, weil nur Erfolg oder Versagen des Zusammenfügens beurteilt wird. Bei der vorliegenden Ausführungsform der Offenbarung wird der Bestimmungsprozess beschrieben, in dem der Versagensgrad beurteilt wird, um die Bewegungskorrekturmenge für den nächsten Versuch zu berechnen.
  • Die Beurteilungseinheit 805 erzeugt eine Funktion zum Durchführen der Beurteilung in jedem Zusammenfügungsversuch. 10 zeigt den männlichen Verbinder 110 und den weiblichen Verbinder 120 bei einem Zusammenfügungsversuch gemäß Ausführungsform 2.
  • Es wird angenommen, dass ein Bild, wie in 10(A) gezeigt, als ein Ergebnis des Versuchs erhalten wird. Diese Versuch schlägt fehl, weil sich die Verbinder stark außerhalb der Zusammenfügungsposition befinden. Wie nahe es zum Erfolg ist, wird hier gemessen und quantifiziert, um einen Beurteilungswert zu erhalten, der den Erfolgsgrad angibt. Ein Beispiel für ein Quantifizierungsverfahren ist, den Oberflächenbereich (die Anzahl an Pixeln) des Verbinders zu berechnen, der das Einführungszielteil in dem Bild, wie in 10 (B) gezeigt, ist. Bei diesem Verfahren sind, wenn das Versagen des Einführens des männlichen Verbinders 110 in den weiblichen Verbinder 120 durch den Kraftsensor 801 des Roboterarms 100 detektiert wird, falls nur auf die Zusammenfügungsoberfläche des weiblichen Verbinders 120 eine Beschichtung oder ein Aufkleber mit einer anderen Farbe als andere Hintergründe aufgebracht ist, Datenerfassungen aus dem Bild und die Berechnung einfacher. Bei dem oben beschriebenen Verfahren wurde eine Kamera verwendet; jedoch können mehrere ausgerichtete Kameras Bilder erfassen und können die Ergebnisse, die aus jedem Bild abgeleitet werden, integriert werden.
  • Außerdem kann eine ähnliche Beurteilung durchgeführt werden, indem die Anzahl an Pixeln zusammen mit den zweidimensionalen Richtungen (wie etwa X-, Y-Richtungen) anstelle des Oberflächenbereichs des Verbinders erhalten werden.
  • Die Verarbeitung in der Pfadeinstellungseinheit 806 ist in zwei Schritte unterteilt.
  • In dem ersten Schritt lernt die Pfadeinstellungseinheit 806 das Beurteilungsergebnis, das in der Beurteilungseinheit 805 verarbeitet wird, und die tatsächliche Bewegung des Roboters. Die Bewegungskorrekturmenge für den Roboter sei A und der Beurteilungswert, der den durch die Beurteilungseinheit 805 verarbeiteten Erfolgsgrad angibt, sei E. Dann bereitet die Pfadeinstellungseinheit 806 eine Funktion mit A als die Eingabe und E als die Ausgabe vor, um die Approximation durchzuführen. Die Funktion beinhaltet zum Beispiel ein RBF(radiale Basisfunktion)-Netz. RBF ist als eine Funktion bekannt, die verschiedene unbekannte Funktionen einfach approximieren kann.
  • Zum Beispiel wird die k-te Eingabe wie folgt angenommen.
    xk = ( x_1k , , x_ik , x_Ik )
    Figure DE112017007028T5_0007
    Dann ist die Ausgabe f(x) wie folgt definiert.
    f ( x ) = i J w j   φ j ( x )
    Figure DE112017007028T5_0008

    φ j ( x ) = exp ( ( x i μ i ) 2 σ 2 )
    Figure DE112017007028T5_0009
    Hier bezeichnet σ die Standardabweichung; µ bezeichnet das Zentrum der RBF.
  • Die Lerndaten, die durch die RBF verwendet werden, sind nicht einzelne Daten, sondern alle Daten von dem Start des Versuchs bis zu den letzten. Falls zum Beispiel der momentane Versuch der N-te Versuch ist, werden N Datensätze vorbereitet. Durch das Lernen muss das oben erwähnte W = (w_1, w_J) bestimmt werden. Unter verschiedenen Bestimmungsverfahren ist eine RBF-Interpolation wie folgt exemplarisch gezeigt.
  • Es wird angenommen, dass Formel 8 und Formel 9 wie folgt gegeben sind. Φ= ( φ 1 ( x 1 1 ) φ I ( x I 1 ) φ 1 ( x 1 N ) φ I ( x I N ) )
    Figure DE112017007028T5_0010

    F = ( f ( x 1 ) , , f ( x N ) )
    Figure DE112017007028T5_0011
  • Dann wird das Lernen durch Formel 10 abgeschlossen. W = Φ 1 F
    Figure DE112017007028T5_0012
  • Nachdem die Approximation durch die RBF-Interpolation abgeschlossen wurde, wird der Minimalwert durch das RBF-Netz unter Verwendung eines allgemeinen Optimierungsverfahrens, wie etwa Gradientenabnahme und Partikelschwarmoptimierung (PSO), berechnet. Dann wird der minimale Wert als ein empfohlener Wert für den nächsten Versuch an die Aktoreinheit 804 übertragen.
  • Um den obigen Fall speziell zu erklären, werden die Oberflächenbereiche oder die Anzahlen an Pixeln in der zweidimensionalen Richtung für die jeweiligen Bewegungskorrekturmengen für jede Versuchszahl als Beurteilungswerte zeitlich in Reihe angeordnet und werden die angeordneten Werte verwendet, um die optimale Lösung zu erhalten. Einfacher kann die Bewegungskorrekturmenge erhalten werden, die eine Bewegung mit einer konstanten Rate in der Richtung versursacht, in der die Anzahl an Pixeln in der zweidimensionalen Richtung abnimmt.
  • Als Nächstes ist der Operationsfluss in 11 gezeigt.
  • 11 ist ein Flussdiagramm, das das Pfadlernen der Positionskontrollvorrichtung gemäß Ausführungsform 2 zeigt.
  • Zuerst ergreift in Schritt S1101 die Greifeinheit 101 des Roboterarms 100 den männlichen Verbinder 110. Die Position und die Lage des männlichen Verbinders 110 sind in der Kontrolleinheit 203 in 8 vorregistriert und der Vorgang wird gemäß dem Kontrollprogramm durchgeführt, das in der Kontrolleinheit 203 vorregistriert ist.
  • Als Nächstes wird der Roboterarm 100 in Schritt S1102 näher zu der Umgebung der Einführungsposition des weiblichen Verbinders 120 gebracht. Die ungefähre Position und Lage des weiblichen Verbinders 110 sind in der Kontrolleinheit 203 in 8 vorregistriert und die Position des männlichen Verbinders 110 wird gemäß dem Kontrollprogramm kontrolliert, das in der Kontrolleinheit 203 vorregistriert ist. Die Schritte bis hier sind die gleichen wie die Schritte S101 bis S102 in dem in 4 in Ausführungsform 1 gezeigten Flussdiagramm.
  • In Schritt S1103 weist die Pfadbestimmungseinheit 802 die Bildgebungseinheit 201 der monokularen Kamera 102 an, ein Bild zu erfassen. Die monokulare Kamera 102 erfasst ein Bild, das sowohl den männlichen Verbinder 110, der durch die Greifeinheit 101 ergriffen ist, und den weiblichen Verbinder 120, der der Einführungszielteil ist, beinhaltet. Außerdem weist die Pfadbestimmungseinheit 802 die Kontrolleinheit 203 und die monokulare Kamera 102 dazu an, Bilder in der Umgebung der momentanen Position zu erfassen. Die monokulare Kamera wird basierend auf durch die Kontrolleinheit 203 angewiesenen Bewegungsmengen durch die Antriebseinheit 204 in mehrere Positionen bewegt und erfasst bei jeder Position ein Bild, das sowohl den männlichen Verbinder 110 als auch den weiblichen Verbinder 120, der der Einführungszielteil ist, beinhaltet.
  • In Schritt S1104 liefert die Aktoreinheit 804 der Pfadbestimmungseinheit 802 eine Bewegungsmenge zum Zusammenfügen an die Kontrolleinheit 203; die Kontrolleinheit 203 bewirkt, dass die Antriebseinheit 204 den Roboterarm 100 bewegt, um einen Zusammenfügungsversuch des männlichen Verbinders 110 und des weiblichen Verbinders 120, der der Einführungszielteil ist, vorzunehmen.
  • In Schritt S1105 speichern, wenn die Verbinder in Kontakt miteinander kommen, während der Roboterarm 100 durch die Antriebseinheit 204 bewegt wird, die Beurteilungseinheit 805 und die Kritikereinheit 803 der Pfadbestimmungseinheit 802 die Werte, die von dem Kraftsensor 801 erhalten werden, und die Bilder, die von der monokularen Kamera 102 erhalten werden, für jede Einheit der Bewegungsmenge.
  • In Schritt S1106 überprüfen die Beurteilungseinheit 805 und die Kritikereinheit 803, ob die Zusammenfügung erfolgreich ist.
  • In den meisten Fällen war das Zusammenfügen an diesem Punkt nicht erfolgreich. Dementsprechend beurteilt die Beurteilungseinheit 805 in Schritt S1108 den Erfolgsgrad unter Verwendung des in 10 beschriebenen Verfahrens und liefert den Beurteilungswert, der den Erfolgsgrad bei der Ausrichtung angibt, an die Pfadeinstellungseinheit 806.
  • In Schritt S1109 führt die Pfadeinstellungseinheit 806 das Lernen unter Verwendung des oben erwähnten Verfahrens durch und liefert einen empfohlenen Wert für den nächsten Versuch an die Aktoreinheit 804. Die Kritikereinheit 803 berechnet einen Wert gemäß der Belohnungsmenge und gibt den Wert aus. Die Aktoreinheit 804 empfängt den Wert. In Schritt S1110 addiert die Aktoreinheit 804 den Wert, der gemäß der Belohnungsmenge erhalten wird und durch die Kritikereinheit 803 ausgegeben wird, und den empfohlenen Wert für den nächsten Versuch, der durch die Pfadeinstellungseinheit 806 ausgegeben wird, um die Bewegungskorrekturmenge zu erhalten. In diesem Schritt muss jedoch, falls nur der empfohlene Wert für den nächsten Versuch, der durch die Pfadeinstellungseinheit 806 ausgegeben wird, einen ausreichenden Effekt produzieren kann, der Wert, der gemäß dem Belohnungsbetrag erhalten wird, nicht addiert werden. Außerdem kann die Aktoreinheit 804 beim Berechnen der Bewegungskorrekturmenge ein Additionsverhältnis des empfohlenen Wertes für den nächsten Versuch, der von der Pfadeinstellungseinheit 806 ausgegeben wird, zu dem Wert, der gemäß der Belohnungsmenge erhalten wird und der durch die Kritikereinheit 803 ausgegeben wird, einstellen, wodurch die Bewegungskorrekturmenge gemäß der Belohnungsmenge geändert werden kann.
  • Dann liefert die Aktoreinheit 804 in Schritt S1111 die Bewegungskorrekturmenge an die Kontrolleinheit 203 und die Kontrolleinheit 203 bewegt die Greifeinheit 101 des Roboterarms 100.
  • Dann kehrt der Prozess zu Schritt 1103 zurück, werden die Bilder bei der Position erfasst, zu der der Roboterarm gemäß der Bewegungskorrekturmenge bewegt wird, und dann wird der Zusammenfügungsvorgang durchgeführt. Diese Schritte werden wiederholt, bis das Zusammenfügen erfolgreich ist.
  • Wenn das Zusammenfügen erfolgreich ist, lernen die Aktoreinheit 804 und die Kritikereinheit 803 in Schritt S1107 über den Umgebungszustand I aus den Schritten S1102 bis S1106, in welchem das Zusammenfügen erfolgreich ist. Schließlich liefert die Pfadbestimmungseinheit 802 die gelernten Daten des neuronalen Netzes an die Kontrollparametererzeugungseinheit 202, so dass der Vorgang gemäß Ausführungsform 1 durchgeführt werden kann.
  • Es wird hier angemerkt, dass in Schritt S1107 die Aktoreinheit 804 und die Kritikereinheit 803 über den Umgebungszustand I lernen, in dem das Zusammenfügen erfolgreich ist; jedoch können die Aktoreinheit 804 und die Kritikereinheit 803 unter Verwendung der Daten lernen, die für alle Zusammenfügungsversuche von dem Start bis zu dem Erfolg des Zusammenfügens erhalten werden. Bei Ausführungsform 1 ist der Fall beschrieben, in dem mehrere neuronale Netze gemäß der Kontrollmenge gebildet werden. In dieser Hinsicht ist es möglich, falls die Position, die zu einem erfolgreichen Zusammenfügen führt, bekannt ist, zur gleichen Zeit mehrere geeignete neuronale Netze gemäß dem Betrag der Kontrollmenge zu bilden.
  • Diese Beschreibung ist basierend auf dem Aktor-Kritiker-Modell als ein Modul für das bestärkende Lernen bereitgestellt, aber andere Bestärkendes-Lernen-Modelle, wie etwa Q-Lernen, können ebenfalls verwendet werden.
  • Das RBF-Netz ist als die Approximationsfunktion exemplarisch genannt, aber ein anderes Approximationsfunktionsverfahren (lineare Funktion, quadratische Funktion usw.) kann verwendet werden.
  • Das obige Beispiel für ein Beurteilungsverfahren verwendete einen Verbinder, der eine Oberfläche mit einer anderen Farbe als andere Oberflächen aufweist; jedoch kann die Abweichungsmenge zwischen Verbindern oder dergleichen, die durch das Verwenden einer anderen Bildverarbeitungstechnik erhalten wird, für die Beurteilung verwendet werden.
  • Wie in Ausführungsform 1 und in der vorliegenden Ausführungsform angegeben, ist eine Anwendung dieser Technik nicht auf das Zusammenfügen von Verbindern beschränkt. Dieses Verfahren kann zum Beispiel effektiv auf das Montieren von IC-Chips auf einem Substrat und insbesondere das Einführen von Kondensatoren oder dergleichen, die Beine aufweisen, mit einem großen Abmessungsfehler in Löcher eines Substrats angewandt werden.
  • Dieses Verfahren kann nicht nur auf eine Kontrolle zum Einführen in Substrate angewandt werden, sondern auch auf eine allgemeine Positionskontrolle, um eine Kontrollmenge aus bekannten Beziehungen zwischen Bildern und Kontrollmengen abzuleiten. Bei der vorliegenden Offenbarung werden die Beziehungen zwischen Bildern und Kontrollmengen von dem neuronalen Netz gelernt; dementsprechend können individuelle Unterschiede der Objekte beim Durchführen einer Ausrichtung der Objekte zugelassen werden und können die Kontrollmengen genau berechnet werden.
  • Gemäß der vorliegenden Ausführungsform berechnet die Aktoreinheit 804 beim Anwenden des Aktor-Kritiker-Modells auf das Lernen der Kontrollmengen die Bewegungskorrekturmengen für die Versuche durch Addieren des Wertes, der durch die Kritikereinheit 803 gemäß der Belohnungsmenge erhalten wird, und des empfohlenen Wertes, der durch die Pfadeinstellungseinheit 806 basierend auf dem Beurteilungswert erhalten wird. Dementsprechend kann die vorliegende Offenbarung die Anzahl an Versuchen für die Ausrichtung erheblich reduzieren, wohingegen die herkömmlichen Aktor-Kritiker-Modelle eine große Anzahl an Trials-and-Errors bis zu der erfolgreichen Ausrichtung erfordern.
  • Es wird angemerkt, dass bei der vorliegenden Ausführungsform beschrieben ist, dass die Anzahl an Versuchen der Ausrichtung reduziert werden kann, indem die Bilder einer Fehlausrichtung beurteilt werden, die von der Bildgebungseinheit 201 erhalten werden; jedoch kann die Anzahl an Versuchen auch reduziert werden, indem die Werte verwendet werden, die von dem Kraftsensor 801 während der Ausrichtungsversuche erhalten werden. Zum Beispiel wird bei dem Zusammenfügen von Verbindern oder beim Ausrichten von zwei Objekten, einschließlich einer Einführung, die Detektion eines Versagens allgemein auf eine solche Weise durchgeführt, dass, wenn der von dem Kraftsensor 801 erhaltene Wert eine Schwelle überschreitet, die Aktoreinheit 804 überprüft, ob sich die zwei Objekte in einer Position befinden, in der das Zusammenfügen oder Einführen abgeschlossen ist. In einem solchen Fall können die folgenden Fälle betrachtet werden. Ein solcher Fall ist ein Fall, bei dem das Zusammenfügen oder Einführen nicht abgeschlossen ist (Fall A), und ein anderer Fall ist ein Fall, bei dem das Zusammenfügen oder Einführen abgeschlossen ist, wobei aber während des Zusammenfügens oder Einführens der Wert, der von dem Kraftsensor 801 erhalten wird, einen gewissen Wert erreicht hat (Fall B).
  • Fall A kann durch ein Verfahren zum Lernen mit sowohl dem Wert von dem Kraftsensor 801 als auch dem Bild bewältigt werden. Die Einzelheiten werden in Ausführungsform 3 beschrieben.
  • Fall B kann durch ein Verfahren zum Lernen mit nur dem Wert von dem Kraftsensor 801, welches in Ausführungsform 3 beschrieben ist, bewältigt werden. Der ähnliche Effekt kann erhalten werden, indem ein anderes Verfahren verwendet wird, in dem die Belohnung R des Aktor-Kritiker-Modells so definiert wird, dass R = (1- A/F) zur Zeit des Erfolgs, R = 0 zur Zeit des Versagens gilt. Hier ist F die maximale Belastung, die während des Zusammenfügens oder Einführens angewandt wird, und ist A eine positive Konstante.
  • Ausführungsform 3
  • Bei der vorliegenden Ausführungsform wird ein Verfahren zum effizienten Sammeln von Daten in dem Lernprozess, der nach einer erfolgreichen Ausrichtung in Ausführungsform 2 durchgeführt wird, beschrieben. Von dem, was hier nicht speziell erwähnt wird, wird angenommen, dass es genauso wie in Ausführungsform 2 ist. Daher ist hinsichtlich der Positionskontrollvorrichtung gemäß Ausführungsform 3 das funktionale Konfigurationsdiagramm in 8 gezeigt und ist das Hardwarestrukturdiagramm in 9 gezeigt.
  • Hinsichtlich der Handlung wird unten ein Verfahren zum effizienteren Sammeln von Lerndaten in dem Vorgang des Schrittes S1107 aus 11 in Ausführungsform 2 beschrieben.
  • 12 ist ein Flussdiagramm, das einen Pfadlernprozess der Positionskontrollvorrichtung gemäß Ausführungsform 3 zeigt.
  • Wenn das Zusammenfügen des männlichen Verbinders 110 und des weiblichen Verbinders 120 in Schritt S1107 aus 11 erfolgreich ist, initialisiert die Pfadeinstellungseinheit 806 zuerst in Schritt S1201 die Variablen i = 0, j = 1 und k =1. Hier gibt die Variable i die Zahl an Lernvorgängen für den Roboterarm 100 danach an, gibt die Variable k die Zahl an Lernvorgängen an, nachdem das Zusammenfügen des männlichen Verbinders 110 und des weiblichen Verbinders 120 gelöst wurde; und gibt die Variable j die Schleifenanzahl in dem in 12 gezeigten Flussdiagramm an.
  • Als Nächstes liefert die Pfadeinstellungseinheit 806 in Schritt S1202 eine Bewegungsmenge über die Aktoreinheit 804 an die Kontrolleinheit 203 zum Zurückkehren um 1 mm aus einem Zustand, der durch die Bewegungsmenge zum Zusammenfügen bewirkt wird, die in Schritt S1104 in 11 bereitgestellt wird, und bewirkt, dass die Antriebseinheit 204 den Roboterarm 100 entsprechend zurückbewegt. Dann wird die variable i um eins erhöht. Hier wird die Bewegungsmenge zum Zurückkehren um 1 mm bereitgestellt, aber die Einheitenmenge ist nicht auf 1 mm beschränkt und kann 0,5 mm, 2 mm und dergleichen sein.
  • In Schritt S1203 speichert die Pfadeinstellungseinheit 806 die momentanen Koordinaten als O(i) (i = 1 zu dieser Zeit).
  • In Schritt S1204 erzeugt die Pfadeinstellungseinheit 806 eine zufällige Bewegungsmenge (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) von dem Punkt O(i) und liefert die erzeugte zufällige Bewegungsmenge über die Aktoreinheit 804 an die Kontrolleinheit 203. Dann bewegt die Antriebseinheit 204 den Roboterarm 100 entsprechend. Hier kann die maximale Bewegungsmenge auf eine beliebige Menge innerhalb des Bereichs eingestellt werden, in dem sich der Roboterarm 100 bewegen kann.
  • In Schritt S1205 sammelt die Aktoreinheit 804 bei der in Schritt S1204 erreichten Position den durch den Kraftsensor 801 erhaltenen Wert, der der zufälligen Bewegungsmenge (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) entspricht. In Schritt S1206 zeichnen die Kritikereinheit 803 und die Aktoreinheit 804 den Wert (-ΔX, -ΔY, -ΔZ, -ΔAx, -ΔAy, -ΔAz), der die Bewegungsmenge multipliziert mit -1 ist, und den Sensorwert des Kraftsensors 801, der die Kraft zum Halten des männlichen Verbinders 110 misst, als einen Datensatz zum Lernen auf.
  • In Schritt S1207 beurteilt die Pfadeinstellungseinheit 806, ob die Zahl an gesammelten Datensätzen die vorbestimmte Zahl J erreicht hat. Falls die Zahl an Datensätzen nicht ausreicht, wird in Schritt S1208 die Variable j um eins erhöht und in Schritt S1204 wird wieder die Bewegungsmenge (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) aktualisiert, indem irgendeine zufällige Zahl verwendet wird, um einen anderen Datensatz zu erhalten. Dementsprechend werden die Schritte S1204 bis S1207 wiederholt, bis die Zahl an Datensätzen die vorbestimmte Zahl J erreicht.
  • Wenn die Zahl an Datensätzen die vorbestimmte Zahl erreicht, stellt die Pfadeinstellungseinheit 806 die Variable j in Schritt S1209 auf eins ein und überprüft in Schritt S1210, ob die Zusammenfügung des männlichen Verbinders 110 und des weiblichen Verbinders 120 gelöst ist.
  • Falls nicht gelöst, kehrt der Prozess über Schritt S1211 zu Schritt S1202 zurück.
  • In Schritt S1211 liefert die Pfadeinstellungseinheit 806 die Bewegungsmenge über die Aktoreinheit 804 an die Kontrolleinheit 203, so dass die Koordinaten des Roboterarms 100 zu O(i) zurückkehren, die Koordinaten sind, bevor die zufälligen Bewegungsmengen bereitgestellt wurden. Dann bewegt die Antriebseinheit 204 den Roboterarm 100 entsprechend.
  • Dann wird die Schleife von Schritt S1202 bis Schritt S1210 wiederholt; das heißt, die folgenden zwei Prozesse werden wiederholt, bis die Zusammenfügung des männlichen Verbinders 110 und des weiblichen Verbinders 120 gelöst ist: der Prozess des Zurückkehrens um 1 mm oder eine Einheitenmenge von einem Zustand, der durch die für das Zusammenfügen bereitgestellte Bewegungsmenge bewirkt wird, und Zurückbringen des Roboterarms 100 entsprechend; und ein Prozess des Bereitstellens der zufälligen Bewegungsmengen von der zurückgekehrten Position und Sammelns von Daten des Kraftsensors 801 dort. Wenn die Zusammenfügung des männlichen Verbinders 110 und des weiblichen Verbinders 120 gelöst ist, geht der Prozess zu Schritt S1212 über.
  • In Schritt S1212 stellt die Pfadeinstellungseinheit 806 den Wert der Variable i als I ein, wobei I eine ganze Zahl größer als der Wert der Variable i zu der Zeit ist, wenn bestimmt wird, dass die Zusammenfügung des männlichen Verbinders 110 und des weiblichen Verbinders 120 gelöst ist. Die Pfadeinstellungseinheit 806 stellt dann mit der Kontrolleinheit 203 über die Aktoreinheit 804 eine Bewegungsmenge zum Zurückkehren um 10 mm (nicht auf diesen Wert beschränkt) aus dem Zustand bereit, der durch die zum Zusammenfügen bereitgestellte Bewegungsmenge bewirkt wird, und bewirkt, dass die Antriebseinheit 204 den Roboterarm 100 entsprechend zurückbewegt.
  • In Schritt S1213 speichert die Pfadeinstellungseinheit 806 die Koordinaten der Position, zu der sich der Roboterarm 100 in Schritt S1212 bewegt hat, als die Koordinaten der Mittelposition O (i + k).
  • In Schritt S1214 erzeugt die Pfadeinstellungseinheit 806 wieder eine zufällige Bewegungsmenge (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) von der Mittelposition O(i + k) und liefert die erzeugte zufällige Bewegungsmenge über die Aktoreinheit 804 an die Kontrolleinheit 203. Dann bewegt die Antriebseinheit 204 den Roboterarm 100 entsprechend.
  • In Schritt S1215 erhalten die Kritikereinheit 803 und die Aktoreinheit 804 das Bild, das durch die Bildgebungseinheit 201 der monokularen Kamera 102 bei der Position des Roboterarms 100 erfasst wird, der sich um die zufällige Bewegungsmenge (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) bewegt hat.
  • In Schritt S1216 zeichnen die Kritikereinheit 803 und die Aktoreinheit 804 die Menge (-ΔX, -ΔY, -ΔZ, -ΔAx, -ΔAy, -ΔAz), die durch Multiplizieren der zufälligen Bewegungsmenge mit -1 erhalten wird, und das erfasste Bild als einen Lerndatensatz auf.
  • In Schritt S1217 überprüft die Pfadeinstellungseinheit 806, ob die Zahl an gesammelten Datensätzen die vorbestimmte Zahl J erreicht hat. Falls die Zahl an Datensätzen nicht ausreicht, wird in Schritt S1212 die Variable j um eins erhöht und der Prozess kehrt zu Schritt S1214 zurück. Die Pfadeinstellungseinheit 806 ändert die Bewegungsmenge (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) zufällig und erhält einen anderen Bewegungsdatensatz. Die Schritte S1214 bis S1217 werden wiederholt, bis die Zahl an Datensätzen die vorbestimmte Zahl J erreicht.
  • Es wird angemerkt, dass die maximale zufällige Bewegungsmenge (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) in S1204 und die maximale zufällige Bewegungsmenge in S1204 unterschiedlich sein können.
  • Die Aktoreinheit 804 und die Kritikereinheit 803 führen das Lernen unter Verwendung der Lerndatensätze durch, die durch das oben beschriebene Verfahren erhalten werden.
  • 13 ist ein Diagramm, das ein Beispiel für das neuronale Netz und die Lernregel des neuronalen Netzes gemäß Ausführungsform 3 zeigt.
  • Bei Ausführungsformen 1 und 2 ist das Lernverfahren, das die durch den Kraftsensor 801 erhaltenen Daten verwendet, nicht beschrieben. Bei Ausführungsformen 1 und 2 werden nur die Bilder für die Eingabeschicht verwendet, aber bei Ausführungsform 3 können die Werte, die durch den Kraftsensor 801 erhalten werden, anstelle der Bilder in die Eingabeschicht eingespeist werden. Die durch den Kraftsensor 801 bereitgestellten Werte können drei (eine Kraft und Momente um zwei Richtungen) oder sechs (Kräfte in drei Richtungen und Momente um drei Richtungen) sein. Die Kontrollmenge (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) wird in der Ausgabeschicht ausgegeben. Es wird angemerkt, dass, wenn die Zusammenfügung des männlichen Verbinders 110 und des weiblichen Verbinders 120 gelöst wird, sowohl die Bilder als auch die Werte, die durch den Kraftsensor 801 erhalten werden, gleichzeitig in die Eingabeschicht eingespeist werden.
  • Bei dem Lernprozess des neuronalen Netzes werden die Parameter der Zwischenschicht optimiert, so dass die Ausgabewerte der Ausgabeschicht näherungsweise die Kontrollmengen sind; hier werden die Ausgabewerte aus den Eingabebildern und den Werten von dem Kraftsensor 801 über die Zwischenschicht abgeleitet und die Kontrollmengen werden mit ihren jeweiligen Bildern und ihren jeweiligen Werten von dem Kraftsensor 801 gespeichert. Schließlich liefert die Pfadbestimmungseinheit 802 die gelernten Daten des neuronalen Netzes an die Kontrollparametererzeugungseinheit 202, so dass der Vorgang gemäß Ausführungsform 1 durchgeführt werden kann.
  • Die vorliegende Ausführungsform wurde unter Annahme des Folgenden beschrieben. Um das Lernen durchzuführen, bewegt sich der Roboterarm 100 in kleinen Schritten aus der Zusammenfügungsposition des männlichen Verbinders 110 und des weiblichen Verbinders 120 zurück und bewegt sich dann geringfügig zu den Peripheriepositionen und in Abhängigkeit von der Zahl an Pixeln des Bildes der monokularen Kamera 102 kann ein zufriedenstellendes Lernen nicht durchgeführt werden, bis die Zusammenfügung gelöst ist. Falls jedoch die monokulare Kamera 102 Bilder mit ausreichend hoher Auflösung produziert, die das ausreichende Lernen unter Verwendung der Bilder ermöglichen, die erhalten werden, wenn sich der Roboterarm 100 geringfügig zu den Peripheriepositionen bewegt, kann das Lernen durch Verwenden von nur den Bildern durchgeführt werden, die durch die monokulare Kamera 102 bereitgestellt werden. Außerdem können, selbst wenn sich der männliche Verbinder 110 und der weibliche Verbinder 120 in dem zusammengefügten Zustand befinden, sowohl die Bilder der monokularen Kamera 102 als auch die Werte, die von dem Kraftsensor 801 erhalten werden, verwendet werden.
  • Bei Ausführungsformen 1 und 2 ist der Fall beschrieben, in dem mehrere neuronale Netze verwendet werden. Außerdem können bei der vorliegenden Ausführungsform zum Beispiel unterschiedliche neuronale Netze für den Fall, in dem der männliche Verbinder 110 und der weibliche Verbinder 120 zusammengefügt sind, und für den Fall, in dem sie nicht zusammengefügt sind, verwendet werden. Wie oben beschrieben, kann das Lernen genauer durchgeführt werden, indem die Werte von dem Kraftsensor 801 verwendet werden, um die Eingabeschicht zu bilden, wenn der männliche Verbinder 110 und der weibliche Verbinder 120 zusammengefügt sind, und die Bilder verwendet werden, um die Eingabeschicht zu bilden, wenn die Zusammenfügung gelöst ist. Ferner kann, selbst wenn nur die Bilder zum Lernen verwendet werden, genaues Lernen durchgeführt werden, indem eine Verarbeitung für den zusammengefügten Zustand und für den gelösten Zustand separiert wird, weil die Konfiguration der Bilder, die jedem Zustand entspricht, unterschiedlich ist.
  • Wie in Ausführungsformen 1 und 2 angegeben, ist eine Anwendung dieser Technik nicht auf das Zusammenfügen von Verbindern beschränkt. Dieses Verfahren kann zum Beispiel effektiv auf das Montieren von IC-Chips auf einem Substrat und insbesondere das Einführen von Kondensatoren oder dergleichen, die Beine aufweisen, mit einem großen Abmessungsfehler in Löcher eines Substrats angewandt werden.
  • Dieses Verfahren kann nicht nur auf eine Kontrolle zum Einführen in Substrate angewandt werden, sondern auch auf eine allgemeine Positionskontrolle, um eine Kontrollmenge aus bekannten Beziehungen zwischen Bildern und Kontrollmengen abzuleiten. Bei der vorliegenden Offenbarung werden die Beziehungen zwischen Bildern und Kontrollmengen von dem neuronalen Netz gelernt; dementsprechend können individuelle Unterschiede der Objekte beim Durchführen einer Ausrichtung der Objekte zugelassen werden und können die Kontrollmengen genau berechnet werden.
  • Bei der vorliegenden Ausführungsform sind, falls Vorgänge einschließlich einer Ausrichtung und Einführung von zwei Objekten durchgeführt werden, eine Pfadeinstellungseinheit 806 und eine Aktoreinheit 804 bereitgestellt, um eine Kontrollmenge zu lernen. Die Pfadeinstellungseinheit 806 stellt die Bewegungsmenge für das Entfernen eines Objekts aus seiner eingeführten Position und zum Lokalisieren von ihm auf dem und um den Pfad des Entfernens herum bereit. Die Aktoreinheit 804 erhält Positionen des Objekts und die Werte eines Kraftsensors 801 dort, um das Lernen durchzuführen, indem die Positionen des Objekts als die Werte für die Ausgabeschicht genommen werden und die Werte des Kraftsensors 801 als die Werte für die Eingabeschicht genommen werden. Daher können Lerndaten effizient gesammelt werden.
  • Bezugszeichenliste
  • 100:
    Roboterarm
    101:
    Greifeinheit
    102:
    monokulare Kamera
    110:
    männlicher Verbinder
    120:
    weiblicher Verbinder
    201:
    Bildgebungseinheit
    202:
    Kontrollparametererzeugungseinheit
    203:
    Kontrolleinheit
    204:
    Antriebseinheit
    301:
    Eingabe/Ausgabe-Schnittstelle
    302:
    Prozessor
    303:
    Speicher
    304:
    Kontrollschaltkreis
    305:
    Motor
    801:
    Kraftsensor
    802:
    Pfadbestimmungseinheit
    803:
    Kritikereinheit
    804:
    Aktoreinheit
    805:
    Beurteilungseinheit
    806:
    Pfadeinstellungseinheit
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • WO 98017444 [0005]
    • JP 2005125475 [0005]

Claims (8)

  1. Positionskontrollvorrichtung für Vorgänge, die Ausrichtung und Einführung in Bezug auf zwei Objekte enthalten, wobei die Vorrichtung Folgendes umfasst: eine Pfadeinstellungseinheit zum Anweisen, beim Entfernen von einem der zwei Objekte aus ihrem eingeführten Zustand, einer Bewegungsmenge für Bewegung von dem eingeführten Zustand zu einer Position auf einem Pfad und ihrer Umgebung; und eine Aktoreinheit zum Erhalten von Positionsdaten und eines Kraftsensorwertes nach Bewegung, um die Positionsdaten nach Bewegung als eine Ausgabeschicht und den Kraftsensorwert an der Position nach Bewegung als eine Eingabeschicht zu lernen.
  2. Positionskontrollvorrichtung nach Anspruch 1, die ferner Folgendes umfasst: eine Kontrolleinheit zum Kontrollieren von Strom oder Spannung, um eine Positionsbeziehung zwischen den zwei Objekten durch Verwenden der angewiesenen Bewegungsmenge zu kontrollieren; und eine Antriebseinheit zum Ändern einer Position von einem der zwei Objekte unter Verwendung des Stroms oder der Spannung, wobei der Kraftsensor eine Kraft misst, die ausgeübt wird, um die Positionsbeziehung zwischen den zwei Objekten beizubehalten.
  3. Positionskontrollvorrichtung nach Anspruch 1 oder 2, die ferner eine monokulare Kamera umfasst zum Erfassen und Erhalten eines Bildes, das die zwei Objekte beinhaltet, wobei die Aktoreinheit das Bild erhält, das durch die monokulare Kamera bei der Position nach Bewegung erfasst wird.
  4. Positionskontrollvorrichtung nach einem der Ansprüche 1 bis 3, wobei die Aktoreinheit durch Verwenden eines Aktor-Kritiker-Modells basierend auf der Eingabeschicht und der Ausgabeschicht lernt.
  5. Positionskontrollvorrichtung nach Anspruch 4, wobei die Aktoreinheit mit mehreren neuronalen Netzen lernt, eines der mehreren neuronalen Netze zum Lernen Positionsdaten verwendet, wenn sich Positionsbeziehung zwischen den zwei Objekten in dem eingeführten Zustand befindet, und andere Daten zum Lernen Positionsdaten verwendet, wenn sich die Positionsbeziehung zwischen den zwei Objekten nicht in dem eingeführten Zustand befindet.
  6. Positionskontrollvorrichtung nach Anspruch 5, wobei die Aktoreinheit den Kraftsensorwert als Positionsdaten verwendet, wenn sich die Positionsbeziehung zwischen den zwei Objekten in dem eingeführten Zustand befindet, und Bilddaten als Positionsdaten verwendet, wenn sich die Positionsbeziehung zwischen den zwei Objekten nicht in dem eingeführten Zustand befindet.
  7. Positionskontrollverfahren, das Ausrichten und Einführen in Bezug auf zwei Objekte beinhaltet, wobei das Verfahren Folgendes umfasst: Anweisen, beim Entfernen von einem der zwei Objekte aus ihrem eingeführten Zustand, einer Bewegungsmenge für Bewegung von dem eingeführten Zustand zu einer Position auf einem Pfad und ihrer Umgebung; und Erhalten von Positionsdaten und eines Kraftsensorwertes nach einer Bewegung, um die Positionsdaten nach der Bewegung als eine Ausgabeschicht und den Kraftsensorwert bei der Position nach der Bewegung als eine Eingabeschicht zu lernen.
  8. Positionskontrollverfahren, das Ausrichten und Einführen in Bezug auf zwei Objekte beinhaltet, wobei das Verfahren Folgendes umfasst: Anweisen, beim Entfernen von einem der zwei Objekte aus ihrem eingeführten Zustand, einer Bewegungsmenge für Bewegung von dem eingeführten Zustand zu einer Position auf einem Pfad und ihrer Umgebung; Erhalten von Positionsdaten und eines Kraftsensorwertes nach Bewegung, um die Positionsdaten nach Bewegung als eine Ausgabeschicht und den Kraftsensorwert bei der Position nach Bewegung als eine Eingabeschicht zu lernen; und Lernen durch Verwenden eines Aktor-Kritiker-Modells basierend auf der Eingabeschicht und der Ausgabeschicht.
DE112017007028.7T 2017-02-09 2017-02-09 Positionskontrollvorrichtung und Positionskontrollverfahren Active DE112017007028B4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/004733 WO2018146770A1 (ja) 2017-02-09 2017-02-09 位置制御装置及び位置制御方法

Publications (2)

Publication Number Publication Date
DE112017007028T5 true DE112017007028T5 (de) 2019-10-31
DE112017007028B4 DE112017007028B4 (de) 2023-06-15

Family

ID=63108068

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017007028.7T Active DE112017007028B4 (de) 2017-02-09 2017-02-09 Positionskontrollvorrichtung und Positionskontrollverfahren

Country Status (7)

Country Link
US (1) US11173613B2 (de)
JP (1) JP6376296B1 (de)
KR (1) KR102113465B1 (de)
CN (1) CN110248774A (de)
DE (1) DE112017007028B4 (de)
TW (1) TWI638249B (de)
WO (1) WO2018146770A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112019000097B4 (de) * 2018-10-15 2020-12-17 Mujin, Inc. Steuervorrichtung, Arbeitsroboter, Programm und Steuerverfahren
DE102020200165A1 (de) * 2020-01-09 2021-07-15 Robert Bosch Gesellschaft mit beschränkter Haftung Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10427305B2 (en) * 2016-07-21 2019-10-01 Autodesk, Inc. Robotic camera control via motion capture
JP6458912B1 (ja) * 2018-01-24 2019-01-30 三菱電機株式会社 位置制御装置及び位置制御方法
US11292133B2 (en) * 2018-09-28 2022-04-05 Intel Corporation Methods and apparatus to train interdependent autonomous machines
JP7205752B2 (ja) * 2018-11-09 2023-01-17 オムロン株式会社 ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
JP6970078B2 (ja) * 2018-11-28 2021-11-24 株式会社東芝 ロボット動作計画装置、ロボットシステム、および方法
JP6915605B2 (ja) * 2018-11-29 2021-08-04 オムロン株式会社 画像生成装置、ロボット訓練システム、画像生成方法、及び画像生成プログラム
JP7000359B2 (ja) * 2019-01-16 2022-01-19 ファナック株式会社 判定装置
US11636347B2 (en) * 2019-01-23 2023-04-25 Deepmind Technologies Limited Action selection using interaction history graphs
JP6978454B2 (ja) 2019-02-22 2021-12-08 ファナック株式会社 物体検出装置、制御装置及び物体検出用コンピュータプログラム
CN109986559B (zh) * 2019-02-28 2021-08-10 深圳镁伽科技有限公司 参数编辑方法和系统、控制设备及存储介质
WO2021039995A1 (ja) 2019-08-28 2021-03-04 株式会社DailyColor ロボット制御装置
JP6742040B1 (ja) * 2019-08-28 2020-08-19 株式会社DailyColor ロボット制御装置
WO2021070404A1 (ja) * 2019-10-09 2021-04-15 三菱電機株式会社 組み立て装置
CN110974163A (zh) * 2019-12-05 2020-04-10 中国人民解放军总医院 口腔医疗影像机器人多传感信息融合控制系统及控制方法
JP6792230B1 (ja) * 2019-12-12 2020-11-25 株式会社エクサウィザーズ 情報処理装置、方法およびプログラム
KR102498066B1 (ko) * 2020-02-20 2023-02-10 한국과학기술원 딥러닝 강화학습 가속기
CN111347426B (zh) * 2020-03-26 2021-06-04 季华实验室 一种基于3d视觉的机械臂精确放置轨迹规划方法
WO2021220394A1 (ja) * 2020-04-28 2021-11-04 ヤマハ発動機株式会社 機械学習方法およびロボットシステム
US11833666B2 (en) * 2020-10-28 2023-12-05 Shanghai Flexiv Robotics Technology Co., Ltd. Method for assembling an operating member and an adapting member by a robot, robot, and controller
WO2022107517A1 (ja) * 2020-11-20 2022-05-27 株式会社ユーハイム バウムクーヘン焼成システム、バウムクーヘン焼成支援システム、プログラム及びバウムクーヘンの製造方法

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1016981A (en) * 1911-03-06 1912-02-13 Indianapolis Gas Engine Company Internal-combustion engine.
US5309525A (en) * 1990-06-14 1994-05-03 Canon Kabushiki Kaisha Image processing apparatus using neural network
JPH05318355A (ja) 1992-05-25 1993-12-03 Sony Corp 位置補正方法及び位置補正装置
JP3287152B2 (ja) * 1994-12-27 2002-05-27 日産自動車株式会社 組立用ロボットによるワーク自動組付方法
CN1072374C (zh) * 1995-08-07 2001-10-03 货款接收机公司 用人工神经网络对硬币的有效性进行图形识别的装置
DE69736348T2 (de) 1996-10-24 2006-11-30 Fanuc Ltd. Roboterkraftsteuersystem mit visuellem sensor für zusammenfügungsarbeiten
JP3086206B2 (ja) * 1998-07-17 2000-09-11 科学技術振興事業団 エージェント学習装置
TW444499B (en) * 1998-12-31 2001-07-01 Tsai Ching Yuan Binocular mechanical head monitoring system
US7107107B2 (en) 2003-01-31 2006-09-12 Matsushita Electric Industrial Co., Ltd. Predictive action decision device and action decision method
JP4587738B2 (ja) 2003-08-25 2010-11-24 ソニー株式会社 ロボット装置及びロボットの姿勢制御方法
JP2005125475A (ja) 2003-10-24 2005-05-19 Sunao Kitamura 一回の成功試行で最良経路を学習するアーキテクチャ
JP4929449B2 (ja) * 2005-09-02 2012-05-09 国立大学法人横浜国立大学 強化学習装置および強化学習方法
US20070203871A1 (en) * 2006-01-23 2007-08-30 Tesauro Gerald J Method and apparatus for reward-based learning of improved systems management policies
JP4952025B2 (ja) * 2006-03-31 2012-06-13 株式会社日立製作所 運転制御方法,運転制御装置及び運転制御システム
JP2008305064A (ja) * 2007-06-06 2008-12-18 Japan Science & Technology Agency 学習型制御装置および該方法
JP5451219B2 (ja) * 2009-07-06 2014-03-26 キヤノン株式会社 部品組付け方法
JP5345046B2 (ja) * 2009-11-30 2013-11-20 三菱電機株式会社 ロボットの教示装置、及びロボットの制御装置
FI20105732A0 (fi) * 2010-06-24 2010-06-24 Zenrobotics Oy Menetelmä fyysisten kappaleiden valitsemiseksi robottijärjestelmässä
WO2012027541A1 (en) 2010-08-27 2012-03-01 Abb Research Ltd Vision-guided alignment system and method
JP5791387B2 (ja) * 2011-06-23 2015-10-07 キヤノン株式会社 自動組立装置および自動組立装置による部品組立方法
US9156165B2 (en) * 2011-09-21 2015-10-13 Brain Corporation Adaptive critic apparatus and methods
JP2013107175A (ja) * 2011-11-22 2013-06-06 Canon Inc 組立ロボット
JP5962020B2 (ja) * 2012-01-17 2016-08-03 セイコーエプソン株式会社 ロボット制御装置、ロボットシステム、ロボット及びロボット制御方法
US20140025613A1 (en) * 2012-07-20 2014-01-23 Filip Ponulak Apparatus and methods for reinforcement learning in large populations of artificial spiking neurons
US9008840B1 (en) * 2013-04-19 2015-04-14 Brain Corporation Apparatus and methods for reinforcement-guided supervised learning
US9579789B2 (en) * 2013-09-27 2017-02-28 Brain Corporation Apparatus and methods for training of robotic control arbitration
TWI492008B (zh) * 2013-11-01 2015-07-11 Ind Tech Res Inst 工作機械控制系統及其方法
JP2015142952A (ja) * 2014-01-31 2015-08-06 パナソニック株式会社 ロボットの部品挿入動作の教示方法、及びそれを用いたロボットの動作方法
US9358685B2 (en) * 2014-02-03 2016-06-07 Brain Corporation Apparatus and methods for control of robot actions based on corrective user inputs
JP6361172B2 (ja) * 2014-03-06 2018-07-25 セイコーエプソン株式会社 ロボット、ロボットシステム、及び制御装置
JP2015217486A (ja) * 2014-05-19 2015-12-07 富士通株式会社 判定装置、判定方法、および判定プログラム
JP6427972B2 (ja) * 2014-06-12 2018-11-28 セイコーエプソン株式会社 ロボット、ロボットシステム及び制御装置
JP6460690B2 (ja) * 2014-09-16 2019-01-30 キヤノン株式会社 ロボット装置、ロボット制御方法、プログラム及び記録媒体
JP6517567B2 (ja) * 2015-03-31 2019-05-22 日本電産サンキョー株式会社 サーボモータ制御装置及び衝突検出方法
US20180233856A1 (en) * 2015-05-22 2018-08-16 Rnd By Us B.V. Holding device
US10166080B2 (en) * 2015-06-12 2019-01-01 The Johns Hopkins University Cooperatively-controlled surgical robotic system with redundant force sensing
US10776692B2 (en) * 2015-07-24 2020-09-15 Deepmind Technologies Limited Continuous control with deep reinforcement learning
JP6325507B2 (ja) * 2015-11-09 2018-05-16 ファナック株式会社 嵌合部品と被嵌合部品とをロボットによって嵌合する方法
JPWO2018116851A1 (ja) * 2016-12-21 2019-10-24 株式会社ニコン 情報処理装置、画像処理装置、顕微鏡、情報処理方法、及び情報処理プログラム
US11321618B2 (en) * 2018-04-25 2022-05-03 Om Digital Solutions Corporation Learning device, image pickup apparatus, image processing device, learning method, non-transient computer-readable recording medium for recording learning program, display control method and inference model manufacturing method
WO2019225746A1 (ja) * 2018-05-25 2019-11-28 川崎重工業株式会社 ロボットシステム及び追加学習方法
US10953548B2 (en) * 2018-07-19 2021-03-23 International Business Machines Corporation Perform peg-in-hole task with unknown tilt
US11325252B2 (en) * 2018-09-15 2022-05-10 X Development Llc Action prediction networks for robotic grasping
JP6970078B2 (ja) * 2018-11-28 2021-11-24 株式会社東芝 ロボット動作計画装置、ロボットシステム、および方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112019000097B4 (de) * 2018-10-15 2020-12-17 Mujin, Inc. Steuervorrichtung, Arbeitsroboter, Programm und Steuerverfahren
US11045948B2 (en) 2018-10-15 2021-06-29 Mujin, Inc. Control apparatus, work robot, non-transitory computer-readable medium, and control method
DE112019001256B3 (de) 2018-10-15 2022-08-18 Mujin, Inc. Steuervorrichtung, Arbeitsroboter, Programm und Steuerverfahren
US11839977B2 (en) 2018-10-15 2023-12-12 Mujin, Inc. Control apparatus, work robot, non-transitory computer-readable medium, and control method
DE102020200165A1 (de) * 2020-01-09 2021-07-15 Robert Bosch Gesellschaft mit beschränkter Haftung Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters
DE102020200165B4 (de) 2020-01-09 2022-05-19 Robert Bosch Gesellschaft mit beschränkter Haftung Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters

Also Published As

Publication number Publication date
US11173613B2 (en) 2021-11-16
JPWO2018146770A1 (ja) 2019-02-14
WO2018146770A1 (ja) 2018-08-16
CN110248774A (zh) 2019-09-17
TWI638249B (zh) 2018-10-11
JP6376296B1 (ja) 2018-08-22
DE112017007028B4 (de) 2023-06-15
TW201830182A (zh) 2018-08-16
US20190375112A1 (en) 2019-12-12
KR102113465B1 (ko) 2020-05-21
KR20190104564A (ko) 2019-09-10

Similar Documents

Publication Publication Date Title
DE112017007028B4 (de) Positionskontrollvorrichtung und Positionskontrollverfahren
DE112017007025T5 (de) Positionssteuerungseinrichtung und positionssteuerungsverfahren
DE112011103794B4 (de) Aufnehmervorrichtung für Werkstücke
DE112009001414T5 (de) Bearbeitungssystem, Steuerungseinrichtung, Steuerungsverfahren und Programm
DE102017001667A1 (de) Bildverarbeitungseinrichtung zum Anzeigen eines Objekts, das anhand einer Eingabebildaufnahme erkannt wird
DE102016014264A1 (de) Maschinelle Lernvorrichtung, Blechpaketherstellungsvorrichtung, Blechpaketherstellungssystem und maschinelles Lernverfahren zum Erlernen des Stapelns von Paketblechen
DE102015016530B4 (de) Roboter-Identifizierungssystem
DE102019106277A1 (de) Bildanalysevorrichtung, -verfahren und -programm
DE102016008994A1 (de) Werkzeugmaschine, simulationsvorrichtung und maschineneinlerngerät
DE102021107532A1 (de) System und Verfahren zum Anlernen eines Roboters mittels Demonstration durch einen Menschen
DE102018107857A1 (de) Vorrichtung, System und Verfahren zur automatischen Erzeugung eines Bewegungspfads eines Roboters
DE102018201210A1 (de) Koordinateninformations-Umwandlungsvorrichtung und Koordinateninformations-Umwandlungsprogramm
DE102019209644A1 (de) Verfahren zum Trainieren eines neuronalen Netzes
DE102017219282A1 (de) Verfahren und Vorrichtung zum automatischen Erzeugen eines künstlichen neuronalen Netzes
DE102019131261A1 (de) Robotermanipulation unter verwendung eines unabhängig betätigten visionssystems, eines gegensteuerschemas und einer multi-tasking-architektur für tiefgehendes lernen
WO2019211068A1 (de) Verfahren und vorrichtung zum ermitteln eines tiefeninformationsbilds aus einem eingangsbild
DE102017010759A1 (de) Numerische steuerung
DE112017006976T5 (de) Überlagerungspositionskorrektureinrichtung und überlagerungspositionskorrekturverfahren
DE112019006604T5 (de) Steuervorrichtung und steuerverfahren
DE112018007729T5 (de) Maschinelle Lernvorrichtung und mit dieser ausgestattetes Robotersystem
DE102021107479A1 (de) Erfassung einer dreidimensionalen pose durch mehrere 2d-kameras
DE102015012344A1 (de) Verfahren zum Kalibrieren einer Kamera
DE102020214300A1 (de) Vorrichtung und verfahren zum trainieren eines maschinellen lernmodells zum erkennen einer objekttopologie eines objekts aus einem bild des objekts
DE112014003067T5 (de) Speicherprogrammierbare Steuerung
DE102019216379A1 (de) Verfahren zum Trainieren eines neuronalen Faltungs-Netzwerkes zum Bestimmen einer Lokalisierungs-Pose

Legal Events

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