DE112017007025T5 - Positionssteuerungseinrichtung und positionssteuerungsverfahren - Google Patents

Positionssteuerungseinrichtung und positionssteuerungsverfahren Download PDF

Info

Publication number
DE112017007025T5
DE112017007025T5 DE112017007025.2T DE112017007025T DE112017007025T5 DE 112017007025 T5 DE112017007025 T5 DE 112017007025T5 DE 112017007025 T DE112017007025 T DE 112017007025T DE 112017007025 T5 DE112017007025 T5 DE 112017007025T5
Authority
DE
Germany
Prior art keywords
objects
unit
amount
control
position control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112017007025.2T
Other languages
English (en)
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 DE112017007025T5 publication Critical patent/DE112017007025T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D3/00Control of position or direction
    • G05D3/12Control of position or direction using feedback
    • 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
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D3/00Control of position or direction
    • G05D3/12Control of position or direction using feedback
    • G05D3/20Control of position or direction using feedback using a digital comparing device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39271Ann artificial neural network, ffw-nn, feedforward neural network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/008Artificial life, i.e. computing arrangements simulating life based on physical entities controlled by simulated intelligence so as to replicate intelligent life forms, e.g. based on robots replicating pets or humans in their appearance or behaviour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

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

Abstract

Die vorliegende Erfindung enthält Folgendes: eine Abbildungseinheit 201, die ein Bild, in dem zwei Objekte sind, aufnimmt; eine Steuerparametergenerierungseinheit 202, die Informationen bezüglich des aufgenommenen Bilds von zwei Objekten in eine Eingangsschicht eines neuronalen Netzes eingibt und einen Positionssteuerungsbetrag zum Steuern der Positionsbeziehung der zwei Objekte als Ausgangsschicht des neuronalen Netzes ausgibt; eine Steuereinheit 203, die den ausgegebenen Positionssteuerungsbetrag nutzt, um einen Strom bzw. eine Spannung zum Steuern der Positionsbeziehung der zwei Objekte zu steuern; und eine Antriebseinheit 204, die den Strom bzw. die Spannung zum Steuern der Positionsbeziehung der zwei Objekte nutzt, um eine Position aus der Positionsbeziehung der zwei Objekte zu bewegen. Die Steuerparametergenerierungseinheit 202 ist konfiguriert, um eines aus einer Vielzahl neuronaler Netze auszuwählen, und erzielt demzufolge eine Wirkung, aufgrund derer eine Ausrichtung mit einer höheren Genauigkeit durchgeführt werden kann, selbst wenn ein Positionsbeziehungsfehler zwischen den zwei Objekten oder eine einzelne Variation zwischen den einzelnen Objekten vorliegt.

