DE102018204740A1 - Aktionsinformationslernvorrichtung, Robotersteuersystem und Aktionsinformationslernverfahren - Google Patents

Aktionsinformationslernvorrichtung, Robotersteuersystem und Aktionsinformationslernverfahren Download PDF

Info

Publication number
DE102018204740A1
DE102018204740A1 DE102018204740.5A DE102018204740A DE102018204740A1 DE 102018204740 A1 DE102018204740 A1 DE 102018204740A1 DE 102018204740 A DE102018204740 A DE 102018204740A DE 102018204740 A1 DE102018204740 A1 DE 102018204740A1
Authority
DE
Germany
Prior art keywords
information
action information
robot
workpiece
action
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
DE102018204740.5A
Other languages
English (en)
Other versions
DE102018204740B4 (de
Inventor
Tomoyuki Yamamoto
Yuusuke Kurihara
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE102018204740A1 publication Critical patent/DE102018204740A1/de
Application granted granted Critical
Publication of DE102018204740B4 publication Critical patent/DE102018204740B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33056Reinforcement learning, agent acts, receives reward, emotion, action selective
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40202Human robot coexistence
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/03Teaching system

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

Zur Bereitstellung einer Aktionsinformations-Lernvorrichtung, eines Robotersteuersystems und eines Aktionsinformations-Lernverfahrens zum Erleichtern des Durchführens kooperativer Arbeit durch einen Bediener mit einem Roboter. Eine Aktionsinformations-Lernvorrichtung 300 beinhaltet: eine Zustandsformations-Erfassungseinheit 310, die einen Zustand s eines Roboters 100 erfasst, in einem Fall, bei dem der Roboter 100 ein aus einem Werkstücklagerplatz erfasstes Werkstück 7 einem Bediener P innerhalb eines Übergabebereichs 8 übergibt, welcher ein Bereich ist, in welchem das Werkstück 7 zu übergeben ist; eine Aktionsinformations-Ausgabeeinheit zum Ausgeben einer Aktion a, welche Justierinformation für den Zustand s ist, ein Vergütungsrechenabschnitt 331 zum Erfassen von Bestimmungsinformation, welche Information über eine Übergabezeit T ist, die sich auf die Übergabe des Werkstücks 7 bezieht, und Berechnen eines Vergütungswertes von Verstärkungslernen, basierend auf der so erfassten Bestimmungsinformation; und einen Wertefunktions-Aktualisierungsabschnitt 332 zum Aktualisieren einer Wertefunktion Q mittels des Durchführens von Verstärkungslernen, basierend auf dem durch den Vergütungsrechenabschnitt 331 berechneten Vergütungswert, dem Zustand s und der Aktion a.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf eine Aktionsinformations-Lernvorrichtung, ein Robotersteuersystem und ein Aktionsinformations-Lernverfahren.
  • Stand der Technik
  • Konventioneller Weise hat es Fälle gegeben, wo Roboter in einem Raum zusammen mit Menschen existieren. Beispielsweise gibt es Fälle, wo Roboter einer Reihe von Operationen wie etwa Tragen eines Werkstücks bis zu einer vorab programmierten Position, Übergabe des Werkstücks an einen Bediener und Bewegen zum Aufnehmen des nächsten Werkstücks wiederholen. Im Falle der Durchführung einer kooperativen Arbeit zwischen einem Roboter und einem Bediener ist auf diese Weise die Arbeit an Positionen, zu Zeitpunkten etc., über die entsprechend der Programmierung entschieden wird, durchgeführt worden. Jedoch kann in einem solchen Fall das Empfangen für den Bediener schwierig sein, oder das Starten des nächsten Werkstücks kann schwierig sein, abhängig von Übergabeposition und Zeitpunkt. In dieser Hinsicht ist eine Vorrichtung zum Optimieren der durch den Roboter durchzuführenden Arbeit offenbart worden (siehe beispielsweise Patentdokument 1).
  • Patentdokument 1: Japanische ungeprüfte Patentanmeldung, Veröffentlichungs-Nr. 2009-125920.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Um einen Roboter dazu zu bringen, eine optimale Verarbeitung durchzuführen, ist es notwendig, die Übergabeposition etc. durch wieder Durchführen der Programmierung zu erlernen; jedoch hat es Grenzen beim Lokalisieren der Position etc. durch Versuch und Irrtum gegeben.
  • Die vorliegende Erfindung ist unter Berücksichtigung solcher Probleme gemacht worden und eine Aufgabe derselben ist es, eine Aktionsinformations-Lernvorrichtung, ein Robotersteuersystem und ein Aktionsinformations-Lernverfahren bereitzustellen, um das Durchführen der kooperativen Arbeit durch einen Bediener mit einem Roboter zu erleichtern.
  • Eine Aktionsinformations-Lernvorrichtung (z.B. die später beschriebene Aktionsinformations-Lernvorrichtung 300) gemäß einem ersten Aspekt der vorliegenden Erfindung beinhaltet: eine Zustandsinformation-Erfassungseinheit (z.B. die später beschriebene Zustandsformations-Erfassungseinheit 310) zum Erfassen von Zustandsformation (z.B. der später beschriebene Zustand s) eines Roboters (z.B. der später beschriebene Roboter 100) in einem Fall, bei dem der Roboter ein Werkstück (z.B. das später beschriebene Werkstück 7), das aus einem Werkstücklagerplatz erfasst wird, an einen Bediener (z.B. den später beschriebenen Bediener P), innerhalb eines Werkstückübergabebereichs (z.B. den später beschriebenen Übergabebereich 8), welches ein Bereich ist, in welchem das Werkstück zu übergeben ist, übergibt; eine Aktionsinformations-Ausgabeeinheit (z.b. die später beschriebene Aktionsinformations-Ausgabeeinheit 320) zum Ausgeben von Aktionsinformation (z.B. die später beschriebene Aktion a), die Justierinformation für die Zustandsinformation ist; eine Vergütungsrecheneinheit (z.B. der später beschriebene Vergütungsrechenabschnitt 331) zum Erfassen von Bestimmungsinformation, die Information zu einer Übergabezeit (z.B. der später beschriebenen Übergabezeit T) ist, welche sich auf die Übergabe des Werkstücks bezieht, und Berechnen eines Vergütungswertes beim Verstärkungslernen, basierend auf der so erfassten Bestimmungsinformation; und eine Wertefunktions-Aktualisierungseinheit (z.B. die später beschriebene Wertefunktions-Aktualisierungseinheit 332) zum Aktualisieren einer Wertefunktion (z.B. der später beschriebenen Wertefunktion Q) mittels des Durchführens des Verstärkungslernens, basierend auf einem Vergütungswert, welcher durch die Vergütungsrecheneinheit berechnet wird, der Zustandsinformation und der Aktionsinformation.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung kann in der Aktionsinformations-Lernvorrichtung, wie im ersten Aspekt beschrieben, die Zustandsformation Information enthalten, die sich auf eine Stellung des Roboters und Übergabeposition innerhalb des Werkstückübergabebereichs bezieht, und kann die Justierinformation Information zum Durchführen der Justierung der Zustandsformation beinhalten.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung kann in der Aktionsinformations-Lernvorrichtung, wie im zweiten Aspekt beschrieben, die Zustandsinformation weiter einen Bewegungspfad des Roboters ab einer Position, an welcher das Werkstück erfasst wird, bis innerhalb des Werkstückübergabebereichs beinhalten.
  • Gemäß einem vierten Aspekt der vorliegenden Erfindung kann in der Aktionsinformations-Lernvorrichtung, wie in einem der ersten bis dritten Aspekte beschrieben, die Vergütungsrecheneinheit den Vergütungswert als einen positiven Wert in einem Fall etablieren, bei dem die Übergabezeit kürzer als eine vorherige Übergabezeit ist, und den Vergütungswert als einen negativen Wert in einem Fall etablieren, bei dem die Übergabezeit länger als eine vorherige Übergabezeit ist.
  • Gemäß einem fünften Aspekt der vorliegenden Erfindung kann in der Aktionsinformations-Lernvorrichtung, wie in einem der ersten bis vierten Aspekte beschrieben, die Übergabezeit aus einer Bewegungszeit (z.B. der später beschriebenen Bewegungszeit T1) ab Erfassen des Werkstücks bis zum Bewegen zu einer Position innerhalb des Werkstückübergabebereichs und einer Abgabezeit (z.B. der später beschriebenen Abgabezeit T2) bis der Bediener das Werkstück nach Bewegen des Werkstücks zu der Position innerhalb des Werkstückübergabebereichs abnimmt, bestehen, und kann der Wert der Vergütung auf einen größeren Wert für einen Fall gesetzt werden, bei dem die Abgabezeit kürzer ist als ein Fall, bei dem die Bewegungszeit kürzer ist, wenn die Übergabezeit die gleiche ist.
  • Gemäß einem sechsten Aspekt der vorliegenden Erfindung kann in der Aktionsinformations-Lernvorrichtung, wie in einem der ersten bis fünften Aspekte beschrieben, die Wertefunktion mit einer anderen Aktionsinformations-Lernvorrichtung geteilt werden und kann die Wertefunktions-Aktualisierungseinheit die Wertefunktion, die so geteilt ist, aktualisieren.
  • Ein Robotersteuersystem (z.B. das später beschriebene Robotersteuersystem 1000) gemäß einem siebten Aspekt der vorliegenden Erfindung beinhaltet: die Aktionsinformations-Lernvorrichtung (z.B. die später beschriebene Aktionsinformations-Lernvorrichtung 300), wie in einem der ersten bis sechsten Aspekte beschrieben, und eine Robotersteuervorrichtung (z.B. die später beschriebene Robotersteuervorrichtung 200), die mit der Aktionsinformations-Lernvorrichtung über ein Kommunikationsnetzwerk (z.B. das später beschriebene Netzwerk 400) verbunden ist und den Roboter (z.B. den später beschriebenen Roboter 100) steuert, wobei die Aktionsinformations-Lernvorrichtung beinhaltet: eine optimierte Aktionsinformations-Ausgabeeinheit (z.B. die später beschriebene optimierte Aktionsinformations-Ausgabeeinheit 350) zum Erzeugen von optimierter Aktionsinformation, die Aktionsinformation zum Minimieren der Übergabezeit durch den Roboter ist, basierend auf der durch die Wertefunktions-Aktualisierungseinheit aktualisierten Wertefunktion (z.B. dem später beschriebenen Wertefunktions-Aktualisierungsabschnitt 332); die optimierte Aktionsinformations-Ausgabeeinheit (z.B. die später beschriebene optimierte Aktionsinformations-Ausgabeeinheit 350) zum Ausgeben der erzeugten optimierten Aktionsinformation an die Robotersteuervorrichtung.
  • Ein Aktionsinformations-Lernverfahren gemäß einem achten Aspekt der vorliegenden Erfindung beinhaltet die Schritte: Erfassen von Zustandsinformation eines Roboters mittels einer Zustandsinformations-Erfassungseinheit in einem Fall, bei dem der Roboter ein aus dem Werkstücklagerplatz erfasstes Werkstück an einen Bediener übergibt, innerhalb eines Werkstückübergabebereichs, welches ein Bereich ist, in welchem das Werkstück zu übergeben ist; Ausgeben von Aktionsinformation, die Justierinformation für die Zustandsinformation ist, mittels einer Aktionsinformations-Ausgabeeinheit; Erfassen von Bestimmungsinformation, die Information hinsichtlich einer Übergabezeit ist, die sich auf die Übergabe eines Werkstücks bezieht, und Berechnen eines Vergütungswerts beim Verstärkungslernen, basierend auf der so erfassten Bestimmungsinformation mittels einer Vergütungsrecheneinheit; und Aktualisieren, mittels einer Wertefunktions-Aktualisierungseinheit, einer Wertefunktion durch Durchführen des Verstärkungslernens, basierend auf dem Vergütungswert, der so berechnet ist, der Zustandsinformation und der Aktionsinformation.
  • Gemäß der vorliegenden Erfindung ist es möglich, eine Aktionsinformations-Lernvorrichtung, ein Robotersteuersystem und ein Aktionsinformations-Lernverfahren zum Erleichtern der Durchführung der Kooperativen Arbeit durch einen Bediener mit einem Roboter bereitzustellen.
  • Figurenliste
    • 1 ist ein Blockdiagramm, das die Basis-Gesamtkonfiguration einer Ausführungsform der vorliegenden Erfindung zeigt;
    • 2 ist ein Blockdiagramm, welches Funktionsblöcke zeigt, mit denen jede in der Ausführungsform der vorliegenden Erfindung enthaltene Vorrichtung ausgestattet ist;
    • 3 ist eine Ansicht zum Erläutern von Operationen eines Roboters in der Ausführungsform der vorliegenden Erfindung;
    • 4 ist ein Flussdiagramm, das die Basisoperationen während des Verstärkungslernens in der Ausführungsform der vorliegenden Erfindung zeigt;
    • 5 ist ein Flussdiagramm, welches die Basisoperationen während der Auswahl optimierter Aktionsinformation in der Ausführungsform der vorliegenden Erfindung zeigt; und
    • 6 ist ein Blockdiagramm, welches eine Kooperation zwischen Aktionsinformations-Lernvorrichtungen in einer modifizierten Ausführungsform der vorliegenden Erfindung zeigt.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • (Ausführungsform)
  • Zuerst wird ein Umriss einer Ausführungsform der vorliegenden Erfindung erläutert. In der vorliegenden Ausführungsform arbeiten ein Roboter 100 und ein Bediener P in Kooperation innerhalb eines Arbeitsraums, wie in 1 gezeigt. Dann transportiert der Roboter 100 ein Werkstück 7 (siehe 3) zum Bediener P und der Bediener P empfängt das Werkstück 7 vom Roboter 100 und nimmt eine Arbeit vor. Dann erlernt ein Robotersteuersystem 1000 die Aktionsinformation der Roboters 100, so dass die Zeit, ab dann wenn der Roboter 100 das Werkstück 7 transportiert, bis der Bediener P das Werkstück 7 abnimmt, ab kürzesten wird.
  • Als Nächstes wird die Konfiguration des Robotersteuersystems 1000 gemäß der vorliegenden Ausführungsform erläutert. Das Robotersteuersystem 1000 beinhaltet den Roboter 100, eine Robotersteuervorrichtung 200, eine Aktionsinformations-Lernvorrichtung 300 und ein Netzwerk 400. Hier sind die Robotersteuervorrichtungen 200 und die Roboter 100 kommunizierbar verbunden, um Eins-zu-Eins-Gruppen zu bilden. Es sollte angemerkt werden, dass die Robotersteuervorrichtungen 200 und die Roboter 100 direkt über eine Verbindungsschnittstelle verbunden sein können oder über ein Netzwerk, wie etwa ein LAN (Lokalbereichsnetzwerk) verbunden sein können.
  • Zusätzlich sind die Robotersteuervorrichtung 200 und die Aktionsinformations-Lernvorrichtung 300 beide direkt über eine Verbindungsschnittstelle verbunden oder sind miteinander über das Netzwerk 400 verbunden, um in der Lage zu sein, gegenseitige Kommunikation durchzuführen. Es sollte angemerkt werden, dass das Netzwerk 400 beispielsweise ein LAN ist, das innerhalb einer Fabrik aufgebaut ist, das Internet, das öffentliche Telefonnetzwerk oder eine Kombination von diesen. Das spezifische Kommunikationssystem des Netzwerks 400, ob es eine verdrahtete Verbindung oder Funkverbindung sein, ist nicht besonders beschränkt.
  • Als Nächstes werden die Funktionen dieser Vorrichtungen, die im Robotersteuersystem 1000 enthalten sind, durch Bezugnahme auf 2 erläutert. Hier ist 2 ein Blockdiagramm, das Funktionsblöcke zeigt, die in jeder Vorrichtung enthalten sind. Es sollte angemerkt werden, dass das zwischen jeder Vorrichtung existierende Netzwerk 400 aus dieser Illustration weggelassen ist.
  • Der Roboter 100 transportiert das Werkstück 7, wie etwa beispielsweise eine Komponente, entsprechend einem Betriebsbefehl, der basierend auf einem in der Robotersteuervorrichtung 200 eingestellten Robotersteuerprogramm erzeugt wird, und den Parameter-Einstellwerten, die in der Robotersteuervorrichtung 200 eingestellt sind. Der Roboter 100 beinhaltet eine Motoreinheit 110 und eine Abgabetaste 120. Die Motoreinheit 110 ist ein Servomotor, welcher eine Antriebwelle einer Handeinheit 13 (später beschrieben) oder dergleichen des Roboters veranlasst, zu verfahren. Die Abgabetaste 120 ist eine Taste zum Durchführen der Verarbeitung zum Loslassen des in der Handeinheit 13 gefassten Werkstücks 7. Die Abgabetaste 120 wird durch den Bediener P betätigt. Drückinformation durch Betätigen der Abgabetaste 120 wird an die Robotersteuervorrichtung 200 gesendet.
  • Hier werden Operationen des Roboters 100 basierend auf 3 erläutert. 3 ist eine Ansicht zum Erläutern von Operationen des Roboters 100 in der Ausführungsform der vorliegenden Erfindung. Der Roboter 100 ist beispielsweise ein 6-Achsen-Schwenkroboter. Die Antriebswelle jedes Gelenkteils des Roboters 100 und die Antriebswelle der Handeinheit 13 treiben gemäß der Motoreinheit 110 an und wird durch die Robotersteuervorrichtung 200 gesteuert. Der Roboter 100 erfasst das an einem Werkstücklagerplatz platziertes Werkstück 7 und transportiert das Werkstück 7 zu einer vorbestimmten Position in einem Übergabebereich 8 an einer Werkbank. Die Zeit, ab wann dieser Roboter 100 das Werkstück 7 erfasst, bis zum Transport des Werkstücks 7 zu der vorbestimmten Position des Übergabebereichs 8 ist als die Bewegungszeit T1 definiert.
  • Der Roboter 100 ändert die Position und Stellung anhand der durch den Bediener P am Roboter 100 vorgenommenen Manipulation, zum Beispiel Operation zum Erfassen und Bewegen der Umgebung der Handeinheit 13 des Roboters 100 durch den Bediener P. Zusätzlich führt die Motorsteuereinheit 210 der Robotersteuervorrichtung 200 eine Steuerung zum Loslassen des Werkstücks 7 aus der Handeinheit 13 gemäß der Druckbetätigung auf der Abgabetaste 120 durch den Bediener P durch, und nimmt der Bediener P das Werkstück 7 vom Roboter 100 entgegen. Die Zeit, ab wann dieser Roboter 100 das Werkstück 7 zu der vorbestimmten Position in dem Übergabebereich 8 transportiert, bis der Bediener P das Werkstück 7 abnimmt, wird als Abgabezeit T2 definiert. Dann wird die Zeit, zu der durch Addieren der Bewegungszeit T1 und der Abgabezeit T2 gelangt wird, als die Übergabezeit T definiert.
  • Obwohl Funktionsblöcke des Roboters 100 oben erläutert worden sind, sind die vorgenannten Funktionsblöcke Bereiche, die für die Operationen der vorliegenden Ausführungsform besonders relevant sind. Der Roboter 100 beinhaltet allgemeine Funktionsblöcke wie etwa einen Motorantriebsverstärker zum Verstärken des Operationsbefehls und ein Steuerpaneel zum Empfangen von Manipulationen des Anwenders beispielsweise zusätzlich zu den vorgenannten Funktionsblöcken. Jedoch, da diese üblichen Funktionsblöcke Fachleuten bekannt sind, wird eine detaillierte Erläuterung und Illustration derselben weggelassen.
  • Rückbezug nehmend auf 2 ist die Robotersteuervorrichtung 200 eine Vorrichtung, die vorbestimmte Operationen veranlasst, durch den Roboter 100 durchzuführen, durch Steuern des Roboters 100. Zusätzlich sendet die Robotersteuervorrichtung 200 Zustandsinformation (auch als „Status“ bezeichnet) an die Aktionsinformations-Lernvorrichtung 300. Weiterhin empfängt die Robotersteuervorrichtung 200 Aktionsinformation (auch als „Aktion“ bezeichnet) aus der Aktionsinformations-Lernvorrichtung 300. Die Details der entsprechenden Information werden zusammen mit der Erläuterung von Funktionsblöcken der Aktionsinformations-Lernvorrichtung 300 erläutert.
  • Die Robotersteuervorrichtung 200 beinhaltet die Motorsteuereinheit 210, die Parametereinstelleinheit 220, die Programmkorrektureinheit 230 und die Übergabezeitmesseinheit 240.
  • Die Motorsteuereinheit 210 erzeugt Betriebsbefehle basierend auf dem Robotersteuerprogramm und den Einstellwerten von Parametern (beispielsweise Werte, die sich auf die Stellung innerhalb des Übergabebereichs 8 des Roboters 100 beziehen, einschließlich der Handeinheit 13, Position innerhalb des Übergabebereichs 8, den Bewegungspfad des Roboters 100 vom Erfassen des Werkstücks 7 bis zum Erreichen der Position innerhalb des Übergabebereichs 8) und sendet die erzeugten Betriebsbefehle an den Roboter 100. Dann erzeugt die Motorsteuereinheit 210 den Antrieb der Motoreinheit 110 etc. des Roboters 100 durch Senden des Betriebsbefehls an den Roboter 100. Die Transportoperation des Werkstücks 7 durch den Roboter 100 wird mittels dieser Verarbeitung realisiert. Hierin sind Ausdrücke und Bedingungen des Transports (beispielsweise eine Karteninformation zum Vermeiden von Hindernissen, Bewegungsgeschwindigkeit etc.) im Robotersteuerprogramm definiert.
  • Die Parametereinstelleinheit 220 ist ein Bereich, der sich auf Bewegungsverarbeitung während des Transports des Werkstücks 7 gemäß diesem Robotersteuerprogramm des Roboters 100 beziehende Parameter einstellt. Parameter des Roboters 100 sind beispielsweise Parameter, die sich auf die Stellung innerhalb des Übergabebereichs 8 des Roboters 100, der die Handeinheit 13 beinhaltet, Position innerhalb des Übergabebereichs 8 und Bewegungspfad des Roboters 100 beziehen. Die Parameter, welche die Stellung des Roboters 100 einschließlich der Handeinheit 13 angeben, sind beispielsweise Daten, die sich auf den Winkel der Handeinheit 13 beziehen. Zusätzlich sind die, die Position innerhalb des Übergabebereichs 8 angebenden Parameter Daten, welche die Position der Handeinheit 13 beispielsweise in XYZ-Koordinaten ausdrücken. Die sich beispielsweise auf den Bewegungspfad des Roboters 100 beziehenden Parameter sind Daten von Lehrpunkten des Roboters 100 ab einer Position des Werkstücklagerplatzes, an welchem der Roboter 100 das Werkstück 7 aufnimmt, bis zum Übergabebereich 8. Hier beziehen sich die Lehrpunkte des Roboters 100 auf die Positionen des Führungsendteils der Handeinheit 13 des Roboters 100. Die Einstellwerte dieser Parameter werden basierend auf der aus der Aktionsinformations-Lernvorrichtung 300 ausgegebenen Aktionsinformation und optimierter Aktionsinformation justiert.
  • Die Programmkorrektureinheit 230 korrigiert direkt das Robotersteuerprogramm. Spezifischer korrigiert die Programmkorrektureinheit 230 direkt Programmcode basierend auf der aus der Aktionsinformations-Lernvorrichtung 300 ausgegebenen Aktionsinformation, wie etwa die Stellung innerhalb des Übergabebereichs 8 des Roboters 100, der die Handeinheit 13 enthält, und Position innerhalb des Übergabebereichs 8, welche durch dieses Robotersteuerprogramm beschrieben werden, und/oder der optimierten Aktionsinformation.
  • Die Übergabezeitmesseinheit 240 ist eine Steuereinheit, die Zeit misst. Die Übergabezeitmesseinheit 240 misst eine Bewegungszeit T1, welches die Zeit ist, bis der Roboter 100 ein in dem Werkstücklagerplatz platziertes Werkstück 7 aufnimmt, bis zum Transportieren des Werkstücks 7 an eine vorbestimmte Position im Übergabebereich 8. Zusätzlich misst die Übergabezeit-Messeinheit einer Abgabezeit T2, welches die Zeit ab dem Transportieren des Werkstücks 7 zu der vorbestimmten Position in dem Übergabebereich 8 ist, bis der Bediener P das Werkstück 7 abnimmt.
  • Die Aktionsinformations-Lernvorrichtung 300 ist eine Vorrichtung, welche Verstärkungslernen durchführt. Vor einer Erläuterung von in der Aktionsinformations-Lernvorrichtung 300 enthaltenen jeweiligen Funktionsblöcken wird zuerst die Basisarbeit des Verstärkungslernens erläutert. Ein Agent (entsprechend der Aktionsinformations-Lernvorrichtung 300 der vorliegenden Ausführungsform) überwacht den Zustand der Umgebung, wählt eine gewisse Aktion aus und die Umgebung ändert sich basierend auf dieser Aktion. In Übereinstimmung mit der Änderung bei der Umgebung wird irgendeine Art von Vergütung gegeben und der Agent erlernt eine Auswahl einer besseren Aktion (Entscheidungstreffen). Supervidiertes Lernen gibt eine vollständig korrekte Lösung an; während die Vergütung beim Verstärkungslernen oft ein fragmentarischer Wert ist, der auf einer partiellen Änderung in der Umgebung basiert. Aus diesem Grund lernt der Agent, eine Aktion so auszuwählen, dass die Summe der Vergütung in der Zukunft maximiert wird.
  • Durch Lernen von Aktionen mit Verstärkungslernen wird auf diese Weise ein Verfahren zum Lernen der angemessenen Aktion erlernt, basierend auf der Interaktion, die der Umgebung durch die Aktion auferlegt wird, das heißt Lernen zum Maximieren der Vergütung, die in der Zukunft erhalten wird. In der vorliegenden Ausführungsform repräsentiert dies die Angelegenheit, in der Lage zu sein, eine Aktion so zu erfassen, dass sie eine Auswirkung auf die Zukunft hat, wie beispielsweise Auswählen von Aktionsinformation zum Verkürzen der Übergabezeit T und weiter Verkürzen der Abgabezeit T2.
  • Hier, obwohl es möglich ist, jegliches Lernverfahren als das Verstärkungsverfahren zu verwenden, wird in der nachfolgenden Erläuterung eine Erläuterung mit einem Beispiel eines Falls gegeben, bei dem Q-Lernen verwendet wird, welches eine Verfahren des Lernens einer Qualität Q(s, a) des Auswählens einer Aktion A in einem gewissen Zustand s der Umgebung ist. Q-Lernen hat den Zweck, eine Aktion A auszuwählen, welche die höchste Qualität Q(s, a) aus den verfügbaren Aktionen a aufweist, als die optimale Aktion, wenn ein gewisser Zustand s.
  • Jedoch, im Moment des anfänglichen Startens von Q-Lernen, ist der korrekte Wert der Qualität Q(s, a) für Kombinationen von Zustand s und Aktionen komplett unbekannt. Daher wählt der Agent verschiedene Aktionen a in einem gewissen Zustand s aus und erlernt die korrekte Qualität Q(s, a) durch Treffen einer Auswahl einer besseren Aktion, basierend auf der gewährten Vergütung relativ zur Aktion a zu dieser Zeit.
  • Zusätzlich, da es gewünscht wird, die Gesamtsumme von Vergütungen, die in der Zukunft erhalten werden, zu maximieren, wird drauf abgezielt, so zu konfigurieren, dass schließlich die Qualität Q(s, a) = E[Σ(γt)rt] wird. Hier repräsentiert [] den Erwartungswert, ist t die Zeit, ist y ein Parameter, der die später beschriebene Rabattrate genannt wird, ist rt die Vergütung zur Zeit t und ist Σ die Gesamtsumme gemäß Zeit t. Der erwartete Wert dieser Formel ist der erwartete Wert in dem Fall, bei dem sich der Zustand entsprechend der optimalen Aktion ändert. Jedoch, da es unklar ist, was die optimale Aktion ist, im Verlauf des Q-Lernens, wird ein Verstärkungslernen vorgenommen, während durch Durchführen verschiedener Aktionen gesucht wird. Ein Aktualisierungsverfahren einer solchen Qualität Q(s, a) kann durch die nachfolgende Formel (1) repräsentiert werden. [Formel 1] Q ( s t + 1 , a t + 1 ) Q ( s t , a t ) + α ( r t + 1 + γ max a Q ( s t + 1 , a ) Q ( s t , a t ) )
    Figure DE102018204740A1_0001
  • In der obigen Formel (1) repräsentiert st den Zustand der Umgebung zur Zeit t und repräsentiert at die Aktion zur Zeit t. Der Zustand ändert sich entsprechend der Aktion at zu st+1. rt+1 repräsentiert die durch diese Änderung beim Zustand erhaltene Vergütung. Zusätzlich wird ein Ausdruck mit max zu einem Wert, zu dem durch Multiplizieren von y mit dem Q-Wert im Falle der Auswahl der Aktion a mit dem höchsten Q-Wert, der zu dieser Zeit bekannt ist, im Zustand st+1 gelangt wird. Hier ist y ein Parameter von 0<γ≤1 und wird Rabattrate genannt. Zusätzlich ist α eine Lernrate und im Bereich von 0<α≤1 definiert.
  • Die vorstehende Formel (1) drückt ein Verfahren des Aktualisierens der Qualität Q(st, at) einer Aktion beim Zustand st aus, basierend auf der rückgegebenen Vertiefung rt+1 als ein Ergebnis eines Versuchslaufs at. Dieser Aktualisierungstyp zeigt die Angelegenheit der Qualität Q(st, at), welche ansteigt, falls die Qualität maxa Q(st+1, a) der besten Aktion im nachfolgenden Zustand st+1 von der Aktion at größer als die Qualität Q(st, at) der Aktion im Zustand st ist, und zeigt die Qualität Q(st, at), die abnimmt, falls umgekehrt kleiner. Mit anderen Worten wird die Qualität Q(s,a) einer gewissen Aktion in einem gewissen Zustand dazu gebracht, sich dem Wert der besten Aktion im nachfolgenden Zustand davon abhängig anzunähern. Jedoch ändert sich die Differenz abhängig von den Idealzuständen für die Rabattrate γ und Vergütung rt+1; jedoch wird sie im Wesentlichen ein Mechanismus, in welchem die Qualität für die beste Aktion in einem gewissen Zustand zur Qualität der Aktion ein Zustand davor, der dazu führt, propagiert.
  • Hier gibt es beim Q-Lernen en Verfahren des Durchführens von Lernen durch Erzeugen einer Tabelle von Q(s,a) für alle Zustandsaktionspaare (s,a). Jedoch gibt es Fälle, wo die Anzahl von Zuständen zu groß ist, um die Werte von Q(s, a) für alle Zustandsaktionspaare zu ermitteln und das Q-Lernen konvergiert, erfordert aber viel Zeit.
  • Daher kann konfiguriert werden, die bekannte Technik zu verwenden, die DQN (Deep Q-Network, tiefes Q-Netzwerk) genannt wird. Spezifischer, durch Bilden einer Wertefunktion Q unter Verwendung eines angemessenen neuronalen Netzwerks und Justieren von Parametern des neuronalen Netzwerks kann konfiguriert sein, den Wert der Qualität Q(s, a) durch Annähern der Wertefunktion Q durch das angemessene neuronale Netzwerk zu berechnen. unter Verwendung von DQN wird es möglich, die Zeit, die benötigt wird, damit das Q-Lernen konvergiert, zu verkürzen. Es sollte angemerkt werden, dass es eine detaillierte Beschreibung von DQN im nachfolgenden Nicht-Patentdokument gibt.
  • <Nicht-Patentdokument>
  • „Human-level control through deep reinforcement learning,“ Volodymyr Mnih1 (online), (gesucht 17. März 2017)), Internet <URL: http://files.davidqiu.com/research/nature14236.pdf>
  • Die Aktionsinformations-Lernvorrichtung 300 führt ein Q-Lernen durch, für welches eine Erläuterung oben gegeben wurde. Spezifischer erlernt die Aktionsinformations-Lernvorrichtung 300 die Wertefunktion Q zum Auswählen, mit den Inhalten des Robotersteuerprogramms und den Parametern zur Zeit der Ausführung dieses Robotersteuerprogramms, eingestellt im Roboter 100, etabliert als Zustand s, und mit der Korrektur dieses Robotersteuerprogramms und der Justierung von Parametern, die sich auf diesen Zustand s beziehen, etabliert als Aktion a.
  • Die Aktionsinformations-Lernvorrichtung 300 beobachtet den Zustand s des Robotersteuerprogramms, Parameter etc., die im Roboter 100 eingestellt sind und bestimmt die Aktion a. Der Aktionsinformations-Lernvorrichtung 300 wird eine Vergütung rückgegeben, jedes Mal wenn eine Aktion a vorgenommen wird. Die Aktionsinformations-Lernvorrichtung 300 sucht nach der optionalen Aktion a in einer Versuch- und Irrtumsweise, so dass die Gesamtsumme von Vergütungen in der Zukunft maximal wird. Durch Konfiguration auf diese Weise macht es die Aktionsinformations-Lernvorrichtung 300 möglich, die optionale Aktion a relativ zum Zustand s auszuwählen, welches Inhalte des Robotersteuerprogramms sind, eine Kombination von Parametern während der Ausführung dieses Robotersteuerprogramms etc., eingestellt im Roboter 100.
  • Mit anderen Worten, basierend auf der durch die Aktionsinformations-Lernvorrichtung 300 erlernten Wertefunktion Q, durch Auswählen der Aktion a so, dass der Wert der Wertefunktion Q maximal wird, von den auf die Inhalte des Robotersteuerprogramms und Kombination von Parametern während der Ausführung dieses Robotersteuerprogramms angewendete Aktion a, bezogen auf einen gewissen Zustand s, wird es möglich, eine Aktion a so auszuwählen, dass die Übergabezeit t und die Abgabezeit T2, die Zeiten sind, welche sich auf die Übergabe des Werkstücks 7 beziehen, am kürzesten werden.
  • Um das obige Verstärkungslernen durchzuführen, beinhaltet die Aktionsinformations-Lernvorrichtung 300 eine Zustandsformations-Erfassungseinheit 310, eine Aktionsinformations-Ausgabeeinheit 320, eine Lerneinheit 330 und eine Wertefunktions-Speichereinheit 340.
  • Die Zustandsformations-Erfassungseinheit 310 ist ein Bereich, der Zustandsinformation (Zustand s) erfasst, welches die Inhalte eines Robotersteuerprogramms sind, Kombination von Parametern während der Ausführung dieses Robotersteuerprogramms etc., aus der Robotersteuervorrichtung 200 (und/oder dem Roboter 100). Dieser Zustand s entspricht dem Umgebungszustand s beim Q-Lernen.
  • Spezifischer werden im Zustand s der vorliegenden Ausführungsform die Inhalte des Robotersteuerprogramms zum Steuern des Roboters 100 und die Kombination von Parametern während der Ausführung dieses Robotersteuerprogramms eingeschlossen. In den Parametern wird Information hinsichtlich der Stellung innerhalb des Übergabebereichs 8 des Roboters 100 einschließlich der Handeinheit 13, Position innerhalb des Übergabebereichs 8 und der Bewegungspfad vom Aufnehmen des Werkstücks 7 bis zum Eintreffen an einer Position innerhalb des Übergabebereichs 8 mittels dieses Robotersteuerprogramms etc. eingeschlossen. Die Zustandsformations-Erfassungseinheit 310 gibt den erfassten Zustand s an die Lerneinheit 330 aus.
  • Zusätzlich erfasst die Zustandsformations-Erfassungseinheit 310 auch die Bestimmungsinformation zum Berechnen einer Vergütung zum Durchführen von Q-Lernen. Spezifischer wird die Übergabezeit T nach Ausführung entsprechend dem Robotersteuerprogramm, das sich auf s bezieht, und von Parametern während der Ausführung dieses Robotersteuerprogramms, als Bestimmungsinformation zum Berechnen der Vergütung zum Durchführen von Q-Lernen eingestellt. Die Übergabezeit T besteht aus der Bewegungszeit T1, welche die Zeit ist, dass der Roboter 100 das Werkstück 7 erfasst und dann bis zu einer Position innerhalb des Übergabebereichs 8 bewegt, und der Abgabezeit T2 ab dem Bewegen zu einer Position innerhalb des Übergabebereichs 8, bis das Werkstück 7 zum Bediener P übergeben wird, wie oben erwähnt.
  • Die Aktionsinformations-Ausgabeeinheit 320 ist ein Bereich, der die Aktionsinformation (Aktion a), welche durch die Lerneinheit 330 erzeugt wird, an die Robotersteuervorrichtung 200 sendet. Die Robotersteuervorrichtung 200 geht durch Korrigieren des aktuellen Zustands s, das heißt den aktuell eingestellten Robotersteuerprogramm und Parametern, basierend auf dieser Aktion a zum nächsten Zustand s' über (das heißt korrigiertem Robotersteuerprogramm, korrigierten Parametern, und Zustand für einen Fall des Ausführens von Bewegungsverarbeitung entsprechend diesem korrigierten Robotersteuerprogramm und den korrigierten Parametern).
  • Die Lerneinheit 330 ist ein Bereich, welcher die Qualität Q (s, a) für einen Fall des Auswählens einer gewissen Aktion a in einem gewissen Zustand s der Umgebung erlernt. Spezifischer enthält die Lerneinheit 330 eine Vergütungsrecheneinheit 331, eine Wertefunktions-Aktualisierungseinheit 332 und eine Aktionsinformations-Erzeugungseinheit 333.
  • Die Vergütungsrecheneinheit 331 ist ein Bereich, der eine Vergütung für den Fall der Auswahl der Aktion a berechnet, basierend auf der Bestimmungsinformation. Hier soll in der vorliegenden Ausführungsform der Vergütungswert ein negativer Wert in dem Fall sein, dass die Übergabezeit T des Roboters 100, der basierend auf dem sich auf den Zustand s' beziehenden korrigierten Robotersteuerprogramm arbeitet, das anhand der Aktion a korrigiert ist, und den korrigierten Parametern während der Ausführung dieses korrigierten Robotersteuerprogramms länger wird als die Übergabezeit T des Roboters 100, der basierend auf dem Robotersteuerprogramm vor der Korrektur arbeitet, die sich auf den Zustand s bezieht, bevor er anhand der Aktion a korrigiert wird, und die Parameter vor der Korrektur während der Ausführung dieses Robotersteuerprogramms vor der Korrektur.
  • Andererseits soll der Vergütungswert ein positiver Wert in dem Fall sein, bei dem die Übergabezeit T des Roboters 100, der basierend auf dem korrigierten Robotersteuerprogramm arbeitet, das sich auf den Zustand s bezieht, der anhand der Aktion a korrigiert ist, und den korrigierten Parameterwert und der Ausführung dieses korrigierten Robotersteuerprogramms, kürzer wird als die Übergabezeit T des Roboters 100, der basierend auf dem Robotersteuerprogramm vor der Korrektur arbeitet, das sich auf den Zustand s bezieht, bevor er anhand der Aktion a korrigiert wird, und den Parametern vor der Korrektur während der Ausführung dieses Robotersteuerprogramms vor der Korrektur.
  • Zusätzlich ist es möglich, so zu konfigurieren, dass für den Vergütungswert eine Gewichtung gegeben wird. Beispielsweise wird es für die Bewegungszeit T1 und die Abgabezeit T2 bevorzugt, den Positivwert der Vergütung größer für den Fall zu machen, bei dem die Abgabezeit T2 kürzer wird als der Fall, bei dem die Bewegungszeit T1 kürzer wird. Mit anderen Worten ist es gut, so zu konfigurieren, dass der Positivwert größer wird entsprechend dem Ausmaß, um welches die Abgabezeit T2 verkürzt wird. Es sollte angemerkt werden, dass das oben erwähnte Rechenverfahren des Vergütungswerts ein Beispiel ist und nicht darauf beschränkt ist. Beispielsweise kann so konfiguriert werden, dass beliebig vorab eine Vergütungs-Assoziierungstabelle (Provisionsname) erzeugt wird, welche den Vergütungswert mit der Variation bei der Übergabezeit T, Variation bei der Bewegungszeit T1 und Variation bei der Abgabezeit T2 zwischen dem Zustand s' und Zustand s assoziiert und den Wert der Vergütung basierend auf der Vergütungs-Assoziierungstabelle berechnet. Zusätzlich kann so konfiguriert werden, dass vorab eine Vergütungsfunktion (provisorischer Name) beliebig erzeugt wird, die eine Variation bei der Übergabezeit T, Variation bei der Bewegungszeit T1 und Variation bei der Abgabezeit T2 als Eingaben etabliert, und den Wert der Vergütung basierend auf der Vergütungsfunktion berechnet.
  • Der Wertefunktions-Aktualisierungsabschnitt 332 aktualisiert die durch den Wertefunktions-Speicherabschnitt 340 gespeicherten Wertefunktion Q durch Durchführen von Q-Lernen, basierend auf dem Zustand s, der Aktion a, dem Zustand s' im Falle des Anwendens von Aktion a auf den Zustand s und den Vergütungswert, der auf die oben erwähnte Weise berechnet ist.
  • Die Aktualisierung der Wertefunktion Q kann durch Online-Lernen durchgeführt werden, kann durch Batch-Lernen durchgeführt werden oder kann durch Mini-Batch-Lernen durchgeführt werden. Online-Lernen ist ein Lernverfahren des Durchführens der Aktualisierung der Wertefunktion Q momentan, wann immer der Zustand s zu einem neuen Zustand s' übergeht, durch Anwenden einer gewissen Aktion a auf den aktuellen Zustand s. Zusätzlich ist Batch-Lernen ein Lernverfahren des Sammelns von Daten zum Erlernen durch Wiederholen des Anwendens einer gewissen Aktion a auf den aktuellen Zustand s und dass der Zustand s zum neuen Zustand s' übergeht, und dann Durchführen der Aktualisierung der Wertefunktion Q unter Verwendung aller gesammelter Daten zum Lernen. Weiterhin ist ein Mini-Batch-Lernen ein Lernverfahren zwischen Online-Lernen und Batch-Lernen, bei dem Aktualisierung der Wertefunktion Q jedes Mal durchgeführt wird, wenn eine gewisse Datenmenge zum Lernen akkumuliert.
  • Die Aktionsinformations-Erzeugungseinheit 333 erzeugt eine Aktion a, um zu veranlassen, dass verschiedene Operationen (entsprechend Aktion a beim Q-Lernen) durch den Roboter 100 im Verlauf des Q-Lernens durchgeführt werden, und gibt die erzeugte Aktion a an die Aktionsinformations-Ausgabeeinheit 320 aus.
  • Spezifischer wählt die Aktionsinformations-Erzeugungseinheit 333 eine Aktion a im Verlauf des Q-Lernens relativ zum aktuellen Zustand s aus. Sich auf die durch das auf den aktuellen Zustand s beziehende Robotersteuerprogramm codierte Inhalte beziehende Korrekturinformation und die Einstellwerte von Parametern, die sich auf den aktuellen Zustand s beziehen (beispielsweise Werte, die sich auf die Stellung von Roboter 100 einschließlich der Handeinheit 13 beziehen, Position innerhalb des Übergabebereichs 8 und Bewegungspfads des Roboters 100 von Aufnehmen des Werkstücks 7 bis zum Erreichen der Position innerhalb des Übergabebereichs 8) werden in der Aktion a der vorliegenden Ausführungsform eingeschlossen.
  • Beispielsweise im Fall, bei dem Einstellwerte von Parametern, die in der Aktion a enthalten sind, auf das Robotersteuerprogramm angewendet werden und die Parameter (beispielsweise Werte r, Werte, die sich auf die Stellung des Roboters 100 einschließlich der Handeinheit 13 beziehen, Position innerhalb des Übergabebereichs 8 und Bewegungspfad des Roboters 100 von Aufnehmen des Werkstücks 7 bis zum Erreichen einer Position innerhalb des Übergabebereichs 8), die in Zustand s enthalten sind, dann Übergehen zum Zustand s' und eine Plusvergütung (Vergütung positiven Werts), die rückgegeben wird, kann die Aktionsinformations-Erzeugungseinheit 333 so konfiguriert sein, dass sie einen Plan verwendet, der als nächste Aktion a' eine Aktion a' derart auswählt, dass die Übergabezeit T sich weiter verkürzt, durch leichtes Bewegen der Position innerhalb des Übergabebereichs 8 zu einer Seite der Abgabeposition, welches die Position ist, an der das Werkstück 7 losgelassen wird oder leichtes Ändern der Stellung des Roboters 100 in Richtung der Freigabestellung, welches die Stellung ist, in welcher das Werkstück 7 losgelassen wird.
  • Zusätzlich kann umgekehrt so konfiguriert werden, dass die Aktionsinformations-Erzeugungseinheit 333 eine Aktion a' auswählt, um so näher am Zustand s als am Zustand s' in dem Fall zu sein, dass eine Minusvergütung (Vergütung negativen Werts) zurückgegeben wird. Alternativ kann so konfiguriert werden, dass Aktionen gesammelt werden, die als eine Minusvergütung angenommen werden, durch Auswählen einer Aktion a', so dass der Zustand s' angenähert wird. Weiterhin kann der Aktionsinformations-Erzeugungsabschnitt 333 so konfiguriert sein, dass er einen Plan verwendet, der die Aktion a' durch ein wohlbekanntes Verfahren aufweist, wie etwa ein Geizverfahren des Auswählens der Aktion a' mit der höchsten Qualität Q(s, a), von den Qualitäten existierender Aktionen a abgeschätzt, oder ein ε-Geizverfahren des zufälligen Auswählens der Aktion a' mit einer kleinen Wahrscheinlichkeit ε und Auswählen der Aktion a' mit der höchsten Qualität Q(s, a) außer diesem.
  • Die Wertefunktions-Speichereinheit 340 ist eine Speichervorrichtung, welche die Wertefunktionen Q speichert. Die Wertefunktionen Q, die in der Wertefunktions-Speichereinheit 340 gespeichert sind, werden durch den Wertefunktions-Aktualisierungsabschnitt 332 aktualisiert.
  • Zusätzlich erzeugt die Aktionsinformations-Lernvorrichtung 300 eine Aktion a (nachfolgend als „optimierte Aktionsinformation“ bezeichnet), um eine Operation zu veranlassen, für welche die Qualität Q(s, a) ein Maximum erreicht, das im Aktionsinformations-Lernvorrichtung 300 durchzuführen ist, basierend auf der durch den, Q-Lernen durchführenden Wertefunktions-Aktualisierungsabschnitt 332 aktualisierten Wertefunktion Q.
  • Die Aktionsinformations-Lernvorrichtung 300 beinhaltet eine optimierte Aktionsinformations-Ausgabeeinheit 350. Die optimierte Aktionsinformations-Ausgabeeinheit 350 erfasst die in der Wertefunktions-Speichereinheit 340 gespeicherte Wertefunktion Q. Diese Wertefunktion Q ist eine durch den, Q-Lernen durchführenden Wertefunktions-Aktualisierungsabschnitt 332 aktualisierte Funktion, wie oben erwähnt. Dann erzeugt die optimierte Aktionsinformations-Ausgabeeinheit 350 die optimierte Aktionsinformation, basierend auf der Wertefunktion Q und gibt die so erzeugte optimierte Aktionsinformation an die Robotersteuervorrichtung 200 aus. In dieser optimierten Aktionsinformation sind das korrigierte Robotersteuerprogramm und korrigierte Parameter während der Ausführung dieses korrigierten Robotersteuerprogramms enthalten, ähnlich zu der durch die Aktionsinformations-Ausgabeeinheit 320 im Verlauf des Q-Lernens ausgegebenen Aktionsinformation.
  • Durch die das Robotersteuerprogramm und akustisch eingesetzte Parameter korrigierende Robotersteuervorrichtung 200, basierend auf dieser optimierten Aktionsinformation, und Erzeugen eines Betriebsbefehls kann der Roboter 100 so arbeiten, dass die Übergabezeit T und die Abgabezeit T2 am kürzesten wird.
  • Die in der Robotersteuervorrichtung 200 und der Aktionsinformations-Lernvorrichtung 300 enthaltenen Funktionsblöcke sind oben erläutert worden. Um diese Funktionsblöcke zu realisieren, enthalten die Robotersteuervorrichtung 200 und die Aktionsinformations-Lernvorrichtung 300 eine Arithmetik-Verarbeitungseinheit, wie etwa eine CPU (Zentraleinheit). Zusätzlich enthalten die Robotersteuervorrichtung 200 und die Aktionsinformations-Lernvorrichtung 300 auch eine Hilfsspeichervorrichtung, wie etwa eine HDD (Festplattenlaufwerk), die verschiedene Steuerprogramme wie etwa Applikations-Software und das BS (Betriebssystem) speichern, und eine Hauptspeichervorrichtung, wie etwa ein RAM (Wahlfreizugriffsspeicher) zum Speichern von Daten, die zeitweilig bei der Programme ausführenden Arithmetik-Verarbeitungseinheit benötigt werden.
  • Dann liest in der Robotersteuervorrichtung 200 und der Aktionsinformations-Lernvorrichtung 300 die Arithmetik-Verarbeitungseinheit die Applikations-Software und/oder das BS aus der Hilfsspeichervorrichtung aus und führt eine Arithmetik-Verarbeitung durch, basierend auf dieser Applikations-Software und/oder dem BS, während die gelesene Applikations-Software und/oder das BS in der Hauptspeichervorrichtung expandiert werden. Zusätzlich steuern basierend auf diesen Berechnungsergebnissen die Robotersteuervorrichtung 200 und die Aktionsinformations-Lernvorrichtung 300 verschiedene Hardware, über die die jeweiligen Vorrichtungen verfügen. Die Funktionsblöcke der vorliegenden Ausführungsform werden dadurch realisiert. Mit anderen Worten kann die vorliegende Ausführungsform durch Hardware und Software, die kooperieren, realisiert werden.
  • Als ein spezifisches Beispiel kann die Robotersteuervorrichtung 200 durch Kombinieren von Applikations-Software zum Realisieren der vorliegenden Ausführungsform mit einer normalen Steuervorrichtung für den Roboter 100 realisiert werden. Zusätzlich kann die Aktionsinformations-Lernvorrichtung 300 durch Kombinieren von Applikations-Software zum Realisieren der vorliegenden Ausführungsform mit einem üblichen persönlichen Computer realisiert werden.
  • Jedoch, da die Rechenmenge das einhergehende Maschinenlernen für die Aktionsinformations-Lernvorrichtung 300 erhöht, ist es gut, dies so zu machen, dass eine Hochgeschwindigkeitsverarbeitung möglich ist, wenn konfiguriert wird, GPUs (Graphik-Verarbeitungseinheiten) in einen persönlichen Computer zu installieren, und die GPUs in der mit dem Maschinenlernen einhergehenden arithmetischen Verarbeitung zu verwenden, gemäß einer Technik, die GPGPU (General-Purpose computing on Graphics Processing Units) genannt wird. Weiterhin, um höhere Geschwindigkeitsverarbeitungen durchzuführen, kann die Aktionsinformations-Lernvorrichtung 300 konfiguriert sein, einen Computercluster zu konstruieren, der eine Vielzahl von Computern verwendet, die mit solchen GPUs versehen ist, und Parallelverarbeitung mit der Vielzahl von Computern, die in diesem Computercluster enthalten sind, durchzuführen.
  • Als Nächstes wird eine Erläuterung für Operationen der Aktionsinformations-Lernvorrichtung 300 gegeben, welche Q-Lernen durchführt, als Aktionsinformations-Lernverarbeitung in der vorliegenden Ausführungsform, durch Bezug nehmen auf das Flussdiagramm von 4.
  • Zuerst erfasst im Schritt S11 (nachfolgend einfach als „S“ bezeichnet) die Zustandsformations-Erfassungseinheit 310 Zustandsinformation aus der Robotersteuervorrichtung 200. Die erfasste Zustandsinformation wird an den Wertefunktions-Aktualisierungsabschnitt 332 und/oder Aktionsinformations-Erzeugungsabschnitt 333 ausgegeben. Wie oben erwähnt, ist diese Zustandsinformation Information, die dem Zustand s der Umgebung beim Q-Lernen entspricht und die Inhalte des Robotersteuerprogramms und Information, welche sich auf die Stellung innerhalb des Übergabebereichs 8 des Roboters 100 einschließlich der Handeinheit 13 bezieht, Position innerhalb des Übergabebereichs 8 und Bewegungspfad, welche Einstell-Werte von Parametern im Moment von S11 sind, sind darin enthalten. Es sollte angemerkt werden, dass das Robotersteuerprogramm und Einstellwerte von Parametern im Moment des ersten Startens von Q-Lernen durch den Anwender vorab erzeugt werden sollen. Mit anderen Worten werden in der vorliegenden Ausführungsform das Robotersteuerprogramm und Anfangseinstellwerte von Parametern, die durch den Anwender erzeugt werden, mittels Verstärkungslernen auf optimal justiert.
  • In S12 erzeugt der Aktionsinformations-Erzeugungsabschnitt 333 neue Aktionsinformation und gibt die neue Aktionsinformation (Aktion a), die so erzeugt ist, an die Robotersteuervorrichtung 200 über die Aktionsinformations-Ausgabeeinheit 320 aus. Die, die Aktionsinformation erhalten habende Robotersteuervorrichtung 200, treibt den ? Aktionsinformations-Lernvorrichtung 300 an, Übergabeverarbeitung des Werkstücks 7 entsprechend dem Zustand s' durchzuführen, der durch Korrigieren des Robotersteuerprogramms und von Parametern, die sich auf den aktuellen Zustand s beziehen, etabliert wird, basierend auf der empfangenen Aktionsinformation. Wie oben erwähnt, entspricht diese Aktionsinformation der Aktion a beim Q-Lernen. Hier ist der Punkt der Aktionsinformation, welche die korrigierten Werte eines Robotersteuerprogramms und Einstellwerte von Parametern beispielsweise enthält, wie oben erwähnt.
  • In S13 erfasst die Zustandsformations-Erfassungseinheit 310 die Bestimmungsinformation für den neuen Zustand s'. Hierin sind das Robotersteuerprogramm und sich auf den Zustand s' beziehende Parameter im neuen Zustand s' enthalten. Zusätzlich beinhaltet die Bestimmungsinformation die Übergabezeit T, die aus der Bewegungszeit T1, die erfasst wird, um Bewegungsverarbeitung durchzuführen, und der Abgabezeit T2, die sich auf den Zustand s' bezieht, besteht. Die erfasste Zustandsinformation wird an die Vergütungsrecheneinheit 331 ausgegeben.
  • Der Vergütungsrecheneinheit 331 berechnet die Vergütung, basierend auf der eingegebenen Bestimmungsinformation. Aus diesem Grund bestimmt in S14 der Vergütungsrecheneinheit 331, ob die in der Bestimmungsinformation enthaltene Übergabezeit T abgekürzt worden ist. Eine solche Bestimmung kann durchgeführt werden, indem zwischen der Übergabezeit T, die erforderlich ist, um Bewegungsverarbeitung durchzuführen, die sich auf den Zustand s' bezieht, enthalten in der Bestimmungsinformation des Zustands s', und der Übergabezeit T, die benötigt wird, um Bewegungsverarbeitung durchzuführen, welche sich auf den in der Bestimmungsinformation von Zustand s enthaltenen Zustand s bezieht, welches der Zustand vor dem Zustand s' ist, verglichen wird. Falls die Übergabezeit T kürzer wurde (S14: JA), rückt der Vergütungsrecheneinheit 331 die Verarbeitung zu S15 fort. Ansonsten, falls die Übergabezeit T länger wurde (S14: NEIN), rückt der Vergütungsrechenabschnitt 331 die Verarbeitung zu S18 vor.
  • In S15 bestimmt der Vergütungsrechenabschnitt 331, ob die Abgabezeit T2, die in der Bestimmungsinformation enthalten ist, kürzer wurde als die Wechselstrom-Drehmaschine 2, die erforderlich ist, um die Bewegungsverarbeitung durchzuführen, die sich auf den Zustand s bezieht, der in der Bestimmungsinformation vom Zustand s enthalten ist, welches der Zustand vor dem Zustand s' ist. Falls die Abgabezeit T2 kürzer wurde (S15: JA), rückt der Vergütungsrechenabschnitt 331 die Verarbeitung zu S16 vor. Andererseits, falls die Abgabezeit T2 länger wurde (S15: NEIN), rückt die Vergütungsrechenabschnitt die Verarbeitung zu S17 vor.
  • In S16 stellt der Vergütungsrechenabschnitt 331 die Vergütung als einen ersten Wert ein. Hier soll der erste Wert ein positiver Wert sein. Nachfolgend rückt die Lerneinheit 330 die Verarbeitung zu S19 vor. In S17 stellt der Vergütungsrechenabschnitt 331 die Vergütung als einen zweiten Wert ein. Hier soll der zweite Wert ein positiver Wert sein. Zusätzlich soll der zweite Wert ein Wert kleiner als der erste Wert sein. Nachfolgend rückt die Lerneinheit 330 die Verarbeitung zu S19 vor. In S18 stellt der Vergütungsrechenabschnitt 331 die Vergütung als einen dritten Wert ein. Hier soll der dritte Wert ein negativer Wert sein. Es sollte angemerkt werden, dass konfiguriert werden kann, weiter Gewichtung des ersten Werts, zweiten Werts und dritten Werts durchzuführen, anhand der Größe der Differenz bei der Zeit, die mit der vorherigen Zeit verglichen wird.
  • In S19 aktualisiert der Wertefunktions-Aktualisierungsabschnitt 332 die Wertefunktion Q, welche durch die Wertefunktions-Speichereinheit 340 gespeichert ist, basierend auf dem Wert der Vergütung, der in der obigen Weise berechnet worden ist. Dann kehrt die Lerneinheit 330 wieder zu S11 zurück und durch Wiederholen der vorgenannten Verarbeitung konvergiert die Wertefunktion Q auf einen angemessenen Wert. Es sollte angemerkt werden, dass die Lerneinheit 330 konfiguriert werden kann, die vorgenannte Verarbeitung unter der Bedingung zu beenden, dass sie eine vorgegebene Anzahl von Malen wiederholt worden ist, oder eine vorbestimmte Zeit lang wiederholt worden ist. Obwohl die Operationen der Aktionsinformations-Lernvorrichtung 300 oben erläutert worden sind, ist die Verarbeitung des Berechnens des Wertes der Vergütung ab S14 bis S18 ein Beispiel und ist nicht darauf beschränkt. Beispielsweise, wie oben erwähnt, kann so konfiguriert sein, dass der Vergütungswert berechnet wird, indem die Variation bei der Übergabezeit T, Variation bei der Bewegungszeit T1 und Variation bei der Abgabezeit T2, zwischen dem Zustand s' und dem Zustand s, in eine Vergütungs-Assoziierungstabelle (provisorischer Name) oder Vergütungsfunktion (provisorischer Name), die vorab eingestellt werden, eingegeben werden.
  • Gemäß oben erläuterten Operationen unter Bezugnahme auf 4 übt die vorliegende Ausführungsform einen Effekt aus, in der Lage zu sein, eine Wertefunktion Q zum Erzeugen von Aktionsinformation zum Verkürzen der Übergabezeit T und der Abgabezeit T2 zu erzeugen.
  • Als Nächstes wird eine Erläuterung gegeben für Operationen während der Erzeugung optimierter Aktionsinformation mittels der Aktionsinformations-Lernvorrichtung 300 durch Bezugnahme auf das Flussdiagramm von 5. Zuerst erfasst in S21 die optimierte Aktionsinformations-Ausgabeeinheit 350 der Aktionsinformations-Lernvorrichtung 300 eine durch die Wertefunktions-Speichereinheit 340 gespeicherte Wertefunktion Q. Diese Wertefunktion Q wurde dadurch aktualisiert, dass der Wertefunktions-Aktualisierungsabschnitt 332 Q-Lernen in der vorgenannten Weise durchführt.
  • In S22 erzeugt die optimierte Aktionsinformations-Ausgabeeinheit 350 optimierte Aktionsinformation durch Auswählen, als optimale Aktion, der Aktion a mit der höchsten Qualität Q(s, a) aus den verfügbaren Aktionen a für den Zustand s, der aktuell eingestellt ist, beispielsweise basierend auf dieser Wertefunktion Q und gibt die erzeugte optimierte Aktionsinformation an die Robotersteuervorrichtung 200 aus.
  • Gemäß dem Obigen korrigiert die Robotersteuervorrichtung 200 den Zustand s, der aktuell eingestellt ist (d.h. das Robotersteuerprogramm und aktuell eingestellte Parameter) basierend auf dieser optimierten Aktionsinformation, um einen Betriebsbefehl zu erzeugen. Dann, indem der erzeugte Betriebsbefehl an den Roboter 100 gesendet wird, übt die Robotersteuervorrichtung 200 einen Effekt darin aus, dass der Roboter 100 so arbeiten kann, dass die Übergabezeit T am kürzesten wird.
  • Zusätzlich erzeugt in der vorliegenden Ausführungsform vermittels der durch Bezugnahme auf 5 erläuterten Operationen die Aktionsinformations-Lernvorrichtung 300 optimierte Aktionsinformation, basierend auf der Wertefunktion Q, dann korrigiert die Robotersteuervorrichtung 200 das Robotersteuerprogramm und aktuell eingestellte Parameter basierend auf dieser optimierten Aktionsinformation und erzeugt einen Betriebsbefehl. Dann übt die Robotersteuervorrichtung 200 auch einen Effekt aus, dass es möglich wird, den Roboter 100 durch Verkürzen der Übergabezeit T mittels Sendens des erzeugten Betriebsbefehls an den Roboter 100 zu steuern.
  • In der vorliegenden Ausführungsform ist es möglich, die Übergabezeit T mittels des Durchführens von Verstärkungslernen zu verkürzen, während das Robotersteuerprogramm und/oder Einstellwerte von Parametern in der vorgenannten Weise justiert werden. Mit anderen Worten übt die vorliegende Ausführungsform vorteilhafte Effekte im Vergleich zur konventionellen Technologie aus.
  • Es sollte angemerkt werden, dass jede der in dem oben erwähnten Robotersteuersystem 1000 enthaltenen jeweiligen Vorrichtungen mittels Hardware, Software oder einer Kombination dieser realisiert werden kann. Zusätzlich kann das mittels der Kooperation zwischen jeder der in dem Robotersteuersystem 1000 enthaltenen jeweiligen Vorrichtungen durchgeführte Aktionsinformations-Lernverfahren auch mittels Hardware, Software oder einer Kombination von diesen realisiert werden. Hier gibt „durch Software realisiert“ den Umstand an, durch einen Computer realisiert zu werden, der Programme ausliest oder ausführt.
  • Die Programme können unter Verwendung verschiedener Typen nicht-transitorischer computerlesbarer Medien gespeichert werden und einem Computer zugeführt werden. Das nicht-transitorische computerlesbare Medium beinhaltet anfassbare Speichermedien. Beispiele von nicht-transitorischen computerlesbaren Medien beinhalten Magnetmedien (beispielsweise flexible Disks, Magnetbänder, Festplattenlaufwerke), magnet-optische Aufzeichnungsmedien, (beispielsweise magnet-optische Disks), CD-ROM (Nurlesespeicher), CD-R, CD-R/W und Halbleiterspeicher (beispielsweise Masken-ROM, PROM (programmierbares ROM), EPROM (löschbares PROM), Flash-ROM, RAM (Wahlfreizugriffsspeicher)). Zusätzlich können die Programme einem Computer mittels verschiedener Typen von transitorischen computerlesbaren Medien zugeführt werden. Beispiele von transitorischen computerlesbaren Medien beinhalten elektrische Signale, optische Signale und elektromagnetische Wellen. Die transitorischen computerlesbaren Medien können Programme einem Computer über verdrahtete Kommunikationspfade wie elektrische Drähte und optische Faser oder einen Funkkommunikationspfad zuführen.
  • Zusätzlich ist die vorgenannte Ausführungsform eine bevorzugte Ausführungsform der vorliegenden Erfindung; jedoch soll sie nicht den Schutzumfang der vorliegenden Erfindung auf nur die oben erwähnte Ausführungsform beschränken und eine Implementierung ist möglich in Modi, die durch Durchführen verschiedener Modifikationen in einem Schutzumfang erzielt werden, der nicht vom Geist der vorliegenden Erfindung abweicht.
  • In der vorstehenden Ausführungsform wird angenommen, die Aktionsinformations-Lernvorrichtung 300 mittels einer getrennten Vorrichtung vom Roboter 100 und der Robotersteuervorrichtung 200 zu realisieren; jedoch kann so konfiguriert werden, dass ein Teil oder die Gesamtheit der Funktionen der Aktionsinformations-Lernvorrichtung 300 beispielsweise mittels der Robotersteuervorrichtung 200 realisiert werden.
  • In der vorstehenden Ausführungsform wird die Aktionsinformations-Lernvorrichtung 300 als eine Vorrichtung etabliert, die eine Funktion des Lernens und eine Funktion des Erzeugens von Aktionsinformation aufweist; jedoch kann konfiguriert werden, die Funktion des Durchführens von Lernen und die Funktion des Erzeugens von Aktionsinformation mittels einer getrennten Vorrichtung durchzuführen.
  • In der oben erwähnten Ausführungsform wird eine Konfiguration erläutert, in welcher die Aktionsinformations-Lernvorrichtung 300 Verstärkungslernen durchführt. In dieser Hinsicht kann eine Konfiguration etabliert werden, in der ein Robotersteuersystem 1000-2 eine über ein Netzwerk 500 mit einer m Anzahl von Aktionsinformations-Lernvorrichtungen 300 verbundene Verwaltungsvorrichtung 600 enthält, wie in 6 gezeigt. Beispielsweise im Fall, dass die Aktionsinformations-Lernvorrichtung 300 an jeder der Robotersteuervorrichtung 200 eingerüstet ist, ist m die Anzahl von Robotersteuervorrichtungen 200. Dann, im Falle, dass die relativen Arbeitsumgebungen des Roboters 100 und des Bedieners P dieselben Bedingungen erfüllen (beispielsweise eine Angelegenheit der Position des Roboters 100, des Übergabebereichs 8, des beweglichen Bereichs der Handeinheit 13 des Roboters 100 etc. relativ das gleiche seiend), indem die Verwaltungsvorrichtung 600 über das Netzwerk 500 mit der Mehrzahl von Aktionsinformations-Lernvorrichtungen 300-1 bis 300-m verbunden ist, kann die Verwaltungsvorrichtung 600 die Wertefunktionen Q der entsprechenden Lernmodell-Konstruktionsvorrichtungen 300 aggregieren. Durch Konfiguration auf diese Weise werden die Wertefunktionen Q zwischen allen Lernmodell-Konstruktionsvorrichtungen 300 geteilt. Solange wie konfiguriert, die Wertefunktionen Q zwischen einer Vielzahl der Lernmodell-Konstruktionsvorrichtungen 300 zu teilen, wird es möglich sein, ein Verstärkungslernen durchzuführen, durch Verteilen über die entsprechenden Lernmodell-Konstruktionsvorrichtungen 300. Daher wird es möglich, die Effizienz des Verstärkungslernens zu verbessern.
  • Dann kann konfiguriert sein, dass die Verwaltungsvorrichtung 600 die aggregierten Wertefunktionen Q an die entsprechenden Lernmodell-Konstruktionsvorrichtungen 300 sendet. Es sollte angemerkt werden, dass so konfiguriert sein kann, dass die Verwaltungsvorrichtung 600 die Daten zum Erlernen aus den jeweiligen Lernmodell-Konstruktionsvorrichtungen 300 sammelt und die Wertefunktionen Q aktualisiert. Zusätzlich kann so konfiguriert sein, dass die Verwaltungsvorrichtung 600 die optimierte Aktionsinformation an die jeweiligen Robotersteuervorrichtungen 200 ausgibt.
  • Bezugszeichenliste
  • 7
    Werkstück
    8
    Übergabebereich
    13
    Handeinheit
    100
    Roboter
    110
    Motoreinheit
    120
    Abgabetaste
    200
    Robotersteuervorrichtung
    210
    Motorsteuereinheit
    220
    Parametereinstelleinheit
    300
    Aktionsinformations-Lernvorrichtung
    310
    Zustandsformations-Erfassungseinheit
    320
    Aktionsinformations-Ausgabeeinheit
    330
    Lerneinheit
    331
    Vergütungsrechenabschnitt
    333
    Wertefunktions-Aktualisierungsabschnitt
    333
    Aktionsinformations-Erzeugungsabschnitt
    340
    Wertefunktions-Speicherabschnitt
    350
    Optimierte Aktionsinformations-Ausgabeeinheit
    400, 500
    Netzwerk
    1000
    Robotersteuersystem
    P
    Bediener
    T
    Übergabezeit
    T1
    Bewegungszeit
    T2
    Abgabezeit

