DE112020004135T5 - Robotersteuerungsvorrichtung - Google Patents

Robotersteuerungsvorrichtung Download PDF

Info

Publication number
DE112020004135T5
DE112020004135T5 DE112020004135.2T DE112020004135T DE112020004135T5 DE 112020004135 T5 DE112020004135 T5 DE 112020004135T5 DE 112020004135 T DE112020004135 T DE 112020004135T DE 112020004135 T5 DE112020004135 T5 DE 112020004135T5
Authority
DE
Germany
Prior art keywords
control
robot
situation
situation information
process control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112020004135.2T
Other languages
English (en)
Inventor
Yasunori Kamiya
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.)
Daily Color Inc
Original Assignee
Daily Color Inc
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
Priority claimed from JP2019155446A external-priority patent/JP6742040B1/ja
Priority claimed from JP2020124276A external-priority patent/JP6792898B1/ja
Application filed by Daily Color Inc filed Critical Daily Color Inc
Publication of DE112020004135T5 publication Critical patent/DE112020004135T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/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
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • 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/40095Modify tasks due to modular tooling, other fixture configuration, environment
    • 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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50391Robot

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Feedback Control In General (AREA)

Abstract

Eine Robotersteuerungsvorrichtung, die einen Roboter steuert, und: ein Maschinenlernmodell (ML-Modell) (20), das verwendet wird, um Bereiche von Umgebungen zu beschreiben, oder mit anderen Worten, Situationen, in denen jeweils eine Steuerung für eine Steuerungsroutine (Vorgangssteuerung) erzielbar ist, die einen Vorgang zur Erzielung eines Vorgangsziels ausführt; eine Vorgangssteuerungsauswahleinrichtung (16), die auf der Grundlage eines Ausgabewerts von dem ML-Modell (20) eine geeignete Vorgangssteuerung für die gegenwärtige Situation auswählt; und eine Vorgangssteuerungsausführungseinrichtung (18) umfasst, die die ausgewählte Vorgangssteuerung ausführt. Die Vorgangssteuerung ist eine Steuerungsroutine für einen Roboter, um ein Vorgangsziel durch den Roboter zu erzielen, der einen Gegenstand in der Nähe des Roboters mit einer Wechselwirkung mit einem anderen Gegenstand erfasst.