Description

  • Gebiet der Technik
  • Die vorliegende Erfindung betrifft eine Positionssteuerungseinrichtung und ein Positionssteuerungsverfahren.
  • Stand der Technik
  • Im Allgemeinen erfordert das Herstellen eines Produktionssystems, in dem ein Roboterarm Montagearbeiten durchführt, einen manuellen Anweisungsvorgang, der als Teachen bezeichnet wird und von einem Bediener durchzuführen ist. In diesem Fall wiederholt der Roboter Bewegungen nur für die beim Teachen gespeicherte Position, sodass der Roboter möglicherweise nicht richtig reagieren kann, wenn Fertigungs- oder Montagefehler auftreten. Wird eine Positionskorrekturtechnik entwickelt, bei der einzelne Positionsfehler zugelassen sein können, wird folglich in Aussicht gestellt, dass sich Roboter fortan in noch mehr Bereichen einsetzen lassen und Produktivitätsverbesserungen erzielt werden.
  • Eine herkömmliche Technik ermöglicht Positionskorrekturen unter Nutzung eines Kamerabilds bei Vorgängen bis zur Verbindungselementeinführung (Patentschrift 1). Wenn eine Vielzahl von Einrichtungen wie ein Kraftsensor und eine Stereokamera genutzt wird, ist es zudem möglich, dass Positionsfehler, die sich auf die Produktionsmontage (Einführung, Einspannung etc.) auswirken, zugelassen werden. Zum Ermitteln des Positionskorrekturbetrags müssen jedoch Werte wie die Koordinaten der Mitte des Verbindungselements, das gegriffen wird, und die Koordinaten der Mitte des Verbindungselements, bei dem es sich um das Einführungszielteil handelt, eigens aus den Bildinformationen kalkuliert werden, wie die Patentschrift 1 offenbart. Da diese Kalkulation von den Formen der Verbindungselemente abhängt, muss von einem Konstrukteur für jedes Verbindungselement, das genutzt werden soll, eine Festlegung vorgenommen werden. Wenn die dreidimensionalen Informationen von einer Einrichtung wie einer Entfernungskamera erhalten werden, ist die Kalkulation vergleichsweise einfach. Wenn jedoch die dreidimensionalen Informationen aus zweidimensionalen Bildinformationen erhalten werden müssen, müssen für jedes Verbindungselement Bildverarbeitungsalgorithmen entwickelt werden, wodurch hohe Entwicklungskosten entstehen.
  • Liste der Anführungen
  • Patentschriften
  • Patentschrift 1: WO 98-017444
  • Zusammenfassung der Erfindung
  • Technische Aufgabe
  • Es ist schwierig, die Position für die Montage nur mit Informationen von einer monokularen Kamera zu steuern.
  • Die vorliegende Offenbarung soll die Aufgabe lösen und eine Ausrichtung nur mit einer monokularen Kamera ermöglichen.
  • Technische Lösung
  • Eine Positionssteuerungseinrichtung gemäß der Offenbarung enthält Folgendes: eine Abbildungseinheit zum Aufnehmen eines Bilds, das zwei Objekte enthält; und eine Steuerparametergenerierungseinheit zum Zuleiten von Informationen des aufgenommenen Bilds, das die zwei Objekte enthält, zu einer Eingangsschicht eines neuronalen Netzes und zum Ausgeben eines Positionssteuerungsbetrags zum Steuern der Positionsbeziehung zwischen den zwei aufgenommenen Objekten als Ausgangsschicht des neuronalen Netzes.
  • Vorteilhafte Wirkungen der Erfindung
  • Die vorliegende Offenbarung ermöglicht eine Ausrichtung nur mit einer monokularen Kamera.
  • Figurenliste
    • 1 ist eine Abbildung, in der ein Roboterarm 100 gemäß einer Ausführungsform 1, Stecker 110 und Buchsen 120 angeordnet sind.
    • 2 ist ein Funktionskonfigurationsdiagramm, das die Positionssteuerungseinrichtung gemäß der Ausführungsform 1 zeigt.
    • 3 ist ein Hardwarestrukturdiagramm, das die Positionssteuerungseinrichtung gemäß der Ausführungsform 1 zeigt.
    • 4 ist ein Ablaufschema, das die durch die Positionssteuerungseinrichtung gemäß der Ausführungsform 1 durchgeführte Positionssteuerung zeigt.
    • 5 ist ein beispielhaftes Schema, das die Kamerabilder und die Steuerungsbeträge zeigt; die Bilder werden durch die monokulare Kamera 102 gemäß der Ausführungsform 1 an der Einführungsanfangsposition und in ihrer jeweiligen Nähe aufgenommen.
    • 6 ist ein Beispiel, das ein neuronales Netz und eine Lernregel des neuronalen Netzes gemäß der Ausführungsform 1 zeigt.
    • 7 ist ein Ablaufschema, das das neuronale Netz gemäß der Ausführungsform 1, in der eine Vielzahl von Netzen genutzt wird, zeigt.
    • 8 ist ein Funktionskonfigurationsdiagramm einer Positionssteuerungseinrichtung gemäß einer Ausführungsform 2.
    • 9 ist ein Hardwarestrukturdiagramm der Positionssteuerungseinrichtung gemäß der Ausführungsform 2.
    • 10 zeigt einen Stecker 110 und eine Buchse 120 bei einem Versuch einer Zusammensteckung gemäß der Ausführungsform 2.
    • 11 ist ein Ablaufschema, das das Pfadlernen der Positionssteuerungseinrichtung gemäß der Ausführungsform 2 zeigt.
    • 12 ist ein Ablaufschema, das das Pfadlernen einer Positionssteuerungseinrichtung gemäß einer Ausführungsform 3 zeigt.
    • 13 ist ein Beispiel, das ein neuronales Netz und eine Lernregel des neuronalen Netzes gemäß der Ausführungsform 3 zeigt.
  • Beschreibung der Ausführungsformen
  • Ausführungsform 1
  • Im Folgenden werden Ausführungsformen der vorliegenden Erfindung beschrieben.
  • In der Ausführungsform 1 werden ein Roboterarm, der die Einführungspositionen von Steckern lernt und in einer Produktionsstraße arbeitet, sowie ein Positionssteuerungsverfahren für ihn beschrieben.
  • Es werden Konfigurationen beschrieben. 1 ist eine Abbildung, in der ein Roboterarm 100, Steckverbinder 110 und Buchsen 120 gemäß der Ausführungsform 1 angeordnet sind. Der Roboterarm 100 ist mit einer Greifeinheit 101 zum Greifen eines Steckers 110 ausgestattet, und an dem Roboterarm 100 ist eine monokulare Kamera 102 an einer Position, an der die Greifeinheit im Blickfeld der monokularen Kamera 102 ist, angebracht. Während die Greifeinheit 101 am Ende des Roboterarms 100 den Stecker 110 greift, ist die monokulare Kamera 102 so positioniert, dass das Ende des gegriffenen Steckers 110 und die Buchse 120, in die er eingeführt werden soll, in ihrem Blickfeld ist.
  • 2 ist ein Funktionskonfigurationsdiagramm, das die Positionssteuerungseinrichtung gemäß der Ausführungsform 1 zeigt.
  • Wie in 2 gezeigt, enthält die Positionssteuerungseinrichtung Folgendes: eine Abbildungseinheit 201 zum Aufnehmen von Bildern, wobei die Abbildungseinheit 201 eine Funktion der in 1 gezeigten monokularen Kamera 102 ist; eine Steuerparametergenerierungseinheit 202 zum Generieren eines Positionssteuerungsbetrags des Roboterarms 100 unter Nutzung der aufgenommenen Bilder; eine Steuereinheit 203 zum Steuern der für die Antriebseinheit 204 des Roboterarms 100 bereitzustellenden Strom- bzw. Spannungswerte unter Nutzung des Positionssteuerungsbetrags; und eine Antriebseinheit 204 zum Ändern der Position des Roboterarms 100 basierend auf den von der Steuereinheit 203 ausgegebenen Strom- bzw. Spannungswerten.
  • Die Steuerparametergenerierungseinheit 202 ermittelt nach dem Empfangen eines Bilds, das durch die Abbildungseinheit 201, die eine Funktion der monokularen Kamera 102 ist, aufgenommen wurde, den Steuerungsbetrag (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz), der mit der Position des Roboterarms 100 (X, Y, Z, Ax, Ay, Az) korrespondiert, und gibt den Steuerungsbetrag an die Steuereinheit 203 aus. Hierbei sind X, Y und Z Koordinaten der Position des Roboterarms 100, und Ax, Ay und Az sind die Lagewinkel des Roboterarms 100.
  • Die Steuereinheit 203 ermittelt und steuert die Strom- bzw. Spannungswerte 204 für die Einrichtungen, die die Antriebseinheit 204 bilden, basierend auf dem empfangenen Steuerungsbetrag (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz), der mit der Position (X, Y, Z, Ax, Ay, Az) des Roboterarms 100 korrespondiert.
  • Jede Einrichtung, die die Antriebseinheit 204 bildet, arbeitet gemäß den von der Steuereinheit 203 empfangenen Strom- bzw. Spannungswerten und bewirkt, dass sich der Roboterarm 100 in die Position (X+ΔX, Y+ΔY, Z+ΔZ, Ax+ΔAx, Ay+ΔAy, Az+ΔAz) bewegt.
  • 3 ist ein Hardwarestrukturdiagramm der Positionssteuerungseinrichtung gemäß der Ausführungsform 1. Die monokulare Kamera 102 ist über eine Eingabe/Ausgabe-Schnittstelle 301 kommunikationsfähig entweder drahtgebunden oder drahtlos mit einem Prozessor 302 und einem Speicherelement 303 verbunden. Die Eingabe/Ausgabe-Schnittstelle 301, der Prozessor 302 und das Speicherelement 303 realisieren die Funktionen der Steuerparametergenerierungseinheit 202 in 2. Die Eingabe/Ausgabe-Schnittstelle 301 ist kommunikationsfähig entweder drahtgebunden oder drahtlos mit einer mit der Steuereinheit 203 korrespondierenden Steuerschaltung 304 verbunden. Die Steuerschaltung 304 ist auch elektrisch mit einem Motor 305 verbunden. Der Motor 305, der mit der Antriebseinheit 204 in 2 korrespondiert, ist eine Komponente für jede Einrichtung zum Durchführen einer Positionssteuerung. In der vorliegenden Ausführungsform wird der Motor 305 in einer Ausbildung der mit der Antriebseinheit 204 korrespondierenden Hardware genutzt, ausreichend wäre irgendeine zum Bereitstellen der Funktionalität einer solchen Positionssteuerung ausgelegte Hardware. Die monokulare Kamera 201 und die Eingabe/Ausgabe-Schnittstelle 301 können separate Körper sein, und die Eingabe/Ausgabe-Schnittstelle 301 und die Steuerschaltung 304 können separate Körper sein.
  • Als Nächstes wird der Ablauf beschrieben.
  • 4 ist ein Ablaufschema, das die durch die Positionssteuerungseinrichtung gemäß der Ausführungsform 1 durchgeführte Positionssteuerung zeigt.
  • Zunächst greift die Greifeinheit 101 des Roboterarms 100 beim Schritt S101 einen Stecker 110. Die Position und die Lage des Steckers 110 werden in der in 2 gezeigten Steuereinheit 203 vorregistriert, und der Vorgang wird gemäß dem ebenfalls in der Steuereinheit 203 vorregistrierten Steuerprogramm durchgeführt.
  • Als Nächstes wird der Roboterarm 100 beim Schritt S102 näher zur Einführungsposition einer Buchse 120 hin geführt. Die ungefähre Position und die ungefähre Lage der Buchse 110 werden in der in 2 gezeigten Steuereinheit 203 vorregistriert, und die Position des Steckers 110 wird gemäß dem in der Steuereinheit 203 vorregistrierten Steuerprogramm gesteuert.
  • Als Nächstes weist die Steuerparametergenerierungseinheit 202 beim Schritt S103 die Abbildungseinheit 201 der monokularen Kamera 102 zum Aufnehmen eines Bilds an, und die monokulare Kamera 103 nimmt ein Bild auf, das sowohl den von der Greifeinheit 101 gegriffenen Stecker 110 als auch die Buchse 120, bei der es sich um das Einführungszielteil handelt, enthält.
  • Als Nächstes erhält die Steuerparametergenerierungseinheit 202 beim Schritt S104 das Bild von der Abbildungseinheit 201 und ermittelt den Steuerungsbetrag (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz). Beim Ermitteln des Steuerungsbetrags nutzt die Steuerparametergenerierungseinheit 202 den Prozessor 302 und das Speicherelement 303, die in 3 gezeigt sind, als Hardware und kalkuliert den Steuerungsbetrag (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) unter Nutzung eines neuronalen Netzes. Das Verfahren zur Kalkulation des Steuerungsbetrags unter Nutzung des neuronalen Netzes wird später noch beschrieben.
  • Als Nächstes erhält die Steuereinheit 203 beim Schritt S105 den von der Steuerparametergenerierungseinheit 202 ausgegebenen Steuerungsbetrag (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) und vergleicht alle Komponenten des Steuerungsbetrags mit ihren jeweiligen vorher ermittelten Grenzwerten. Wenn alle Komponenten des Steuerungsbetrags höchstens gleich ihren jeweiligen Grenzwerten sind, wird bei dem Prozess zum Schritt S107 übergegangen, und die Steuereinheit 203 steuert die Antriebseinheit 204 derart, dass der Stecker 110 in die Buchse 120 eingeführt wird.
  • Wenn eine beliebige der Komponenten des Steuerungsbetrags größer als der mit ihr korrespondierende Grenzwert ist, steuert die Steuereinheit 203 die Antriebseinheit 204 beim Schritt S106 unter Nutzung des durch die Steuerparametergenerierungseinheit 202 ausgegebenen Steuerungsbetrags (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz), und bei dem Prozess wird zum Schritt S103 zurückgekehrt.
  • Als Nächstes wird das beim Schritt S104 von 4 durchgeführte Verfahren zur Kalkulation des Steuerungsbetrags unter Nutzung des neuronalen Netzes beschrieben.
  • Bevor mit der Kalkulation des Steuerungsbetrags unter Nutzung des neuronalen Netzes begonnen wird, werden eine Vielzahl von Datensätzen eines Bilds sowie ein erforderlicher Betrag für eine Bewegung erfasst; dies dient der Vorbereitung dessen, dass das neuronale Netz den Betrag für eine Bewegung bis zur erfolgreichen Zusammensteckung unter Nutzung des Eingangsbilds kalkulieren kann. Zum Beispiel werden der Stecker 110 und die Buchse 120, deren Positionen bekannt sind, zusammengesteckt, und der Stecker 110 wird von der Greifeinheit 101 des Roboterarms 100 gegriffen. Dann bewegt sich die Greifeinheit 101 in der bekannten Richtung und zieht den Stecker bis zur Einführungsanfangsposition heraus, und die monokulare Kamera 102 nimmt eine Vielzahl von Bildern auf. Wenn außerdem als Steuerungsbetrag für die Einführungsanfangsposition (0, 0, 0, 0, 0, 0) festgelegt ist, werden nicht nur der Betrag für eine Bewegung von der Zusammensteckzustandsposition bis zur Anfangsposition der Einführung mit ihrem Bild, sondern auch die Beträge für eine Bewegung zu Positionen in der Nähe der Einführungsanfangsposition oder die Steuerungsbeträge (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) mit ihren Bildern erfasst.
  • 5 ist ein beispielhaftes Schema, das Steuerungsbeträge und ihre jeweiligen Bilder, die durch die monokulare Kamera 102 in der Ausführungsform 1 an der Einführungsanfangsposition und in ihrer jeweiligen Nähe aufgenommen werden, zeigt.
  • Danach erfolgt der Lernvorgang basierend auf einer allgemeinen Lernregel des neuronalen Netzes (etwa eines stochastischen Gradientenverfahrens) unter Nutzung der Vielzahl von Datensätzen, die sich je aus dem Betrag für eine Bewegung von der Zusammensteckposition bis zur Einführungsanfangsposition zusammensetzen, und des durch die monokulare Kamera 102 an der Einführungsanfangsposition oder in ihrer Nähe aufgenommenen Bilds.
  • Es gibt verschiedene Arten neuronaler Netze wie etwa ein CNN oder ein RNN, und für die vorliegende Offenbarung kann irgendeine dieser Arten genutzt werden.
  • 6 ist ein Schema, das ein Beispiel für das neuronale Netz und die Lernregel des neuronalen Netzes gemäß der Ausführungsform 1 zeigt.
  • Die von der monokularen Kamera 102 erhaltenen Bilder (etwa die Helligkeit und der Farbunterschied jedes Pixels) werden der Eingangsschicht zugeleitet, und die Steuerungsbeträge (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) werden in der Ausgangsschicht ausgegeben.
  • Beim Lernprozess des neuronalen Netzes werden die Parameter der verdeckten Schicht so optimiert, dass die Ausgangswerte der Ausgangsschicht, die über die verdeckte Schicht aus den eingegebenen Bildern erhalten werden, den Steuerungsbeträgen, die in Verbindung mit ihren jeweiligen Bildern gespeichert werden, genähert werden. Zu diesen Näherungsverfahren gehört das stochastische Gradientenverfahren.
  • Folglich kann genaueres Lernen erzielt werden, wie in 5 gezeigt, insofern als diejenigen Bilder erhalten werden, die nicht nur mit dem Betrag für eine Bewegung von der Zusammensteckposition bis zur Einführungsanfangsposition, sondern auch mit den Beträgen für Bewegungen zu Positionen um die Einführungsanfangsposition herum korrespondieren.
  • In 5 ist ein Fall gezeigt, in dem die Position des Steckers 110 mit Bezug zur monokularen Kamera 102 fest ist und nur die Position der Buchse 120 geändert wird. Tatsächlich greift jedoch die Greifeinheit 101 des Roboterarms 100 den Stecker 110 nicht immer genau an der vorgesehenen Position, und die Position des Steckers 110 kann aufgrund seiner einzelnen Differenzen etc. von der normalen Position abweichen. Bei dem Lernprozess werden in einem Zustand, in dem der Stecker 110 von der genauen Position abgewichen ist, Datensätze eines Steuerungsbetrags und ein Bild an der Einführungsanfangsposition sowie die Positionen in ihrer jeweiligen Nähe zur Durchführung des Lernvorgangs erfasst; demzufolge erfolgt der Lernvorgang derart, dass dabei einzelne Differenzen sowohl des Steckers 110 als auch der Buchse 120 berücksichtigt werden können.
  • Hierbei ist zu beachten, dass der Steuerungsbetrag (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) zur Zeit der Aufnahme so kalkuliert wird, dass der Betrag für eine Bewegung von der Zusammensteckposition bis zur Einführungsanfangsposition ausgeschlossen wird. Demzufolge muss der Betrag für eine Bewegung von der Zusammensteckposition bis zur Einführungsanfangsposition zur Nutzung beim Schritt S107 in 4 separat gespeichert werden. Hierbei ist auch zu beachten, dass die oben erwähnten Koordinaten mit Bezug zum Koordinatensystem der monokularen Kamera erhalten werden. Wenn das Koordinatensystem der monokularen Kamera nicht mit dem Koordinatensystem des gesamten Roboterarms 100 übereinstimmt, muss die Steuereinheit 203 demzufolge vor dem Steuern des Roboterarms 100 eine Koordinatenumwandlung durchführen.
  • In dieser Ausführungsform ist das Koordinatensystem der Buchse 120 ein anderes als das Koordinatensystem der monokularen Kamera 102, weil die monokulare Kamera am Roboterarm 100 befestigt ist. Wenn sich die monokulare Kamera 102 und die Buchse 120 im selben Koordinatensystem befinden, ist die Umwandlung vom Koordinatensystem für die monokulare Kamera 102 in das Koordinatensystem für den Roboterarm 100 nicht nötig.
  • Als Nächstes werden der Ablauf sowie ein Ablaufbeispiel, das in 4 gezeigt ist, detailliert beschrieben.
  • Beim Schritt S101 greift der Roboterarm 100 einen Stecker 110 auf eine vorregistrierte Weise, und beim Schritt S102 wird der Stecker 110 zu einer sich fast oberhalb der Buchse 120 befindenden Stelle bewegt.
  • Hierbei ist zu beachten, dass die Position des gegriffenen Steckers 110, kurz bevor er gegriffen wird, nicht immer dieselbe ist. Kommt es zu einer geringfügigen Abweichung der Maschinenabläufe, welche die Position des Steckers 110 vorgibt, besteht immer eine Möglichkeit, dass ein geringfügiger Positionsfehler aufgetreten sein kann. Aus demselben Grund kann auch die Buchse 120 einige Fehler aufweisen.
  • Folglich ist es wichtig, dass die beim Schritt S103 erfassten Bilder sowohl den Stecker 110 als auch die Buchse 120 zeigen, wobei die Bilder wie in 5 durch die Abbildungseinheit 201 der monokularen Kamera 102, die am Roboterarm 100 angebracht ist, aufgenommen werden. Die Position der monokularen Kamera 102 mit Bezug zum Roboterarm 100 ist immer fest, sodass die Bilder die Informationen zur Positionsbeziehung zwischen dem Stecker 110 und der Buchse 120 enthalten.
  • Beim Schritt S104 wird der Steuerungsbetrag (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) durch die Steuerparametergenerierungseinheit 202 mit dem neuronalen Netz, wie in 6 gezeigt, kalkuliert, wobei dieses zuvor die Informationen zur Positionsbeziehung gelernt hat. Jedoch ist abhängig von der Genauigkeit des Lernens die Bewegung bis zur Einführungsanfangsposition unter Nutzung des durch die Steuerparametergenerierungseinheit 202 ausgegebenen Steuerungsbetrags unmöglich. In diesem Fall kann die Steuerparametergenerierungseinheit 202 durch wiederholtes Durchlaufen der Schleife vom Schritt S103 bis zum Schritt S106 so lange Kalkulationen durchführen, bis alle Komponenten des Steuerungsbetrags höchstens gleich ihren jeweiligen Grenzwerten werden, wie beim Schritt S105 gezeigt, und die Steuereinheit 203 und die Antriebseinheit 204 steuern ferner die Position des Roboterarms 100.
  • Die bei S105 gezeigten Grenzwerte werden basierend auf der erforderlichen Genauigkeit des Steckers 110 und der Buchse 120, die zusammenzustecken sind, ermittelt. Wenn diese zum Beispiel lose zusammengesteckt sind, also zunächst keine hohe Genauigkeit als Eigenschaft des Steckers erforderlich ist, können große Grenzwerte festgelegt werden. Im gegenteiligen Fall werden kleine Grenzwerte festgelegt. Bei einem normalen Fertigungsprozess können für die Grenzwerte Fertigungstoleranzen, die in vielen Fällen vorgegeben sind, genutzt werden.
  • Falls abhängig von der Genauigkeit des Lernens die Bewegung bis zur Einführungsanfangsposition unter Nutzung des durch die Steuerparametergenerierungseinheit 202 ausgegebenen Steuerungsbetrags unmöglich ist, kann zudem eine Vielzahl von Einführungsanfangspositionen festgelegt werden. Wird eine Einführungsanfangsposition ohne einen hinreichenden Abstand zwischen dem Stecker 110 und der Buchse 120 festgelegt, können diese vor der Einführung aneinander stoßen und einzeln oder beide brechen. Um dieses Risiko zu umgehen, kann die Einführungsanfangsposition stufenweise abhängig davon festgelegt werden, wie oft die Schritte S103 bis S106, die in 4 gezeigt sind, durchlaufen werden. Zum Beispiel kann für das erste Mal ein Abstand von 5 mm zwischen dem Stecker 110 und der Buchse 120 festgelegt werden, für das zweite Mal ein Abstand von 20 mm, für das dritte Mal ein Abstand von 10 mm und so weiter.
  • Die vorliegende Ausführungsform wird zwar anhand von Steckverbindungen beschrieben, jedoch ist die Anwendung der Technik nicht auf das Zusammenstecken von Verbindungselementen begrenzt. Dieses Verfahren ist praktisch zum Beispiel bei der Montage von IC-Chips auf einem Substrat und insbesondere bei der Einführung von Kondensatoren oder dergleichen mit Beinchen mit einem großen Maßfehler in Löcher eines Substrats anwendbar.
  • Dieses Verfahren ist nicht nur auf die Steuerung zur Einführung in Substrate anwendbar, sondern auch auf die Positionssteuerung im Allgemeinen, um von einer bekannten Beziehung zwischen Bildern und Steuerungsbeträgen einen Steuerungsbetrag abzuleiten. In der vorliegenden Offenbarung werden durch das neuronale Netz die Beziehungen zwischen Bildern und Steuerungsbeträgen gelernt; demzufolge können einzelne Differenzen in den Objekten bei der Durchführung der Ausrichtung der Objekte zugelassen werden.
  • In der Ausführungsform 1 sind eine Abbildungseinheit 201, eine Steuerparametergenerierungseinheit 202, eine Steuereinheit 203 und eine Antriebseinheit 204 bereitgestellt. Die Abbildungseinheit 201 nimmt ein Bild auf, das zwei Objekte enthält. Die Steuerparametergenerierungseinheit 202 leitet Informationen des aufgenommenen Bilds, das die zwei Objekte enthält, einer Eingangsschicht eines neuronalen Netzes zu und gibt einen Positionssteuerungsbetrag zum Steuern der Positionsbeziehung zwischen den zwei aufgenommenen Objekten als Ausgangsschicht des neuronalen Netzes aus. Die Steuereinheit 203 steuert den Strom bzw. die Spannung zum Steuern der Positionsbeziehung zwischen den zwei Objekten unter Nutzung des ausgegebenen Positionssteuerungsbetrags. Die Antriebseinheit 204 ändert eine Position eines der zwei Objekte unter Nutzung des Stroms bzw. der Spannung. Selbst wenn Differenzen zwischen Objekten oder Fehler in der Positionsbeziehung zwischen den zwei Objekten vorliegen, kann eine Ausrichtung folglich nur mit einer monokularen Kamera durchgeführt werden.
  • Oben wird eine Ausführungsform beschrieben, in der nur ein neuronales Netz genutzt wird. In manchen Fällen muss hingegen eine Vielzahl neuronaler Netze genutzt werden. Denn wenn wie in der Ausführungsform die Eingaben Bilder und die Ausgaben Zahlenwerte sind, können die Ausgaben Fehler von ungefähr einigen Prozent enthalten; dies ist darauf zurückführbar, dass die Näherungsgenauigkeit unter den Zahlenwerten begrenzt ist. Das Ermittlungsergebnis kann abhängig vom Abstand von der Einführungsanfangsposition zur Position in ihrer Nähe beim Schritt 2 von 4 immer „nein“ lauten, und deshalb kann der Vorgang beim Schritt S105 nicht erfolgen. Für das Vorgehen in einem solchen Fall wird eine Vielzahl von Netzen genutzt, wie in 7 gezeigt.
  • 7 ist ein Ablaufschema für die Nutzung einer Vielzahl neuronaler Netze im Gegensatz zur Nutzung nur des einen neuronalen Netzes, das in der Ausführungsform 1 oben gezeigt ist. Dabei wird der Schritt S104 aus 4 detailliert gezeigt. Die Vielzahl von Parametern ist in der in 2 gezeigten Steuerparametergenerierungseinheit enthalten.
  • Beim Schritt S701 wählt die Steuerparametergenerierungseinheit 202 das Netz, das genutzt werden soll, basierend auf dem eingegebenen Bild aus.
  • Wenn die Schleifenanzahl eins ist oder der vorher erhaltene Steuerungsbetrag mindestens gleich 25 mm ist, wird das neuronale Netz 1 ausgewählt, woraufhin bei dem Prozess zum Schritt S702 übergegangen wird. Wenn die Schleifenanzahl mindestens zwei ist und der vorher erhaltene Steuerungsbetrag mindestens gleich 5 mm sowie kleiner als 25 mm ist, wird das neuronale Netz 2 ausgewählt, woraufhin bei dem Prozess zum Schritt S703 übergegangen wird. Wenn die Schleifenanzahl mindestens zwei ist und der vorher erhaltene Steuerungsbetrag kleiner als 5 mm ist, wird das neuronale Netz 3 ausgewählt, woraufhin bei dem Prozess zum Schritt S704 übergegangen wird. Das neuronale Netz für einen Schritt, der aus S702 bis S704 ausgewählt wird, wird zur Kalkulation des Steuerungsbetrags genutzt.
  • Jedes der neuronalen Netze hat basierend auf dem Abstand zwischen dem Stecker 110 und der Buchse 120 oder dem Steuerungsbetrag gelernt. In der Figur werden zum Beispiel die Bereiche der Lerndaten stufenweise geändert; das neuronale Netz 3 nutzt die Lerndaten, die Fehler in einem Bereich von ±1 mm und ±1 Grad aufweisen, und das neuronale Netz 2 nutzt die Lerndaten, die Fehler in einem Bereich von ±1 mm bis ±10 mm und von ±1 Grad bis ±5 Grad aufweisen. Es ist effizienter, wenn die Bereiche von Bildern, die in jedem neuronalen Netz genutzt werden, nicht überlappen.
  • Das in 7 gezeigte Beispiel enthält drei Netze, jedoch ist die Anzahl der Netze nicht begrenzt. Wird ein solches Verfahren genutzt, muss eine Ermittlungsfunktion beim Schritt S701, die ermittelt, welches Netz genutzt werden soll, als „Netzauswahl-Switch“ vorbereitet werden. Dieser Netzauswahl-Switch kann auch unter Nutzung eines neuronalen Netzes konfiguriert werden. In diesem Fall ist die Eingabe in die Eingangsschicht ein Bild, und die Ausgabe in der Ausgangsschicht ist eine Netznummer. Als Bilddatensatz werden ein Bild, das in allen Netzen genutzt wird, und eine Netznummer genutzt.
  • Es wird ein Beispiel für die Nutzung einer Vielzahl neuronaler Netze unter Nutzung von Steckverbindungen beschrieben. Die Anwendung dieser Technik ist jedoch nicht auf das Zusammenstecken von Verbindungselementen begrenzt. Dieses Verfahren ist praktisch zum Beispiel bei der Montage von IC-Chips auf einem Substrat und insbesondere bei der Einführung von Kondensatoren oder dergleichen mit Beinchen mit einem großen Maßfehler in Löcher eines Substrats anwendbar.
  • Dieses Verfahren, bei dem eine Vielzahl neuronaler Netze genutzt wird, ist nicht nur auf die Steuerung zur Einführung in Substrate anwendbar, sondern auch auf die Positionssteuerung im Allgemeinen, um von einer bekannten Beziehung zwischen Bildern und Steuerungsbeträgen einen Steuerungsbetrag abzuleiten. In der vorliegenden Offenbarung werden durch das neuronale Netz die Beziehungen zwischen Bildern und Steuerungsbeträgen gelernt; demzufolge können einzelne Differenzen in den Objekten bei der Durchführung der Ausrichtung der Objekte zugelassen werden, und die Steuerungsbeträge sind genau kalkulierbar.
  • In dem obigen Beispiel sind eine Abbildungseinheit 201, eine Steuerparametergenerierungseinheit 202, eine Steuereinheit 203 und eine Antriebseinheit 204 bereitgestellt. Die Abbildungseinheit 201 nimmt ein Bild auf, das zwei Objekte enthält. Die Steuerparametergenerierungseinheit 202 leitet Informationen des aufgenommenen Bilds, das die zwei Objekte enthält, einer Eingangsschicht eines neuronalen Netzes zu und gibt einen Positionssteuerungsbetrag zum Steuern der Positionsbeziehung zwischen den zwei aufgenommenen Objekten als Ausgangsschicht des neuronalen Netzes aus. Die Steuereinheit 203 steuert den Strom bzw. die Spannung zum Steuern der Positionsbeziehung zwischen den zwei Objekten unter Nutzung des ausgegebenen Positionssteuerungsbetrags. Die Antriebseinheit 204 ändert eine Position eines der zwei Objekte unter Nutzung des Stroms bzw. der Spannung. Hierbei wählt die Steuerparametergenerierungseinheit 202 das neuronale Netz aus einer Vielzahl neuronaler Netze aus. Selbst wenn Differenzen zwischen Objekten oder Fehler in der Positionsbeziehung zwischen den zwei Objekten vorliegen, kann folglich eine genauere Ausrichtung erfolgen.
  • Ausführungsform 2
  • In der Ausführungsform 1 werden der Stecker 110 und die Buchse 120, deren Positionen bekannt sind, zusammengesteckt, und der Stecker 110 wird von der Greifeinheit 101 des Roboterarms 100 gegriffen. Dann bewegt sich die Greifeinheit 101 in der bekannten Richtung und zieht den Stecker bis zur Einführungsanfangsposition heraus, und die monokulare Kamera 102 nimmt eine Vielzahl von Bildern auf. In der Ausführungsform 2 wird ein Fall beschrieben, in dem die Zusammensteckposition des Steckers 110 und der Buchse 120 unbekannt ist.
  • Es wurde bereits ein Verfahren namens Reinforcement Learning untersucht, bei dem ein Roboter selbstständig lernt, sich eigene Aktionen anzueignen. Bei diesem Verfahren führt ein Roboter diverse Aktionen nach der Trial-and-Error-Methode durch, speichert die Aktion, die zu einem besseren Ergebnis führt, und erhält am Ende die optimierte Aktion. Zur Optimierung der Aktion sind leider sehr viele Versuche erforderlich.
  • Zu den Verfahren zur Verringerung der Anzahl von Versuchen gehört ein Rahmenverfahren namens „On Policy“, das allgemein im Bereich des Reinforcement Learning genutzt wird. Allerdings erfordert die Anwendung dieses Rahmenverfahrens auf das Teachen eines Roboterarms verschiedene speziell den Roboterarm und die Steuersignale betreffende Verbesserungen und hat bislang keinen Eingang in die Praxis gefunden.
  • In einer Konfiguration, die für die Ausführungsform 2 noch beschrieben wird, führt der Roboter, wie in der Ausführungsform 1 gezeigt, verschiedene Aktionen nach der Trial-and-Error-Methode durch, und die Aktion, die zu einem guten Ergebnis führt, wird gespeichert, wodurch nicht mehr so viele der momentan zum Optimieren der Aktion erforderlichen Versuche nötig sind.
  • Als Nächstes wird die Systemkonfiguration beschrieben. Was hier nicht beschrieben wird, ist genauso wie in der Ausführungsform 1. Die gesamte Hardwarestruktur ist genauso wie in 1 in der Ausführungsform 1, allerdings ist sie insofern anders, als der Roboterarm 100 mit einem Kraftsensor 801 (der in 1 nicht abgebildet ist) zum Messen der auf die Greifeinheit 101 aufgebrachten Last ausgestattet ist.
  • 8 ist ein Funktionskonfigurationsdiagramm, das eine Positionssteuerungseinrichtung gemäß der Ausführungsform 2 zeigt. Der Unterschied zu 2 besteht darin, dass zusätzlich ein Kraftsensor 801 und eine Pfadermittlungseinheit 802 vorhanden sind, wobei die Pfadermittlungseinheit 802 eine Critic-Einheit 803, eine Actor-Einheit 804, eine Bewertungseinheit 805 und eine Pfadfestlegungseinheit 806 enthält.
  • 9 ist ein Hardwarestrukturdiagramm, das die Positionssteuerungseinrichtung gemäß der Ausführungsform 2 zeigt. Der einzige Unterschied zu 3 besteht darin, dass der Kraftsensor 801 mit einer Eingabe/Ausgabe-Schnittstelle 301 elektrisch bzw. kommunikationsfähig verbunden ist. Zudem führen die Eingabe/Ausgabe-Schnittstelle 301, der Prozessor 302 und das Speicherelement 303 die Funktionen der Steuerparametergenerierungseinheit 202 und der Pfadermittlungseinheit 802, die in 8 gezeigt sind, durch. Der Kraftsensor 801, die monokulare Kamera 201 und die Eingabe/Ausgabe-Schnittstelle 301 können separate Körper sein, und die Eingabe/Ausgabe-Schnittstelle 301 und die Steuerschaltung 304 können separate Körper sein.
  • Als Nächstes wird 8 detailliert beschrieben.
  • Der Kraftsensor 801 misst die auf die Greifeinheit 101 des Roboterarms 100 aufgebrachte Last; er misst zum Beispiel den Wert der Kraft, die ausgeübt wird, wenn der Stecker 110 und die Buchse 120, die in 1 gezeigt sind, einander berühren.
  • Die Critic-Einheit 803 und die Actor-Einheit 804, S3, S4 entsprechen dem Critic und dem Actor beim herkömmlichen Reinforcement Learning.
  • Als Nächstes wird das herkömmliche Reinforcement-Learning-Verfahren beschrieben.
  • In der vorliegenden Ausführungsform wird ein Modell namens Actor-Critic-Modell beim Reinforcement Learning genutzt (Quelle: Reinforcement Learning: R. S. Sutton und A. G. Barto, veröffentlicht im Dez. 2000). Die Actor-Einheit 804 und die Critic-Einheit 803 erhalten über die Abbildungseinheit 201 und den Kraftsensor 801 einen Zustand einer Umgebung. Die Actor-Einheit 804 ist eine Funktion zum Empfangen des Umgebungszustands I, der durch die Sensoreinrichtung erhalten wird, und zum Ausgeben des Steuerungsbetrags A an die Robotersteuerung. Die Critic-Einheit 803 ist so konfiguriert, dass bewirkt wird, dass die Actor-Einheit 804 eine Ausgabe A für die Eingabe I entsprechend lernt, sodass das Zusammenstecken mit der Actor-Einheit 804 in der richtigen Weise gelingt.
  • Als Nächstes wird das herkömmliche Reinforcement-Learning-Verfahren beschrieben.
  • Beim Reinforcement Learning wird ein Betrag, der sich Belohnung R nennt, definiert, und die Actor-Einheit 804 eignet sich die Aktion A an, die die Belohnung R maximiert. Wenn beispielsweise der zu lernende Arbeitsvorgang das Zusammenstecken eines Steckers 110 und einer Buchse 120 ist, wie in der Ausführungsform 1 gezeigt, ergibt sich R = 1, sobald das Zusammenstecken erfolgreich war, und andernfalls R = 0. In diesem Beispiel gibt die Aktion A einen „Bewegungskorrekturbetrag“ zur 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 Beträge von Drehungen um die X-Achse, die Y-Achse bzw. die Z-Achse. Der „Bewegungskorrekturbetrag“ ist der Betrag für eine Bewegung von der momentanen Position bis zur Einführungsanfangsposition bei einem ersten Versuch einer Zusammensteckung mit dem Stecker 110. Der Umgebungszustand bzw. das Versuchsergebnis wird durch die Abbildungseinheit 201 und den Kraftsensor 801 überwacht und als ein Bild bzw. ein Wert davon erhalten.
  • Beim Reinforcement Learning lernt die Critic-Einheit 803 eine Funktion namens State Value Function V(I). Wenn hier etwa Zeit t = 1 (zum Beispiel wenn der erste Zusammensteckversuch unternommen wird) gilt, wird die Aktion A(1) im Zustand I(1) durchgeführt, wenn hingegen Zeit t = 2 gilt (zum Beispiel nach dem Ende des ersten Zusammensteckversuchs sowie vor dem Beginn des zweiten Zusammensteckversuchs), ändert sich die Umgebung in I(2), und es ergibt sich der Belohnungsbetrag R(2) (das Ergebnis des ersten Zusammensteckversuchs). Als Nächstes werden diverse beispielhafte Aktualisierungsformeln, die möglich sind, gezeigt. Die Aktualisierungsformel von V(I) ist wie folgt definiert.
    δ = R ( 2 ) + γ V ( I ( 2 ) ) V ( I ( 1 ) )
    Figure DE112017007025T5_0001

    V ( I ( 1 ) ) V ( I ( 1 ) ) + α   δ
    Figure DE112017007025T5_0002
  • Hier ist δ ein Prädiktionsfehler, α eine Lernrate, bei der es sich um eine positive reelle Zahl von 0 bis 1 handelt, und γ ein Abzugsfaktor, bei dem es sich um eine positive reelle Zahl von 0 bis 1 handelt. Die Actor-Einheit 804 aktualisiert A (I) wie folgt mit I als Eingabe und A (I) als Ausgabe.
  • Wenn δ > 0,
    A ( I ( 1 ) ) A ( I ( 1 ) ) + α ( A ( 1 ) A ( I ( 1 ) ) )
    Figure DE112017007025T5_0003
  • Wenn δ ≤ 0,
    σ ( I ( 1 ) ) β   σ ( I ( 1 ) )
    Figure DE112017007025T5_0004
  • Hier bezeichnet σ die Standardabweichung der Ausgaben. Im Zustand I addiert die Actor-Einheit Zufallszahlen mit einer Verteilung mit dem Mittelwert 0 und der Dispersion σ2 zu A(I). Hierdurch wird der Bewegungskorrekturbetrag für den zweiten Versuch unabhängig vom Ergebnis des ersten Versuchs zufällig ermittelt.
  • Hierbei ist zu beachten, dass von den diversen Aktualisierungsformeln im Actor-Critic-Modell ein beliebiges der üblicherweise genutzten Modelle die Aktualisierungsformel, die oben beispielhaft gezeigt wird, ersetzen kann.
  • Bei einer solchen Konfiguration lernt die Actor-Einheit 804 die für jeden Zustand geeignete Aktion. Jedoch wird die Aktion, wie in der Ausführungsform 1 gezeigt, erst durchgeführt, wenn der Lernvorgang beendet ist. Während des Lernvorgangs kalkuliert die Pfadfestlegungseinheit 806 die empfohlene Aktion für den Lernvorgang und sendet sie an die Steuereinheit 203. Mit anderen Worten, während des Lernvorgangs empfängt die Steuereinheit 203 das Bewegungssignal so, wie es ist, von der Pfadfestlegungseinheit 806 und steuert die Antriebseinheit 204.
  • Hierdurch erfolgt das Lernen nach dem herkömmlichen Actor-Critic-Modell erst, wenn die Zusammensteckung erfolgreich ist, was bedingt ist durch die Definition, dass R = 1 für eine erfolgreiche Zusammensteckung und andernfalls R = 0 gilt, wobei die für die nachfolgenden Versuche zu nutzenden Bewegungskorrekturbeträge bis zu einer erfolgreichen Zusammensteckung zufällig bereitgestellt werden. Deshalb wird bis zu einer erfolgreichen Zusammensteckung das Ermitteln des Bewegungskorrekturbetrags für den nächsten Versuch abhängig von einem Grad des Fehlschlagens des Versuchs nicht durchgeführt. Selbst wenn andere Reinforcement-Learning-Modelle wie Q-Learning genutzt werden, werden ähnliche Ergebnisse wie bei der Nutzung herkömmlicher Actor-Critic-Modelle erzielt, denn es wird nur der Erfolg bzw. das Fehlschlagen der Zusammensteckung bewertet. In der vorliegenden Ausführungsform der Offenbarung wird ein Ermittlungsprozess beschrieben, bei dem der Grad des Fehlschlagens zum Kalkulieren des Bewegungskorrekturbetrags für den nächsten Versuch bewertet wird.
  • Die Bewertungseinheit 805 generiert eine Funktion zum Durchführen der Bewertung bei jedem Zusammensteckversuch. 10 zeigt den Stecker 110 und die Buchse 120 bei einem Zusammensteckversuch gemäß der Ausführungsform 2.
  • Angenommen, es wird ein Bild, wie in 10(A) gezeigt, als Ergebnis des Versuchs erhalten. Dieser Versuch ist fehlgeschlagen, da die Verbindungselemente in einer von der Zusammensteckposition stark abweichenden Position sind. Hier wird der Abstand zum Erfolg gemessen und quantifiziert, um einen Bewertungswert, der den Erfolgsgrad angibt, zu erhalten. Ein beispielhaftes Quantifizierungsverfahren besteht darin, dass der Flächeninhalt (die Anzahl der Pixel) des Verbindungselements, bei dem es sich um das Einführungszielteil in dem Bild, wie in 10 (B) gezeigt, handelt, kalkuliert wird. Wenn bei diesem Verfahren vom Kraftsensor 801 des Roboterarms 100 erkannt wird, dass das Einführen des Steckers 110 in die Buchse 120 fehlgeschlagen ist, falls nur die Auflagefläche der Buchse 120 eine Beschichtung oder einen Aufkleber mit einer Farbe, die anders ist als diejenige anderer Hintergrundflächen, aufweist, ist es einfacher, Daten aus dem Bild zu erfassen und die Kalkulation durchzuführen. Bei dem oben beschriebenen Verfahren wurde nur eine Kamera genutzt; jedoch kann auch eine Vielzahl ausgerichteter Kameras Bilder aufnehmen, und die aus jedem Bild abgeleiteten Ergebnisse können integriert werden.
  • Eine ähnliche Bewertung kann auch durchgeführt werden, indem statt des Flächeninhalts des Verbindungselements die Anzahl der Pixel in den zweidimensionalen Richtungen (in der X-Richtung und der Y-Richtung) erhalten wird.
  • Die Verarbeitung in der Pfadfestlegungseinheit 806 ist in zwei Schritte unterteilt.
  • Beim ersten Schritt lernt die Pfadfestlegungseinheit 806 das in der Bewertungseinheit 805 verarbeitete Bewertungsergebnis und die tatsächliche Bewegung des Roboters. Angenommen, der Bewegungskorrekturbetrag für den Roboter ist A und der durch die Bewertungseinheit 805 verarbeitete Bewertungswert, der den Erfolgsgrad angibt, ist E. Dann erstellt die Pfadfestlegungseinheit 806 eine Funktion mit A als Eingabe und E als Ausgabe zur Durchführung der Näherung. Die Funktion enthält zum Beispiel ein Radial-Basis-Function(RBF)-Netz. Die RBF ist bekannt als eine Funktion, mittels derer eine einfache Näherung verschiedener unbekannter Funktionen möglich ist.
  • Es wird zum Beispiel von der k. Eingabe wie folgt ausgegangen.
    x k = ( x_1 k , ,x_i k , x_I k )
    Figure DE112017007025T5_0005
    Dann ist die Ausgabe f(x) wie folgt definiert.
    f ( x ) = j J w j   φ j ( x )
    Figure DE112017007025T5_0006

    φ j ( x ) = exp ( ( x i μ i ) 2 σ 2 )
    Figure DE112017007025T5_0007
    Hier bezeichnet σ die Standardabweichung; µ bezeichnet die RBF-Mitte.
  • Die von der RBF genutzten Lerndaten sind keine einzelnen Daten, sondern sämtliche Daten vom Beginn des Versuch bis zum letzten. Wenn der momentane Versuch zum Beispiel der N. Versuch ist, werden N Datensätze erstellt. Durch das Lernen muss W = (w_1, w_J), wie oben erwähnt, ermittelt werden. Von den verschiedenen Ermittlungsverfahren sei beispielhaft die RBF-Interpolation wie folgt dargestellt.
  • Angenommen, Formel 8 und Formel 9 lauten wie folgt. Φ = ( φ 1 ( x 1 1 ) φ I ( x I 1 ) φ 1 ( x 1 N ) φ I ( x I N ) )
    Figure DE112017007025T5_0008
    F = ( f ( x 1 ) , , f ( x N ) )
    Figure DE112017007025T5_0009
  • Dann erfolgt das Lernen über die Formel 10. W = Φ 1 F
    Figure DE112017007025T5_0010
  • Nachdem die Näherung über die RBF-Interpolation erfolgt ist, wird durch das RBF-Netz mittels eines allgemeinen Optimierungsverfahrens, etwa eines Gradientenabstiegs und einer Partikelschwarmoptimierung (PSO), der Mindestwert kalkuliert. Dann wird der Mindestwert als empfohlener Wert für den nächsten Versuch an die Actor-Einheit 804 übertragen.
  • Der obige Fall kann noch konkreter so erklärt werden, dass die Flächeninhalte bzw. die Anzahlen von Pixeln in der zweidimensionalen Richtung für die jeweiligen Bewegungskorrekturbeträge in einer Zeitreihe für jede Versuchsnummer als Bewertungswerte angeordnet und die angeordneten Werte dazu genutzt werden, um die optimale Lösung zu erhalten. Noch einfacher kann der Bewegungskorrekturbetrag erhalten werden, woraufhin eine Bewegung mit einer konstanten Geschwindigkeit in der Richtung, in der die Anzahl der Pixel in der zweidimensionalen Richtung abnimmt, ausgelöst wird.
  • Als Nächstes wird in 11 der Ablauf gezeigt.
  • 11 ist ein Ablaufschema, das das Pfadlernen der Positionssteuerungseinrichtung gemäß der Ausführungsform 2 zeigt.
  • Zunächst greift beim Schritt S1101 die Greifeinheit 101 des Roboterarms 100 den Stecker 110. Die Position und die Lage des Steckers 110 werden in der Steuereinheit 203 in 8 vorregistriert, und der Vorgang wird gemäß dem in der Steuereinheit 203 vorregistrierten Steuerprogramm durchgeführt.
  • Als Nächstes wird der Roboterarm 100 beim Schritt S1102 näher zur Einführungsposition der Buchse 120 hin geführt. Die ungefähre Position und die ungefähre Lage der Buchse 110 werden in der Steuereinheit 203 in 8 vorregistriert, und die Position des Steckers 110 wird gemäß dem in der Steuereinheit 203 vorregistrierten Steuerprogramm gesteuert. Die Schritte bis hierhin entsprechen den Schritten S101 bis S102 in dem in 4 in der Ausführungsform 1 gezeigten Ablaufschema.
  • Beim Schritt S1103 weist die Pfadermittlungseinheit 802 die Abbildungseinheit 201 der monokularen Kamera 102 zum Aufnehmen eines Bilds an. Die monokulare Kamera 102 nimmt ein Bild auf, das sowohl den von der Greifeinheit 101 gegriffenen Stecker 110 als auch die Buchse 120, bei der es sich um das Einführungszielteil handelt, enthält. Außerdem weist die Pfadermittlungseinheit 802 die Steuereinheit 203 und die monokulare Kamera 102 zum Aufnehmen von Bildern in der Nähe der momentanen Position an. Die monokulare Kamera wird durch die Antriebseinheit 204 basierend auf Beträgen für eine Bewegung gemäß Anweisungen der Steuereinheit 203 zu einer Vielzahl von Positionen hin bewegt und nimmt an jeder Position ein Bild auf, das sowohl den Stecker 110 als auch die Buchse 120, bei der es sich um das Einführungszielteil handelt, enthält.
  • Beim Schritt S1104 stellt die Actor-Einheit 804 der Pfadermittlungseinheit 802 einen Betrag für eine Bewegung zum Anbringen an die Steuereinheit 203 bereit; die Steuereinheit 203 bewirkt, dass die Antriebseinheit 204 den Roboterarm 100 derart bewegt, dass ein Versuch einer Zusammensteckung des Steckers 110 und der Buchse 120, bei der es sich um das Einführungszielteil handelt, erfolgen kann.
  • Beim Schritt S1105 speichern die Bewertungseinheit 805 und die Critic-Einheit 803 der Pfadermittlungseinheit 802, wenn die Verbindungselemente einander berühren, während der Roboterarm 100 durch die Antriebseinheit 204 bewegt wird, die vom Kraftsensor 801 erhaltenen Werte und die von der monokularen Kamera 102 erhaltenen Bilder pro Betrag einer Einheit der Bewegung.
  • Beim Schritt S1106 prüfen die Bewertungseinheit 805 und die Critic-Einheit 803, ob die Zusammensteckung erfolgreich war.
  • In den meisten Fällen ist die Zusammensteckung zu diesem Zeitpunkt nicht erfolgreich. Demzufolge bewertet die Bewertungseinheit 805 beim Schritt S1108 den Erfolgsgrad mittels des in 10 beschriebenen Verfahrens und liefert den Bewertungswert, der den Erfolgsgrad bei der Ausrichtung angibt, an die Pfadfestlegungseinheit 806.
  • Beim Schritt S1109 führt die Pfadfestlegungseinheit 806 den Lernvorgang mittels des oben erwähnten Verfahrens durch und übermittelt einen empfohlenen Wert für den nächsten Versuch an die Actor-Einheit 804. Die Critic-Einheit 803 kalkuliert einen Wert gemäß dem Belohnungsbetrag und gibt den Wert aus. Die Actor-Einheit 804 empfängt den Wert. Beim Schritt S1110 addiert die Actor-Einheit 804 den Wert, der gemäß dem Belohnungsbetrag erhalten und durch die Critic-Einheit 803 ausgegeben wird, und den empfohlenen Wert für den nächsten Versuch, der durch die Pfadfestlegungseinheit 806 ausgegeben wird, um den Bewegungskorrekturbetrag zu erhalten. Wenn aber allein der empfohlene Wert für den nächsten Versuch, der von der Pfadfestlegungseinheit 806 ausgegeben wird, zu einer hinreichenden Wirkung führen kann, muss bei diesem Schritt der Wert, der gemäß dem Belohnungsbetrag erhalten wird, nicht addiert werden. Außerdem kann die Actor-Einheit 804 beim Kalkulieren des Bewegungskorrekturbetrags ein Additionsverhältnis des empfohlenen Werts für den nächsten Versuch, der von der Pfadfestlegungseinheit 806 ausgegeben wird, zu dem Wert, der gemäß dem Belohnungsbetrag erhalten und durch die Critic-Einheit 803 ausgegeben wird, festlegen, wodurch der Bewegungskorrekturbetrag gemäß dem Belohnungsbetrag geändert werden kann.
  • Danach übermittelt die Actor-Einheit 804 beim Schritt S1111 den Bewegungskorrekturbetrag an die Steuereinheit 203, und die Steuereinheit 203 bewegt die Greifeinheit 101 des Roboterarms 100.
  • Danach wird bei dem Prozess zum Schritt 1103 zurückgekehrt, die Bilder werden an der Position, in die der Roboterarm 100 gemäß dem Bewegungskorrekturbetrag bewegt wird, aufgenommen, und danach wird der Zusammensteckvorgang durchgeführt. Diese Schritte werden so lange wiederholt, bis die Zusammensteckung erfolgreich ist.
  • Wenn die Zusammensteckung erfolgreich ist, lernen die Actor-Einheit 804 und die Critic-Einheit 803 beim Schritt S1107, in welchem Umgebungszustand I vom Schritt S1102 bis zum Schritt S1106 die Zusammensteckung erfolgreich ist. Schließlich übermittelt die Pfadermittlungseinheit 802 die gelernten Daten des neuronalen Netzes an die Steuerparametergenerierungseinheit 202, damit der Vorgang gemäß der Ausführungsform 1 durchgeführt werden kann.
  • Hierbei ist zu beachten, dass die Actor-Einheit 804 und die Critic-Einheit 803 beim Schritt S1107 lernen, in welchem Umgebungszustand I die Zusammensteckung erfolgreich ist; die Actor-Einheit 804 und die Critic-Einheit 803 lernen jedoch möglicherweise unter Nutzung der Daten, die für alle Zusammensteckversuche vom Beginn bis zum Erfolg der Zusammensteckung erhalten werden. In der Ausführungsform 1 wird ein Fall beschrieben, in dem eine Vielzahl neuronaler Netze gemäß dem Steuerungsbetrag gebildet wird. Wenn die zu einer erfolgreichen Zusammensteckung führende Position bekannt ist, ist es in diesem Zusammenhang möglich, eine Vielzahl geeigneter neuronaler Netze gemäß der Größe des Steuerungsbetrags gleichzeitig zu bilden.
  • Diese Beschreibung beruht auf dem Actor-Critic-Modell als Reinforcement-Learning-Modul, jedoch kann auch ein anderes Reinforcement-Learning-Modell wie Q-Learning genutzt werden.
  • Das RBF-Netz ist beispielhaft für die Näherungsfunktion, es kann aber auch ein anderes Näherungsfunktionsverfahren (lineare Funktion, quadratische Funktion etc.) genutzt werden.
  • Bei dem obigen beispielhaften Bewertungsverfahren wurde ein Verbindungselement mit einer Oberfläche genutzt, deren Farbe anders als diejenige von anderen Oberflächen war; jedoch kann für die Bewertung auch der unter Nutzung einer anderen Bildverarbeitungstechnik erhaltene Betrag für einen Unterschied zwischen Verbindungselementen oder dergleichen genutzt werden.
  • Wie für die Ausführungsform 1 und die vorliegende Ausführungsform angegeben, ist die Anwendung dieser Technik nicht auf das Zusammenstecken von Verbindungselementen begrenzt. Dieses Verfahren ist praktisch zum Beispiel bei der Montage von IC-Chips auf einem Substrat und insbesondere bei der Einführung von Kondensatoren oder dergleichen mit Beinchen mit einem großen Maßfehler in Löcher eines Substrats anwendbar.
  • Dieses Verfahren ist nicht nur auf die Steuerung zur Einführung in Substrate anwendbar, sondern auch auf die Positionssteuerung im Allgemeinen, um von einer bekannten Beziehung zwischen Bildern und Steuerungsbeträgen einen Steuerungsbetrag abzuleiten. In der vorliegenden Offenbarung werden durch das neuronale Netz die Beziehungen zwischen Bildern und Steuerungsbeträgen gelernt; demzufolge können einzelne Differenzen in den Objekten bei der Durchführung der Ausrichtung der Objekte zugelassen werden, und die Steuerungsbeträge sind genau kalkulierbar.
  • Gemäß der vorliegenden Ausführungsform kalkuliert die Actor-Einheit 804 bei einer Anwendung des Actor-Critic-Modells auf das Lernen der Steuerungsbeträge die Bewegungskorrekturbeträge für die Versuche, indem sie den Wert, der durch die Critic-Einheit 803 gemäß dem Belohnungsbetrag erhalten wird, und den empfohlenen Wert, der durch die Pfadfestlegungseinheit 806 basierend auf dem Bewertungswert erhalten wird, addiert. Demzufolge kann nach der vorliegenden Offenbarung die Anzahl der Versuche der Ausrichtung erheblich verringert werden, während hingegen für die herkömmlichen Actor-Critic-Modelle sehr viele Versuche und Irrtümer bis zur erfolgreichen Ausrichtung erforderlich sind.
  • Es ist zu beachten, dass in der vorliegenden Ausführungsform beschrieben wird, dass die Anzahl der Versuche der Ausrichtung durch Bewerten der Fehlausrichtungsbilder, die von der Abbildungseinheit 201 erhalten werden, verringert werden kann; jedoch kann die Anzahl der Versuche auch mittels der vom Kraftsensor 801 während der Ausrichtungsversuche erhaltenen Werte verringert werden. Zum Beispiel erfolgt bei der Zusammensteckung von Verbindungselementen oder bei der Ausrichtung von zwei Objekten, die eine Einführung enthält, die Erkennung eines Fehlschlagens üblicherweise derart, dass, wenn der vom Kraftsensor 801 erhaltene Wert einen Grenzwert überschreitet, die Actor-Einheit 804 prüft, ob die zwei Objekte in einer Position sind, in der eine Zusammensteckung bzw. eine Einführung ganz erfolgt ist. In einem solchen Fall sind folgende Fälle denkbar. Einer dieser Fälle ist ein Fall, in dem die Zusammensteckung bzw. die Einführung nicht ganz erfolgt ist (Fall A), und ein anderer dieser Fälle ist ein Fall, in dem die Zusammensteckung bzw. die Einführung zwar ganz erfolgt ist, jedoch während der Zusammensteckung bzw. der Einführung mit dem vom Kraftsensor 801 erhaltenen Wert ein bestimmter Wert erreicht worden ist (Fall B).
  • Im Fall A kann mittels eines Verfahrens vorgegangen werden, bei dem ein Lernvorgang sowohl mit dem Wert vom Kraftsensor 801 als auch mit dem Bild erfolgt. Dies wird in der Ausführungsform 3 detailliert beschrieben.
  • Im Fall B kann mittels eines Verfahrens vorgegangen werden, bei dem ein Lernvorgang nur mit dem Wert vom Kraftsensor 801, der in der Ausführungsform 3 beschrieben wird, erfolgt. Eine ähnliche Wirkung kann erzielt werden, wenn ein anderes Verfahren genutzt wird, bei dem die Belohnung R des Actor-Critic-Modells so definiert ist, dass zum Zeitpunkt des Erfolgs R = (1- A / F) und zum Zeitpunkt des Fehlschlagens R = 0 gilt. Hierbei ist F die maximale Last, die während der Zusammensteckung bzw. der Einführung aufgebracht wird, und A ist eine positive Konstante.
  • Ausführungsform 3
  • In der vorliegenden Ausführungsform wird ein Verfahren zu einer effizienten Datenerfassung beim Lernprozess beschrieben, das nach einer erfolgreichen Ausrichtung in der Ausführungsform 2 durchgeführt wird. Es wird davon ausgegangen, dass das, was hier nicht konkret erwähnt wird, genauso wie in der Ausführungsform 2 ist. Folglich wird, was die Positionssteuerungseinrichtung gemäß der Ausführungsform 3 betrifft, in 8 das Funktionskonfigurationsdiagramm gezeigt, während in 9 das Hardwarestrukturdiagramm gezeigt wird.
  • Was die Aktion betrifft, wird unten ein Verfahren zu einer effizienteren Lerndatenerfassung bei dem Vorgang beim Schritt S1107 in 11 in der Ausführungsform 2 beschrieben.
  • 12 ist ein Ablaufschema, das einen Pfadlernprozess der Positionssteuerungseinrichtung gemäß der Ausführungsform 3 zeigt.
  • Wenn die Zusammensteckung des Steckers 110 und der Buchse 120 beim Schritt S1107 von 11 erfolgreich ist, initialisiert die Pfadfestlegungseinheit 806 beim Schritt S1201 zunächst die Variablen mit i = 0, j = 1 und k = 1. Hierbei gibt die Variable i die Anzahl der Lernvorgänge für den Roboterarm 100 im Anschluss an, die Variable k gibt die Anzahl der Lernvorgänge nach dem Lösen der Steckverbindung des Steckers 110 und der Buchse 120 an; und die Variable j gibt die Schleifenanzahl in dem in 12 gezeigten Ablaufschema an.
  • Als Nächstes übermittelt die Pfadfestlegungseinheit 806 beim Schritt S1202 einen Betrag für eine Bewegung über die Actor-Einheit 804 an die Steuereinheit 203 zu einer Zurückziehung um 1 mm aus einem Zustand, der durch den beim Schritt S1104 in 11 zur Zusammensteckung bereitgestellten Betrag für eine Bewegung bewirkt wird, und bewirkt, dass die Antriebseinheit 204 den Roboterarm 100 entsprechend zurückbewegt. Dann wird die Variable i um eins inkrementiert. Hierbei wird der Betrag für eine Bewegung zu einer Zurückziehung um 1 mm bereitgestellt, jedoch ist der Abstand nicht auf 1 mm begrenzt, sondern kann auch 0,5 mm, 2 mm etc. betragen.
  • Beim Schritt S1203 speichert die Pfadfestlegungseinheit 806 die momentanen Koordinaten als O(i) (zu diesem Zeitpunkt i = 1).
  • Beim Schritt S1204 generiert die Pfadfestlegungseinheit 806 einen zufälligen Betrag für eine Bewegung (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) vom Punkt O(i) und übermittelt den generierten zufälligen Betrag für eine Bewegung über die Actor-Einheit 804 an die Steuereinheit 203. Dann bewegt die Antriebseinheit 204 entsprechend den Roboterarm 100. Hierbei kann ein beliebiger Betrag in dem Bereich, in dem sich der Roboterarm 100 bewegen kann, als Bewegungshöchstbetrag festgelegt werden.
  • Beim Schritt S1205 erfasst die Actor-Einheit 804 an der beim Schritt S1204 erreichten Position den durch den Kraftsensor 801 erhaltenen Wert, der mit dem zufälligen Betrag für eine Bewegung (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) korrespondiert. Beim Schritt S1206 werden von der Critic-Einheit 803 und der Actor-Einheit 804 als Lerndatensatz der Wert (-ΔX, -ΔY, -ΔZ, -ΔAx, -ΔAy, -ΔAz), nämlich der Bewegungswert multipliziert mit -1, und der Sensorwert des Kraftsensors 801, der die Kraft zum Halten des Steckers 110 misst, aufgezeichnet.
  • Beim Schritt S1207 beurteilt die Pfadfestlegungseinheit 806, ob die Anzahl der erfassten Datensätze die vorher ermittelte Anzahl J erreicht hat. Wenn die Anzahl der Datensätze darunter liegt, wird beim Schritt S1208 die Variable j um eins inkrementiert, und nach einer Rückkehr zum Schritt S1204 wird der Betrag für eine Bewegung (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) mittels einer beliebigen Zufallszahl aktualisiert, um einen weiteren Datensatz zu erhalten. Demzufolge werden die Schritte S1204 bis S1207 so lange wiederholt, bis die Anzahl der Datensätze die vorher ermittelte Anzahl J erreicht.
  • Sobald die Anzahl der Datensätze die vorher ermittelte Anzahl erreicht, setzt die Pfadfestlegungseinheit 806 die Variable j beim Schritt S1209 auf eins und prüft beim Schritt S1210, ob die Steckverbindung des Steckers 110 und der Buchse 120 gelöst ist.
  • Wenn sie nicht gelöst ist, wird bei dem Prozess über den Schritt S1211 zum Schritt S1202 zurückgekehrt.
  • Beim Schritt S1211 übermittelt die Pfadfestlegungseinheit 806 den Betrag für eine Bewegung über die Actor-Einheit 804 an die Steuereinheit 203, sodass wieder die Koordinaten des Roboterarms 100 bei O(i) vorliegen, also die Koordinaten vor der Übermittlung der zufälligen Beträge für eine Bewegung. Dann bewegt die Antriebseinheit 204 entsprechend den Roboterarm 100.
  • Danach wird die Schleife vom Schritt S1202 bis zum Schritt S1210 erneut durchlaufen; das heißt, die zwei folgenden Prozesse werden so lange wiederholt, bis die Steckverbindung des Steckers 110 und der Buchse 120 gelöst ist: der Prozess, bei dem eine Zurückziehung um 1 mm oder einen anderen Abstand aus einem Zustand, der durch den zur Zusammensteckung bereitgestellten Betrag für eine Bewegung bewirkt wird, und eine entsprechende Zurückziehung des Roboterarms 100 erfolgen; und ein Prozess, bei dem die zufälligen Beträge für eine Bewegung aus der Position nach der Zurückziehung bereitgestellt und Daten des Kraftsensors 801 an dieser Stelle erfasst werden. Sobald die Steckverbindung des Steckers 110 und der Buchse 120 gelöst wurde, wird bei dem Prozess zum Schritt S1212 übergegangen.
  • Beim Schritt S1212 setzt die Pfadfestlegungseinheit 806 den Wert der Variablen i auf I, wobei I eine ganze Zahl ist, die größer als der Wert der Variablen i ist, wenn ermittelt wird, dass die Steckverbindung des Steckers 110 und der Buchse 120 gelöst ist. Die Pfadfestlegungseinheit 806 übermittelt dann mit der Steuereinheit 203 über die Actor-Einheit 804 einen Betrag für eine Bewegung zu einer Zurückziehung um 10 mm (wobei keine Begrenzung auf diesen Wert besteht) aus dem Zustand, der durch den zur Zusammensteckung bereitgestellten Betrag für eine Bewegung bewirkt wird, und bewirkt, dass die Antriebseinheit 204 den Roboterarm 100 entsprechend zurückbewegt.
  • Beim Schritt S1213 speichert die Pfadfestlegungseinheit 806 die Koordinaten der Position, in die sich der Roboterarm 100 beim Schritt S1212 bewegt hat, als die Koordinaten der Mittelposition O (i + k).
  • Beim Schritt S1214 generiert die Pfadfestlegungseinheit 806 einen zufälligen Betrag für eine Bewegung (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) von der Mittelposition O(i+k) und übermittelt den generierten zufälligen Betrag für eine Bewegung über die Actor-Einheit 804 an die Steuereinheit 203. Dann bewegt die Antriebseinheit 204 entsprechend den Roboterarm 100.
  • Beim Schritt S1215 erhalten die Critic-Einheit 803 und die Actor-Einheit 804 das Bild, das durch die Abbildungseinheit 201 der monokularen Kamera 102 an der Position des Roboterarms 100, der sich um den zufälligen Betrag für eine Bewegung (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) bewegt hat, aufgenommen wurde.
  • Beim Schritt S1216 werden von der Critic-Einheit 803 und der Actor-Einheit 804 der Betrag (-ΔX, -ΔY, -ΔZ, -ΔAx, -ΔAy, -ΔAz), der durch Multiplizieren des zufälligen Betrags für eine Bewegung mit -1 erhalten wird, und das aufgenommene Bild als Lerndatensatz aufgezeichnet.
  • Beim Schritt S1217 prüft die Pfadfestlegungseinheit 806, ob die Anzahl der erfassten Datensätze die vorher ermittelte Anzahl J erreicht hat. Wenn die Anzahl der Datensätze darunter liegt, wird beim Schritt S1212 die Variable j um eins inkrementiert, und bei dem Prozess wird zum Schritt S1214 zurückgekehrt. Die Pfadfestlegungseinheit 806 ändert den Betrag für eine Bewegung (ΔX, ΔY, ΔZ , ΔAx, ΔAy, ΔAz) zufällig und erhält einen weiteren Datensatz für eine Bewegung. Die Schritte S1214 bis S1217 werden so lange wiederholt, bis die Anzahl der Datensätze die vorher ermittelte Anzahl J erreicht.
  • Hierbei ist zu beachten, dass der zufällige Höchstbetrag für eine Bewegung (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) bei S1204 und der zufällige Höchstbetrag für eine Bewegung bei S1204 möglicherweise unterschiedlich sind.
  • Die Actor-Einheit 804 und die Critic-Einheit 803 führen den Lernvorgang unter Nutzung der Lerndatensätze durch, die durch das oben beschriebene Verfahren erhalten werden.
  • 13 ist ein Schema, das ein beispielhaftes neuronales Netz und die Lernregel des neuronalen Netzes gemäß der Ausführungsform 3 zeigt.
  • In den Ausführungsformen 1 und 2 wird nicht das Lernverfahren beschrieben, bei dem die durch den Kraftsensor 801 erhaltenen Daten genutzt werden. In den Ausführungsformen 1 und 2 werden nur die Bilder für die Eingangsschicht genutzt, dahingegen können in der Ausführungsform 3 statt der Bilder die Werte, die durch den Kraftsensor 801 erhalten werden, der Eingangsschicht zugeleitet werden. Vom Kraftsensor 801 werden möglicherweise drei Werte (eine Kraft und Momente um zwei Richtungen) oder sechs Werte (Kräfte in drei Richtungen und Momente um drei Richtungen) bereitgestellt. Der Steuerungsbetrag (ΔX, ΔY, ΔZ, ΔAx, ΔAy, ΔAz) wird in der Ausgangsschicht ausgegeben. Hierbei ist zu beachten, dass, sobald die Steckverbindung des Steckers 110 und der Buchse 120 gelöst wurde, sowohl die Bilder als auch die Werte, die durch den Kraftsensor 801 erhalten werden, der Eingangsschicht gleichzeitig zugeleitet werden.
  • Bei dem Lernprozess des neuronalen Netzes werden die Parameter der verdeckten Schicht so optimiert, dass die Ausgangswerte der Ausgangsschicht die Steuerungsbeträge nähern; hierbei werden die Ausgangswerte von den Eingangsbildern und den Werten vom Kraftsensor 801 über die verdeckte Schicht abgeleitet, und die Steuerungsbeträge werden mit ihren jeweiligen Bildern und ihren jeweiligen Werten vom Kraftsensor 801 gespeichert. Schließlich übermittelt die Pfadermittlungseinheit 802 die gelernten Daten des neuronalen Netzes an die Steuerparametergenerierungseinheit 202, damit der Vorgang gemäß der Ausführungsform 1 durchgeführt werden kann.
  • Der Beschreibung der vorliegenden Ausführungsform liegen folgende Annahmen zugrunde. Um den Lernvorgang durchzuführen, bewegt sich der Roboterarm 100 nach und nach von der Zusammensteckposition des Steckers 110 und der Buchse 120 nach hinten und bewegt sich dann ein wenig zu den Randpositionen hin, wobei der Lernvorgang abhängig von der Anzahl der Pixel des Bilds der monokularen Kamera 102 erst dann in zufriedenstellender Weise erfolgen kann, wenn die Steckverbindung gelöst wurde. Wenn jedoch die monokulare Kamera 102 Bilder mit einer hinreichend hohen Auflösung erzeugt und der Lernvorgang mithin in zufriedenstellender Weise erfolgen kann und hierbei die Bilder genutzt werden, die erhalten werden, wenn sich der Roboterarm 100 ein wenig zu den Randpositionen hin bewegt, kann der Lernvorgang allein unter Nutzung der durch die monokulare Kamera 102 gelieferten Bilder erfolgen. Außerdem können sowohl die Bilder der monokularen Kamera 102 als auch die vom Kraftsensor 801 erhaltenen Werte selbst dann genutzt werden, wenn der Stecker 110 und die Buchse 120 im zusammengesteckten Zustand sind.
  • In den Ausführungsformen 1 und 2 wird ein Fall beschrieben, in dem eine Vielzahl neuronaler Netze genutzt wird. Ebenso können in der vorliegenden Ausführungsform zum Beispiel unterschiedliche neuronale Netze genutzt werden, wenn der Stecker 110 und die Buchse 120 zusammengesteckt sind oder auch wenn diese nicht zusammengesteckt sind. Wie oben beschrieben, ist der Lernvorgang genauer, wenn die Werte vom Kraftsensor 801 dazu genutzt werden, um die Eingangsschicht zu bilden, wenn der Stecker 110 und die Buchse 120 zusammengesteckt sind, und wenn die Bilder dazu genutzt werden, um die Eingangsschicht zu bilden, wenn die Steckverbindung gelöst ist. Ferner ist selbst dann, wenn nur die Bilder zum Lernen genutzt werden, der Lernvorgang genauer, wenn die Verarbeitung für den zusammengesteckten Zustand und die Verarbeitung für den gelösten Zustand getrennt voneinander erfolgen, weil die Konfiguration der mit jedem Zustand korrespondierenden Bilder jeweils anders ist.
  • Wie für die Ausführungsformen 1 und 2 angegeben, ist die Anwendung dieser Technik nicht auf das Zusammenstecken von Verbindungselementen begrenzt. Dieses Verfahren ist praktisch zum Beispiel bei der Montage von IC-Chips auf einem Substrat und insbesondere bei der Einführung von Kondensatoren oder dergleichen mit Beinchen mit einem großen Maßfehler in Löcher eines Substrats anwendbar.
  • Dieses Verfahren ist nicht nur auf die Steuerung zur Einführung in Substrate anwendbar, sondern auch auf die Positionssteuerung im Allgemeinen, um von einer bekannten Beziehung zwischen Bildern und Steuerungsbeträgen einen Steuerungsbetrag abzuleiten. In der vorliegenden Offenbarung werden durch das neuronale Netz die Beziehungen zwischen Bildern und Steuerungsbeträgen gelernt; demzufolge können einzelne Differenzen in den Objekten bei der Durchführung der Ausrichtung der Objekte zugelassen werden, und die Steuerungsbeträge sind genau kalkulierbar.
  • In der vorliegenden Ausführungsform sind für den Fall, dass Vorgänge durchgeführt werden, die eine Ausrichtung und eine Einführung von zwei Objekten enthalten, eine Pfadfestlegungseinheit 806 und eine Actor-Einheit 804 zum Lernen eines Steuerungsbetrags vorgesehen. Die Pfadfestlegungseinheit 806 liefert den Betrag für eine Bewegung zum Entfernen eines Objekts aus seiner Einführungsposition und zu seiner Lokalisierung auf und um den Entfernungsweg. Die Actor-Einheit 804 erhält Positionen des Objekts und die Werte eines Kraftsensors 801 an dieser Stelle, um einen Lernvorgang durchzuführen, indem sie zulässt, dass die Positionen des Objekts die Werte für die Ausgangsschicht sind und die Werte des Kraftsensors 801 die Werte für die Eingangsschicht sind. Folglich können Lerndaten effizient erfasst werden.
  • Bezugszeichenliste
  • 100:
    Roboterarm
    101:
    Greifeinheit
    102:
    monokulare Kamera
    110:
    Stecker
    120:
    Buchse
    201:
    Abbildungseinheit
    202:
    Steuerparametergenerierungseinheit
    203:
    Steuereinheit
    204:
    Antriebseinheit
    301:
    Eingabe/Ausgabe-Schnittstelle
    302:
    Prozessor
    303:
    Speicherelement
    304:
    Steuerschaltung
    305:
    Motor
    801:
    Kraftsensor
    802:
    Pfadermittlungseinheit
    803:
    Critic-Einheit
    804:
    Actor-Einheit
    805:
    Bewertungseinheit
    806:
    Pfadfestlegungseinheit
  • 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 [0004]