Claims (8)

  1. Aktionsinformations-Lernvorrichtung (300), umfassend: eine Zustandsinformation-Erfassungseinheit (310) zum Erfassen von Zustandsformation (s) eines Roboters (100) in einem Fall, bei dem der Roboter (100) ein Werkstück (7), das aus einem Werkstücklagerplatz erfasst wird, an einen Bediener (P), innerhalb eines Werkstückübergabebereichs (8), welches ein Bereich ist, in welchem das Werkstück zu übergeben ist, übergibt; eine Aktionsinformations-Ausgabeeinheit (320) zum Ausgeben von Aktionsinformation (a), die Justierinformation für die Zustandsinformation ist; eine Vergütungsrecheneinheit (331) zum Erfassen von Bestimmungsinformation, die Information zu einer Übergabezeit (T) ist, welche sich auf die Übergabe des Werkstücks bezieht, und Berechnen eines Vergütungswertes beim Verstärkungslernen, basierend auf der so erfassten Bestimmungsinformation; und eine Wertefunktions-Aktualisierungseinheit (332) zum Aktualisieren einer Wertefunktion (Q) mittels des Durchführens des Verstärkungslernens, basierend auf einem Vergütungswert, welcher durch die Vergütungsrecheneinheit (331) berechnet wird, der Zustandsinformation (s) und der Aktionsinformation (a).
  2. Aktionsinformations-Lernvorrichtung (300) gemäß Anspruch 1, wobei die Zustandsformation (s) Information enthält, die sich auf eine Stellung des Roboters (100) und Übergabeposition innerhalb des Werkstückübergabebereichs (8) bezieht, und wobei die Justierinformation Information zum Durchführen der Justierung der Zustandsformation (s) beinhaltet.
  3. Aktionsinformations-Lernvorrichtung (300) gemäß Anspruch 2, wobei die Zustandsinformation (s) weiter einen Bewegungspfad des Roboters (100) ab einer Position, an welcher das Werkstück (7) gefasst wird, bis innerhalb des Werkstückübergabebereichs (8) beinhaltet.
  4. Aktionsinformations-Lernvorrichtung (300) gemäß einem der Ansprüche 1 bis 3, wobei die Vergütungsrecheneinheit (331) den Vergütungswert als einen positiven Wert in einem Fall etabliert, bei dem die Übergabezeit (T) kürzer als eine vorherige Übergabezeit ist, und den Vergütungswert als einen negativen Wert in einem Fall etabliert, bei dem die Übergabezeit (T) länger als eine vorherige Übergabezeit ist.
  5. Aktionsinformations-Lernvorrichtung (300) gemäß einem der Ansprüche 1 bis 4, wobei die Übergabezeit (T) aus einer Bewegungszeit (T1) ab Erfassen des Werkstücks (7) bis zum Bewegen zu einer Position innerhalb des Werkstückübergabebereichs (8) und einer Abgabezeit (T2), bis der Bediener (P) das Werkstück (7) nach Bewegen des Werkstücks (7) zu der Position innerhalb des Werkstückübergabebereichs (8) abnimmt, besteht, und wobei der Wert der Vergütung auf einen größeren Wert für einen Fall gesetzt wird, bei dem die Abgabezeit (T2) kürzer ist als ein Fall, bei dem die Bewegungszeit (T1) kürzer ist, wenn die Übergabezeit (T) die gleiche ist.
  6. Aktionsinformations-Lernvorrichtung (300) gemäß einem der Ansprüche 1 bis 5, wobei die Wertefunktion (Q) mit einer anderen Aktionsinformations-Lernvorrichtung (300) geteilt wird. und wobei die Wertefunktions-Aktualisierungseinheit (332) die Wertefunktion (Q), die so geteilt ist, aktualisieren.
  7. Robotersteuersystem (1000), umfassend: die Aktionsinformations-Lernvorrichtung (300) gemäß einem der Ansprüche 1 bis 6, und eine Robotersteuervorrichtung (200), die mit der Aktionsinformations-Lernvorrichtung (300) über ein Kommunikationsnetzwerk (400) verbunden ist und den Roboter (100) steuert, wobei die Aktionsinformations-Lernvorrichtung (300) umfasst: eine optimierte Aktionsinformations-Ausgabeeinheit (350) zum Erzeugen von optimierter Aktionsinformation, die Aktionsinformation zum Minimieren der Übergabezeit (T) durch den Roboter (100) ist, basierend auf der durch die Wertefunktions-Aktualisierungseinheit (332) aktualisierten Wertefunktion (Q); die optimierte Aktionsinformations-Ausgabeeinheit (350) zum Ausgeben der erzeugten optimierten Aktionsinformation (a) an die Robotersteuervorrichtung (100).
  8. Aktionsinformations-Lernverfahren, umfassend die Schritte: Erfassen von Zustandsinformation eines Roboters (100) mittels einer Zustandsinformations-Erfassungseinheit (310) in einem Fall, bei dem der Roboter (100) ein aus dem Werkstücklagerplatz erfasstes Werkstück (7) an einen Bediener (P) übergibt, innerhalb eines Werkstückübergabebereichs (8), welches ein Bereich ist, in welchem das Werkstück (7) zu übergeben ist; Ausgeben von Aktionsinformation (a), die Justierinformation für die Zustandsinformation (s) ist, mittels einer Aktionsinformations-Ausgabeeinheit (320); Erfassen von Bestimmungsinformation, die Information hinsichtlich einer Übergabezeit (T) ist, die sich auf die Übergabe eines Werkstücks (7) bezieht, und Berechnen eines Vergütungswerts beim Verstärkungslernen, basierend auf der so erfassten Bestimmungsinformation mittels einer Vergütungsrecheneinheit (331); und Aktualisieren, mittels einer Wertefunktions-Aktualisierungseinheit (332), einer Wertefunktion (Q) durch Durchführen des Verstärkungslernens, basierend auf dem Vergütungswert, der so berechnet ist, der Zustandsinformation (s) und der Aktionsinformation (a).
