DE102018006946B4 - Steuerung und maschinelle Lernvorrichtung - Google Patents

Steuerung und maschinelle Lernvorrichtung Download PDF

Info

Publication number
DE102018006946B4
DE102018006946B4 DE102018006946.0A DE102018006946A DE102018006946B4 DE 102018006946 B4 DE102018006946 B4 DE 102018006946B4 DE 102018006946 A DE102018006946 A DE 102018006946A DE 102018006946 B4 DE102018006946 B4 DE 102018006946B4
Authority
DE
Germany
Prior art keywords
robot
learning
data
teaching
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102018006946.0A
Other languages
English (en)
Other versions
DE102018006946A1 (de
Inventor
Tetsuji Ueda
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE102018006946A1 publication Critical patent/DE102018006946A1/de
Application granted granted Critical
Publication of DE102018006946B4 publication Critical patent/DE102018006946B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4142Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by the use of a microprocessor
    • 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/06Control stands, e.g. consoles, switchboards
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/425Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
    • 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/33Director till display
    • G05B2219/33321Observation learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34013Servocontroller
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36162Pendant control box
    • 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/39443Portable, adapted to handpalm, with joystick, function keys, display
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40499Reinforcement learning algorithm

Abstract

Steuerung (1; 2), die einen Kompensationsbetrag einer Einlernposition bei der Steuerung eines Roboters (160; 160') gemäß der in den Einlerndaten enthaltenen Einlernposition bestimmt, wobei die Steuerung (1; 2) umfasst:eine maschinelle Lernvorrichtung (100; 120), die einen Kompensationsbetrag der Einlernposition bei der Steuerung des Roboters (160; 160') gemäß der Einlernposition lernt, wobei die maschinelle Lernvorrichtung (100; 120) umfasst:einen Zustandsbeobachtungsabschnitt (106), der als Zustandsgrößen, die einen aktuellen Zustand einer Umwelt ausdrücken, Einlernpositionskompensationsbetragsdaten, die den Kompensationsbetrag der Einlernposition bei der Steuerung des Roboters (160; 160') gemäß der Einlernposition anzeigen, Motorstörungswertdaten, die einen Störungswert von jedem der Motoren (50) des Roboters (160; 160') bei der Steuerung des Roboters (106; 160) anzeigen, und Einlernpositionsdaten beobachtet, die als die Zustandsgrößen die Einlernposition der Einlerndaten umfassen,einen Bestimmungsdaten-Erfassungsabschnitt (108), der Bestimmungsdaten erlangt, die ein Eignungsbestimmungsergebnis des Störungswertes von jedem der Motoren (50) des Roboters (160; 160') bei der Steuerung des Roboters (160; 160') anzeigen, undeinen Lernabschnitt (110), der den Kompensationsbetrag der Einlernposition des Roboters (160; 160') in Zuordnung zu den Motorstörungswertdaten und der Einlernposition unter Verwendung der Zustandsgrößen und der Bestimmungsdaten lernt.

Description

  • Die vorliegende Erfindung betrifft eine Steuerung und eine maschinelle Lernvorrichtung und insbesondere eine Steuerung und eine maschinelle Lernvorrichtung, die eine Einlernposition optimieren.
  • Allgemeine Industrieroboter werden gemäß einem zuvor erstellten Betriebsprogramm angetrieben oder so angetrieben, dass sie einen zuvor von einem Programmierhandgerät oder dergleichen eingelernten Einlernpunkt durchlaufen. Das heißt, die Roboter werden entlang einer vorgegebenen Bahn gefahren. Zum Beispiel offenbart die Druckschrift JP H06-284 886 A als verwandte Technik, die sich mit dem Einlernbetrieb eines Roboters befasst, eine Erfindung, die eine statistische Verarbeitung bezüglich der Abweichung zwischen tatsächlichen Positionsdaten und einem Positionierungszielwert von einer Steuerung durchführt und einen Kompensationsbetrag bestimmt, um die Abweichung aufzulösen.
  • Industrieroboter werden für verschiedene Zwecke eingesetzt, beispielsweise für die Installation von Werkstücken, die Entnahme von bearbeiteten Werkstücken und die Befestigung von Werkzeugen an Werkzeugmaschinen. Wenn ein Werkstück unter Verwendung eines Industrieroboters in einer Werkzeugmaschine installiert wird, wird der Vorgang des Haltens des Werkstücks und des Installierens des Werkstücks in einer Spannvorrichtung in einem Bearbeitungsbereich eingelernt, indem dem Roboter, wie oben beschrieben, ein Lehrpunkt eingelernt wird. Wenn zum Beispiel ein zylindrisches Werkstück in Bezug auf eine konvex geformte Spannvorrichtung, wie in 9 gezeigt, eingestellt wird, kann das Werkstück so eingestellt werden, dass es von einer Annäherungsposition zu einer Zielposition in eine Richtung parallel zu der Richtung der Spannvorrichtung nach unten bewegt wird, wobei das Loch des Werkstücks parallel zu der Richtung der Spannvorrichtung ausgerichtet wird.
  • Wenn jedoch ein Bediener, der dem Roboter den Vorgang einlernt, ein Einlernbeginner ist, kann das Werkstück möglicherweise nicht präzise an der Annäherungsstelle positioniert werden, wird die Richtung des Werkstücks an der Annäherungsposition geneigt, und bleibt das Werkstück aufgrund der Abweichung einer Richtung, in die das Werkstück von der Annäherungsposition zu der Zielposition nach unten bewegt wird, an einer Spannvorrichtung hängen oder wird aufgrund des Kontakts zwischen dem Werkstück und der Vorrichtung eine Reibungskraft erzeugt, wodurch eine Störung (Last) in dem Handgelenkschaft oder dergleichen des Roboters auftreten könnte, der das Werkstück hält. Durch ein solches Einlernen wird jedes Gelenk des Roboters jedes Mal, wenn das Werkstück auf der Grundlage des eingelernten Vorgangs installiert wird, belastet, was die Ursache für Probleme oder einen Fehler mit dem Roboter darstellen kann, wenn der Betrieb des Roboters fortgesetzt wird.
  • Das Dokument DE 10 2016 014 155 A1 offenbart ein System mit einem Roboter zum Zuführen und Herausnehmen eines Werkstücks aus bzw. in eine(r) Werkzeugmaschine. Es wird für jede einer Mehrzahl von Roboterachsen jeweils ein Störeinfluss bestimmt, während das Werkstück zugeführt oder entnommen wird. Basierend darauf kann eine Roboterbewegung gestoppt und die Werkzeugmaschine bewegt werden, um letztendlich den Störeinfluss zu unterbinden.
  • Die Offenlegungsschrift DE 10 2016 009 113 A1 beschreibt eine maschinelle Lernvorrichtung für einen Roboter. Der Roboter beobachtet einen Umgebungszustand, um über seine Handlung zu entscheiden. Jedes Mal, wenn eine Handlung erfolgt ist, wird ein entsprechendes Belohnungssignal zurückgegeben. Hieraus kann der Roboter derart eingelernt werden, dass nur noch vorteilhafte Handlungen durchgeführt werden. Dies soll insbesondere das Zusammenarbeiten des Roboters mit einer Person erleichtern und effizienter gestalten.
  • Das Dokument DE 10 2016 009 030 A1 offenbart eine Vorrichtung für maschinelles Lernen. Eine Lage mehrerer ungeordnet übereinanderliegender Werkstücke wird mit einer dreidimensionalen Messvorrichtung ermittelt. Außerdem wird ein Zustand eines Roboters erfasst, der zum Greifen der Werkstücke ausgebildet ist. Basierend auf dem Erfolg oder Misserfolg eines Greifvorgangs wird eine Stellgröße gelernt, auf deren Basis der Roboter zum sicheren Greifen eines Werkstücks gesteuert werden kann.
  • Das Dokument DE 10 2016 008 987 A1 beschreibt ein Fehlervorhersagesystem mit einer Maschinenlernvorrichtung. Ein Zustand eines Roboters wird beobachtet und es wird überwacht, ob in dem Roboter ein Fehler aufgetreten ist und. Wenn dies der Fall ist, wird auch ein Fehlergrad bestimmt. Der beobachtete Zustand kann anschließend mit dem Fehler bzw. Fehlergrad von der Maschinenlernvorrichtung korreliert werden, um eine fehlerlose Bewegung des Roboters zu ermöglichen.
  • Die Druckschrift DE 11 2016 005 365 T5 offenbart ein Lernverfahren eines Roboters mit einem Master-Arm und einem Slave-Arm. Es wird eine Schwerkraftkompensation durchgeführt, sodass eine Person den Master-Arm auf einfache Weise in eine gewünschte Position bewegen kann. Die Lage des Roboters in der gewünschten Position wird gespeichert, wodurch bei einer späteren Steuerung des Roboters das Anfahren der gewünschten Position auch ohne Eingriff der Person ermöglicht wird.
  • Das Dokument DE 699 25 204 T2 offenbart eine Roboter-Steuereinrichtung. Eine Ausrichtung wird gespeichert als relative Beziehung zwischen einem Werkzeug-Koordinatensystem und einem Arbeits-Koordinatensystem der Umgebung. Durch Transformationen kann ein Bezug zwischen einem Roboter-Referenz-Koordinatensystem und den beiden anderen Koordinatensystemen bestimmt werden. Dies ermöglicht das Bewegen des Roboters entsprechend der gespeicherten Ausrichtung.
  • Angesichts des vorstehend beschriebenen Problems liegt der vorliegenden Erfindung die Aufgabe zugrunde, eine Steuerung und eine maschinelle Lernvorrichtung bereitzustellen, die in der Lage sind, eine Einlernposition zu optimieren, ohne eine unnötige Störung bei der Bedienung eines Roboters zu verursachen.
  • Zur Lösung des vorstehend beschriebenen Problems ist erfindungsgemäß eine Steuerung gemäß Anspruch 1 und eine maschinelle Lernvorrichtung gemäß Anspruch 8 vorgesehen.
  • Gemäß einer Ausführungsform führt die Steuerung das maschinelle Einlernen eines Kompensationsbetrags einer Einlernposition eines Roboters bezüglich einer Störung aus, die in einem Motor erzeugt wird, der jedes Gelenk des Roboters antreibt, und kompensiert und steuert die Einlernposition zur Reduzierung der Störung, wenn sich der Roboter in die Einlernposition bewegt, auf Grundlage eines Ergebnisses des maschinellen Lernens.
  • Eine Steuerung gemäß einer Ausführungsform der vorliegenden Erfindung bestimmt einen Kompensationsbetrag einer Einlernposition bei der Steuerung eines Roboters gemäß der in den Einlerndaten enthaltenen Einlernposition. Die Steuerung umfasst eine maschinelle Lernvorrichtung, die einen Kompensationsbetrag der Einlernposition bei der Steuerung des Roboters gemäß der Einlernposition lernt. Die maschinelle Lernvorrichtung umfasst einen Zustandsbeobachtungsabschnitt, der als Zustandsgrö-ßen, die einen aktuellen Zustand einer Umwelt ausdrücken, Einlernpositionskompensationsbetragsdaten, die den Kompensationsbetrag der Einlernposition bei der Steuerung des Roboters gemäß der Einlernposition anzeigen, und Motorstörungswertdaten, die einen Störungswert von jedem der Motoren des Roboters bei der Steuerung des Roboters anzeigen, beobachtet, einen Bestimmungsdaten-Erfassungsabschnitt, der Bestimmungsdaten erlangt, die ein Eignungsbestimmungsergebnis des Störungswerts von jedem der Motoren des Roboters bei der Steuerung des Roboters anzeigen, und einen Lernabschnitt, der den Kompensationsbetrag der Einlernposition des Roboters in Zuordnung zu den Motorstörungswertdaten unter Verwendung der Zustandsgrößen und der Bestimmungsdaten lernt.
  • Der Zustandsbeobachtungsabschnitt kann ferner als die Zustandsgrößen Einlernpositionsdaten beobachten, die die Einlernposition der Einlerndaten umfassen, und der Lernabschnitt kann die von dem Zustandsbeobachtungsabschnitt beobachteten Daten in Zuordnung zu den Motorstörungswertdaten lernen.
  • Die Bestimmungsdaten können, außer einem Eignungsbestimmungsergebnis des Störungswerts von jedem der Motoren des Roboters bei der Steuerung des Roboters, mindestens eines von einem Eignungsbestimmungsergebnis einer Einlernposition, in die sich der Roboter schließlich bewegt, einem Eignungsbestimmungsergebnis eines von einem Sensor erfassten Werts und einem Eignungsbestimmungsergebnis von Zykluszeit bei der Steuerung des Roboters gemäß der Einlernposition nach der Kompensation umfassen.
  • Der Lernabschnitt kann einen Belohnungsberechnungsabschnitt, der eine Belohnung in Zuordnung zu dem Eignungsbestimmungsergebnis berechnet, und einen Wertfunktion-Aktualisierungsabschnitt, der unter Verwendung der Belohnung eine Funktion aktualisiert, die einen Wert des Kompensationsbetrags der Einlernposition relativ zu dem Störungswert von jedem der Motoren des Roboters bei der Steuerung des Roboters ausdrückt, haben.
  • Der Lernabschnitt kann eine Berechnung der Zustandsgrößen und der Bestimmungsdaten auf Grundlage einer mehrschichtigen Struktur durchführen.
  • Die Steuerung kann ferner einen Entscheidungsfindungsabschnitt umfassen, der einen Sollwert auf Grundlage des Kompensationsbetrags der Einlernposition bei der Steuerung des Roboters gemäß der Einlernposition auf Grundlage eines Lernergebnisses des Lernabschnitts ausgibt.
  • Der Lernabschnitt kann den Kompensationsbetrag der Einlernposition bei der Steuerung des Roboters gemäß der Einlernposition in jedem von einer Mehrzahl von Robotern unter Verwendung der für jeden der Mehrzahl von Robotern erlangten Zustandsgrößen und Bestimmungsdaten lernen.
  • Die maschinelle Lernvorrichtung kann in einem Cloud-Server vorhanden sein.
  • Eine maschinelle Lernvorrichtung gemäß einer weiteren Ausführungsform der vorliegenden Erfindung lernt einen Kompensationsbetrag einer Einlernposition bei der Steuerung des Roboters gemäß der Einlernposition, die in den Einlerndaten enthalten ist. Die maschinelle Lernvorrichtung umfasst: einen Zustandsbeobachtungsabschnitt, der als Zustandsgrößen, die einen aktuellen Zustand einer Umwelt ausdrücken, Einlernpositionskompensationsbetragsdaten, die den Kompensationsbetrag der Einlernposition bei der Steuerung des Roboters gemäß der Einlernposition anzeigen, und Motorstörungswertdaten, die einen Störungswert von jedem der Motoren des Roboters bei der Steuerung des Roboters anzeigen, beobachtet; einen Bestimmungsdaten-Erfassungsabschnitt, der Bestimmungsdaten erlangt, die ein Eignungsbestimmungsergebnis des Störungswerts von jedem der Motoren des Roboters bei der Steuerung des Roboters anzeigen; und einen Lernabschnitt, der den Kompensationsbetrag der Einlernposition des Roboters in Zuordnung zu den Motorstörungswertdaten unter Verwendung der Zustandsgrößen und der Bestimmungsdaten lernt.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung ist es möglich, einen Störungswert, der in einem Motor erzeugt wird, der jedes Gelenk eines Roboters antreibt, zu reduzieren und Probleme, wie zum Beispiel das Auftreten eines Fehlers in dem Roboter, durch die Kompensierung einer Einlernposition des Roboters auf Grundlage eines Lernergebnisses zu verhindern.
    • 1 ist ein schematisches Hardware-Konfigurationsdiagramm einer Steuerung gemäß einer ersten Ausführungsform;
    • 2 ist ein schematisches Funktionsblockschaltbild der Steuerung gemäß der ersten Ausführungsform;
    • 3 ist ein schematisches Funktionsblockschaltbild, das eine Ausführungsform der Steuerung zeigt;
    • 4 ist ein schematisches Flussdiagramm, das die Ausführungsform eines maschinellen Lernverfahrens zeigt;
    • 5A ist ein Diagramm zur Beschreibung eines Neurons;
    • 5B ist ein Diagramm zur Beschreibung eines neuronalen Netzes;
    • 6 ist ein schematisches Funktionsblockschaltbild einer Steuerung gemäß einer zweiten Ausführungsform;
    • 7 ist ein schematisches Funktionsblockschaltbild, das eine Ausführungsform eines Systems mit einer Mehrzahl von Robotern zeigt; und
    • 8 ist ein schematisches Funktionsblockschaltbild, das eine weitere Ausführungsform eines Systems mit einer Mehrzahl von Robotern zeigt.
    • 9 ist ein Diagramm zur Beschreibung eines Problems beim Einlernen gemäß einer verwandten Technik.
  • 1 ist ein schematisches Hardware-Konfigurationsdiagramm, das eine Steuerung und die wesentlichen Teile einer von der Steuerung gemäß einer ersten Ausführungsform gesteuerten Werkzeugmaschine zeigt.
  • Eine Steuerung 1 kann z.B. als Steuerung zum Steuern eines Industrieroboters (nicht gezeigt) montiert werden, der die Installation eines Werkstücks, die Entnahme eines maschinell bearbeiteten Werkstücks, die Befestigung eines Werkzeugs an einer Werkzeugmaschine oder dergleichen durchführt. Eine Zentraleinheit (CPU) 11 der Steuerung 1 gemäß der Ausführungsform ist ein Prozessor, der die Steuerung 1 vollständig steuert. Die CPU 11 liest ein in einem Nur-Lese-Speicher (ROM) 12 gespeichertes Systemprogramm über einen Bus 20 und steuert die gesamte Steuerung 1 gemäß dem Systemprogramm. Ein Direktzugriffsspeicher (RAM) 13 speichert temporäre Berechnungsdaten oder Anzeigedaten und verschiedene Daten oder dergleichen, die von einem Bediener über ein später beschriebenes Programmierhandgerät 60 eingegeben werden.
  • Ein nichtflüchtiger Speicher 14 ist als ein Speicher ausgebildet, der seinen Speicherzustand beispielsweise durch Datensicherung oder dergleichen mit einer Batterie (nicht gezeigt) auch bei ausgeschalteter Steuerung 1 beibehält. Der nichtflüchtige Speicher 14 speichert die von dem Programmierhandgerät 60 über eine Schnittstelle 19 eingegebenen Einlerndaten, ein über eine Schnittstelle (nicht dargestellt) eingegebenes, den Roboter steuerndes Programm, oder dergleichen. Programme oder verschiedene Daten, die in dem nichtflüchtigen Speicher 14 gespeichert sind, können bei Ausführung/Verwendung in den RAM 13 entwickelt werden. Weiterhin speichert der ROM 12 vorab verschiedene Systemprogramme (ein Systemprogramm umfassend, um die Kommunikation mit einer maschinellen Lernvorrichtung 100, die später beschrieben wird, zu steuern) zur laufenden Verarbeitung für die Steuerung eines Roboters oder das Einlernen einer Einlernposition oder dergleichen.
  • Das Programmierhandgerät 60 ist eine manuelle Dateneingabevorrichtung mit einer Anzeige, einem Griff, einem Hardware-Schlüssel oder dergleichen. Das Programmierhandgerät 60 empfängt über die Schnittstelle 19 Information von der Steuerung 1, um diese anzuzeigen, und gibt Impulse, Befehle und verschiedene Dateneingaben von dem Griff, dem Hardware-Schlüssel oder dergleichen an die CPU 11 weiter.
  • Ein Achssteuerkreis 30 zur Steuerung der Achse eines Gelenks oder dergleichen eines Roboters empfängt von der CPU 11 einen Bewegungssollbetrag der Achse und gibt einen Befehl zum Bewegen der Achse an einen Servoverstärker 40 aus. Der Servoverstärker 40 steuert bei Erhalt des Befehls einen Servomotor 50 an, der die Achse des Roboters bewegt. Der Servomotor 50 für die Achse umfasst eine Positions-/Drehzahlerfassungsvorrichtung und gibt ein Positions-/Drehzahlrückmeldesignal von der Positions-/Drehzahlerfassungsvorrichtung an den Achssteuerkreis 30 zurück, um eine Positions-/Drehzahlregelung durchzuführen. Es wird angemerkt, dass der Achssteuerkreis 30, der Servoverstärker 40 und der Servomotor 50 im Hardware-Konfigurationsdiagramm von 1 einzeln dargestellt sind, aber tatsächlich entsprechend der Anzahl der Achsen eines zu steuernden Roboters vorgesehen sind. Bei einem Roboter mit sechs Achsen sind beispielsweise für jede der sechs Achsen der Achsregelkreis 30, der Servoverstärker 40 und der Servomotor 50 vorgesehen.
  • Eine Schnittstelle 21 ist eine Schnittstelle, um die Steuerung 1 und die maschinelle Lernvorrichtung 100 miteinander zu verbinden. Die maschinelle Lernvorrichtung 100 umfasst einen Prozessor 101, der die gesamte maschinelle Lernvorrichtung 100 steuert, einen ROM 102, der ein Systemprogramm oder dergleichen speichert, einen RAM 103, der Daten in jeder dem maschinellen Lernen zugeordneten Verarbeitung zwischenspeichert, und einen nichtflüchtigen Speicher 104, der zum Speichern eines Lernmodells oder dergleichen verwendet wird. Die maschinelle Lernvorrichtung 100 kann jede Information (z.B. Positionsinformation oder den aktuellen Wert des Servomotors 50, und Einstellinformation zu einem laufenden Programm, oder Einlerninformation oder dergleichen, die im RAM 13 oder dergleichen gespeichert sind) beobachten, die von der Steuerung 1 über die Schnittstelle 21 erfasst werden kann. Weiterhin führt die Steuerung 1 bei Empfang von Befehlen zur Steuerung des Servomotors 50 und der Peripherievorrichtung eines Roboters, die von der maschinellen Lernvorrichtung 100 ausgegeben werden, die Kompensation oder dergleichen eines Befehls zur Steuerung des Roboters basierend auf einem Programm oder Einlerndaten durch.
  • 2 ist ein schematisches Funktionsblockschaltbild der Steuerung 1 und der maschinellen Lernvorrichtung 100 gemäß der ersten Ausführungsform.
  • Die maschinelle Lernvorrichtung 100 umfasst Software (wie einen Lernalgorithmus) und Hardware (wie den Prozessor 101) zum spontanen Erlernen eines Kompensationsbetrages einer Einlernposition eines Roboters bezüglich eines Störungswerts, der in einem Motor erzeugt wird, der jedes Gelenk des Roboters antreibt, durch sogenanntes maschinelles Lernen. Eine von der maschinellen Lernvorrichtung 100 der Steuerung 1 zu erlernende Aufgabe entspricht einer Modellstruktur, die die Korrelation zwischen einem Störungswert, der in einem Motor erzeugt wird, der jedes Gelenk eines Roboters antreibt, und einem Kompensationsbetrag einer Einlernposition des Roboters ausdrückt.
  • Wie in dem Funktionsblock von 2 dargestellt, umfasst die maschinelle Lernvorrichtung 100 der Steuerung 1 einen Zustandsbeobachtungsabschnitt 106, einen Bestimmungsdaten-Erfassungsabschnitt 108 und einen Lernabschnitt 110. Der Zustandsbeobachtungsabschnitt 106 beobachtet Zustandsgrößen S, die den aktuellen Zustand einer Umwelt ausdrücken, die Einlernpositionskompensationsbetragsdaten S1, die einen Kompensationsbetrag einer Einlernposition von jedem von Motoren eines Roboters bei der Steuerung des Roboters gemäß der in den Einlerndaten enthaltenen Einlernposition anzeigen, und Motorstörungswertdaten S2, die einen Störungswert von jedem der Motoren des Roboters bei der Steuerung des Roboters gemäß der in den Einlerndaten enthaltenen Einlernposition anzeigen, umfassen. Der Bestimmungsdaten-Erfassungsabschnitt 108 erlangt Bestimmungsdaten D, die ein Eignungsbestimmungsergebnis des Störungswerts des entsprechenden Motors bei der Steuerung des Roboters gemäß der kompensierten Einlernposition enthalten. Unter Verwendung der Zustandsgrößen S und der Bestimmungsdaten D lernt der Lernabschnitt 110 den Störungswert des entsprechenden Motors und die Einlernpositionskompensationsbetragsdaten S1 in Zuordnung zueinander.
  • Der Zustandsbeobachtungsabschnitt 106 kann beispielsweise als eine der Funktionen des Prozessors 101 oder als in dem ROM 102 gespeicherte Software zum Betreiben des Prozessors 101 konfiguriert sein. Unter den Zustandsgrößen S, die von dem Zustandsbeobachtungsabschnitt 106 beobachtet werden, können die Einlernpositionskompensationsbetragsdaten S1 als ein Kompensationsbetrag bezüglich einer Einlernposition (einem Satz von Koordinaten von jedem der Motoren eines Roboters) erlangt werden, die in den Einlerndaten enthalten sind. Die Einlernpositionskompensationsbetragsdaten S1 können nur ein Kompensationsbetrag einer Einlernposition sein, in die sich ein Roboter schließlich bewegt (eine Endposition, wenn ein Werkstück in dem Beispiel in 9 in eine Spannvorrichtung eingebracht wird). Abgesehen davon können die Einlernpositionskompensationsbetragsdaten S1 einen Kompensationsbetrag einer Annäherungsposition enthalten, die eine Einlernposition anzeigt, bevor sich der Roboter schließlich bewegt. Außerdem kann, als die Einlernpositionskompensationsbetragsdaten S1, der Höchstwert eines Störungswerts, der in jedem Motor während der Bewegung in eine Einlernposition erzeugt wird, oder ein Serienwert, der erlangt wird, wenn der in dem entsprechenden Motor erzeugte Störungswert während der Bewegung in die Einlernposition für jeden vorgeschriebenen Zyklus (zum Beispiel 10 ms) erlangt wird, verwendet werden.
  • Als die Einlernpositionskompensationsbetragsdaten S1 kann zum Beispiel ein Kompensationsbetrag einer Einlernposition von jedem der Motoren eines Roboters verwendet werden, der von einem Facharbeiter berichtet wird und in die Steuerung 1 eingegeben wird. Hier umfasst der Kompensationsbetrag der Einlernposition von jedem der Motoren des Roboters eine Motorkompensationsrichtung (einen positiven/negativen Wert), in die der Motor korrigiert wird. Außerdem kann, als die Einlernpositionskompensationsbetragsdaten S1, ein Kompensationsbetrag einer Einlernposition von jedem der Motoren eines Roboters, die durch die maschinelle Lernvorrichtung 100 im vorherigen Lernzyklus basierend auf einem Lernergebnis des Lernabschnitts 110 bestimmt wird, verwendet werden, wenn das Lernen bis zu einem gewissen Grad vorangeschritten ist. In einem solchen Fall kann die maschinelle Lernvorrichtung 100 vorab für jeden Lernzyklus einen bestimmten Kompensationsbetrag einer Einlernposition jedes der Motoren eines Roboters in dem RAM 103 zwischenspeichern, sodass der Zustandsbeobachtungsabschnitt 106 aus dem RAM 103 den Kompensationsbetrag der durch die maschinelle Lernvorrichtung 100 im vorherigen Lernzyklus ermittelten Einlernposition jedes der Motoren des Roboters erfasst.
  • Ferner kann, als die Motorstörungswertdaten S2, aus den Zustandsgrößen S zum Beispiel ein Ladungswert oder dergleichen, der aus einem Stromwert indirekt berechnet wird, der durch den Servomotor 50 fließt, bei der Steuerung des Roboters gemäß der in den Einlerndaten enthaltenen Einlernposition verwendet werden. Die Motorstörungswertdaten S2 können direkt unter Verwendung einer Drehmomentmessung oder dergleichen berechnet werden, die an einem Motor befestigt ist.
  • Der Bestimmungsdaten-Erfassungsabschnitt 108 kann beispielsweise als eine der Funktionen des Prozessors 101 oder als in dem ROM 102 gespeicherte Software zum Betreiben des Prozessors 101 konfiguriert werden. Als Bestimmungsdaten D kann der Bestimmungsdaten-Erfassungsabschnitt 108 einen Eignungsbestimmungswert D1 bezüglich eines Störungswerts von jedem Motor bei der Steuerung eines Roboters gemäß einer kompensierten Einlernposition verwenden. Unter Verwendung der gleichen Einrichtung, die verwendet wird, wenn der Zustandsbeobachtungsabschnitt 106 die Motorstörungswertdaten S2 beobachtet, kann der Bestimmungsdaten-Erfassungsabschnitt 108 einen Störungswert von jedem Motor bei der Steuerung eines Roboters gemäß einer kompensierten Einlernposition erlangen. Die Bestimmungsdaten D sind ein Index, der ein Ergebnis ausdrückt, das erhalten wird, wenn ein Roboter gemäß einer Einlernposition unter den Zustandsgrößen S gesteuert wird.
  • Bezogen auf den Lernzyklus des Lernabschnitts 110 sind die gleichzeitig in den Lernabschnitt 110 eingegebenen Zustandsgrößen S diejenigen, die auf Daten des vorherigen Lernzyklus basieren, in dem die Bestimmungsdaten D erfasst wurden. Während, wie oben beschrieben, die maschinelle Lernvorrichtung 100 der Steuerung 1 das maschinelle Lernen vorantreibt, wird die Erfassung der Motorstörungsdaten S2, die Implementierung des Steuerns eines Roboters gemäß einer basierend auf den Einlernpositionskompensationsbetragsdaten S1 kompensierten Einlernposition und die Erfassung der Bestimmungsdaten D in einer Umwelt wiederholt durchgeführt.
  • Der Lernabschnitt 110 kann beispielsweise als eine der Funktionen des Prozessors 101 oder als in dem ROM 102 gespeicherte Software zum Betreiben des Prozessors 101 konfiguriert werden. Gemäß einem beliebigen als maschinelles Lernen bezeichneten Lernalgorithmus lernt der Lernabschnitt 110 die Einlernpositionskompensationsbetragsdaten S1 bezüglich eines Störungswerts von jedem der Motoren eines Roboters bei der Steuerung des Roboters gemäß der in den Einlerndaten enthaltenen Einlernposition. Der Lernabschnitt 110 kann das Lernen basierend auf einem Datensatz mit den oben beschriebenen Zustandsgrößen S und den Bestimmungsdaten D wiederholt ausführen.
  • Wenn der Zyklus des Lernens der Einlernpositionskompensationsbetragsdaten S1 bezüglich eines Störungswerts von jedem der Motoren eines Roboters bei der Steuerung des Roboters gemäß der in den Einlerndaten enthaltenen Einlernposition wiederholt ausgeführt wird, entsprechen, von den Zustandsgrößen S, die Motorstörungswertdaten S2 und die Einlernpositionskompensationsbetragsdaten S1 einem Störungswert von jedem der Motoren eines Roboters bei der Steuerung des Roboters gemäß der in den Einlerndaten enthaltenen Einlernposition, die in dem vorherigen Lernzyklus erlangt werden, wie vorstehend beschrieben, bzw. einem Kompensationsbetrag einer Einlernposition von jedem der Motoren eines Roboters bei der Steuerung des Roboters gemäß einer in den Einlerndaten, die auf Grundlage von vergangenen Lernergebnissen erlangt werden, enthaltenen Einlernposition. Außerdem entsprechen die Bestimmungsdaten D einem Eignungsbestimmungsergebnis bezüglich eines Störungswerts von jedem der Motoren eines Roboters bei der Steuerung des Roboters gemäß einer (kompensierten) Einlernposition in einem aktuellen Lernzyklus in einem Zustand, in dem die Einlernposition auf Grundlage der Einlernpositionskompensationsbetragsdaten S1 kompensiert wurde.
  • Durch wiederholtes Ausführen eines solchen Lernzyklus' kann der Lernabschnitt 110 automatisch ein Merkmal identifizieren, das die Korrelation zwischen einem Störungswert (den Motorstörungswertdaten S2) von jedem der Motoren eines Roboters bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition und einem Kompensationsbetrag bezüglich der Einlernposition nahelegt. Obgleich die Korrelation zwischen den Motorstörungswertdaten S2 und einem Kompensationsbetrag bezüglich einer Einlernposition zu Beginn eines Lernalgorithmus im Wesentlichen unbekannt ist, identifiziert der Lernabschnitt 110 schrittweise ein Merkmal, das die Korrelation anzeigt, und interpretiert die Korrelation, während das Lernen fortschreitet. Wenn die Korrelation zwischen den Motorstörungswertdaten S2 und einem Kompensationsbetrag bezüglich einer Einlernposition bis zu einem gewissen zuverlässigen Grad interpretiert wird, können die von dem Lernabschnitt 110 wiederholt ausgegeben Lernergebnisse zur Auswahl der Aktion (d.h., Entscheidungsfindung) verwendet werden, um zu bestimmen, in welchem Maße ein Kompensationsbetrag einer Einlernposition in Bezug auf einen aktuellen Zustand (d.h. einen Störungswert von jedem der Motoren eines Roboters bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition) angepasst wird. Das heißt, wenn ein Lernalgorithmus fortgeschritten ist, kann sich der Lernabschnitt 110 der Korrelation zwischen einem Störungswert eines jeden der Motoren des Roboters bei der Steuerung des Roboters gemäß der in den Einlerndaten des Roboters enthaltenen Einlernposition und der Aktion des Bestimmens, in welchem Maße ein Kompensationsbetrag der Einlernposition des Roboters in Bezug auf den Zustand auf eine optimale Lösung angepasst wird, schrittweise annähern.
  • Wie oben beschrieben, lernt der Lernabschnitt 110 in der maschinellen Lernvorrichtung 100 der Steuerung 1 einen Kompensationsbetrag einer Einlernposition eines Roboters gemäß einem maschinellen Lernalgorithmus unter Verwendung der Zustandsgrößen S, die von dem Zustandsbeobachtungsabschnitt 106 beobachtet werden, und der Bestimmungsdaten D, die von dem Bestimmungsdaten-Erfassungsabschnitt 108 erfasst werden. Die Zustandsgrößen S setzen sich aus den Einlernpositionskompensationsbetragsdaten S1 und den Motorstörungswertdaten S2 zusammen, die durch eine Störung kaum beeinflusst werden. Außerdem werden die Bestimmungsdaten D durch die Erfassung eines aktuellen Werts des Servomotors 50, der tatsächlich von der Steuerung 1 oder dergleichen gemessenen wird, eindeutig berechnet. Dementsprechend kann die maschinelle Lernvorrichtung 100 der Steuerung 1 unter Verwendung von Lernergebnissen des Lernabschnitts 110 automatisch und genau einen Kompensationsbetrag einer Einlernposition eines Roboters gemäß einem Störungswert von jedem der Motoren des Roboters bei der Steuerung des Roboters gemäß den in den Einlerndaten des Roboters enthaltenen Einlernposition berechnen, ohne sich auf Berechnung oder Schätzung zu verlassen.
  • Wenn es möglich ist, einen Kompensationsbetrag einer Einlernposition bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition zu berechnen, ohne sich auf eine Berechnung oder Schätzung zu verlassen, kann ein geeigneter Wert des Kompensationsbetrags der Einlernposition des Roboters schnell bestimmt werden, indem nur ein Störungswert (die Motorstörungswertdaten S2) von jedem Motor des Roboters bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition erlangt werden. Dementsprechend kann ein Kompensationsbetrag einer Einlernposition eines Roboters effektiv bestimmt werden.
  • Als ein erstes modifiziertes Beispiel der maschinellen Lernvorrichtung 100 der Steuerung 1 kann der Zustandsbeobachtungsabschnitt 106 ferner Einlernpositionsdaten S3 beobachten, die als die Zustandsgrößen S eine Einlernposition von Einlerndaten umfassen. Die Einlernpositionsdaten S3 können als eine Einlernposition (ein Satz von Koordinaten-Werten von jedem der Motoren eines Roboters) erlangt werden, die in den Einlerndaten enthalten sind. Die Einlernpositionsdaten S3 können z.B. nur eine Einlernposition sein, in die sich ein Roboter schließlich bewegt (eine Endposition, wenn ein Werkstück in einer Spannungsvorrichtung in dem Beispiel aus 9 eingebracht wird). Abgesehen davon können die Einlernpositionsdaten S3 eine Annäherungsposition umfassen, die eine Einlernposition anzeigt, bevor sich der Roboter schließlich bewegt.
  • In dem vorstehend beschriebenen modifizierten Beispiel kann die maschinelle Lernvorrichtung 100 einen Kompensationsbetrag bezüglich einer Einlernposition für sowohl die Einlernposition als auch einen Störungswert von jedem der Motoren eines Roboters bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition lernen. Dadurch kann, da es möglich ist, auf Grundlage von Einlerndaten einen Kompensationsbetrag einer Einlernposition in einen geeigneten Wert zu ändern, während die Haltung eines Roboters bei der Steuerung des Roboters berücksichtigt wird, die Störung des Motors des Roboters geeigneter reduziert werden.
  • Als ein zweites modifiziertes Beispiel der maschinellen Lernvorrichtung 100 der Steuerung 1 kann der Bestimmungsdaten-Erfassungsabschnitt 108, zusätzlich zu dem Eignungsbestimmungswert D1 bezüglich eines Störungswerts von jedem der Motoren des Roboters bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition, als die Bestimmungsdaten D einen Eignungsbestimmungswert D2 einer Einlernposition, in die sich ein Roboter schließlich bewegt, einen Eignungsbestimmungswert D3 eines Wertes, der von einem Sensor, wie beispielsweise einem Schwingungssensor und einem Geräuschsensor, erfasst wird, einen Evaluationswert D4 von Zykluszeit bei der Steuerung des Roboters gemäß einer kompensierten Einlernposition oder dergleichen verwenden.
  • Gemäß dem vorstehend beschriebenen modifizierten Beispiel kann die maschinelle Lernvorrichtung 100 einen Abweichungsgrad einer Einlernposition, das Auftreten von Vibrationen oder anormalen Geräuschen, eine Zunahme der Zykluszeit oder dergleichen beim Lernen eines Kompensationsbetrags einer Einlernposition eines Roboters bezüglich eines Störungswerts von jedem der Motoren eines Roboters bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition berücksichtigen.
  • Als ein drittes modifiziertes Beispiel für die maschinelle Lernvorrichtung 100 der Steuerung 1 kann der Lernabschnitt 110 unter Verwendung der ermittelten Zustandsgrößen S und Bestimmungsdaten D für jeden der Mehrzahl von Robotern, der die gleiche Arbeit ausführt, einen Kompensationsbetrag einer Einlernposition bei der Ausführung von Steuerung gemäß der in den Einlerndaten enthaltenen Einlernposition einer Mehrzahl von Robotern lernen. Gemäß der Konfiguration ist es möglich, eine Menge eines Datensatzes, der die in einem bestimmten Zeitraum erfassten Zustandsgrößen S und Bestimmungsdaten D umfasst, zu erhöhen. Daher kann die Geschwindigkeit und die Zuverlässigkeit des Erlernens eines Kompensationsbetrags der Einlernposition bei der Steuerung des Roboters gemäß der in den Einlerndaten eines Roboters enthaltenen Einlernposition mit einem Satz von vielfältigeren Daten als Eingaben verbessert werden.
  • In der maschinellen Lernvorrichtung 100 mit der obigen Konfiguration ist ein von dem Lernabschnitt 110 ausgeführter Lernalgorithmus nicht speziell eingeschränkt. Beispielsweise kann ein als maschinelles Lernen bekannter Lernalgorithmus eingesetzt werden. 3 zeigt als eine Ausführungsform der in 1 gezeigten Steuerung 1 eine Konfiguration, die den Lernabschnitt 110 umfasst, der das verstärkende Lernen als Beispiel für einen Lernalgorithmus durchführt.
  • Das verstärkende Lernen ist ein Verfahren, bei dem, während der aktuelle Zustand (d.h. eine Eingabe) einer Umwelt, in der ein Lernziel existiert, beobachtet wird, eine vorgeschriebene Aktion (d.h. eine Ausgabe) in dem aktuellen Zustand durchgeführt wird und der Zyklus des Vergebens einer Belohnung der Aktion wiederholt durch Ausprobieren durchgeführt wird, um Maßnahmen zu lernen (ein Kompensationsbetrag einer Einlernposition bei der Steuerung eines Roboters gemäß der in den Einlerndaten des Roboters enthaltenen Einlernposition in der maschinellen Lernvorrichtung der vorliegenden Anwendung), um die Summe der Belohnungen als eine optimale Lösung zu maximieren.
  • In der maschinellen Lernvorrichtung 100 der in 3 gezeigten Steuerung 1 umfasst der Lernabschnitt 110 einen Belohnungsberechnungsabschnitt 112 und einen Wertfunktion-Aktualisierungsabschnitt 114. Der Belohnungsberechnungsabschnitt 112 berechnet eine Belohnung R, die einem Eignungsbestimmungsergebnis (entsprechend den im nächsten Lernzyklus, in dem die Zustandsgrößen S erfasst wurden, verwendeten Bestimmungsdaten D) eines Störungswerts jedes der Motoren eines Roboters bei der Steuerung des Roboters gemäß einer kompensierten Einlernposition basierend auf den Zustandsgrößen S zugeordnet wird. Der Wertfunktion-Aktualisierungsabschnitt 114 aktualisiert unter Verwendung der berechneten Belohnung R eine Funktion Q, die einen Wert eines Kompensationsbetrags einer Einlernposition bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition ausdrückt. Der Lernabschnitt 110 lernt einen Kompensationsbetrag einer Einlernposition eines Roboters bezüglich eines Störungswerts von jedem der Motoren des Roboters bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition derart, dass der Wertfunktion-Aktualisierungsabschnitt 114 die Funktion Q wiederholt aktualisiert.
  • Ein Beispiel für einen Lernalgorithmus des verstärkenden Lernens, der von dem Lernabschnitt 110 durchgeführt wird, wird beschrieben. Der Algorithmus in diesem Beispiel ist als Q-Lernen bekannt und drückt ein Verfahren aus, bei dem ein Zustand s eines Aktionssubjekts und eine möglicherweise von dem Aktionssubjekt im Zustand s durchgeführte Aktion a als unabhängige Größen angenommen werden und eine Funktion Q(s, a), die einen Aktionswert ausdrückt, wenn die Aktion a im Zustand s ausgewählt wird, gelernt wird. Die Auswahl der Aktion a, bei der die Wertfunktion Q im Zustand s die größte wird, führt zu einer optimalen Lösung. Durch Starten des Q-Lernens in einem Zustand, in dem die Korrelation zwischen dem Zustand s und der Aktion a unbekannt ist, und wiederholtes Ausführen der Auswahl verschiedener Aktionen a durch Ausprobieren in einem beliebigen Zustand s, wird die Wertefunktion Q wiederholt aktualisiert, um einer optimalen Lösung angenähert zu werden. Wenn sich hierbei eine Umwelt (d.h. der Zustand s) ändert, während die Aktion a in dem Zustand s ausgewählt wird, wird eine Belohnung (d.h. die Gewichtung der Aktion a) r entsprechend der Änderung erhalten und wird das Lernen darauf ausgerichtet, eine Aktion a auszuwählen, durch die eine höhere Belohnung r erhalten wird. So kann die Wertfunktion Q in einem relativ kurzen Zeitraum einer optimalen Lösung angenähert werden.
  • Im Allgemeinen kann die Aktualisierungsformel der Wertfunktion Q wie die folgende Formel (1) ausgedrückt werden. In der Formel (1) drücken st und at einen Zustand bzw. eine Aktion zum Zeitpunkt t aus, und ändert sich der Zustand zu st+1 mit der Aktion at. rt+1 drückt eine Belohnung aus, die erhalten wird, wenn sich der Zustand von st zu st+1 ändert. Der Begriff maxQ drückt Q in einem Fall aus, in dem eine Aktion a ausgeführt wird, durch die der maximale Wert Q zum Zeitpunkt t + 1 (der zum Zeitpunkt t angenommen wird) erreicht wird. α und γ drücken einen Lernkoeffizienten beziehungsweise einen Diskontierungsfaktor aus und werden willkürlich so eingestellt, dass sie in 0 < α ≤ 1 beziehungsweise 0 < γ ≤ 1 fallen. Q ( s t , a t ) Q ( s t , a t ) + α ( r t + 1 + γ   max a   Q ( s t + 1 , a ) Q ( s t , a t ) )
    Figure DE102018006946B4_0001
  • Wenn der Lernabschnitt 110 das Q-Lernen durchführt, entsprechen die von dem Zustandsbeobachtungsabschnitt 106 beobachteten Zustandsgrößen S und die von dem Zustandsdaten-Erfassungsabschnitt 108 erfassten Bestimmungsdaten D dem Zustand s in dieser Aktualisierungsformel, die Aktion des Bestimmens eines Kompensationsbetrags einer Einlernposition eines Roboters in Bezug auf einen aktuellen Zustand (d. h., einen Störungswert von jedem der Motoren des Roboters bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition) entspricht der Aktion a in der Aktualisierungsformel und die durch den Belohnungsberechnungsabschnitt 112 berechnete Belohnung R entspricht der Belohnung r in der Aktualisierungsformel. Dementsprechend aktualisiert der Wertfunktion-Aktualisierungsabschnitt 114 wiederholt die Funktion Q, die einen Wert eines Kompensationsbetrags einer Einlernposition eines Roboters in Bezug auf einen aktuellen Zustand durch das Q-Lernen ausdrückt, unter Verwendung der Belohnung R.
  • Wenn der Roboter gemäß der Einlernposition gesteuert wird, die auf Grundlage eines Kompensationsbetrags der Einlernposition kompensiert wird, die nach der Bestimmung des Kompensationsbetrags der Einlernposition bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition bestimmt wird, kann die von dem Belohnungsberechnungsabschnitt 112 berechnete Belohnung R positiv sein, zum Beispiel, wenn ein Eignungsbestimmungsergebnis des Betriebs des Roboters als „geeignet“ bestimmt wird (zum Beispiel wenn ein Störungswert von jedem der Motoren eines Roboters in einen zulässigen Bereich fällt oder wenn eine Einlernposition, in die sich der Roboter schließlich bewegt, in einen zulässigen Bereich fällt) oder kann negativ sein, zum Beispiel, wenn das Eignungsbestimmungsergebnis des Betriebs des Roboters als „ungeeignet“ bestimmt wird (zum Beispiel wenn ein Störungswert von jedem der Motoren des Roboters über den zulässigen Bereich hinausgeht oder wenn eine Einlernposition, in die sich der Roboter schließlich bewegt, über den zulässigen Bereich hinausgeht).
  • Die Absolutwerte der positiven und negativen Belohnungen R können bei der Bestimmung der Belohnungen R gleich oder verschieden sein. Außerdem können als Bestimmungsbedingungen eine Mehrzahl von in den Bestimmungsdaten D umfassten Werten miteinander kombiniert werden, um eine Bestimmung durchzuführen.
  • Außerdem kann ein Eignungsbestimmungsergebnis des Betriebs eines Roboters nicht nur „geeignete“ und „ungeeignete“ Ergebnisse, sondern auch eine Mehrzahl von Ergebnisebenen umfassen. Wenn beispielsweise ein Maximalwert innerhalb eines zulässigen Bereichs eines Störungswerts jedes der Motoren als Gmax angenommen wird, wird die Belohnung R = 5 vergeben, wenn der Störungswert V von jedem der Motoren des Roboters innerhalb von 0 ≤ V < Vmax/5 fällt, wird die Belohnung R = 2 vergeben, wenn der Störungswert innerhalb von Vmax/5 ≤ V < Vmax/2 fällt, und wird die Belohnung R = 1 vergeben, wenn der Störungswert V innerhalb von Vmax/2 ≤ V ≤ Vmax liegt. Außerdem kann Vmax in der Anfangsphase des Lernens relativ größer eingestellt werden und so eingestellt werden, dass er mit zunehmendem Lernfortschritt abnimmt.
  • Der Wertfunktion-Aktualisierungsabschnitt 114 kann eine Aktionswerttabelle aufweisen, in der die Zustandsgrößen S, die Bestimmungsdaten D und die Belohnungen R in Zuordnung zu den durch die Funktion Q ausgedrückten Aktionswerten (z.B. numerische Werte) organisiert sind. In diesem Fall ist die Aktion des Aktualisierens der Funktion Q mit dem Wertfunktion-Aktualisierungsabschnitt 114 gleichbedeutend mit der Aktion des Aktualisierens der Aktionswerttabelle mit dem Wertfunktion-Aktualisierungsabschnitt 114. Zu Beginn des Q-Lernens ist die Korrelation zwischen dem aktuellen Zustand einer Umwelt und einem Kompensationsbetrag einer Einlernposition bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition unbekannt. Daher werden in der Aktionswerttabelle verschiedene Arten der Zustandsgrößen S, die Bestimmungsdaten D und die Belohnungen R in Zuordnung zu Werten (Funktion Q) von zufällig festgelegten Aktionswerten aufbereitet. Es wird angemerkt, dass der Belohnungsberechnungsabschnitt 112 die Belohnungen R entsprechend den Bestimmungsdaten D sofort berechnen kann, wenn die Bestimmungsdaten D bekannt sind, und die Werte der berechneten Belohnungen R werden in die Aktionswerttabelle geschrieben.
  • Wenn das Q-Lernen unter Verwendung der Belohnung R, die einem Eignungsbestimmungsergebnis des Störungswerts von jedem der Motoren eines Roboters bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition entspricht, vorangetrieben wird, wird das Lernen darauf ausgerichtet, die Aktion des Erhaltens einer höheren Belohnung R auszuwählen. Dann werden Werte (Funktion Q) von Aktionswerten für eine in einem aktuellen Zustand ausgeführte Aktion erneut eingeschrieben, um die Aktionswerttabelle entsprechend dem Zustand einer Umwelt (d.h. den Zustandsgrößen S und den Bestimmungsdaten D), die sich ändert, zu aktualisieren, wenn die ausgewählte Aktion im aktuellen Zustand ausgeführt wird. Durch wiederholtes Ausführen der Aktualisierung werden die Werte (die Funktion Q) der in der Aktionswerttabelle angezeigten Aktionswerte erneut größer eingeschrieben, wenn eine Aktion geeigneter ist. So wird der Zusammenhang zwischen einem aktuellen Zustand (einem Störungswert von jedem der Motoren eines Roboters bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition) in einer unbekannten Umwelt und einer entsprechenden Aktion (Bestimmung eines Kompensationsbetrags der Einlernposition des Roboters) schrittweise offensichtlich. Das heißt, durch die Aktualisierung der Aktionswerttabelle wird das Verhältnis zwischen einem Störungswert von jedem der Motoren eines Roboters bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition und der Bestimmung eines Kompensationsbetrag der Einlernposition des Roboters schrittweise einer optimalen Lösung angenähert.
  • Der Ablauf des obigen Q-Lernens (d.h. die Ausführungsform eines maschinellen Lernverfahrens) durch den Lernabschnitt 110 wird mit Bezugnahme auf 4 näher beschrieben.
  • Zunächst wählt der Wertfunktion-Aktualisierungsabschnitt 114 in Schritt SA01 unter Bezugnahme auf eine Aktionswerttabelle zu diesem Zeitpunkt willkürlich einen Kompensationsbetrag einer Einlernposition eines Roboters als eine Aktion aus, die in einem aktuellen Zustand ausgeführt wird, der durch die Zustandsgrößen S angezeigt wird, die durch den Zustandsbeobachtungsabschnitt 106 beobachtet werden. Anschließend importiert der Wertfunktion-Aktualisierungsabschnitt 114 die Zustandsgröße S in dem durch den Zustandsbeobachtungsabschnitt 106 in Schritt SA02 beobachteten aktuellen Zustand und importiert die Bestimmungsdaten D in dem durch den Bestimmungsdaten-Erfassungsabschnitt 108 in Schritt SA03 erfassten aktuellen Zustand. In Schritt SA04 bestimmt dann der der Wertfunktion-Aktualisierungsabschnitt 114 basierend auf den Bestimmungsdaten D, ob der Kompensationsbetrag der Einlernposition des Roboters geeignet ist oder nicht. Wenn der Kompensationsbetrag geeignet ist, wendet der Wertfunktion-Aktualisierungsabschnitt 114 in Schritt SA04 eine durch den Belohnungsberechnungsabschnitt 112 berechnete positive Belohnung R auf die Aktualisierungsformel der Funktion Q an. Als nächstes aktualisiert in Schritt SA06 der Wertfunktion-Aktualisierungsabschnitt 114 die Aktionswerttabelle unter Verwendung der Zustandsgröße S und der Bestimmungsdaten D in dem aktuellen Zustand, der Belohnung R und einem Wert (aktualisierte Funktion Q) eines Aktionswertes. Wenn in Schritt SA04 bestimmt wird, dass der Kompensationsbetrag der Einlernposition des Roboters ungeeignet ist, wendet der Wertfunktion-Aktualisierungsabschnitt 114 in Schritt SA07 eine von dem Belohnungsberechnungsabschnitt 112 berechnete negative Belohnung R auf die Aktualisierungsformel der Funktion Q an. Im Schritt SA06 aktualisiert der Wertfunktion-Aktualisierungsabschnitt 114 dann die Aktionswerttabelle unter Verwendung der Zustandsgröße S und der Bestimmungsdaten D im aktuellen Zustand, der Belohnung R und des Werts (aktualisierte Funktion Q) des Aktionswertes. Der Lernabschnitt 110 aktualisiert die Aktionswerttabelle erneut, indem er wiederholt die obige Verarbeitung der Schritte SA01 bis SA07 durchführt und das Erlernen des Kompensationsbetrags der Einlernposition des Roboters vorantreibt. Es wird angemerkt, dass die Verarbeitung der Berechnung der Belohnungen R und die Verarbeitung der Aktualisierung der Wertfunktion in den Schritten SA04 bis SA07 für alle der in den Ermittlungsdaten D enthaltenen Daten durchgeführt werden.
  • Um das oben beschriebene Verstärkungslernen voranzutreiben, kann anstelle von beispielsweise dem Q-Lernen ein neuronales Netzwerk verwendet werden. 5A zeigt schematisch ein Neuronenmodell. 5B zeigt schematisch das Modell eines neuronalen Netzwerks mit drei Schichten, in denen die in 5A gezeigten Neuronen miteinander kombiniert sind. Das neuronale Netzwerk kann beispielsweise einem Neuronenmodell folgend durch eine Recheneinheit oder eine Speichereinheit konfiguriert werden.
  • Das in 5A dargestellte Neuron gibt ein Ergebnis y in Bezug auf eine Mehrzahl von Eingaben x aus (hier beispielsweise Eingaben x1 bis x3). Die Eingaben x1 bis x3 werden jeweils mit entsprechenden Gewichten w (w1 bis w3) multipliziert. Das Neuron gibt also das durch die folgende Formel 2 ausgedrückte Ergebnis y aus. Es wird angemerkt, dass in der folgenden Formel 2 eine Eingabe x, ein Ergebnis y und ein Gewicht w alle Vektoren sind. Zusätzlich drückt θ einen Bias aus und fk drückt eine Aktivierungsfunktion aus. y = f k ( i 1 n x i w i θ )
    Figure DE102018006946B4_0002
  • In dem neuronalen Netz mit den drei in 5B gezeigten Schichten werden eine Mehrzahl von Eingaben x (hier die Eingaben x1 bis x3 als Beispiel) von der linken Seite des neuronalen Netzwerks eingegeben und die Ergebnisse y (hier die Ergebnisse y1 bis y3 als Beispiel) von der rechten Seite des neuronalen Netzwerks ausgegeben. In dem in 5B gezeigten Beispiel werden die Eingaben x1 bis x3 mit entsprechenden Gewichten (insgesamt als w1 ausgedrückt) multipliziert und in drei Neuronen N11 bis N13 eingegeben.
  • In 5B werden die jeweiligen Ausgaben der Neuronen N11 bis N13 insgesamt als z1 ausgedrückt. Die Ausgaben z1 können als Merkmalsvektoren betrachtet werden, die durch Extraktion von Merkmalsgrößen der Eingabevektoren erhalten werden. In dem in 5B gezeigten Beispiel werden die jeweiligen Merkmalsvektoren z1 mit entsprechenden Gewichten (insgesamt als w2 ausgedrückt) multipliziert und entsprechend in zwei Neuronen N21 und N22 eingegeben. Die Merkmalsvektoren z1 drücken die Merkmale zwischen den Gewichten w1 und den Gewichten w2 aus.
  • In 5B werden die jeweiligen Ausgaben der Neuronen N21 und N22 insgesamt als z2 ausgedrückt. Die Ausgaben z2 können als Merkmalsvektoren betrachtet werden, die durch Extraktion von Merkmalsbeträgen der Merkmalsvektoren z1 erhalten werden. In dem in 5B gezeigten Beispiel werden die jeweiligen Merkmalsvektoren z2 mit entsprechenden Gewichten (insgesamt als w3 ausgedrückt) multipliziert und in drei Neuronen N31 bis N33 eingegeben. Die Merkmalsvektoren z2 drücken die Merkmale zwischen den Gewichten W2 und den Gewichten W3 aus. Schließlich geben die Neuronen N31 bis N33 die entsprechenden Ergebnisse y1 bis y3 aus.
  • Es wird angemerkt, dass es möglich ist, das sogenannte Deep Learning einzusetzen, bei dem ein neuronales Netzwerk, das drei oder mehr Schichten bildet, verwendet wird.
  • In der maschinellen Lernvorrichtung 100 der Steuerung 1 führt der Lernabschnitt 110 die Berechnung der Zustandsgrößen S und der Bestimmungsdaten D als Eingaben x in einer Mehrschichtstruktur gemäß dem obigen neuronalen Netzwerk durch, sodass der Lernabschnitt 110 einen Kompensationsbetrag (Ergebnis y) einer Einlernposition eines Roboters ausgeben kann. Außerdem verwendet der Lernabschnitt 110 in der maschinellen Lernvorrichtung 100 der Steuerung 1 ein neuronales Netzwerk als eine Wertfunktion beim verstärkenden Lernen und führt die Berechnung der Zustandsgrößen S und der Aktion a als Eingaben x in einer Mehrschichtstruktur gemäß dem obigen neuronalen Netz durch, sodass der Lernabschnitt 110 einen Wert (Ergebnis y) der Aktion in dem Zustand ausgeben kann. Es wird angemerkt, dass der Aktionsmodus des neuronalen Netzwerks einen Lernmodus und einen Wertevorhersagemodus umfasst. Beispielsweise ist es möglich, unter Verwendung eines Lerndatensatzes im Lernmodus ein Gewicht w zu lernen und mit dem gelernten Gewicht w im Wertevorhersagemodus einen Aktionswert zu bestimmen. Es wird angemerkt, dass Erkennung, Klassifizierung, Abzug oder ähnliches im Wertevorhersagemodus durchgeführt werden kann.
  • Die Konfiguration der obigen Steuerung 1 kann als ein durch den Prozessor 101 ausgeführtes maschinelles Lernverfahren (oder Software) beschrieben werden. Das maschinelle Lernverfahren ist ein Verfahren zum Erlernen eines Kompensationsbetrags der Einlernposition bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition. Das maschinelle Lernverfahren umfasst:
    • - einen Schritt des Beobachtens, durch die CPU eines Computers, von Einlernpositionskompensationsbetragsdaten S1, die einen Kompensationsbetrag einer Einlernposition bei der Steuerung des Roboters gemäß der in den Einlerndaten des Roboters enthaltenen Einlernposition anzeigen, und von Motorstörungswertdaten S2, die einen Störungswert von jedem der Motoren eines Roboters bei der Steuerung des Roboters gemäß der in den Einlerndaten des Roboters enthaltenen Einlernposition anzeigen, als Zustandsgrößen S, die den aktuellen Zustand einer Umwelt ausdrücken, in der der Roboter gesteuert wird;
    • - einen Schritt des Erfassens von Bestimmungsdaten D, die ein Eignungsbestimmungsergebnis des Störungswerts von jedem der Motoren des Roboters bei der Steuerung des Roboters gemäß der kompensierten Einlernposition anzeigen; und
    • - einen Schritt des Lernens der Motorstörungswertdaten S2 und des Kompensationsbetrags der Einlernposition des Roboters in Zuordnung zueinander unter Verwendung der Zustandsgrößen S und der Bestimmungsdaten D.
  • 6 zeigt eine Steuerung 2 gemäß einer zweiten Ausführungsform.
  • Die Steuerung 2 umfasst eine maschinelle Lernvorrichtung 120 und einen Zustandsdatenerfassungsabschnitt 3. Der Zustandsdatenerfassungsabschnitt 3 erlangt, als Zustandsdaten S0 von Zustandsgrößen S, die von einem Zustandsbeobachtungsabschnitt 106 beobachtet werden, Einlernpositionskompensationsbetragsdaten S1 und Motorstörungswertdaten S2. Die Zustandsdaten S0, die von dem Zustandsdatenerfassungsabschnitt 3 erlangt werden, können auch Einlernpositionsdaten S3 umfassen, die eine Einlernposition von Einlerndaten oder dergleichen umfassen.
  • Der Zustandsdatenerfassungsabschnitt 3 kann die Zustandsdaten S0 von jedem Abschnitt der Steuerung 2, von verschiedenen Sensoren einer Werkzeugmaschine, von geeigneten von einem Arbeiter eingegebenen Daten oder dergleichen erlangen.
  • Die maschinelle Lernvorrichtung 120 der Steuerung 2 umfasst neben Software (wie einen Lernalgorithmus) und Hardware (wie einen Prozessor 101) zum spontanen Erlernen eines Kompensationsbetrags einer Einlernposition bei der Steuerung des Roboters gemäß der in den Einlerndaten des Roboters enthaltenen Einlernposition durch maschinelles Lernen, Software (wie einen Berechnungsalgorithmus) und Hardware (wie einen Prozessor 101) zum Ausgeben des erlernten Kompensationsbetrags der Einlernposition bei der Steuerung des Roboters gemäß der in den Einlerndaten des Roboters enthaltenen Einlernposition als einen Befehl für die Steuerung 2. Die maschinelle Lernvorrichtung 120 der Steuerung 2 kann so konfiguriert werden, dass ein gemeinsamer Prozessor die gesamte Software, wie etwa einen Lernalgorithmus und einen Berechnungsalgorithmus, ausführt.
  • Ein Entscheidungsfindungsabschnitt 122 kann beispielsweise als eine der Funktionen des Prozessors 101 oder als in dem ROM 102 gespeicherte Software zum Betreiben des Prozessors 101 konfiguriert werden. Basierend auf einem Lernergebnis des Lernabschnitts 110 erzeugt und gibt der Entscheidungsfindungsabschnitt 122 einen Sollwert C aus, der einen Befehl zum Bestimmen eines Kompensationsbetrags einer Einlernposition eines Roboters bezüglich eines Störungswerts von jedem der Motoren des Roboters bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition umfasst. Wenn der Entscheidungsfindungsabschnitt 122 den Sollwert C an die Steuerung ausgibt, ändert sich der Zustand einer Umwelt entsprechend.
  • Der Zustandsbeobachtungsabschnitt 106 beobachtet in einem nächsten Lernzyklus Zustandsgrößen S, die sich nach der Ausgabe des Sollwerts C an eine Umwelt durch den Entscheidungsfindungsabschnitt 122 geändert haben. Der Lernabschnitt 110 aktualisiert beispielsweise eine Wertfunktion Q (das heißt, eine Aktionswerttabelle) unter Verwendung der geänderten Zustandsgrößen S, um einen Kompensationsbetrag einer Einlernposition bei der Steuerung eines Roboters gemäß der in den Einlerndaten eines Roboters enthaltenen Einlernposition zu lernen. Es wird angemerkt, dass der Zustandsbeobachtungsabschnitt 106 die Einlernpositionskompensationsbetragsdaten S1 aus einem RAM 103 der maschinellen Lernvorrichtung 120, wie in der ersten Ausführungsform beschrieben, erlangen kann, anstatt sie aus den durch den Zustandsdaten-Erfassungsabschnitt 3 erfassten Zustandsdaten S0 zu erfassen.
  • Auf Grundlage eines erlernten Kompensationsbetrags einer Einlernposition bei der Steuerung eines Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition gibt der Entscheidungsfindungsabschnitt 122 den Sollwert C gemäß den Zustandsgrößen an die Steuerung 2 S aus.
  • Durch wiederholtes Ausführen des Lernzyklus' treibt die maschinelle Lernvorrichtung 120 das Lernen eines Kompensationsbetrags einer Einlernposition bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition voran und verbessert zunehmend die Zuverlässigkeit des Kompensationsbetrags der Einlernposition bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition, die von der maschinellen Lernvorrichtung 120 selber bestimmt werden.
  • Die maschinelle Lernvorrichtung 120 der Steuerung 2 mit der obigen Konfiguration erzeugt die gleiche Wirkung wie die oben beschriebene maschinelle Lernvorrichtung 100. Insbesondere kann die maschinelle Lernvorrichtung 120 mit der Ausgabe des Entscheidungsfindungsabschnitts 122 den Zustand einer Umwelt verändern. Andererseits kann die maschinelle Lernvorrichtung 100 ein externes Gerät nach einer Funktion fragen, die dem Entscheidungsfindungsabschnitt entspricht, um Lernergebnisse des Lernabschnitts 110 in einer Umwelt wiederzugeben.
  • 7 zeigt ein System 170, das Roboter 160 gemäß einer Ausführungsform umfasst.
  • Das System 170 umfasst eine Mehrzahl von Robotern 160 und 160', die mindestens den gleichen Betriebsvorgang ausführen, und ein drahtgebundenes/drahtloses Netzwerk 172, das die Roboter 160 und 160' miteinander verbindet. Mindestens einer der Mehrzahl von Robotern 160 ist als Roboter 160 mit der obigen Steuerung 2 konfiguriert. Außerdem kann das System 170 Roboter 160' aufweisen, die die Steuerung 2 nicht umfassen. Die Roboter 160 und 160' haben einen Mechanismus, der zum Durchführen eines Betriebsvorgangs für den gleichen Zweck benötigt wird, ohne sich auf eine Berechnung oder Schätzung zu verlassen.
  • In dem System 170 mit der obigen Konfiguration können die die Steuerung 2 umfassenden Roboter 160 von der Mehrzahl von Robotern 160 und 160' automatisch und genau einen Kompensationsbetrag einer Einlernposition eines Roboters bezüglich eines Störungswerts von jedem der Motoren des Roboters bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition unter Verwendung der Lernergebnisse des Lernabschnitts 110 berechnen, ohne sich auf eine Berechnung oder Schätzung zu verlassen. Außerdem kann die Steuerung 2 von mindestens einem der Roboter 160 basierend auf den für jeden der anderen Roboter 160 und 160' erhaltenen Zustandsgrößen S und Bestimmungsdaten D einen Kompensationsbetrag einer Einlernposition bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition, der allen Robotern 160 und 160' gemeinsam ist, lernen, sodass die Lernergebnisse zwischen allen Robotern 160 und 160' geteilt werden. Dementsprechend ermöglicht das System 170, die Geschwindigkeit und die Zuverlässigkeit des Erlernens eines Kompensationsbetrags einer Einlernposition bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition mit einem breiteren Spektrum von Datensätzen (die Zustandsgrößen S und Bestimmungsdaten D enthalten) als Eingaben zu verbessern.
  • 8 zeigt ein System 170' mit einer Mehrzahl von Robotern 160' gemäß einer weiteren Ausführungsform.
  • Das System 170' umfasst die maschinelle Lernvorrichtung 120 (oder 100), die Mehrzahl von Roboter 160' mit der gleichen Maschinenkonfiguration und ein drahtgebundenes/drahtloses Netzwerk 172, das die Roboter 160' und die maschinelle Lernvorrichtung 120 (oder 100) miteinander verbindet.
  • In dem System 170' mit der obigen Konfiguration kann die maschinelle Lernvorrichtung 120 (oder 100) einen Kompensationsbetrag einer Einlernposition eines Roboters bezüglich eines Störungswerts von jedem der Motoren des Roboters bei der Steuerung des Roboters gemäß der in den Einlerndaten enthaltenen Einlernposition, die allen Robotern 160' gemeinsam ist, basierend auf Zustandsgrößen'S und Bestimmungsdaten D, die für jeden der mehreren Roboter 160' erhalten wurden, lernen und automatisch und genau den Kompensationsbetrag der Einlernposition des Roboters in Bezug auf den Störungswert eines jeden der Motoren des Roboters bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition unter Verwendung der Lernergebnisse berechnen.
  • In dem System 170' kann die maschinelle Lernvorrichtung 120 (oder 100) eine Konfiguration aufweisen, die in einem Cloud-Server oder dergleichen im Netzwerk 172 vorhanden ist. Gemäß der Konfiguration kann eine gewünschte Anzahl der Roboter 160' mit der maschinellen Lernvorrichtung 120 (oder 100) verbunden werden, unabhängig von den vorhandenen Standorten und den Zeiten der Mehrzahl von Robotern 160'.
  • Arbeiter, die in die Systeme 170 und 170' eingreifen, können eine Bestimmung dazu durchführen, ob der Erreichungsgrad (die Zuverlässigkeit des Kompensationsbetrags der Einlernposition bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition) des Erlernens eines Kompensationsbetrags einer Einlernposition eines Roboters bei der Steuerung des Roboters gemäß einer in den Einlerndaten des Roboters enthaltenen Einlernposition mit der maschinellen Lernvorrichtung 120 (oder 100) durch die maschinelle Lernvorrichtung 120 (oder 100) ein erforderliches Niveau zu einer geeigneter Zeit nach dem Beginn des Lernens erreicht hat.
  • Die Ausführungsformen der vorliegenden Erfindung sind oben beschrieben. Die vorliegende Erfindung ist jedoch nicht auf die Beispiele der oben genannten Ausführungsformen beschränkt und kann in verschiedenen Modi durch Hinzufügen von geeigneten Modifikationen durchgeführt werden.
  • Beispielsweise sind ein durch die maschinellen Lernvorrichtungen 100 und 120 ausgeführter Lernalgorithmus, ein durch die maschinelle Lernvorrichtung 120 ausgeführter Berechnungsalgorithmus und ein durch die Steuerungen 1 und 2 ausgeführter Steuerungsalgorithmus nicht auf die oben genannten Algorithmen beschränkt, sondern es können verschiedene Algorithmen eingesetzt werden.
  • Außerdem beschreiben die obigen Ausführungsformen eine Konfiguration, bei der die Steuerung 1 (oder 2) und die maschinelle Lernvorrichtung 100 (oder 120) eine unterschiedliche CPU aufweisen. Die maschinelle Lernvorrichtung 100 (oder 120) kann jedoch durch die CPU 11 der Steuerung 1 (oder 2) und einem in dem ROM 12 gespeicherten Systemprogramm realisiert werden.
  • Außerdem beschreiben die vorstehend beschriebenen Ausführungsformen eine Konfiguration, in der die Steuerung 2 einen Kompensationsbetrag einer Einlernposition bei der Steuerung des Roboters gemäß der in den Einlerndaten des Roboters enthaltenen Einlernposition auf Grundlage des Sollwerts C steuert, der von der maschinellen Lernvorrichtung 120 ausgegeben wird. Der Sollwert C, der von der maschinellen Lernvorrichtung 120 ausgegeben wird, kann jedoch auf der Anzeigevorrichtung eines Programmierhandgeräts als ein Bezugswert angezeigt werden, wenn ein Arbeiter das Lernen ausführt.

Claims (8)

  1. Steuerung (1; 2), die einen Kompensationsbetrag einer Einlernposition bei der Steuerung eines Roboters (160; 160') gemäß der in den Einlerndaten enthaltenen Einlernposition bestimmt, wobei die Steuerung (1; 2) umfasst: eine maschinelle Lernvorrichtung (100; 120), die einen Kompensationsbetrag der Einlernposition bei der Steuerung des Roboters (160; 160') gemäß der Einlernposition lernt, wobei die maschinelle Lernvorrichtung (100; 120) umfasst: einen Zustandsbeobachtungsabschnitt (106), der als Zustandsgrößen, die einen aktuellen Zustand einer Umwelt ausdrücken, Einlernpositionskompensationsbetragsdaten, die den Kompensationsbetrag der Einlernposition bei der Steuerung des Roboters (160; 160') gemäß der Einlernposition anzeigen, Motorstörungswertdaten, die einen Störungswert von jedem der Motoren (50) des Roboters (160; 160') bei der Steuerung des Roboters (106; 160) anzeigen, und Einlernpositionsdaten beobachtet, die als die Zustandsgrößen die Einlernposition der Einlerndaten umfassen, einen Bestimmungsdaten-Erfassungsabschnitt (108), der Bestimmungsdaten erlangt, die ein Eignungsbestimmungsergebnis des Störungswertes von jedem der Motoren (50) des Roboters (160; 160') bei der Steuerung des Roboters (160; 160') anzeigen, und einen Lernabschnitt (110), der den Kompensationsbetrag der Einlernposition des Roboters (160; 160') in Zuordnung zu den Motorstörungswertdaten und der Einlernposition unter Verwendung der Zustandsgrößen und der Bestimmungsdaten lernt.
  2. Steuerung (1; 2) nach Anspruch 1, wobei die Bestimmungsdaten, außer einem Eignungsbestimmungsergebnis des Störungswertes von jedem der Motoren (50) des Roboters (160; 160') bei der Steuerung des Roboters (160; 160'), mindestens eines von einem Eignungsbestimmungsergebnis einer Einlernposition, in die sich der Roboter (160; 160') schließlich bewegt, einem Eignungsbestimmungsergebnis eines von einem Sensor erfassten Wertes und einem Eignungsbestimmungsergebnis von Zykluszeit bei der Steuerung des Roboters (160; 160') gemäß der Einlernposition nach der Kompensation umfassen.
  3. Steuerung (1; 2) nach Anspruch 1 oder 2, wobei der Lernabschnitt (110) einen Belohnungsberechnungsabschnitt (112), der eine Belohnung in Zuordnung zu dem Eignungsbestimmungsergebnis berechnet, und einen Wertfunktion-Aktualisierungsabschnitt (114), der unter Verwendung der Belohnung eine Funktion aktualisiert, die einen Wert des Kompensationsbetrags der Einlernposition relativ zu dem Störungswert von jedem der Motoren (50) des Roboters (160; 160') bei der Steuerung des Roboters (160; 160') ausdrückt, hat.
  4. Steuerung (1; 2) nach einem der Ansprüche 1 bis 3, wobei der Lernabschnitt (110) eine Berechnung der Zustandsgrößen und der Bestimmungsdaten auf Grundlage einer mehrschichtigen Struktur durchführt.
  5. Steuerung (1; 2) nach einem der Ansprüche 1 bis 4, die ferner umfasst: einen Entscheidungsfindungsabschnitt (122), der einen Sollwert auf Grundlage des Kompensationsbetrags der Einlernposition bei der Steuerung des Roboters (160; 160') gemäß der Einlernposition auf Grundlage eines Lernergebnisses des Lernabschnitts (110) ausgibt.
  6. Steuerung nach einem der Ansprüche 1 bis 5, wobei der Lernabschnitt (110) den Kompensationsbetrag der Einlernposition bei der Steuerung des Roboters (160; 160') gemäß der Einlernposition in jedem von einer Mehrzahl von Robotern (160, 160') unter Verwendung der für jeden der Mehrzahl von Robotern (160, 160') erlangten Zustandsgrößen und Bestimmungsdaten lernt.
  7. Steuerung nach einem der Ansprüche 1 bis 6, wobei die maschinelle Lernvorrichtung (100; 120) in einem Cloud-Server vorhanden ist.
  8. Maschinelle Lernvorrichtung (100; 120), die einen Kompensationsbetrag einer Einlernposition bei der Steuerung eines Roboters (160; 160') gemäß der Einlernposition, die in den Einlerndaten enthalten ist, lernt, wobei die maschinelle Lernvorrichtung (100; 120) umfasst: einen Zustandsbeobachtungsabschnitt (106), der als Zustandsgrößen, die einen aktuellen Zustand einer Umwelt ausdrücken, Einlernpositionskompensationsbetragsdaten, die den Kompensationsbetrag der Einlernposition bei der Steuerung des Roboters (160; 160') gemäß der Einlernposition anzeigen, Motorstörungswertdaten, die einen Störungswert von jedem der Motoren (50) des Roboters (160; 160') bei der Steuerung des Roboters (160; 160') anzeigen, und Einlernpositionsdaten beobachtet, die als die Zustandsgrößen die Einlernposition der Einlerndaten umfassen; einen Bestimmungsdaten-Erfassungsabschnitt (108), der Bestimmungsdaten erlangt, die ein Eignungsbestimmungsergebnis des Störungswertes von jedem der Motoren (50) des Roboters (160; 160') bei der Steuerung des Roboters (160; 160') anzeigen; und einen Lernabschnitt (110), der den Kompensationsbetrag der Einlernposition des Roboters (160; 160') in Zuordnung zu den Motorstörungswertdaten und der Einlernposition durch Verwendung der Zustandsgrößen und der Bestimmungsdaten lernt.
DE102018006946.0A 2017-06-07 2018-08-30 Steuerung und maschinelle Lernvorrichtung Active DE102018006946B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017112191A JP6542839B2 (ja) 2017-06-07 2017-06-07 制御装置及び機械学習装置
JP2017-112191 2017-06-07

Publications (2)

Publication Number Publication Date
DE102018006946A1 DE102018006946A1 (de) 2018-12-13
DE102018006946B4 true DE102018006946B4 (de) 2020-10-08

Family

ID=64334632

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018006946.0A Active DE102018006946B4 (de) 2017-06-07 2018-08-30 Steuerung und maschinelle Lernvorrichtung

Country Status (4)

Country Link
US (1) US10668619B2 (de)
JP (1) JP6542839B2 (de)
CN (1) CN109002012B (de)
DE (1) DE102018006946B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021124215A1 (de) 2021-09-20 2023-03-23 linrob GmbH Verfahren zur Kompensation von Positionierungsungenauigkeiten eines Linearroboters und Linearroboter

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6646025B2 (ja) * 2017-09-15 2020-02-14 ファナック株式会社 制御装置及び機械学習装置
CN111670094B (zh) * 2018-02-01 2022-12-06 本田技研工业株式会社 机器人系统和机器人的控制方法
JP6703020B2 (ja) * 2018-02-09 2020-06-03 ファナック株式会社 制御装置及び機械学習装置
WO2019163116A1 (ja) 2018-02-26 2019-08-29 三菱電機株式会社 補正関数生成装置、ロボット制御システム及びロボットシステム
JP6751790B1 (ja) * 2019-03-15 2020-09-09 Dmg森精機株式会社 工作機械の切り屑処理装置及び切り屑処理方法
DE112019006917B4 (de) * 2019-03-28 2023-07-06 Mitsubishi Electric Corporation Numerische Steuerung und Maschinenlernvorrichtung
CN109870162B (zh) * 2019-04-04 2020-10-30 北京航空航天大学 一种基于竞争深度学习网络的无人机飞行路径规划方法
JP7331660B2 (ja) 2019-11-26 2023-08-23 横河電機株式会社 装置、方法およびプログラム
EP3839443B1 (de) * 2019-12-16 2022-06-08 Sick Ag Gebervorrichtung und verfahren zur bestimmung einer kinematischen grösse
DE102020200165B4 (de) * 2020-01-09 2022-05-19 Robert Bosch Gesellschaft mit beschränkter Haftung Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters
US11586983B2 (en) 2020-03-02 2023-02-21 Nxp B.V. Data processing system and method for acquiring data for training a machine learning model for use in monitoring the data processing system for anomalies
JP2021174259A (ja) 2020-04-24 2021-11-01 横河電機株式会社 制御装置、制御方法および制御プログラム
US11685047B2 (en) 2020-05-21 2023-06-27 Intrinsic Innovation Llc Skill template distribution for robotic demonstration learning
US11534913B2 (en) 2020-05-21 2022-12-27 Intrinsic Innovation Llc Integrating sensor streams for robotic demonstration learning
US11524402B2 (en) 2020-05-21 2022-12-13 Intrinsic Innovation Llc User feedback for robotic demonstration learning
US11472025B2 (en) 2020-05-21 2022-10-18 Intrinsic Innovation Llc Robotic demonstration learning device
US11679497B2 (en) 2020-05-21 2023-06-20 Intrinsic Innovation Llc Distributed robotic demonstration learning
US11820014B2 (en) 2020-05-21 2023-11-21 Intrinsic Innovation Llc Simulated local demonstration data for robotic demonstration learning
DE102020206913B4 (de) 2020-06-03 2022-12-22 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Betreiben eines Roboters
JP7359176B2 (ja) 2021-03-03 2023-10-11 横河電機株式会社 判定装置、判定方法、および、判定プログラム
JP7363839B2 (ja) 2021-03-09 2023-10-18 横河電機株式会社 制御装置、制御方法、および、制御プログラム
JP7359178B2 (ja) 2021-03-10 2023-10-11 横河電機株式会社 制御装置、制御方法、および、制御プログラム
JP7409343B2 (ja) 2021-03-17 2024-01-09 横河電機株式会社 コントローラ、制御方法及び制御プログラム
JP2023023455A (ja) 2021-08-05 2023-02-16 横河電機株式会社 学習装置、学習方法、および、学習プログラム、並びに、制御装置
DE102021126188A1 (de) 2021-10-08 2023-04-13 Dürr Systems Ag Überwachungsverfahren für einen Roboter und zugehörige Roboteranlage

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06284886A (ja) * 1993-04-01 1994-10-11 Amano Pharmaceut Co Ltd 酵素の溶液中での安定化方法
DE69925204T2 (de) * 1998-07-09 2006-03-09 Fanuc Ltd. Robotersteuerung
DE102016009113A1 (de) * 2015-07-31 2017-02-02 Fanuc Corporation Maschinelle Lernvorrichtung, Robotercontroller, Robotersystem und maschinelles Lernverfahren zum Lernen des Handlungsmusters einer Person
DE102016009030A1 (de) * 2015-07-31 2017-02-02 Fanuc Corporation Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
DE102016008987A1 (de) * 2015-07-31 2017-02-02 Fanuc Corporation Maschinenlernverfahren und Maschinenlernvorrichtung zum Lernen von Fehlerbedingungen, und Fehlervorhersagevorrichtung und Fehlervorhersagesystem, das die Maschinenlernvorrichtung einschließt
DE102016014155A1 (de) * 2015-12-04 2017-06-08 Fanuc Corporation Kombiniertes System mit Werkzeugmaschine und Roboter
DE112016005365T5 (de) * 2015-11-24 2018-08-09 Kawasaki Jukogyo Kabushiki Kaisha Direktes Lehrverfahren eines Roboters

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6284886A (ja) 1985-10-09 1987-04-18 Kawasaki Steel Corp 耐食性および耐中性子照射脆化特性に優れる肉盛金属を得るためのエレクトロスラグ肉盛溶接法
JPH02284886A (ja) 1989-04-27 1990-11-22 Nissan Motor Co Ltd ワーク位置決め装置の位置教示補正方法
JPH09258814A (ja) * 1996-03-22 1997-10-03 Kayaba Ind Co Ltd 組み立てロボットの位置決め制御装置及び位置決め制御方法
JPH09319420A (ja) * 1996-05-31 1997-12-12 Ricoh Co Ltd 組立ロボット
JP4174517B2 (ja) * 2006-03-13 2008-11-05 ファナック株式会社 教示位置修正装置および教示位置修正方法
EP2189253A4 (de) 2007-09-14 2011-08-10 Yaskawa Denki Seisakusho Kk Leistungssteuerungsverfahren für einen roboter, steuervorrichtung und robotersystem
US8886359B2 (en) * 2011-05-17 2014-11-11 Fanuc Corporation Robot and spot welding robot with learning control function
JP2014167681A (ja) * 2013-02-28 2014-09-11 Fanuc Ltd 着脱可能な操作盤を備えた制御システム
JP5785284B2 (ja) * 2014-02-17 2015-09-24 ファナック株式会社 搬送対象物の落下事故を防止するロボットシステム
JP5946859B2 (ja) * 2014-04-14 2016-07-06 ファナック株式会社 力に応じて動かすロボットのロボット制御装置およびロボットシステム
JP5890477B2 (ja) * 2014-07-09 2016-03-22 ファナック株式会社 ロボットプログラム修正システム
JP5905537B2 (ja) * 2014-07-30 2016-04-20 ファナック株式会社 教示操作盤が着脱可能なロボット制御装置
JP6460690B2 (ja) 2014-09-16 2019-01-30 キヤノン株式会社 ロボット装置、ロボット制御方法、プログラム及び記録媒体
JP6081981B2 (ja) * 2014-12-19 2017-02-15 ファナック株式会社 教示プログラムの自動表示手段を備える数値制御装置
JP6166305B2 (ja) * 2015-05-08 2017-07-19 ファナック株式会社 負荷パラメータ設定装置および負荷パラメータ設定方法
JP6522488B2 (ja) * 2015-07-31 2019-05-29 ファナック株式会社 ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法
JP6154444B2 (ja) * 2015-08-27 2017-06-28 ファナック株式会社 複数のティーチング装置からロボットを操作するロボットシステム
JP6333790B2 (ja) * 2015-10-21 2018-05-30 ファナック株式会社 ネットワークを介して接続された複数の制御装置を備えるロボットシステム
JP6328599B2 (ja) * 2015-11-20 2018-05-23 ファナック株式会社 ロボットの動作可能範囲を算出するロボットの手動送り装置
DE102017000063B4 (de) * 2016-01-14 2019-10-31 Fanuc Corporation Robotereinrichtung mit Lernfunktion
JP6309990B2 (ja) * 2016-03-24 2018-04-11 ファナック株式会社 複数の機構ユニットにより構成されたロボットを制御するロボットシステム、該機構ユニット、およびロボット制御装置
JP6360105B2 (ja) * 2016-06-13 2018-07-18 ファナック株式会社 ロボットシステム
JP6457441B2 (ja) * 2016-07-12 2019-01-23 ファナック株式会社 ロボットの重心表示装置、ロボット制御装置およびロボットシミュレーション装置
JP6392825B2 (ja) * 2016-11-01 2018-09-19 ファナック株式会社 学習制御機能を備えたロボット制御装置
JP6506245B2 (ja) 2016-12-26 2019-04-24 ファナック株式会社 組付動作を学習する機械学習装置および部品組付システム
JP6438512B2 (ja) * 2017-03-13 2018-12-12 ファナック株式会社 機械学習により補正した計測データでワークの取り出しを行うロボットシステム、計測データ処理装置および計測データ処理方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06284886A (ja) * 1993-04-01 1994-10-11 Amano Pharmaceut Co Ltd 酵素の溶液中での安定化方法
DE69925204T2 (de) * 1998-07-09 2006-03-09 Fanuc Ltd. Robotersteuerung
DE102016009113A1 (de) * 2015-07-31 2017-02-02 Fanuc Corporation Maschinelle Lernvorrichtung, Robotercontroller, Robotersystem und maschinelles Lernverfahren zum Lernen des Handlungsmusters einer Person
DE102016009030A1 (de) * 2015-07-31 2017-02-02 Fanuc Corporation Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
DE102016008987A1 (de) * 2015-07-31 2017-02-02 Fanuc Corporation Maschinenlernverfahren und Maschinenlernvorrichtung zum Lernen von Fehlerbedingungen, und Fehlervorhersagevorrichtung und Fehlervorhersagesystem, das die Maschinenlernvorrichtung einschließt
DE112016005365T5 (de) * 2015-11-24 2018-08-09 Kawasaki Jukogyo Kabushiki Kaisha Direktes Lehrverfahren eines Roboters
DE102016014155A1 (de) * 2015-12-04 2017-06-08 Fanuc Corporation Kombiniertes System mit Werkzeugmaschine und Roboter

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021124215A1 (de) 2021-09-20 2023-03-23 linrob GmbH Verfahren zur Kompensation von Positionierungsungenauigkeiten eines Linearroboters und Linearroboter

Also Published As

Publication number Publication date
DE102018006946A1 (de) 2018-12-13
US10668619B2 (en) 2020-06-02
CN109002012A (zh) 2018-12-14
US20180354125A1 (en) 2018-12-13
CN109002012B (zh) 2020-05-29
JP6542839B2 (ja) 2019-07-10
JP2018202564A (ja) 2018-12-27

Similar Documents

Publication Publication Date Title
DE102018006946B4 (de) Steuerung und maschinelle Lernvorrichtung
DE102018004330B4 (de) Steuerung und maschinelle Lernvorrichtung
DE102019002065B4 (de) Maschinelle Lernvorrichtung, Robotersteuervorrichtung und Robotervisionssystem, das eine maschinelle Lernvorrichtung verwendet, und maschinelles Lernverfahren
DE102016011532B4 (de) Maschinenlernvorrichtung und Maschinenlernverfahren zum Optimieren der Häufigkeit einer Werkzeugkorrektur einer Werkzeugmaschine und Werkzeugmaschine mit der Maschinenlernvorrichtung
DE102016011528B4 (de) Maschinelle Lernvorrichtung zur Optimierung der Zyklusprozesszeit einer Bearbeitungsmaschine, Motorsteuervorrichtung, Bearbeitungsmaschine und maschinelles Lernverfahren
DE102016009030B4 (de) Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
DE102016010064B4 (de) Numerische Steuerung mit Bearbeitungsbedingungsanpassungsfunktion zum Verringern des Auftretens von Rattern oder Werkzeugverschleiss/-bruch
DE102016015873B3 (de) Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
DE102018004048B4 (de) Steuerung und Maschinenlernvorrichtung
DE102018001893B4 (de) Reinigungsprozess-Optimierungsvorrichtung und Maschinenlernvorrichtung
DE102018010054A1 (de) Steuerung und maschinelle Lernvorrichtung
DE102017002607B4 (de) Bearbeitungsmaschinensystem, das über die Akzeptanz/Verwerfung von Werkstücken bestimmt
DE102018006024A1 (de) Controller und maschinelle Lernvorrichtung
DE102019002156A1 (de) Steuergerät und maschinelle Lernvorrichtung
DE102018005199B4 (de) Bauteilzuführvorrichtung und maschinelle lernvorrichtung
DE102018010086A1 (de) Spanabführvorrichtung und Informationsverarbeitungsvorrichtung
DE102019001783A1 (de) Steuerung, maschinelle lernvorrichtung und system
DE102016008994A1 (de) Werkzeugmaschine, simulationsvorrichtung und maschineneinlerngerät
DE102018000342A1 (de) Numerische steuerung und maschinelle lernvorrichtung
DE102020100316A1 (de) Bestimmungsgerät
DE102019106729A1 (de) Antriebsvorrichtung und Vorrichtung für maschinelles Lernen
DE102020106239A1 (de) Greifkrafteinstellvorrichtung und greifkrafteinstellsystem
DE102019001044A1 (de) Steuervorrichtung und maschinelle lernvorrichtung
DE102017000287A1 (de) Zellensteuerung und produktionssystem zum verwalten der arbeitssituation einer vielzahl von fertigungsmaschinen in einer fertigungszelle
DE102018126434B4 (de) Testvorrichtung und Maschinenlernvorrichtung

Legal Events

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