Claims (8)

  1. Positionssteuerungseinrichtung, die Folgendes umfasst: eine Abbildungseinheit zum Aufnehmen eines Bilds, das zwei Objekte enthält; und eine Steuerparametergenerierungseinheit zum Zuleiten von Informationen des aufgenommenen Bilds, das die zwei Objekte enthält, zu einer Eingangsschicht eines neuronalen Netzes und zum Ausgeben eines Positionssteuerungsbetrags zum Steuern der Positionsbeziehung zwischen den zwei aufgenommenen Objekten als Ausgangsschicht des neuronalen Netzes.
  2. Positionssteuerungseinrichtung nach Anspruch 1, die ferner Folgendes umfasst: eine Steuereinheit zum Steuern von Strom oder Spannung zum Steuern der Positionsbeziehung zwischen den zwei aufgenommenen Objekten durch Nutzung des ausgegebenen Positionssteuerungsbetrags; und eine Antriebseinheit zum Ändern einer Position eines der zwei aufgenommenen Objekte durch Nutzung des Stroms oder der Spannung.
  3. Positionssteuerungseinrichtung nach Anspruch 1 oder 2, wobei die Steuerparametergenerierungseinheit eines aus einer Vielzahl neuronaler Netze auswählt.
  4. Positionssteuerungseinrichtung nach Anspruch 3, wobei die Steuerparametergenerierungseinheit eines aus einer Vielzahl neuronaler Netze gemäß einer Größe des Steuerungsbetrags auswählt.
  5. Positionssteuerungseinrichtung nach Anspruch 4, wobei in der Steuerparametergenerierungseinheit jedes der Vielzahl neuronaler Netze durch Nutzung des aufgenommenen Bilds, das die zwei Objekte enthält, lernt, wobei das Bild mit der Größe des Steuerungsbetrags korrespondiert.
  6. Positionssteuerungseinrichtung nach einem der Ansprüche 1 bis 5, wobei, wenn die Positionssteuerungseinrichtung ein Reinforcement-Learning-Modell zum Lernen eines Steuerungsbetrags nutzt, eine Actor-Einheit einen Bewegungskorrekturbetrag für einen Versuch durch Nutzung eines empfohlenen Werts kalkuliert, der durch eine Pfadfestlegungseinheit basierend auf einem Bewertungswert, der einen Erfolgsgrad angibt, kalkuliert wird.
  7. Verfahren zum Steuern von Positionen von zwei Objekten, das Folgendes umfasst: Aufnehmen eines Bilds, das die zwei Objekte enthält; Zuleiten von Informationen des aufgenommenen Bilds, das die zwei Objekte enthält, zu einer Eingangsschicht eines neuronalen Netzes; und Ausgeben eines Positionssteuerungsbetrags zum Steuern einer Positionsbeziehung zwischen den zwei aufgenommenen Objekten als eine Ausgangsschicht des neuronalen Netzes.
  8. Verfahren zum Steuern von Positionen von zwei Objekten, das Folgendes umfasst: Durchführen von Lernen eines Positionssteuerungsbetrags zum Steuern einer Positionsbeziehung zwischen den zwei Objekten, wobei ein empfohlener Wert basierend auf einem Bewertungswert, der einen Erfolgsgrad angibt, erhalten wird, ein Bewegungskorrekturbetrag basierend auf dem empfohlenen Wert erhalten wird, ein Ausrichtungsversuch gemäß dem Bewegungskorrekturbetrag durchgeführt wird und Lernen durchgeführt wird, wenn der Ausrichtungsversuch erfolgreich ist; Aufnehmen eines Bilds, das die zwei Objekte enthält; Zuleiten von Informationen des aufgenommenen Bilds, das die zwei Objekte enthält, zu einer Eingangsschicht eines neuronalen Netzes; und Ausgeben eines Positionssteuerungsbetrags zum Steuern einer Positionsbeziehung zwischen den zwei aufgenommenen Objekten als eine Ausgangsschicht des neuronalen Netzes.
