DE102020114583A1 - Rechenvorrichtung, Maschinenlernverfahren und Speichermedium - Google Patents

Rechenvorrichtung, Maschinenlernverfahren und Speichermedium Download PDF

Info

Publication number
DE102020114583A1
DE102020114583A1 DE102020114583.7A DE102020114583A DE102020114583A1 DE 102020114583 A1 DE102020114583 A1 DE 102020114583A1 DE 102020114583 A DE102020114583 A DE 102020114583A DE 102020114583 A1 DE102020114583 A1 DE 102020114583A1
Authority
DE
Germany
Prior art keywords
target objects
computing device
mobile manipulator
manipulator
machine learning
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
DE102020114583.7A
Other languages
English (en)
Other versions
DE102020114583B4 (de
Inventor
Taro Takahashi
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Publication of DE102020114583A1 publication Critical patent/DE102020114583A1/de
Application granted granted Critical
Publication of DE102020114583B4 publication Critical patent/DE102020114583B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • 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
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • 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/40298Manipulator on vehicle, wheels, mobile
    • 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/40364Position of robot platform as additional task
    • 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/40411Robot assists human in non-industrial environment like home or office

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Electromagnetism (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Multimedia (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Manipulator (AREA)

Abstract

Eine Rechenvorrichtung (300) führt Berechnungen zur Steuerung von Operationen eines mobilen Manipulators bzw. Roboters (100) durch, der so konfiguriert ist, dass er eine Mehrzahl von Zielobjekten mit einem Manipulator (150) hält und die Zielobjekte an vorbestimmte Positionen bewegt. Die Rechenvorrichtung (300) umfasst einen Speicher (320) und eine Recheneinrichtung (330). Der Speicher (320) speichert ein trainiertes Maschinenlernmodell, das durch Eingabe einer Mehrzahl von Trainingsdatensätzen trainiert wird, die Kombinationen von Zustandsvariablen und Teilen von Bestimmungsdaten sind, die den Zustandsvariablen zugeordnet sind. Die Trainingsdatensätze werden im Voraus erfasst. Die Recheneinrichtung (330) gibt durch Eingeben der Zustandsvariablen in das aus dem Speicher (320) ausgelesene trainierte Maschinenlernmodell ein Bewegungszielobjekt aus, das zum aktuellen Zeitpunkt an eine vorbestimmte Position bewegt werden soll. Die Zustandsvariable enthält relative Positionen der Zielobjekte zu einem bestimmten Abschnitt des mobilen Manipulators (100). Die Bestimmungsdaten, die der Zustandsvariablen zugeordnet sind, stellen das Bewegungszielobjekt dar.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf eine Rechenvorrichtung, die so konfiguriert ist, dass sie Berechnungen zur Steuerung von Vorgängen eines mobilen Manipulators bzw. Roboters durchführt, der eine Mehrzahl von Bewegungszielobjekten mit einem Manipulator hält und die Bewegungszielobjekte an vorbestimmte Positionen bewegt. Die vorliegende Erfindung bezieht sich auch auf ein Maschinenlernverfahren und ein Speichermedium.
  • Beschreibung des Standes der Technik
  • Es ist ein Roboter bekannt, der so konfiguriert ist, dass er ein Zielobjekt mit einem Manipulator hält. Die japanische Patentanmeldung JP 2018 - 051 664 A offenbart zum Beispiel eine Technik, bei der der Roboter an einer vorbestimmten Position fixiert wird und ein Maschinenlernmodell die Sequenz lernt, in der der Manipulator eine Mehrzahl von Objekten hält, die in einem vorbestimmten Bereich auf einem Förderband platziert sind.
  • KURZFASSUNG DER ERFINDUNG
  • Die in der JP 2018 - 051 664 A offenbarte Technik wird unter der Voraussetzung bereitgestellt, dass der Roboter an der vorgegebenen Position fixiert ist. Daher kann diese Technik nicht auf einen mobilen Manipulator angewendet werden, in dem ein mit einem Manipulator versehener Roboter beweglich ist.
  • Die vorliegende Erfindung hat zur Aufgabe, eine Rechenvorrichtung zu schaffen, die in der Lage ist, aus Zielobjekten in geeigneter Weise ein optimales Bewegungszielobjekt zu bestimmen, das von einem mobilen Manipulator zum aktuellen Zeitpunkt an eine vorbestimmte Position bewegt werden soll.
  • Eine Rechenvorrichtung gemäß einem ersten Aspekt der vorliegenden Erfindung ist konfiguriert, um eine Berechnung zur Steuerung von Vorgängen eines mobilen Manipulators durchzuführen, der konfiguriert ist, um eine Mehrzahl von Zielobjekten mit einem Manipulator zu halten und die Zielobjekte an vorbestimmte Positionen zu bewegen. Die Rechenvorrichtung umfasst einen Speicher und einen Rechner bzw. eine Recheneinrichtung. Der Speicher ist so konfiguriert, dass er ein trainiertes Maschinenlernmodell speichert, das durch Eingeben einer Mehrzahl von Trainingsdatensätzen trainiert wird, die Kombinationen von Zustandsvariablen und Teilen von Bestimmungsdaten sind, die den Zustandsvariablen zugeordnet sind. Die Trainingsdatensätze werden im Voraus erfasst. Die Recheneinrichtung ist so konfiguriert, dass sie durch Eingeben der Zustandsvariablen in das aus dem Speicher ausgelesene trainierte Maschinenlernmodell ein Bewegungszielobjekt ausgibt, das zum aktuellen Zeitpunkt an eine vorbestimmte Position bewegt werden soll. Die Zustandsvariable enthält relative Positionen der Zielobjekte zu einem bestimmten Abschnitt des mobilen Manipulators. Die der Zustandsvariablen zugeordneten Bestimmungsdaten stellen das Bewegungszielobjekt dar.
  • Die Zustandsvariable des Maschinenlernmodells, die die relativen Positionen der Zielobjekte zum bestimmten Abschnitt des mobilen Manipulators enthält, zeigt die Positionsbeziehungen der Zielobjekte relativ zum bestimmten Abschnitt des mobilen Manipulators. Auf diese Weise ist es möglich, von den Zielobjekten ein optimales Bewegungszielobjekt zu bestimmen, das von dem mobilen Manipulator, dessen absolute Position geändert wird, zum aktuellen Zeitpunkt an eine vorbestimmte Position bewegt werden soll.
  • In dem oben beschriebenen Aspekt kann die Zustandsvariable eine relative Position eines Hindernisses zum bestimmten Abschnitt des mobilen Manipulators enthalten. Selbst wenn die relativen Positionen der Zielobjekte zu dem bestimmten Abschnitt des mobilen Manipulators gleich sind, variiert die Leichtigkeit der Bewegung zu einer vorbestimmten Position abhängig davon, ob zwischen dem mobilen Manipulator und jedem Zielobjekt ein Hindernis vorhanden ist. Mit der Zustandsvariablen, die die relative Position des Hindernisses zu dem bestimmten Abschnitt des mobilen Manipulators enthält, kann ein optimales Bewegungszielobjekt, das zum aktuellen Zeitpunkt zu einer vorbestimmten Position bewegt werden soll, besser bestimmt werden.
  • In dem oben beschriebenen Aspekt können die relativen Positionen der Zielobjekte zu dem bestimmten Abschnitt des mobilen Manipulators und die relative Position des Hindernisses zu dem bestimmten Abschnitt des mobilen Manipulators durch Daten auf einer Karte oder auf einem Bitmap-Bild dargestellt werden. Auf diese Weise können benachbarte Hindernisse im Prozess des Trainierens des Maschinenlernmodells kollektiv als eine Einheit behandelt werden.
  • In dem oben beschriebenen Aspekt kann eine Ausgabe des Bewegungszielobjekts aus Daten bestehen, die eine relative Position des Bewegungszielobjekts zu dem bestimmten Abschnitt des mobilen Manipulators auf der Karte oder auf dem Bitmap-Bild darstellen. Daher kann die Ausgabe in einer standardisierten Weise dargestellt werden. Es wird daher erwartet, dass die Lernleistung des Maschinenlernmodells weiter verbessert wird. Wenn die Daten, die die relative Position des Bewegungszielobjekts zum bestimmten Abschnitt des mobilen Manipulators darstellen, auf der Karte oder auf dem Bitmap-Bild ausgegeben werden, ist es nicht notwendig, das Bewegungszielobjekt erneut zu identifizieren. Es wird daher erwartet, dass der Rechenaufwand reduziert wird.
  • In dem oben beschriebenen Aspekt kann die Zustandsvariable Weglängen von Routen von dem mobilen Manipulator zu den Zielobjekten enthalten. Die Weglängen werden auf Basis eines Routenplans erhalten. Selbst wenn die relativen Positionen der Zielobjekte zu dem bestimmten Abschnitt des mobilen Manipulators gleich sind, variiert die Leichtigkeit der Bewegung zu einer vorbestimmten Position in Abhängigkeit von den Weglängen der Routen vom mobilen Manipulator zu den Zielobjekten. Auf diese Weise kann ein optimales Bewegungszielobjekt, das zum aktuellen Zeitpunkt an eine vorbestimmte Position bewegt werden soll, geeigneter bestimmt werden.
  • In dem oben beschriebenen Aspekt kann die Zustandsvariable Weglängen von Routen von den Zielobjekten zu vorbestimmten, den Zielobjekten zugeordneten Positionen enthalten. Selbst wenn die relativen Positionen der Zielobjekte zu dem bestimmten Abschnitt des mobilen Manipulators gleich sind, variiert die Leichtigkeit der Bewegung zu einer vorbestimmten Position in Abhängigkeit von den Weglängen der Routen von den Zielobjekten zu den vorbestimmten Positionen, die den Zielobjekten zugeordnet sind. Auf diese Weise kann ein optimales Bewegungszielobjekt, das zum aktuellen Zeitpunkt an eine vorbestimmte Position bewegt werden soll, geeigneter bestimmt werden.
  • In dem oben beschriebenen Aspekt können die relativen Positionen der Zielobjekte und des Hindernisses für den bestimmten Abschnitt des mobilen Manipulators Informationen über eine Schwerkraftrichtung enthalten. Wenn ein Hindernis vor einem Zielobjekt für den mobilen Manipulator länger als das Zielobjekt in Schwerkraftrichtung ist, kann der mobile Manipulator das Zielobjekt nicht halten, es sei denn, der mobile Manipulator bewegt sich an eine Position, an der sich das Zielobjekt vor dem Hindernis für den mobilen Manipulator befindet. Wenn ein Hindernis vor einem Zielobjekt für den mobilen Manipulator kürzer als das Zielobjekt in Schwerkraftrichtung ist, kann der mobile Manipulator das Zielobjekt halten, indem er einen oberen Teil des Zielobjekts in Schwerkraftrichtung greift, obwohl sich das Hindernis vor dem Zielobjekt befindet. Wenn die relativen Positionen der Zielobjekte und des Hindernisses für den bestimmten Abschnitt des mobilen Manipulators die Informationen über die Schwerkraftrichtung enthalten, kann ein optimales Bewegungszielobjekt, das zum aktuellen Zeitpunkt an eine vorbestimmte Position bewegt werden soll, besser bestimmt werden.
  • In dem oben beschriebenen Aspekt können die relativen Positionen der Zielobjekte zu dem bestimmten Abschnitt des mobilen Manipulators Informationen über haltbare Bereiche bzw. Haltebereiche für die Zielobjekte enthalten. Selbst wenn die relativen Positionen der Zielobjekte zu dem bestimmten Abschnitt des mobilen Manipulators gleich sind, variiert die Leichtigkeit der Bewegung zu einer vorbestimmten Position abhängig davon, ob sich der haltbare Bereich bzw. Haltebereich für jedes Zielobjekt vor oder hinter dem mobilen Manipulator befindet. Wenn die relativen Positionen der Zielobjekte zu dem bestimmten Abschnitt des mobilen Manipulators die Informationen über die haltbaren Bereiche bzw. Haltebereiche für die Zielobjekte enthalten, kann ein optimales Bewegungszielobjekt, das zum aktuellen Zeitpunkt an eine vorbestimmte Position bewegt werden soll, geeigneter bestimmt werden.
  • Ein Maschinenlernverfahren gemäß einem zweiten Aspekt der vorliegenden Erfindung ist ein Maschinenlernverfahren für ein Maschinenlernmodell, das so konfiguriert ist, dass ein Computer eine Funktion zum Ausgeben eines Bewegungszielobjekts ausführt, das bei einem Vorgang des Haltens einer Mehrzahl von Zielobjekten mit einem Manipulator eines mobilen Manipulators und des Bewegens der Zielobjekte an vorbestimmte Positionen zum aktuellen Zeitpunkt an eine vorbestimmte Position bewegt werden soll. Das Maschinenlernverfahren beinhaltet das Trainieren des Maschinenlernmodells durch Eingeben einer Mehrzahl von Trainingsdatensätzen, die Kombinationen von Zustandsvariablen und Bewegungszielobjekten sind, die zum aktuellen Zeitpunkt an vorbestimmte Positionen zu bewegen sind. Die Zustandsvariablen enthalten jeweils relative Positionen der Zielobjekte zu einem bestimmten Abschnitt des mobilen Manipulators. Die Bewegungszielobjekte werden durch Teile von Bestimmungsdaten dargestellt und sind den Zustandsvariablen zugeordnet. Auf diese Weise kann das Maschinenlernmodell so trainiert werden, dass ein optimales Bewegungszielobjekt, das zum aktuellen Zeitpunkt an eine vorbestimmte Position bewegt werden soll, geeigneter aus der Mehrzahl von Zielobjekten bei dem Vorgang des Haltens der Zielobjekte mit dem Manipulator des mobilen Manipulators und des Bewegens der Zielobjekte an die vorbestimmten Positionen bestimmt wird.
  • Ein nichtflüchtiges Speichermedium gemäß einem dritten Aspekt der vorliegenden Erfindung speichert Anweisungen, die von einem oder mehreren Prozessoren ausführbar sind und die den einen oder die mehreren Prozessoren veranlassen, Funktionen auszuführen. Zu den Funktionen gehört das Trainieren eines Maschinenlernmodells durch Eingeben einer Mehrzahl von im Voraus erfassten Trainingsdatensätzen. Bei den Trainingsdatensätzen handelt es sich um Kombinationen von Zustandsvariablen und Bewegungszielobjekten, die zum aktuellen Zeitpunkt an vorbestimmte Positionen bewegt werden sollen. Die Zustandsvariablen enthalten jeweils relative Positionen einer Mehrzahl von Zielobjekten zu einem bestimmten Abschnitt eines mobilen Manipulators, der konfiguriert ist, um die Zielobjekte mit einem zu halten und die Zielobjekte an vorbestimmte Positionen zu bewegen. Die Bewegungszielobjekte werden durch Teile von Bestimmungsdaten dargestellt und sind den Zustandsvariablen zugeordnet. Zu den Funktionen gehört ferner das Ausgeben des Bewegungszielobjekts durch Eingeben der Zustandsvariablen in das trainierte Maschinenlernmodell. Auf diese Weise kann ein optimales Bewegungszielobjekt, das zum aktuellen Zeitpunkt an eine vorbestimmte Position bewegt werden soll, geeigneter bei dem Vorgang des Haltens der Mehrzahl von Zielobjekten mit dem Manipulator des mobilen Manipulators und des Bewegens der Zielobjekte an die vorbestimmten Positionen bestimmt werden.
  • Gemäß der vorliegenden Erfindung ist es möglich, in geeigneter Weise ein optimales Bewegungszielobjekt zu bestimmen, das zum aktuellen Zeitpunkt durch den mobilen Manipulator an eine vorbestimmte Position bewegt werden soll.
  • Figurenliste
  • Die Merkmale und Vorteile sowie die technische und wirtschaftliche Bedeutung beispielhafter Ausführungsformen der Erfindung werden im Folgenden unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen gleiche Bezugszeichen gleichartige Elemente bezeichnen, hierbei zeigt:
    • 1 eine perspektivische Außenansicht eines mobilen Manipulators, bei dem eine Rechenvorrichtung gemäß einer Ausführungsform Anwendung findet;
    • 2 eine Blockdarstellung, die die Steuerungskonfiguration des mobilen Manipulators veranschaulicht;
    • 3 eine Blockdarstellung, die die Konfiguration der Rechenvorrichtung veranschaulicht;
    • 4 eine schematische Darstellung zur Beschreibung einer Zustandsvariablen eines Maschinenlernmodells;
    • 5 eine schematische Darstellung, die eine Zufallsvariable veranschaulicht, die vorzugsweise in der Zustandsvariablen des Maschinenlernmodells zusammen mit relativen Positionen von Zielobjekten zu einem bestimmten Abschnitt des mobilen Manipulators enthalten sein sollte;
    • 6 eine schematische Darstellung, die eine Zufallsvariable veranschaulicht, die vorzugsweise in der Zustandsvariablen des Maschinenlernmodells zusammen mit den relativen Positionen der Zielobjekte zu dem bestimmten Abschnitt des mobilen Manipulators enthalten sein sollte;
    • 7 eine schematische Darstellung, die eine Zufallsvariable veranschaulicht, die vorzugsweise in der Zustandsvariablen des Maschinenlernmodells zusammen mit den relativen Positionen der Zielobjekte zu dem bestimmten Abschnitt des mobilen Manipulators enthalten sein sollte;
    • 8 eine schematische Darstellung, die ein Verfahren zum Trainieren eines untrainierten neuronalen Netzes (NN) über einen Aufräumvorgang durch überwachtes Lernen detailliert darstellt;
    • 9 eine schematische Darstellung zur Veranschaulichung eines Input/Output-Konzepts eines trainierten NN;
    • 10 ein Flussdiagramm, das eine Prozessabfolge veranschaulicht, die durch die Rechenvorrichtung ausgeführt werden soll; und
    • 11 ein Flussdiagramm, das eine Prozessabfolge veranschaulicht, die vom mobilen Manipulator ausgeführt werden soll.
  • DETAILLIERTE BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • Im Folgenden wird eine Ausführungsform der vorliegenden Erfindung beschrieben. Die anspruchsgemäße Erfindung ist nicht auf die unten beschriebene Ausführungsform beschränkt. Alle in der Ausführungsform beschriebenen Bestandteile sind für die Lösung des Problems nicht wesentlich. Aus Gründen der Klarheit werden einige Teile der folgenden Beschreibung und der Zeichnungen weggelassen oder gegebenenfalls vereinfacht. In den Zeichnungen werden gleichartige Elemente durch die gleichen Bezugszeichen dargestellt, und auf eine redundante Beschreibung wird, soweit erforderlich, verzichtet.
  • Eine Rechenvorrichtung gemäß dieser Ausführungsform führt Berechnungen zur Steuerung von Vorgängen eines mobilen Manipulators durch, der mit einem Manipulator eine Mehrzahl von Zielobjekten an vorbestimmte Positionen, z.B. in einem Haus oder einer Fabrik, bewegt. Der mobile Manipulator ist mit einem Fahrgestell oder dergleichen beweglich. Beispiele für den Vorgang des Bewegens einer Mehrzahl von Zielobjekten an vorbestimmte Positionen mit dem Manipulator umfassen einen Reinigungs- bzw. Aufräumvorgang.
  • Zunächst wird die Struktur des mobilen Manipulators beschrieben, bei dem die Rechenvorrichtung gemäß dieser Ausführungsform Anwendung findet. 1 ist eine perspektivische Außenansicht eines mobilen Manipulators bzw. Roboters 100, bei dem die Rechenvorrichtung gemäß dieser Ausführungsform Anwendung findet. In 1 stellt eine xy-Ebene ein Bewegungsfeld des mobilen Manipulators 100 dar, und eine positive z-Achsenrichtung stellt eine Aufwärtsrichtung dar. Wie in 1 dargestellt, besteht der mobile Manipulator 100 hauptsächlich aus einem Fahrgestell 110, einem Körper 120, einem Roboterarm 130 und einer Roboterhand 140. Das Fahrgestell 110 dient als Bewegungsmechanismus, der so konfiguriert ist, dass er den mobilen Manipulator 100 auf dem Bewegungsfeld bewegt. Der Roboterarm 130 und die Roboterhand 140 bilden einen Manipulator 150.
  • Das Fahrgestell 110 trägt in einem zylindrischen Gehäuse zwei Antriebsräder 111 und eine Lenkrolle 112, um mit dem Bewegungsfeld in Kontakt zu sein. Die beiden Antriebsräder 111 sind so angeordnet, dass ihre Rotationsachsen übereinstimmen. Die Antriebsräder 111 werden unabhängig voneinander durch Motoren (nicht abgebildet) drehend angetrieben. Die Lenkrolle 112 ist ein angetriebenes Rad, das so gelagert ist, dass eine Drehachse, die sich in vertikaler Richtung vom Fahrgestell 110 erstreckt, von einer Drehachse des Rades entfernt liegt. Die Lenkrolle 112 bewegt sich in Verbindung mit einer Bewegungsrichtung des Fahrgestells 110. Zum Beispiel bewegt sich der mobile Manipulator 100 geradeaus, wenn sich die beiden Antriebsräder 111 mit derselben Drehgeschwindigkeit in dieselbe Richtung drehen, und dreht sich um eine vertikale Achse, die durch das Fahrgestell 110 in der Mitte zwischen den beiden Antriebsrädern 111 verläuft, wenn sich die beiden Antriebsräder 111 mit derselben Drehgeschwindigkeit in entgegengesetzte Richtungen drehen.
  • Der Körper 120 trägt den Roboterarm 130 und hat ein Anzeigefeld 123, das eine Benutzerschnittstelle darstellt. Zum Beispiel ist das Anzeigefeld 123 ein Flüssigkristall-Anzeigefeld, das so konfiguriert ist, dass es das Gesicht einer Person oder Informationen bezüglich des mobilen Manipulators 100 anzeigt. Das Anzeigefeld 123 hat auf seiner Anzeigefläche ein Bildschirmtastfeld, um von einem Benutzer eingegebene Anweisungen zu empfangen.
  • Der Körper 120 verfügt über eine Umgebungskamera 121 an einer Position, an der die Umgebungskamera 121 einen weiten Blick auf einen nach vorne gerichteten Umgebungsraum einschließlich eines Arbeitsbereichs des Manipulators 150 bieten kann. Die Umgebungskamera 121 enthält ein Bildgebungselement, wie z.B. einen CMOS-Bildsensor (Complementary Metal-Oxide Semiconductor), und einen Bilddatengenerator. Die Umgebungskamera 121 gibt Bilddaten aus, die durch die Aufnahme eines Bildes des nach vorne gerichteten Umgebungsraumes erzeugt werden. Der Körper 120 enthält eine Steuereinheit 190. Die Steuereinheit 190 enthält einen Controller und einen Speicher, die später beschrieben werden.
  • Der am Körper 120 gelagerte Roboterarm 130 verfügt über eine Mehrzahl von Gliedern, z.B. zwei Glieder, wie in 1 dargestellt. Der Roboterarm 130 kann verschiedene Haltungen einnehmen, indem Aktuatoren angetrieben werden, die an Gelenken 131 vorgesehen sind (z.B. ein Handgelenk, ein Ellbogengelenk und ein Schultergelenk) und die Glieder so miteinander koppeln, dass die Glieder schwenkbar sind. Jedes Gelenk 131 ist mit einem Mechanismus zur Geschwindigkeitsreduzierung ausgestattet. Die Roboterhand 140 ist mit dem vorderen bzw. distalen Ende des Roboterarms 130 verbunden. Die gesamte Roboterhand 140 wird von einem Aktuator angetrieben, um sich um eine Drehachse parallel zur Ausfahrrichtung des Gliedes am distalen Ende des Roboterarms 130 zu drehen. Die Roboterhand 140 hat einen ersten Finger 140a und einen zweiten Finger 140b, die von einem am distalen Ende der Roboterhand 140 angeordneten Aktuator angetrieben werden. Der erste Finger 140a und der zweite Finger 140b halten ein Objekt, indem sie das Objekt durch einen Vorgang einklemmen, bei dem sich der erste Finger 140a und der zweite Finger 140b, wie durch gestrichelte Linien angezeigt, näher zueinander bewegen. Der Vorgang des Haltens des Zielobjekts mit der Roboterhand 140 ist nicht auf den Vorgang des Ergreifens des Zielobjekts mit dem ersten Finger 140a und dem zweiten Finger 140b der Roboterhand 140 beschränkt, sondern kann auch einen Vorgang des Einspannens des Zielobjekts mit einem am distalen Ende der Roboterhand 140 anzuordnenden Einspannmechanismus umfassen. Der Vorgang des Haltens des Zielobjekts mit der Roboterhand 140 kann auch einen Vorgang des Haltens des Zielobjekts in einer Zusammenarbeit zwischen Greifen und Einspannen durch die Roboterhand 140 umfassen. Die Roboterhand 140 verfügt über eine Handkamera 141. Die Handkamera 141 enthält ein Bildgebungselement, wie z.B. einen CMOS-Bildsensor, und einen Bilddatengenerator. Die Handkamera 141 gibt Bilddaten aus, die durch die Aufnahme eines Bildes von einem Raum vor der Roboterhand 140 erzeugt werden.
  • 2 ist eine Blockdarstellung, die die Steuerungskonfiguration des mobilen Manipulators 100 veranschaulicht. Zum Beispiel ist ein Controller 200 eine Zentraleinheit (CPU) und ist in der Steuereinheit 190 des Körpers 120 untergebracht (siehe 1). Eine Antriebsradeinheit 210 befindet sich auf dem Fahrgestell 110 (siehe 1) und enthält Antriebsschaltungen und Motoren für den Antrieb der Antriebsräder 111 (siehe 1).
  • Eine Sensoreinheit 220 umfasst verschiedene Sensoren, die so konfiguriert sind, dass sie ein Hindernis während der Bewegung oder einen externen Kontakt erkennen. Die Sensoren sind im Fahrgestell 110 und im Körper 120 verteilt (siehe 1). Der Controller 200 sendet Steuersignale an die Sensoreinheit 220, um verschiedene Sensoren anzusteuern und deren Ausgaben zu erfassen.
  • Wie oben beschrieben, wird die Umgebungskamera 121 zur Beobachtung eines vorwärts gerichteten Umgebungsraumes einschließlich der Arbeitsbereiche des Roboterarms 130 und der Roboterhand 140 verwendet. Die Umgebungskamera 121 erfasst ein Bild als Reaktion auf eine Bildaufnahmeanweisung vom Controller 200. Die Umgebungskamera 121 überträgt die erzeugten Bilddaten an den Controller 200. Wie oben beschrieben, wird die Handkamera 141 zur Beobachtung eines Raums vor der Roboterhand 140 verwendet. Die Handkamera 141 erfasst ein Bild als Reaktion auf eine Bildaufnahmeanweisung vom Controller 200. Die Handkamera 141 überträgt die erzeugten Bilddaten an den Controller 200.
  • Ein Speicher 240 ist ein nichtflüchtiges Speichermedium wie z.B. ein Solid-State-Laufwerk. Der Speicher 240 speichert ein Steuerprogramm zur Steuerung des mobilen Manipulators 100 sowie verschiedene Parameter, Funktionen und Umsetzungstabellen zur Verwendung in der Steuerung.
  • Zusätzlich zu den strukturellen Teilen, die unter Bezugnahme auf 1 beschrieben sind, enthält der Roboterarm 130 einen Aktuator 132, einen Rotationssensor 134 und einen Kraftsensor 133. Der Aktuator 132 treibt jedes Gelenk 131 an. Der Rotationssensor 134 erfasst Informationen über die Rotation jedes Gelenks 131. Der Kraftsensor 133 erfasst eine Betätigungskraft (Drehmoment) jedes Gelenks 131. Beispiele für den Aktuator 132 sind ein Servomotor. Beispiele für den Rotationssensor 134 umfassen einen Impulsgeber. Beispiele für den Kraftsensor 133 umfassen einen Drehmomentsensor, der so konfiguriert ist, dass er das Drehmoment jedes Gelenks 131 erfasst. Die Roboterhand 140 umfasst einen Aktuator 142 und einen Kraftsensor 143. Der Aktuator 142 treibt den ersten Finger 140a und den zweiten Finger 140b an (siehe 1). Der Kraftsensor 143 erfasst eine Betätigungskraft der Roboterhand 140.
  • Der Controller 200 steuert die Drehung der Antriebsräder 111, indem er ein Antriebssignal an die Antriebsradeinheit 210 überträgt. Der Controller 200 steuert den Betrieb des Roboterarms 130 und der Roboterhand 140 auf Basis eines Berechnungsergebnisses einer Rechenvorrichtung 300 gemäß dieser Ausführungsform. Das heißt, der Controller 200 überträgt Antriebssignale an den Aktuator 132 des Roboterarms 130 und den Aktuator 142 der Roboterhand 140 auf Basis des Berechnungsergebnisses aus der Rechenvorrichtung 300 gemäß dieser Ausführungsform.
  • Als nächstes wird die Konfiguration der Rechenvorrichtung 300 dieser Ausführungsform beschrieben. 3 ist eine Blockdarstellung, die die Konfiguration der Rechenvorrichtung 300 veranschaulicht. Wie in 3 dargestellt, besteht die Rechenvorrichtung 300 hauptsächlich aus einer Erfassungseinrichtung 310, einem Speicher 320 und einer Recheneinrichtung 330.
  • Die Erfassungseinrichtung 310 erfasst eine Zustandsvariable und überträgt die Zustandsvariable an die Recheneinrichtung 330. Die Erfassungseinrichtung 310 erfasst die relativen Positionen von Zielobjekten zu einem bestimmten Abschnitt des mobilen Manipulators 100 durch Analyse von Bilddaten, die eine von der Umgebungskamera 121 oder der Handkamera 141 aufgenommene Arbeitsumgebung zeigen (siehe 2). Der bestimmte Abschnitt des mobilen Manipulators 100 kann eine rechnerisch errechnete Position sein, z.B. eine Position des Schwerpunkts oder eine Position der Roboterhand 140, die auf einen Boden projiziert wird. Die Erfassungseinrichtung 310 enthält eine Kommunikationsschnittstelle zur Verbindung mit dem Internet. Beispiele für die Kommunikationsschnittstelle sind eine Einheit für ein drahtloses lokales Netzwerk (WLAN).
  • Der Speicher 320 ist zum Beispiel ein Festplattenlaufwerk und speichert ein trainiertes Maschinenlernmodell. Beispiele für das Maschinenlernmodell umfassen ein neuronales Netz. Das trainierte Maschinenlernmodell (im Folgenden z.B. als „trainiertes NN 320a“ bezeichnet) wird durch Eingeben einer Mehrzahl von Trainingsdatensätzen trainiert, bei denen es sich um Kombinationen von im Voraus erfassten Zustandsvariablen und Teile von Bestimmungsdaten handelt, die den Zustandsvariablen zugeordnet sind. Später wird ein spezifisches Verfahren zum Trainieren des Maschinenlernmodells beschrieben, um das trainierte NN 320a zu erhalten. Zusätzlich zu dem trainierten NN 320a speichert der Speicher 320 verschiedene Softwareprogramme, die von der Recheneinrichtung 330 ausgeführt werden sollen.
  • Die Recheneinrichtung 330 ist z.B. eine CPU und gibt durch Eingeben der von der Erfassungseinrichtung 310 empfangenen Zustandsvariablen in das aus dem Speicher 320 gelesene trainierte NN 320a ein Bewegungszielobjekt aus, das zum aktuellen Zeitpunkt weggeräumt werden soll.
  • Als nächstes wird die Zustandsvariable des Maschinenlernmodells beschrieben. Die folgende Beschreibung erfolgt gegebenenfalls mit Bezug auf 3. 4 ist eine schematische Darstellung zur Beschreibung der Zustandsvariablen des Maschinenlernmodells. In einer Arbeitsumgebungskarte E werden die Zielobjekte durch Kreise dargestellt. Wie durch Pfeile in 4 angedeutet, enthält die Zustandsvariable des Maschinenlernmodells die relativen Positionen der Zielobjekte zu dem bestimmten Abschnitt des mobilen Manipulators 100 (in 4 durch Kreise dargestellt). Das heißt, eine relative Position eines Zielobjekts zu einem bestimmten Abschnitt P1 des mobilen Manipulators 100 wird durch einen Vektor vom bestimmten Abschnitt P1 des mobilen Manipulators 100 zum Zielobjekt dargestellt. Die Zustandsvariable, die die relativen Positionen der Zielobjekte zu dem bestimmten Abschnitt P1 des mobilen Manipulators 100 enthält, zeigt Positionsbeziehungen der Zielobjekte relativ zu dem bestimmten Abschnitt P1 des mobilen Manipulators 100. Somit kann auch im Falle des mobilen Manipulators 100 dieser Ausführungsform, der sich zur Änderung seiner absoluten Position bewegt, ein optimales Bewegungszielobjekt, das zum aktuellen Zeitpunkt an eine vorbestimmte Position bewegt werden soll, in geeigneter Weise bestimmt werden.
  • Die relativen Positionen der Zielobjekte zu dem bestimmten Abschnitt des mobilen Manipulators 100 können Informationen über Haltebereiche bzw. haltbare Bereiche für die Zielobjekte enthalten. Die Informationen über die Haltebereiche für die Zielobjekte werden durch Erkennen der Zielobjekte aus Bilddaten gewonnen, die die von der Umgebungskamera 121 oder der Handkamera 141 fotografierte Arbeitsumgebung zeigen. Auch wenn die relativen Positionen der Zielobjekte zu dem bestimmten Abschnitt des mobilen Manipulators 100 gleich sind, hängt die Leichtigkeit des Aufräumvorgangs davon ab, ob sich der Haltebereich für jedes Zielobjekt vor oder hinter dem mobilen Manipulator 100 befindet. Wenn die relativen Positionen der Zielobjekte zu dem bestimmten Abschnitt P1 des mobilen Manipulators 100 die Informationen über die Haltebereiche für die Zielobjekte enthalten, kann ein optimales Bewegungszielobjekt, das zum aktuellen Zeitpunkt an eine vorbestimmte Position bewegt werden soll, geeigneter bestimmt werden.
  • 5 ist eine schematische Darstellung, die eine Zufallsvariable bzw. Variable (EN: variate) zeigt, die vorzugsweise in der Zustandsvariablen des Maschinenlernmodells zusammen mit den relativen Positionen der Zielobjekte zu dem bestimmten Abschnitt des mobilen Manipulators 100 enthalten sein sollte. In der Arbeitsumgebungskarte E sind die Zielobjekte durch Kreise und die Hindernisse durch eine schraffierte Fläche dargestellt. Die Hindernisse können durch Punktgruppeninformationen dargestellt werden, die in der schraffierten Fläche enthalten sind. Wie durch Pfeile in 5 angedeutet, enthält die Zustandsvariable des Maschinenlernmodells vorzugsweise relative Positionen der Hindernisse zu dem bestimmten Abschnitt P1 des mobilen Manipulators 100. Die relative Position jedes Hindernisses zu dem bestimmten Abschnitt P1 des mobilen Manipulators 100 wird durch einen Vektor vom bestimmten Abschnitt P1 des mobilen Manipulators 100 zu einer Punktgruppe des Hindernisses dargestellt. Selbst wenn die relativen Positionen der Zielobjekte zum bestimmten Abschnitt P1 des mobilen Manipulators 100 gleich sind, hängt die Leichtigkeit des Aufräumvorgangs davon ab, ob zwischen dem mobilen Manipulator 100 und jedem Zielobjekt ein Hindernis vorhanden ist. Auf diese Weise kann ein optimales Bewegungszielobjekt, das zum aktuellen Zeitpunkt an eine vorbestimmte Position bewegt werden soll, besser bestimmt werden.
  • Die relativen Positionen der Zielobjekte und der Hindernisse für den bestimmten Abschnitt des mobilen Manipulators 100 können Informationen über eine Schwerkraftrichtung enthalten. Das heißt, die relativen Positionen jedes Zielobjekts und jedes Hindernisses zum bestimmten Abschnitt des mobilen Manipulators 100 werden durch dreidimensionale Vektoren dargestellt. Wenn ein Hindernis vor einem Zielobjekt für den mobilen Manipulator 100 länger als das Zielobjekt in Schwerkraftrichtung ist, kann der mobile Manipulator 100 das Zielobjekt nicht halten, es sei denn, der mobile Manipulator 100 bewegt sich an eine Position, an der sich das Zielobjekt vor dem Hindernis für den mobilen Manipulator 100 befindet. Wenn ein Hindernis vor einem Zielobjekt für den mobilen Manipulator 100 in Schwerkraftrichtung kürzer als das Zielobjekt ist, kann der mobile Manipulator 100 das Zielobjekt halten, indem er einen oberen Teil des Zielobjekts in Schwerkraftrichtung greift, obwohl sich das Hindernis vor dem Zielobjekt befindet. Auf diese Weise kann ein optimales Bewegungszielobjekt, das zum aktuellen Zeitpunkt an eine vorbestimmte Position bewegt werden soll, besser bestimmt werden.
  • Die relativen Positionen der Zielobjekte zu dem bestimmten Abschnitt des mobilen Manipulators 100 und die relativen Positionen der Hindernisse zu dem bestimmten Abschnitt des mobilen Manipulators 100 werden vorzugsweise durch Daten auf einer Karte oder auf einem Bitmap-Bild dargestellt. Die Daten repräsentieren in standardisierter Weise einen Zustand, in dem sich irgendwelche Objekte oder Hindernisse in einem umgebenden Raum befinden, oder einen Zustand, in dem kein Objekt vorhanden ist. Daher kann das Lernen unter Berücksichtigung der Positionsbeziehungen in standardisierter Weise erfolgen. Dadurch kann die Lerngenauigkeit erhöht werden.
  • 6 ist eine schematisches Darstellung, die eine Zufallsvariable bzw. Variable veranschaulicht, die vorzugsweise in der Zustandsvariablen des Maschinenlernmodells zusammen mit den relativen Positionen der Zielobjekte zu dem bestimmten Abschnitt des mobilen Manipulators 100 enthalten sein sollte. In der Arbeitsumgebungskarte E sind die Zielobjekte durch Kreise und die Hindernisse durch eine schraffierte Fläche dargestellt. Wie durch gestrichelte Linien in 6 angedeutet, enthält die Zustandsvariable des Maschinenlernmodells vorzugsweise Weglängen der Routen vom mobilen Manipulator 100 zu den Zielobjekten. Die Weglängen der Routen vom mobilen Manipulator 100 zu den Zielobjekten werden auf der Grundlage eines Routenplans ermittelt. Der Routenplan kann mit Hilfe eines bekannten Verfahrens, wie z.B. einem rapidly-exploring random tree (RRT), erstellt werden. Selbst wenn die relativen Positionen der Zielobjekte zum bestimmten Abschnitt P1 des mobilen Manipulators 100 gleich sind, variiert die Einfachheit des Aufräumvorgangs abhängig von den Weglängen der Routen vom mobilen Manipulator 100 zu den Zielobjekten. Auf diese Weise kann ein optimales Bewegungszielobjekt, das zum aktuellen Zeitpunkt an eine vorbestimmte Position bewegt werden soll, besser bestimmt werden.
  • 7 ist eine schematische Darstellung, die eine Zufallsvariable bzw. Variable veranschaulicht, die vorzugsweise in der Zustandsvariablen des Maschinenlernmodells zusammen mit den relativen Positionen der Zielobjekte zu dem bestimmten Abschnitt des mobilen Manipulators 100 enthalten sein sollte. In der Arbeitsumgebungskarte E werden die Zielobjekte durch Kreise dargestellt, und Unterbringungspositionen, die vorgegebene Positionen sind, werden durch Dreiecke dargestellt. Wie durch gestrichelte Linien in 7 angedeutet, enthält die Zustandsvariable des Maschinenlernmodells vorzugsweise Weglängen der Routen von den Zielobjekten zu den mit den Zielobjekten verbundenen Unterbringungspositionen. Selbst wenn die relativen Positionen der Zielobjekte zu dem bestimmten Abschnitt P1 des mobilen Manipulators 100 gleich sind, variiert die Leichtigkeit des Aufräumvorgangs in Abhängigkeit von den Weglängen der Routen von den Zielobjekten zu den mit den Zielobjekten verbundenen Unterbringungspositionen. Auf diese Weise kann ein optimales Bewegungszielobjekt, das zum aktuellen Zeitpunkt an eine vorbestimmte Position bewegt werden soll, besser bestimmt werden. 7 zeigt einen Fall, in dem die Zielobjekte jeweils an den nächstgelegenen Unterbringungspositionen untergebracht sind. Alternativ kann für jedes Zielobjekt eine Unterbringungspositionen C1, C2, C3 oder C4 bestimmt werden.
  • Die unter Bezugnahme auf 4 bis 7 beschriebenen Zustandsvariablen können gegebenenfalls kombiniert werden.
  • Als nächstes wird ein spezifisches Verfahren zum Trainieren des Maschinenlernmodells beschrieben, um das trainierte NN 320a zu erhalten. Die folgende Beschreibung erfolgt bei Bedarf unter Bezugnahme auf 2 für die Steuerungskonfiguration des mobilen Manipulators 100 und 3 für die Konfiguration der Rechenvorrichtung 300.
  • 8 ist eine schematische Darstellung, die das Verfahren zum Trainieren eines untrainierten NN 320b über den Aufräumvorgang durch überwachtes Lernen detailliert beschreibt. In diesem Fall handelt es sich bei dem Verfahren zum Trainieren eines untrainierten Maschinenlernmodells (im Folgenden z.B. als „untrainiertes NN 320b“ bezeichnet) über den Aufräumvorgang um überwachtes Lernen. Das überwachte Lernen ist ein Verfahren, bei dem, wenn im Voraus korrekte Antworten für Lernzieldaten bestimmt werden, eine große Anzahl von Trainingsdatensätzen, die Kombinationen der Lernzieldaten (Input) und der korrekten Antworten (Output) sind, im Voraus bereitgestellt werden, um das Maschinenlernmodell über die Beziehungen zwischen Input bzw. Eingabe und Output bzw. Ausgabe zu trainieren.
  • Wie in 8 dargestellt, wird ein Trainingsdatensatz 160, der eine Kombination aus einer Zustandsvariablen 161 (Input bzw. Eingabe) und Bestimmungsdaten 162 (Output bzw. Ausgabe) ist, dem untrainierten NN 320b zur Verfügung gestellt. Wie oben beschrieben, enthält die Zustandsvariable relative Positionen von Zielobjekten zu dem bestimmten Abschnitt des mobilen Manipulators 100, und die Bestimmungsdaten 162 stellen ein Bewegungszielobjekt dar, das zum aktuellen Zeitpunkt weggeräumt werden soll. Eine Mehrzahl von Trainingsdatensätzen 160 wird im Voraus erfasst. Auf diese Weise lernt das untrainierte NN 320b die Beziehungen zwischen den Zustandsvariablen 161 und den Teilen der Bestimmungsdaten 162 in dem Aufräumvorgang. Durch Erhöhen einer Erfassungsanzahl „n“ der Trainingsdatensätze 160 kann die Bestimmungsgenauigkeit des trainierten NN 320a erhöht werden.
  • 9 ist eine schematische Darstellung, die ein Input/Output-Konzept des trainierten NN 320a veranschaulicht. Wie in 9 dargestellt, werden die relativen Positionen (in 9 durch durchgehende Pfeile dargestellt) der Zielobjekte (in 9 durch Kreise dargestellt) zum bestimmten Abschnitt P1 des mobilen Manipulators 100 in der Arbeitsumgebungskarte E in das trainierte NN 320a eingegeben. Dann gibt das trainierte NN 320a ein Bewegungszielobjekt aus, das zum aktuellen Zeitpunkt weggeräumt werden soll (in 9 durch eine Kugel dargestellt). Das trainierte NN 320a kann zusammen mit dem aktuell wegzuräumenden Bewegungszielobjekt Zielobjekte ausgeben, die zum aktuellen Zeitpunkt weggeräumt werden können (dargestellt durch Doppelkreise in 9) oder Zielobjekte, die zum aktuellen Zeitpunkt nicht weggeräumt werden sollen (dargestellt durch ein „X“ in 9).
  • Das Bewegungszielobjekt, das zum aktuellen Zeitpunkt an eine vorbestimmte Position bewegt werden soll, wird vorzugsweise in Form von Daten ausgegeben, die eine relative Position des Bewegungszielobjekts zu dem bestimmten Abschnitt des mobilen Manipulators 100 auf einer Karte oder auf einem Bitmap-Bild darstellen. Daher kann die Ausgabe in einer standardisierten Weise dargestellt werden. Es wird daher erwartet, dass die Lernleistung des Maschinenlernmodells weiter verbessert wird. Wenn die Daten, die die relative Position des Bewegungszielobjekts zu dem bestimmten Abschnitt des mobilen Manipulators 100 darstellen, auf der Karte oder auf dem Bitmap-Bild ausgegeben werden, ist es nicht notwendig, das Bewegungszielobjekt erneut zu identifizieren. Es wird also erwartet, dass der Rechenaufwand reduziert wird.
  • Als nächstes wird eine Prozessabfolge beschrieben, die durch die Rechenvorrichtung 300 ausgeführt werden soll. 10 ist ein Flussdiagramm, das die von der Recheneinheit 300 auszuführende Prozessabfolge veranschaulicht. Wie in 10 dargestellt, erfasst die Erfassungseinrichtung 310 zunächst eine Zustandsvariable, die die relativen Positionen von Zielobjekten zu dem bestimmten Abschnitt des mobilen Manipulators 100 enthält, indem sie Bilddaten analysiert, die eine von der Umgebungskamera 121 o.ä. fotografierte Arbeitsumgebung zeigen, und überträgt die Zustandsvariable an die Recheneinrichtung 330 (Schritt S1). Dann liest die Recheneinrichtung 330 das trainierte NN 320a aus dem Speicher 320 (Schritt S2). Dann wird die erfasste Zustandsvariable (die die relativen Positionen der Zielobjekte zu dem bestimmten Abschnitt des mobilen Manipulators 100 enthält) in das gelesene trainierte NN 320a eingegeben, und das trainierte NN 320a gibt ein Bewegungszielobjekt aus, das zum aktuellen Zeitpunkt an eine vorbestimmte Position bewegt werden soll (Schritt S3). Dann wird die Abfolge der Verarbeitungsvorgänge beendet.
  • Als nächstes wird eine Prozessabfolge beschrieben, die vom mobilen Manipulator 100 ausgeführt werden soll. 11 ist ein Flussdiagramm, das die durch den mobilen Manipulator 100 auszuführende Prozessabfolge veranschaulicht. Wie in 11 dargestellt, wird ein Zielobjekt, das an eine vorbestimmte Position bewegt werden soll, zunächst unter Verwendung des trainierten NN bestimmt (Schritt S101). Diese Verarbeitung entspricht der mit Bezug auf 10 beschriebenen Verarbeitung durch die Rechenvorrichtung 300. Dann werden ein Halteplan und ein Routenplan für das ermittelte Bewegungszielobjekt erstellt (Schritt S102). Der Halteplan und der Routenplan können mit Hilfe einer bekannten Technik erstellt werden.
  • Im Anschluss an Schritt S102 wird bestimmt, ob Lösungen für den Halteplan und den Routenplan erhalten werden (Schritt S103). Wenn in Schritt S103 festgestellt wird, dass Lösungen für den Halteplan und den Routenplan erhalten werden, wird das ermittelte Bewegungszielobjekt gehalten und bewegt (Schritt S104). Wenn in Schritt S103 festgestellt wird, dass für den Halteplan und den Routenplan keine Lösungen erhalten werden, kehrt die Verarbeitung zu Schritt S101 zurück.
  • Im Anschluss an Schritt S104 wird festgestellt, ob das ermittelte Bewegungszielobjekt erfolgreich an die vorbestimmte Position bewegt wurde (Schritt S105). Wenn in Schritt S105 festgestellt wird, dass das ermittelte Bewegungszielobjekt nicht erfolgreich an die vorbestimmte Position bewegt wurde, wird festgestellt, ob das ermittelte Bewegungszielobjekt von der ursprünglichen Position an eine unbeabsichtigte Position bewegt wurde (Schritt S106). Wenn in Schritt S106 festgestellt wird, dass das ermittelte Bewegungszielobjekt nicht von der ursprünglichen Position zu einer unbeabsichtigten Position bewegt wurde, kehrt die Verarbeitung zu Schritt S101 zurück. Wenn in Schritt S106 festgestellt wird, dass das ermittelte Bewegungszielobjekt von der ursprünglichen Position an eine unbeabsichtigte Position bewegt wurde, wird das ermittelte Bewegungszielobjekt vorübergehend vom Bewegungsziel ausgeschlossen (Schritt S107), und die Verarbeitung kehrt zu Schritt S101 zurück.
  • Wenn in Schritt S105 festgestellt wird, dass das ermittelte Bewegungszielobjekt erfolgreich an der vorgegebenen Position untergebracht ist, wird das vorübergehend ausgeschlossene Zielobjekt in das Bewegungsziel aufgenommen (Schritt S108). Dann wird festgestellt, ob alle Zielobjekte an die vorbestimmten Positionen bewegt wurden (Schritt S109). Wenn in Schritt S109 festgestellt wird, dass ein Zielobjekt nicht an die vorbestimmte Position bewegt wurde, kehrt die Verarbeitung zu Schritt S101 zurück. Wenn in Schritt S109 festgestellt wird, dass alle Zielobjekte an die vorbestimmten Positionen bewegt werden, wird die Verarbeitung beendet.
  • Wie oben beschrieben, kann die Recheneinrichtung 300 in geeigneter Weise ein optimales Bewegungszielobjekt bestimmen, das zum aktuellen Zeitpunkt an eine vorbestimmte Position bewegt werden soll, auch wenn der mobile Manipulator beweglich ist.
  • Die vorliegende Erfindung ist nicht auf die oben beschriebene Ausführungsform beschränkt, sondern kann gegebenenfalls modifiziert werden, ohne von der Idee der vorliegenden Erfindung abzuweichen. Beispielsweise wird in der oben beschriebenen Ausführungsform der beispielhafte Fall beschrieben, bei dem der Vorgang des Bewegens einer Mehrzahl von Zielobjekten an vorbestimmte Positionen mit dem Manipulator der Aufräumvorgang ist. Die vorliegende Erfindung ist nicht auf diesen Fall beschränkt. Zum Beispiel kann der Vorgang des Bewegens einer Mehrzahl von Zielobjekten an vorbestimmte Positionen mit dem Manipulator ein Vorbereitungsvorgang sein, der das Anordnen von Objekten an einem bestimmten Ort beinhaltet, während die Objekte von einem oder mehreren Orten aufgenommen werden.
  • In der oben beschriebenen Ausführungsform wird die Rechenvorrichtung getrennt vom Roboter bereitgestellt, sie kann aber im mobilen Manipulator montiert werden.
  • Ein Maschinenlernmodell wie ein rekurrierendes neuronales Netz (RNN) oder ein Sequenz-zu-Sequenz-Modell, das Zeitreihendaten verarbeitet, kann in der oben beschriebenen Ausführungsform in der Rechenvorrichtung verwendet werden. In der oben beschriebenen Ausführungsform wird das Beispiel beschrieben, in dem das untrainierte NN durch beaufsichtigtes Lernen über den Vorgang des Bewegens einer Mehrzahl von Zielobjekten an vorbestimmte Positionen mit dem Manipulator trainiert wird. Die vorliegende Erfindung ist nicht auf diesen Fall beschränkt. Das untrainierte NN kann z.B. durch Verstärkungslernen oder andere Maschinenlernverfahren über den Vorgang des Bewegens einer Mehrzahl von Zielobjekten an vorbestimmte Positionen mit dem Manipulator trainiert werden.
  • Die Bestandteile, die durch die Rechenvorrichtung der oben beschriebenen Ausführungsform implementiert werden, können beispielsweise auch implementiert werden, indem ein Computer (einer oder mehrere Prozessoren) veranlasst wird, ein Steuerprogramm auszuführen. Genauer gesagt können die Bestandteile implementiert werden, indem der Computer veranlasst wird, das in einem Speicher (nicht abgebildet) gespeicherte Steuerprogramm in einen Hauptspeicher (nicht abgebildet) zu laden und das Steuerprogramm im Hauptspeicher auszuführen. Die Bestandteile müssen nicht unbedingt durch ein Software-Programm implementiert werden, sondern können durch jede beliebige Kombination aus Hardware, Firmware und Software implementiert werden.
  • Das oben beschriebene Programm kann dem Computer zugeführt werden, indem es auf verschiedenen Arten von nichtflüchtigen computerlesbaren Medien gespeichert wird. Das nichtflüchtige computerlesbare Medium umfasst verschiedene Arten von konkreten Speichermedien. Beispiele für das nichtflüchtige computerlesbare Medium sind magnetische Speichermedien (z.B. eine Floppy-Disk bzw. Diskette, ein Magnetband und ein Festplattenlaufwerk), magnetooptische Speichermedien (z.B. eine magnetooptische Diskette), einen Compact-Disc-Festspeicher (CD-ROM), eine beschreibbare Compact-Disc (CD-R), eine wiederbeschreibbare Compact-Disc (CD-R/W) und Halbleiterspeicher (zum Beispiel ein mask-ROM, ein programmierbares ROM (PROM), ein löschbares PROM (EPROM), ein Flash-ROM und einen Speicher mit wahlfreiem Zugriff (RAM)). Das Programm kann dem Computer über verschiedene Arten von flüchtigen computerlesbarem Medium zugeführt werden. Beispiele für ein flüchtiges computerlesbares Medium sind ein elektrisches Signal, ein optisches Signal und eine elektromagnetische Welle. Das Programm kann dem Computer durch das flüchtige computerlesbare Medium über ein elektrisches Kabel, eine optische Faser oder andere verdrahtete Kommunikationswege oder über drahtlose Kommunikationswege zugeführt werden.
  • 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 2018051664 A [0002, 0003]

Claims (10)

  1. Rechenvorrichtung (300), die konfiguriert ist, um eine Berechnung zur Steuerung von Vorgängen eines mobilen Manipulators (100) durchzuführen, der konfiguriert ist, um eine Mehrzahl von Zielobjekten mit einem Manipulator (150) zu halten und die Zielobjekte an vorbestimmte Positionen zu bewegen, wobei die Rechenvorrichtung (300) aufweist: einen Speicher (320), der so konfiguriert ist, dass er ein trainiertes Maschinenlernmodell speichert, das durch Eingeben einer Mehrzahl von Trainingsdatensätzen trainiert wird, die Kombinationen von Zustandsvariablen und Teilen von Bestimmungsdaten sind, die den Zustandsvariablen zugeordnet sind, wobei die Trainingsdatensätze im Voraus erfasst werden; und eine Recheneinrichtung (330), die so konfiguriert ist, dass sie durch Eingeben der Zustandsvariablen in das aus dem Speicher (320) ausgelesene trainierte Maschinenlernmodell ein Bewegungszielobjekt ausgibt, das zum aktuellen Zeitpunkt an eine vorbestimmte Position bewegt werden soll, wobei die Zustandsvariable relative Positionen der Zielobjekte zu einem bestimmten Abschnitt des mobilen Manipulators (100) enthält, und die Bestimmungsdaten, die der Zustandsvariablen zugeordnet sind, das Bewegungszielobjekt darstellen.
  2. Rechenvorrichtung (300) nach Anspruch 1, wobei die Zustandsvariable eine relative Position eines Hindernisses zu dem bestimmten Abschnitt des mobilen Manipulators (100) enthält.
  3. Rechenvorrichtung (300) nach Anspruch 1 oder 2, wobei die relativen Positionen der Zielobjekte zu dem bestimmten Abschnitt des mobilen Manipulators (100) und die relative Position des Hindernisses zu dem bestimmten Abschnitt des mobilen Manipulators (100) durch Daten auf einer Karte oder auf einem Bitmap-Bild dargestellt werden.
  4. Rechenvorrichtung (300) nach Anspruch 3, wobei eine Ausgabe des Bewegungszielobjekts Daten sind, die eine relative Position des Bewegungszielobjekts zu dem bestimmten Abschnitt des mobilen Manipulators (100) auf der Karte oder auf dem Bitmap-Bild darstellen.
  5. Rechenvorrichtung (300) nach Anspruch 1, wobei die Zustandsvariable Weglängen von Routen von dem mobilen Manipulator (100) zu den Zielobjekten enthält, wobei die Weglängen auf Basis eines Routenplans erhalten werden.
  6. Rechenvorrichtung (300) nach Anspruch 5, wobei die Zustandsvariable Weglängen von Routen von den Zielobjekten zu vorbestimmten, den Zielobjekten zugeordneten Positionen enthält.
  7. Rechenvorrichtung (300) nach Anspruch 2, wobei die relativen Positionen der Zielobjekte und des Hindernisses zu dem bestimmten Abschnitt des mobilen Manipulators (100) Informationen über eine Schwerkraftrichtung enthalten.
  8. Rechenvorrichtung (300) nach Anspruch 1, wobei die relativen Positionen der Zielobjekte zu dem bestimmten Abschnitt des mobilen Manipulators (100) Informationen über Haltebereiche für die Zielobjekte enthalten.
  9. Maschinenlernverfahren für ein Maschinenlernmodell, das so konfiguriert ist, dass ein Computer eine Funktion zum Ausgeben eines Bewegungszielobjekts ausführt, das bei einem Vorgang des Haltens einer Mehrzahl von Zielobjekten mit einem Manipulator (150) eines mobilen Manipulators (100) und des Bewegens der Zielobjekte an vorbestimmte Positionen zum aktuellen Zeitpunkt an eine vorbestimmte Position bewegt werden soll, wobei das Maschinenlernverfahren aufweist Trainieren des Maschinenlernmodells durch Eingeben einer Mehrzahl von Trainingsdatensätzen, die Kombinationen von Zustandsvariablen und Bewegungszielobjekten sind, die zum aktuellen Zeitpunkt an vorbestimmte Positionen bewegt werden sollen, wobei die Zustandsvariablen jeweils relative Positionen der Zielobjekte zu einem bestimmten Abschnitt des mobilen Manipulators (100) enthalten, wobei die Bewegungszielobjekte durch Teile von Bestimmungsdaten dargestellt und den Zustandsvariablen zugeordnet sind.
  10. Nichtflüchtiges Speichermedium, das Anweisungen speichert, die von einem oder mehreren Prozessoren ausführbar sind und die den einen oder die mehreren Prozessoren veranlassen, Funktionen auszuführen, die aufweisen: Trainieren eines Maschinenlernmodells durch Eingeben einer Mehrzahl von im Voraus erfassten Trainingsdatensätzen, wobei die Trainingsdatensätze Kombinationen von Zustandsvariablen und Bewegungszielobjekten sind, die zum aktuellen Zeitpunkt an vorbestimmte Positionen bewegt werden sollen, wobei die Zustandsvariablen jeweils relative Positionen einer Mehrzahl von Zielobjekten zu einem bestimmten Abschnitt eines mobilen Manipulators (100) enthalten, der konfiguriert ist, um die Zielobjekte mit einem Manipulator (150) zu halten und die Zielobjekte an vorbestimmte Positionen zu bewegen, wobei die Bewegungszielobjekte durch Teile von Bestimmungsdaten dargestellt und den Zustandsvariablen zugeordnet sind; und Ausgeben des Bewegungszielobjekts durch Eingeben der Zustandsvariablen in das trainierte Maschinenlernmodell.
DE102020114583.7A 2019-07-09 2020-06-02 Rechenvorrichtung, Maschinenlernverfahren und Speichermedium Active DE102020114583B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-127781 2019-07-09
JP2019127781A JP7207207B2 (ja) 2019-07-09 2019-07-09 演算装置、機械学習方法及び制御プログラム

Publications (2)

Publication Number Publication Date
DE102020114583A1 true DE102020114583A1 (de) 2021-01-14
DE102020114583B4 DE102020114583B4 (de) 2022-03-17

Family

ID=74059360

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020114583.7A Active DE102020114583B4 (de) 2019-07-09 2020-06-02 Rechenvorrichtung, Maschinenlernverfahren und Speichermedium

Country Status (4)

Country Link
US (1) US11633852B2 (de)
JP (1) JP7207207B2 (de)
CN (1) CN112207813B (de)
DE (1) DE102020114583B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021202759A1 (de) 2021-03-22 2022-09-22 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Trainieren eines neuronalen Netzwerks zum Steuern eines Roboters

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6881268B2 (ja) * 2017-12-05 2021-06-02 トヨタ自動車株式会社 把持装置、把持判定方法および把持判定プログラム
US20220188625A1 (en) * 2020-12-11 2022-06-16 Poyen Hsieh Method and computer implemented system for generating layout plan using neural network
US20230271319A1 (en) * 2022-02-28 2023-08-31 Denso Wave Incorporated Method of generating a learning model for transferring fluid from one container to another by controlling robot arm based on a machine-learned learning model, and a method and system for weighing the fluid
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

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3956063B2 (ja) * 1997-03-07 2007-08-08 株式会社安川電機 移動物体のハンドリング方法
JP4303411B2 (ja) 2000-10-06 2009-07-29 セイコーインスツル株式会社 トラッキング方法、及びトラッキングシステム
JP4100239B2 (ja) 2003-04-22 2008-06-11 松下電工株式会社 障害物検出装置と同装置を用いた自律移動ロボット、障害物検出方法、及び障害物検出プログラム
JP4066922B2 (ja) 2003-09-19 2008-03-26 株式会社デンソーウェーブ ロボットの停止箇所決定方法及びロボットの停止箇所決定装置
JP4646943B2 (ja) 2004-07-13 2011-03-09 パナソニック株式会社 ロボット
US8140188B2 (en) 2008-02-18 2012-03-20 Toyota Motor Engineering & Manufacturing North America, Inc. Robotic system and method for observing, learning, and supporting human activities
WO2010045272A1 (en) 2008-10-14 2010-04-22 Honda Motor Co., Ltd. Smoothed sarsa: reinforcement learning for robot delivery tasks
EP2216145B1 (de) * 2009-02-06 2011-06-08 Honda Research Institute Europe GmbH Lernen und Verwendung von Schemata in Robotervorrichtungen
WO2010134603A1 (ja) * 2009-05-22 2010-11-25 関東自動車工業株式会社 作業支援ロボットシステム
CN103517789B (zh) * 2011-05-12 2015-11-25 株式会社Ihi 运动预测控制装置和方法
JP5908350B2 (ja) * 2012-06-21 2016-04-26 本田技研工業株式会社 行動制御システム
US9384443B2 (en) 2013-06-14 2016-07-05 Brain Corporation Robotic training apparatus and methods
US9579789B2 (en) * 2013-09-27 2017-02-28 Brain Corporation Apparatus and methods for training of robotic control arbitration
US9630317B2 (en) * 2014-04-03 2017-04-25 Brain Corporation Learning apparatus and methods for control of robotic devices via spoofing
US9272417B2 (en) 2014-07-16 2016-03-01 Google Inc. Real-time determination of object metrics for trajectory planning
JP2016101612A (ja) 2014-11-27 2016-06-02 トヨタ自動車株式会社 物品搬送用ロボット
US9475198B2 (en) 2014-12-22 2016-10-25 Qualcomm Incorporated System and method for dynamic robot manipulator selection
JP6240689B2 (ja) 2015-07-31 2017-11-29 ファナック株式会社 人の行動パターンを学習する機械学習装置、ロボット制御装置、ロボットシステム、および機械学習方法
JP6514166B2 (ja) * 2016-09-16 2019-05-15 ファナック株式会社 ロボットの動作プログラムを学習する機械学習装置,ロボットシステムおよび機械学習方法
JP6514171B2 (ja) 2016-09-27 2019-05-15 ファナック株式会社 最適な物品把持経路を学習する機械学習装置、及び機械学習方法
JP6453922B2 (ja) * 2017-02-06 2019-01-16 ファナック株式会社 ワークの取り出し動作を改善するワーク取り出し装置およびワーク取り出し方法
US10464212B2 (en) 2017-03-28 2019-11-05 Amazon Technologies, Inc. Method and system for tele-operated inventory management system
JP6490132B2 (ja) 2017-03-31 2019-03-27 ファナック株式会社 ロボットの制御装置、機械学習装置及び機械学習方法
JP6951659B2 (ja) * 2017-05-09 2021-10-20 オムロン株式会社 タスク実行システム、タスク実行方法、並びにその学習装置及び学習方法
JP6680730B2 (ja) * 2017-08-08 2020-04-15 ファナック株式会社 制御装置及び学習装置
CN108238396B (zh) * 2017-11-07 2019-04-12 北京翰宁智能科技有限责任公司 移动搬运机器人基于平板显示卡牌的动作命令学习方法
US11465279B2 (en) * 2018-11-29 2022-10-11 X Development Llc Robot base position planning
CN109816725B (zh) * 2019-01-17 2023-03-14 合肥哈工慧拣智能科技有限公司 一种基于深度学习的单目相机物体位姿估计方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021202759A1 (de) 2021-03-22 2022-09-22 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Trainieren eines neuronalen Netzwerks zum Steuern eines Roboters

Also Published As

Publication number Publication date
DE102020114583B4 (de) 2022-03-17
US20210008717A1 (en) 2021-01-14
CN112207813B (zh) 2024-05-14
CN112207813A (zh) 2021-01-12
US11633852B2 (en) 2023-04-25
JP7207207B2 (ja) 2023-01-18
JP2021011001A (ja) 2021-02-04

Similar Documents

Publication Publication Date Title
DE102020114583B4 (de) Rechenvorrichtung, Maschinenlernverfahren und Speichermedium
DE102010045529B4 (de) Interaktives Robotersteuerungssystem und Verwendungsverfahren
EP3415070B1 (de) System mit mindestens zwei bodenbearbeitungseinrichtungen
DE69812558T2 (de) Roboter System und Methode zum Antreiben eines Roboters
DE112018002565B4 (de) System und Verfahren zum direkten Anlernen eines Roboters
DE102012218297B4 (de) Verfahren zur dynamischen Optimierung einer Robotersteuerschnittstelle
EP2546711B2 (de) Verfahren zum Programmieren eines Roboters
EP3709853B1 (de) Bodenbearbeitung mittels eines autonomen mobilen roboters
EP3532254A1 (de) Verfahren zur kollisionsfreien bewegungsplanung
DE102013101543A1 (de) Steuerverfahren für reinigungsroboter
DE102013113370A1 (de) Roboteraufgabensteuerungskomponente mit erweiterbarer programmierumgebung
WO2021069129A1 (de) Vorrichtung und verfahren zum steuern einer robotervorrichtung
DE102021120633A1 (de) Verfahren und system zur industrieroboter-bewegungssteuerung
DE102015100419A1 (de) Verfahren und Anordnung zum Bearbeiten von Bodenflächen
DE102014224193B4 (de) Verfahren und Vorrichtung zur Fehlerhandhabung eines Roboters
EP2922384A1 (de) Autonomes fortbewegungsgerät
DE102020214633A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102021204697A1 (de) Verfahren zum Steuern einer Robotervorrichtung
WO2019096479A1 (de) Verfahren und mittel zum betreiben einer roboteranordnung
DE102020204768A1 (de) Unbemanntes Transferrobotersystem
DE102020200165B4 (de) Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters
EP2353800B1 (de) Verfahren und Vorrichtung zur Überwachung eines Manipulatorraumes
DE112020004852T5 (de) Steuerungsverfahren, steuerungsvorrichtung, robotersystem, programm und aufzeichnungsmedium
DE102018109329A1 (de) Mehrgliedrige aktuierte Kinematik, vorzugsweise Roboter, besonders vorzugsweise Knickarmroboter
DE102022207847A1 (de) Verfahren zum Steuern eines Roboters zum Manipulieren, insbesondere Aufnehmen, eines Objekts

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
R020 Patent grant now final
R084 Declaration of willingness to licence