DE102018204740.5A 2017-03-31 2018-03-28 Aktionsinformationslernvorrichtung, Robotersteuersystem und Aktionsinformationslernverfahren Active DE102018204740B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017069866A JP6603257B2 (ja) 2017-03-31 2017-03-31 行動情報学習装置、管理装置、ロボット制御システム及び行動情報学習方法
JP2017-069866 2017-03-31

Publications (2)

Publication Number Publication Date
DE102018204740A1 true DE102018204740A1 (de) 2018-10-04
DE102018204740B4 DE102018204740B4 (de) 2023-11-02

Family

ID=63525617

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018204740.5A Active DE102018204740B4 (de) 2017-03-31 2018-03-28 Aktionsinformationslernvorrichtung, Robotersteuersystem und Aktionsinformationslernverfahren

Country Status (4)

Country Link
US (1) US10730182B2 (de)
JP (1) JP6603257B2 (de)
CN (1) CN108693851B (de)
DE (1) DE102018204740B4 (de)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019205651B3 (de) * 2019-04-18 2020-08-20 Kuka Deutschland Gmbh Verfahren und System zum Ausführen von Roboterapplikationen
DE102020106714A1 (de) * 2019-05-28 2020-12-03 Intel Corporation Methoden und geräte für komplexe montage über autonome roboter mit verstärkungs-lernaktionsprimitive
DE102020103852A1 (de) 2020-02-14 2021-08-19 Franka Emika Gmbh Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator
DE102021110984A1 (de) 2020-12-29 2022-06-30 B-Horizon GmbH Verfahren zum automatischen Anpassen des Verhaltens eines mobilen Benutzerendgeräts
CN114851184A (zh) * 2021-01-20 2022-08-05 广东技术师范大学 一种面向工业机器人的强化学习奖励值计算方法
DE112018008159B4 (de) 2018-12-26 2022-10-20 Mitsubishi Electric Corporation Robotersteuervorrichtung, Robotersteuerung-Lernvorrichtung und Robotersteuerverfahren

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6616170B2 (ja) * 2015-12-07 2019-12-04 ファナック株式会社 コアシートの積層動作を学習する機械学習器、積層コア製造装置、積層コア製造システムおよび機械学習方法
JP6517762B2 (ja) * 2016-08-23 2019-05-22 ファナック株式会社 人とロボットが協働して作業を行うロボットの動作を学習するロボットシステム
US10695911B2 (en) * 2018-01-12 2020-06-30 Futurewei Technologies, Inc. Robot navigation and object tracking
WO2020105157A1 (ja) * 2018-11-21 2020-05-28 株式会社日立製作所 作業最適化システムおよび作業最適化装置
EP3912769A4 (de) 2019-01-18 2023-01-18 Kabushiki Kaisha Yaskawa Denki Robotersteuerungssystem und robotersteuerungsverfahren
CN110238839B (zh) * 2019-04-11 2020-10-20 清华大学 一种利用环境预测优化非模型机器人多轴孔装配控制方法
JP7235596B2 (ja) * 2019-05-31 2023-03-08 ファナック株式会社 協働ロボットシステム
JP7415356B2 (ja) * 2019-07-29 2024-01-17 セイコーエプソン株式会社 プログラム移送システムおよびロボットシステム
CN112766530A (zh) * 2019-11-06 2021-05-07 三菱电机自动化(中国)有限公司 生产准备及生产启动作业辅助装置、系统及方法
US11417328B1 (en) * 2019-12-09 2022-08-16 Amazon Technologies, Inc. Autonomously motile device with speech commands
US20230211498A1 (en) 2020-06-01 2023-07-06 Nec Corporation Planner device, planning method, planning program recording medium, learning device, learning method, and learning program recording medium
KR102432281B1 (ko) * 2020-11-13 2022-08-16 주식회사 플라잎 로봇의 엔드 이펙터의 최적 경로를 도출하는 장치 및 방법
CN112476424A (zh) * 2020-11-13 2021-03-12 腾讯科技(深圳)有限公司 机器人控制方法、装置、设备及计算机存储介质
CN112405543B (zh) * 2020-11-23 2022-05-06 长沙理工大学 一种基于深度强化学习的机械臂密集物体温度优先抓取方法
JPWO2022249457A1 (de) * 2021-05-28 2022-12-01
CN113459109B (zh) * 2021-09-03 2021-11-26 季华实验室 机械臂路径规划方法、装置、电子设备及存储介质
KR102568297B1 (ko) * 2021-11-09 2023-08-21 씨제이대한통운(주) 선박 도착예정시간을 연산하는 방법 및 이를 위한 연산장치

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6031202B2 (ja) 1976-04-26 1985-07-20 三井東圧化学株式会社 硬化性樹脂組成物
JPH09319420A (ja) 1996-05-31 1997-12-12 Ricoh Co Ltd 組立ロボット
JP2003084804A (ja) 2001-09-10 2003-03-19 Yaskawa Electric Corp 最適指令作成装置
JP5137537B2 (ja) 2007-11-28 2013-02-06 三菱電機株式会社 ロボットの作業動作最適化装置
JP4899165B2 (ja) * 2007-12-10 2012-03-21 本田技研工業株式会社 脚式移動ロボットの制御装置
CN102402712B (zh) 2011-08-31 2014-03-05 山东大学 基于神经网络的机器人强化学习初始化方法
US8374421B1 (en) 2011-10-18 2013-02-12 Google Inc. Methods and systems for extracting still frames from a compressed video
CN102819264B (zh) 2012-07-30 2015-01-21 山东大学 移动机器人路径规划q学习初始化方法
JP5616478B1 (ja) * 2013-04-18 2014-10-29 ファナック株式会社 ワークを搬送するロボットを備えるロボットシステム
JP5877857B2 (ja) * 2014-03-10 2016-03-08 ファナック株式会社 ワークの取出工程をシミュレーションするロボットシミュレーション装置
CA2882968C (en) * 2015-02-23 2023-04-25 Sulfur Heron Cognitive Systems Inc. Facilitating generation of autonomous control information
JP5997330B1 (ja) 2015-07-31 2016-09-28 ファナック株式会社 主軸交換の要否を判定できる機械学習装置、主軸交換判定装置、制御装置、工作機械及び生産システム、並びに機械学習方法
JP6240689B2 (ja) 2015-07-31 2017-11-29 ファナック株式会社 人の行動パターンを学習する機械学習装置、ロボット制御装置、ロボットシステム、および機械学習方法
DE102016009030B4 (de) * 2015-07-31 2019-05-09 Fanuc Corporation Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
JP6031202B1 (ja) 2016-01-29 2016-11-24 ファナック株式会社 製造機械の異常の原因を発見するセル制御装置
CN106094813B (zh) 2016-05-26 2019-01-18 华南理工大学 基于模型相关强化学习的仿人机器人步态控制方法
CA3035492C (en) * 2016-08-30 2021-03-23 Honda Motor Co., Ltd. Robot control apparatus and robot control method
JP6453922B2 (ja) * 2017-02-06 2019-01-16 ファナック株式会社 ワークの取り出し動作を改善するワーク取り出し装置およびワーク取り出し方法
DE112017007025T5 (de) * 2017-02-09 2019-10-24 Mitsubishi Electric Corporation Positionssteuerungseinrichtung und positionssteuerungsverfahren

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112018008159B4 (de) 2018-12-26 2022-10-20 Mitsubishi Electric Corporation Robotersteuervorrichtung, Robotersteuerung-Lernvorrichtung und Robotersteuerverfahren
DE102019205651B3 (de) * 2019-04-18 2020-08-20 Kuka Deutschland Gmbh Verfahren und System zum Ausführen von Roboterapplikationen
DE102020106714A1 (de) * 2019-05-28 2020-12-03 Intel Corporation Methoden und geräte für komplexe montage über autonome roboter mit verstärkungs-lernaktionsprimitive
US11345030B2 (en) 2019-05-28 2022-05-31 Intel Corporation Methods and apparatus for complex assembly via autonomous robots using reinforcement learning action primitives
DE102020106714B4 (de) 2019-05-28 2023-12-14 Intel Corporation Vorrichtung, Gerät, Verfahren und computerlesbares Speichermedium für komplexe Montagen mittels autonomer Roboter unter Verwendung von bestärktes Lernen-Aktions-Primitiven
DE102020103852A1 (de) 2020-02-14 2021-08-19 Franka Emika Gmbh Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator
DE102020103852B4 (de) 2020-02-14 2022-06-15 Franka Emika Gmbh Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator
DE102021110984A1 (de) 2020-12-29 2022-06-30 B-Horizon GmbH Verfahren zum automatischen Anpassen des Verhaltens eines mobilen Benutzerendgeräts
CN114851184A (zh) * 2021-01-20 2022-08-05 广东技术师范大学 一种面向工业机器人的强化学习奖励值计算方法
CN114851184B (zh) * 2021-01-20 2023-05-09 广东技术师范大学 一种面向工业机器人的强化学习奖励值计算方法