Description

  • Technisches Gebiet
  • Die vorliegende Offenbarung betrifft die Steuerung eines Roboters einschließlich eines Sensors von einer Art, die unter Verwendung des Sensors einen Gegenstand in der Nähe durch eine Interaktion mit anderen Gegenständen erfasst (einschließlich Gegenständen wie etwa einer Wand oder einem Boden, die als Umgebung bezeichnet werden können). Die vorliegende Offenbarung betrifft auch eine Struktur eines Steuerungsprogramms für ein Verwalten, Auswerten, Verifizieren und Verbessern einer Vorgangssteuerung, die durch einen Roboter auszuführen ist.
  • Hintergrund der Erfindung
  • Roboter (z.B. ein autonom gesteuerter Haushaltsroboter und ein Pflegeroboter), die einen Vorgang bzw. eine Tätigkeit durchführen, die eine Interaktion mit einem anderen Gegenstand in einer freien Umgebung (offenen Umgebung) erfordert, in der eine Umgebung und eine Aufgabe nicht festgelegt sind, müssen gemäß einer Umgebung oder, in anderen Worten, einer Situation (nachstehend auch als „Umgebung/Situation“ bezeichnet) flexibel arbeiten, in der die Roboter bereitgestellt sind. Darüber hinaus müssen diese Roboter verschiedene Vorgänge entsprechend den Aufgaben durchführen.
  • Es scheint, dass die vorstehend genannten Roboter und Roboterarme in Arbeitsbereichen in Fabriken ähnlich sind, jedoch bewegen sich die Roboterarme nur auf einem einzelnen Pfad (Route), während sie einen einzelnen Gegenstand handhaben (d.h. eine Umgebung, eine Situation und eine Aufgabe, die für jeden Roboterarm festgelegt sind). Dementsprechend sind Anforderungen, die durch die Roboterarme erfüllt werden müssen, von jenen der vorstehend genannten Roboter verschieden. Darüber hinaus erfordert ein in aktive Verwendung bringen der vorgenannten Roboter eine Auswertung, eine Verifikation und eine Verbesserung.
  • Beispiele der durch die vorstehend genannten Roboter auszuführenden Vorgänge sind wie folgt. Die Roboter (i) bewegen an verschiedenen Orten platzierte Gegenstände zu anderen verschiedenen Orten, (ii) halten einen Gegenstand von einer Seite des Gegenstands, fahren während sie den Gegenstand halten und platzieren den Gegenstand an einem anderen Ort, (iii) ändern eine Richtung, nachdem sie einen Gegenstand halten, (iv) ziehen einen angebrachten Stab durch eine Öffnung in einem Gegenstand, (v) fügen einen gehaltenen Gegenstand in einen Spalt zwischen Gegenständen ein und (vi) stapeln Gegenstände.
  • Darüber hinaus sind Beispiele einer Umgebung/Situation, in der durch die vorstehend genannten Roboter ein Vorgang ausgeführt wird, folgende: (i) verschiedene Plätze und Umgebungen, an denen ein Gegenstand platziert ist, (ii) ein Vorhandensein von Arten von Gegenständen in der Nähe und (iii) eine physikalische Beeinflussung zwischen Gegenständen.
  • Als ein Beispiel für eine Berücksichtigung eines Gegenstands in der Nähe wurde ein System vorgeschlagen, das ein Vorhandensein eines Gegenstands in der Nähe (einen durch den Gegenstand belegten Raum) überprüft, und überprüft, ob ein Roboter den Gegenstand physikalisch beeinflusst oder nicht (siehe beispielsweise die Patentliteratur (PTL) 1).
  • Zusätzlich wurde ein System vorgeschlagen, das Sensorinformationen in ein Maschinenlernmodell eingibt und eine Zielvorrichtung entsprechend einer Ausgabe des Maschinenlernmodells steuert, um eine flexible Steuerung der Zielvorrichtung umzusetzen (siehe beispielsweise PTL 2).
  • Zitierliste
  • Patentliteratur
    • PTL 1: JP 2005 - 81 445 A
    • PTL 2: JP 2017 - 64 910 A
  • Erfindungszusammenfassung
  • Technische Aufgabenstellung
  • Das in der vorstehend beschriebenen PTL 1 offenbarte herkömmliche System bestimmt, ob ein Gegenstand in der Nähe einen Raum belegt oder nicht, und führt einen Vorgang in einem Areal durch, in dem kein Gegenstand vorhanden ist. Dementsprechend berücksichtigt das in der PTL 1 offenbarte System z.B. nicht (i) einen eine physikalische Interaktion erfordernden Vorgang wie etwa ein zur Seite Drücken eines Gegenstands, um einen anderen Gegenstand an dem Ort zu platzieren, und (ii) eine Änderung eines Vorgangs gemäß einer Art eines Gegenstands. Dementsprechend ist das in der PTL 1 offenbarte System nicht dazu in der Lage, auf eine Steuerung zu reagieren, die solche Vorgänge beinhaltet.
  • Das in der PTL 2 offenbarte System kann eine flexible Steuerung einer Zielvorrichtung in weiten Bereichen von Situationen unter einer Steuerung unter Verwendung eines Maschinenlernmodells implementieren, jedoch ist es für das System schwierig, für jede individuelle Situation Vorgangssteuerungen zu verwalten, auszuwerten, zu verifizieren und zu modifizieren.
  • In dem Fall, dass aufgrund eines Vorgangsfehlers in einer bestimmten Situation an einer Vorgangssteuerung eine Modifikation angebracht wird, berücksichtigen die herkömmlichen Techniken darüber hinaus nicht die Auswirkung der Modifikation auf einen Vorgang der Vorgangssteuerung in einer anderen Situation. Die Modifikation kann den Vorgang der Vorgangssteuerung beeinträchtigen, der in einer anderen Situation durchgeführt wird. Die Modifikation kann den Vorgang ändern, und somit kann der Vorgang fehlschlagen oder nicht erfolgreich sein, selbst wenn der Vorgang ursprünglich in Situationen erfolgreich war (in jeder Situation, in der ein Vorgang umgesetzt wurde, der eine Aufgabe erzielen kann). Aus diesem Grund müssen eine Auswertung und eine Verifikation in jeder Situation wieder durchgeführt werden, um zu bestimmen, ob ein Vorgang erfolgreich ist oder nicht.
  • Die vorliegende Offenbarung zielt darauf ab, eine Robotersteuerungsvorrichtung bereitzustellen, die eine Steuerung von Vorgängen individuell verwalten und modifizieren kann, die entsprechend den jeweiligen Situationen durchzuführen sind, während entsprechend eines weiten Bereichs von Umgebungen/Situationen eine flexible Steuerung eines Roboters umgesetzt wird.
  • Lösung der Aufgabenstellung
  • Um eine solche Robotersteuerungsvorrichtung bereitzustellen, umfasst die vorliegende Erfindung gemäß einer ersten Ausgestaltung eine Robotersteuerungsvorrichtung, die einen Roboter steuert. Die Robotersteuerungsvorrichtung ist dadurch gekennzeichnet, dass sie umfasst: ein Maschinenlernmodell, das eine Eingabe von einem beliebigen gegebenen Element von Situationsinformationen empfängt, das aus Elementen von Situationsinformationen ausgewählt ist, und einen Ausgabewert ausgibt, der einer von einem Binärwert, einem kontinuierlichen Wert und einem mehrdimensionalen Vektorwert ist, der einen Erfolg oder einen Misserfolg oder einen Grad eines Erfolgs eines Vorgangs einer bereitgestellten Vorgangssteuerung in einer Situation angibt, die durch das eine beliebige gegebene Element von empfangenen Situationsinformationen angegeben ist, wobei die Elemente von Situationsinformationen Informationen über den Roboter oder einen Gegenstand in einer Nähe des Roboters sind und: (i) physikalische Eigenschaften, die eine physikalische Struktur und eine Form beinhalten; (ii) einen gegenwärtigen Zustand von zumindest einer von einer Position, einer Lage (Orientierung) und einer Temperatur, die eine sich zeitlich verändernde Eigenschaft ist; (iii) eine relative Beziehung zwischen den physikalischen Eigenschaften oder zwischen den gegenwärtigen Zuständen; und (iv) eine Kombination der physikalischen Eigenschaften, eine Kombination der gegenwärtigen Zustände oder eine Kombination der physikalischen Eigenschaften und des gegenwärtigen Zustands umfassen; eine Vorgangssteuerungsauswahleinrichtung, die den Ausgabewert für zumindest eine Vorgangssteuerung erlangt, indem das beliebige gegebene Element von Situationsinformationen dem Maschinenlernmodell bereitgestellt wird, falls das beliebige gegebene Element von Situationsinformationen empfangen ist, und auf der Grundlage des Ausgabewerts eine auszuführende Vorgangssteuerung identifiziert; und eine Vorgangssteuerungsausführeinrichtung, die die durch die Vorgangssteuerungsauswahleinrichtung identifizierte Vorgangssteuerung ausführt. Die Vorgangssteuerung ist eine Steuerungsroutine für den Roboter, zum Erzielen eines Vorgangsziels, indem der Roboter einen Gegenstand in einer Nähe des Roboters unter Verwendung eines Sensors mit einer Interaktion mit einem anderen Gegenstand erfasst.
  • Die vorliegende Erfindung gemäß der ersten Ausgestaltung kann hierbei umfassen: ein Maschinenlernmodell, das eine Eingabe von einem beliebigen gegebenen Element von Situationsinformationen empfängt, das aus Elementen von Informationen ausgewählt ist, die Informationen über einen Gegenstand in der Nähe oder einen Zielroboter selbst sind, und umfasst: (i) physikalische Eigenschaften, die eine physikalische Struktur und eine Form beinhalten, (ii) einen gegenwärtigen Zustand einer sich zeitlich verändernden Eigenschaft (einer Position, einer Lage (Orientierung) oder einer Temperatur), (iii) eine relative Beziehung zwischen den Vorstehenden, und (iv) eine Kombination der Vorstehenden, und das einen Ausgabewert ausgibt, der einen Erfolg oder einen Misserfolg oder einen Grad eines Erfolges (einen von einem Binärwert, einem kontinuierlichen Wert und einem mehrdimensionalen Vektorwert) eines Vorgangs einer bereitgestellten Vorgangssteuerung in einer empfangenen Situation angibt; eine Vorgangssteuerungsauswahleinrichtung, die einen Ausgabewert für jede von Vorgangssteuerungen erlangt, die einem Vorgangsziel entsprechen, indem ein Element von Situationsinformationen dem Maschinenlernmodell bereitgestellt wird, falls das Vorgangsziel und das Element von Situationsinformationen empfangen sind, und auf der Grundlage der Ausgabewerte eine auszuführende Vorgangssteuerung entsprechend dem Vorgangsziel unter den Vorgangssteuerungen auswählt; und eine Vorgangssteuerungsausführungseinrichtung, die die durch die Vorgangssteuerungsauswahleinrichtung ausgewählte Vorgangssteuerung ausführt. Die Vorgangssteuerung kann eine Steuerungsroutine zum Erzielen eines Vorgangsziels durch Erfassen eines Gegenstands in der Nähe unter Verwendung eines Sensors mit einer Interaktion mit einem anderen Gegenstand sein.
  • Die vorliegende Erfindung gemäß der ersten Ausgestaltung kann hierbei dadurch gekennzeichnet sein, dass sie umfasst: Maschinenlernmodelle, die entsprechend der Anzahl von Vorgangssteuerungen bereitgestellt sind, die einem Vorgangsziel für jedes von Vorgangszielen entsprechen, und von denen jedes eine Eingabe von einem beliebigen gegebenen Element von Situationsinformationen empfängt, die aus Elementen von Informationen ausgewählt sind (Elemente von Situationsinformationen), die Informationen über einen Gegenstand in der Nähe oder einen Zielroboter selbst sind, und umfassen: (i) physikalische Eigenschaften, die eine physikalische Struktur und eine Form beinhalten, (ii) einen gegenwärtigen Zustand einer sich zeitlich verändernden Eigenschaft (einer Position, einer Lage (Orientierung) oder einer Temperatur), (iii) eine relative Beziehung zwischen den Vorstehenden, und (iv) eine Kombination der Vorstehenden, und Ausgabewerte ausgibt, die jeweils einen Erfolg oder einen Misserfolg oder ein Grad eines Erfolgs (einen von einem Binärwert, einem kontinuierlichen Wert oder einem mehrdimensionalen Vektorwert) eines Vorgangs einer bereitgestellten Vorgangssteuerung in einer empfangenen Situation angeben; eine Vorgangssteuerungsauswahleinrichtung, die Ausgabewerte für den Vorgangszielen entsprechenden Vorgangssteuerungen erlangt, indem jedem der Maschinenlernmodelle, die entsprechend der Anzahl der dem Vorgangsziel entsprechenden Vorgangssteuerungen bereitgestellt sind, ein Element von Situationsinformationen bereitgestellt wird, falls das Vorgangsziel und die Elemente von Situationsinformationen empfangen sind, und auf der Grundlage der Ausgabewerte eine auszuführende Vorgangssteuerung unter den den Vorgangszielen entsprechenden Vorgangssteuerungen auswählt; und eine Vorgangssteuerungsausführungseinrichtung, die die durch die Vorgangssteuerungsauswahleinrichtung ausgewählte Vorgangssteuerung ausführt. Die Vorgangssteuerung kann eine Steuerroutine zum Erzielen eines Vorgangsziels durch Erfassen eines Gegenstands in der Nähe unter Verwendung eines Sensors mit einer Interaktion mit einem anderen Gegenstand sein.
  • Eine Variante der vorliegenden Erfindung gemäß der ersten Ausgestaltung kann dadurch gekennzeichnet sein, dass, auch falls das Maschinenlernmodell entweder individuell für jede bereitgestellte Vorgangssteuerung erstellt ist oder eine einzelne Modellkonfiguration aufweist, ein Lernen unter Verwendung eines Modells durchgeführt wird, das dazu in der Lage ist, über eine Zielvorgangssteuerung unter Verwendung eines Verfahrens zu lernen, in dem der Ausgabewert für eine andere Vorgangssteuerung als die zu lernende Vorgangssteuerung nicht betroffen ist.
  • Die vorliegende Erfindung gemäß einer zweiten Ausgestaltung ist dadurch gekennzeichnet, dass das beliebige gegebene Element von Informationen zumindest eine von einer Absolutposition, einer Relativposition, einer Lage (Orientierung), einer Form oder einer Art des Gegenstands umfasst. Das heißt, das beliebige gegebene Element von Situationsinformationen ist dadurch gekennzeichnet, dass es zumindest eines von einer Position (einer Absolutposition oder einer Relativposition), einer Lage (Orientierung), einer Form und einer Art eines Gegenstands umfasst.
  • Die vorliegende Erfindung gemäß einer dritten Ausgestaltung ist ferner dadurch gekennzeichnet, dass sie eine Trainingsdatenerzeugungseinrichtung umfasst, die als Trainingsdaten für das Maschinenlernmodell ein Datenpaar erzeugt, in dem Situationsdaten und Erfolgs- oder Misserfolgsdaten gepaart sind, wobei das Datenpaar aus zumindest einem von (i) einem Entwurfsspezifikationswert, (ii) einem Ergebnis eines Vorgangs der Vorgangssteuerung, die durch einen tatsächlichen Roboter durchgeführt wird, (iii) einer von einer Person entwickelten Faustregel und (iv) einem Ergebnis des Vorgangs der Vorgangssteuerung erzeugt ist, die in einer Physiksimulationseinrichtung durchgeführt ist. Das heißt, die vorliegende Erfindung gemäß der dritten Ausgestaltung ist ferner dadurch gekennzeichnet, dass sie eine Trainingsdatenerzeugungseinrichtung umfasst, die als Trainingsdaten für das Maschinenlernmodell ein Datenpaar erzeugt, in dem Situationsdaten und Erfolgs- oder Misserfolgsdaten gepaart sind. Das Datenpaar wird aus zumindest einem von einem Entwurfsspezifikationswert, einem Ergebnis eines Vorgangs der Vorgangssteuerung, die durch eine tatsächliche Vorrichtung durchgeführt wird, eine durch eine Person entwickelte Faustregel und ein Ergebnis des Vorgangs der Vorgangssteuerung, die in einer Physiksimulationseinrichtung durchgeführt wird.
  • Die vorliegende Erfindung gemäß einer vierten Ausgestaltung ist dadurch gekennzeichnet, dass, falls die Trainingsdatenerzeugungseinrichtung das Datenpaar unter Verwendung der Physiksimulationseinrichtung erzeugt, die Trainingsdatenerzeugungseinrichtung (i) der Physiksimulationseinrichtung zusätzlich zu einer Vorgangssteuerung eine Bedingung bereitstellt, die einen Zustand definiert, in dem ein Vorgang der Vorgangssteuerung erfolgreich ist, (ii) die Vorgangssteuerung ausführt, während in der Physiksimulationseinrichtung die Elemente von Situationsinformationen verschiedentlich geändert werden, die jeweils eine Umgebung angeben, (iii) testet, ob der Vorgang der Vorgangssteuerung erfolgreich ist oder nicht, und (iv) das Datenpaar auf der Grundlage eines Ergebnisses des Testens erzeugt. Das heißt, die Trainingsdatenerzeugungseinrichtung ist dadurch gekennzeichnet, dass, falls die Trainingsdatenerzeugungseinrichtung die Erzeugung unter Verwendung der Physiksimulationseinrichtung durchführt, die Trainingsdatenerzeugungseinrichtung zusätzlich zu einer Vorgangssteuerung eine Bedingung bereitstellt, die einen Zustand definiert, in dem ein Vorgang der Vorgangssteuerung erfolgreich ist, Umgebungen (die Elemente von Situationsinformationen) in der Physiksimulationseinrichtung verschiedentlich ändert, und die bereitgestellte Vorgangssteuerung ausführt, testet, ob der Vorgang der Vorgangssteuerung erfolgreich ist oder nicht, und das Datenpaar auf der Grundlage eines Ergebnisses des Testens erzeugt.
  • Die vorliegende Erfindung gemäß einer fünften Ausgestaltung ist dadurch gekennzeichnet, dass, falls die Trainingsdatenerzeugungseinrichtung unter Verwendung der Physiksimulationseinrichtung testet, ob der Vorgang der Vorgangssteuerung erfolgreich ist oder nicht, die Trainingsdatenerzeugungseinrichtung zumindest eines der Elemente von Situationsinformationen identifiziert, die eine Umgebung angeben, in der der bereitgestellte Vorgang der Vorgangssteuerung erfolgreich ist, und von dem zumindest einen Element von Situationsinformationen, das als ein abzutastendes Startelement identifiziert ist, die Elemente von Situationsinformationen abtastet, die jeweils eine Umgebung angeben, in der der Vorgang der Vorgangssteuerung getestet ist. Das heißt, die vorliegende Erfindung gemäß der fünften Ausgestaltung ist dadurch gekennzeichnet, dass sie zumindest eine von Umgebungen bereitstellt (Elemente von Situationsinformationen), in denen der bereitgestellte Vorgang der Vorgangssteuerung erfolgreich ist, und zu testende Umgebungen (die Elemente von Situationsinformationen) abtastet, von der zumindest einen der Umgebungen als einem Startpunkt des Abtastens, falls ein Erfolg oder ein Misserfolg des Vorgangs der Vorgangssteuerung in der Physiksimulationseinrichtung getestet wird.
  • Vorteilhafte Wirkungen der Erfindung
  • Die vorliegende Erfindung stellt eine Robotersteuerungsvorrichtung bereit, die eine Steuerung von durchzuführenden Vorgängen entsprechend jeweiligen Situationen individuell verwalten und modifizieren kann, während eine flexible Steuerung eines Roboters gemäß eines weiten Bereichs von Umgebungen/Situationen umgesetzt ist.
  • Genauer gesagt kann die vorliegende Erfindung gemäß der ersten Ausgestaltung flexibel Situationen bestimmen, in denen jeweils ein Vorgang einer Vorgangssteuerung erfolgreich ist, und kann den Vorgang geeignet durchführen. Mit anderen Worten, auch falls ein Vorgang einer Vorgangssteuerung von einer Person erdacht wird, der aufgrund einer vielfältigen und enormen Menge von Informationen von einem hohen Niveau ist und extrem komplex ist, oder durch eine Person schwierig zu beschreiben ist, macht es die Verwendung eines Maschinenlernmodells problemlos möglich, eine Grenze von jedem von Bereichen von Situationen zu beschreiben, in denen jeweils der Vorgang der Vorgangssteuerung erfolgreich ist.
  • Gemäß der Variante der vorliegenden Erfindung gemäß der ersten Ausgestaltung kann ein Maschinenlernmodell, das eine Situation bestimmt, eine Bestimmung über Situationen hinsichtlich einer neuen Vorgangssteuerung hinzufügen, und kann eine Bestimmung über Situationen hinsichtlich einer vorliegenden Vorgangssteuerung modifizieren, ohne eine Bestimmung zu beeinträchtigen, die über eine Situation hinsichtlich einer anderen Vorgangssteuerung zu treffen ist.
  • Die vorliegende Erfindung gemäß der zweiten Ausgestaltung erzeugt eine Wirkung, die zu der Wirkung äquivalent ist, die durch die vorliegende Erfindung gemäß der ersten Ausgestaltung erzeugt ist.
  • Die vorliegende Erfindung gemäß der dritten Ausgestaltung erzeugt eine Wirkung, die zu der Wirkung äquivalent ist, die durch die vorliegende Erfindung gemäß der ersten Ausgestaltung erzeugt ist.
  • Gemäß der vorliegenden Erfindung gemäß der vierten Ausgestaltung ist es möglich, ein Maschinenlernmodell, das Situationen bestimmt, automatisch zu erstellen und zu modifizieren (zu trainieren und umzutrainieren).
  • Gemäß der vorliegenden Erfindung gemäß der fünften Ausgestaltung ist es möglich, falls ein Situationen bestimmendes Maschinenlernmodell automatisch erstellt und modifiziert wird (trainiert und umtrainiert wird), einen Test über jeden von Bereichen von Situationen, in denen ein Vorgang einer Vorgangssteuerung jeweils erfolgreich ist, durch eine Verwendung von bereitgestellten Situationsinformationen als einem Startelement zum Abtasten wirksam durchzuführen, falls die zu testende Situation abgetastet wird.
  • Figurenliste
    • 1 zeigt eine Darstellung, die das Grundkonzept einer Robotersteuerungsvorrichtung gemäß einem Ausführungsbeispiel veranschaulicht.
    • 2 zeigt eine Darstellung, die Details des Grundkonzepts der Robotersteuerungsvorrichtung gemäß dem Ausführungsbeispiel veranschaulicht.
    • 3 zeigt eine Blockdarstellung, die eine Konfiguration der Robotersteuerungsvorrichtung gemäß dem Ausführungsbeispiel veranschaulicht.
    • 4 zeigt eine Darstellung, die eine vorläufige Verarbeitung veranschaulicht, die durch die Robotersteuerungsvorrichtung gemäß dem Ausführungsbeispiel durchgeführt wird.
    • 5 zeigt eine Darstellung, die Vorgänge veranschaulicht (Vorgangssteuerungen), die durch die Robotersteuerungsvorrichtung gemäß dem Ausführungsbeispiel durchgeführt werden.
    • 6 zeigt eine Darstellung, die eine Verarbeitung veranschaulicht, die während einer Wartung durchgeführt wird, mit anderen Worten, während einer Auswertung und einer Verifizierung der Robotersteuerungsvorrichtung gemäß dem Ausführungsbeispiel.
    • 7 zeigt eine Darstellung, die ein bestimmtes Beispiel eines Maschinenlernmodells veranschaulicht, das in der Robotersteuerungsvorrichtung gemäß dem Ausführungsbeispiel umfasst ist.
    • 8 zeigt eine Darstellung, die Vorgänge (Vorgangssteuerungen) veranschaulicht, die durch eine Robotersteuerungsvorrichtung gemäß der Variante 1 des Ausführungsbeispiels durchgeführt werden.
    • 9 zeigt eine Darstellung, die Vorgänge (Vorgangssteuerungen) veranschaulicht, die durch eine Robotersteuerungsvorrichtung gemäß der Variante 2 des Ausführungsbeispiels durchgeführt werden.
    • 10 zeigt eine Darstellung, die das Maschinenlernmodell gemäß dem Ausführungsbeispiel veranschaulicht.
  • Beschreibung der Ausführungsbeispiele
  • Ausführungsbeispiel
  • Nachstehend sind Ausführungsbeispiele gemäß der vorliegenden Offenbarung ausführlich beschrieben.
  • 1 zeigt eine Darstellung, die das Grundkonzept einer Robotersteuerungsvorrichtung gemäß einem Ausführungsbeispiel veranschaulicht. 1 veranschaulicht hierbei einen Bereich von Umgebungen, mit anderen Worten, Situationen (nachstehend auch als „Umgebung(en)/Situation(en)“ bezeichnet), falls ein Roboterarm Zielgegenstände handhabt. In der Darstellung bezeichnet der Begriff „NG“ einen Bereich von Umgebungen/Situationen, in denen jeweils ein Roboterarm nicht in Betrieb ist.
  • Wie in der Darstellung gezeigt ist, verwendet die Robotersteuerungsvorrichtung gemäß dem Ausführungsbeispiel ein Konzept von Bereichen von Umgebungen/Situationen, in denen jeweils eine Vorgangssteuerung nicht fehlschlägt und erzielbar ist. Das heißt, die vorstehend beschriebenen Bereiche werden für jedes/jede von Vorgangszielen und Vorgangssteuerungen automatisch berechnet. Zusätzlich werden diese Vorgangssteuerungen individuell verwaltet.
  • Hierbei bedeutet der Begriff „eine Umgebung/Situation“ Arten von Zielgegenständen und Gegenstände in der Umgebung, die Art und Weise, wie diese Gegenstände platziert sind, die Zustände dieser Gegenstände, Umgebungen, in denen diese Gegenstände platziert werden, usw.. Da eine Bedeutung des Begriffs „eine Umgebung/Situation“ Arten von verschiedenen Gegenständen, Positionsbeziehungen, Situationen, usw. umfasst, gibt der Begriff konzeptionell einen mehrdimensionalen Raum an. Darüber hinaus gibt der Begriff „eine Umgebung/Situation“ abhängig von einem Vorgang auch eine Form und eine Lage (Orientierung) eines Roboters an. Falls der Fall berücksichtigt wird, dass eine Vielzahl von Robotern zusammenarbeiten, gibt der Begriff „eine Umgebung/Situation“ auch eine Positionsbeziehung und eine Lagebeziehung (Orientierungsbeziehung) von jedem Roboter an.
  • Obwohl das Ausführungsbeispiel unter Verwendung eines Roboterarms als einem Beispiel beschrieben ist, ist zu beachten, dass die Robotersteuerungsvorrichtung gemäß dem Ausführungsbeispiel auf alle Arten von Robotern unabhängig von Formen und Strukturen von Robotern anwendbar ist. Obwohl Informationen, die einen Grad angeben, zu dem eine Vorgangssteuerung erzielbar ist, durch Binärwerte bezeichnet sind, die in 1 „OK“ und „NG“ sind, sind die Werte, die diese Informationen bezeichnen, nicht auf diese Binärwerte begrenzt. Die Informationen können durch analoge Werte wie etwa Wahrscheinlichkeiten innerhalb des Bereichs von 0 bis 1 bezeichnet sein.
  • 2 zeigt eine Darstellung, die Details des Grundkonzepts der Robotersteuerungsvorrichtung gemäß dem Ausführungsbeispiel veranschaulicht. Wie in der Darstellung gezeigt, entsprechen eine oder mehrere Vorgangssteuerungen jedem von Vorgangszielen in der Robotersteuerungsvorrichtung gemäß dem Ausführungsbeispiel. Jede der Vorgangssteuerungen wird einzeln verwaltet, und ist unabhängig.
  • Teil (a) von 2 zeigt beispielhaft einen konzeptionellen Raum, der Umgebungen/Situationen für ein Vorgangsziel A (z.B. eine Verlagerung eines Gegenstands) repräsentiert. Bei diesem Beispiel ist eine Vorgangssteuerung A1 in einem Bereich A1 von Umgebungen/Situationen erzielbar, in denen jeweils eine Vorgangssteuerung erzielbar ist. Eine Vorgangssteuerung A2 kann in einem Bereich A2 von Umgebungen/Situationen ausgeführt werden, in denen jeweils eine Vorgangssteuerung erzielbar ist. Eine Vorgangssteuerung A3 kann in einem Bereich A3 von Umgebungen/Situationen ausgeführt werden, in denen jeweils eine Vorgangssteuerung erzielbar ist.
  • Teil (b) in 2 zeigt beispielhaft einen konzeptionellen Raum, der Umgebungen/Situationen für ein Vorgangsziel B veranschaulicht (z.B. eine Änderung einer Lage (Orientierung) eines Gegenstands). Bei diesem Beispiel kann eine Vorgangssteuerung B1 in einem Bereich B1 von Umgebungen/Situationen ausgeführt werden, in denen jeweils eine Vorgangssteuerung erzielbar ist. Eine Vorgangssteuerung B2 kann in einem Bereich B2 von Umgebungen/Situationen ausgeführt werden, in denen jeweils eine Vorgangssteuerung erzielbar ist. Eine Vorgangssteuerung B3 kann in einem Bereich B3 von Umgebungen/Situationen ausgeführt werden, in denen jeweils eine Vorgangssteuerung erzielbar ist.
  • In der Robotersteuerungsvorrichtung gemäß dem Ausführungsbeispiel entsprechen eine oder mehrere Vorgangssteuerungen einem oder mehreren Vorgangszielen, wobei Bereiche berücksichtigt werden, in denen wie in 2 gezeigt eine Vorgangssteuerung jeweils nicht fehlschlägt. Wahlweise kann eine einzelne Vorgangssteuerung einer Vielzahl von Vorgangssteuerungen entsprechen, da es den Fall gibt, dass eine einzelne Vorgangssteuerung aus verschiedenen Gründen eine Vielzahl von verschiedenen Vorgangszielen erzielen kann.
  • Eine einzelne Vorgangssteuerung gibt hierbei eine oder mehrere Steuerroutinen (Steuerprogramme) für einen Roboter an, um ein Vorgangsziel durch Erfassen von Gegenständen in der Nähe unter Verwendung eines Sensors mit einer Interaktion mit anderen Gegenständen zu erzielen. Darüber hinaus ist die Vorgangssteuerung, die durch ein Maschinenlernmodell (ML-Modell) auszuwerten ist, das in der Robotersteuerungsvorrichtung gemäß dem Ausführungsbeispiel umfasst ist, keine Steuerung für einen Roboter zur Durchführung einer einzelnen und primitiven Bewegung, die durch einen einzelnen Bewegungsrichtungsvektor oder eine einzelne Zielposition bestimmt ist, sondern ist eine Steuerung für einen Roboter zur Erzielung eines Vorgangsziels durch Erfassen von Gegenständen in der Nähe unter Verwendung eines Sensors mit einer Interaktion mit anderen Gegenständen (nachstehend als „Vorgangszielerzielungsverarbeitung, die ein Erfassen und eine Interaktion erfordert“ bezeichnet). Dementsprechend ist es möglich, (i) eine Robotersteuerung zu implementieren, die sicher ausgeführt wird, und (ii) Bereiche von Situationen handzuhaben, in denen jeweils ein Vorgang einer Vorgangssteuerung ein Vorgangsziel erzielt (Bereiche von Situationen, in denen jeweils ein Vorgang einer Vorgangssteuerung erfolgreich ist). Dies erzeugt eine Wirkung, dass eine fortschrittliche Verwaltung von Vorgangssteuerungen ermöglicht wird.
  • Es ist zu beachten, dass „eine Interaktion mit anderen Gegenständen“, die durch einen Roboter ausgeführt wird, nicht nur einen Fall, in dem sich ein Roboter in physikalischem Kontakt mit anderen Gegenständen befindet, sondern auch einen Fall, in dem ein Roboter eine kontaktlose Beziehung mit anderen Gegenständen aufweist, anstelle von oder zusätzlich zu dem Fall umfasst, in dem sich der Roboter in physikalischem Kontakt mit anderen Gegenständen befindet. Die kontaktlose Beziehung kann beispielsweise eine räumliche Beziehung (eine vorbestimmte Beziehung zwischen Positionen und/oder zwischen Entfernungen), eine Anwesenheitsbeziehung (Erkennung der Anwesenheit eines Gegenstands durch einen Roboter), und eine Kommunikationsbeziehung (Kommunikation zwischen einem Roboter und einem Gegenstand in einer drahtlosen Weise, usw.) umfassen.
  • Darüber hinaus ist eine „Vorgangszielerzielungsverarbeitung, die ein Erfassen und eine Interaktion erfordert“ z.B. eine Reihe von primitiven Bewegungen, die ein Vorgangsziel unter Verwendung von einem von einem Sensor erlangtes Ergebnis als Rückkopplungsinformationen bzw. Feedbackinformationen erzielt, und gewöhnlich als eine Abfolge von Bewegungen ausgedrückt werden kann, die abhängig von einem Ergebnis einer Erfassung bestimmt sind.
  • Es ist zu beachten, dass die Bewegungen eine Armbewegung, einen Armvorgang bzw. eine Armbetätigung, eine Handbewegung, einen Handvorgang bzw. eine Handbetätigung, ein Handteil, einen Handeinheitsvorgang, eine Lage (Orientierung), eine Lagesteuerung (Orientierungssteuerung), eine Körperteilbewegung, eine Beinteilbewegung, usw. umfassen.
  • Das Nachstehende kann als ein Konzept einer Beziehung zwischen einem Vorgangsziel und einer Vorgangssteuerung Anwendung finden: (i) eine Vorgangssteuerung ist eine Logik (mit anderen Worten, eine Prozedur oder ein Algorithmus), die zum Erzielen eines Vorgangsziels konstruiert ist, und (ii) das Vorgangsziel ist eine Wirkung, die durch eine Vorgangssteuerung alleine erzeugt ist (mit anderen Worten, eine Wirkung, die als ein Ergebnis einer Ausführung einer einzelnen Vorgangssteuerung erwartet wird, ein Zweck einer Verwendung der Vorgangssteuerung alleine und/oder ein Ziel, das die Vorgangssteuerung erzielen soll). Wahlweise muss ein Vorgangsziel keine Wirkung sein, die durch eine Abfolge von Vorgangssteuerungen, in der eine Vielzahl von Vorgangssteuerungen zusammengesetzt sind, und/oder durch einen Vorgangssteuerungssatz erzeugt oder erwartet ist. In diesem Fall kann die Vielzahl von Vorgangssteuerungen eine Vielzahl von Vorgangssteuerungen mit verschiedenen Steuerungsdetails, eine Vielzahl von Vorgangssteuerungen mit demselben Steuerungsdetail oder eine Mischung der Vielzahl von Vorgangssteuerungen mit verschiedenen Steuerungsdetails und der Vielzahl von Vorgangssteuerungen mit demselben Steuerungsdetail umfassen.
  • Darüber hinaus verwenden eine Vorgangssteuerung und die gesamte Verarbeitung, die durch die Robotersteuerungsvorrichtung durchgeführt wird, Konzepte einer Logik, eines Anweisungswerts und eines statischen Parameters.
  • Eine Logik ist ein Detail einer Verarbeitung, eines Algorithmus, einer Prozedur und/oder einer Verarbeitungsroutine, und muss sich gewöhnlich nicht ändern, falls die Robotersteuerungsvorrichtung sich in Betrieb bzw. in einem Vorgang befindet. Ein Anweisungswert ist ein für eine Logik bereitgestellter Wert und/oder ein für eine Logik bereitgestellter Parameter. Falls sich die Robotersteuerungsvorrichtung in Betrieb bzw. in einem Vorgang befindet, nimmt der Anweisungswert verschiedene Werte an, und ist ein für eine Logik als eine Instruktion bereitgestellter Wert, eine Anweisung und/oder ein für eine Logik bereitgestellter Wert. Mit Ausnahme des Falls, dass das Anweisungsdetail bei Bereitstellung der Robotersteuerungsvorrichtung vorbestimmt ist, wird ein Anweisungswert gewöhnlich entsprechend der Situation bestimmt, in der sich die Robotersteuerungsvorrichtung befindet, falls sich die Robotersteuerungsvorrichtung in Betrieb bzw. in einem Vorgang befindet, und Arten von Anweisungen und Reihenfolgen der Anweisungen werden bestimmt, oder mit anderen Worten, ein Wert wird bestimmt, den der Anweisungswert annimmt. Ein statischer Parameter ist ein für eine Logik bereitgestellter Parameter, und unterscheidet sich von einem Anweisungswert darin, dass der statische Parameter gewöhnlich denselben Wert ohne eine Änderung des Werts annimmt, falls sich die Robotersteuerungsvorrichtung in Betrieb bzw. in einem Vorgang befindet. Obwohl eine Prozedur (mit anderen Worten, eine Logik und ein Algorithmus) nicht geändert werden, ist der statische Parameter ein fein zu modifizierender Wert und/oder ein fein zu modifizierender Parameter, falls eine Wirkung einer Verarbeitung modifiziert wird oder fein modifiziert wird, und zwar gewöhnlich nicht, falls sich die Robotersteuerungsvorrichtung in Betrieb bzw. in einem Vorgang befindet, sondern während einer Zeit, in der die Robotersteuerungsvorrichtung nicht in Betrieb bzw. nicht in einem Vorgang ist, wie etwa zu einem Zeitpunkt, in dem die Wartung der Robotersteuerungsvorrichtung durchgeführt wird. In diesem Fall entspricht eine Vorgangssteuerung einer Logik, oder einer Kombination aus einer Logik und einem statischen Parameter, und umfasst keinen Anweisungswert. Darüber hinaus entspricht ein Anweisungswert einem Vorgangsziel oder (nicht in 3 gezeigten) Informationen, die mit einem Vorgangsziel verbunden sind. Darüber hinaus werden Vorgangssteuerungen, die dieselbe Logik oder dieselbe Kombination aus einer Logik und einem statischen Parameter aufweisen, als eine Vorgangssteuerung behandelt. Dementsprechend führt beispielsweise ein Unterschied in Anweisungswerten nicht zu der Bereitstellung einer Vielzahl von Vorgangssteuerungen. In diesem Fall wird die gesamte Verarbeitung der vorliegenden Offenbarung konzeptionell wie folgt durchgeführt: (i) Empfangen einer Eingabe eines Vorgangsziels oder Empfangen von Eingaben von einem Vorgangsziel und einem Anweisungswert; (ii) Erlangen von Situationsinformationen von einer Erfassungseinrichtung; und (iii) Auswahl einer Vorgangssteuerung (einer Logik, oder einer Kombination aus einer Logik und einem statischen Parameter) auf der Grundlage des Vorgangsziels (und des Anweisungswerts) und den Situationsinformationen. Wahlweise muss die gesamte durch die Robotersteuerungsvorrichtung gemäß der vorliegenden Offenbarung durchgeführte Verarbeitung nicht die nachstehenden Vorgänge umfassen (oder kann diese ausschließen): (i) Erlangen von Situationsinformationen von einer Erfassungseinrichtung; und (ii) Auswahl eines Anweisungswerts auf der Grundlage der Situationsinformationen.
  • Darüber hinaus ist ein Vorgangsziel eine durch eine Reihe von Vorgangssteuerungen hervorgerufene Wirkung, deren Reihenfolge festgelegt ist. Hierbei kann eine Reihe von Vorgangssteuerungen, deren Reihenfolge festgelegt ist, als eine einzelne Vorgangssteuerung behandelt werden. Falls sich darüber hinaus die Reihenfolge einer Reihe von Vorgangssteuerungen von der Reihenfolge einer anderen Reihe von Vorgangssteuerungen unterscheidet, kann davon ausgegangen werden, dass diese Reihen von Vorgangssteuerungen verschiedene zu erzielende Vorgangsziele aufweisen.
  • 3 zeigt eine Blockdarstellung, die eine Konfiguration einer Robotersteuerungsvorrichtung 10 gemäß dem Ausführungsbeispiel veranschaulicht. Eine Robotersteuerungsvorrichtung 10 ist eine Vorrichtung zur Steuerung eines Roboters, und umfasst: eine Vorgangszieleingabeeinrichtung 12; eine Erfassungseinrichtung 14; eine Vorgangssteuerungsauswahleinrichtung 16; eine Vorgangssteuerungsausführungseinrichtung 18; ein Maschinenlernmodell (ML-Modell) 20, in dem Bereiche von Situationen beschrieben sind, in denen jeweils eine Vorgangssteuerung erzielbar ist, die einem Vorgangsziel entspricht; ein Vorgangssteuerungssatz 22; eine
  • Eingabeeinrichtung 24 für verschiedene Informationselemente, die verschiedene Informationen eingibt, die beispielsweise ein Vorgangsziel, einen Entwurfsspezifikationswert, einen tatsächlichen Vorrichtungsvorgangswert, eine Faustregel, eine Vorgangssteuerung, einen Erfolgsbestimmungsstandard und eine Basissituation für einen Vorgang umfasst; eine Datenpaarerzeugungseinrichtung 26, die ein Datenpaar erzeugt, in dem Situationsdaten und Erfolgs- oder Misserfolgsdaten gepaart sind, die einen Erfolg oder einen Misserfolg eines Vorgangs einer Vorgangssteuerung angeben; eine Physiksimulationseinrichtung 28 und eine Situationsbereichsüberprüfungseinrichtung 30, die Bereiche von Situationen überprüft, in denen jeweils eine Vorgangssteuerung erzielbar ist. Eine Robotersteuerungsvorrichtung 10 umfasst ein Modell (ML-Modell) 20, in dem Bereiche von Situationen beschrieben sind, in denen jeweils eine Vorgangssteuerung erzielbar ist, und Datenstichproben für ein Lernen des Modells aus einem Entwurfsspezifikationswert, tatsächlichen Vorrichtungsvorgangswerten, Faustregeln, einer Physiksimulationseinrichtung (Physiksimulationseinrichtung 28), usw. erlangt. Diese Verarbeitung wird unabhängig von dem Detail einer Vorgangssteuerung automatisch durchgeführt.
  • Eine Eingabeeinrichtung 12 für ein Vorgangsziel ist eine Verarbeitungseinrichtung, die zumindest ein Vorgangsziel erlangt, und das zumindest eine Vorgangsziel an eine Vorgangssteuerungsauswahleinrichtung 16 ausgibt. Eine Eingabeeinrichtung 12 für ein Vorgangsziel ist beispielsweise eine Kommunikationsschnittstelle, die Informationen von außerhalb erlangt.
  • Die Erfassungseinrichtung 14 ist eine Verarbeitungseinrichtung, die ein beliebiges gegebenes Element von Situationsinformationen aus Elementen von Situationsinformationen erlangt, und das erlangte Element von Situationsinformationen an die Vorgangssteuerungsauswahleinrichtung 16 ausgibt. Die Erfassungseinrichtung 14 ist beispielsweise eine Kamera oder ein Beschleunigungssensor. Die Elemente von Informationen sind Informationen über einen Roboter oder einen Gegenstand in der Nähe des Roboters, und umfassen: (i) physikalische Eigenschaften, die eine physikalische Struktur und eine Form beinhalten; (ii) ein gegenwärtiger Zustand von zumindest einer von einer Position, einer Lage (Orientierung) und/oder einer Temperatur, die eine sich zeitlich verändernde Eigenschaft ist; (iii) eine relative Beziehung zwischen den physikalischen Eigenschaften oder zwischen den gegenwärtigen Zuständen; und (iv) eine Kombination zwischen der physikalischen Eigenschaften, eine Kombination der gegenwärtigen Zustände oder eine Kombination der physikalischen Eigenschaften und des gegenwärtigen Zustands.
  • Neben den vorstehenden Elementen von Situationsinformationen können die Situationsinformation Informationen über Zustände behandeln oder umfassen, die sich auf das Nachstehende beziehen: Informationen, die einen Gegenstand besitzt; ein interner Zustand eines Gegenstands; eine Mentalität, ein Gefühl, eine Art zu denken, ein Detail eines Gedankens und eine Gewohnheit einer Person und eines Tieres in der Nähe; ein beliebiges Verfahren und ein beliebiger Prozess, das/den eine Person, ein Tier und eine Vorrichtung in der Nähe besitzt, usw., die aus Licht (Beleuchtung und Schatten), Luft, einem Geräusch, einer Sprache, einer Erscheinung und einem Zustand eines Gegenstands, eines Menschen und eines Tieres durch eine Verarbeitung unter Verwendung einer Kamera und durch eine direkte Befragung eines Gegenstands und einer Person erlangt werden können.
  • Ein ML-Modell 20 ist ein Modell, das eine Eingabe einer Situationsinformation empfängt, und einen Ausgabewert ausgibt, der ein Binärwert, ein kontinuierlicher Wert oder ein mehrdimensionaler Vektorwert ist, der einen Erfolg oder einen Misserfolg oder einen Grad eines Erfolgs eines Vorgangs einer bereitgestellten Vorgangssteuerung in einer Situation angibt, die durch die empfangenen Situationsinformationen angegeben werden. Beispielsweise ist ein ML-Modell 20 auf ein tiefes neuronales Netzwerk (sogenanntes „deep neural network“, DNN) oder ein Tiefenlernen bezogen, die später nachstehend unter Bezugnahme auf 7 beschrieben sind. Es ist zu beachten, dass ein Binärwert, ein kontinuierlicher Wert oder ein mehrdimensionaler Vektorwert, der einen Erfolg oder einen Misserfolg oder einen Grad eines Erfolgs des Vorgangs der bereitgestellten Vorgangssteuerung angibt, nicht nur ein direkter numerischer Ausdruck ist, sondern beispielsweise auch (i) ein indirekter numerischer Ausdruck, der einen Erfolg oder einen Misserfolg oder einen Grad eines Erfolgs des Vorgangs unter Verwendung eines numerischen Werts indirekt ausdrückt, der eine Kombination des numerischen Werts und eines Elements ist, (ii) ein numerischer Ausdruck, der einen Erfolg oder einen Misserfolg oder einen Grad eines Erfolgs des Vorgangs in der Form angibt, dass eine Person die Details nicht problemlos verstehen kann, oder (iii) ein Textformat anstelle eines numerischen Ausdrucks sein kann. Zusätzlich kann ein Binärwert, ein kontinuierlicher Wert oder ein mehrdimensionaler Vektorwert, der einen Erfolg oder einen Misserfolg oder einen Grad eines Erfolgs des Vorgangs der bereitgestellten Vorgangssteuerung angibt, beispielsweise ein Entscheidungsbaum, der einen Zufallswald umfasst, ein Bayes'sches Interferenzverfahren, das ein Bayes'sches Netzwerk umfasst, oder ein statistisches Modell sein, das auf einer Wahrscheinlichkeitstheorie basiert. Neben dem Vorstehenden kann ein Binärwert, ein kontinuierlicher Wert oder ein mehrdimensionaler Vektorwert, der einen Erfolg oder einen Misserfolg oder einen Grad eines Erfolgs des Vorgangs der bereitgestellten Vorgangssteuerung angibt, jede Art von einem erklärbaren Modell sein, dessen modelliertes Detail nicht vollständig, jedoch zu einem bestimmten Grad für eine Person verständlich ist.
  • Darüber hinaus kann das ML-Modell 20 einen Wert ausgeben, der angibt, ob die empfangenen Situationsinformationen mit einer Situation, in der eine Vorgangssteuerung ordnungsgemäß erzielbar ist, oder mit einer Situation übereinstimmen, in der ein Vorgang der Vorgangssteuerung erfolgreich ist.
  • Zusätzlich kann gemäß 10 ein ML-Modell 20 einen Wert ausgeben, der angibt, ob eine Vorgangssteuerung in einer durch die empfangenen Situationsinformationen angegebenen Situation wie beabsichtigt ausgeführt werden kann oder nicht. 10 zeigt eine Darstellung, die ein ML-Modell 20 gemäß dem Ausführungsbeispiel veranschaulicht.
  • Darüber hinaus muss ein Wert, der einen Erfolg oder einen Misserfolg oder einen Grad eines Erfolgs eines Vorgangs angibt, der durch ein ML-Modell 20 ausgegeben wird, kein Wert sein, der einen Grad eines Erfolgs des Vorgangs in einer Situation angibt, in der die Vorgangssteuerung geringfügig erfolgreich ist, sondern kann ein Grad eines Erfolgs des Vorgangs in einer Situation sein, in der die Vorgangssteuerung sicher oder ausreichend erfolgreich ist. Mit anderen Worten, der Grad eines Erfolgs eines Vorgangs kann einen Grad eines Erfolgs eines Vorgangs in der empfangenen Situation angeben, in der genau und verlässlich abgeschätzt ist, dass eine Vorgangssteuerung erzielbar ist. Auch falls eine Situation ausreichend erfasst oder beobachtet ist, liegt darüber hinaus eine Unsicherheit oder ein nicht erfasster oder nicht beobachteter interner Zustand in einem gewissen Ausmaß vor, und tatsächlich kann die Unsicherheit oder der nicht erfasste oder nicht beobachtete interne Zustand nicht vollständig eliminiert werden, und liegt sicher in einem bestimmten Ausmaß vor. Falls jedoch die Unsicherheit oder der nicht erfasste oder nicht beobachtete interne Zustand unbedeutend ist, kann ein ML-Modell 20 einen Wert ausgeben, der einen Grad einer Abschätzung angibt, dass auf der Grundlage der erlangten Situationsinformationen ein Zustand als ein Zustand bestimmt werden kann, in dem ein Vorgang einer Vorgangssteuerung ausreichend erfolgreich ist, wobei auch die Unsicherheit oder der nicht erfasste oder unbeobachtete interne Zustand berücksichtigt ist.
  • Ein Vorgangssteuerungssatz 22 ist ein Satz von einer oder mehreren durch einen Roboter erzielten Vorgangssteuerungen, oder mit anderen Worten, ein Satz von einer oder mehreren Vorgangssteuerungen, die Kandidaten für eine Vorgangssteuerung sind, die durch die Vorgangssteuerungsauswahleinrichtung 16 identifiziert werden kann (d.h. ausgewählt werden kann). Ein Vorgangssteuerungssatz 22 ist beispielsweise ein Satz von Steuerroutinen, die in einem Speicher gespeichert sind.
  • Eine Vorgangssteuerungsauswahleinrichtung 16 ist eine Verarbeitungseinrichtung, die (i) einen Ausgabewert durch Bereitstellen von Situationsinformationen an ein ML-Modell 20 für zumindest eine Vorgangssteuerung erlangt, falls ein Vorgangsziel von der Vorgangszieleingabeeinrichtung 12 und die Situationsinformationen von der Erfassungseinrichtung 14 empfangen sind; (ii) auf der Grundlage des erlangten Ausgabewerts eine auszuführende Vorgangssteuerung aus dem Vorgangssteuerungssatz 22 identifiziert (d.h. auswählt), und (iii) die identifizierte Vorgangssteuerung der Vorgangssteuerungsausführungseinrichtung 18 mitteilt.
  • Eine Vorgangssteuerungsausführungseinrichtung 18 ist eine Verarbeitungseinrichtung, die eine durch eine Vorgangssteuerungsauswahleinrichtung 16 identifizierte Vorgangssteuerung ausführt. Eine Vorgangssteuerungsausführungseinrichtung 18 kann ein Strukturelement sein (siehe 3, 8 und 9), das mittels einer Vorgangssteuerungsauswahleinrichtung 16 Situationsinformationen 14a empfängt, die von einer Erfassungseinrichtung 14 erlangt sind, und eine Vorgangssteuerung auf der Grundlage eines Werts ausführt, der durch Situationsinformationen 14a angegeben ist. Wahlweise kann neben Situationsinformationen 14a, die von einer Erfassungseinrichtung 14 erlangt sind, eine Vorgangssteuerungsausführungseinrichtung 18 ein Strukturelement sein, das für jede Vorgangssteuerung andere Informationen als Situationsinformationen 14a wie etwa einen Wert, der in einer von einem Wert verschiedenen Form ausgedrückt ist, der durch Situationsinformationen 14a angegeben ist, von verschiedenen Sensoren erlangte Sensorwerte und von einer externen Vorrichtung erlangte Informationen unabhängig empfängt, und eine Vorgangssteuerung auf der Grundlage von Situationsinformationen 14a und der vorgenannten Werte oder auf der Grundlage der vorgenannten Werte ausführt.
  • Eine Eingabeeinrichtung 24 für verschiedene Informationselemente ist eine Verarbeitungseinrichtung, die verschiedene Arten von Informationen wie etwa ein Vorgangsziel, einen Entwurfsspezifikationswert, einen tatsächlichen Vorrichtungsvorgangswert, eine Faustregel, eine Vorgangssteuerung, einen Erfolgsbestimmungsstandard und eine Vorgangsbasissituation erlangt, und verschiedene Arten von Informationen an eine Datenpaarerzeugungseinrichtung 26 ausgibt. Die Eingabeeinrichtung 24 für verschiedene Informationselemente ist beispielsweise eine Kommunikationsschnittstelle, die Informationen von außerhalb erlangt.
  • Eine Datenpaarerzeugungseinrichtung 26 ist ein Beispiel einer Trainingsdatenerzeugungseinrichtung, die als Trainingsdaten für ein ML-Modell 20 ein Datenpaar erzeugt, in dem Situationsdaten und Erfolgs- oder Misserfolgsdaten gepaart sind, die einen Erfolg oder einen Misserfolg eines Vorgangs einer Vorgangssteuerung angeben. Das Datenpaar wird aus (i) einem Entwurfsspezifikationswert, (ii) einem Ergebnis eines Vorgangs einer Vorgangssteuerung, die durch einen tatsächlichen Roboter durchgeführt wird, (iii) einer Faustregel, die durch eine Person entwickelt ist, und/oder (iv) einem Ergebnis eines Vorgangs einer Vorgangssteuerung erzeugt, die in einer Physiksimulationseinrichtung (Physiksimulationseinrichtung 28) durchgeführt wird. Falls Datenpaare unter Verwendung der Physiksimulationseinrichtung (Physiksimulationseinrichtung 28) erzeugt werden, in denen jeweils Situationsdaten und Erfolgs- oder Misserfolgsdaten gepaart sind, (i) stellt die Datenpaarerzeugungseinrichtung 26 zusätzlich zu einer Vorgangssteuerung eine Bedingung für die Physiksimulationseinrichtung bereit, die einen Zustand definiert, in dem ein Vorgang der Vorgangssteuerung erfolgreich ist, (ii) führt die Datenpaarerzeugungseinrichtung 26 die Vorgangssteuerung aus, während in der Physiksimulationseinrichtung Elemente von Informationen verschiedentlich geändert werden, die jeweils eine Umgebung angeben, (iii) testet die Datenpaarerzeugungseinrichtung 26, ob der Vorgang der Vorgangssteuerung erfolgreich ist oder nicht, und (iv) erzeugt die Datenpaarerzeugungseinrichtung 26 auf der Grundlage eines Ergebnisses des Testens ein Datenpaar, in dem Situationsdaten und Erfolgs- oder Misserfolgsdaten gepaart sind.
  • Eine Physiksimulationseinrichtung 28 ist eine Verarbeitungseinrichtung, die eine bereitgestellte Vorgangssteuerung durch eine Simulation als einen Ersatz für einen Roboter ausführt, und ein Ergebnis der Ausführung zurückgibt.
  • Eine Situationsbereichsprüfeinrichtung 30 ist eine Verarbeitungseinrichtung, die ein (in der vorläufigen Verarbeitung trainiertes) ML-Modell 20 überprüft, das für Vorgangssteuerungen bereitgestellt ist, um für ein Vorgangsziel und eine Situation herauszufinden, welche Vorgangssteuerungen mit dem Vorgangsziel und der Situation verbunden sind, oder um herauszufinden, dass keine Vorgangssteuerung mit dem Vorgangsziel und der Situation verbunden ist. Falls notwendig, wird eine neue Vorgangssteuerung erstellt, und entsprechend einer Prozedur der vorläufigen Verarbeitung verbunden.
  • Es ist zu beachten, dass jedes der vorstehend beschriebenen Strukturelemente als eine Software unter Verwendung von beispielsweise einem Speicher zum Speichern eines Programms und Daten, und einer Verarbeitungseinrichtung zur Ausführung des Programms umgesetzt sein kann, oder als eine Hardware wie etwa eine elektronische Schaltung umgesetzt sein kann, die beispielsweise durch eine integrierte Halbleiterschaltung verdeutlicht ist. Alle oder einige der in der Robotersteuerungsvorrichtung 10 gemäß der vorstehenden Beschreibung umfassten Strukturelemente können in einem Roboter umfasst sein, oder können in einer Vorrichtung außerhalb des Roboters bereitgestellt sein, die mit dem Roboter kommunizieren kann.
  • Falls darüber hinaus ein Maschinenlernmodell zum Realisieren einer Vorgangssteuerung verwendet wird (d.h. eine Umsetzung einer Vorgangssteuerung oder eine Konkretisierung eines Prozesses zum Ermöglichen einer tatsächlichen Umsetzung einer Vorgangssteuerung in einer realen Lebenssituation), können das Maschinenlernmodell für eine Umsetzung einer Vorgangssteuerung (nachstehend auch als ein Maschinenlernmodell für eine Vorgangssteuerung bezeichnet) und ein ML-Modell 20 in einem einzelnen Maschinenlernmodell integriert sein. Falls beispielsweise eine Art einer Eingabe für ein Maschinenlernmodell für eine Vorgangssteuerung und eine Art einer Eingabe für ein ML-Modell 20 dieselbe sind, empfängt das vorgenannte einzelne Maschinenlernmodell eine solche Art einer Eingabe als einer gemeinsamen Eingabe, und gibt jeden von einem Wert für eine Vorgangssteuerung und einem einen Erfolg oder Misserfolg der Vorgangssteuerung angebenden Wert aus, der gewöhnlich durch das ML-Modell 20 ausgegeben wird. Das heißt, das ML-Modell 20 muss nicht auf eine bestimmte physikalische Konfiguration begrenzt sein. Beispielsweise kann das ML-Modell 20 ein individuelles Maschinenlernmodell sein, das für jedes Vorgangsziel erstellt ist, ein individuelles Maschinenlernmodell, das für jede Vorgangssteuerung erstellt ist, ein einzelnes Maschinenlernmodell, das einer Vielzahl von Vorgangszielen entspricht, und ein einzelnes Maschinenlernmodell, das einer Vielzahl von Vorgangssteuerungen entspricht.
  • Neben dem ML-Modell 20 kann darüber hinaus jede von funktionalen Strukturelementen, die in der Robotersteuerungsvorrichtung 10 umfasst sind, wie etwa die Erfassungseinrichtung 14, die Vorgangssteuerungsauswahleinrichtung 16, der Vorgangssteuerungssatz 22 und die Vorgangssteuerungsausführungseinrichtung 18 durch ein Maschinenlernmodell erstellt sein. Darüber hinaus kann eine Vielzahl von funktionalen Strukturelementen durch ein einzelnes Maschinenlernmodell erstellt sein. Dementsprechend können einige oder alle funktionale Strukturelemente, die in der Robotersteuerungsvorrichtung 10 umfasst sind, durch ein einzelnes Maschinenlernmodell oder eine Vielzahl von Maschinenlernmodellen erstellt sein.
  • Falls ein Maschinenlernmodell ein individuelles Maschinenlernmodell ist, das für jede Vorgangssteuerung erstellt ist, müssen eine Eingabe und eine Ausgabe von jedem Maschinenlernmodell nicht dasselbe sein.
  • Falls ein Maschinenlernmodell nicht ein individuelles Maschinenlernmodell ist, das für jede Vorgangssteuerung erstellt ist, sondern eine einzelne Modellkonfiguration aufweist, finden wahlweise die nachstehenden zwei Fälle hinsichtlich einer Ausgabe eines Modells Anwendung, falls ein Vorgang hinzugefügt wird und ein Bereich von Situationen modifiziert wird.
  • Falls ein Modell: (i) ein Modell, das eine feste Konfiguration aufweist und nur einen Ausgabewert ändert, falls ein Vorgang hinzugefügt wird, und ein Bereich von Situationen modifiziert wird; und (ii) ein Modell ist, das dazu in der Lage ist, über eine Zielvorgangssteuerung unter Verwendung eines Verfahrens zu lernen, in dem ein Ausgabewert hinsichtlich einer anderen Vorgangssteuerung als der zu lernenden Vorgangssteuerung nicht beeinträchtigt oder geringfügig beeinträchtigt ist, ist eine Ausgabe des Modells beispielsweise ein mehrdimensionaler Vektorwert. Das Modell wird derart trainiert, dass ein Ausgabewert eines neuen Musters ausgegeben wird, falls eine Vorgangssteuerung hinzugefügt wird.
  • Falls ein Modell: (i) ein Modell, das die Modellkonfiguration ändert und/oder ausweitet, und einen Ausgabewert ändert, falls eine Vorgangssteuerung hinzugefügt wird und ein Bereich von Situationen modifiziert wird; und (ii) ein Modell ist, das dazu in der Lage ist, über eine Zielvorgangssteuerung unter Verwendung eines Verfahrens zu lernen, in dem ein Ausgabewert hinsichtlich einer anderen Vorgangssteuerung als der zu lernenden Vorgangssteuerung nicht beeinträchtigt ist oder geringfügig beeinträchtigt ist, wird eine neue Vorgangssteuerung durch Ändern der Struktur einer Ausgabewertberechnung hinzugefügt. Beispielsweise wird eine Ausgabeberechnungseinrichtung für eine neue Vorgangssteuerung zu der Modellkonfiguration hinzugefügt.
  • Zur einfacheren Beschreibung beschreibt das Nachstehende ein individuelles Maschinenlernmodell, das für jede Vorgangssteuerung erstellt ist.
  • 4 zeigt eine Darstellung, die eine vorläufige Verarbeitung veranschaulicht, die durch eine Robotersteuerungsvorrichtung 10 gemäß dem vorliegenden Ausführungsbeispiel durchgeführt wird. Hierbei sind von der Blockdarstellung gemäß 3 nur Blöcke veranschaulicht, die die vorläufige Verarbeitung betreffen.
  • Für das Trainieren des ML-Modells 20, das für eine zu verwendende Vorgangssteuerung zu verwenden ist, erzeugt die Datenpaarerzeugungseinrichtung 26 eine große Anzahl von Datenpaaren, in denen jeweils Situationsdaten und Erfolgs- oder Misserfolgsdaten gepaart sind. Die Datenpaare sind Trainingsdaten für das ML-Modell 20. Bei der Erzeugung von Datenpaaren, von denen jedes einen Erfolg oder einen Misserfolg eines Vorgangs einer Vorgangssteuerung in einer Situation angibt, wird das Folgende erzeugt: (i) Datenpaare, die für verschiedene Situationen erzeugt sind, auf der Grundlage eines Entwurfsspezifikationswerts, eines tatsächlichen Vorrichtungsvorgangswerts, der Faustregel gemäß einem Entwickler der Vorgangssteuerung, usw.; (ii) Datenpaare, die auf der Grundlage eines Standards für eine Bestimmung erzeugt sind, ob eine Vorgangssteuerung und ein Vorgang erfolgreich sind oder nicht; und (iii) Datenpaare, die auf der Grundlage von Ergebnissen einer Ausführung einer Vorgangssteuerung in verschiedenen Situationen unter Verwendung einer Physiksimulationseinrichtung 28 erzeugt sind, in der eine Basissituation (repräsentative Situation) für einen Vorgang der Vorgangssteuerung eingegeben werden.
  • 5 zeigt eine Darstellung, die Vorgänge (Vorgangssteuerungen) veranschaulicht, die durch eine Robotersteuerungsvorrichtung 10 gemäß dem Ausführungsbeispiel durchgeführt werden. Hierbei sind von der in 3 gezeigten Blockdarstellung nur Blöcke veranschaulicht, die sich auf Vorgänge (Vorgangssteuerungen) beziehen, die durch die Robotersteuerungsvorrichtung 10 durchgeführt werden.
  • Eine Vorgangssteuerungsauswahleinrichtung 16 (i) gibt Situationsdaten, die die gegenwärtige Situation angeben, die von einer Erfassungseinrichtung 14 erlangt sind, in abstrakte Modelle (ML-Modelle 20, die entsprechend der Anzahl von Vorgangssteuerungen entsprechend einem Vorgangsziel bereitgestellt sind) ein, die jeweils einem Vorgangsziel entsprechen, das von der Vorgangszieleingabeeinrichtung 12 eingegeben ist, und in dem jeweils der Bereich von Situationen beschrieben ist, und (ii) überprüft eine Ausgabe von jedem ML-Modell 20 (jedes ML-Modell 20 gibt einen abgeleiteten Wert aus, der angibt, ob eine Vorgangssteuerung erzielbar ist oder nicht, die dem Vorgangsziel entspricht).
  • Von den Ausgabewerten der ML-Modelle 20 bestimmt die Vorgangssteuerungsauswahleinrichtung 16 eine Vorgangssteuerung, die in der gegenwärtigen Situation erzielbar ist (es ist zu beachten, dass Vorgangssteuerungen erzielbar sind, falls sich Bereiche überlappen), und wählt eine Vorgangssteuerung aus einem Vorgangssteuerungssatz 22 aus. Nachfolgend führt die Vorgangssteuerungsausführungseinrichtung 18 die ausgewählte Vorgangssteuerung aus. In Summe gibt die Vorgangssteuerungsauswahleinrichtung 16 die gegenwärtige Situation an ML-Modelle 20 ein, leitet einen Erfolg oder einen Misserfolg eines Vorgangs von jeder Vorgangssteuerung ab, und nimmt eine Vorgangssteuerung an und führt diese aus, für die kein Misserfolg bestimmt ist.
  • Wahlweise kann die Vorgangssteuerungsauswahleinrichtung 16 (i) auf der Grundlage eines Vorgangsziels oder auf der Grundlage eines Vorgangsziels und der vorstehend beschriebenen Anweisungswerte zeitweilig Kandidaten für eine Vorgangssteuerung auswählen, die dem Vorgangsziel entsprechen, (ii) einen erfolgreichen Kandidaten unter Verwendung eines Maschinenlernmodells bestimmen, und (iii) eine Vorgangssteuerung auf der Grundlage von einem beliebigen des Bestimmungsergebnisses, des Vorgangsziels oder des Anweisungswerts auswählen.
  • 6 zeigt eine Darstellung, die eine während einer Wartung durchgeführte Verarbeitung veranschaulicht, mit anderen Worten, während einer Auswertung und einer Verifikation einer Robotersteuerungsvorrichtung 10 gemäß dem Ausführungsbeispiel. Hierbei sind von der in 3 gezeigten Blockdarstellung hinsichtlich einer Wartung, mit anderen Worten, hinsichtlich einer Auswertung und Verifikation veranschaulicht.
  • Eine Situationsbereichsüberprüfungseinrichtung 30 überprüft das (in der vorläufigen Verarbeitung trainierte) ML-Modell 20 auf Vorgangssteuerungen, um für ein Vorgangsziel und eine Situation herauszufinden, welche Vorgangssteuerungen mit dem Vorgangsziel und der Situation verbunden sind, oder um herauszufinden, dass keine Vorgangssteuerung mit dem Vorgangsziel und der Situation verbunden ist. Falls notwendig, wird eine neue Vorgangssteuerung erstellt, und gemäß einer Prozedur der vorläufigen Verarbeitung verbunden.
  • Falls darüber hinaus eine Verbesserung einer in einer Situation auszuführenden Vorgangssteuerung für ein Vorgangsziel verlangt ist, bestimmt (überprüft) die Situationsbereichsüberprüfungseinrichtung 30 eine mit der Situation verbundene Vorgangssteuerung und modifiziert die Vorgangssteuerung. Da Vorgangssteuerungen gemäß jeweiligen Bereichen von Situationen, in denen jede der Vorgangssteuerungen erzielbar ist, vollständig isoliert sind (d.h. jede Vorgangssteuerung ist unabhängig), beeinträchtigt die Modifikation einer Vorgangssteuerung nicht andere Vorgangssteuerungen.
  • Gemäß der vorstehenden Beschreibung kann eine Überprüfung eines Erfolgs oder Misserfolgs einer Vorgangssteuerung in einer Situation (Überprüfung 1) durch die Situationsbereichsüberprüfungseinrichtung 30 getroffen werden, die eine Ausgabe des ML-Modells 20 überprüft. Darüber hinaus kann eine Verbesserung einer auszuführenden Steuerung in einer Situation durch die Situationsbereichsüberprüfungseinrichtung 30 getroffen werden (Überprüfung 2), die die ML-Modelle 20 durchsucht und eine mit der Situation verbundene Vorgangssteuerung modifiziert.
  • 7 zeigt eine Darstellung, die ein bestimmtes Beispiel des ML-Modells 20 veranschaulicht, das in einer Robotersteuerungsvorrichtung 10 gemäß dem Ausführungsbeispiel umfasst ist. Bei dem Ausführungsbeispiel verwendet das ML-Modell 20 ein tiefes neuronales Netzwerk (DNN), das als ein dreidimensionales neuronales Faltungsnetzwerk bezeichnet wird. Dieses DNN verwendet als Eingabe ein Vorhandensein oder eine Abwesenheit von Gegenständen an jeweiligen Position in einem Raum, Arten von Gegenständen, usw., um einen Erfolg oder einen Misserfolg (OK oder NG) eines Vorgangs einer Vorgangssteuerung auszugeben. Wahlweise kann das DNN ein beliebiges Modell sein, das ein Tiefenlernen betrifft.
  • Gemäß der vorstehenden Beschreibung erfüllt die Robotersteuerungsvorrichtung 10 gemäß dem Ausführungsbeispiel die nachstehenden vier Anforderungen 1 bis 4 für eine Umsetzung der Steuerung eines Roboters.
  • Anforderung 1 erfordert eine Umsetzung einer flexiblen Steuerung eines Roboters entsprechend weiten Bereichen von Umgebungen/Situationen.
  • Eine Robotersteuerungsvorrichtung 10 gemäß dem Ausführungsbeispiel kann die Anforderung 1 erfüllen, da eine Vielzahl von Vorgangssteuerungen kombiniert werden können, und keine Beschränkung auf eine Art eines Steuerungsverfahrens besteht.
  • Anforderung 2 erfordert eine Umsetzung einer Steuerung eines Roboters, wobei ein physikalisches Ereignis berücksichtigt wird (z.B. eine Wechselwirkung mit einem Gegenstand durch einen Zielgegenstand wie etwa ein Stoß, der einem Gegenstand durch den Zielgegenstand gegeben wird, eine Reibung, die durch den Zielgegenstand verursacht wird, eine Bewegung des Zielgegenstands entlang eines Gegenstands und eine Änderung eines Gleichgewichts aufgrund des Zielgegenstands).
  • Eine Robotersteuerungsvorrichtung 10 gemäß dem Ausführungsbeispiel kann die Anforderung 2 erfüllen, da eine Physiksimulationseinrichtung zur Bestimmung der vorstehend beschriebenen physikalischen Ereignisse verwendet wird.
  • Anforderung 3 erfordert für jede Steuerungsroutine (nachstehend auch als Vorgangssteuerung bezeichnet) eine Klärung eines Bereichs von Umgebungen/Situationen, in denen jeweils die Steuerungsroutine für eine Ausführung eines Vorgangs erfolgreich ist (d.h., eine Steuerroutine wird derart ausgeführt, dass ein Ziel erzielt wird).
  • Eine Robotersteuerungsvorrichtung 10 gemäß dem Ausführungsbeispiel kann Anforderung 3 erfüllen, da Bereiche von Situationen, in denen jeweils eine Vorgangssteuerung erzielbar ist, gemäß der Robotersteuerungsvorrichtung 10 modelliert werden. Damit ist es möglich, eine Steuerroutine zu bestimmen, die erzielbar ist, und daher kann eine Sicherstellung eines Erfolgs eines Vorgangs, eine Sicherstellung einer Qualität und eine Sicherstellung eines Vorgangs bereitgestellt werden. Dies ermöglicht eine fortschrittliche Vorgangsverwaltung.
  • Anforderung 4 erfordert ein individuelles Abstimmen von jeder Vorgangssteuerung.
  • Die Robotersteuerungsvorrichtung 10 gemäß dem Ausführungsbeispiel kann Anforderung 4 erfüllen, da Vorgangssteuerungen für jeden Bereich von Situationen einzeln gehandhabt werden, in denen die Vorgangssteuerung jeweils erzielbar ist.
  • Es ist zu beachten, dass ein Roboter, der durch die Robotersteuerungsvorrichtung 10 gemäß dem Ausführungsbeispiel gesteuert wird, sich von einem Roboter beispielsweise in einer Fabrik unterscheidet, und in einem unbekannten Ort entsprechend weiten Bereichen von Umgebungen, oder mit anderen Worten, verschiedenen Situationen verwendet wird. Aus diesem Grund ist der Roboter manchmal in einer Situation bereitgestellt, in der eine Steuerroutine für einen Vorgang nicht wie beabsichtigt ausgeführt werden kann, und dies kann eine Fehlfunktion des Roboters verursachen. Diese Fehlfunktion kann zu einem Schaden an einem Gegenstand und einer Verletzung einer Person in der Nähe des Roboters führen, und ein solcher Schaden und Verletzung müssen verhindert werden. Darüber hinaus kann eine unvorhersehbare unabsichtliche Handlung, die durch eine Person (einen Erwachsenen oder ein Kind) in der Nähe des Roboters vorgenommen wird, eine Verletzung der Person ergeben, da ein solcher Zustand durch den Roboter nicht vorhergesagt werden konnte.
  • In einem solchen Fall kann das Nachstehende auf die Robotersteuerungsvorrichtung 10 Anwendung finden. Eine Robotersteuerungsvorrichtung 10 gemäß dem Ausführungsbeispiel kann eine Sicherheitsvorrichtung, ein Sicherheitsmechanismus oder eine Verriegelung für eine Steuerroutine für einen Vorgang des Roboters sein. Das ML-Modell 20, das in der Robotersteuerungsvorrichtung 10 gemäß dem Ausführungsbeispiel umfasst ist, gibt einen Wert aus, der in der gegenwärtigen Umgebung/Situation (i) einen Erfolg eines Vorgangs einer Vorgangssteuerung (d.h. die Vorgangssteuerung kann wie beabsichtigt ausgeführt werden) oder (ii) einen Misserfolg des Vorgangs der Vorgangssteuerung angibt (d.h. die Vorgangssteuerung kann nicht wie beabsichtigt ausgeführt werden). Damit stellt die Robotersteuerungsvorrichtung 10 gemäß dem Ausführungsbeispiel sicher, dass eine Steuerroutine in einer Umgebung/Situation nicht ausgeführt wird, in der die Steuerroutine nicht wie beabsichtigt ausgeführt werden kann (siehe 10).
  • Es ist zu beachten, dass bei dem vorstehend beschriebenen Ausführungsbeispiel ein Vorgangsziel und Situationsinformationen an die Vorgangssteuerungsauswahleinrichtung 16 gemäß 5 eingegeben werden, jedoch ein Vorgangsziel und Situationsinformationen oder ein Vorgangsziel, Situationsinformationen und ein (nicht gezeigter) Anweisungswert an das ML-Modell 20 eingegeben werden können. 8 zeigt eine Darstellung, die Vorgänge (Vorgangssteuerungen) veranschaulicht, die durch eine Robotersteuerungsvorrichtung 10a gemäß einer Variante 1 des Ausführungsbeispiels durchgeführt wird. In der Variante 1 ist das ML-Modell 20 ein einzelnes Maschinenlernmodell, das einer Vielzahl von Vorgangssteuerungen entspricht. Falls das ML-Modell 20 Vorgangssteuerungen von der Vorgangssteuerungsauswahleinrichtung 16 empfängt, gibt das ML-Modell 20 an die Vorgangssteuerungsauswahleinrichtung 16 Ausgabewerte zurück, die jeweils einen Erfolg oder einen Misserfolg eines Vorgangs von jeder empfangenen Vorgangssteuerung angeben, die das eingegebene Vorgangsziel 12a in einer Situation erzielt, die durch die eingegebenen Situationsinformationen 14a angegeben sind. Die Vorgangssteuerungsauswahleinrichtung 16 wählt auf der Grundlage der Ausgabewerte von dem ML-Modell 20 für jeweilige Vorgangssteuerungen eine Vorgangssteuerung aus, die die Vorgangssteuerung 22a ist.
  • Bei dem vorstehend beschriebenen Ausführungsbeispiel sind die Vorgangssteuerungsauswahleinrichtung 16 und das ML-Modell 20 verschiedene Verarbeitungseinrichtungen gemäß 3, jedoch können die Vorgangssteuerungsauswahleinrichtung 16 und das ML-Modell 20 in eine einzelne Verarbeitungseinrichtung integriert sein. 9 zeigt eine Darstellung, die Vorgänge (Vorgangssteuerungen) veranschaulicht, die durch eine Robotersteuerungsvorrichtung 10b gemäß einer Variante 2 des Ausführungsbeispiels durchgeführt wird. In der Variante 2 weist ein ML-Modell 20a eine Wirkung auf, in der Wirkungen der Vorgangssteuerungsauswahleinrichtung 16 und des ML-Modells 20 gemäß dem Ausführungsbeispiel kombiniert sind. Das heißt, das ML-Modell 20a wertet einen Erfolg oder einen Misserfolg jeder Vorgangssteuerung aus, die das eingegebene Vorgangsziel 12a in einer Situation erzielt, die durch die eingegebenen Situationsinformationen 14a angegeben sind, und wählt auf der Grundlage eines Ergebnisses der Auswertung eine Vorgangssteuerung aus, die die Vorgangssteuerung 22a ist. Das vorstehend beschriebene ML-Modell 20a kann beispielsweise durch ein DNN mit einer Mittelschicht umgesetzt sein, die der Vorgangssteuerungsauswahleinrichtung 16 entspricht.
  • Obwohl eine Vielzahl von Vorgangszielen und eine Vielzahl von Vorgangssteuerungen in dem vorstehend beschriebenen Ausführungsbeispiel gemäß 2 vorhanden sind, die dazu in der Lage sind, jeweilige Vorgangsziele zu erzielen, ist darüber hinaus die Konfiguration nicht auf das Vorstehende begrenzt. Es kann ein einzelnes Vorgangsziel für die gesamte Konfiguration geben, und die Anzahl von Vorgangssteuerungen, die dazu in der Lage sind, das eine Vorgangsziel zu erzielen, kann eins sein. Falls es nur ein Vorgangsziel gibt, muss die Vorgangszieleingabeeinrichtung 12 nicht bereitgestellt sein. Falls jedoch eine Vielzahl von Vorgangssteuerungen vorhanden ist, die dem einen Vorgangsziel entsprechen, ist es bedeutend, dass eine Vorgangssteuerung unter Verwendung eines ML-Modells 20 ausgewählt ist, auch falls es nur ein Vorgangsziel gibt.
  • Auch falls es nur eine Vorgangssteuerung gibt, die einem Vorgangsziel entspricht, ist es darüber hinaus bedeutsam, dass eine Bestimmung unter Verwendung des ML-Modells 20 getroffen wird, ob die eine Vorgangssteuerung erzielt wird oder nicht. Falls es bestimmt ist, dass die Vorgangssteuerung nicht zu erzielen ist, kann die laufende Verarbeitungsroutine beendet werden, oder die Verarbeitung kann durch Übermitteln von Situationsinformationen an eine Host-Computervorrichtung geändert werden, die die gegenwärtige Situation angeben. Dies entspricht einem Vorgang gemäß der vorstehenden Beschreibung, die durch eine Sicherheitsvorrichtung oder einen Sicherheitsmechanismus durchgeführt wird.
  • Bei einer Erzeugung und einer Erlangung von Situationsinformationen, die eine andere als eine Erlangung von Situationsinformationen unter Verwendung der Erfassungseinrichtung 14 ist, können Situationsinformationen durch (i) Berechnen von zukünftigen Situationsinformationen, (ii) Empfangen von Situationsinformationen, die von einer Erfassungseinrichtung eines anderen Roboters erlangt sind, (iii) Beziehen auf vergangene Situationsinformationen, die nach Ablauf einer Zeit gespeichert sind, und (iv) direktes Empfangen einer Kommunikation wie etwa einer Antwort auf eine Anfrage von einem Gegenstand oder einer Person erlangt werden. Dementsprechend ist es möglich, weite Bereiche von Situationsinformationen einschließlich verschiedener Blickwinkel zu erlangen.
  • Darüber hinaus kann ein Maschinenlernmodell, eine Vorgangssteuerung und/oder eine neue Wirkungseinheit ein Signal hinsichtlich einer Vorgangssteuerung an eine Erfassungseinrichtung 14 übermitteln, und die Erfassungseinrichtung 14 kann auf der Grundlage des Signals eine fortschrittlichere Erfassung durchführen, wobei eine Eigenschaft der Vorgangssteuerung berücksichtigt wird. Falls sich beispielsweise ein Erfolg eines Vorgangs der Vorgangssteuerung aufgrund eines subtilen Unterschieds in einer Positionsbeziehung zwischen Gegenständen in der Nähe verändert, kann eine Erfassungseinrichtung 14 eine Erfassung mit Fokus auf den subtilen Unterschied in der Positionsbeziehung durchführen. Damit ist es möglich, Situationsinformationen zu erlangen, die bei einer Bestimmung wirksamer sind, ob ein Vorgang einer Vorgangssteuerung erfolgreich ist oder nicht.
  • Gemäß der vorstehenden Beschreibung ist es präziser und genauer möglich, gemäß der Situation Werte auszugeben, die einen Erfolg oder einen Misserfolg oder einen Grad eines Erfolgs eines Vorgangs einer Vorgangssteuerung angeben.
  • Industrielle Anwendbarkeit
  • Die vorliegende Offenbarung kann als eine Robotersteuerungsvorrichtung verwendet werden, insbesondere als eine Robotersteuerungsvorrichtung, die eine Steuerung von Vorgängen, die gemäß jeweiligen Situationen durchzuführen sind, einzeln verwalten und modifizieren kann, während eine flexible Steuerung eines Roboters gemäß weiten Bereichen von Umgebungen/Situationen umgesetzt ist.
  • Eine Robotersteuerungsvorrichtung, die einen Roboter steuert, und: ein Maschinenlernmodell (ML-Modell) (20), das verwendet wird, um Bereiche von Umgebungen zu beschreiben, oder mit anderen Worten, Situationen, in denen jeweils eine Steuerung für eine Steuerungsroutine (Vorgangssteuerung) erzielbar ist, die einen Vorgang zur Erzielung eines Vorgangsziels ausführt; eine Vorgangssteuerungsauswahleinrichtung (16), die auf der Grundlage eines Ausgabewerts von dem ML-Modell (20) eine geeignete Vorgangssteuerung für die gegenwärtige Situation auswählt; und eine Vorgangssteuerungsausführungseinrichtung (18) umfasst, die die ausgewählte Vorgangssteuerung ausführt. Die Vorgangssteuerung ist eine Steuerungsroutine für einen Roboter, um ein Vorgangsziel durch den Roboter zu erzielen, der einen Gegenstand in der Nähe des Roboters mit einer Wechselwirkung mit einem anderen Gegenstand erfasst.
  • Bezugszeichenliste
  • 10, 10a, 10b
    Robotersteuerungsvorrichtung
    12
    Vorgangszieleingabeeinrichtung
    12a
    Vorgangsziel
    14
    Erfassungseinrichtung
    14a
    Situationsinformationen
    16
    Vorgangssteuerungsauswahleinrichtung
    18
    Vorgangssteuerungsausführungseinrichtung
    20, 20a
    Maschinenlernmodell (ML-Modell)
    22
    Vorgangssteuerungssatz
    24
    Eingabeeinrichtung für verschiedene Informationselemente
    26
    Datenpaarerzeugungseinrichtung
    28
    Physiksimulationseinrichtung
    30
    Situationsbereichsüberprüfungseinrichtung
  • 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 2005081445 A [0007]
    • JP 2017064910 A [0007]