DE112017007025.2T 2017-02-09 2017-02-09 Positionssteuerungseinrichtung und positionssteuerungsverfahren Pending DE112017007025T5 (de)

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
DE112017007025T5 true DE112017007025T5 (de) 2019-10-24

Family

ID=63107958

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017007025.2T Pending DE112017007025T5 (de) 2017-02-09 2017-02-09 Positionssteuerungseinrichtung und positionssteuerungsverfahren

Country Status (7)

Country Link
US (1) US11440184B2 (de)
JP (1) JP6587761B2 (de)
KR (1) KR102113462B1 (de)
CN (1) CN110268358B (de)
DE (1) DE112017007025T5 (de)
TW (1) TWI640851B (de)
WO (1) WO2018146769A1 (de)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019205651B3 (de) * 2019-04-18 2020-08-20 Kuka Deutschland Gmbh Verfahren und System zum Ausführen von Roboterapplikationen
DE102019125117B4 (de) * 2018-09-18 2020-12-10 Kinova Inc. Sichtgeführter Roboterarm und Verfahren zum Betreiben desselben
DE102019122790B4 (de) * 2018-08-24 2021-03-25 Nvidia Corp. Robotersteuerungssystem
DE102020112149A1 (de) 2020-05-05 2021-11-11 Integrated Dynamics Engineering Gesellschaft mit beschränkter Haftung Verfahren zur Kontrolle von Handlingsystemen
DE102020113278A1 (de) 2020-05-15 2021-11-18 Gerhard Schubert Gesellschaft mit beschränkter Haftung Verfahren zur Steuerung des Betriebs eines Industrieroboters
DE102021003002A1 (de) 2020-07-02 2022-01-05 Sew-Eurodrive Gmbh & Co Kg Verfahren zum Betreiben eines Systems und System, aufweisend einen Stapel von Objekten, einen Roboter, einen Sensor und ein Aufnahmemittel
DE102021204846A1 (de) 2021-05-12 2022-11-17 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung
DE102022202144A1 (de) 2022-03-02 2023-09-07 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zur Steuerung eines Roboters zur Durchführung einer Aufgabe
DE102022202145A1 (de) 2022-03-02 2023-09-07 Robert Bosch Gesellschaft mit beschränkter Haftung Roboter und Verfahren zum Steuern eines Roboters
DE102022202143A1 (de) 2022-03-02 2023-09-07 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zur Steuerung eines Roboters zur Durchführung einer Aufgabe
DE102022204724A1 (de) 2022-05-13 2023-11-16 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung
US11833681B2 (en) 2018-08-24 2023-12-05 Nvidia Corporation Robotic control system

