DE112018005832T5 - Bewegungseinstellungsvorrichtung für roboter, bewegungssteuerungssystem und robotersystem - Google Patents

Bewegungseinstellungsvorrichtung für roboter, bewegungssteuerungssystem und robotersystem Download PDF

Info

Publication number
DE112018005832T5
DE112018005832T5 DE112018005832.8T DE112018005832T DE112018005832T5 DE 112018005832 T5 DE112018005832 T5 DE 112018005832T5 DE 112018005832 T DE112018005832 T DE 112018005832T DE 112018005832 T5 DE112018005832 T5 DE 112018005832T5
Authority
DE
Germany
Prior art keywords
robot
command value
motion
work
movement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE112018005832.8T
Other languages
English (en)
Other versions
DE112018005832B4 (de
Inventor
Koji Shiratsuchi
Takashi NAMMOTO
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 DE112018005832T5 publication Critical patent/DE112018005832T5/de
Application granted granted Critical
Publication of DE112018005832B4 publication Critical patent/DE112018005832B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/085Force or torque sensors
    • 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
    • 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/39529Force, torque sensor in wrist, end effector

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

Die Bewegung eines Roboters wird so eingestellt, dass keine übermäßige Last auf ein Arbeitsziel wirkt, und die Einstellung ist erleichtert. Eine Robotersteuerungsvorrichtung (111) überträgt einen Bewegungs-Befehlswert an einen Roboter (120) und veranlasst den Roboter (120), der mit einem Endeffektor (130) ausgestattet ist, einen Arbeitsversuch an einem Arbeitsziel (200) durchzuführen. Ein externer Sensor (142) detektiert die Kraft, die aufgrund des Versuchs auf den Endeffektor (130) ausgeübt wird. Eine Bewegungseinstellungsvorrichtung (112) führt unter Verwendung des Detektionsergebnisses des externen Sensors (142) Lernen durch, um den von der Robotersteuerungsvorrichtung (111) erfassten Bewegungs-Befehlswert einzustellen und zu aktualisieren.

Description

  • GEBIET
  • Die vorliegende Erfindung bezieht sich auf einen Industrieroboter, einen Serviceroboter für die nicht-verarbeitende Industrie und dergleichen. Insbesondere bezieht sich die vorliegende Erfindung auf eine Bewegungseinstellungsvorrichtung sowie ein Bewegungssteuerungssystem, die Bewegungen eines Roboters einstellen, sodass der an dem Roboter angebrachte Endeffektor dazu veranlasst wird, seine Zielposition und -ausrichtung zu erreichen, und sie bezieht sich auf ein Robotersystem, das die Bewegungseinstellungsvorrichtung und das Bewegungssteuerungssystem aufweist.
  • HINTERGRUND
  • Viele Systemkonfigurationen für konventionelle Industrierobotersysteme positionieren die Positionsbeziehung zwischen dem Roboter und dem Arbeitsziel so präzise, dass der Roboter seine Arbeit mit hoher Geschwindigkeit und hoher Genauigkeit in der Umgebung wiederholt, in der der Roboter positioniert ist. Im Gegensatz dazu wurden in den vergangenen Jahren Robotersysteme eingeführt, die eine Vielzahl von externen Sensoren verwenden, wie etwa Kraftsensoren oder Vision-Sensoren. Derartige Robotersysteme werden in einer Umgebung verwendet, in der der Roboter und das Arbeitsziel nicht präzise positioniert sind, und steuern die Roboterbewegungen entsprechend den Detektionsergebnissen der externen Sensoren.
  • Ein derartiges Robotersystem wird beispielsweise in einer Situation verwendet, in der die Position und Ausrichtung eines Arbeitsziel-Objekts oder die umgebende Umwelt bzw. Umgebung unbekannt sind. Als ein weiteres Beispiel wird ein derartiges Robotersystem in einer Situation verwendet, in der die Position und Ausrichtung eines Arbeitsziel-Objekts oder der Umgebung sich ändern können. Spezifische Beispiele sind Bin-Picking-Arbeiten, Einsetz- bzw. Einfüge-Arbeiten einschließlich Oberflächenkopier-Vorgängen sowie Montagearbeiten für Komponenten wie etwa Verbindern. Auf dem Gebiet der Serviceroboter für nicht-verarbeitende Industrien soll Arbeit in einer Umgebung durchgeführt werden, die sich vielfältig ändert; gleichermaßen wird die Bewegung des Roboters unter Verwendung einer Vielzahl von Sensoren gesteuert.
  • Bei einem Robotersteuerungssystem, das diese Sensoren verwendet, muss eine Vielzahl von Parametern eingestellt werden, um die Bewegung des Roboters einzustellen. Eine geeignete Einstellung der Steuerungsparameter ermöglicht eine zweckmäßige Bewegung des Roboters, wodurch die Performance des Robotersystems sichergestellt wird. Die Einstellung der Steuerungsparameter ist jedoch nicht einfach und verlangt oftmals Fachwissen. Daher wurden, um die Einstellung von Steuerungsparametern zu vereinfachen, einige automatische Einstellungsmittel bzw. -methoden vorgeschlagen. Patentliteratur 1 beispielsweise offenbart ein Robotersystem, das die Bewegungen des Roboters mittels Lernen beschleunigt.
  • PATENTLITERATUR
  • Patentliteratur 1: JP 2017-94438 A
  • ZUSAMMENFASSUNG
  • TECHNISCHES PROBLEM
  • Bei konventionellen Robotersystemen wird das Ausmaß der Last, die aufgrund der Bewegung des Roboters auf das Arbeitsziel wirkt, beim Lernen nicht berücksichtigt. Daher kann es bei der Bewegung des Roboters, die mittels Lernen ermittelt wird, vorkommen, dass die Last, die auf das Arbeitsziel wirkt, kein angemessenes Ausmaß aufweist, was zu einer übermäßigen Last auf dem Arbeitsziel führt. Eine Aufgabe der vorliegenden Erfindung besteht darin, eine Bewegungseinstellungsvorrichtung, ein Bewegungssteuerungssystem und ein Robotersystem zu erzielen, die die Bewegungen eines Roboters derart einstellen können, dass auf das Arbeitsziel keine übermäßige Last ausgeübt wird, und die die Einstellung der Bewegungen des Roboters vereinfachen können.
  • LÖSUNG DES PROBLEMS
  • Eine Roboter-Bewegungseinstellungsvorrichtung gemäß der vorliegenden Erfindung wird in einem Robotersystem verwendet, das Folgendes aufweist: einen Roboter, der mit einem Endeffektor ausgestattet ist; und eine Robotersteuerungsvorrichtung, die eine Bewegung des Roboters steuert, wobei der Roboter derart konfiguriert ist, dass er in dem Robotersystem eine Arbeit an einem Arbeitsziel ausführt, wobei die Bewegungseinstellungsvorrichtung eine Befehlswert-Lerneinheit aufweist, die einen Bewegungs-Befehlswert einstellt, der zur Steuerung der Bewegung des Roboters von der Robotersteuerungsvorrichtung an den Roboter übertragen wird, indem Lernen unter Verwendung von einer Kraft als Input durchgeführt wird, die auf den Endeffektor wirkt und die von einem externen Sensor detektiert wird.
  • Ein Bewegungssteuerungssystem gemäß der vorliegenden Erfindung wird in einem Robotersystem verwendet, bei dem ein Roboter, der mit einem Endeffektor ausgestattet ist, Arbeit an einem Arbeitsziel durchführt, wobei das Bewegungssteuerungssystem Folgendes aufweist: eine Robotersteuerungsvorrichtung, die eine Bewegung des Roboters überträgt, indem ein Bewegungs-Befehlswert an den Roboter übertragen wird; und eine Befehlswert-Lerneinheit, die den Bewegungs-Befehlswert einstellt, indem Lernen unter Verwendung von einer Kraft als Input durchgeführt wird, die auf den Endeffektor wirkt und die von einem Sensor detektiert wird.
  • Ein Robotersystem gemäß der vorliegenden Erfindung weist Folgendes auf: einen Roboter, der mit einem Endeffektor ausgestattet ist; eine Robotersteuerungsvorrichtung, die eine Bewegung des Roboters steuert, indem ein Bewegungs-Befehlswert an den Roboter übertragen wird; und eine Befehlswert-Lerneinheit, die den Bewegungs-Befehlswert einstellt, indem Lernen unter Verwendung von einer Kraft als Input durchgeführt wird, die auf den Endeffektor wirkt und die von einem Sensor detektiert wird, und wobei der Roboter eine Arbeit an einem Arbeitsziel durchführt.
  • VORTEILHAFTE WIRKUNGEN DER ERFINDUNG
  • Gemäß der Bewegungseinstellungsvorrichtung, dem Bewegungssteuerungssystem und dem Robotersystem der vorliegenden Erfindung kann die Bewegung des Roboters so eingestellt werden, dass das Arbeitsziel keiner übermäßigen Last ausgesetzt wird, und die Einstellung der Bewegung des Roboters kann vereinfacht werden.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das ein Beispiel für eine Systemkonfiguration eines Robotersystems darstellt, das eine Bewegungseinstellungsvorrichtung gemäß einer ersten Ausführungsform der vorliegenden Erfindung aufweist.
    • 2 ist eine Abbildung, die ein Beispiel für eine spezifische Hardwarekonfiguration zur Implementierung einer Robotersteuerungsvorrichtung und der Bewegungseinstellungsvorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung darstellt.
    • 3 ist ein Blockdiagramm, das eine beispielhafte Konfiguration der Bewegungseinstellungsvorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung darstellt und das seitliche Blöcke darstellt.
    • 4 ist eine Abbildung zur Erklärung des Vorgehens der Bewegungseinstellungsvorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung.
    • 5 ist eine Abbildung, die ein Beispiel für ein Geschwindigkeitsmuster vor Aktualisierung in dem Robotersystem gemäß der ersten Ausführungsform der vorliegenden Erfindung darstellt.
    • 6 ist ein Flussdiagramm, das einen beispielhaften Ablauf darstellt, dem ein Bewegungssteuerungssystem gemäß der ersten Ausführungsform der vorliegenden Erfindung folgt.
    • 7 ist eine Abbildung zur Erklärung des Vorgehens einer Bewegungseinstellungsvorrichtung gemäß einer zweiten Ausführungsform der vorliegenden Erfindung.
    • 8 ist eine Abbildung, die ein Beispiel für den Anfangswert eines Geschwindigkeitsmusters in einem Robotersystem gemäß der zweiten Ausführungsform der vorliegenden Erfindung darstellt.
    • 9 ist eine Abbildung, die beispielhafte Detektionswerte eines Kraftsensors in dem Robotersystem gemäß der zweiten Ausführungsform der vorliegenden Erfindung darstellt.
    • 10 ist eine Abbildung, die ein Beispiel für ein Geschwindigkeitsmuster nach Aktualisierung in dem Robotersystem gemäß der zweiten Ausführungsform der vorliegenden Erfindung darstellt.
    • 11 ist eine Abbildung, die ein weiteres Beispiel für ein Geschwindigkeitsmuster nach Aktualisierung in dem Robotersystem gemäß der zweiten Ausführungsform der vorliegenden Erfindung darstellt.
    • 12 ist ein Blockdiagramm, das eine beispielhafte Konfiguration einer Bewegungseinstellungsvorrichtung gemäß einer dritten Ausführungsform der vorliegenden Erfindung darstellt und das seitliche Blöcke darstellt.
    • 13 ist ein Blockdiagramm, das eine beispielhafte Konfiguration einer Befehlswert-Lerneinheit gemäß der dritten Ausführungsform der vorliegenden Erfindung darstellt und das seitliche Blöcke darstellt.
    • 14 ist eine Abbildung, die eine beispielhafte Arbeit darstellt, die von einem Robotersystem gemäß der dritten Ausführungsform der vorliegenden Erfindung durchgeführt wird.
    • 15 ist ein Flussdiagramm, das einen beispielhafte Ablauf darstellt, dem eine Lern-Verarbeitungseinheit gemäß der dritten Ausführungsform der vorliegenden Erfindung folgt.
    • 16 ist ein Flussdiagramm, das einen beispielhaften Ablauf für die Vorverarbeitung darstellt, die von der Lern-Verarbeitungseinheit gemäß der dritten Ausführungsform der vorliegenden Erfindung durchgeführt wird.
    • 17 ist ein Flussdiagramm, das einen beispielhaften Ablauf für die Lernverarbeitung darstellt, die von der Lern-Verarbeitungseinheit gemäß der dritten Ausführungsform der vorliegenden Erfindung durchgeführt wird.
    • 18 ist eine Abbildung, die ein Beispiel eines Geschwindigkeitsmusters für einen Test in dem Robotersystem gemäß der dritten Ausführungsform der vorliegenden Erfindung darstellt.
    • 19 ist eine Abbildung, die ein Beispiel für Kraftinformationen darstellt, die während eines Tests in dem Robotersystem gemäß der dritten Ausführungsform der vorliegenden Erfindung erfasst werden.
    • 20 ist ein Blockdiagramm, das eine beispielhafte Konfiguration der Bewegungseinstellungsvorrichtung gemäß einer vierten Ausführungsform der vorliegenden Erfindung darstellt und das seitliche Blöcke darstellt.
    • 21 ist ein Flussdiagramm, das einen beispielhaften Ablauf für die Vorverarbeitung darstellt, die von der Bewegungseinstellungsvorrichtung gemäß der vierten Ausführungsform der vorliegenden Erfindung durchgeführt wird.
    • 22 ist ein Flussdiagramm, das einen beispielhaften Ablauf für die Lernverarbeitung darstellt, die von der Bewegungseinstellungsvorrichtung gemäß der vierten Ausführungsform der vorliegenden Erfindung durchgeführt wird.
    • 23 ist ein Blockdiagramm, das eine beispielhafte Konfiguration einer Bewegungseinstellungsvorrichtung gemäß einer fünften Ausführungsform der vorliegenden Erfindung darstellt und das seitliche Blöcke darstellt.
    • 24 ist ein Blockdiagramm, das eine beispielhafte Konfiguration einer Bewegungslerneinheit gemäß der fünften Ausführungsform der vorliegenden Erfindung darstellt.
    • 25 ist ein Blockdiagramm, das eine weitere beispielhafte Konfiguration der Bewegungseinstellungsvorrichtung gemäß der fünften Ausführungsform der vorliegenden Erfindung darstellt und das seitliche Blöcke darstellt.
  • BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
  • Ausführungsform 1
  • 1 ist ein Blockdiagramm, das ein Beispiel für eine Systemkonfiguration eines Robotersystems 100 darstellt, das eine Bewegungseinstellungsvorrichtung gemäß der ersten Ausführungsform der vorliegenden Erfindung aufweist. Wie in 1 dargestellt, weist das Robotersystem 100 ein Bewegungssteuerungssystem 110, einen Roboter 120, einen Endeffektor 130, einen internen Sensor 141 und einen externen Sensor 142 auf. Das Bewegungssteuerungssystem 110 weist eine Robotersteuerungsvorrichtung 111 und eine Bewegungseinstellungsvorrichtung 112 auf. Die Robotersteuerungsvorrichtung wird auch als Robotersteuerung bezeichnet.
  • Basierend auf den Detektionsergebnissen des internen Sensors 141 und des externen Sensors 142 überträgt die Robotersteuerungsvorrichtung 111 einen Bewegungs-Befehlswert zur Steuerung der Bewegung des Roboters 120 an den Roboter 120 und steuert die Bewegung des Roboters 120. Der Endeffektor 130, wie etwa eine Roboterhand, ist an dem Roboter 120 angebracht. Der Endeffektor 130 arbeitet direkt an einem Arbeitsziel 200. Entsprechend jeder Arbeit, die von dem Robotersystem 100 ausgeführt wird, wird ein geeigneter Endeffektor 130 ausgewählt. Eine umgebende Umwelt bzw. Umgebung 300 ist um das Arbeitsziel 200 herum vorhanden.
  • Die Umgebung 300 weist beispielsweise ein Teil auf, an dem das Arbeitsziel 200 angeordnet ist, eine Vorrichtung zum Positionieren des Arbeitsziels 200, ein Werkzeug (wie etwa ein elektrischer Schraubendreher) zum Bearbeiten des Arbeitsziels 200, eine Eingabe- bzw. Zuführungsvorrichtung, die das Arbeitsziel 200 versorgt, eine Schutzabdeckung, die den Roboter 120 umgibt, und ein Riemenförderer, der das Arbeitsziel 200 fördert. In einigen Fällen wird auch der externe Sensor 142, wie etwa eine Kamera, die ein Arbeitsziel fotografiert, als Teil der Umgebung behandelt. Das ist deshalb so, weil der Roboter 120 oder der Endeffektor 130 für einen Fall, bei dem der externe Sensor 142 in einer bestimmten Position um den Roboter 120 fixiert ist, mit dem externen Sensor 142 in Kontakt stehen können.
  • Ein Bewegungs-Befehlswert, der von der Robotersteuerungsvorrichtung 111 ausgegeben wird, ist ein Positions-Befehlswert. Der Positions-Befehlswert ist beispielsweise eine Information, die die Zielposition und die Zielausrichtung des Endeffektors 130 zu jedem Zeitpunkt repräsentiert, wobei der Endeffektor 130 an dem Roboter 120 befestigt ist. Wenn ein Bewegungs-Befehlswert die Zielposition des Endeffektors 130 zu jedem Zeitpunkt repräsentiert, dann wird auch die Bewegungsgeschwindigkeit des Endeffektors 130 zwischen den Zeitpunkten von dem Bewegungs-Befehlswert dargestellt. Daher kann ein Positions-Befehlswert auch als Geschwindigkeits-Befehlswert aufgefasst werden, der die Ziel-Bewegungsgeschwindigkeit des Roboters darstellt.
  • Alternativ kann ein Bewegungs-Befehlswert, der von der Robotersteuerungsvorrichtung 111 ausgegeben wird, ein Geschwindigkeits-Befehlswert sein, der die Ziel-Bewegungsgeschwindigkeit des Roboters 120 oder die Ziel-Bewegungsgeschwindigkeit des Endeffektors 130 darstellt. Die Ziel-Motionsgeschwindigkeit bzw. die Ziel-Bewegungsgeschwindigkeit wird definiert als die Geschwindigkeit zwischen Punkten in der Zeit der Bewegung des Roboters 120 oder die Geschwindigkeit zwischen Punkten auf dem Weg. Ferner kann der Bewegungs-Befehlswert ein Beschleunigungs-Befehlswert sein, der die Zielbeschleunigung für die Bewegung des Roboters 120 darstellt oder die Zielbeschleunigung für die Bewegung des Endeffektors 130. Verschiedene Typen von Bewegungs-Befehlswerten, die die Bewegung des Roboters 120 direkt steuern, können verwendet werden.
  • Dem Detektionsergebnis des externen Sensors 142 und einer einschränkenden Bedingung bzw. Randbedingung entsprechend, die von außen gegeben wird, stellt die Bewegungseinstellungsvorrichtung 112 einen Bewegungs-Befehlswert, der von der Robotersteuerungsvorrichtung 111 erzeugt wird, ein und aktualisiert diesen. Das heißt, dass die Bewegungseinstellungsvorrichtung 112 die Bewegung des Roboters einstellt. Mit anderen Worten: Die Bewegungseinstellungsvorrichtung 112 stellt die Korrespondenz-Beziehung zwischen den Detektionsergebnissen des internen Sensors 141 und des externen Sensors 142 und einem Bewegungs-Befehlswert ein, der von der Robotersteuerungsvorrichtung 111 ausgegeben wird, und aktualisiert die Korrespondenz-Beziehung, die das Einstellungsergebnis widerspiegelt. Es sei angemerkt, dass die Einstellung eines Bewegungs-Befehlswerts auch als Modifikation eines Bewegungs-Befehlswerts oder Korrektur eines Bewegungs-Befehlswerts bezeichnet werden kann.
  • Wenn ein aktualisierter Bewegungs-Befehlswert vorliegt, gibt die Robotersteuerungsvorrichtung 111 den aktualisierten Bewegungs-Befehlswert an den Roboter 120 aus. Die Bewegungseinstellungsvorrichtung 112 kann einen Bewegungs-Befehlswert nicht nur bezüglich des Detektionsergebnisses des externen Sensors 142, sondern auch bezüglich des Detektionsergebnisses des internen Sensors 141 aktualisieren. Es sei angemerkt, dass eine einschränkende Bedingung im Voraus in der Bewegungseinstellungsvorrichtung 112 oder der Robotersteuerungsvorrichtung 111 gespeichert werden kann.
  • Das Robotersystem 100 gemäß der vorliegenden Ausführungsform führt zwei Vorgänge durch: Einstellungsverarbeitung zum Einstellen und Aktualisieren eines Bewegungs-Befehlswertes; und Arbeitsverarbeitung zum Durchführen einer Arbeit an dem Arbeitsziel 200 unter Verwendung des aktualisierten Bewegungs-Befehlswertes. Mit anderen Worten: Der Betrieb bzw. das Vorgehen des Robotersystems 100 weist eine Einstellungsphase und eine Arbeitsphase auf. Die Einstellungsverarbeitung ist ein Vorgang des Robotersystems 100 in der Einstellungsphase. Die Arbeitsverarbeitung ist ein Vorgang des Robotersystems 100 in der Arbeitsphase. Bei der Einstellungsverarbeitung stellt die Bewegungseinstellungsvorrichtung 112 einen Bewegungs-Befehlswert so ein, dass ein optimaler Bewegungs-Befehlswert erzielt wird. Es sei angemerkt, dass die Einstellungsverarbeitung und die Arbeitsverarbeitung nicht vollständig voneinander getrennt sein müssen. Das Robotersystem 100 kann zum Beispiel derart konfiguriert sein, dass die Bewegungseinstellungsvorrichtung 112 einen optimalen Bewegungs-Befehlswert wie benötigt berechnet, während die Arbeit an dem Arbeitsziel 200 durchgeführt wird. Bei dieser Konfiguration aktualisiert das Robotersystem 100 einen Bewegungs-Befehlswert bei Bedarf mit einem vorher bestimmten Timing, beispielsweise wenn ein Bewegungs-Befehlswert berechnet wird, der besser geeignet ist als der aktuell verwendete Bewegungs-Befehlswert.
  • Gleiches gilt für die folgenden Ausführungsformen.
  • 2 ist eine Abbildung, die ein Beispiel für eine spezifische Hardwarekonfiguration zur Implementierung der Robotersteuerungsvorrichtung 111 und der Bewegungseinstellungsvorrichtung 112 darstellt. Die Robotersteuerungsvorrichtung 111 und die Bewegungseinstellungsvorrichtung 112 werden von einem Prozessor 401 implementiert, der ein Programm ausführt, das in einem Speicher 402 gespeichert ist. Der Prozessor 401 und der Speicher 402 sind mittels eines Datenbusses 403 miteinander verbunden. Der Speicher 402 weist einen flüchtigen Speicher und einen nicht-flüchtigen Speicher auf. In dem flüchtigen Speicher werden temporäre Informationen gespeichert. Es sei angemerkt, dass die Robotersteuerungsvorrichtung 111 und die Bewegungseinstellungsvorrichtung 112 integral konfiguriert sein können oder separat konfiguriert sein können. Beispielsweise können die Robotersteuerungsvorrichtung 111 und die Bewegungseinstellungsvorrichtung 112 über ein Netzwerk oder dergleichen miteinander verbunden sein. Die Robotersteuerungsvorrichtung 111 und die Bewegungseinstellungsvorrichtung 112 können auch in den folgenden Ausführungsformen mit einer gleichen bzw. ähnlichen Hardwarekonfiguration implementiert sein.
  • Das Robotersystem 100 bildet ein Steuerungssystem, bei dem das Bewegungssteuerungssystem 110 einen Bewegungs-Befehlswert basierend auf Daten ausgibt, die von dem internen Sensor 142 und dem externen Sensor 142 erfasst werden. Der Roboter 120 arbeitet gemäß dem Bewegungs-Befehlswert. Beispiele für den internen Sensor 141 sind u. a. ein Sensor, der die Position eines Gelenks des Roboters erfasst, ein Sensor, der die Bewegungsgeschwindigkeit eines Gelenks erfasst, und ein Sensor, der den Wert eines elektrischen Stroms des Motors zum Betreiben eines Gelenks erfasst. Das Robotersystem 100 bildet ein Positions-Steuerungssystem, bei dem der Endeffektor 130 von der Robotersteuerungsvorrichtung 111, dem Roboter 120 und dem internen Sensor 141 positioniert wird. Der Sensor, der die Position eines Gelenks des Roboters erfasst, kann beispielsweise ein Encoder, ein Resolver oder ein Potentiometer sein, die den Rotationsbetrag des Motors detektieren. Der Sensor, der die Bewegungsgeschwindigkeit eines Gelenks erfasst, kann ein Tachometer oder dergleichen sein. Weitere Beispiele des internen Sensors können u. a. ein Gyrosensor und ein Inertialsensor für Informationen über den Roboter 120 selbst sein.
  • Unter Verwendung von Feedback-Steuerung basierend auf dem internen Sensor 141 bildet das Robotersystem 100 ein Positionssteuerungs-Robotersystem, das Materialtransport und dergleichen durchführt. Materialtransport meint hier das Transferieren oder Transportieren von Materialien oder Komponenten. Dieses Positionssteuerungs-Robotersystem wird als Feedback-Steuerungssystem basierend auf dem internen Sensor 141 bezeichnet. Die Steuerungsparameter für die auf dem internen Sensor 141 basierende Feedback-Steuerung sind u. a. Positionssteuerungs-Gain, Geschwindigkeitssteuerungs-Gain, Stromsteuerungs-Gain, Designparameter für einen zur Feedback-Steuerung verwendeten Filter und dergleichen. Die für die Feedback-Steuerung verwendeten Filter können ein gleitender Mittelwert, ein Tiefpass-Filter, ein Bandpass, ein Hochpass-Filter oder dergleichen sein. Es sei angemerkt, dass die Feedback-Steuerung basierend auf dem internen Sensor 141 eine Steuerung ist, die den Roboter 120 dazu befähigt, gemäß einem Bewegungs-Befehlswert zu arbeiten. Mit anderen Worten: Die auf dem internen Sensor 141 basierende Feedback-Steuerung ist eine Steuerung, die durchgeführt wird, um einen Bewegungs-Befehlswert zu erzielen.
  • Beispiele für den externen Sensor 142 sind u. a. ein Kraftsensor, ein Vision-Sensor wie etwa eine Kamera, ein taktiler Sensor und ein Berührungssensor. Der externe Sensor 142 misst den Kontaktzustand und die Positionsbeziehung zwischen dem Roboter 120 und dem Arbeitsziel 200 oder der Umgebung 300. Bei dem Robotersystem 100 bilden die Robotersteuerungsvorrichtung 111, die Bewegungseinstellungsvorrichtung 112, der Roboter 120 und der externe Sensor 142 basierend auf dem externen Sensor 142 ein Sensorfeedback-Steuerungssystem. Das Robotersystem 100 kann ein Sensorsignal von dem externen Sensor 142 in einfacher Weise als Trigger-Signal verwenden, anstatt die Sensorfeedback-Steuerung basierend auf einem Sensorsignal durchzuführen, das von dem externen Sensor 142 ausgegeben wird. Für diesen Fall wechselt das Robotersystem 100 in Reaktion auf ein Trigger-Signal die Steuerungsparameter zur Feedback-Steuerung durch den internen Sensor 141. Das Sensorfeedback-Steuerungssystem basierend auf dem externen Sensor 142 ist als eine äußere Schleife des Positionssteuerungs-Robotersystem konstruiert.
  • Beschleunigung, Geschwindigkeit, Position und Ausrichtung, Distanz, Kraft, Moment etc. nutzend, detektiert das Sensorfeedback-Steuerungssystem basierend auf dem externen Sensor 142 die Positionsbeziehung, das Kontaktverhalten und dergleichen zwischen dem Roboter 120, dem Roboterarm oder dem Endeffektor 130 und dem Arbeitsziel 200 oder der Umgebung 300. Das auf dem externen Sensor 142 basierende Sensorfeedback-Steuerungssystem steuert ferner die Bewegung des Roboters 120 auf der Grundlage des Detektionsergebnisses, um eine gewünschte Positionsbeziehung oder Kraftreaktion zu erreichen. Mit anderen Worten: Das Sensorfeedback-Steuerungssystem basierend auf dem externen Sensor 142 modifiziert einen Bewegungs-Befehlswert, um eine gewünschte Positionsbeziehung oder Kraftreaktion zu erreichen. Steuerungsparameter für das auf dem externen Sensor 142 basierende Sensorfeedback-Steuerungssystem sind u. a. Kraftsteuerungs-Gain im Zusammenhang mit der Kraft-Detektionssteuerung, ImpedanzParameter, Gain im Zusammenhang mit der visuellen Servosteuerung, visuelle ImpedanzParameter, Einstellungsparameter für einen Filter, der für die Feedbacksteuerung verwendet wird, und dergleichen.
  • Nachfolgend können Steuerungsparameter, die eine Einstellung erfordern, wenn basierend auf dem internen Sensor 141 und dem externen Sensor 142 Steuerung durchgeführt wird, einfach als Parameter bezeichnet werden. Hier können spezifische Beispiele von Sensoren, die als der interne Sensor 141 oder der externe Sensor 142 verwendet werden, einen Sensor für elektrische Stromwerte, einen Gelenk-Positionssensor, einen Gelenk-Geschwindigkeitssensor, einen Temperatur-Distanz-Sensor, eine Kamera, einen RGB-D-Sensor, einen Annäherungssensor, einen taktilen Sensor und einen Kraftsensor aufweisen. Das von dem internen Sensor 141 oder dem externen Sensor 142 zu messende Ziel kann die Position und Ausrichtung des Roboters 120, die Position und Ausrichtung des Endeffektors 130, die Position und Ausrichtung des Werkstücks, das das Arbeitsziel 200 ist, und die Position und Ausrichtung des Anwenders sein.
  • 3 ist ein Blockdiagramm, das eine beispielhafte Konfiguration der Bewegungseinstellungsvorrichtung 112 gemäß der ersten Ausführungsform der vorliegenden Erfindung darstellt und das seitliche Blöcke darstellt. 3 zeigt einen herausgelösten Teil der Konfiguration des Robotersystems 100. Die Bewegungseinstellungsvorrichtung 112 weist eine Befehlswert-Lerneinheit 113 auf. In 3 ist ein Sensor 140 eine Kombination aus dem internen Sensor 141 und dem externen Sensor 142. Wie vorstehend beschrieben, können diverse Sensoren als der Sensor 140 verwendet werden. In dem Robotersystem 100 gemäß der vorliegenden Ausführungsform weist der Sensor 140 mindestens einen Kraftsensor auf, der die externe Kraft detektiert, die aufgrund der Bewegung des Roboters 120 auf den Endeffektor 130 wirkt. Dieser Kraftsensor ist der externe Sensor 142. Es sei angemerkt, dass der Sensor 140 in den folgenden Ausführungsformen mindestens einen Kraftsensor aufweist.
  • Der Kraftsensor wird zur Messung der externen Kraft, die auf den Endeffektor 130 wirkt, und zur Durchführung von Kraftsteuerung oder Impedanzsteuerung verwendet. Es sei angemerkt, dass das Steuern der Kraft, die der Endeffektor 130 auf das Arbeitsziel 200 oder die Umgebung 300 ausübt, als Kraftsteuerung bezeichnet wird. Das Steuern der Bewegung des Roboters 120 gemäß dem Detektionsergebnis des Kraftsensors wird als Kraft-Detektionssteuerung bezeichnet. Bei der Kraftsteuerung wird eine Ziel-Arbeitskraft vorgegeben und der Betrag der Kraft wird gesteuert, die auf das Arbeitsziel 200 oder die Umgebung 300 ausgeübt wird.
  • Andererseits werden bei der Impedanzsteuerung Impedanzeigenschaften (Federung, Dämpfung und Trägheit) im Zusammenhang mit der erzeugten Kontaktkraft, beispielsweise wenn der Endeffektor 130 und das Arbeitsziel 200 miteinander in Kontakt gelangen, definiert und für die Steuerung verwendet. Die Kontaktkraft kann auch erzeugt werden, wenn der Endeffektor 130 und die Umgebung 300 miteinander in Kontakt gelangen, wenn das von dem Endeffektor 130 gehaltene Arbeitsziel 200 und die Umgebung 300 miteinander in Kontakt gelangen und dergleichen. Impedanzeigenschaften werden von Impedanzparametern dargestellt.
  • Bei der Kraftsteuerung ist es notwendig, einen Zielwert für die Kraftsteuerung zu ermitteln. Bei der Impedanzsteuerung ist es nötig, unter Verwendung von Impedanzparametern Steuerungseigenschaften zu ermitteln. Zudem ist es sowohl bei der Kraftsteuerung als auch bei der Impedanzsteuerung nötig, einen Gain oder dergleichen zu ermitteln, der zur Steuerungs-Änderungssensitivität beiträgt, sodass es viele einzustellende Elemente gibt. Bei konventionellen Robotersystemen werden Parametereinstellungen hauptsächlich zum Zweck der Sicherstellung stabiler Arbeit durchgeführt. Für diesen Fall werden Systemeigenschaften identifiziert, die die Änderungssensitivität der Bewegung des Roboters 120, die mechanische Steifigkeit und dergleichen aufweisen, und es wird ein Set von Parametern gefunden, das unabhängig von der Bedingung oder dem Zustand stabil reagiert. Bei der Bewegung des Roboters 120 einschließlich des Kontakts mit dem Arbeitsziel 200 ändert sich allerdings der Kontaktzustand zwischen dem Arbeitsziel 200 und dem Endeffektor 130, wenn die Bewegung fortschreitet. Daher muss die Einstellung eines Sets von Parametern unter Berücksichtigung der Veränderungen des Kontaktzustands durchgeführt werden. Diese Einstellung sollte auf einer Trial-and-Error-Basis vorgenommen werden, was nicht einfach ist.
  • Bei dem Robotersystem 100 gemäß der vorliegenden Ausführungsform, steuert die Bewegungseinstellungsvorrichtung 112 die Bewegung des Roboters 120 in geeigneter Weise, indem ein Bewegungs-Befehlswert aktualisiert wird. Eine einschränkende Bedingung wird in die Bewegungseinstellungsvorrichtung 112 eingegeben. Ein oberer Grenzwert oder ein unterer Grenzwert der Kraftinformationen, die von dem Kraftsensor detektiert werden, kann als eine einschränkende Bedingung bereitgestellt werden. Die folgende Beschreibung basiert auf der Annahme, dass ein von dem Bewegungssteuerungssystem 110 ausgegebener Bewegungs-Befehlswert ein Geschwindigkeits-Befehlswert ist. Ein Geschwindigkeits-Befehlswert ist die Ziel-Bewegungsgeschwindigkeit des Endeffektors 130 für jeden Punkt auf dem Bewegungsweg des Endeffektors 130. In diesem Fall sind Zeitreihengeschwindigkeits-Befehlswerte ein Geschwindigkeitsmuster für jeden Punkt. Ein Geschwindigkeits-Befehlswert kann die Ziel-Bewegungsgeschwindigkeit des Roboters 120 für jeden Zeitpunkt während der Arbeit sein.
  • Bei einem Geschwindigkeitsmuster sind eine Zielgeschwindigkeit Vi (i=1, 2, 3, ...) und eine Zielgeschwindigkeits-Wechselposition Pi (i=1, 2, 3, ...) definiert. Es sei angemerkt, dass die Wechselposition von einer Wechsel-Zeit oder einem Wechsel-Parameter vorgegeben sein kann. Beispielhaft für den Wechsel-Parameter ist die positions- oder zeitbasierte Fortschrittsrate des Bewegungs-Befehlswerts. Die Zielgeschwindigkeits-Wechselposition Pi kann ein Anfangspunkt zum Wechseln einer Zielgeschwindigkeit oder ein Abschlusspunkt zum Wechseln einer Zielgeschwindigkeit sein. Die Zielgeschwindigkeits-Wechselposition Pi kann ein Punkt sein, an dem die Bewegungsgeschwindigkeit, die von dem internen Sensor 141 detektiert wird, garantiert innerhalb eines vorher bestimmten Fehlerbereichs von der Zielgeschwindigkeit liegt.
  • 4 ist eine Abbildung zur Erklärung des Vorgehens der Bewegungseinstellungsvorrichtung 112 gemäß der ersten Ausführungsform der vorliegenden Erfindung. Es wird der Fall betrachtet, bei dem sich der an dem Roboter 120 angebrachte Endeffektor 130, wie in 4 dargestellt, von Position P0 zu Position P3 bewegt. Ein Kraftsensor 143, der der externe Sensor 142 ist, ist an dem Roboter 120 angebracht. Der Kraftsensor 143 misst die externe Kraft, die auf den Endeffektor 130 wirkt.
  • 5 ist eine Abbildung, die ein Beispiel für ein Geschwindigkeitsmuster vor Aktualisierung in dem Robotersystem 100 gemäß der ersten Ausführungsform der vorliegenden Erfindung darstellt. In 5 stellt die horizontale Achse die Position P des Endeffektors 130 dar und die vertikale Achse stellt die Ziel-Bewegungsgeschwindigkeit V des Endeffektors 130 dar. Bei dem Geschwindigkeitsmuster gemäß 5 ändert sich die Zielgeschwindigkeit, während sich der Endeffektor 130 von P0 zu P3 bewegt. Die Bewegungseinstellungsvorrichtung 112 aktualisiert das Geschwindigkeitsmuster basierend auf den Detektionsergebnissen des Kraftsensors 143.
  • 6 ist ein Flussdiagramm, das einen beispielhaften Ablauf darstellt, dem das Bewegungssteuerungssystem 110 gemäß der ersten Ausführungsform der vorliegenden Erfindung folgt. Hier sei angenommen, dass der obere und untere Grenzwert der Kraftinformationen, die von dem Kraftsensor 143 detektiert werden, und ein oberer Grenzwert der Arbeitszeit als einschränkende Bedingungen vorgegeben sind. Zunächst ermittelt in Schritt S10 die Robotersteuerungsvorrichtung 111 den Anfangswert des Geschwindigkeitsmusters. Als nächstes führt in Schritt S11 die Robotersteuerungsvorrichtung 111 einen Arbeitsversuch aus, indem die Bewegung des Roboters 120 gesteuert wird. Es sei angemerkt, dass ein Teil der normalen Arbeit in dem Robotersystem 100 als ein Versuch behandelt werden kann, beispielsweise in dem vorstehend genannten Fall, bei dem die Einstellungsverarbeitung und die Arbeitsverarbeitung nicht vollständig getrennt sind.
  • Anschließend ermittelt in Schritt S12 die Bewegungseinstellungsvorrichtung 112, ob die einschränkenden Bedingungen erfüllt sind. Das heißt, dass in Schritt S12 die Bewegungseinstellungsvorrichtung 112 ermittelt, ob sich der Detektionswert des Kraftsensors 143 zwischen dem oberen Grenzwert und dem unteren Grenzwert befindet, die von der einschränkenden Bedingung definiert sind, und ob die Arbeitszeit-Einschränkung erfüllt ist. Zur Ermittlung des Detektionswerts des Kraftsensors 143 wird beispielsweise der maximale Detektionswert mit dem oberen Grenzwert der einschränkenden Bedingung verglichen und der minimale Detektionswert wird mit dem unteren Grenzwert der einschränkenden Bedingung verglichen. In Schritt S12 kann die Bewegungseinstellungsvorrichtung 112 anstelle des Detektionswerts des Kraftsensors 143 einen Evaluationswert verwenden, der durch Berechnung aus dem Detektionswert ermittelt wird. Beispielhaft für den Evaluationswert kann ein Evaluationswert sein, der unter Verwendung einer Evaluationsfunktion berechnet wird, die den Detektionswert des Kraftsensors 143 und die Takt-Zeit als Inputs aufweist. In Schritt S12 kann die Bewegungseinstellungsvorrichtung 112 ermitteln, ob sich der Evaluationswert innerhalb des Grenzbereichs befindet.
  • Wenn in Schritt S12 ermittelt wird, dass die einschränkenden Bedingungen erfüllt sind, wird die Verarbeitung des Bewegungssteuerungssystem 110 temporär beendet. Im Anschluss wird die Arbeit mit dem aktualisierten Geschwindigkeitsmuster durchgeführt. Wenn andernfalls in Schritt S12 ermittelt wird, dass die einschränkenden Bedingungen nicht erfüllt sind, schreitet die Verarbeitung des Bewegungssteuerungssystem 110 zu Schritt S13. In Schritt S13 stellt die Bewegungseinstellungsvorrichtung 112 das Geschwindigkeitsmuster ein und aktualisiert das Geschwindigkeitsmuster. In Schritt S13 stellt die Bewegungseinstellungsvorrichtung 112 das Geschwindigkeitsmuster ein, indem beispielsweise ein Korrektur-Koeffizient zur Korrektur berechnet und das Geschwindigkeitsmuster für den Versuch mit dem Korrektur-Koeffizienten multipliziert wird. Wenn der Vorgang von Schritt S13 endet, kehrt die Verarbeitung des Bewegungssteuerungssystem 110 zu Schritt S11 zurück.
  • Das Bewegungssteuerungssystem 110 gemäß der ersten Ausführungsform der vorliegenden Erfindung führt die vorstehend beschriebenen Vorgänge durch. Wie vorstehend beschrieben, stellt das Bewegungssteuerungssystem 110 gemäß der ersten Ausführungsform der vorliegenden Erfindung in einer lernenden Weise ein Bewegungsmuster auf der Grundlage von Daten ein, die durch eine Vielzahl von Versuchen gewonnen werden. Mit anderen Worten: Das Bewegungssteuerungssystem 110 gemäß der ersten Ausführungsform der vorliegenden Erfindung stellt unter Verwendung von maschinellem Lernen oder eines Optimierungsverfahrens ein Bewegungsmuster ein, das ein Bewegungs-Befehlswert ist.
  • Die vorstehende Beschreibung basiert auf der Annahme, dass ein oberer Grenzwert der Arbeitszeit als eine einschränkende Bedingung angegeben ist. Ein oberer Grenzwert der Arbeitszeit ist jedoch keine essenzielle Bedingung und eine andere Bedingung kann verwendet werde. Außerdem kann, statt einen oberen Grenzwert der Arbeitszeit als einschränkende Bedingung anzugeben, das Minimieren der Arbeitszeit mit einer anderen erfüllten Bedingung eine einschränkende Bedingung sein. Bei der vorstehenden Beschreibung aktualisiert das Bewegungssteuerungssystem 110 einen Bewegungs-Befehlswert derart, dass eine gegebene einschränkende Bedingung erfüllt ist. Alternativ kann das Bewegungssteuerungssystem 110 so konfiguriert sein, dass es Steuerungsparameter einstellt und aktualisiert. 1 zeigt eine exemplarische Konfiguration, bei der die Robotersteuerungsvorrichtung 111 und die Bewegungseinstellungsvorrichtung 112 separat angegeben sind. Alternativ kann die Robotersteuerungsvorrichtung 111 so konfiguriert sein, dass sie die Bewegungseinstellungsvorrichtung 112 inkorporiert.
  • Die Bewegungseinstellungsvorrichtung 112, das Bewegungssteuerungssystem 110 und das Robotersystem 100 gemäß der vorliegenden Ausführungsform sind wie vorstehend beschrieben konfiguriert. Gemäß der Bewegungseinstellungsvorrichtung 112, dem Bewegungssteuerungssystem 110 und dem Robotersystem 100 der vorliegenden Ausführungsform wird die Bewegung des Roboters 120 derart eingestellt, dass sich der Detektionswert des Kraftsensors 143 innerhalb eines vorher bestimmten Bereichs befindet. Der Detektionswert des Kraftsensors 143 stellt hier den Betrag der externen Kraft dar, die auf den Endeffektor 130 wirkt. Mit anderen Worten: Der Detektionswert des Kraftsensors 143 ist eine Information, die den Betrag der Kraft angibt, die aufgrund der Bewegung des Roboters 120 auf das Arbeitsziel 200 oder die Umgebung 300 ausgeübt wird. Daher kann, gemäß der Bewegungseinstellungsvorrichtung 112, dem Bewegungssteuerungssystem 110 und dem Robotersystem 100 der vorliegenden Ausführungsform, die Bewegung des Roboters 120 derart eingestellt werden, dass die auf das Arbeitsziel 200 oder die Umgebung 300 ausgeübte Kraft ein angemessenes Ausmaß aufweist; also so, dass keine übermäßige Last auf das Arbeitsziel 200 oder die Umgebung 300 ausgeübt wird. Auch die Einstellung der Bewegung des Roboters 120 kann erleichtert werden.
  • Indem der Kraftsensor 143 verwendet wird, um einen Bewegungs-Befehlswert in einer lernenden Weise so einzustellen, dass die Kraftreaktion innerhalb eines gewünschten Bereichs liegt, ist es - wie vorstehend beschrieben - möglich, Roboterarbeit mit hoher Qualität zu erzielen, die den Arbeitsziel-Gegenstand nicht beschädigt. Ferner kann Hochgeschwindigkeits-Arbeit erzielt werden, indem die Arbeitszeit als einschränkende Bedingung hinzugefügt wird.
  • Die Bewegungseinstellungsvorrichtung 112, das Bewegungssteuerungssystem 110 und das Robotersystem 100 gemäß der vorliegenden Ausführungsform verwenden den Betrag der Kraft, die von dem Kraftsensor 143 als einschränkende Bedingung detektiert wird. Alternativ können das Moment, Drehmoment, der Stromwert etc. detektiert werden und es kann entweder eine untere oder obere Grenze davon als einschränkende Bedingung verwendet werden. Dies ermöglicht die Vorgabe eines Grenzwerts über die Kontaktsituation zwischen dem Roboter 120 oder dem Endeffektor 130 und der Außenwelt sowie das Suchen eines Bewegungs-Befehlswerts innerhalb eines gewünschten Bereichs. Somit kann Arbeit durchgeführt werden, ohne das Arbeitsziel 200 zu beschädigen.
  • Ferner können die relative Position und Ausrichtung des Roboters 120 und der Umgebung 300 oder die Position und Ausrichtung des Roboters 120 als einschränkende Bedingung hinzugefügt werden. Indem entweder eine obere oder untere Grenze davon als einschränkende Bedingung hinzugefügt wird, ist es möglich, Roboterarbeit zu erzielen, die Interferenzen mit der Umgebung 300 verringert, während hochqualitative Arbeit erreicht wird. Dadurch kann eine spezielle Wirkung erreicht werden, wie etwa die Erhöhung der Betriebsgeschwindigkeit des Systems. Die vorstehend beschriebenen Wirkungen können auch in den weiteren Ausführungsformen erreicht werden.
  • Ausführungsform 2
  • Die Konfigurationen der Bewegungseinstellungsvorrichtung, des Bewegungssteuerungssystems und des Robotersystems gemäß der vorliegenden Ausführungsform sind die gleichen wie die in 1 dargestellten. Die Bewegungseinstellungsvorrichtung 112, das Bewegungssteuerungssystem 110 und das Robotersystem 100 gemäß der vorliegenden Ausführungsform teilen den von dem Roboter 120 gegebenen Bewegungsbefehl für eine sequenzielle Arbeit in eine Vielzahl von Abschnitten und stellen einen Bewegungs-Befehlswert für jeden Abschnitt ein. Es sei angemerkt, dass die folgende Beschreibung auf der Annahme basiert, dass ein von dem Bewegungssteuerungssystem ausgegebener Bewegungs-Befehlswert ein Geschwindigkeits-Befehlswert ist.
  • 7 ist eine Abbildung zur Erklärung des Vorgehens einer Bewegungseinstellungsvorrichtung 112 gemäß der zweiten Ausführungsform der vorliegenden Erfindung. Betrachtet wird die Arbeit des Bewegens des Endeffektors 130, der an dem Roboter 120 angebracht ist, von Position P0 zu Position P3, wie in 7 dargestellt. Position P0, die die Anfangsposition ist, ist der Anfangspunkt der Arbeit. Position P3 ist der Endpunkt der Arbeit. Der Endeffektor 130 verläuft durch Position P1 und Position P2, wenn sich der Endeffektor 130 von Position P0 zu Position P3 bewegt.
  • Bei dem Robotersystem 100 gemäß der vorliegenden Ausführungsform ist der Weg von dem Arbeits-Anfangspunkt zu dem Arbeits-Endpunkt in eine Vielzahl von Abschnitte unterteilt. Mit anderen Worten: Bei dem Robotersystem 100 gemäß der vorliegenden Ausführungsform ist die Bewegung des Roboters 120 von dem Anfang einer Arbeit bis zu dem Ende der Arbeit in eine Vielzahl von Abschnitten unterteilt. Der Abschnitt von Position P0 bis zu Position P1, der Abschnitt von Position P1 bis zu Position P2 und der Abschnitt von Position P2 bis zu Position P3 wird als S1 bzw. S2 bzw. S3 bezeichnet. Die Ziel-Bewegungsgeschwindigkeit für Abschnitt S1, die Ziel-Bewegungsgeschwindigkeit für Abschnitt S2 und die Ziel-Bewegungsgeschwindigkeit für Abschnitt S3 werden als V1 bzw. V2 bzw. V3 bezeichnet. Das Robotersystem 100 gemäß der vorliegenden Ausführungsform stellt einen Bewegungs-Befehlswert für jeden Abschnitt ein und aktualisiert diesen. Insbesondere stellt das Robotersystem 100 sowohl die Ziel-Bewegungsgeschwindigkeit für den Abschnitt S1 als auch die Ziel-Bewegungsgeschwindigkeit für den Abschnitt S2 als auch die Ziel-Bewegungsgeschwindigkeit für den Abschnitt S3 ein.
  • Bei dem Robotersystem 100 gemäß der vorliegenden Ausführungsform werden die Positionen P1 und P2, die als Teilungspunkte für die Teilung in Abschnitte dienen, gemäß dem Arbeitsinhalt bzw. -gegenstand im Voraus ermittelt. Die Positionen P1 und P2 sind Positionen für den Abschnittswechsel und werden auch als Wechselpositionen bezeichnet. Obgleich die Anzahl von Abschnitten in dem dargestellten Beispiel drei ist, ist die Anzahl von Abschnitten nicht auf drei beschränkt. Und obwohl die Abschnitte in diesem Beispiel entsprechend den Positionen räumlich definiert sind, kann auch die Zeit von dem Beginn der Arbeit bis zu dem Ende der Arbeit unterteilt werden.
  • Es wird angenommen, dass der obere Grenzwert Flim des Detektionsergebnisses des Kraftsensors 143 dem Bewegungssteuerungssystem 110 der vorliegenden Ausführungsform als einschränkende Bedingung gegeben wird. Der Ablauf, dem das Bewegungssteuerungssystem 110 gemäß der vorliegenden Ausführungsform folgt, ist im Wesentlichen der gleiche wie der in dem in 6 dargestellten Flussdiagramm. Das Geschwindigkeitsmuster wird jedoch für jeden Abschnitt eingestellt. Zunächst ermittelt in Schritt S10 gemäß 6 die Robotersteuerungsvorrichtung 111 den Anfangswert des Geschwindigkeitsmusters. 8 ist eine Abbildung, die ein Beispiel für den Anfangswert eines Geschwindigkeitsmusters in dem Robotersystem 100 gemäß der zweiten Ausführungsform der vorliegenden Erfindung darstellt. In 8 stellt die horizontale Achse die Position P des Endeffektors 130 dar. Die vertikale Achse stellt die Ziel-Bewegungsgeschwindigkeit V des Endeffektors 130 dar. In 8 ist der Anfangswert des Geschwindigkeitsmusters V1=V2=V3=Vini.
  • Als nächstes führt in Schritt S11 die Robotersteuerungsvorrichtung 111 einen Arbeitsversuch durch, indem die Bewegung des Roboters 120 gesteuert wird. 9 ist eine Abbildung, die beispielhafte Detektionswerte des Kraftsensors 143 in dem Robotersystem 100 gemäß der zweiten Ausführungsform der vorliegenden Erfindung darstellt. In 9 stellt die horizontale Achse die Position P des Endeffektors 130 dar. Die vertikale Achse stellt den Detektionswert F des Kraftsensors 143 dar. 9 zeigt Werte, die von dem Kraftsensor 143 detektiert werden, wenn der Roboter 120 mit dem Anfangswert des in 8 dargestellten Geschwindigkeitsmusters betrieben wird.
  • Im Anschluss ermittelt in Schritt S12 die Bewegungseinstellungsvorrichtung 112, ob die einschränkende Bedingung erfüllt ist. Das heißt, dass in Schritt S12 die Bewegungseinstellungsvorrichtung 112 ermittelt, ob der Detektionswert des Kraftsensors 143 in jedem Abschnitt kleiner als oder gleich dem von der einschränkenden Bedingung definierten oberen Grenzwert Flim ist. Beispielsweise wird der maximale Detektionswert des Kraftsensors 143 in jedem Abschnitt als Detektionswert des Kraftsensors 143 verwendet, der zur Ermittlung verwendet wird. Wenn der Detektionswert des Kraftsensors 143 in allen Abschnitten kleiner als oder gleich Flim ist, dann ermittelt die Bewegungseinstellungsvorrichtung 112 in Schritt S12, dass die einschränkende Bedingung erfüllt ist. Wenn andererseits mindestens ein Abschnitt vorliegt, bei dem der Detektionswert des Kraftsensors 143 den oberen Grenzwert Flim überschreitet, ermittelt die Bewegungseinstellungsvorrichtung 112 in Schritt S12, dass die einschränkende Bedingung nicht erfüllt ist.
  • Wenn in Schritt S12 ermittelt wird, dass die einschränkende Bedingung erfüllt ist, wird die Verarbeitung des Bewegungssteuerungssystems 110 temporär beendet und anschließend wird die Arbeit mit dem aktualisierten Bewegungsmuster durchgeführt. Wenn allerdings in Schritt S12 allerdings ermittelt wird, dass die einschränkende Bedingung nicht erfüllt ist, schreitet die Verarbeitung des Bewegungssteuerungssystems 110 zu Schritt S13 fort. In Schritt S13 stellt die Bewegungseinstellungsvorrichtung 112 das Geschwindigkeitsmuster so ein, dass die Zielgeschwindigkeit des Abschnitts abnimmt, in dem der Detektionswert des Kraftsensors 143 den oberen Grenzwert Flim überschreitet. Die Bewegungseinstellungsvorrichtung 112 aktualisiert dann das Geschwindigkeitsmuster.
  • Bei dem in 9 dargestellten Beispiel überschreitet in Abschnitt S2 der Detektionswert Fmax2 des Kraftsensors 143 den oberen Grenzwert Flim. Der Detektionswert Fmax1 des Kraftsensors 143 in Abschnitt S1 und der Detektionswert Fmax3 des Kraftsensors 143 in Abschnitt S3 überschreiten den oberen Grenzwert Flim hingegen nicht. Dementsprechend ermittelt die Bewegungseinstellungsvorrichtung 112 in Schritt S12, dass die einschränkende Bedingung nicht erfüllt ist. In Schritt S13 stellt die Bewegungseinstellungsvorrichtung 112 das Geschwindigkeitsmuster so ein, dass die Zielgeschwindigkeit V2 in dem Abschnitt S2 abnimmt. Das Bewegungssteuerungssystem 110 gemäß der zweiten Ausführungsform der vorliegenden Erfindung führt die vorstehend beschriebenen Vorgänge durch. 10 ist eine Abbildung, die ein Beispiel für ein Geschwindigkeitsmuster nach Aktualisierung in dem Robotersystem 100 gemäß der zweiten Ausführungsform der vorliegenden Erfindung darstellt. In 10 stellt die horizontale Achse die Position P des Endeffektors 130 dar und die vertikale Achse stellt die Ziel-Bewegungsgeschwindigkeit V des Endeffektors 130 dar.
  • Bei der vorstehenden Beschreibung ist der obere Grenzwert Flim des Detektionsergebnisses des Kraftsensors 143 als einschränkende Bedingung angegeben; aber auch das Minimieren der Arbeitszeit kann als eine zusätzliche einschränkende Bedingung angegeben werden. Da Fmax1 und Fmax3 den oberen Grenzwert Flim nicht überschreiten, kann in 9 für diesen Fall die Bewegungseinstellungsvorrichtung 112 das Geschwindigkeitsmuster in Schritt S13 so einstellen, dass die Zielgeschwindigkeit V1 in dem Abschnitt S1 und die Zielgeschwindigkeit V3 in dem Abschnitt S3 zunehmen. Indem das Geschwindigkeitsmuster auf diese Weise eingestellt wird, kann die Arbeitszeit weiter verkürzt werden. 11 ist eine Abbildung, die ein weiteres Beispiel für ein Geschwindigkeitsmuster nach Aktualisierung in dem Robotersystem 100 gemäß der zweiten Ausführungsform der vorliegenden Erfindung darstellt. In 11 stellt die horizontale Achse die Position P des Endeffektors 130 dar und die vertikale Achse stellt die Ziel-Bewegungsgeschwindigkeit V des Endeffektors 130 dar.
  • Für einen Fall, bei dem ein Bewegungs-Befehlswert, wie in 10 und 11 dargestellt, ein Geschwindigkeits-Befehlswert ist, sind die Wechselpunkte P1 und P2 Positionen, an denen die Zielgeschwindigkeit verändert wird. Die Teilungspunkte P1 und P2 können ein Anfangspunkt zum Wechseln der Zielgeschwindigkeit oder ein Abschlusspunkt zum Wechseln der Zielgeschwindigkeit sein. Die Teilungspunkte P1 und P2 können Punkte sein, an denen die von dem internen Sensor 142 detektierte Bewegungsgeschwindigkeit garantiert innerhalb eines vorher bestimmten Fehlerbereichs von der Zielgeschwindigkeit liegt.
  • Die Bewegungseinstellungsvorrichtung 112, das Bewegungssteuerungssystem 110 und das Robotersystem 100 gemäß der vorliegenden Ausführungsform sind wie vorstehend beschrieben konfiguriert. Gemäß der Bewegungseinstellungsvorrichtung 112, dem Bewegungssteuerungssystem 110 und dem Robotersystem 100 der vorliegenden Ausführungsform wird die Bewegung des Roboters 120 für jeden Abschnitt eingestellt. Da die Einstellung derart durchgeführt wird, dass die Bewegung nur in dem Abschnitt verlangsamt wird, in dem der Detektionswert des Kraftsensors 143 größer ist als ein vorher bestimmter Wert, kann die Bewegung des Roboters 120 in einer Weise eingestellt werden, die den Vorgang der gesamten Arbeit nicht unnötig verlangsamt, sodass keine übermäßige Last auf das Arbeitsziel 200 oder die Umgebung 300 ausgeübt wird. Außerdem kann die Einstellung der Bewegung des Roboters 120 vereinfacht werden. Eine weitere Einstellung, die die Bewegung in dem Abschnitt beschleunigt, in dem der Detektionswert des Kraftsensors 143 kleiner als ein vorher bestimmter Wert ist, kann den Vorgang der gesamten Arbeit beschleunigen.
  • Gemäß der Bewegungseinstellungsvorrichtung 112, dem Bewegungssteuerungssystem 110 und dem Robotersystem 100 der vorliegenden Ausführungsform wird, wie vorstehend beschrieben, für die Aktualisierung ein optimaler Bewegungs-Befehlswert für jeden Block gelernt. Dies ermöglicht eine detaillierte Gestaltung von Bewegungs-Befehlswerten, die herkömmliche Einstellungstechniken nicht erreichen können. Dadurch kann Roboterarbeit mit hoher Geschwindigkeit und hoher Qualität erzielt werden.
  • Ausführungsform 3
  • 12 ist ein Blockdiagramm, das eine beispielhafte Konfiguration einer Bewegungseinstellungsvorrichtung 112b gemäß der dritten Ausführungsform der vorliegenden Erfindung darstellt und das seitliche Blöcke darstellt. 12 zeigt einen herausgelösten Teil der Konfiguration des Robotersystems 100. Die Bewegungseinstellungsvorrichtung 112b weist eine Befehlswert-Lerneinheit 113b auf. Die Konfigurationen der Bewegungseinstellungsvorrichtung, das Bewegungssteuerungssystem und das Robotersystem der vorliegenden Ausführungsform sind die gleichen wie die in 1 dargestellten, abgesehen davon, dass die Bewegungseinstellungsvorrichtung 112 von der Bewegungseinstellungsvorrichtung 112b ersetzt wird. Die Bewegungseinstellungsvorrichtung 112b gemäß der vorliegenden Ausführungsform unterscheidet sich von der Bewegungseinstellungsvorrichtung 112 der zweiten Ausführungsform darin, dass Abschnittsinformationen eingegeben werden. Abschnittsinformationen weisen Informationen zum Anfangswert von Abschnittspositionen und zum Anfangswert eines Bewegungs-Befehlswerts in jedem Abschnitt auf. Es sei angemerkt, dass eine Abschnittsposition die Position eines Teilungspunktes Pi an jedem Ende jedes Abschnitts ist, z. B. eine Position, an der der Zielwert der Bewegungsgeschwindigkeit geändert wird. Der Zielwert der Bewegungsgeschwindigkeit wird in Reaktion auf den internen Sensor 141 oder den externen Sensor 142 geändert, der detektiert, dass der Endeffektor 130 eine vorher bestimmte Position erreicht hat.
  • Die Bewegungseinstellungsvorrichtung, das Bewegungssteuerungssystem und das Robotersystem gemäß der vorliegenden Ausführungsform stellen wie in der zweiten Ausführungsform einen Bewegungs-Befehlswert für jeden Abschnitt ein. Das Einstellen eines Bewegungs-Befehlswerts für jeden Abschnitt befähigt die Befehlswert-Lerneinheit 113b, als eine Lernvorrichtung zu dienen, die Einstellungen durchführt, um die Bewegung in einem Abschnitt zu verlangsamen, in dem eine Kollision oder dergleichen auftritt, und die Bewegung in den weiteren Abschnitten zu beschleunigen. Gemäß dieser Lernvorrichtung ist es möglich, Bewegungs-Befehlswerte, die eine Hochgeschwindigkeits-Arbeit erzielen, automatisch zu lernen. Die Befehlswert-Lerneinheit 113b lernt einen Bewegungs-Befehlswert jedem Abschnitt entsprechend automatisch. Zur Vereinfachung basiert die folgende Beschreibung auf der Annahme, dass die Bewegungseinstellungsvorrichtung 112b nur Bewegungs-Befehlswerte einstellt, ohne Steuerungsparameter einzustellen.
  • Bei der Bewegungseinstellungsvorrichtung, dem Bewegungssteuerungssystem und dem Robotersystem gemäß der vorliegenden Ausführungsform empfängt die Befehlswert-Lerneinheit 113b als Inputs Abschnittsinformationen, eine einschränkende Bedingung, den Detektionswert des Sensors 140 und einen Bewegungs-Befehlswert vor Aktualisierung, und aktualisiert jeden Bewegungs-Befehlswert. Die Abschnittsinformationen sind so definiert, dass sie einen Bewegungs-Befehlswert in N Abschnitte unterteilen. Jeder Teilungspunkt zur Teilung in Abschnitte ist definiert als Pi (i=0, 1, 2, ..., N+1). N ist hierbei eine natürliche Zahl. Außerdem werden hier der Anfangspunkt und der Endpunkt der Bewegung ebenfalls als Teilungspunkte erachtet und der Anfangspunkt wird mit P0 bezeichnet. Der Block zwischen dem Teilungspunkt unmittelbar vor einem Teilungspunkt Pi und dem Teilungspunkt Pi wird als Abschnitt Si (i=0, 1, 2, ..., N) bezeichnet.
  • Bei der Bewegungseinstellungsvorrichtung, dem Bewegungssteuerungssystem und dem Robotersystem gemäß der vorliegenden Ausführungsform werden Abschnitte jedes Mal definiert, wenn sich der Arbeitszustand ändert. Für Montagearbeiten unter Verwendung eines Kraftsensors sind beispielsweise Teilungspunkte Pi bevor und nachdem ein Kontaktereignis zwischen den zu montierenden Komponenten auftritt definiert und bevor und nachdem der Kontaktzustand sich ändert. Die Teilungspunkte Pi werden gemäß der erwarteten Änderung in dem Kontaktzustand definiert und, indem zu einem Bewegungsbefehls-Zielwert gewechselt wird - z. B. Position, Geschwindigkeit oder Beschleunigung -, der für jeden Teilungspunkt P1 geeignet ist, kann die gesamte Arbeit beschleunigt werden. Für diesen Fall werden aus vergangenen Versuchsinformationen angemessene Positionen für die Teilungspunkte Pi und ein Befehlswert-Muster für jeden Bereich Si definiert, was das Merkmal der Bewegungseinstellungsvorrichtung, des Bewegungssteuerungssystems und des Robotersystems gemäß der vorliegenden Ausführungsform ist.
  • Eine in die Befehlswert-Lerneinheit 113b eingegebene einschränkende Bedingung ist eine Bedingung, die eine Grenze zwischen Arbeitserfolg und Arbeitsversagen hinsichtlich einer Hochgeschwindigkeits-Arbeit definiert. Bei einem Hochgeschwindigkeits-Arbeitsvorgang besteht das Risiko, dass der Endeffektor 130 aufgrund eines Fehlers bei der Positionssteuerung des Endeffektors 130 oder dergleichen mit dem Arbeitsziel 200 stark kollidieren kann. Wenn eine starke Kollision auftritt, kann der Endeffektor 130 oder das Arbeitsziel 200 beschädigt werden, was zu einem Arbeitsfehler führt. Unter Berücksichtigung derartiger vergangener Arbeitsfehler kann der Nutzer eine einschränkende Bedingung in der Planungsphase definieren oder es kann eine einschränkende Bedingung unter Verwendung vergangener Versuchsdaten definiert werden, wobei Bewegungs-Befehlswerte für eine schonende Hochgeschwindigkeits-Arbeit ermittelt werden können.
  • Eine einschränkende Bedingung kann ein Positionsgrenzbereich sein, ein Ausrichtungsgrenzbereich, ein oberer Grenzwert für die Bewegungsgeschwindigkeit, ein unterer Grenzwert für die Bewegungsgeschwindigkeit, ein oberer Grenzwert für die Kraft, ein unterer Grenzwert für die Kraft, ein oberer Grenzwert für das Moment, ein unterer Grenzwert für das Moment oder dergleichen. Insbesondere für einen Fall, bei dem die Position und Ausrichtung des Roboters 120 und des Arbeitsziels 200 erfasst werden können, kann ein Grenzwert als einschränkende Bedingung eingegeben werden, der entweder von einer oberen oder unteren Grenze der Position und Orientierung des Roboters 120 oder der relativen Position und Ausrichtung des Roboters 120 und der Umgebung 300 definiert wird.
  • Daten, die von dem internen Sensor 141 oder dem externen Sensor 142 erfasst werden, werden als Sensorinformationen bezeichnet. Für die Sensorinformationen wird nach Bedarf eine Vorverarbeitung durchgeführt, wie etwa ein Vorgang zum Entfernen von Rauschen durch Filtern und ein Vorgang zum Extrahieren ausschließlich von Werten, die einen Schwellenwert überschreiten.
  • Ein Bewegungs-Befehlswert bezieht sich auf einen Steuerungs-Befehlswert, der in das Positions-Steuerungssystem des Robotersystems 100 eingegeben werden kann. Ein Bewegungs-Befehlswert wird auch einfach als Befehlswert bezeichnet. Die Bewegung des Roboters 120 wird durch den Betrieb des Motors jeder Achse gesteuert. Ein Bewegungs-Befehlswert kann beispielsweise ein Positions-Befehlswert, ein Geschwindigkeits-Befehlswert, ein Strom-Befehlswert oder dergleichen zur Steuerung des Betriebs des Motors sein. Die Bewegungseinstellungsvorrichtung 112b kann äquivalent Zeitreihen-Daten über Positions-Befehlswerte aus dem Geschwindigkeitsmuster erzeugen, das aus dem Profil erzeugt wird, das die Beziehung zwischen Zeit und Geschwindigkeit darstellt, und kann die Zeitreihen-Daten in die Robotersteuerungsvorrichtung 111 eingeben. Ein Bewegungs-Befehlswert kann auch in der Robotersteuerungsvorrichtung 111 erzeugt werden.
  • Die Bewegungseinstellungsvorrichtung 112b gemäß der vorliegenden Ausführungsform ruft einen Befehlswert von der Robotersteuerungsvorrichtung 111 ab und stellt den Bewegungs-Befehlswert ein und aktualisiert ihn entsprechend der Sensorinformationen, die als Reaktion auf die von dem Roboter 120 durchgeführte Arbeit gewonnen werden. Gleiches trifft auf die weiteren Ausführungsformen zu. Die folgende Beschreibung basiert auf der Annahme, dass ein von dem Bewegungssteuerungssystem ausgegebener Bewegungs-Befehlswert ein Geschwindigkeits-Befehlswert ist. Weitere Konfigurationen sind ebenfalls möglich, wie etwa eine Konfiguration, bei der die Bewegungseinstellungsvorrichtung 112b anstelle eines Bewegungs-Befehlswerts selbst Parameter an die Robotersteuerungsvorrichtung 111 weitergibt, die zur Erzeugung eines Bewegungs-Befehlswerts notwendig sind. Beispielsweise kann die Bewegungseinstellungsvorrichtung 112b nur Abschnittspositionen und den Zielwert der Bewegungsgeschwindigkeit in jedem Abschnitt in die Robotersteuerungsvorrichtung 111 eingeben. In diesem Fall erzeugt die Robotersteuerungsvorrichtung Bewegungs-Befehlswerte auf der Grundlage der eingegebenen Abschnittspositionen und Zielwerte der Bewegungsgeschwindigkeit.
  • Die Bewegungseinstellungsvorrichtung 112b weist die Befehlswert-Lerneinheit 113b auf. Die Befehlswert-Lerneinheit 113b stellt einen Bewegungs-Befehlswert ein und aktualisiert ihn. Die Befehlswert-Lerneinheit 113b berechnet einen neuen Bewegungs-Befehlswert basierend auf Abschnittsinformationen, einer einschränkenden Bedingung, einem Bewegungs-Befehlswert vor Aktualisierung und dem Detektionswert des Sensors 140. Die Befehlswert-Lerneinheit 113b ist dazu bestimmt, unter Verwendung einer Evaluationsfunktion bei Berechnung eines neuen Bewegungs-Befehlswerts die Hochgeschwindigkeits-Performance und Arbeitsqualität einer Arbeit zu evaluieren, und nach einer Hochgeschwindigkeits-Bewegung zu suchen, bei der es unwahrscheinlich ist, dass das Arbeitsziel 200 Schaden nimmt. Außerdem kann die Bewegungseinstellungsvorrichtung 112b dazu konfiguriert sein, Steuerungsparameter einzustellen und zu aktualisieren, die in der Robotersteuerungsvorrichtung 111 verwendet werden. Die Einstellung und Aktualisierung von Steuerungsparametern werden auch von der Befehlswert-Lerneinheit 113b durchgeführt.
  • 13 ist ein Blockdiagramm, das eine beispielhafte Konfiguration der Befehlswert-Lerneinheit 113b gemäß der dritten Ausführungsform der vorliegenden Erfindung darstellt und das seitliche Blöcke darstellt. 13 zeigt einen herausgelösten Teil der Konfiguration des Robotersystems 100. Die Befehlswert-Lerneinheit 113b weist eine Speichereinheit 114 und eine Lern-Verarbeitungseinheit 115 auf. Ein Beispiel für ein Suchverfahren in der Befehlswert-Lerneinheit 113b wird unter Bezugnahme auf 13 beschrieben. Dabei wird angenommen, dass die Anzahl von Abschnitten im Voraus als N=4 definiert wird. Zudem wird angenommen, dass ein Geschwindigkeits-Zielwert, der ein in jedem Abschnitt definierter Ziel-Geschwindigkeitswert ist, als ein Bewegungs-Befehlswert verwendet wird. Außerdem wird angenommen, dass die Befehlswert-Lerneinheit 113b Hochgeschwindigkeits-Arbeit erzielt, indem der Geschwindigkeits-Zielwert für jeden Abschnitt eingestellt wird.
  • 14 ist eine Abbildung, die eine beispielhafte Arbeit darstellt, die von dem Robotersystem 100 gemäß der dritten Ausführungsform der vorliegenden Erfindung durchgeführt wird. Wie in 14 dargestellt, führt das Robotersystem 100 die Arbeit des Einführens einer ersten Komponente 210 in eine zweite Komponente 310 durch. 14 stellt dar, wie sich die relative Position der ersten Komponente 210 und der zweiten Komponente 310 ändert, wenn die Arbeit in der Reihenfolge (a), (b), (c) und (d) fortschreitet. Die erste Komponente 210 entspricht dem Arbeitsziel 200 und die zweite Komponente 310 entspricht der Umgebung 300.
  • Die erste Komponente 210 weist ein Loch 211 auf. Die zweite Komponente 310 wiederum weist einen Vorsprung 311 auf. Wenn die erste Komponente 210 in die zweite Komponente 310 eingeführt wird, wird der Vorsprung 311 in das Loch 211 eingeführt. Die erste Komponente 210 ist aus einem ersten Material gefertigt. Die zweite Komponente 310 hingegen weist einen Bereich 312 auf, der aus dem ersten Material gefertigt ist, und einen Bereich 313, der aus einem zweiten Material gefertigt ist. Wenn die erste Komponente 210 in die zweite Komponente 310 eingeführt wird, ändert sich der Kontaktzustand zwischen der ersten Komponente 210 und der zweiten Komponente 310.
  • Bei dem in 14 dargestellten Beispiel ändern sich der Kontaktteil und der Kontaktzustand zwischen den Komponenten, wenn die Arbeit von (b) zu (d) fortschreitet. Beispiele des Kontaktzustands sind u. a. das Material jeder Komponente des Kontaktbereichs, die Breite des Kontaktbereichs und dergleichen. Wenn sich der Kontaktzustand ändert, ändert sich auch die Reibungskraft, die an den Kontaktbereichen erzeugt wird. In 14(b) wird eine Reibungskraft zwischen den äußeren Formen der ersten Komponente 210 und der zweiten Komponente 310 erzeugt. In 14(c) kommt ferner ein Kontakt zwischen dem Loch 211 und dem Vorsprung 311 hinzu, sodass die Reibungskraft vergrößert wird. Aufgrund einer Änderung in der Reibungskraft, die zwischen den Komponenten erzeugt wird, ändert sich auch das Detektionsergebnis des Kraftsensors 143. Das heißt, dass sich bei einer Komponenten-Montagearbeit, einer Verbinder-Einfügungsarbeit oder dergleichen die Reaktionskraft zwischen den Komponenten entsprechend dem Fortschreiten der Arbeit ändert. Der Kraftsensor detektiert die Reaktionskraft zwischen den Komponenten.
  • Wie in 13 dargestellt, speichert die Befehlswert-Lerneinheit 113b in der Speichereinheit 114 die von dem Sensor 140 detektierten Kraftinformationen und das von der Robotersteuerungsvorrichtung 111 erfasste Geschwindigkeitsmuster. Es wird angenommen, dass das Robotersystem 100 den Roboter 120 betreiben kann, indem ein Geschwindigkeitsmuster zugeordnet wird, wenn ein Arbeitsversuch zur Einstellung eines Bewegungs-Befehlswerts durchgeführt wird. Basierend auf den in der Speichereinheit 114 gespeicherten Kraftinformationen, dem Geschwindigkeitsmuster, den Abschnittsinformationen und der einschränkenden Bedingung aktualisiert die Lern-Verarbeitungseinheit 115 das Geschwindigkeitsmuster und gibt das aktualisierte Geschwindigkeitsmuster als Offline-Verarbeitung an die Robotersteuerungsvorrichtung 111 aus.
  • Hier ist ein Geschwindigkeitsmuster in der Robotersteuerungsvorrichtung 111 gespeichert. Wenn ein Bewegungs-Befehlswert eingestellt wird, unterstützt die Bewegungseinstellungsvorrichtung 112b jedoch Arbeitsversuche mit verschiedenen Geschwindigkeitsmuster-Typen, auch für ein Referenz-Geschwindigkeitsmuster. Daher führt das Robotersystem 100, wenn ein Bewegungs-Befehlswert eingestellt wird, Versuche unter verschiedenen Bedingungen durch. Die Bewegungseinstellungsvorrichtung 112b stellt den Bewegungs-Befehlswert basierend auf Daten ein, die über die Versuche unter diversen Bedingungen ermittelt wurden. Beispielsweise führt das Robotersystem 100 Na Versuche mit verschiedenen Bewegungs-Befehlswerten durch, einschließlich Bewegungs-Befehlswerten, die sich von einem in der Robotersteuerungsvorrichtung 111 gespeicherten Bewegungs-Befehlswert unterscheiden. Die Bewegungseinstellungsvorrichtung 112b empfängt eingegebene Daten, die als Ergebnis der Na Versuche ermittelt wurden, lernt sogleich und aktualisiert den Bewegungs-Befehlswert. Sobald Nb Sets von Na Versuchen durchgeführt sind, konvergieren die Bewegungs-Befehlswerte in vielen Fällen und es tritt keine weitere Verbesserung auf. Na und Nb sind hier ganze Zahlen von eins oder mehr.
  • Wie vorstehend beschrieben, werden bei dem Robotersystem 100 gemäß der vorliegenden Ausführungsform unter Verwendung von einem oder mehreren vorgegebenen Bewegungs-Befehlswerten Versuche durchgeführt und Evaluationswerte werden auf Grundlage der ermittelten Kraftsensor-Daten erzeugt. Die Bewegungseinstellungsvorrichtung 112b aktualisiert die Bewegungs-Befehlswerte basierend auf jedem Evaluationswert. Zur Bewegungs-Befehlswert-Aktualisierung erzeugt die Bewegungseinstellungsvorrichtung 112b einen oder mehrere Bewegungs-Befehlswerte und führt erneut Versuche durch. Für einen Fall, in dem nur ein Bewegungs-Befehlswert vorliegt, beendet die Bewegungseinstellungsvorrichtung 112b die Bewegungs-Befehlswert-Aktualisierung, wenn die Evaluationswerte in dem Graphen konvergieren, in dem die Evaluationswerte geplottet werden. In einem Fall, bei dem eine Vielzahl von Bewegungs-Befehlswerten vorliegt, beendet die Bewegungseinstellungsvorrichtung 112b die Bewegungs-Befehlswert-Aktualisierung, wenn die Evaluationsergebnisse in dem Graphen konvergieren, in dem nur die Ergebnisse geplottet werden, die die Evaluationswerte minimieren, die den Bewegungs-Befehlswerten entsprechen. Für diesen Fall aktualisiert die Bewegungseinstellungsvorrichtung 112b die Vielzahl von Bewegungs-Befehlswerten zu Bewegungs-Befehlswerten, die den kleinsten Evaluationswert angeben.
  • 15 ist ein Flussdiagramm, das einen beispielhaften Ablauf darstellt, dem die Lern-Verarbeitungseinheit 115 gemäß der dritten Ausführungsform der vorliegenden Erfindung folgt. Wie in 15 dargestellt, führt die Lern-Verarbeitungseinheit 115 in Schritt S100 zuerst die Vorverarbeitung als Vorbereitungsstufe aus. Als nächstes führt in Schritt S200 die Lern-Verarbeitungseinheit 115 Lernverarbeitung durch.
  • 16 ist ein Flussdiagramm, das einen beispielhaften Ablauf für die Vorverarbeitung darstellt, die von der Lern-Verarbeitungseinheit 115 gemäß der dritten Ausführungsform der vorliegenden Erfindung durchgeführt wird. Um den Vorgang zu erklären, zeigt 16 zudem die Vorgänge, die von anderen Blöcken als dem der Lern-Verarbeitungseinheit 115 durchgeführt werden. Zunächst gibt in Schritt S101 die Robotersteuerungsvorrichtung 111 Steuerungsparameter zur Durchführung einer Kraft-Detektionssteuerung vor. Anschließend führt in Schritt S102 die Robotersteuerungsvorrichtung 111 einen Arbeitsversuch durch, indem der Roboter 120 betrieben wird. Danach erfasst in Schritt S103 die Befehlswert-Lerneinheit 113b die in dem Versuch gewonnenen Daten. Die bei jedem Versuch ermittelten Daten werden Versuchsdaten genannt. Die Versuchsdaten sind u. a. die in jedem Versuch detektierten Kraftinformationen und das in jedem Versuch verwendete Geschwindigkeitsmuster. Kraftinformationen sind Zeitreihen-Daten, die von dem Kraftsensor 143 in vorher bestimmten Zeitabständen in jedem Versuch erfasst werden, und werden auch Kraft-Wellenform genannt. Als nächstes speichert in Schritt S104 die Speichereinheit 114 die in Schritt S103 erfassten Daten.
  • Im Anschluss ermittelt in Schritt S105 die Lern-Verarbeitungseinheit 115, ob K oder mehr Versuchsdaten-Elemente erfasst wurden. K ist hier eine natürliche Zahl und wird im Voraus vorgegeben. Wenn K oder mehr Versuchsdaten-Elemente noch nicht erfasst worden sind, kehrt die Verarbeitung zu Schritt S102 zurück. Wenn allerdings K oder mehr Versuchsdaten-Elemente erfasst wurden, schreitet die Verarbeitung zu Schritt S106 fort. Somit wurden zu dem Zeitpunkt, an dem die Verarbeitung zu Schritt S106 fortschreitet, K Versuchsdaten-Elemente D1j (j=1, 2, 3,... K) erfasst und in der Speichereinheit 114 gespeichert.
  • In Schritt S106 definiert dann die Lern-Verarbeitungseinheit 115 Abschnittspositionen basierend auf den K Versuchsdaten-Elemente, die in der Speichereinheit 114 gespeichert sind. Eine Abschnittsposition ist die Position eines Teilungspunktes an jedem Ende jedes Abschnittes. Die Position eines Teilungspunktes entspricht beispielsweise der Position des Endeffektors 130. Die Position eines Teilungspunktes dient als Position, an der der Geschwindigkeits-Zielwert geändert wird. Die Position eines Teilungspunktes kann ein Anfangspunkt zum Wechseln der Zielgeschwindigkeit sein oder ein Abschlusspunkt zum Wechseln der Zielgeschwindigkeit. Die Position eines Teilungspunktes kann ein Punkt sein, an dem die von dem internen Sensor 141 detektierte Bewegungsgeschwindigkeit garantiert innerhalb eines vorher bestimmten Fehlerbereichs von der Bewegungsgeschwindigkeit liegt.
  • Die Lern-Verarbeitungseinheit 115 definiert Abschnittspositionen auf der Grundlage von beispielsweise dem Durchschnitt oder der Varianz der K Versuchsdaten-Elemente. Die Lern-Verarbeitungseinheit 115 kann die Änderungsrate der Kraft-Wellenform fokussieren, um die Positionen der Teilungspunkte automatisch zu ermitteln, indem die Teilungspunkte an Positionen vor und nach großen Änderungen in der Wellenform vorgegeben werden. Alternativ kann der Nutzer manuell Teilungspunkte an Positionen der Zustandsänderung gemäß dem Arbeitsinhalt bzw. -gegenstand bestimmen.
  • Als nächstes ermittelt in Schritt S107 die Lern-Verarbeitungseinheit 115, ob Abschnittspositionen definiert wurden. Wenn Abschnittspositionen noch nicht definiert worden sind, kehrt die Verarbeitung zu Schritt S106 zurück. Wenn Abschnittspositionen definiert wurden, schreitet die Verarbeitung zu Schritt S108. Danach definiert die Lern-Verarbeitungseinheit 115 in Schritt S108 einen Geschwindigkeits-Zielwert für jeden Abschnitt. Ein Geschwindigkeits-Zielwert wird basierend auf dem oberen Grenzwert der Kraft, der von dem Nutzer bestimmt wurde, und der Ziel-Taktzeit berechnet.
  • Insbesondere gibt die Lern-Verarbeitungseinheit 115 als einen Gesamtgeschwindigkeits-Zielwert Vdn die Standard-Arbeitsgeschwindigkeit für die Fertigstellung der Arbeit innerhalb der Ziel-Taktzeit an. Anschließend definiert die Lern-Verarbeitungseinheit 115 basierend auf dem oberen Grenzwert der Kraft einen oberen Grenzwert Vmax der Geschwindigkeit. Die Beziehung zwischen der Geschwindigkeit, mit der der Endeffektor 130 mit dem Arbeitsziel 200 oder der Umgebung 300 kollidiert, und der externen Kraft, die zu der Zeit auf den Endeffektor 130 ausgeübt wird, kann im Voraus basierend auf der Steifigkeitsinformation über das Arbeitsziel berechnet werden. Die Lern-Verarbeitungseinheit 115 kann den oberen Grenzwert Vmax der Geschwindigkeit unter Bezugnahme auf eine Tabelle oder dergleichen berechnen, die diese Beziehung speichert.
  • Die Lern-Verarbeitungseinheit 115 ermittelt eine Zielgeschwindigkeit Vd unter Verwendung des Gesamtgeschwindigkeits-Zielwerts Vdn und des oberen Grenzwerts Vmax der Geschwindigkeit. Der Geschwindigkeits-Zielwert Vd ist größer als Null und kleiner als der obere Grenzwert Vmax der Geschwindigkeit. Die Zielgeschwindigkeit Vd ist so vorgegeben, dass sich die Zielgeschwindigkeit Vd graduell Vdn annähert. Die Lern-Verarbeitungseinheit 115 definiert beispielsweise eine Vielzahl von Geschwindigkeits-Zielwerten Vd unter Verwendung von beliebigen Zahlen, sodass die Geschwindigkeitsparameter unter der Bedingung von 0<Vd<Vdn<Vmax zu einem gewissen Grad variieren. Auf diese Weise ermittelt in Schritt S108 die Lern-Verarbeitungseinheit 115 Geschwindigkeits-Zielwerte Vd, die innerhalb eines bestimmten Bereichs variieren. In Schritt S109 ermittelt die Lern-Verarbeitungseinheit 115 dann, ob die Geschwindigkeits-Zielwerte definiert wurden. Wenn die Geschwindigkeits-Zielwerte noch nicht definiert worden sind, dann kehrt die Verarbeitung zu Schritt S108 zurück. Wenn die Geschwindigkeits-Zielwerte definiert wurden, endet die Vorverarbeitung. Der Anfangswert zum Durchführen der Lernverarbeitung wird von der Vorverarbeitung ermittelt.
  • 17 ist ein Flussdiagramm, das einen beispielhaften Ablauf für die Lernverarbeitung darstellt, die von der Lern-Verarbeitungseinheit 115 gemäß der dritten Ausführungsform der vorliegenden Erfindung durchgeführt wird. Um den Vorgang zu erklären, zeigt 17 außerdem die Vorgänge, die von anderen Blöcken als dem der Lern-Verarbeitungseinheit 115 durchgeführt werden. Zunächst führt in Schritt S201 die Robotersteuerungsvorrichtung 111 einen Arbeitsversuch durch, indem der Roboter 120 betrieben wird. Als nächstes erfasst in Schritt S202 die Befehlswert-Lerneinheit 113b die aus dem Versuch gewonnenen Versuchsdaten. In Schritt S203 speichert dann die Speichereinheit 114 die in Schritt S202 erfassten Versuchsdaten.
  • Im Anschluss ermittelt in Schritt S204 die Lern-Verarbeitungseinheit 115, ob M oder mehr Versuchsdaten-Elemente erfasst wurden. M ist hier eine natürliche Zahl und wird im Voraus vorgegeben. Wenn M oder mehr Versuchsdaten-Elemente noch nicht erfasst worden sind, kehrt die Verarbeitung zu Schritt S201 zurück. Wenn allerdings M oder mehr Versuchsdaten-Elemente erfasst wurden, schreitet die Verarbeitung zu Schritt S205. Daher wurden zu dem Zeitpunkt, an dem die Verarbeitung zu Schritt S205 fortschreitet, M Versuchsdaten-Elemente D2j (j=1, 2, 3, ... M) erfasst und in der Speichereinheit 114 gespeichert. Wenn M Sets von Abschnittspositionen und Geschwindigkeits-Zielwerten definiert wurden, werden die Versuche in Schritt S201 unter Verwendung verschiedener Sets von Abschnittspositionen und Geschwindigkeits-Zielwerten ausgeführt. Daher wurden zu dem Zeitpunkt, an dem die Verarbeitung zu Schritt S205 fortschreitet, M Versuchsdaten-Elemente D2j, die den M Sets von Abschnittspositionen entsprechen, und Geschwindigkeits-Zielwerte gespeichert.
  • Anschließend berechnet in Schritt S205 die Lern-Verarbeitungseinheit 115 basierend auf einer einschränkenden Bedingung einen Evaluationswert für jedes der M Versuchsdaten-Elemente. Die berechneten Evaluationswerte werden gespeichert. In Schritt S206 berechnet als nächstes die Lern-Verarbeitungseinheit 115 Abschnittspositionen und Geschwindigkeits-Zielwerte, die dem Versuchsdaten-Element mit dem besten Evaluationswert der M Versuchsdaten-Elemente entsprechen. In Schritt S207 vergleicht die Lern-Verarbeitungseinheit 115 dann den besten Evaluationswert der neu erhaltenen M Evaluationswerte mit vergangenen Evaluationswerten und ermittelt, ob die Evaluationswerte zu dem Ergebnis konvergiert sind, das den besten Evaluationswert hervorbringt. Wenn die Evaluationswerte konvergiert sind, schreitet die Verarbeitung zu Schritt S209 fort, in dem ein Vorgang zur Fertigstellung der Einstellung durchgeführt wird, und die Einstellung der Bewegungs-Befehlswerte ist abgeschlossen. Die Abschnittspositionen und Geschwindigkeits-Zielwerte, die zu dem Zeitpunkt, an dem die Einstellung der Bewegungs-Befehlswerte abgeschlossen ist, den besten Evaluationswert erzielt haben, sind die Ergebnisse der Einstellung der Bewegungs-Befehlswerte. Wenn aber die Evaluationswerte noch nicht konvergiert sind, schreitet die Verarbeitung zu Schritt S208.
  • Als nächstes definiert in Schritt S208 die Lern-Verarbeitungseinheit 115 M Sets von Abschnittspositionen und Geschwindigkeits-Zielwerten neu und aktualisiert die Abschnittspositionen und Geschwindigkeits-Zielwerte. Die M Sets von Abschnittspositionen und Geschwindigkeits-Zielwerten weisen unterschiedliche Abschnittspositionen oder Geschwindigkeits-Zielwerte auf. In Schritt S208 gibt die Lern-Verarbeitungseinheit 115 also M Sets von Bewegungs-Befehlswerten neu vor. Jedes der M Sets von Bewegungs-Befehlswerten weist als Parameter Abschnittsbereiche und Geschwindigkeits-Zielwerte auf, die den jeweiligen Abschnittspositionen entsprechen. Jedes Set von Bewegungs-Befehlswerten weist Abschnittspositionen und Geschwindigkeits-Zielwerte auf, wobei die Anzahl von Abschnittspositionen um eins größer ist als die Anzahl von Abschnitten und die Anzahl von Geschwindigkeits-Zielwerten gleich der Anzahl von Abschnitten ist. Wenn der Vorgang des Schrittes S208 abgeschlossen ist, kehrt die Verarbeitung zu Schritt S201 zurück.
  • Wie vorstehend beschrieben, führt bei der Lernverarbeitung das Robotersystem 100 M Versuchsarbeiten auf Grundlage der vorgegebenen Abschnittspositionen und der Geschwindigkeits-Zielwerte durch, die für die jeweiligen Abschnitte vorgegeben sind. Die M Versuchsarbeiten werden unter verschiedenen Abschnittspositions- oder Geschwindigkeits-Zielwert-Bedingungen durchgeführt. Jedes Mal wenn M Versuche abgeschlossen sind, aktualisiert die Lern-Verarbeitungseinheit 115 die Position eines Teilungspunktes für jeden Abschnitt und den Geschwindigkeits-Zielwert für jeden Abschnitt.
  • 18 ist eine Abbildung, die ein Beispiel eines Geschwindigkeitsmusters für einen Test in dem Robotersystem 100 gemäß der dritten Ausführungsform der vorliegenden Erfindung darstellt. 19 ist eine Abbildung, die ein Beispiel für Kraftinformationen darstellt, die während eines Versuchs in dem Robotersystem 100 gemäß der dritten Ausführungsform der vorliegenden Erfindung erfasst werden. In 18 und 19 sind P0 bis P3 die Positionen von Teilungspunkten und S1 bis S4 stellen vier Abschnitte dar. In 18 stellen V1 bis V4 Geschwindigkeits-Zielwerte in den jeweiligen Abschnitten dar. 19 zeigt Kraftinformationen, die in dem Versuch erfasst werden, der das in 18 dargestellte Geschwindigkeitsmuster verwendet.
  • Bei der wie in 14 dargestellten Montagearbeit kann die Reaktionskraft zwischen dem die erste Komponente 210 haltenden Endeffektor 130 und der zweiten Komponente 310 den Grenzwert nahe der Position überschreiten, bei der Kontakt zwischen den Komponenten auftritt. In diesem Fall kann der Betrag der Kraft, die den Grenzwert überschreitet, als ein Grenzüberschreitungs-Betrag evaluiert werden. In 19 überschreitet der Betrag der von dem Kraftsensor 143 detektierten Kraft F den Grenzwert L0 in Abschnitt S2. Der Grenzüberschreitungs-Betrag DH wird als die Differenz zwischen dem detektierten Betrag der Kraft F und dem Grenzwert L0 berechnet, wenn der detektierte Betrag der Kraft F den Grenzwert L0 überschreitet. Wenn ein Abschnitt vorhanden ist, in dem der Grenzüberschreitungs-Betrag DH größer ist als der vorgegebene Schwellenwert, muss der Geschwindigkeits-Zielwert dieses Abschnittes eingestellt werden.
  • In 19 ist die in Abschnitt S2 detektierte Kraft F groß. Daher stellt die Lern-Verarbeitungseinheit 115 das in 18 dargestellte Geschwindigkeitsmuster so ein, dass der Geschwindigkeits-Zielwert V2 in dem Abschnitt S2 abnimmt. Die Lern-Verarbeitungseinheit 115 stellt die Positionen der Teilungspunkte P1 und P2 weiter ein, die die zwei Enden des Abschnittes S2 sind. Bei dem in 18 dargestellten Geschwindigkeitsmuster ist der Teilungspunkt P1 ein Punkt, bei dem begonnen wird, den Geschwindigkeits-Zielwert zu verringern. Der Teilungspunkt P2 ist ein Punkt, bei dem begonnen wird, den Geschwindigkeits-Zielwert zu erhöhen. Das heißt, dass die Lern-Verarbeitungseinheit 115 auch die Position eines Punktes einstellt, bei dem begonnen wird, den Geschwindigkeits-Zielwert zu ändern. Diese Einstellungen erfolgen basierend auf einer einschränkenden Bedingung.
  • Für einen Fall beispielsweise, bei dem der Grenzwert L0 auf den Betrag der Kraft F als einschränkende Bedingung festgelegt wird, wird eine Evaluationsfunktion so definiert, dass Versuche, in denen der obere Grenzwert L0 nicht überschritten wird, einen Evaluationswert von Null für den Betrag der Kraft F aufweisen. Wenn kein Evaluationswert von Null für den Betrag der Kraft F ermittelt wird, aktualisiert die Lern-Verarbeitungseinheit 115 den Geschwindigkeits-Zielwert V2 und die Positionen der Teilungspunkte P1 und P2 kontinuierlich und stellt die Bewegungs-Befehlswerte ein. Zeitgleich zu dieser Einstellung kann eine Evaluationsfunktion so definiert werden, dass die Arbeit so schnell wie möglich durchgeführt werden kann. In 19 weist der detektierte Betrag der Kraft F in den Abschnitten S1, S3 und S4 einen Differenzbetrag DL bezüglich des Grenzwerts L0 auf. Hier sei angenommen, dass der Differenzbetrag DL ein Betrag zu dem Grenzwert L0 oder ein Index eines Betrags zu dem Grenzwert L0 ist. Ein Betrag zu dem Grenzwert L0 ist definiert durch die Differenz zwischen dem Grenzwert L0 und dem detektierten Betrag der Kraft F. Wenn der Differenzbetrag DL größer als Null ist, dann kann der Geschwindigkeits-Zielwert in der zunehmenden Richtung eingestellt und aktualisiert werden. Eine derartige Einstellung ermöglicht, dass die Arbeit so schnell wie möglich durchgeführt werden kann.
  • Diese Einstellungen werden in den Schritten S205 und S206 in 17 durchgeführt. Zu dieser Zeit kann maschinelles Lernen oder ein Optimierungsverfahren unter Verwendung einer Evaluationsfunktion angewendet werden, um die Positionen der Teilungspunkte Pi und die Geschwindigkeits-Zielwerte zu berechnen, die den besten Evaluationswert erzeugen. So können beispielsweise Verfahren wie etwa bestärkendes Lernen, Bayessche Optimierung und Partikelschwarmoptimierung angewendet werden. Diese Verfahren zu verwenden, ermöglicht die Vorgabe von Bewegungs-Befehlswerten, die den besten Evaluationswert erzeugen. Es wird zum Beispiel angenommen, dass die von der Formel (1) dargestellte Evaluationsfunktion Fq, die die Kraft F (t) verwendet, die zu jedem Zeitpunkt während der Arbeit detektiert wird, sowie die Arbeitszeit T definiert sind. Die Lern-Verarbeitungseinheit 115 stellt die Bewegungs-Befehlswerte so ein, dass der unter Verwendung der Evaluationsfunktion Fq berechnete Evaluationswert abnimmt. Dadurch kann die Lern-Verarbeitungseinheit 115 die Bewegungs-Befehlswerte ermitteln, die die Kraft F (t) und die Arbeitszeit T verringern. Wie in 17 dargestellt, ist die Einstellung abgeschlossen, wenn Evaluationswerte konvergieren, die unter Verwendung der Evaluationsfunktion ermittelt werden.
    [Formel 1] Fq ( F ,T ) = wf * ( Flim F ( t ) ) + wt * T
    Figure DE112018005832T5_0001
  • Die Bewegungseinstellungsvorrichtung 112, das Bewegungssteuerungssystem 110 und das Robotersystem 100 gemäß der vorliegenden Ausführungsform sind wie vorstehend beschrieben konfiguriert. Gemäß der Bewegungseinstellungsvorrichtung 112 dem Bewegungssteuerungssystem 110 und dem Robotersystem 100 der vorliegenden Ausführungsform wird die Bewegung des Roboters 120 für jeden Abschnitt eingestellt. Daher kann die Bewegung des Roboters 120 in einer Weise eingestellt werden, die den Vorgang der gesamten Arbeit nicht unnötig verlangsamt, sodass keine übermäßige Last auf das Arbeitsziel 200 oder die Umgebung 300 wirkt. Zudem kann die Einstellung der Bewegung des Roboters 120 erleichtert werden. Eine weitere Einstellung, die die Bewegung in dem Abschnitt beschleunigt, in dem der Detektionswert des Kraftsensors 143 kleiner ist als ein vorher bestimmter Wert, kann den Vorgang der gesamten Arbeit beschleunigen.
  • Wie vorstehend beschrieben, wird gemäß der Bewegungseinstellungsvorrichtung 112, dem Bewegungssteuerungssystem 110 und dem Robotersystem 100 der vorliegenden Ausführungsform zur Aktualisierung ein optimaler Bewegungs-Befehlswert für jeden Block gelernt, was eine detaillierte Gestaltung von Bewegungs-Befehlswerten ermöglicht, die konventionelle Einstellungstechniken nicht erreichen können. Dadurch kann Roboterarbeit mit hoher Geschwindigkeit und hoher Qualität erzielt werden. Insbesondere kann gemäß der Bewegungseinstellungsvorrichtung 112, dem Bewegungssteuerungssystem 110 und dem Robotersystem 100 der vorliegenden Ausführungsform die Arbeitszeit für Komponenten-Montagearbeiten, Verbinder-Einfügungsarbeiten oder dergleichen verkürzt werden, während die Reaktionskraft zwischen den miteinander zu verbindenden Komponenten verringert ist.
  • Ausführungsform 4
  • 20 ist ein Blockdiagramm, das eine beispielhafte Konfiguration einer Bewegungseinstellungsvorrichtung 112c gemäß der vierten Ausführungsform der vorliegenden Erfindung darstellt und das seitliche Blöcke darstellt. Bei der Bewegungseinstellungsvorrichtung, dem Bewegungssteuerungssystem und dem Robotersystem gemäß der vorliegenden Ausführungsform sind die weiteren Konfigurationen die gleichen wie die in 1 dargestellten. 20 zeigt einen herausgelösten Teil der Konfiguration des Robotersystems 100. Die Bewegungseinstellungsvorrichtung 112c gemäß der vorliegenden Ausführungsform weist die Befehlswert-Lerneinheit 113b und eine Befehlswert-Abschnittseinheit 116 auf.
  • Die Befehlswert-Abschnittseinheit 116 empfängt einen Bewegungs-Befehlswert vor Aktualisierung von der Robotersteuerungsvorrichtung 111, eine Sensorinformation von dem Sensor 140, die der Detektionswert des Sensors 140 ist, sowie eine einschränkende Bedingung von außen. In Reaktion auf diese Inputs definiert die Befehlswert-Abschnittseinheit 116 Teilungspunkte Pi (i=0, 1, 2, ..., N+1), die den Bewegungs-Befehlswert unter Verwendung der Position des Endeffektors 130 oder dergleichen oder einer Befehlswert-Fortschrittsrate teilen, und gibt die Teilungspunkte Pi als Abschnittsinformationen aus. Die Befehlswert-Lerneinheit 113b ist die gleiche wie die in 12 dargestellte.
  • Die Bewegungseinstellungsvorrichtung 112c gemäß der vorliegenden Ausführungsform ermittelt den zu teilenden Raum, indem beispielsweise maschinelles Lernen unter Verwendung des Merkmalsbetrags der Sensorinformation oder einer einschränkenden Bedingung angewendet wird, und erzeugt die aktuellen Teilungspunkte Pi unter Verwendung von Klasseninformation über den hier geteilten Merkmalsbetrags-Raum. Die Bewegungseinstellungsvorrichtung 112c führt die Vorverarbeitung und die Lernverarbeitung in der in 15 dargestellten Weise durch. 21 ist ein Flussdiagramm, das einen beispielhaften Ablauf für die Vorverarbeitung darstellt, die von der Bewegungseinstellungsvorrichtung 112c gemäß der vierten Ausführungsform der vorliegenden Erfindung durchgeführt wird. 22 ist ein Flussdiagramm, das einen beispielhaften Ablauf für die Lernverarbeitung darstellt, die von der Bewegungseinstellungsvorrichtung 112c gemäß der vierten Ausführungsform der vorliegenden Erfindung durchgeführt wird.
  • Die in 21 dargestellte Vorverarbeitung unterscheidet sich von der in 16 dargestellten Verarbeitung insofern, dass die Anzahl sowohl von Abschnitten als auch von Abschnittspositionen in Schritt S106b definiert wird. Beispielsweise können auf Grundlage der Wellenformeigenschaften Abschnitte automatisch erzeugt werden. Was die Wellenformeigenschaften betrifft, wird - beispielsweise bezüglich Positionsdaten, Geschwindigkeitsdaten, Kraftdaten und in Zeitreihen erfassten Kraftänderungsraten-Daten - der Maximalwert oder die Frequenzverteilung von Daten in regelmäßigen Intervallen Tsmp eingegeben und basierend auf den Eingaben wird Clustering durchgeführt. Clustering, das eine Clustering-Technik wie etwa k-Means verwendet, was eine Art von maschinellem Lernen ist, kann eine Trennung für jeden charakteristischen Verlauf der Wellenform definieren. Es wird angenommen, dass dementsprechend beispielsweise X Typen von Wellenformeigenschaften definiert werden.
  • Als nächstes können basierend auf den gewonnenen Clustern die ursprünglichen Daten gelabelt werden. Es ist beispielsweise möglich, indem die Ähnlichkeit S (i) (wobei i=1, 2, 3, ..., X) eines in jedes der X Cluster eingegebenen Ziels definiert wird, in Prozent auszudrücken, welchen Gruppenattribut-Eigenschaften das eingegebene Ziel am nächsten ist. In diesem Fall kann die nächstgelegene Gruppe als eine Gruppe mit dem höchsten Prozentsatz gelabelt werden. Wenn die Zeit t eine Variable ist, wird ein Label L (t) für jede Zeit definiert. In Schritt S106b kann die Anzahl von Abschnitten und Abschnittspositionen definiert werden, indem Trennungen an allen oder einigen der Label-Änderungsteile angegeben werden.
  • Die in 22 dargestellte Lernverarbeitung unterscheidet sich von der in 17 dargestellten Verarbeitung hinsichtlich drei Vorgängen von Schritt S211, Schritt S212 und Schritt S213. Bei der in 22 dargestellten Lernverarbeitung wird in Schritt S211 basierend auf Sensorinformationen, Bewegungs-Befehlswerten, Steuerungsparametern und einer einschränkenden Bedingung ein erster Evaluationswert unter Verwendung einer Evaluationsfunktion zum Lernen der Anzahl von Abschnitten und Abschnittspositionen berechnet. Außerdem lernt und aktualisiert die in 22 dargestellte Lernverarbeitung in Schritt S212 die Anzahl von Abschnitten und Abschnittspositionen auf Grundlage des ersten Evaluationswerts. Ferner berechnet die in 22 dargestellte Lernverarbeitung einen zweiten Evaluationswert zum Lernen von Bewegungs-Befehlswerten in Schritt S213. Daher lernt die in 22 dargestellte Lernverarbeitung Bewegungs-Befehlswerte, nachdem die Anzahl von Abschnitten und Abschnittspositionen gelernt wurde.
  • Die vorstehend beschriebenen Vorgänge stellen einen zusätzlichen Rahmen zum automatischen Lernen von Abschnittsinformationen zur Verfügung, was den Entwurf von Abschnittsinformationen im Vorfeld unter Verwendung von Vorwissen überflüssig macht. Somit kann eine spezielle Wirkung der Verkürzung der Konzeptionszeit erreicht werden.
  • Ausführungsform 5
  • 23 ist ein Blockdiagramm, das eine beispielhafte Konfiguration einer Bewegungseinstellungsvorrichtung 112d gemäß der fünften Ausführungsform der vorliegenden Erfindung darstellt und das seitliche Blöcke darstellt. Bei der Bewegungseinstellungsvorrichtung, dem Bewegungssteuerungssystem und dem Robotersystem gemäß der vorliegenden Ausführungsform sind die weiteren Konfigurationen die gleichen wie die in 1 dargestellten. 23 zeigt einen herausgelösten Teil der Konfiguration des Robotersystems 100. Die Bewegungseinstellungsvorrichtung 112d gemäß der vorliegenden Ausführungsform weist die Befehlswert-Abschnittseinheit 116 und eine Bewegungslerneinheit 117 auf. Die Befehlswert-Abschnittseinheit 116 ist die gleiche wie die in 20 dargestellte.
  • 24 ist ein Blockdiagramm, das eine beispielhafte Konfiguration der Bewegungslerneinheit 117 gemäß der fünften Ausführungsform der vorliegenden Erfindung darstellt. Die Bewegungslerneinheit 117 weist die Befehlswert-Lerneinheit 113b und eine Parameter-Lerneinheit 118 auf. Die Befehlswert-Lerneinheit 113b ist die gleiche wie die in 20 dargestellte. Die Bewegungslerneinheit 117 empfängt Bewegungs-Befehlswerte vor Aktualisierung und Steuerungsparameter von der Robotersteuerungsvorrichtung 111. Die Bewegungslerneinheit 117 empfängt zudem eine einschränkende Bedingung von außen. Außerdem empfängt die Bewegungslerneinheit 117 Sensorinformationen von dem Sensor 140. Ferner empfängt die Bewegungslerneinheit 117 Abschnittsinformationen von der Befehlswert-Abschnittseinheit 116. Die eingegebenen Signale werden in die Befehlswert-Lerneinheit 113b und die Parameter-Lerneinheit 118 eingegeben.
  • Die Parameter-Lerneinheit 118 stellt basierend auf dem externen Sensor beispielsweise den Gain, Impedanzparameter und Filterdesign-Parameter des Sensorfeedback-Steuerungssystems ein, anstatt das direkte Roboterverhalten einzustellen, wie etwa Positions-Befehlswerte, Geschwindigkeits-Befehlswerte und Beschleunigungs-Befehlswerte. Das heißt, dass die Parameter-Lerneinheit 118 Steuerungsparameter des Feedback-Steuerungssystems einstellt. Die Parameter-Lerneinheit 118 empfängt Abschnittsinformationen, Sensorinformationen, eine einschränkende Bedingung, Befehlswerte und Steuerungsparameter und verwendet diese, um die eingegebenen Steuerungsparameter zu Steuerungsparametern zu aktualisieren, die die einschränkende Bedingung erfüllen. Maschinelles Lernen kann verwendet werden, um Steuerungsparameter zu aktualisieren. Die Parameter-Lerneinheit 118 aktualisiert die Steuerungsparameter beispielsweise so, dass der von einer vorher definierten Evaluationsfunktion ermittelte Evaluationswert zunimmt, und wiederholt die Berechnung, bis die Evaluationswerte asymptotisch konvergieren. Abhängig von der definierten Evaluationsfunktion aktualisiert die Parameter-Lerneinheit 118 Steuerungsparameter, sodass der Evaluationswert abnimmt.
  • Hier ist die Parameter-Lerneinheit 118 in 24 als eine Konfiguration dargestellt, die von der Befehlswert-Lerneinheit 113b unabhängig ist. Die Parameter-Lerneinheit 118 und die Befehlswert-Lerneinheit 113b müssen jedoch nicht notwendigerweise unabhängige Verarbeitungen durchführen. Beispielsweise können die Parameter-Lerneinheit 118 und die Befehlswert-Lerneinheit 113b die Verarbeitung unter Verwendung einer Evaluationsfunktion gleichzeitig durchführen. Es sei angemerkt, dass die Parameter-Lerneinheit 118 die Steuerungsparameter für jeden Abschnitt einstellt. Ferner sind die Anzahl der Abschnitte, die in der Befehlswert-Lerneinheit 113b verwendet werden, und die Anzahl der Abschnitte, die in der Parameter-Lerneinheit 118 verwendet werden, nicht unbedingt die gleichen. Die Anzahl von Abschnitten in der Parameter-Lerneinheit 118 kann beispielsweise größer sein als die Anzahl von Abschnitten, die in der Befehlswert-Lerneinheit 113b verwendet werden.
  • Außerdem kann die Parameter-Lerneinheit 118 nicht nur Steuerungsparameter in dem Sensorfeedback-Steuerungssystem basierend auf dem externen Sensor 142 aktualisieren, sondern auch Steuerungsparameter in dem Feedback-Steuerungssystem basierend auf dem internen Sensor 141. Dadurch kann Roboterarbeit mit höherer Qualität und höherer Geschwindigkeit erzielt werden.
  • 25 ist ein Blockdiagramm, das eine weitere beispielhafte Konfiguration der Bewegungseinstellungsvorrichtung 112d gemäß der fünften Ausführungsform der vorliegenden Erfindung darstellt und das seitliche Blöcke darstellt. 25 zeigt eine beispielhafte Konfiguration, die die Befehlswert-Lerneinheit 113b nicht aufweist. Bei dieser beispielhaften Konfiguration aktualisiert die Bewegungseinstellungsvorrichtung 112d nur Steuerungsparameter, ohne die Bewegungs-Befehlswerte zu aktualisieren.
  • Ausführungsform 6
  • Um ein Geschwindigkeitsmuster einzustellen, geben die Bewegungseinstellungsvorrichtung, das Bewegungssteuerungssystem und das Robotersystem gemäß der vorliegenden Ausführungsform einen oberen Grenzwert oder einen unteren Grenzwert für den Geschwindigkeits-Zielwert in jedem Abschnitt Si vor und definieren basierend auf der Steifigkeit des Arbeitsziels und auf Restriktionen hinsichtlich der Montagequalität des Arbeitsziels einen Suchraum in jedem Abschnitt. Die Bewegungseinstellungsvorrichtung, das Bewegungssteuerungssystem und das Robotersystem gemäß der vorliegenden Ausführungsform suchen nicht nach Bewegungs-Befehlswerten oder Steuerungsparametern, die eingesetzt werden können, jedoch Probleme bei der Montagequalität in dem Suchraum verursachen. Dies ermöglicht eine Konvergenz zu Bewegungs-Befehlswerten oder Steuerungsparametern, die innerhalb des Bereichs, der die von dem Nutzer benötigte Arbeitsqualität definiert, eine Hochgeschwindigkeits-Montage erzielen. Folglich kann der eingestellte Roboter eine spezielle Wirkung erreichen, die die Arbeitsqualität sicherstellt, die die Reaktionskraft auf das Arbeitsziel nicht erhöht und die das Arbeitsziel nicht beschädigt.
  • Bezugszeichenliste
  • 100
    Robotersystem
    110
    Beweg ungssteuerungssystem
    111
    Robotersteuerungsvorrichtung
    112, 112b, 112c, 112d
    Bewegungseinstellungsvorrichtung
    113, 113b
    Befehlswert-Lerneinheit
    114
    Speichereinheit
    115
    Lern-Verarbeitungseinheit
    116
    Befehlswert-Abschnittseinheit
    117
    Bewegungslerneinheit
    120
    Roboter
    130
    Endeffektor
    140
    Sensor
    141
    interner Sensor
    142
    externer Sensor
    143
    Kraftsensor
    200
    Arbeitsziel
    210
    erste Komponente
    211
    Loch
    300
    Umgebung
    310
    zweite Komponente
    311
    Vorsprung
    401
    Prozessor
    402
    Speicher
    403
    Datenbus
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2017094438 A [0005]

Claims (19)

  1. Bewegungseinstellungsvorrichtung für einen in einem Robotersystem verwendeten Roboter, wobei das Robotersystem Folgendes aufweist: den mit einem Endeffektor ausgestatteten Roboter; und eine Robotersteuerungsvorrichtung, um eine Bewegung des Roboters zu steuern, wobei der Roboter dazu konfiguriert ist, eine Arbeit an einem Arbeitsziel in dem Robotersystem durchzuführen, wobei die Bewegungseinstellungsvorrichtung eine Befehlswert-Lerneinheit aufweist, um einen Bewegungs-Befehlswert einzustellen, der von der Robotersteuerungsvorrichtung an den Roboter übertragen wird, um die Bewegung des Roboters zu steuern, indem Lernen unter Verwendung einer Kraft als Input durchgeführt wird, die auf den Endeffektor wirkt und von einem in dem Robotersystem enthaltenen externen Sensor detektiert wird.
  2. Bewegungseinstellungsvorrichtung gemäß Anspruch 1, wobei die Befehlswert-Lerneinheit den Bewegungs-Befehlswert einstellt, indem Lernen unter Verwendung eines Bereichs der Kraft als einschränkende Bedingung durchgeführt wird, die auf den Endeffektor wirkt.
  3. Bewegungseinstellungsvorrichtung gemäß Anspruch 2, wobei die Befehlswert-Lerneinheit den Bewegungs-Befehlswert einstellt, indem Lernen unter Verwendung einer oberen Grenze der Zeit als einschränkende Bedingung durchgeführt wird, die für die Arbeit erforderlich ist.
  4. Bewegungseinstellungsvorrichtung gemäß einem der Ansprüche 1 bis 3, wobei der Bewegungs-Befehlswert ein Geschwindigkeits-Befehlswert ist, der ein Zielwert für eine Bewegungsgeschwindigkeit des Endeffektors oder ein Zielwert für eine Bewegungsgeschwindigkeit des Roboters ist.
  5. Bewegungseinstellungsvorrichtung gemäß einem der Ansprüche 2 bis 4, wobei die Befehlswert-Lerneinheit den Bewegungs-Befehlswert für jeden einer Vielzahl von Abschnitten einstellt, die mittels Teilen eines Intervalls zwischen einem Beginn der Arbeit und einem Ende der Arbeit ermittelt werden.
  6. Bewegungseinstellungsvorrichtung gemäß Anspruch 5, die eine Befehlswert-Abschnittseinheit aufweist, um die Vielzahl von Abschnitten zu erzeugen, indem das Intervall zwischen dem Beginn der Arbeit und dem Ende der Arbeit geteilt wird, wobei die Befehlswert-Lerneinheit den Bewegungs-Befehlswert für jeden der Abschnitte einstellt, die von der Befehlswert-Abschnittseinheit erzeugt werden.
  7. Bewegungseinstellungsvorrichtung gemäß Anspruch 6, wobei die Befehlswert-Abschnittseinheit zum Teilen der Arbeit in die Abschnitte eine Position eines Teilungspunktes einstellt.
  8. Bewegungseinstellungsvorrichtung gemäß einem der Ansprüche 2 bis 7, wobei die Befehlswert-Lerneinheit den Bewegungs-Befehlswert einstellt, indem Lernen unter Verwendung von entweder einer oberen oder unteren Grenze der Kraft, des Moments, des Drehmoments oder des Stromwerts als einschränkende Bedingung durchgeführt wird.
  9. Bewegungseinstellungsvorrichtung gemäß einem der Ansprüche 2 bis 8, wobei die Befehlswert-Lerneinheit den Bewegungs-Befehlswert einstellt, indem Lernen unter Verwendung von entweder einer oberen oder unteren Grenze der Position und Ausrichtung des Roboters oder der relativen Position und Ausrichtung des Roboters und einer umgebenden Umwelt bzw. Umgebung als einschränkende Bedingung durchgeführt wird.
  10. Bewegungseinstellungsvorrichtung gemäß Anspruch 5 oder 6, wobei die Befehlswert-Lerneinheit den Bewegungs-Befehlswert einstellt, indem basierend auf einer Evaluationsfunktion bei jedem M-ten Arbeitsversuch (M ist eine natürliche Zahl) Evaluation durchgeführt wird.
  11. Bewegungseinstellungsvorrichtung gemäß Anspruch 5 oder 6, die eine Parameter-Lerneinheit aufweist, um einen Steuerungsparameter in mindestens einer Feedback-Steuerung basierend auf einem internen Sensor, der in dem Robotersystem enthalten ist, und/oder einer Feedback-Steuerung basierend auf dem externen Sensor zu lernen, wobei die Parameter-Lerneinheit den Steuerungsparameter aktualisiert, indem Lernen basierend auf Abschnittsinformationen, die Informationen über die Abschnitte und sind, und Sensorinformationen durchgeführt wird, die durch eine Vielzahl von Versuchen von dem externen Sensor ermittelt werden.
  12. Bewegungseinstellungsvorrichtung für einen in einem Robotersystem verwendeten Roboter, wobei das Robotersystem Folgendes aufweist: den mit einem Endeffektor ausgestatteten Roboter; und eine Robotersteuerungsvorrichtung, um eine Bewegung des Roboters zu steuern, wobei der Roboter dazu konfiguriert ist, eine Arbeit an einem Arbeitsziel in dem Robotersystem durchzuführen, wobei die Bewegungseinstellungsvorrichtung eine Parameter-Lerneinheit aufweist, um einen Steuerungsparameter in mindestens einer Feedback-Steuerung der Bewegung des Roboters basierend auf einem internen Sensor, der in dem Robotersystem enthalten ist, und/oder einer Feedback-Steuerung der Bewegung des Roboters basierend auf einem externen Sensor zu lernen, der in dem Robotersystem enthalten ist, indem Lernen unter Verwendung einer Kraft als Input durchgeführt wird, die auf den Endeffektor wirkt und von dem externen Sensor detektiert wird.
  13. Bewegungseinstellungsvorrichtung gemäß Anspruch 12, wobei die Parameter-Lerneinheit den Steuerungsparameter einstellt, indem Lernen unter Verwendung eines Bereichs der Kraft als einschränkende Bedingung durchgeführt wird, die auf den Endeffektor wirkt.
  14. Bewegungseinstellungsvorrichtung gemäß Anspruch 13, wobei die Parameter-Lerneinheit den Steuerungsparameter einstellt, indem Lernen unter Verwendung einer oberen Grenze der Zeit als einschränkende Bedingung durchgeführt wird, die für die Arbeit erforderlich ist.
  15. Bewegungseinstellungsvorrichtung gemäß einem der Ansprüche 12 bis 14, wobei die Parameter-Lerneinheit den Steuerungsparameter für jeden einer Vielzahl von Abschnitten einstellt, die mittels Teilen eines Intervalls zwischen einem Beginn der Arbeit und einem Ende der Arbeit erhalten werden.
  16. Bewegungseinstellungsvorrichtung gemäß Anspruch 15, die eine Befehlswert-Abschnittseinheit aufweist, um die Vielzahl von Abschnitten zu erzeugen, indem das Intervall zwischen dem Beginn der Arbeit und dem Ende der Arbeit geteilt wird, wobei die Parameter-Lerneinheit den Steuerungsparameter für jeden der Abschnitte einstellt, die von der Befehlswert-Abschnittseinheit erzeugt werden.
  17. Bewegungseinstellungsvorrichtung gemäß Anspruch 16, wobei die Befehlswert-Abschnittseinheit zum Teilen der Arbeit in Abschnitte eine Position eines Teilungspunktes einstellt.
  18. Bewegungssteuerungssystem, das Folgendes aufweist: die Bewegungseinstellungsvorrichtung gemäß einem der Ansprüche 1 bis 17; und eine Robotersteuerungsvorrichtung, um die Bewegung des Roboters basierend auf dem Bewegungs-Befehlswert oder dem Steuerungsparameter zu steuern, die von der Bewegungseinstellungsvorrichtung eingestellt werden.
  19. Robotersystem, das Folgendes aufweist: das Bewegungssteuerungssystem gemäß Anspruch 18; und den von dem Bewegungssteuerungssystem zu steuernden Roboter.
DE112018005832.8T 2017-11-14 2018-11-01 Bewegungseinstellungsvorrichtung für roboter, bewegungssteuerungssystem und robotersystem Active DE112018005832B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017219048 2017-11-14
JP2017-219048 2017-11-14
PCT/JP2018/040696 WO2019098044A1 (ja) 2017-11-14 2018-11-01 ロボットの動作調整装置、動作制御システム及びロボットシステム

Publications (2)

Publication Number Publication Date
DE112018005832T5 true DE112018005832T5 (de) 2020-07-30
DE112018005832B4 DE112018005832B4 (de) 2023-11-02

Family

ID=66539027

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112018005832.8T Active DE112018005832B4 (de) 2017-11-14 2018-11-01 Bewegungseinstellungsvorrichtung für roboter, bewegungssteuerungssystem und robotersystem

Country Status (4)

Country Link
JP (1) JP6696627B2 (de)
CN (1) CN111344120B (de)
DE (1) DE112018005832B4 (de)
WO (1) WO2019098044A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020103854A1 (de) 2020-02-14 2021-08-19 Franka Emika Gmbh Maschinelles Lernen einer erfolgreich abgeschlossenen Roboteranwendung

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200301510A1 (en) * 2019-03-19 2020-09-24 Nvidia Corporation Force estimation using deep learning
WO2020246005A1 (ja) * 2019-06-06 2020-12-10 三菱電機株式会社 パラメータ算出装置、ロボット制御システム、ロボットシステム
WO2020255312A1 (ja) * 2019-06-19 2020-12-24 三菱電機株式会社 ロボットの動作調整装置、動作制御システムおよびロボットシステム
JP7448317B2 (ja) * 2019-07-16 2024-03-12 ファナック株式会社 ロボットの制御装置
WO2021084587A1 (ja) * 2019-10-28 2021-05-06 株式会社安川電機 機械学習データ生成装置、機械学習装置、作業システム、コンピュータプログラム、機械学習データ生成方法及び作業機械の製造方法
JP2022054043A (ja) * 2020-09-25 2022-04-06 セイコーエプソン株式会社 ロボットの制御パラメーターに関する表示を行う方法、プログラム、および情報処理装置
JP2022065785A (ja) * 2020-10-16 2022-04-28 セイコーエプソン株式会社 力制御パラメーター調整方法
JP2022070451A (ja) * 2020-10-27 2022-05-13 セイコーエプソン株式会社 ロボットのパラメーターセットの調整を支援する方法、プログラム、および情報処理装置
CN114095872A (zh) * 2021-11-24 2022-02-25 南京工程学院 基于机器视觉反馈的快速定位系统和方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017094438A (ja) 2015-11-24 2017-06-01 ファナック株式会社 学習による教示作業の簡易化及び動作性能向上機能を備えたロボットシステム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05108108A (ja) * 1991-05-10 1993-04-30 Nok Corp コンプライアンス制御方法及び制御装置
JPH0852674A (ja) * 1994-08-12 1996-02-27 Kobe Steel Ltd マニピュレータの位置姿勢決定方法
JP4267027B2 (ja) * 2006-12-07 2009-05-27 ファナック株式会社 ロボット制御装置
US8886359B2 (en) * 2011-05-17 2014-11-11 Fanuc Corporation Robot and spot welding robot with learning control function
JP5774223B2 (ja) * 2012-06-29 2015-09-09 三菱電機株式会社 ロボット制御装置およびロボット制御方法
JP2014128857A (ja) * 2012-12-28 2014-07-10 Yaskawa Electric Corp ロボット教示システムおよびロボット教示方法
EP2749974A2 (de) 2012-12-28 2014-07-02 Kabushiki Kaisha Yaskawa Denki Roboterlehrsystem, Roboterlehrhilfsvorrichtung und Roboterlehrverfahren
JP5893664B2 (ja) 2014-04-14 2016-03-23 ファナック株式会社 作用された力に応じて移動されるロボットを制御するロボット制御装置
JP5890477B2 (ja) * 2014-07-09 2016-03-22 ファナック株式会社 ロボットプログラム修正システム
DE102014216514B3 (de) 2014-08-20 2015-09-10 Kuka Roboter Gmbh Verfahren zum Programmieren eines Industrieroboters und zugehöriger Industrieroboter
CN106142081B (zh) 2015-05-14 2021-03-02 发那科株式会社 对加工工具转速和工件进给速度进行调整的加工系统
JP6407810B2 (ja) * 2015-05-14 2018-10-17 ファナック株式会社 加工ツール回転数とワーク送り速度とを調整する加工システム
DE102015011910A1 (de) 2015-09-11 2017-03-16 Kuka Roboter Gmbh Verfahren und System zum Steuern einer Roboteranordnung
JP2017159428A (ja) * 2016-03-11 2017-09-14 セイコーエプソン株式会社 制御装置、ロボット、及びロボットシステム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017094438A (ja) 2015-11-24 2017-06-01 ファナック株式会社 学習による教示作業の簡易化及び動作性能向上機能を備えたロボットシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020103854A1 (de) 2020-02-14 2021-08-19 Franka Emika Gmbh Maschinelles Lernen einer erfolgreich abgeschlossenen Roboteranwendung
DE102020103854B4 (de) 2020-02-14 2022-06-15 Franka Emika Gmbh Maschinelles Lernen einer erfolgreich abgeschlossenen Roboteranwendung

Also Published As

Publication number Publication date
JP6696627B2 (ja) 2020-05-20
JPWO2019098044A1 (ja) 2019-11-21
WO2019098044A1 (ja) 2019-05-23
CN111344120A (zh) 2020-06-26
CN111344120B (zh) 2023-04-07
DE112018005832B4 (de) 2023-11-02

Similar Documents

Publication Publication Date Title
DE112018005832B4 (de) Bewegungseinstellungsvorrichtung für roboter, bewegungssteuerungssystem und robotersystem
DE102012104194B4 (de) Roboter und Punktschweissroboter mit lernender Steuerungsfunktion
DE102014108956B4 (de) Vorrichtung zum Entgraten mit visuellem Sensor und Kraftsensor
EP3523168B1 (de) Verfahren und vorrichtung zur fahrdynamikregelung für ein kraftfahrzeug
DE102011011681B4 (de) Roboter mit einer Lernsteuerfunktion
EP1963935B1 (de) Ermittlungsverfahren für eine lagegeführt abzufahrende grobbahn
DE102015107436B4 (de) Lernfähige Bahnsteuerung
DE102016108077B4 (de) Verfahren zur Lastparameterfestlegung und Vorrichtung zur Lastparameterfestlegung
DE112017002639T5 (de) Robotersteuerungsvorrichtung
DE3408523C2 (de)
EP3623116A1 (de) Verfahren und vorrichtung zur kollisionsfreien bewegungsplanung eines manipulators
DE102018001026A1 (de) Robotersystem mit einer lernenden steuerungsfunktion und lernendes steuerungsverfahren
DE102017009940A1 (de) Robotersteuervorrichtung mit Lernsteuerfunktion
DE2656433B2 (de) Verfahren zur Regelung der Bewegungsgrößen, z.B. der Rotations- und Translationsbewegungen, eines Manipulators oder industriellen Handhabungsgerätes
EP3771952B1 (de) Verfahren zur automatischen bewegung eines arbeitsgeräts sowie arbeitsgerät
DE102016002235B4 (de) Numerische Steuerung, die Maschinenkoordinatenwerte durch Verwenden eines absoluten Positionsdetektors wiederherstellt
DE10255585A1 (de) Verfahren zum Bestimmen zulässiger Geschwindigkeit eines Objektes und Steuern des Objektes
DE102019205651B3 (de) Verfahren und System zum Ausführen von Roboterapplikationen
WO2005039836A2 (de) Verfahren zur einrichtung einer bewegung eines handhabungsgeräts und bildverarbeitung
EP2208584A1 (de) Verfahren und Vorrichtung zur Steuerung von Industrierobotern
DE102017116788B4 (de) Roboter-Steuerungsvorrichtung und Verfahren zur Steuerung derselben
DE102016000850A1 (de) Steuern eines Roboterverbands
EP3710900B1 (de) Verfahren und system zum vorgeben bzw. lernen eines roboterbefehls
DE112017001162T5 (de) Servosteuervorrichtung
DE112017002881T5 (de) Servosteuervorrichtung

Legal Events

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