Claims (5)

  1. Robotersteuerungsvorrichtung, die einen Roboter steuert, wobei die Robotersteuerungsvorrichtung umfasst: ein Maschinenlernmodell, das eine Eingabe von einem beliebigen gegebenen Element von Situationsinformationen empfängt, das aus Elementen von Situationsinformationen ausgewählt ist, und einen Ausgabewert ausgibt, der einer von einem Binärwert, einem kontinuierlichen Wert und einem mehrdimensionalen Vektorwert ist, der einen Erfolg oder einen Misserfolg oder einen Grad eines Erfolgs eines Vorgangs einer bereitgestellten Vorgangssteuerung in einer Situation angibt, die durch das beliebige gegebene Element von empfangenen Situationsinformationen angegeben ist, wobei die Elemente von Situationsinformationen Informationen über den Roboter oder einen Gegenstand in einer Nähe des Roboters sind und: (i) physikalische Eigenschaften, die eine physikalische Struktur und eine Form beinhalten; (ii) einen gegenwärtigen Zustand von zumindest einer von einer Position, einer Lage und einer Temperatur, die eine sich zeitlich verändernde Eigenschaft ist; (iii) eine relative Beziehung zwischen den physikalischen Eigenschaften oder zwischen den gegenwärtigen Zuständen; und (iv) eine Kombination der physikalischen Eigenschaften, eine Kombination der gegenwärtigen Zustände oder eine Kombination der physikalischen Eigenschaften und des gegenwärtigen Zustand umfassen; eine Vorgangssteuerungsauswahleinrichtung, die den Ausgabewert für zumindest eine Vorgangssteuerung erlangt, indem das beliebige gegebene Element von Situationsinformationen dem Maschinenlernmodell bereitgestellt wird, falls das beliebige gegebene Element von Situationsinformationen empfangen ist, und auf der Grundlage des Ausgabewerts eine auszuführende Vorgangssteuerung identifiziert; und eine Vorgangssteuerungsausführungseinrichtung, die die durch die Vorgangssteuerungsauswahleinrichtung identifizierte Vorgangssteuerung ausführt, wobei die Vorgangssteuerung eine Steuerungsroutine für den Roboter zum Erzielen eines Vorgangsziels ist, indem der Roboter einen Gegenstand in der Nähe des Roboters unter Verwendung eines Sensors mit einer Interaktion mit einem anderen Gegenstand erfasst.
  2. Robotersteuerungsvorrichtung nach Anspruch 1, wobei das beliebige gegebene Element von Situationsinformationen zumindest eine von einer Absolutposition, einer Relativposition, einer Lage, einer Form oder einer Art des Gegenstands umfasst.
  3. Robotersteuerungsvorrichtung nach Anspruch 1 oder 2, ferner mit: einer Trainingsdatenerzeugungseinrichtung, die als Trainingsdaten für das Maschinenlernmodell ein Datenpaar erzeugt, in dem Situationsdaten und Erfolgs- oder Misserfolgsdaten gepaart sind, wobei das Datenpaar aus zumindest einem von (i) einem Entwurfsspezifikationswert, (ii) einem Ergebnis eines Vorgangs der Vorgangssteuerung, die durch einen tatsächlichen Roboter durchgeführt wird, (iii) einer durch eine Person entwickelten Faustregel und (iv) einem Ergebnis des Vorgangs der Vorgangssteuerung erzeugt ist, die in einer Physiksimulationseinrichtung durchgeführt ist.
  4. Robotersteuerungsvorrichtung nach Anspruch 3, wobei falls das Datenpaar unter Verwendung der Physiksimulationseinrichtung erzeugt ist, wobei die Trainingsdatenerzeugungseinrichtung (i) der Physiksimulationseinrichtung zusätzlich zu einer Vorgangssteuerung eine Bedingung bereitstellt, die einen Zustand definiert, in dem ein Vorgang der Vorgangssteuerung erfolgreich ist, (ii) die Vorgangssteuerung ausführt, während in der Physiksimulationseinrichtung die Elemente von Situationsinformationen verschiedentlich geändert werden, die jeweils eine Umgebung angeben, (iii) testet, ob der Vorgang der Vorgangssteuerung erfolgreich ist oder nicht, und (iv) das Datenpaar auf der Grundlage eines Ergebnisses des Testens erzeugt.
  5. Robotersteuerungsvorrichtung nach Anspruch 4, wobei falls ein Testen unter Verwendung der Physiksimulationseinrichtung, ob der Vorgang der Vorgangssteuerung erfolgreich ist oder nicht, die Trainingsdatenerzeugungseinrichtung zumindest eines der Elemente von Situationsinformationen identifiziert, die jeweils eine Umgebung angeben, in der der Vorgang der bereitgestellten Vorgangssteuerung erfolgreich ist, und von dem zumindest einen Element von Situationsinformationen, das als ein abzutastendes Startelement identifiziert ist, die Elemente von Situationsinformationen abtastet, die jeweils eine Umgebung angeben, in der der Vorgang der Vorgangssteuerung getestet ist.