Families Citing this family (21)

* 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
JP6603257B2 (ja) * 2017-03-31 2019-11-06 ファナック株式会社 行動情報学習装置、管理装置、ロボット制御システム及び行動情報学習方法
CN107292392B (zh) * 2017-05-11 2019-11-22 苏州大学 基于深度带权双q学习的大范围监控方法及监控机器人
JP7020812B2 (ja) * 2017-07-19 2022-02-16 キヤノン株式会社 ロボット装置、ロボット装置の制御方法、ロボット装置を用いた物品の組立方法、制御プログラムおよび記録媒体
US11292133B2 (en) * 2018-09-28 2022-04-05 Intel Corporation Methods and apparatus to train interdependent autonomous machines
JP6699702B2 (ja) * 2018-10-17 2020-05-27 トヨタ自動車株式会社 内燃機関の制御装置及びその制御方法、並びに内燃機関を制御するための学習モデル及びその学習方法
JP6978454B2 (ja) * 2019-02-22 2021-12-08 ファナック株式会社 物体検出装置、制御装置及び物体検出用コンピュータプログラム
JP7290439B2 (ja) * 2019-03-25 2023-06-13 Ntn株式会社 嵌合作業装置
JP6941305B2 (ja) * 2019-07-30 2021-09-29 株式会社安川電機 嵌合装置、嵌合方法及びプログラム
US11103998B2 (en) 2019-12-12 2021-08-31 Mujin, Inc. Method and computing system for performing motion planning based on image information generated by a camera
WO2021176902A1 (ja) * 2020-03-02 2021-09-10 ソニーグループ株式会社 学習処理装置、ロボット制御装置、および方法、並びにプログラム
JP7463777B2 (ja) * 2020-03-13 2024-04-09 オムロン株式会社 制御装置、学習装置、ロボットシステム、および方法
US20210352835A1 (en) * 2020-05-05 2021-11-11 Integrated Dynamics Engineering Gmbh Method for processing substrates, in particular wafers, masks or flat panel displays, with a semi-conductor industry machine
DE102020206913B4 (de) * 2020-06-03 2022-12-22 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Betreiben eines Roboters
CN111823230B (zh) * 2020-06-19 2022-01-07 山东科技大学 一种基于Scara机器人的非固定式手眼关系标定方法
DE102020209685B4 (de) * 2020-07-31 2023-07-06 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum steuern einer robotervorrichtung und robotervorrichtungssteuerung
US20220105626A1 (en) * 2020-10-05 2022-04-07 Autodesk, Inc. Techniques for force and torque-guided robotic assembly
CN114851184B (zh) * 2021-01-20 2023-05-09 广东技术师范大学 一种面向工业机器人的强化学习奖励值计算方法
CN113059570B (zh) * 2021-04-09 2022-05-24 华南理工大学 基于人体动态臂力估计模型的人-机器人协同控制方法
DE102021109333B4 (de) * 2021-04-14 2023-07-06 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Trainieren eines Neuronalen Netzes zum Steuern eines Roboters für eine Einsetzaufgabe
DE102021109332B4 (de) * 2021-04-14 2023-07-06 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Steuern eines Roboters zum Einsetzen eines Objekts in eine Einsetzstelle

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998017444A1 (fr) 1996-10-24 1998-04-30 Fanuc Ltd Systeme de robot de commande de forces a capteur optique pour travail d'insertion

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 位置補正方法及び位置補正装置
CN1072374C (zh) * 1995-08-07 2001-10-03 货款接收机公司 用人工神经网络对硬币的有效性进行图形识别的装置
TW444499B (en) * 1998-12-31 2001-07-01 Tsai Ching Yuan Binocular mechanical head monitoring system
JP3876234B2 (ja) * 2003-06-17 2007-01-31 ファナック株式会社 コネクタ把持装置、同装置を備えたコネクタ検査システム及びコネクタ接続システム
JP2005125475A (ja) 2003-10-24 2005-05-19 Sunao Kitamura 一回の成功試行で最良経路を学習するアーキテクチャ
KR20050073964A (ko) * 2004-01-12 2005-07-18 고종선 동기전동기를 이용한 위치 제어장치 및 방법
WO2006122030A2 (en) * 2005-05-07 2006-11-16 Thaler Stephen L Device for the autonomous bootstrapping of useful information
CN101396829A (zh) 2007-09-29 2009-04-01 株式会社Ihi 机器人装置的控制方法以及机器人装置
CN100524108C (zh) * 2007-11-19 2009-08-05 北京理工大学 一种基于小波神经网络的视觉反馈控制方法
JP5427658B2 (ja) 2010-03-16 2014-02-26 パナソニック株式会社 コンパレータのオフセット補正装置
FI20106090A0 (fi) * 2010-10-21 2010-10-21 Zenrobotics Oy Menetelmä kohdeobjektin kuvien suodattamiseksi robottijärjestelmässä
JP5744587B2 (ja) * 2011-03-24 2015-07-08 キヤノン株式会社 ロボット制御装置、ロボット制御方法、プログラム及び記録媒体
JP5869406B2 (ja) * 2012-03-30 2016-02-24 株式会社大気社 熱交換システム、及び、コントローラ
US20140025613A1 (en) * 2012-07-20 2014-01-23 Filip Ponulak Apparatus and methods for reinforcement learning in large populations of artificial spiking neurons
TWI492008B (zh) * 2013-11-01 2015-07-11 Ind Tech Res Inst 工作機械控制系統及其方法
JP6427972B2 (ja) * 2014-06-12 2018-11-28 セイコーエプソン株式会社 ロボット、ロボットシステム及び制御装置
CN105430255A (zh) * 2014-09-16 2016-03-23 精工爱普生株式会社 图像处理装置以及机器人系统
JP2016185572A (ja) * 2015-03-27 2016-10-27 セイコーエプソン株式会社 ロボット、ロボット制御装置およびロボットシステム
JP6517567B2 (ja) * 2015-03-31 2019-05-22 日本電産サンキョー株式会社 サーボモータ制御装置及び衝突検出方法
WO2017019555A1 (en) * 2015-07-24 2017-02-02 Google Inc. Continuous control with deep reinforcement learning

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998017444A1 (fr) 1996-10-24 1998-04-30 Fanuc Ltd Systeme de robot de commande de forces a capteur optique pour travail d'insertion

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019122790B4 (de) * 2018-08-24 2021-03-25 Nvidia Corp. Robotersteuerungssystem
US11833681B2 (en) 2018-08-24 2023-12-05 Nvidia Corporation Robotic control system
DE102019125117B4 (de) * 2018-09-18 2020-12-10 Kinova Inc. Sichtgeführter Roboterarm und Verfahren zum Betreiben desselben
DE102019205651B3 (de) * 2019-04-18 2020-08-20 Kuka Deutschland Gmbh Verfahren und System zum Ausführen von Roboterapplikationen
DE102020112149A1 (de) 2020-05-05 2021-11-11 Integrated Dynamics Engineering Gesellschaft mit beschränkter Haftung Verfahren zur Kontrolle von Handlingsystemen
DE102020113278A1 (de) 2020-05-15 2021-11-18 Gerhard Schubert Gesellschaft mit beschränkter Haftung Verfahren zur Steuerung des Betriebs eines Industrieroboters
WO2022002571A2 (de) 2020-07-02 2022-01-06 Sew-Eurodrive Gmbh & Co. Kg Verfahren zum betreiben eines systems und system, aufweisend einen stapel von objekten, einen roboter, einen sensor und ein aufnahmemittel
DE102021003002A1 (de) 2020-07-02 2022-01-05 Sew-Eurodrive Gmbh & Co Kg Verfahren zum Betreiben eines Systems und System, aufweisend einen Stapel von Objekten, einen Roboter, einen Sensor und ein Aufnahmemittel
DE102021204846A1 (de) 2021-05-12 2022-11-17 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung
DE102021204846B4 (de) 2021-05-12 2023-07-06 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung
DE102022202144A1 (de) 2022-03-02 2023-09-07 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zur Steuerung eines Roboters zur Durchführung einer Aufgabe
DE102022202145A1 (de) 2022-03-02 2023-09-07 Robert Bosch Gesellschaft mit beschränkter Haftung Roboter und Verfahren zum Steuern eines Roboters
DE102022202143A1 (de) 2022-03-02 2023-09-07 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zur Steuerung eines Roboters zur Durchführung einer Aufgabe
DE102022202143B4 (de) 2022-03-02 2024-05-16 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zur Steuerung eines Roboters zur Durchführung einer Aufgabe
DE102022204724A1 (de) 2022-05-13 2023-11-16 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung

Also Published As

Publication number Publication date
WO2018146769A1 (ja) 2018-08-16
JP6587761B2 (ja) 2019-10-09
KR102113462B1 (ko) 2020-05-21
US11440184B2 (en) 2022-09-13
KR20190102250A (ko) 2019-09-03
TWI640851B (zh) 2018-11-11
JPWO2018146769A1 (ja) 2019-06-27
CN110268358A (zh) 2019-09-20
CN110268358B (zh) 2022-11-04
TW201830183A (zh) 2018-08-16
US20200030970A1 (en) 2020-01-30

Similar Documents

Publication Publication Date Title
DE112017007025T5 (de) Positionssteuerungseinrichtung und positionssteuerungsverfahren
DE112017007028B4 (de) Positionskontrollvorrichtung und Positionskontrollverfahren
DE112017002498B4 (de) Robotervorgang-auswertungseinrichtung, robotervorgang-auswertungsverfahren und robotersystem
DE102015001527A1 (de) Robotersystem, das visuelle Rückmeldung verwendet
WO2015173092A1 (de) Verfahren und vorrichtung zur kalibrierung eines kamerasystems eines kraftfahrzeugs
DE102019106277A1 (de) Bildanalysevorrichtung, -verfahren und -programm
DE102015016530B4 (de) Roboter-Identifizierungssystem
DE102021109332B4 (de) Vorrichtung und Verfahren zum Steuern eines Roboters zum Einsetzen eines Objekts in eine Einsetzstelle
DE102018201210A1 (de) Koordinateninformations-Umwandlungsvorrichtung und Koordinateninformations-Umwandlungsprogramm
DE102019131261A1 (de) Robotermanipulation unter verwendung eines unabhängig betätigten visionssystems, eines gegensteuerschemas und einer multi-tasking-architektur für tiefgehendes lernen
DE19734947B4 (de) Verfahren zur Steuerung von Prozeßvorgängen
DE112019006604T5 (de) Steuervorrichtung und steuerverfahren
DE102018103474A1 (de) Ein system und verfahren zur objektabstandserkennung und positionierung
DE112018007729T5 (de) Maschinelle Lernvorrichtung und mit dieser ausgestattetes Robotersystem
DE102020209080A1 (de) Bildverarbeitungssystem
DE102019124809A1 (de) Bildgebungsvorrichtung und Bildgebungssystem
DE102021109333B4 (de) Vorrichtung und Verfahren zum Trainieren eines Neuronalen Netzes zum Steuern eines Roboters für eine Einsetzaufgabe
DE10319095A1 (de) Ausrichtung von optischen Faserelementen
WO2021099454A1 (de) Kraftmessung und krafterzeugung in redundanten robotermanipulatoren
DE102022202143B4 (de) Vorrichtung und Verfahren zur Steuerung eines Roboters zur Durchführung einer Aufgabe
DE102020200010A1 (de) Maschinensteuervorrichtung
DE102021211185B4 (de) Vorrichtung und Verfahren zum Steuern eines Roboters
DE102021109336B4 (de) Vorrichtung und Verfahren zum Trainieren eines Neuronalen Netzes zum Steuern eines Roboters für eine Einsetzaufgabe
DE102023103978A1 (de) Effizienter und robuster linienzuordnungsansatz
DE112021002043T5 (de) Vorrichtung zum Korrigieren einer Robotereinlernposition, Einlernvorrichtung, Robotersystem, Einlernpositions-Korrekturverfahren und Computerprogramm

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R084 Declaration of willingness to licence