Also Published As

Publication number Publication date
CN108693851B (zh) 2020-05-26
DE102018204740B4 (de) 2023-11-02
JP6603257B2 (ja) 2019-11-06
JP2018171663A (ja) 2018-11-08
CN108693851A (zh) 2018-10-23
US20180281180A1 (en) 2018-10-04
US10730182B2 (en) 2020-08-04

Similar Documents

Publication Publication Date Title
DE102018204740A1 (de) Aktionsinformationslernvorrichtung, Robotersteuersystem und Aktionsinformationslernverfahren
DE102017002996B4 (de) Maschinenlernvorrichtung, die ein lernen unter verwendung eines simulationsergebnisses durchführt, maschinensystem, herstellungssystem und maschinenlernverfahren
DE102018209149B4 (de) Maschinenlernvorrichtung, Steuerung und Maschinenlernprogramm
DE102019002065B4 (de) Maschinelle Lernvorrichtung, Robotersteuervorrichtung und Robotervisionssystem, das eine maschinelle Lernvorrichtung verwendet, und maschinelles Lernverfahren
DE102018203702B4 (de) Vorrichtung für maschinelles Lernen, Servo-Regelungsvorrichtung, Servo-Regelungssystem und Verfahren für maschinelles Lernen
DE102017008475B4 (de) Maschinenlernvorrichtung, robotersystem und maschinenlernverfahren zum erlernen eines roboter-betriebsprogramms
DE102018200794B4 (de) Aktionsinformations-lernvorrichtung, aktionsinformations-optimierungssystem und aktionsinformations-lernprogramm
DE102016014264B4 (de) Maschinelle Lernvorrichtung, Blechpaketherstellungsvorrichtung, Blechpaketherstellungssystem und maschinelles Lernverfahren zum Erlernen des Stapelns von Paketblechen
DE102018001571B4 (de) Laserverarbeitungsgerät und Vorrichtung zum maschinellen Lernen
DE102017010799A1 (de) Maschinenlernvorrichtung und Robotersystem zum Lernen einer Bearbeitungsreihenfolge eines Laserbearbeitungsroboters und Maschinenlernverfahren dafür
DE102019200080A1 (de) Vorrichtung für maschinelles Lernen, Servomotor-Steuereinrichtung, Servomotor-Steuersystem und Verfahren für maschinelles Lernen
DE102018205015B4 (de) Einstellvorrichtung und Einstellverfahren
DE102018202654A1 (de) Vorrichtung für maschinelles Lernen, Servoregeleinrichtung, Servoregelsystem und Verfahren für maschinelles Lernen
DE102018201157B4 (de) Lernmodell-Konstruktionsvorrichtung und Steuerinformations-Optimierungsvorrichtung
DE102018209951A1 (de) Maschinenlerngerät, servosteuergerät, servosteuersystem und maschinenlernverfahren
DE102019204861A1 (de) Maschinenlernvorrichtung; steuervorrichtung und maschinelles lernverfahren
DE102019204949A1 (de) Maschinelle lernvorrichtung, steuervorrichtung und maschinelles lernverfahren
DE102019001783A1 (de) Steuerung, maschinelle lernvorrichtung und system
DE102020204854A1 (de) Vorrichtung für maschinelles Lernen, numerisches Steuersystem undVerfahren für maschinelles Lernen
DE102016008910A1 (de) Zellsteuersystem, Fertigungssystem und Steuerverfahren, wobei die Steuerfertigungszelle eine Mehrzahl von Fertigungsmaschinen umfasst.
DE102019217130A1 (de) Ausgabevorrichtung, steuervorrichtung und verfahren zum ausgeben von bewertungsfunktionen und maschinellen lernergebnissen
DE102019201758A1 (de) Vorrichtung für maschinelles lernen; vorrichtung zurservosteuerung; system zur servosteuerung; undverfahren für maschinelles lernen
DE102019209104A1 (de) Ausgabevorrichtung, Steuervorrichtung und Ausgabeverfahren für einen Bewertungsfunktionswert
DE102018005199B4 (de) Bauteilzuführvorrichtung und maschinelle lernvorrichtung
DE102019216081A1 (de) Ausgabevorrichtung, Steuervorrichtung und Verfahren zum Ausgeben eines Lernparameters

Legal Events

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