DE112020004135.2T 2019-08-28 2020-08-28 Robotersteuerungsvorrichtung Pending DE112020004135T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2019155446A JP6742040B1 (ja) 2019-08-28 2019-08-28 ロボット制御装置
JP2019-155446 2019-08-28
JP2020124276A JP6792898B1 (ja) 2020-07-21 2020-07-21 ロボット制御装置
JP2020-124276 2020-07-21
PCT/JP2020/032686 WO2021039995A1 (ja) 2019-08-28 2020-08-28 ロボット制御装置

Publications (1)

Publication Number Publication Date
DE112020004135T5 true DE112020004135T5 (de) 2022-06-02

Family

ID=74683852

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020004135.2T Pending DE112020004135T5 (de) 2019-08-28 2020-08-28 Robotersteuerungsvorrichtung

Country Status (6)

Country Link
US (1) US11511414B2 (de)
EP (1) EP3998140A4 (de)
CN (1) CN114269524B (de)
DE (1) DE112020004135T5 (de)
GB (1) GB2600843B (de)
WO (1) WO2021039995A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022205011A1 (de) 2022-05-19 2023-11-23 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Bestimmen eines Moments für einen Betrieb eines Roboters unter Verwendung eines Modells und Verfahren zum Einlernen des Modells
DE102022208089A1 (de) 2022-08-03 2024-02-08 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Steuern eines Roboters

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022203410A1 (de) 2022-04-06 2023-10-12 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005081445A (ja) 2003-09-04 2005-03-31 Fanuc Ltd ロボットの干渉領域確認装置
JP2017064910A (ja) 2015-07-31 2017-04-06 ファナック株式会社 ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005199403A (ja) 2004-01-16 2005-07-28 Sony Corp 情動認識装置及び方法、ロボット装置の情動認識方法、ロボット装置の学習方法、並びにロボット装置
JP2006285898A (ja) * 2005-04-05 2006-10-19 Sony Corp 制御装置および方法、並びにプログラム
EP2216145B1 (de) 2009-02-06 2011-06-08 Honda Research Institute Europe GmbH Lernen und Verwendung von Schemata in Robotervorrichtungen
KR20110015765A (ko) 2009-08-10 2011-02-17 삼성전자주식회사 로봇의 경로계획장치 및 그 방법
JP5873629B2 (ja) 2010-12-16 2016-03-01 セイコーエプソン株式会社 ロボットアーム
DE102016009030B4 (de) 2015-07-31 2019-05-09 Fanuc Corporation Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
EP3389955A2 (de) 2015-12-16 2018-10-24 MBL Limited Robotische küche mit einem roboter, einer speicheranordnung und behälter dafür
EP3742347B1 (de) 2016-03-03 2022-11-02 Google LLC Maschinelles tiefes lernverfahren und vorrichtung für robotisches greifen
JP6586243B2 (ja) 2016-03-03 2019-10-02 グーグル エルエルシー ロボットの把持のための深層機械学習方法および装置
JP7145843B2 (ja) 2016-07-18 2022-10-03 ラエル オドナー, ロボットマニピュレータの訓練
JP6640060B2 (ja) 2016-09-27 2020-02-05 株式会社日立製作所 ロボットシステム
JP2018126799A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
CN110248774A (zh) 2017-02-09 2019-09-17 三菱电机株式会社 位置控制装置及位置控制方法
JP6951659B2 (ja) 2017-05-09 2021-10-20 オムロン株式会社 タスク実行システム、タスク実行方法、並びにその学習装置及び学習方法
JP6886869B2 (ja) 2017-06-09 2021-06-16 川崎重工業株式会社 動作予測システム及び動作予測方法
CN110691676B (zh) * 2017-06-19 2023-02-03 谷歌有限责任公司 使用神经网络和几何感知对象表示的机器人抓取预测
JP6608890B2 (ja) * 2017-09-12 2019-11-20 ファナック株式会社 機械学習装置、ロボットシステム及び機械学習方法
US10773382B2 (en) * 2017-09-15 2020-09-15 X Development Llc Machine learning methods and apparatus for robotic manipulation and that utilize multi-task domain adaptation
JP6695843B2 (ja) * 2017-09-25 2020-05-20 ファナック株式会社 装置、及びロボットシステム
WO2021046531A1 (en) * 2019-09-07 2021-03-11 Embodied Intelligence, Inc. Training artificial networks for robotic picking

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005081445A (ja) 2003-09-04 2005-03-31 Fanuc Ltd ロボットの干渉領域確認装置
JP2017064910A (ja) 2015-07-31 2017-04-06 ファナック株式会社 ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022205011A1 (de) 2022-05-19 2023-11-23 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Bestimmen eines Moments für einen Betrieb eines Roboters unter Verwendung eines Modells und Verfahren zum Einlernen des Modells
DE102022208089A1 (de) 2022-08-03 2024-02-08 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Steuern eines Roboters

Also Published As

Publication number Publication date
GB2600843B (en) 2022-11-09
GB2600843A (en) 2022-05-11
US20220168890A1 (en) 2022-06-02
US11511414B2 (en) 2022-11-29
EP3998140A1 (de) 2022-05-18
CN114269524A (zh) 2022-04-01
EP3998140A4 (de) 2022-09-28
CN114269524B (zh) 2023-05-05
WO2021039995A1 (ja) 2021-03-04
GB202200845D0 (en) 2022-03-09

Similar Documents

Publication Publication Date Title
DE112020004135T5 (de) Robotersteuerungsvorrichtung
Quillen et al. Deep reinforcement learning for vision-based robotic grasping: A simulated comparative evaluation of off-policy methods
Mesnard et al. Counterfactual credit assignment in model-free reinforcement learning
Alissandrakis et al. Imitation with ALICE: Learning to imitate corresponding actions across dissimilar embodiments
DE102020209685B4 (de) Verfahren zum steuern einer robotervorrichtung und robotervorrichtungssteuerung
Gonzalez et al. Cuckoo search algorithm for the optimization of type-2 fuzzy image edge detection systems
Enzenberger Evaluation in Go by a neural network using soft segmentation
Duminy et al. Learning a set of interrelated tasks by using a succession of motor policies for a socially guided intrinsically motivated learner
Baum et al. Opening a lockbox through physical exploration
Correia et al. A survey of demonstration learning
Barfuss et al. Modeling the effects of environmental and perceptual uncertainty using deterministic reinforcement learning dynamics with partial observability
Santucci et al. Autonomous selection of the “what” and the “how” of learning: an intrinsically motivated system tested with a two armed robot
Ferreira Multi-bump solutions in dynamic neural fields: analysis and applications
Araki et al. Deep Bayesian nonparametric learning of rules and plans from demonstrations with a learned automaton prior
Jaiswal et al. Using TRPO to control quadruped gait behaviors
Gu et al. Integration of coordination architecture and behavior fuzzy learning in quadruped walking robots
Camarinha-Matos Plan generation in robotics: State of the art and perspectives
Sariel et al. Robust task execution through experience-based guidance for cognitive robots
Yu et al. Active feedback learning with rich feedback
Blouw et al. A scaleable spiking neural model of action planning.
Huyck et al. CABots and other neural agents
Boopathy Towards More Generalizable Neural Networks via Modularity
Dillmann Machine learning strategies for knowledge acquisition in autonomous robot systems
Casado Robert Performing a piece collecting task with a Q-Learning agent
McCarthy et al. Consistency and Variation in Reasoning About Physical Assembly

Legal Events

Date Code Title Description
R012 Request for examination validly filed