DE102020214633A1 - Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung - Google Patents

Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung Download PDF

Info

Publication number
DE102020214633A1
DE102020214633A1 DE102020214633.0A DE102020214633A DE102020214633A1 DE 102020214633 A1 DE102020214633 A1 DE 102020214633A1 DE 102020214633 A DE102020214633 A DE 102020214633A DE 102020214633 A1 DE102020214633 A1 DE 102020214633A1
Authority
DE
Germany
Prior art keywords
robot
model
picking
pick
configurations
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
DE102020214633.0A
Other languages
English (en)
Inventor
Meng Guo
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102020214633.0A priority Critical patent/DE102020214633A1/de
Priority to US17/455,122 priority patent/US20220161424A1/en
Priority to CN202111383915.1A priority patent/CN114516060A/zh
Publication of DE102020214633A1 publication Critical patent/DE102020214633A1/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/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • 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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39298Trajectory learning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40116Learn by operator observation, symbiosis, show, watch
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40499Reinforcement learning algorithm
    • 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/40514Computed robot optimized configurations to train ann, output path in real time
    • 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/40607Fixed camera to observe workspace, object, workpiece, global
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Artificial Intelligence (AREA)
  • Manipulator (AREA)

Abstract

Eine Vorrichtung und ein Verfahren zum Steuern einer Robotervorrichtung mit einem Steuerungsmodell werden offenbart, wobei das Steuerungsmodell ein Robotertrajektorie-Modell, das für das Aufnehmen ein Hidden-Semi-Markov-Modell mit ein oder mehreren Anfangszuständen aufweist, ein Vorbedingungsmodell, das für jeden Anfangszustand des Robotertrajektorie-Modells eine Wahrscheinlichkeitsverteilung von Roboterkonfigurationen vor dem Ausführen des Aufnehmens aufweist, und ein Objektaufnehmmodell für ein Tiefenbild eine Mehrzahl von Aufnehm-Roboterkonfigurationen mit einer jeweils zugeordneten Erfolgswahrscheinlichkeit ausgibt, aufweist, und wobei das Verfahren aufweist: Ermitteln eines Tiefenbildes, das ein oder mehrere Objekte zeigt; für mindestens ein zu bewegendes Objekt der ein oder mehreren Objekte, Ermitteln ein oder mehrerer Aufnehm-Roboterkonfigurationen mit einer Erfolgswahrscheinlichkeit oberhalb eines vordefinierten Schwellenwerts mittels des Objektaufnehmmodells unter Verwendung des Tiefenbildes; für die Aufnehm-Roboterkonfiguration der ein oder mehreren Aufnehm-Roboterkonfigurationen mit der höchsten Wahrscheinlichkeit gemäß dem Vorbedingungsmodell, Ermitteln einer Robotertrajektorie für das Aufnehmen mittels des Robotertrajektorie-Modells; und Steuern der Robotervorrichtung zum Ausführen des Aufnehmens des Objekts mittels der ermittelten Robotertrajektorie.

Description

  • Verschiedene Ausführungsbeispiele betreffen allgemein eine Vorrichtung und ein Verfahren zum Steuern einer Robotervorrichtung.
  • Robotervorrichtungen können zum Beispiel in der Fertigung, in der Produktion, in der Wartung, im Haushalt, in der Medizintechnik, etc. eingesetzt werden. Hierbei können die Robotervorrichtungen beispielsweise Objekte aufnehmen und bewegen. Dabei kann ein Roboter-Steuerungsmodell ermitteln, wie die Robotervorrichtung ein Objekt aufnimmt und bewegt (z.B. unter Verwendung von ein oder mehrerer Roboterarme). Allerdings kann dies von anderen Objekten, die sich in der Nähe des aufzunehmenden Objekts befinden, und von geometrischen Konfigurationen der Robotervorrichtung abhängig sein. Zum Beispiel kann ein Objekt eine Trajektorie eines Roboterarms behindern. Daher kann es erforderlich sein, dass ein Roboter-Steuerungsmodell Steuerungsbefehle für ein aufzunehmendes (und optional ferner zu bewegendes) Objekt derart ermittelt, dass sowohl andere Objekte als auch geometrische Bedingungen der Robotervorrichtung berücksichtigt werden.
  • Die Veröffentlichung „Learning ambidextrous robot grasping policies“ von J. Mahler et al., in Science Robotics, 2019, (im Folgenden als Referenz [1] bezeichnet) beschreibt ein Modell (Dexterity Network (Dex-Net)), welches anhand eines Tiefenbildes, das mehrere Objekte zeigt, eine Greifkonfiguration eines Roboterarms ermittelt, um ein Objekt der mehreren Objekte zu greifen.
  • Die Dissertation „Programming by demonstrations on Riemannian manifolds“ von M. Zeestraten, 2017, (im Folgenden als Referenz [2] bezeichnet) beschreibt ein Ermitteln von Aufgabenparametern für eine Roboter-Pose.
  • Ferner kann es vorteilhaft sein, dem Roboter-Steuerungsmodell Roboterfähigkeiten aus Demonstrationen zu vermitteln.
  • Die Veröffentlichung „Optimizing sequences of probabilistic manipulation skills learned from demonstration“ von L. Schwenkel, M. Guo, und M. Bürger, in Conference on Robot Learning, 2019, (im Folgenden als Referenz [3] bezeichnet) beschreibt einen Fertigkeitszentrierten Ansatz, bei dem jede Fertigkeit unabhängig unter verschiedenen Szenarien gelernt wird.
  • Das Verfahren und die Vorrichtung mit den Merkmalen der unabhängigen Ansprüche 1 (erstes Beispiel) und 13 (fünfzehntes Beispiel) ermöglichen, Roboter-Konfigurationen und eine Robotertrajektorie für ein aufzunehmendes Objekt derart zu ermitteln, dass dynamische Bedingungen (z.B. sowohl andere Objekte als auch geometrische Bedingungen) der Robotervorrichtung berücksichtigt werden. Zum Beispiel kann ein Roboter-Steuerungsmodell an geometrische und andere Bedingungen einer Robotervorrichtung angepasst (z.B. individualisiert) werden. Insbesondere können das Verfahren und die Vorrichtung eine auszuführende Roboterkonfiguration in Verbindung mit einer auszuführenden Robotertrajektorie unter Verwendung eines trainierten Steuerungsmodells bereitstellen. Ferner werden ein Verfahren und eine Vorrichtung bereitstellt, mittels denen dem Steuerungsmodell Roboterfähigkeiten aus Demonstrationen vermittelt werden können.
  • Eine Robotervorrichtung kann jede Art von computergesteuerter Vorrichtung sein, wie beispielsweise ein Roboter (z.B. ein Fertigungsroboter, ein Wartungsroboter, ein Haushaltsroboter, ein Medizinroboter, etc.), ein Fahrzeug (z.B. ein autonomes Fahrzeug), ein Haushaltsgerät, eine Produktionsmaschine, ein persönlicher Assistent, ein Zugangs-Steuerungs-System etc.
  • Das gemäß dem ersten Beispiel erzeugte Steuerungsmodell berücksichtigt zum Beispiel einerseits die Zusammenhänge eines zu bewegenden Objekts zu anderen Objekten sowie andererseits die geometrischen Bedingungen, welche einer Bewegung der Robotervorrichtung (z.B. eines Roboterarms) zugrunde liegen. Anschaulich wird derart die Bewegungsfähigkeit der Robotervorrichtung berücksichtigt. Anschaulich werden derart dynamische Bedingungen der Robotervorrichtung berücksichtigt.
  • Das Robotertrajektorie-Modell und das Vorbedingungsmodell können unter Verwendung von Demonstrationen zum Durchführen des Aufnehmens eines Objekts trainiert werden. Das in diesem Absatz beschriebene Merkmal in Kombination mit dem ersten Beispiel bildet ein zweites Beispiel.
  • Mittels dem aus Demonstrationen gelernten Robotertrajektorie-Modell und Vorbedingungsmodell kann eine Robotertrajektorie mit geringem rechentechnischen Aufwand ermittelt werden.
  • Das Objektaufnehmmodell kann unter Verwendung einer Vielzahl von Trainings-Tiefenbildern trainiert werden, wobei jedes Trainings-Tiefenbild mindestens ein Objekt einer Vielzahl von Objekten zeigen kann. Das Trainieren kann aufweisen: für jedes Trainings-Tiefenbild der Vielzahl von Trainings-Tiefenbildern, Simulieren eines mehrmaligen Aufnehmens des mindestens einen Objekts und Ermitteln, ob das jeweilige Aufnehmen des mindestens einen Objekts erfolgreich ist oder nicht, als Belohnung, wobei jedes Aufnehmen des mindestens einen Objekts einer jeweiligen Aufnehm-Roboterkonfiguration zugeordnet ist; und Trainieren des Objektaufnehmmodells unter Verwendung der Vielzahl von Trainings-Tiefenbildern, der Belohnungen und der Aufnehm-Roboterkonfigurationen derart, dass das trainierte Objektaufnehmmodell, in Reaktion auf eine Eingabe eines Tiefenbilds hin, eine Mehrzahl von Aufnehm-Roboterkonfigurationen mit einer jeweils zugeordneten Erfolgswahrscheinlichkeit ausgibt. Die in diesem Absatz beschriebenen Merkmale in Kombination mit dem ersten Beispiel oder dem zweiten Beispiel bilden ein drittes Beispiel.
  • Anschaulich kann derart mittels des trainierten Objektaufnehmmodells eine Vorauswahl an Aufnehm-Roboterkonfigurationen mit einer hohen erwarteten Erfolgswahrscheinlichkeit ermittelt werden.
  • Das Ermitteln, ob ein Aufnehmen erfolgreich ist oder nicht, als Belohnung kann aufweisen: Ermitteln einer vorgegebenen maximalen Belohnung, falls das Aufnehmen erfolgreich ist; und Ermitteln einer vorgegebenen minimalen Belohnung, falls das Aufnehmen nicht erfolgreich ist. Die in diesem Absatz beschriebenen Merkmale in Kombination mit dem dritten Beispiel bilden ein viertes Beispiel.
  • Jedes Aufnehmen eines Objekts kann unter Verwendung des Robotertrajektorie-Modells und des Vorbedingungsmodells simuliert werden. Die in diesem Absatz beschriebenen Merkmale in Kombination mit dem dritten Beispiel oder dem vierten Beispiel bilden ein fünftes Beispiel.
  • Dadurch können die dynamischen Bedingungen der Robotervorrichtung (z.B. Zusammenhänge von Objekten in einem Arbeitsbereich der Robotervorrichtung, z.B. geometrische Bedingungen eines Roboterarms der Robotervorrichtung, etc.) bei dem Trainieren des Objektaufnehmmodells berücksichtigt werden, wodurch eine Genauigkeit der mittels des trainierten Objektaufnehmmodells ausgegebenen Erfolgswahrscheinlichkeiten verbessert werden kann.
  • Das Verfahren kann ferner aufweisen: Ermitteln, ob das Ausführen des Aufnehmens des Objekts durch die Robotervorrichtung erfolgreich ist oder nicht, wobei eine vorgegebene maximale Belohnung ermittelt wird, falls das Ausführen des Aufnehmens erfolgreich ist, und wobei vorgegebene minimale Belohnung ermittelt wird, falls das Ausführen des Aufnehmens nicht erfolgreich ist; und zusätzliches Trainieren des Objektaufnehmmodells unter Verwendung des ermittelten Tiefenbilds, der Aufnehm-Roboterkonfiguration, für die die Robotertrajektorie ermittelt wird, und der ermittelten Belohnung. Die in diesem Absatz beschriebenen Merkmale in Kombination mit einem oder mehreren des ersten Beispiels bis dem fünften Beispiel bilden ein sechstes Beispiel.
  • Dadurch kann das Objektaufnehmmodell zum Beispiel während des Betriebs der Robotervorrichtung zusätzlich an andere bzw. neue Umstände (z.B. andere bzw. neue Objekte, z.B. geometrische Bedingungen aufgrund anderer bzw. zusätzlicher Roboterarme) angepasst werden.
  • Das Steuerungsmodell kann ferner zum Steuern der Robotervorrichtung zum Bewegen eines aufgenommenen Objekts eingerichtet sein. Das Robotertrajektorie-Modell kann für das Bewegen ein Hidden-Semi-Markov-Modell mit ein oder mehreren Anfangszuständen und ein oder mehreren Endzuständen aufweisen. Das Vorbedingungsmodell kann für jeden Anfangszustand des dem Bewegen zugeordneten Robotertrajektorie-Modells eine Wahrscheinlichkeitsverteilung von Roboterkonfigurationen vor dem Ausführen des Bewegens aufweisen. Das Steuerungsmodell kann ferner ein Endbedingungsmodell aufweisen, wobei das Endbedingungsmodell für jeden Endzustand des dem Aufnehmen zugeordneten Robotertrajektorie-Modells eine Wahrscheinlichkeitsverteilung von Roboterkonfigurationen nach dem Ausführen des Aufnehmens und für jeden Endzustand des dem Bewegen zugeordneten Robotertrajektorie-Modells eine Wahrscheinlichkeitsverteilung von Roboterkonfigurationen nach dem Ausführen des Bewegens aufweisen. Das Verfahren kann ferner aufweisen: Ermitteln einer Roboterkonfiguration nach dem Ausführen des Aufnehmens des Objekts gemäß dem Endbedingungsmodell; Ermitteln einer Robotertrajektorie für das Bewegen des Objekts mittels des Robotertrajektorie-Modells; und Steuern der Robotervorrichtung zum Ausführen des Bewegens des Objekts mittels der ermittelten Robotertrajektorie. Die in diesem Absatz beschriebenen Merkmale in Kombination mit einem oder mehreren des ersten Beispiels bis dem sechsten Beispiel bilden ein siebtes Beispiel.
  • Dadurch kann bei der Auswahl der Aufnehm-Roboterkonfiguration das anschließende Bewegen (z.B. ein Bewegen in eine Ziel-Konfiguration und/oder Ziel-Position) berücksichtigt werden. Zum Beispiel können derart die geometrischen Bedingungen und/oder andere Objekte im Arbeitsbereich der Robotervorrichtung sowohl beim Aufnehmen des Objekts als auch beim Bewegen des Objekts für die Auswahl der Aufnehm-Roboterkonfiguration berücksichtigt werden.
  • Das Robotertrajektorie-Modell, das Vorbedingungsmodell und das Endbedingungsmodell können unter Verwendung von Demonstrationen zum Durchführen des Aufnehmens eines Objekts und Demonstrationen zum Durchführen des Bewegens eines Objekts trainiert werden. Die in diesem Absatz beschriebenen Merkmale in Kombination mit dem siebten Beispiel bilden ein achtes Beispiel.
  • Mittels dem aus Demonstrationen gelernten Robotertrajektorie-Modell, Vorbedingungsmodell und Endbedingungsmodell kann eine Robotertrajektorie mit geringem rechentechnischen Aufwand ermittelt werden.
  • Das Objektaufnehmmodell kann unter Verwendung einer Vielzahl von Trainings-Tiefenbildern trainiert werden, wobei jedes Trainings-Tiefenbild mindestens ein Objekt einer Vielzahl von Objekten zeigen kann. Das Trainieren kann aufweisen: für jedes Trainings-Tiefenbild der Vielzahl von Trainings-Tiefenbildern, Simulieren eines mehrmaligen Aufnehmens und anschließenden des mindestens einen Objekts und Ermitteln, ob das jeweilige Aufnehmen und anschließende Bewegen des mindestens einen Objekts erfolgreich ist oder nicht, als Belohnung, wobei jedes Aufnehmen des mindestens einen Objekts einer jeweiligen Aufnehm-Roboterkonfiguration zugeordnet ist; und Trainieren des Objektaufnehmmodells unter Verwendung der Vielzahl von Trainings-Tiefenbildern, der Belohnungen und der Aufnehm-Roboterkonfigurationen derart, dass das trainierte Objektaufnehmmodell, in Reaktion auf eine Eingabe eines Tiefenbilds hin, eine Mehrzahl von Aufnehm-Roboterkonfigurationen mit einer jeweils zugeordneten Erfolgswahrscheinlichkeit ausgibt. Die in diesem Absatz beschriebenen Merkmale in Kombination mit dem siebten Beispiel oder dem achten Beispiel bilden ein neuntes Beispiel.
  • Anschaulich kann derart nicht nur das Aufnehmen eines Objektes, sondern auch das anschließende Bewegen des aufgenommenen Objektes bei dem Ermitteln der Mehrzahl von Aufnehm-Roboterkonfigurationen mit den zugeordneten Erfolgswahrscheinlichkeiten berücksichtigt werden. Anschaulich wird damit bei der Erfolgswahrscheinlichkeit auch ein Erfolg des anschließenden Bewegens (z.B. eines Bewegens an einen Zielpunkt) berücksichtigt. Derart kann eine Genauigkeit der ermittelten Erfolgswahrscheinlichkeit signifikant erhöht werden.
  • Das Ermitteln, ob ein Aufnehmen und anschließendes Bewegen erfolgreich ist oder nicht, als Belohnung kann aufweisen: Ermitteln einer vorgegebenen maximalen Belohnung, falls das Aufnehmen und anschließende Bewegen erfolgreich ist; und Ermitteln einer vorgegebenen minimalen Belohnung, falls das Aufnehmen und anschließende Bewegen nicht erfolgreich ist. Die in diesem Absatz beschriebenen Merkmale in Kombination mit dem neunten Beispiel bilden ein zehntes Beispiel.
  • Jedes Aufnehmen und anschließende Bewegen eines Objekts kann unter Verwendung des Robotertrajektorie-Modells, des Vorbedingungsmodells und des Endbedingungsmodells simuliert werden. Die in diesem Absatz beschriebenen Merkmale in Kombination mit dem neunten Beispiel oder dem zehnten Beispiel bilden ein elftes Beispiel.
  • Dadurch können dynamische Bedingungen der Robotervorrichtung (z.B. eines Roboterarms) bei dem Ermitteln von Aufnehm-Roboterkonfigurationen durch das trainierte Objektaufnehmmodell berücksichtigt werden, so dass eine Genauigkeit einer mittels des Objektaufnehmmodells ermittelten Erfolgswahrscheinlichkeit verbessert (z.B. erhöht) wird.
  • Das Verfahren kann ferner aufweisen: Ermitteln, ob das Ausführen des Bewegens des Objekts durch die Robotervorrichtung erfolgreich ist oder nicht, wobei eine vorgegebene maximale Belohnung ermittelt wird, falls das Ausführen des Bewegens erfolgreich ist, und wobei eine vorgegebene minimale Belohnung ermittelt wird, falls das Ausführen des Bewegens nicht erfolgreich ist; und zusätzliches Trainieren des Objektaufnehmmodells unter Verwendung des ermittelten Tiefenbilds, der Aufnehm-Roboterkonfiguration, für die die Robotertrajektorie zum Aufnehmen des Objekts ermittelt wird, und der ermittelten Belohnung. Die in diesem Absatz beschriebenen Merkmale in Kombination mit einem oder mehreren des siebten Beispiels bis dem zehnten Beispiel bilden ein elftes Beispiel.
  • Die Robotervorrichtung kann einen ersten Roboterarm zum Aufnehmen eines Objekts und einen zweiten Roboterarm zum Aufnehmen eines Objekts aufweisen. Das Steuerungsmodell kann für den ersten Roboterarm und den zweiten Roboterarm jeweils ein Robotertrajektorie-Modell, ein Vorbedingungsmodell und ein Objektaufnehmmodell aufweisen. Das Ermitteln ein oder mehrerer Aufnehm-Roboterkonfigurationen mit einer Erfolgswahrscheinlichkeit oberhalb eines vordefinierten Schwellenwerts mittels des Objektaufnehmmodells für mindestens ein zu bewegendes Objekt der ein oder mehreren Objekte unter Verwendung des Tiefenbildes kann aufweisen: für mindestens ein zu bewegendes Objekt der ein oder mehreren Objekte, Ermitteln ein oder mehrerer Aufnehm-Roboterkonfigurationen des ersten Roboterarms mit einer Erfolgswahrscheinlichkeit oberhalb eines vordefinierten Schwellenwerts mittels des dem ersten Roboterarm zugeordneten Objektaufnehmmodells unter Verwendung des Tiefenbildes, und Ermitteln ein oder mehrerer Aufnehm-Roboterkonfigurationen des zweiten Roboterarms mit einer Erfolgswahrscheinlichkeit oberhalb eines vordefinierten Schwellenwerts mittels des dem zweiten Roboterarm zugeordneten Objektaufnehmmodells unter Verwendung des Tiefenbildes. Das Ermitteln der Robotertrajektorie für das Aufnehmen mittels des Robotertrajektorie-Modells für die Aufnehm-Roboterkonfiguration der ein oder mehreren Aufnehm-Roboterkonfigurationen mit der höchsten Wahrscheinlichkeit gemäß dem Vorbedingungsmodell kann aufweisen: Auswählen der Aufnehm-Roboterkonfiguration aus den ein oder mehreren Aufnehm-Roboterkonfigurationen des ersten Roboterarms und den ein oder mehreren Aufnehm-Roboterkonfigurationen des zweiten Roboterarms mit der höchsten Wahrscheinlichkeit gemäß dem jeweils zugeordneten Vorbedingungsmodell und Auswählen des der ausgewählten Aufnehm-Roboterkonfiguration zugeordneten Roboterarms, und Ermitteln einer Robotertrajektorie für das Aufnehmen gemäß der ausgewählten Aufnehm-Roboterkonfiguration mittels des dem ausgewählten Roboterarm zugeordneten Robotertrajektorie-Modells. Das Steuern der Robotervorrichtung zum Ausführen des Aufnehmens des Objekts mittels der ermittelten Robotertrajektorie kann aufweisen: Steuern des ausgewählten Roboterarms der Robotervorrichtung zum Ausführen des Aufnehmens des Objekts mittels der ermittelten Robotertrajektorie. Die in diesem Absatz beschriebenen Merkmale in Kombination mit einem oder mehreren des ersten Beispiels bis dem zwölften Beispiel bilden ein dreizehntes Beispiel.
  • Dadurch können sowohl die dynamischen Bedingungen (z.B. geometrische Bedingungen) beider Roboterarme bei der Auswahl einer Aufnehm-Roboterkonfiguration berücksichtigt werden als auch die Objekte im Arbeitsbereich der beiden Roboterarme. Anschaulich kann derart die Auswahl eines aufzunehmenden Objekts dahingehend verbessert werden, dass eine Wahrscheinlichkeit für ein erfolgreiches Ausführen des Aufnehmens für das ausgewählte Objekt mittels der zugeordneten Aufnehm-Roboterkonfiguration erhöht werden.
  • Das Aufnehmen eines Objekts mittels des ersten Roboterarms kann ein Ansaugen des Objekts aufweisen und/oder das Aufnehmen eines Objekts mittels des zweiten Roboterarms kann ein Greifen des Objekts aufweisen. Die in diesem Absatz beschriebenen Merkmale in Kombination mit dem dreizehnten Beispiel bilden ein vierzehntes Beispiel.
  • Ein Computerprogrammprodukt kann Programminstruktionen speichern, welche, falls sie ausgeführt werden, das Verfahren nach einem oder mehreren des ersten Beispiels bis dem vierzehnten Beispiel ausführen. Das Computerprogrammprodukt mit den in diesem Absatz beschriebenen Merkmalen bildet ein sechzehntes Beispiel.
  • Ein nichtflüchtiges Speichermedium kann Programminstruktionen speichern, welche, falls sie ausgeführt werden, das Verfahren einem oder mehreren des ersten Beispiels bis dem vierzehnten Beispiel ausführen. Das nichtflüchtige Speichermedium mit den in diesem Absatz beschriebenen Merkmalen bildet ein siebzehntes Beispiel.
  • Ein nichtvolatiles Speichermedium kann Programminstruktionen speichern, welche, falls sie ausgeführt werden, das Verfahren einem oder mehreren des ersten Beispiels bis dem vierzehnten Beispiel ausführen. Das nichtvolatile Speichermedium mit den in diesem Absatz beschriebenen Merkmalen bildet ein achtzehntes Beispiel.
  • Ein Computerprogramm kann Instruktionen aufweisen, die bei Ausführung durch einen Prozessor bewirken, dass der Prozessor ein Verfahren gemäß einem oder mehreren des ersten Beispiels bis dem vierzehnten Beispiel durchführt. Das Computerprogramm mit den in diesem Absatz beschriebenen Merkmalen bildet ein neunzehntes Beispiel.
  • Ein Computerlesbares Medium kann Instruktionen speichern, die bei Ausführung durch einen Prozessor bewirken, dass der Prozessor ein Verfahren gemäß einem oder mehreren des ersten Beispiels bis dem vierzehnten Beispiel durchführt. Das Computerlesbare Medium mit den in diesem Absatz beschriebenen Merkmalen bildet ein zwanzigstes Beispiel.
  • Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und in der nachfolgenden Beschreibung näher erläutert.
  • Es zeigen
    • 1 eine beispielhafte Robotervorrichtungsanordnung gemäß verschiedenen Ausführungsformen;
    • 2 ein Steuerungsmodell gemäß verschiedenen Ausführungsformen;
    • 3A ein Ablaufdiagramm zum Steuern einer Robotervorrichtung gemäß verschiedenen Ausführungsformen;
    • 3B bis 3D beispielhafte aufzunehmende Objekte, gemäß verschiedenen Ausführungsformen;
    • 4 ein Ablaufdiagramm eines Lernens aus Demonstrationen gemäß verschiedenen Ausführungsformen;
    • 5 eine Anordnung zum Aufzeichnen von Demonstrationen eines Benutzers gemäß verschiedenen Ausführungsformen;
    • 6 ein Ablaufdiagramm zum Trainieren eines Objektaufnehmmodells gemäß verschiedenen Ausführungsformen;
    • 7 ein Ablaufdiagramm zum zusätzlichen Trainieren eines Objektaufnehmmodells gemäß verschiedenen Ausführungsformen;
    • 8 eine beispielhafte Robotervorrichtungsanordnung mit mehreren Roboterarmen, gemäß verschiedenen Ausführungsformen;
    • 9 ein Ablaufdiagramm zum Steuern einer Robotervorrichtung mit mehreren Roboterarmen, gemäß verschiedenen Ausführungsformen;
    • 10 ein Verfahren zum Steuern einer Robotervorrichtung gemäß verschiedenen Ausführungsformen.
  • In einer Ausführungsform kann ein „Computer“ als jede Art von Logik-implementierender Entität verstanden werden, welche Hardware, Software, Firmware oder eine Kombination davon sein kann. Daher kann in einer Ausführungsform ein „Computer“ eine hartverdrahtete Logikschaltung oder eine programmierbare Logikschaltung, wie beispielsweise ein programmierbarer Prozessor, zum Beispiel ein Mikroprozessor (z.B. ein CISC (Prozessor mit großem Befehlsvorrat) oder ein RISC (Prozessor mit reduziertem Befehlsvorrat)), sein. Ein „Computer“ kann ein oder mehrere Prozessoren aufweisen. Ein „Computer“ kann auch Software sein, die von einem Prozessor implementiert bzw. ausgeführt wird, zum Beispiel jede Art von Computerprogramm, zum Beispiel ein Computerprogramm das einen virtuellen Maschinencode, wie beispielsweise Java, verwendet. Jede andere Art der Implementierung der jeweiligen Funktionen, die im Folgenden ausführlicher beschrieben werden, kann in Übereinstimmung mit einer alternativen Ausführungsform als ein „Computer“ verstanden werden.
  • Beim Steuern von Robotervorrichtungen zum Aufnehmen und Bewegen von Objekten können Roboter-Steuerungsmodelle verwendet werden, um Konfigurationen und Trajektorien der Robotervorrichtung zu ermitteln. Dabei können andere Objekte und geometrische Bedingungen der Robotervorrichtung die Konfigurationen und/oder Trajektorie der Robotervorrichtung einschränken. Verschiedene Ausführungsbeispiele betreffen eine Vorrichtung und ein Verfahren zum Steuern einer Robotervorrichtung, die imstande sind, ein Aufnehmen und Bewegen von Objekten mittels der Robotervorrichtung derart zu steuern, dass sowohl andere Objekte als auch geometrische Bedingungen der Robotervorrichtung berücksichtigt werden. Anschaulich kann derart eine Fehlschlagquote des Aufnehmens und Bewegens von Objekten durch die Robotervorrichtung signifikant verringert werden.
  • 1 zeigt eine Robotervorrichtungsanordnung 100. Die Robotervorrichtungsanordnung 100 kann eine Robotervorrichtung 101 aufweisen. Die in 1 gezeigte und im Folgenden beispielhaft beschriebene Robotervorrichtung 101 stellt zur Veranschaulichung eine beispielhafte Robotervorrichtung dar und kann zum Beispiel einen Industrieroboter in der Form eines Roboterarms zum Bewegen, Montieren oder Bearbeiten eines Werkstücks aufweisen. Es wird darauf hingewiesen, dass die Robotervorrichtung jede Art von computergesteuerter Vorrichtung sein kann, wie beispielsweise ein Roboter (z.B. ein Fertigungsroboter, ein Wartungsroboter, ein Haushaltsroboter, ein Medizinroboter, etc.), ein Fahrzeug (z.B. ein autonomes Fahrzeug), ein Haushaltsgerät, eine Produktionsmaschine, ein persönlicher Assistent, ein Zugangs-Steuerungs-System etc.
  • Die Robotervorrichtung 101 weist Roboterglieder 102, 103, 104 und einen Sockel (oder allgemein eine Halterung) 105 auf, durch die die Roboterglieder 102, 103, 104 getragen werden. Der Begriff „Roboterglied“ bezieht sich auf die beweglichen Teile der Robotervorrichtung 101, deren Betätigung eine physische Interaktion mit der Umgebung ermöglicht, z.B. um eine Aufgabe auszuführen, z.B. um ein oder mehrere Fertigkeiten auszuführen bzw. durchzuführen.
  • Zur Steuerung beinhaltet die Robotervorrichtungsanordnung 100 eine Steuervorrichtung 106, die eingerichtet ist, die Interaktion mit der Umgebung gemäß einem Steuerungsprogramm zu realisieren. Das letzte Element 104 (von dem Sockel 105 aus gesehen) der Roboterglieder 102, 103, 104 wird auch als Endeffektor 104 bezeichnet und kann ein oder mehrere Werkzeuge wie beispielsweise ein Greifwerkzeug oder eine Ansaugvorrichtung (z.B. einen Saugkopf) oder dergleichen beinhalten.
  • Die anderen Roboterglieder 102, 103 (näher am Sockel 105) können eine Positionierungsvorrichtung bilden, so dass zusammen mit dem Endeffektor 104 ein Roboterarm 120 (oder Gelenkarm) mit dem Endeffektor 104 an seinem Ende vorgesehen ist. Der Roboterarm 120 ist ein mechanischer Arm, der ähnliche Funktionen wie ein menschlicher Arm erfüllen kann (möglicherweise mit einem Werkzeug an seinem Ende).
  • Die Robotervorrichtung 101 kann Verbindungselemente 107, 108, 109 beinhalten, die die Roboterglieder 102, 103, 104 miteinander und mit dem Sockel 105 verbinden. Ein Verbindungselement 107, 108, 109 kann ein oder mehrere Gelenke aufweisen, von denen jedes eine Drehbewegung und/oder eine Translationsbewegung (d.h. eine Verschiebung) für zugehörige Roboterglieder relativ zueinander bereitstellen kann. Die Bewegung der Roboterglieder 102, 103, 104 kann mit Hilfe von Stellgliedern eingeleitet werden, die von der Steuervorrichtung 106 gesteuert werden.
  • Der Begriff „Stellglied“ kann als eine Komponente verstanden werden, die geeignet ist, als Reaktion darauf, dass sie angetrieben wird, einen Mechanismus zu beeinflussen. Das Stellglied kann von der Steuervorrichtung 106 ausgegebene Anweisungen (die sogenannte Aktivierung) in mechanische Bewegungen umsetzen. Das Stellglied, z.B. ein elektromechanischer Wandler, kann eingerichtet werden, elektrische Energie als Reaktion auf seine Ansteuerung in mechanische Energie umzuwandeln.
  • Der Begriff „Steuervorrichtung“ (auch als „Steuereinrichtung bezeichnet“) kann als jede Art von logischer Implementierungseinheit verstanden werden, die beispielsweise eine Schaltung und/oder einen Prozessor beinhalten kann, der in der Lage ist, in einem Speichermedium gespeicherte Software, Firmware oder eine Kombination derselben auszuführen, und die Anweisungen, z.B. an ein Stellglied im vorliegenden Beispiel, erteilen kann. Die Steuervorrichtung kann beispielsweise durch Programmcode (z.B. Software) eingerichtet werden, den Betrieb eines Systems, im vorliegenden Beispiel eines Roboters, zu steuern.
  • In dem vorliegenden Beispiel beinhaltet die Steuervorrichtung 106 einen Computer 110 und einen Speicher 111, der Code und Daten speichert, auf deren Grundlage der Computer 110 die Robotervorrichtung 101 steuert. Gemäß verschiedener Ausführungsformen steuert die Steuervorrichtung 106 die Robotervorrichtung 101 auf der Grundlage eines im Speicher 111 gespeicherten Roboter-Steuerungsmodells 112.
  • Gemäß verschiedenen Ausführungsformen kann die Robotervorrichtung 101 (z.B. der Roboterarm 120) eingerichtet sein, ein oder mehrere Objekte 114 aufzunehmen. Gemäß verschiedenen Ausführungsformen kann die Robotervorrichtung 101 (z.B. der Roboterarm 120) eingerichtet sein, ein aufgenommenes Objekt zu bewegen.
  • Gemäß verschiedenen Ausführungsformen kann die Robotervorrichtungsanordnung 100 ein oder mehrere Sensoren aufweisen. Die ein oder mehreren Sensoren können eingerichtet sein, Sensordaten, die einen Zustand der Robotervorrichtung charakterisieren, bereitzustellen. Zum Beispiel können die ein oder mehreren Sensoren einen Bildgebungssensor, wie beispielsweise eine Kamera (z.B. eine Standardkamera, eine Digitalkamera, eine Infrarotkamera, eine Stereokamera, etc.), einen Radar-Sensor, einen LIDAR-Sensor, einen Positionssensor, einen Geschwindigkeitssensor, einen Ultraschallsensor, einen Beschleunigungssensor, einen Drucksensor, etc. aufweisen.
  • Die Robotervorrichtung 101 kann in einem Zustand einer Vielzahl von Zuständen sein. Gemäß verschiedenen Ausführungsformen kann die Robotervorrichtung 101 zu jedem Zeitpunkt in einem derzeitigen Zustand der Vielzahl von Zuständen sein. Der jeweilige Zustand der Vielzahl von Zuständen kann unter Verwendung der von den ein oder mehreren Sensoren bereitgestellten Sensordaten und/oder der Konfiguration der Robotervorrichtung 101 ermittelt werden.
  • Gemäß verschiedenen Ausführungsformen kann weisen die ein oder mehreren Sensoren mindestens eine Tiefenkamera auf. Die Tiefenkamera 113 kann zum Beispiel eingerichtet sein, Tiefenbilder (z.B. RGB-D Bilder), die die ein oder mehreren Objekte 114 zeigen, bereitzustellen.
  • Die Robotervorrichtung 101 kann eingerichtet sein, eine Vielzahl von Fertigkeiten auszuführen. Die Fertigkeiten der Vielzahl von Fertigkeiten können beispielsweise in dem Programmcode der Steuervorrichtung 106 vordefiniert sein. Ein oder mehrere Fertigkeiten der Vielzahl von Fertigkeiten können zum Beispiel eine mechanische Bewegung von ein oder mehreren Robotergliedern 102, 103, 104 aufweisen. Ein oder mehrere Fertigkeiten der Vielzahl von Fertigkeiten können zum Beispiel eine Aktion des Endeffektors (z.B. einem Greifen, z.B. einem Lösen, etc.) aufweisen. Gemäß verschiedenen Ausführungsformen kann eine in einem derzeitigen Zustand der Robotervorrichtung 101 durchgeführte Fertigkeit zu einem resultierenden Zustand der Vielzahl von Zuständen der Robotervorrichtung 101 führen.
  • Das Roboter-Steuerungsmodell 112 kann eingerichtet sein, für ein Tiefenbild, das die ein oder mehreren Objekte 114 zeigt, eine Roboterkonfiguration und eine Robotertrajektorie zum Aufnehmen (und optional ferner zum Bewegen) eines Objektes der ein oder mehreren Objekte 114 zu ermitteln. Die Steuervorrichtung 106 kann eingerichtet sein, unter Verwendung des Roboter-Steuerungsmodells 112 die Robotervorrichtung 101 zum Ausführen des Aufnehmens des Objektes mittels der ermittelten Robotertrajektorie zu steuern.
  • Ein „Aufnehmen eines Objekts“, wie hierin verwendet, kann ein derartiges Kontaktieren des Objekts sein, dass das Objekt infolge einer Bewegung der Robotervorrichtung 101 (z.B. des Roboterarms 120) bewegt werden kann. Das Aufnehmen kann von der Art des Endeffektors 104 abhängig sein. Zum Beispiel kann der Endeffektor 104 ein Greifwerkzeug aufweisen und das Aufnehmen eines Objekts kann ein Greifen des Objekts sein. Zum Beispiel kann der Endeffektor 104 eine Ansaugvorrichtung (z.B. einen Saugkopf) aufweisen und das Aufnehmen eines Objekts kann ein an Saugen des Objekts sein.
  • Gemäß verschiedenen Ausführungsformen kann das Roboter-Steuerungsmodell 112 erzeugt (z.B. gelernt, z.B. trainiert) werden, während die Robotervorrichtung 101 außer Betrieb ist. Gemäß verschiedenen Ausführungsformen kann das erzeugte Roboter-Steuerungsmodell 112 während des Betriebs der Robotervorrichtung 101 verwendet werden, um von der Robotervorrichtung 101 auszuführende Fertigkeiten zu ermitteln. Gemäß verschiedenen Ausführungsformen kann das erzeugte Roboter-Steuerungsmodell 112 während des Betriebs der Robotervorrichtung 101 zusätzlich trainiert werden.
  • 2 zeigt ein Steuerungsmodell 200 gemäß verschiedenen Ausführungsformen. Das Steuerungsmodell 200 kann zum Beispiel als Roboter-Steuerungsmodell 112 und/oder als ein Teil des Steuerungsmodells 112 verwendet werden.
  • Die Steuervorrichtung 106 kann eingerichtet sein zum Steuern einer Robotervorrichtung zum Ausführen einer Fertigkeit. Zur Veranschaulichung wird im Folgenden das Steuern der Robotervorrichtung 101 zum Ausführen einer Aufnehmen-Fertigkeit, z.B. zum Aufnehmen eines Objekts, beschrieben. Es wird darauf hingewiesen, dass andere Robotervorrichtungen verwendet werden können und dass andere Fertigkeiten, wie beispielsweise ein Bewegen von aufgenommenen Objekten, ausgeführt werden können.
  • Gemäß verschiedenen Ausführungsformen kann das Steuerungsmodell 200 ein Objektaufnehmmodell 202 aufweisen. Das Objektaufnehmmodell 202 kann eingerichtet sein, in Reaktion auf eine Eingabe eines Tiefenbilds hin, eine Mehrzahl von Aufnehm-Roboterkonfigurationen mit einer jeweils zugeordneten Erfolgswahrscheinlichkeit auszugeben. Gemäß verschiedenen Ausführungsformen kann das Objektaufnehmmodell 202 eingerichtet sein, in Reaktion auf eine Eingabe eines Tiefenbilds hin, ein oder mehrere Aufnehm-Roboterkonfigurationen mit einer Erfolgswahrscheinlichkeit oberhalb eines vordefinierten Schwellenwertes (d.h. mit einer Erfolgswahrscheinlichkeit größer als der vordefinierte Schwellenwert) auszugeben.
  • Eine hierin verwendete Wahrscheinlichkeit weist einen zugeordneten Wahrscheinlichkeitswert auf. Wird hierin eine Wahrscheinlichkeit mit einer anderen Wahrscheinlichkeit oder einem Schwellenwert verglichen (z.B. größer als, z.B. kleiner als, z.B. höher, z.B. niedriger, z.B. oberhalb von) so bezieht sich dies auf den der Wahrscheinlichkeit zugeordneten Wahrscheinlichkeitswert.
  • Eine Roboterkonfiguration, wie hierin verwendet, kann eine Roboter-Pose (z.B. eine Endeffektor-Pose) sein. Eine Roboterkonfiguration kann zum Beispiel eine Endeffektor-Rotation (z.B. eine Endeffektor-Orientierung) aufweisen. Eine Roboterkonfiguration kann zum Beispiel eine Endeffektor-Position (z.B. eine Endeffektor-Translation) aufweisen. Die Endeffektor-Position, t, kann eine 3D-Positon t ∈ ℝ3 sein. Anschaulich kann eine Roboterkonfiguration eine 6D-Konfiguration des Endeffektors sein, welche die 3D-Position und die Orientierung (z.B. Orientierung im 3D-Raum) aufweist. Die Aufnehm-Roboterkonfiguration kann die Roboterkonfiguration sein, die für das Aufnehmen eines zugeordneten Objekts ermittelt wird.
  • Eine einer Aufnehm-Roboterkonfiguration zugeordnete Erfolgswahrscheinlichkeit kann angeben mit welcher Wahrscheinlichkeit ein erfolgreiches Ausführen der Aufnehm-Fertigkeit erwartet wird. Ein erfolgreiches Ausführen der Aufnehm-Fertigkeit kann zum Beispiel sein, dass der Endeffektor das der Roboterkonfiguration zugeordnete Objekt greifen, anheben, und/oder bewegen kann. Dies kann analog für andere Fertigkeiten (z.B. eine Bewegen-Fertigkeit des Roboterarms 120) zutreffen. Das Ermitteln einer Erfolgswahrscheinlichkeit für eine Aufnehm-Roboterkonfiguration kann zum Beispiel eine Klassifikation (z.B. der Klasse „erfolgreich“) der Aufnehm-Roboterkonfiguration sein.
  • Ein Trainieren eines Objektaufnehmmodells 202 wird beispielsweise mit Bezug auf 6 beschrieben.
  • Gemäß verschiedenen Ausführungsformen kann das Steuerungsmodell 200 ein Robotertrajektorie-Modell 206 aufweisen. Das Robotertrajektorie-Modell 206 kann für eine zugeordnete Fertigkeit (z.B. ein Aufnehmen, z.B. ein Bewegen) ein Hidden-Semi-Markov-Modell mit ein oder mehreren Anfangszuständen und ein oder mehreren Endzuständen aufweisen. Anschaulich kann das Robotertrajektorie-Modell 206 unter Verwendung von Aufgabenparametern eine Robotertrajektorie ermitteln.
  • Das Robotertrajektorie-Modell 206 kann ein TP-HSMM sein. Ein HSMM (Hidden semi-Markov-Model) erweitert einen einfachen HMM (Hidden Markov Modell) dahingehend, dass zeitliche Informationen in den zu Grunde liegenden stochastischen Prozess eingebettet werden. Das heißt, dass während bei einem HMM angenommen wird, dass der zu Grunde liegende statistische Prozess die Markov-Eigenschaft hat, d.h. die Wahrscheinlichkeit, in den nächsten Zustand überzugehen, nur vom aktuellen Zustand abhängt, bei einem HSMM der Prozess die Wahrscheinlichkeit, in den nächsten Zustand überzugehen, vom aktuellen Zustand und von der Verweildauer im aktuellen Zustand abhängt. HSMMs werden typischerweise insbesondere bei der Sprachsynthese angewendet.
  • Ein Aufgaben-parametrisiertes HSMM (TP-HSMM), wie beispielsweise das Robotertrajektorie-Modell 206, wird gemäß verschiedener Ausführungsformen für eine Fertigkeit repräsentiert durch θ = { { a h k } h = 1 K , ( μ k D , σ k D ) , γ k } k = 1 K
    Figure DE102020214633A1_0001
    wobei ahk die Übergangswahrscheinlichkeit vom Zustand h in den Zustand k bezeichnet, ( μ k D , σ k D )
    Figure DE102020214633A1_0002
    die Gaußschen Verteilungen für die Verweildauer im Zustand k bezeichnen (das hochgestellte D ist hierbei kein Index sondern soll nur den Zusammenhang mit der Verweildauer (engl. duration) kennzeichnen) und γk die k-te Komponente eines (zugehörigen oder assoziierten) TP-GMMs (Aufgaben-parametrisierten Gaußschen Mischmodells) γ = { π k , { μ k ( p ) , Σ k ( p ) } p = 1 P } k = 1 K
    Figure DE102020214633A1_0003
    ist, wobei K die Anzahl von Gaußschen Komponenten in dem Mischmodell bezeichnet, πk die A-priori-Wahrscheinlichkeit für die k-te Komponente bezeichnet und μ k ( p ) , Σ k ( p )
    Figure DE102020214633A1_0004
    der Mittelwert bzw. die Kovarianz der k-ten Komponente in dem Koordinatensystem p ∈ TP sind.
  • Gemäß verschiedenen Ausführungsformen kann das Steuerungsmodell 200 ein Vorbedingungsmodells 204, γ1,a, aufweisen. Das Vorbedingungsmodell 204 kann für jeden Anfangszustand des Robotertrajektorie-Modells 206 eine Wahrscheinlichkeitsverteilung von Roboterkonfigurationen vor dem Ausführen der zugeordneten Fertigkeit (z.B. eines Aufnehmens, z.B. eines Bewegens) aufweisen. Zum Beispiel kann das Vorbedingungsmodell 204 für jeden Anfangszustand des Robotertrajektorie-Modells 206 eine Wahrscheinlichkeitsverteilung von Roboterkonfigurationen von dem Ausführen des Aufnehmens aufweisen.
  • Das Vorbedingungsmodell 204, γ1,a, kann ein TP-GMM sein. Das Vorbedingungsmodell 204, γ1,a, kann durch γ 1, a ( s , p F ) { ( μ 1, o ( p ) , Σ 1, o ( p ) ) , p TP a \ { o } } o O a F a
    Figure DE102020214633A1_0005
    beschrieben werden, wobei pF optimale freie Aufgabenparameter sind, wobei ( μ 1, o ( p ) , Σ 1, o ( p ) )
    Figure DE102020214633A1_0006
    eine Gaußverteilung (Mittelwert und Kovarianz der Gaußverteilung) einer initialen Pose eines Objekts o∈Oa zum Zeitpunkt 1 aus der Perspektive der initialen Pose des Objekts P`s zum initialen Zeitpunkt 1 ist. Anschaulich beschreibt (z.B. modelliert) das Vorbedingungsmodell 204, γ1,a, den Zustand des Systems vor dem Ausführen der Fertigkeit 3. Gemäß verschiedenen Ausführungsformen kann das Vorbedingungsmodell 204 für einen Anfangszustand, s, eine Wahrscheinlichkeitsverteilung von Roboterkonfigurationen vor dem Ausführen der zugeordneten Fertigkeit 3 (z.B. des Aufnehmens, z.B. des Bewegens) aufweisen. Gemäß verschiedenen Ausführungsformen kann das Vorbedingungsmodell 204 mit Bezug auf Gleichung (2) eine Wahrscheinlichkeitsverteilung von Aufgabenparametern TPa Roboterkonfigurationen vor dem Ausführen der zugeordneten Fertigkeit 3 aufweisen. Jeder Fertigkeit a ∈ A kann mindestens ein Satzes von Aufgabenparametern TPa zugeordnet sein. Gemäß verschiedenen Ausführungsformen können die Aufgabenparameter TPa und die Aufnehm-Roboterkonfigurationen ineinander umgerechnet werden (siehe zum Beispiel Referenz [2]). Anschaulich können zum Beispiel für die ermittelten ein oder mehreren Aufnehm-Roboterkonfigurationen die jeweils zugeordneten Aufgabenparameter ermittelt werden.
  • Gemäß verschiedenen Ausführungsformen kann das Steuerungsmodell 200 ein Endbedingungsmodells 208, γT,a, aufweisen. Das Endbedingungsmodell 208 kann für jeden Endzustand des Robotertrajektorie-Modells 206 eine Wahrscheinlichkeitsverteilung von Roboterkonfigurationen nach dem Ausführen der zugeordneten Fertigkeit (z.B. des Aufnehmens, z.B. eines Bewegens) aufweisen. Zum Beispiel kann das Endbedingungsmodell 208 für jeden Endzustand des Robotertrajektorie-Modells 206 eine Wahrscheinlichkeitsverteilung von Roboterkonfigurationen nach dem Ausführen des Aufnehmens aufweisen.
  • Das Endbedingungsmodell 208, γT,a, kann ein TP-GMM sein. Das Endbedingungsmodell 208, γT,a, kann durch γ T , a ( s , p F ) { ( μ T , o ( p ) , Σ T , o ( p ) ) , p TP a } o O a
    Figure DE102020214633A1_0007
    beschrieben werden, wobei ( μ T , o ( p ) , Σ T , o ( p ) )
    Figure DE102020214633A1_0008
    die Gaußverteilung (Mittelwert und Kovarianz der Gaußverteilung) der finalen (z.B. resultierenden) Pose des Objekts o∈Oa zum Zeitpunkt T aus der Perspektive der initialen Pose des Objekts p'S ist. Anschaulich beschreibt (z.B. modelliert) das Endbedingungsmodell γT,a die Veränderung des Zustands des Systems nach dem Ausführen der Fertigkeit 3 (z.B. des Aufnehmens, z.B. des Bewegens).
  • Mehr Details zu dem Robotertrajektorie-Modell 206 als TP-HSMM, dem Vorbedingungsmodell 204 γ1,a als TP-GMM und dem Endbedingungsmodell 208 γT,a als TP-GMM werden in Referenz [3] beschrieben.
  • Gemäß verschiedenen Ausführungsformen können das Vorbedingungsmodell 204, das Robotertrajektorie-Modell 206 und/oder das Endbedingungsmodell 208 mittels Lernen aus Demonstrationen ermittelt werden (siehe hierzu zum Beispiel die Beschreibung zu 4 und 5 sowie Referenz [3]).
  • 3A zeigt ein Ablaufdiagramm 300 zum Steuern der Robotervorrichtung 101, gemäß verschiedenen Ausführungsformen. Das Ablaufdiagramm 300 kann ein Ablaufdiagramm zum Steuern der Robotervorrichtung 101 während des Betriebs sein.
  • Gemäß verschiedenen Ausführungsformen kann die Robotervorrichtung 101 mittels der Steuervorrichtung 106 unter Verwendung des Roboter-Steuerungsmodells 112, welches das Steuerungsmodell 200 aufweisen kann, gesteuert werden. Hierbei kann das Roboter-Steuerungsmodell 112 von dem Computer 110 implementiert werden. Gemäß verschiedenen Ausführungsformen können die im Folgenden beschriebene Verarbeitung unter Verwendung des Computers 110 durchgeführt werden.
  • Gemäß verschiedenen Ausführungsformen kann mindestens ein Tiefenbild 302 bereitgestellt werden. Das Tiefenbild 302 kann ein von der Tiefenkamera 113 bereitgestelltes Tiefenbild sein. Das Tiefenbild 302 kann die ein oder mehreren Objekte 114 zeigen. Das Tiefenbild 302 kann zum Beispiel ein RGB-D Bild sein. Gemäß verschiedenen Ausführungsformen kann ein hierin beschriebenes Tiefenbild jede Art von Bild sein, das Tiefeninformationen aufweist. Anschaulich kann ein Tiefenbild 3-dimensionale Informationen zu ein oder mehreren Objekten aufweisen. Ein hierin beschriebenes Tiefenbild kann zum Beispiel eine Punktwolke aufweisen, die von einem LIDAR-Sensor und/oder einem Radar-Sensor bereitgestellt wird. Ein Tiefenbild kann zum Beispiel ein von einem LIDAR-Sensor bereitgestelltes Bild mit Tiefeninformationen sein.
  • Gemäß verschiedenen Ausführungsformen kann das Objektaufnehmmodell 202, in Reaktion auf eine Eingabe des Tiefenbilds 302 hin, eine Mehrzahl von Aufnehm-Roboterkonfigurationen 304 mit einer jeweils zugeordneten Erfolgswahrscheinlichkeit ausgeben. Zum Beispiel kann das Objektaufnehmmodell 202 für mindestens ein Objekt der ein oder mehreren Objekte 114, die das Tiefenbild 302 zeigt, eine Mehrzahl von Aufnehm-Roboterkonfigurationen 304 mit einer jeweils zugeordneten Erfolgswahrscheinlichkeit ausgeben. Zum Beispiel kann das Objektaufnehmmodell 202 für mehrere Objekte der ein oder mehreren Objekte 114 (z.B. können die ein oder mehreren Objekte 114 eine Vielzahl von Objekten sein), die das Tiefenbild 302 zeigt, jeweils mindestens eine Aufnehm-Roboterkonfiguration 304 mit einer zugeordneten Erfolgswahrscheinlichkeit ausgeben. Anschaulich kann das Objektaufnehmmodell 202 das Tiefenbild 302 verarbeiten und kann eine Mehrzahl von Aufnehm-Roboterkonfigurationen 304 ermitteln. Jede Aufnehm-Roboterkonfiguration der Mehrzahl von Aufnehm-Roboterkonfigurationen 304 kann einem Objekt der ein oder mehreren Objekte 114 zugeordnet sein. Gemäß verschiedenen Ausführungsformen kann das Objektaufnehmmodell 202 ein oder mehrere neuronale Netzwerke aufweisen. Die ein oder mehreren neuronalen Netzwerke können eingerichtet sein, in Reaktion auf eine Eingabe eines Tiefenbildes hin, ein oder mehrere Aufnehm-Roboterkonfigurationen mit einer jeweils zugeordneten Erfolgswahrscheinlichkeit auszugeben. Die ein oder mehreren neuronalen Netzwerke können eingerichtet sein, in Reaktion auf eine Eingabe eines Tiefenbildes und einer Mehrzahl von Aufnehm-Roboterkonfigurationen hin, eine jeweilige Erfolgswahrscheinlichkeit für jede Aufnehm-Roboterkonfiguration der eingegebenen Mehrzahl von Aufnehm-Roboterkonfigurationen auszugeben.
  • Ein neuronales Netzwerk kann jede Art von neuronalem Netzwerk, wie beispielsweise ein Autoencoder-Netzwerk, ein neuronales Faltungsnetzwerk (engl.: convolutional neural network, CNN), ein Variations-Autoencoder-Netzwerk (engl.: variational autoencoder network, VAE), ein Ausgedünntes Autoencoder-Netzwerk (engl.: sparse autoencoder network, SAE), ein rekurrentes neuroanales Netzwerk (RNN), ein neuronales Entfaltungsnetzwerk (engl.: deconvolutional neural network, DNN), ein generatives gegnerisches Netzwerk (engl. generative adversarial network, GAN), ein vorausschauendes neuronales Netzwerk (engl.: forward-thinking neural network), ein neuronales Summenprodukt-Netzwerk (engl.: sum-product neural network) etc., aufweisen oder sein. Das neuronale Netzwerk kann jede Anzahl an Schichten aufweisen und das trainierte neuronale Netzwerk kann mittels jeder Art von Trainingsprinzip trainiert worden sein, wie beispielsweise Backpropagation.
  • Gemäß verschiedenen Ausführungsformen kann der Computer 110 eingerichtet sein, in Abhängigkeit der jeweiligen Erfolgswahrscheinlichkeiten der Mehrzahl von Aufnehm-Roboterkonfigurationen 304 eine Aufnehm-Roboterkonfiguration der Mehrzahl von Aufnehm-Roboterkonfigurationen 304 auswählen. Zum Beispiel kann der Computer 110 eingerichtet sein, die Aufnehm-Roboterkonfiguration der Mehrzahl von Aufnehm-Roboterkonfigurationen 304 mit der höchsten (d.h. mit der größten) zugeordneten Erfolgswahrscheinlichkeit auszuwählen. Gemäß verschiedenen Ausführungsformen kann mittels des Robotertrajektorie-Modells 206 für die ausgewählte Aufnehm-Roboterkonfiguration der Mehrzahl von Aufnehm-Roboterkonfigurationen 304 (z.B. die Aufnehm-Roboterkonfiguration der Mehrzahl von Aufnehm-Roboterkonfigurationen 304 mit der höchsten zugeordneten Erfolgswahrscheinlichkeit) eine Robotertrajektorie für das Aufnehmen des der ausgewählten Aufnehm-Roboterkonfiguration zugeordneten Objekts ermittelt werden. Gemäß verschiedenen Ausführungsformen kann die Steuervorrichtung 106 eingerichtet sein, die Robotervorrichtung 101 zum Ausführen des Aufnehmens des der ausgewählten Aufnehm-Roboterkonfiguration zugeordneten Objekts mittels der Robotertrajektorie zu steuern. Anschaulich kann die Steuervorrichtung 106 die Robotervorrichtung 101 derart steuern, dass die Robotervorrichtung 101 die ermittelte Robotertrajektorie ausführt und das zugeordnete Objekt aufnimmt. Ein Beispiel hierfür ist in 3B dargestellt. Das Tiefenbild 302 kann beispielsweise ein Objekt 320 zeigen. Das Objektaufnehmmodell 202 kann in diesem Beispiel die höchste Erfolgswahrscheinlichkeit zum Aufnehmen mittels des Endeffektors 104 für eine Aufnehm-Roboterkonfiguration 322 ermitteln. Gemäß verschiedenen Ausführungsformen kann das Robotertrajektorie-Modell 206 für die Aufnehm-Roboterkonfiguration 322 eine Robotertrajektorie 324 ermitteln. Die Steuervorrichtung 106 kann eingerichtet sein, die Robotervorrichtung 101 zum Ausführen des Aufnehmens des Objekts 320 mittels der Robotertrajektorie 324 zu steuern.
  • Gemäß verschiedenen Ausführungsformen kann der Computer 110 eingerichtet sein, ein oder mehrere Aufnehm-Roboterkonfigurationen 306 der Mehrzahl von Aufnehm-Roboterkonfigurationen 304, denen eine Erfolgswahrscheinlichkeit oberhalb eines vordefinierten Schwellenwertes (in manchen Aspekten auch als Erfolgs-Schwellenwert bezeichnet) zugeordnet ist. Zum Beispiel kann der Computer 110 ein oder mehrere Aufnehm-Roboterkonfigurationen 306 der Mehrzahl von Aufnehm-Roboterkonfigurationen 304 mit einer Erfolgswahrscheinlichkeit größer als 70 % (z.B. größer als 70 %, z.B. größer als 80 %, z.B. größer als 90 %, z.B. größer als 95 %, etc.) ermitteln. Gemäß verschiedenen Ausführungsformen kann der Computer 110 eingerichtet sein, eine vordefinierte minimale Anzahl von Aufnehm-Roboterkonfigurationen zu ermitteln. Zum Beispiel kann der Computer 110 eingerichtet sein, mindestens eine Aufnehm-Roboterkonfigurationen (z.B. genau eine Aufnehm-Roboterkonfiguration, z.B. mindestens zwei Aufnehm-Roboterkonfigurationen, z.B. mindestens zwei Aufnehm-Roboterkonfigurationen, etc.) zu ermitteln. Gemäß verschiedenen Ausführungsformen kann der Computer 110 eingerichtet sein, die vordefinierte minimale Anzahl von Aufnehm-Roboterkonfigurationen in Abhängigkeit der zugeordneten Erfolgswahrscheinlichkeiten zu ermitteln. Zum Beispiel kann der Computer 110 die Aufnehm-Roboterkonfigurationen mit der höchsten Erfolgswahrscheinlichkeit bzw. den höchsten Erfolgswahrscheinlichkeiten als die ein oder mehreren Aufnehm-Roboterkonfigurationen 306 ermitteln. Anschaulich kann der Computer 110 in einem Beispiel alle Aufnehm-Roboterkonfigurationen oberhalb des Erfolgs-Schwellenwerts als die ein oder mehreren Aufnehm-Roboterkonfigurationen 306 ermitteln und kann, falls die Anzahl der ermittelten Aufnehm-Roboterkonfigurationen kleiner als die vordefinierte minimale Anzahl von Aufnehm-Roboterkonfigurationen ist, die Aufnehm-Roboterkonfigurationen mit der höchsten Erfolgswahrscheinlichkeit als die ein oder mehreren Aufnehm-Roboterkonfigurationen 306 ermitteln, so dass die minimale Anzahl von Aufnehm-Roboterkonfigurationen erfüllt ist.
  • Gemäß verschiedenen Ausführungsformen kann der Computer 110 unter Verwendung des Vorbedingungsmodells 204 für die ein oder mehreren Aufnehm-Roboterkonfigurationen 306 eine jeweilige Wahrscheinlichkeit ermitteln. Anschaulich kann der Computer 110 unter Verwendung des Vorbedingungsmodells 204 für die ein oder mehreren Aufnehm-Roboterkonfigurationen 306 zugeordnete ein oder mehrere Wahrscheinlichkeiten 308 (in manchen Aspekten auch als Ausführ-Wahrscheinlichkeiten bezeichnet) ermitteln.
  • Gemäß verschiedenen Ausführungsformen kann der Computer 110 unter Verwendung des Robotertrajektorie-Modells 206 und des Vorbedingungsmodells 204 für jede Aufnehm-Roboterkonfiguration der ein oder mehreren Aufnehm-Roboterkonfigurationen 306 eine jeweils zugeordnete Konfidenz ca als Wahrscheinlichkeit ermitteln. Zum Beispiel kann der Computer 110 eingerichtet sein, unter Verwendung der TP-GMMs γ = { π k , { μ k ( p ) , Σ k ( p ) } p = 1 P } k = 1 K
    Figure DE102020214633A1_0009
    des Robotertrajektorie-Modells 206 und der TP-GMMs des Vorbedingungsmodells 204 gemäß Gleichung (4) für jede Aufnehm-Roboterkonfiguration der ein oder mehreren Aufnehm-Roboterkonfigurationen 306 eine jeweils zugeordnete Konfidenz ca ermitteln: c a ( s , p F ) log ( k = 1 K π k N ( ξ | μ ^ k , Σ ^ k ) ) + o O a F a log ( N ( p o | μ ^ 1, o , Σ ^ 1, o ) )
    Figure DE102020214633A1_0010
    wobei ξ ∈ Mξ der Zustand des Endeffektors 104 ist, wobei Po, o ∈ Oa die jeweiligen Zustände der Objekte sind, wobei { ( μ ^ k , Σ ^ k )
    Figure DE102020214633A1_0011
    die kombinierten Gaußverteilungen (über die Zustände k) der initialen Pose des Roboterarms anhand des Robotertrajektorie-Modells 206, θa, der zugeordneten Fertigkeit 3 sind, und wobei {(µ̂1,o, Σ̂1,o) die kombinierten Gaußverteilungen (über die Objekte o∈Oa) der initialen Pose eines jeweiligen Objekts, o, anhand des Vorbedingungsmodells 204 sind (siehe zum Beispiel Referenz [3]). Es wird darauf hingewiesen, dass eine gemäß Gleichung (4) ermittelte Konfidenz eine Wahrscheinlichkeitsdichte ist. Zur Veranschaulichung werden gemäß Gleichung (4) ermittelte Konfidenzen auch als Wahrscheinlichkeiten mit Bezug auf die ermittelten ein oder mehreren (Ausführ-) Wahrscheinlichkeiten 308 betrachtet, so dass die Wahrscheinlichkeiten der ein oder mehreren (Ausführ-) Wahrscheinlichkeiten 308 auch Wahrscheinlichkeitsdichten sein können.
  • Gemäß verschiedenen Ausführungsformen kann der Computer 110 eingerichtet sein, in Abhängigkeit der für die ein oder mehreren Aufnehm-Roboterkonfigurationen 306 ermittelten ein oder mehreren (Ausführ-) Wahrscheinlichkeiten 308 eine Aufnehm-Roboterkonfiguration der ein oder mehreren Aufnehm-Roboterkonfigurationen 306 auswählen. Zum Beispiel kann der Computer 110 eingerichtet sein, die Aufnehm-Roboterkonfiguration der ein oder mehreren Aufnehm-Roboterkonfigurationen 306 mit der höchsten zugeordneten Wahrscheinlichkeit (der ein oder mehreren Wahrscheinlichkeiten 308) auszuwählen. Gemäß verschiedenen Ausführungsformen kann der Computer 110 eingerichtet sein, die Aufnehm-Roboterkonfiguration der ein oder mehreren Aufnehm-Roboterkonfigurationen 306 unter Berücksichtigung anderer und/oder zusätzlicher Bedingungen auszuwählen. Zum Beispiel können einzelne Paramater (z.B. Orientierungen) der Roboterkonfigurationen, Teilbereiche eines Arbeitsbereiches, auf dem sich die ein oder mehreren Objekte 114 befinden, mittels Klassifikation (z.B. mittels eines Klassifikationsnetzwerks) ermittelte Objektklassen, etc. berücksichtigt (z.B. bevorzugt, z.B. durch eine Verringerung der ermittelten Wahrscheinlichkeiten benachteiligt) werden.
  • Gemäß verschiedenen Ausführungsformen kann mittels des Robotertrajektorie-Modells 206 für die ausgewählte Aufnehm-Roboterkonfiguration der ein oder mehreren Aufnehm-Roboterkonfigurationen 306 (z.B. die Aufnehm-Roboterkonfiguration der ein oder mehreren Aufnehm-Roboterkonfigurationen 306 mit der höchsten zugeordneten Wahrscheinlichkeit) eine Robotertrajektorie 310 für das Aufnehmen des der ausgewählten Aufnehm-Roboterkonfiguration zugeordneten Objekts ermittelt werden.
  • Gemäß verschiedenen Ausführungsformen kann die Steuervorrichtung 106 eingerichtet sein, die Robotervorrichtung 101 zum Ausführen des Aufnehmens des der ausgewählten Aufnehm-Roboterkonfiguration zugeordneten Objekts mittels der Robotertrajektorie 310 zu steuern 312. Anschaulich kann die Steuervorrichtung 106 die Robotervorrichtung 101 derart steuern 312, dass die Robotervorrichtung 101 die ermittelte Robotertrajektorie 310 ausführt und das zugeordnete Objekt aufnimmt.
  • Die ein oder mehreren Objekte 114 können eine Vielzahl von Objekten aufweisen. Das Ermitteln der Mehrzahl von Aufnehm-Roboterkonfigurationen 304 für mehrere Objekte der ein oder mehreren Objekte 114 (z.B. der Vielzahl von Objekten) und das Auswählen einer Aufnehm-Roboterkonfiguration unter Verwendung des Vorbedingungsmodell 204 hat beispielsweise den Effekt, dass das der ausgewählten Aufnehm-Roboterkonfiguration zugeordnete Objekt der ein oder mehreren Objekte 114 ausgewählt wird. Anschaulich kann derart ein zu bewegendes Objekt der ein oder mehreren Objekte 114 ausgewählt werden. Zum Beispiel kann ein zu bewegendes Objekt der ein oder mehreren Objekte 114 derart ausgewählt, dass Zusammenhänge des zu bewegenden Objekts zu anderen Objekten sowie die geometrischen Bedingungen der Robotervorrichtung 101 (z.B. eines Roboterarms 120) berücksichtigt werden.
  • Ein Beispiel hierfür ist in 3C dargestellt. Das Tiefenbild 302 kann beispielsweise ein Objekt 330 zeigen. Das Objektaufnehmmodell 202 kann in diesem Beispiel zum Aufnehmen mittels des Endeffektors 104 für eine erste Aufnehm-Roboterkonfiguration 332 und für eine zweite Aufnehm-Roboterkonfiguration 334 eine jeweilige Erfolgswahrscheinlichkeit oberhalb des Erfolgs-Schwellenwertes ermitteln. Anschaulich können die ein oder mehreren Aufnehm-Roboterkonfigurationen 306 die erste Aufnehm-Roboterkonfiguration 332 und die zweite Aufnehm-Roboterkonfiguration 334 aufweisen. Gemäß verschiedenen Ausführungsformen kann das Vorbedingungsmodell 204 eine jeweilige Wahrscheinlichkeit (z.B.
    eine jeweilige Konfidenz ca) für die erste Aufnehm-Roboterkonfiguration 332 und die zweite Aufnehm-Roboterkonfiguration 334 ermitteln. Anschaulich können die ein oder mehreren Wahrscheinlichkeiten 308 eine erste Wahrscheinlichkeit (z.B. eine erste Konfidenz) für die erste Aufnehm-Roboterkonfiguration 332 und eine zweite Wahrscheinlichkeit (z.B. eine zweite Konfidenz) für die zweite Aufnehm-Roboterkonfiguration 334 aufweisen. In diesem Beispiel kann die erste Wahrscheinlichkeit größer als die zweite Wahrscheinlichkeit sein und der Computer 110 kann eingerichtet sein, die der ersten Wahrscheinlichkeit zugeordnete erste Aufnehm-Roboterkonfiguration 332 auszuwählen. Gemäß verschiedenen Ausführungsformen kann das Robotertrajektorie-Modell 206 für die ausgewählte Aufnehm-Roboterkonfiguration 332 eine Robotertrajektorie 336 ermitteln. Die Steuervorrichtung 106 kann eingerichtet sein, die Robotervorrichtung 101 zum Ausführen des Aufnehmens des Objekts 330 mittels der Robotertrajektorie 336 zu steuern. 3D stellt ein Beispiel dar, in dem das Tiefenbild 302 ein erstes Objekt 340 und ein zweites Objekt 350 zeigen kann. Gemäß verschiedenen Ausführungsformen kann das Vorbedingungsmodell 204 für das erste Objekt 340 die größte Wahrscheinlichkeit (z.B. die größte Konfidenz) für eine Aufnehm-Roboterkonfiguration 342 ermitteln und das Robotertrajektorie-Modell 206 kann für die Aufnehm-Roboterkonfiguration 342 eine Robotertrajektorie 344 ermitteln. Gemäß verschiedenen Ausführungsformen kann das Vorbedingungsmodell 204 für das zweite Objekt 350 die größte Wahrscheinlichkeit (z.B. die größte Konfidenz) für eine Aufnehm-Roboterkonfiguration 352 ermitteln und das Robotertrajektorie-Modell 206 kann für die Aufnehm-Roboterkonfiguration 352 eine Robotertrajektorie 354 ermitteln.
  • Gemäß verschiedenen Ausführungsformen kann die Steuervorrichtung 106 eingerichtet sein, die Robotervorrichtung 101 zum Ausführen des Aufnehmens eines Objektes und einem anschließenden Bewegen des aufgenommenen Objekts zu steuern.
  • Das Robotertrajektorie-Modell 206 kann ein Hidden-Semi-Markov-Modell θa für das Aufnehmen eines Objekts als zugeordnete Fertigkeit 3 und ein Hidden-Semi-Markov-Modell θa für das Bewegen eines aufgenommenen Objekts als zugeordnete Fertigkeit 3 aufweisen. Das Vorbedingungsmodell 204 kann ein TP-GMM γ1,a für das Aufnehmen eines Objekts als zugeordnete Fertigkeit 3 und ein TP-GMM γ1,a für das das Bewegen eines aufgenommenen Objekts als zugeordnete Fertigkeit 3 aufweisen. Das Endbedingungsmodell 208 kann ein TP-GMM γT,a für das Aufnehmen eines Objekts als zugeordnete Fertigkeit 3 und ein TP-GMM γT,a für das das Bewegen eines aufgenommenen Objekts als zugeordnete Fertigkeit 3 aufweisen.
  • Gemäß verschiedenen Ausführungsformen kann das Steuerungsmodell 200 unter Verwendung des dem Aufnehmen zugeordneten TP-GMM des Endbedingungsmodells 208 eine Roboterkonfiguration nach dem Ausführen des Aufnehmens des Objekts zu ermitteln. Gemäß verschiedenen Ausführungsformen kann das Robotertrajektorie-Modell 206 unter Verwendung der mittels des Endbedingungsmodells 208 ermittelten Roboterkonfiguration eine Robotertrajektorie für das Bewegen des Objekts ermitteln. Gemäß verschiedenen Ausführungsformen kann die Steuervorrichtung 106 unter Verwendung des Steuerungsmodells 112 die Robotervorrichtung 101 zum Ausführen des Bewegens des Objekts mittels der ermittelten Robotertrajektorie steuern.
  • Gemäß verschiedenen Ausführungsformen kann der Computer 110 unter Verwendung des Robotertrajektorie-Modells 206 und des Vorbedingungsmodells 204 gemäß Gleichung (4) für jede Aufnehm-Roboterkonfiguration der ein oder mehreren Aufnehm-Roboterkonfigurationen 306 eine jeweils zugeordnete erste Konfidenz ca für das Aufnehmen des der Roboterkonfiguration zugeordneten Objekts als Fertigkeit a ermitteln. Das Robotertrajektorie-Modell 206 kann eine Robotertrajektorie für das Ausführen der Aufnehmen-Fertigkeit für jede Aufnehm-Roboterkonfiguration der ein oder mehreren Aufnehm-Roboterkonfigurationen 306 ermitteln. Das Endbedingungsmodell 208 kann eine aus der jeweiligen Robotertrajektorie resultierende Roboterkonfiguration ermitteln. Gemäß verschiedenen Ausführungsformen kann der Computer 110 unter Verwendung des Robotertrajektorie-Modells 206 und des Vorbedingungsmodells 204 gemäß Gleichung (4) für jede mittels des Endbedingungsmodell 208 ermittelte Roboterkonfiguration eine jeweils zugeordnete zweite Konfidenz ca für das Bewegen des der jeweiligen Roboterkonfiguration zugeordneten aufgenommenen Objekts als Fertigkeit a ermitteln.
  • Anschaulich kann für jede Aufnehm-Roboterkonfiguration der ein oder mehreren Aufnehm-Roboterkonfigurationen 306 eine erste (Auswähl-) Wahrscheinlichkeit (die erste Konfidenz) für das Ausführen der Aufnehmen-Fertigkeit und eine zweite (Auswähl-) Wahrscheinlichkeit (die zweite Konfidenz) für das Ausführen der Bewegen-Fertigkeit ermittelt werden.
  • Gemäß verschiedenen Ausführungsformen kann der Computer 110 in Abhängigkeit der für die ein oder mehreren Aufnehm-Roboterkonfigurationen 306 ermittelten ersten Konfidenz und ermittelten zweiten Konfidenz eine Aufnehm-Roboterkonfiguration der ein oder mehreren Aufnehm-Roboterkonfigurationen 306 auswählen.
  • Zum Beispiel kann der Computer 110 alle Aufnehm-Roboterkonfigurationen der ein oder mehreren Aufnehm-Roboterkonfigurationen 306 mit einer ersten Konfidenz oberhalb eines vordefinierten ersten Konfidenz-Schwellenwertes (z.B. einem ersten Konfidenz-Schwellenwert von mehr als 50 %, z.B. von mehr als 60 %, z.B. mehr als 70 %, z.B. von mehr als 80 %, z.B. mehr als 90 %, etc.) vorauswählen. Anschaulich können alle Aufnehm-Roboterkonfigurationen der ein oder mehreren Aufnehm-Roboterkonfigurationen 306 vorausgewählt werden, die eine Mindestwahrscheinlichkeit für das Ausführen aufweisen.
  • Zum Beispiel kann der Computer 110 eine Aufnehm-Roboterkonfiguration der vorausgewählten eine Aufnehm-Roboterkonfigurationen unter Verwendung der jeweils ermittelten ersten Konfidenz und zweiten Konfidenz der vorausgewählten Aufnehm-Roboterkonfigurationen ermitteln. Zum Beispiel kann der Computer 110 die Aufnehm-Roboterkonfiguration der vorausgewählten eine Aufnehm-Roboterkonfigurationen mit einer größten Gesamtwahrscheinlichkeit auswählen. Die Gesamtwahrscheinlichkeit kann zum Beispiel eine gewichtete Summe aus der ersten Konfidenz und der zweiten Konfidenz sein.
  • Gemäß verschiedenen Ausführungsformen kann mittels des Robotertrajektorie-Modells 206 für die ausgewählte Aufnehm-Roboterkonfiguration der ein oder mehreren Aufnehm-Roboterkonfigurationen 306 eine jeweilige Robotertrajektorie 310 für das Aufnehmen des der ausgewählten Aufnehm-Roboterkonfiguration zugeordneten Objekts und für das Bewegen des aufgenommenen Objekts ermittelt werden. Gemäß verschiedenen Ausführungsformen kann die Steuervorrichtung 106 eingerichtet sein, die Robotervorrichtung 101 zum Ausführen des Aufnehmens und des anschließenden Bewegens des Objekts zu steuern 312.
  • 4 zeigt ein Ablaufdiagramm 400 eines Lernens aus Demonstrationen gemäß verschiedenen Ausführungsformen.
  • Um einem Roboter eine Fertigkeit beizubringen, wie beispielsweise sich gemäß einer gewünschten Trajektorie zu bewegen, können kinästhetische Demonstrationen durchgeführt werden, bei denen der Roboter direkt bewegt wird, z.B. durch physisches Schieben oder mittels einer Fernbedienung. Neben der dafür erforderlichen Erfahrung, der Sicherheitsrisiken und der Anforderungen (z.B. für Aufgaben, die präzise Bewegungen erfordern) ist das Bewegen des Roboters auch viel weniger intuitiv für einen Menschen, um eine Aufgabe durchzuführen, verglichen mit dem Gebrauch der eigenen Hände.
  • In Hinblick auf das obere wird gemäß verschiedenen Ausführungsbeispielen eine Herangehensweise bereitgestellt, die es einem menschlichen Benutzer ermöglicht, einem Roboter eine Tätigkeit (Fertigkeit) beizubringen, indem er einfach die Tätigkeit selbst durchführt. Dabei werden Demonstrationen beispielsweise durch Verfolgen der Hand des Benutzers (und optional der involvierten Objekte) aufgezeichnet, anstatt die Trajektorie des Endeffektors aufzuzeichnen. Demonstrationen werden dann dazu verwendet, eine kompakte mathematische Repräsentation der Fertigkeit zu lernen, die (zum Beispiel von der Steuervorrichtung 106) dazu verwendet werden kann, diese Fertigkeit durch den Roboter in neuen Szenarien (zum Beispiel neuen relativen Positionen zwischen dem Roboter und zu manipulierendem Objekt) zu reproduzieren.
  • Verschiedene Ausführungsbeispiele basieren auf den technischen Fortschritten in zwei Bereichen: Erstens ist die Verfolgung einer Hand basierend auf Kamerabildern in Bereichen, wo Roboter eingesetzt werden, beispielsweise in Fabriken, typischerweise verfügbar und zweitens erlauben es Verfahren zum Trainieren von Robotern basierend auf menschlichen Demonstrationen sowohl das effiziente Lernen durch den Roboter (d.h. Trainieren des Roboters) als auch die flexible Reproduktion. Ein Beispiel hierfür sind TP-HSMMs (Task-Parameterized Hidden Semi Markov Models), die eine Aufgabenparameter-abhängige Repräsentation von gelernten Bewegungsfertigkeiten ermöglichen.
  • Das Verfolgen von Objekten und menschlichen Händen ist ein aktives Forschungsgebiet, (insbesondere im maschinellen Sehen) und ist für industrielle Anwendungen von großer Bedeutung. Im Unterschied zur Anwendung entsprechender Techniken auf die Mensch-Maschine-Interaktion (wie beispielsweise für Videospiele) wird es gemäß verschiedenen Ausführungsformen für das Trainieren (Unterrichten) und Lernen von Robotern eingesetzt.
  • In einer Demonstrationsphase, demonstriert ein Benutzer (oder allgemein eine Vorführinstanz) die gewünschte Fertigkeit. Die Demonstration wird aufgezeichnet. Beispielsweise wird eine Videoaufnahme mittels einer Kamera erstellt und die Abfolge der Stellungen einer Hand des Benutzers (allgemein eines Teils der Vorführinstanz) wird aus den Bildern des Videos ermittelt und in Form einer Trajektorie repräsentiert. Dies wird für mehrere Demonstrationen 402 wiederholt. Es sollte beachtet werden, dass dies auf entkoppelte Art geschehen kann, d.h. beispielsweise wird eine Menge von Videos verwendet, die zuvor ohne Absicht, einem Roboter eine Fertigkeit beizubringen, aufgenommen wurden.
  • Gemäß verschiedenen Ausführungsformen kann/können unter Verwendung der Demonstrationen 402 das Robotertrajektorie-Modell 206, das Vorbedingungsmodell 204 und/oder das Endbedingungsmodell 208 gelernt werden.
  • In einer Lern- oder Trainingsphase, wird ein mathematisches Modell aus den gesammelten Demonstrationen gelernt. Beispielsweise wird ein TP-HSMM gelernt, das eine Handpose als einen der Aufgaben-Parameter enthält. Eine „Pose“ enthält beispielsweise Information über Position und/oder Orientierung oder auch über Zustand (z.B. „Hand geschlossen“ gegenüber „Hand geöffnet“).
  • 5 zeigt eine Anordnung 500 zum Aufzeichnen von Demonstrationen eines Benutzers gemäß verschiedenen Ausführungsformen.
  • Ein Computer kann eingerichtet sein, das Steuerungsmodell 200 zu erzeugen. Der Computer kann beispielsweise der Computer 110 der Steuervorrichtung 106 sein. Wie hierin beschrieben, kann das Steuerungsmodell 200 auch erzeugt (z.B. gelernt) werden, wenn die Robotervorrichtung 101 nicht Betrieben wird; so kann zum Beispiel der Computer ein von dem Computer 110 verschiedener Computer sein. Zum Beispiel kann das Steuerungsmodell 200 räumlich getrennt von der Robotervorrichtungsanordnung 100 gelernt werden.
  • Ein Benutzer 501 demonstriert eine Fertigkeit durch Bewegen seiner Hand 502. Beispielsweise nimmt er ein Objekt 504 von einer ersten Position 505 und bewegt es an eine zweite Position 506. Eine Kamera 507 zeichnet die Bewegung des Benutzers auf. Es können auch mehrere Kameras vorgesehen sein, die die Demonstration aus verschiedenen Blickwinkeln, insbesondere aus Sicht der Startposition 505 und aus Sicht der Endposition 506 des Objekts 504 aufzeichnen.
  • Jede Demonstration wird damit als eine Folge von Bildern repräsentiert, die einer Steuereinrichtung 508, die beispielsweise der Steuervorrichtung 106 entspricht, zugeführt wird. Die Steuereinrichtung 508 kann beispielsweise einen Computer aufweisen, um Berechnungen durchzuführen. Die Steuereinrichtung 508 lernt basierend auf den Demonstrationen ein statistisches Modell 509, wie beispielsweise das Robotertrajektorie-Modell 206 und/oder TP-GMMs (z.B. das Vorbedingungsmodell 202, z.B. das Endbedingungsmodell 208, wie hierin beschrieben). Es wird ferner angenommen, dass jede Demonstration aus der Perspektive P unterschiedlicher Koordinatensysteme TP, die als Aufgabenparameter (Task-Parameter) bezeichnet werden, aufgenommen wird.
  • Zum Beispiel können am Ende der Demonstrationsphase die Demonstrationen abstrahiert werden (beispielsweise als Verläufe von Koordinaten der Hand 502 oder des Objekts 504 repräsentiert sind) und als Trajektorien (zum Beispiel der Hand 502 Subjekts 504 oder auch mehrerer Hände und/oder mehrerer Objekte) abgespeichert werden, beispielsweise in einem Speicher der Steuereinrichtung 508.
  • Mit Bezug auf 4 ermöglicht ein TP-HSMM sowohl effizientes Lernen als auch flexible Reproduktion zum Lernen von Roboter-Fähigkeiten aus menschlichen Demonstrationen. Genauer wird die aufgezeichnete Trajektorie der Benutzerhand 502 als gewünschte Bewegung behandelt, die gelernt werden soll, während die Trajektorie des Objekts (504 dazu verwendet wird, unterschiedliche Aufgabenparameter (Task-Parameter) für die Fertigkeit zu erzeugen, die unterschiedliche Konfigurationen des Arbeitsbereichs repräsentieren. Die Aufgabenparameter können zum Beispiel anhand des derzeitigen Zustands ermittelt werden. Die Aufgabenparameter können zum Beispiel frei gewählt werden.
  • Gemäß verschiedenen Ausführungsformen kann ein Robotertrajektorie-Modell 206 unter Verwendung der Demonstrationen 402 ermittelt werden. Das Robotertrajektorie-Modell 206 kann ein TP-HSMM sein.
  • Ein Aufgaben-parametrisiertes HSMM (TP-HSMM), wie beispielsweise das Robotertrajektorie-Modell 206, wird gemäß einer Ausführungsform repräsentiert durch θ = { { a h k } h = 1 K , ( μ k D , σ k D ) , γ k } k = 1 K
    Figure DE102020214633A1_0012
  • Das TP-GMM beschreibt die Ausgabewahrscheinlichkeiten (oder Emissionswahrscheinlichkeiten d.h. Wahrscheinlichkeiten für die Beobachtungen) für jeden Zustand k = 1, ... K. Ein solches Mischmodel kann (im Unterschied zu einfachen GMMs) nicht unabhängig für jedes Koordinatensystem gelernt werden. Der Grund ist, dass die Mischkoeffizienten πk sich von allen Koordinatensystemen geteilt werden (d.h. für alle Koordinatensysteme gelten) und die k-te Komponente im Koordinatensystem p muss der k-ten Komponente im globalen Koordinatensystem entsprechen. Eine Möglichkeit, solche Modelle zu lernen (d.h. zu trainieren) ist der EM (Expectation Maximization)-Algorithmus.
  • Wenn ein TP-GMM trainiert ist, kann es während der Ausführung von der Steuereinrichtung 508 und/oder der Steuervorrichtung 106 dazu verwendet werden, eine Trajektorie für eine gelernte Fähigkeit bzw. Fertigkeit zu reproduzieren.
  • Die A-priori-Wahrscheinlichkeiten πk beschreiben bei einem HSMM jedoch nur die Wahrscheinlichkeitsverteilung für die für die anfänglichen Komponenten bei t= 1. Die Wahrscheinlichkeiten zu späteren Zeiten werden durch das zu Grunde liegende Semi-Markov-Modell gegeben.
  • In diesem betrachteten TP-HSMM, entspricht jeder Zustand einer Gaußschen Komponente im zugehörigen TP-GMM.
  • Die Robotervorrichtung 101 kann in einem statischen, bekannten Arbeitsumfeld arbeiten. Innerhalb der Reichweite der Robotervorrichtung 101 (in manchen Aspekten als Roboter bezeichnet) gibt es Objekte (von Interesse), die mit O = {o1, o2, ..., oJ} bezeichnet werden. Jedes Objekt kann durch seinen Zustand po beschrieben werden.
  • Ferner wird angenommen, dass es eine Menge von Kern-Manipulationsfertigkeiten gibt, die es dem Roboter ermöglicht, die Objekte zu manipulieren (z.B. zu bewegen). Die Menge dieser Kern-Manipulationsfertigkeiten wird als A = {a1, a2, ..., aH} bezeichnet.
  • Für jede Tätigkeit (entsprechend einer Fertigkeit) führt der Benutzer 501 mehrere Demonstrationen durch, die definieren, wie die Robotervorrichtung 101 sie durchführen soll. Insbesondere ist für eine Fertigkeit 3 ∈ A eine Objektmenge Oa ⊆ O involviert und die Menge von Demonstrationen wird mit Da = {D1, ..., DMa } bezeichnet, wobei jede Demonstration mit D m = [ s t ] t = 1 T m = [ ( r t , { p t , o , o O a } ) ] t = 1 T m
    Figure DE102020214633A1_0013
    bezeichnet wird, wobei r der Zustand des Endeffektors 104 ist, wobei Dm eine Folge von Zuständen s ist, wobei jeder Zustand den (zu dem Zeitpunkt t) gewünschten Zustand r, wie er aus der Verfolgen der Hand (durch Aufnahme von Kamerabildern) ermittelt wurde, und Objektzustände {po, o ∈ Oa} angibt. Mittels einer Kombination dieser Fertigkeiten kann die Robotervorrichtung 101 jeweilige Objekte manipulieren, so dass sie einen gewünschten Endzustand erreichen.
  • Bezüglich der TP-GMMs γ = { π k , { μ k ( p ) , Σ k ( p ) } p = 1 P } k = 1 K
    Figure DE102020214633A1_0014
    kann jedes p ein Aufgabenparameter eines Satzes von Aufgabenparametern TP sein. Jeder Fertigkeit a ∈ A kann mindestens ein Satzes von Aufgabenparametern TPa zugeordnet sein. Zum Beispiel kann eine Fertigkeit a ∈ A unter Verwendung eines Satzes von Aufgabenparametern TPa ausgeführt werden. Gemäß verschiedenen Ausführungsformen kann ein jeweiliger Satzes von Aufgabenparametern TPa mittels der Vereinigungsmenge TPa = Oa ∪ Fa ∪ {r} beschrieben werden, wobei Fa ein Satz von freien Aufgabenparametern der Fertigkeit a ∈ A ist.
  • Das TP-HSMM wird (beispielsweise von der Steuereinrichtung 508) in der Lernphase basierend auf den Demonstrationen D m = [ s t ] t = 1 T m = [ ( r t , { p t , o , o O a } ) ] t = 1 T m
    Figure DE102020214633A1_0015
    des Benutzers 501 trainiert, beispielsweise gemäß einer EM (Expectation Maximization)-Prozedur.
  • Das Resultat des Trainings sind Werte für den Parametersatz θ = { { a h k } h = 1 K , ( μ k D , σ k D ) , γ k } k = 1 K ,
    Figure DE102020214633A1_0016
    die das TP-HSMM charakterisieren.
  • Gemäß verschiedenen Ausführungsformen kann die Steuervorrichtung 106 die Robotervorrichtung 101 unter Verwendung des TP-HSMM-Robotertrajektorie-Modells 206 steuern, um eine Tätigkeit auszuführen, beispielsweise für ein neues Szenario. Zum Beispiel kann die Steuervorrichtung 106 das Robotertrajektorie-Modell 206 verwenden, um eine Referenztrajektorie für das neue Szenario zu ermitteln, und steuert die Robotervorrichtung 101 derart, dass diese der Referenztrajektorie folgt. Der Begriff „Szenario“ bezieht sich hierbei auf eine spezielle Wahl der modellierten Aufgabenparameter (z.B. Startposition 505 bzw. derzeitige Position und Zielposition 506; z.B. derzeitiger Zustand und Zielzustand).
  • Gemäß verschiedenen Ausführungsformen können ein oder mehrere TP-GMMs ermittelt werden (z.B. mittels der Steuervorrichtung 508). Zum Beispiel kann in der Lernphase ein Vorbedingungsmodell γ1,a, wie beispielsweise das Vorbedingungsmodell 202, trainiert bzw. gelernt werden. Zum Beispiel kann in der Lernphase ein Endbedingungsmodell γT,a , wie beispielsweise das Endbedingungsmodell 208, trainiert bzw. gelernt werden.
  • Das Vorbedingungsmodell γ1,a kann durch γ 1, a ( s , p F ) { ( μ 1, o ( p ) , Σ 1, o ( p ) ) , p TP a \ { o } } o O a F a
    Figure DE102020214633A1_0017
    beschrieben werden.
  • Das Endbedingungsmodell γT,a kann durch γ T , a ( s , p F ) { ( μ T , o ( p ) , Σ T , o ( p ) ) , p TP a } o O a
    Figure DE102020214633A1_0018
    beschrieben werden.
  • Gemäß verschiedenen Ausführungsformen kann eine Fertigkeits-spezifische Mannigfaltigkeit
    Figure DE102020214633A1_0019
    mittels des TP-HSMM-Robotertrajektorie-Modells 206, des Vorbedingungsmodells 202, γ1,a, und des Endbedingungsmodells 208, γT,a, gemäß Gleichung (5) beschrieben werden: M a = ( θ a , γ 1, a , γ T , a )
    Figure DE102020214633A1_0020
  • Anschaulich beschreibt (z.B. modelliert) das TP-HSMM-Robotertrajektorie-Modell 206 die Trajektorie einer Fertigkeit 3. Anschaulich beschreiben (z.B. modellieren) das Vorbedingungsmodell 202, γ1,a, und das Endbedingungsmodell 208, γT,a, die geometrischen Beziehungen zwischen der Robotervorrichtung 101 und den Objekten o∈Oa. Anschaulich können das Vorbedingungsmodell 202, γ1,a, das Endbedingungsmodell 208, γT,a, und das TP-HSMM-Robotertrajektorie-Modells 206 eine Fertigkeits-Datenbank bilden.
  • Gemäß verschiedenen Ausführungsformen kann das Robotertrajektorie-Modell 206 die Trajektorie einer Fertigkeit zum Aufnehmen eines Objekts beschreiben und kann unter Verwendung von Demonstrationen zum Ausführen des Aufnehmens eines Objektes trainiert werden. Gemäß verschiedenen Ausführungsformen kann das Vorbedingungsmodell 204 ein TP-GMM für eine Fertigkeit zum Aufnehmen eines Objekts aufweisen und kann unter Verwendung von Demonstrationen zum Ausführen des Aufnehmens eines Objektes trainiert werden. Gemäß verschiedenen Ausführungsformen kann das Endbedingungsmodell 208 ein TP-GMM für eine Fertigkeit zum Aufnehmen eines Objekts aufweisen und kann unter Verwendung von Demonstrationen zum Ausführen des Aufnehmens eines Objektes trainiert werden.
  • Gemäß verschiedenen Ausführungsformen kann das Robotertrajektorie-Modell 206 die Trajektorie einer Fertigkeit zum Bewegen eines aufgenommenen Objekts beschreiben und kann unter Verwendung von Demonstrationen zum Ausführen des Bewegens eines aufgenommenen Objekts trainiert werden. Gemäß verschiedenen Ausführungsformen kann das Vorbedingungsmodell 204 ein TP-GMM für eine Fertigkeit zum Bewegen eines aufgenommenen Objekts aufweisen und kann unter Verwendung von Demonstrationen zum Ausführen des Bewegens eines aufgenommenen Objekts trainiert werden. Gemäß verschiedenen Ausführungsformen kann das Endbedingungsmodell 208 ein TP-GMM für eine Fertigkeit zum Bewegen eines aufgenommenen Objekts aufweisen und kann unter Verwendung von Demonstrationen zum Ausführen des Bewegens eines aufgenommenen Objekts trainiert werden.
  • Mehr Details zum Lernen aus Demonstrationen, zum Beispiel bezüglich des Trainierens des Robotertrajektorie-Modells 206 als TP-HSMM und des Trainierens des Vorbedingungsmodells 202 γ1,a und des Endbedingungsmodells 208 γT,a (in manchen Aspekten auch als Effektmodell bezeichnet) werden in Referenz [3] beschrieben.
  • Mittels der aus Demonstrationen gelernten Modelle (z.B. dem Robotertrajektorie-Modell 206, z.B. dem Vorbedingungsmodell 204, z.B. dem Endbedingungsmodell 208) kann eine Robotertrajektorie mit geringem rechentechnischen Aufwand ermittelt werden.
  • 6 zeigt ein Ablaufdiagramm 600 zum Trainieren eines Objektaufnehmmodells, wie beispielsweise des Objektaufnehmmodells 202, gemäß verschiedenen Ausführungsformen. Gemäß verschiedenen Ausführungsformen kann das Objektaufnehmmodell 202 trainiert werden während die Robotervorrichtung 101 nicht betrieben wird.
  • Gemäß verschiedenen Ausführungsformen kann das Objektaufnehmmodell 202 unter Verwendung einer Vielzahl von Trainings-Tiefenbildern 602 trainiert werden. Jedes Trainings-Tiefenbild der Vielzahl von Trainings-Tiefenbildern 602 kann mindestens ein Objekt einer Vielzahl von Objekten zeigen. Zum Beispiel kann jedes Trainings-Tiefenbild der Vielzahl von Trainings-Tiefenbildern 602 mehrere Objekte der Vielzahl von Objekten zeigen.
  • Gemäß verschiedenen Ausführungsformen kann jedes Trainings-Tiefenbild der Vielzahl von Trainings-Tiefenbildern 602 wie folgt mittels eines Computers 604 verarbeitet werden:
    • Gemäß verschiedenen Ausführungsformen kann für jedes Trainings-Tiefenbild der Vielzahl von Trainings-Tiefenbildern 602 eine Punkwolke ermittelt werden. Zur Veranschaulichung wird im Folgenden die Verarbeitung eines Trainings-Tiefenbilds beschrieben. Es wird darauf hingewiesen, dass die für das Trainings-Tiefenbild beschriebene Verarbeitung auch für eine für das jeweilige Trainings-Tiefenbild erzeugte Punktwolke durchgeführt werden kann.
  • Gemäß verschiedenen Ausführungsformen kann ein Aufnehmmodell für das jeweilige Trainings-Tiefenbild ein oder mehrere Aufnehm-Roboterkonfigurationen 606 ermitteln.
  • Jede Aufnehm-Roboterkonfiguration der ein oder mehrere Aufnehm-Roboterkonfigurationen 606 kann einem Objekt der in dem jeweiligen Trainings-Tiefenbild gezeigten Objekte zugeordnet sein. Eine jeweilige Roboterkonfiguration kann zum Beispiel eine Endeffektor-Position und eine Endeffektor-Rotation (z.B. eine Endeffektor-Orientierung) aufweisen. Eine jeweilige Roboterkonfiguration kann zum Beispiel eine 6D-Konfiguration des Endeffektors sein, welche die 3D-Position und die Orientierung (z.B. Orientierung im 3D-Raum) aufweist. Das Aufnehmmodell kann zum Beispiel für eine Ansaugvorrichtung einen Flächenkontaktpunkt als Aufnehm-Roboterkonfiguration ermitteln. Das Aufnehmmodell kann zum Beispiel für eine Greifvorrichtung zwei sich gegenüberliegende Punkte als Aufnehm-Roboterkonfiguration ermitteln.
  • Gemäß verschiedenen Ausführungsformen kann der Computer 604 eingerichtet sein, für jede Aufnehm-Roboterkonfiguration der ein oder mehreren Aufnehm-Roboterkonfigurationen 606 ein Aufnehmen des jeweils zugeordneten Objekts zu simulieren 608. Zum Beispiel kann für jede Aufnehm-Roboterkonfiguration der ein oder mehreren Aufnehm-Roboterkonfigurationen 606 ein Aufnehmen mehrmals simuliert 608 werden. Für jede Simulation 608 kann ermittelt werden, ob das Aufnehmen des jeweiligen Objekts erfolgreich ist oder nicht. Für jede Simulation 608 kann eine Belohnung 610 in Abhängigkeit von, ob das Aufnehmen des jeweiligen Objekts erfolgreich ist oder nicht, ermittelt werden. Anschaulich kann jede Simulation 608 ein Aufnehmen und ein Anheben des Objekts simulieren und kann einen Erfolg oder Fehlschlag als Belohnung 610 ermitteln. Zum Beispiel kann eine vorgegebene maximale Belohnung (z.B. ein Wert der Belohnung gleich „1“) ermittelt werden, falls das Aufnehmen erfolgreich ist. Zum Beispiel kann eine vorgegebene minimale Belohnung (z.B. ein Wert der Belohnung gleich „0“) ermittelt werden, falls das Aufnehmen nicht erfolgreich ist.
  • Gemäß verschiedenen Ausführungsformen kann das Aufnehmen eines jeweiligen Objekts mittels der jeweils zugeordneten Aufnehm-Roboterkonfiguration unter Verwendung eines physikalischen Simulationsmodells (z.B. eines CAD-basierten physikalischen Simulationsmodells) simuliert werden.
  • Gemäß verschiedenen Ausführungsformen kann das Aufnehmen eines jeweiligen Objekts mittels der jeweils zugeordneten Aufnehm-Roboterkonfiguration unter Verwendung des Robotertrajektorie-Modells 206 und/oder des Vorbedingungsmodells 204 simuliert werden. Zum Beispiel kann das Aufnehmen eines jeweiligen Objekts unter Verwendung des Robotertrajektorie-Modells 206, des Vorbedingungsmodells 204 und/oder des Endbedingungsmodells 208 simuliert werden.
  • Anschaulich kann derart für jede Aufnehm-Roboterkonfiguration der ermittelten ein oder mehreren Aufnehm-Roboterkonfigurationen 606 mindestens eine jeweils zugeordnete Belohnung ein oder mehrerer Belohnungen 610 ermittelt werden.
  • Gemäß verschiedenen Ausführungsformen können die Vielzahl von Trainings-Tiefenbildern 602, die einem jeden Trainings-Tiefenbild der Vielzahl von Trainings-Tiefenbildern 602 zugeordneten ein oder mehreren Aufnehm-Roboterkonfigurationen 606, und die einer jeden Aufnehm-Roboterkonfiguration der ein oder mehreren Aufnehm-Roboterkonfigurationen 606 eines jeden Trainings-Tiefenbild der Vielzahl von Trainings-Tiefenbildern 602 zugeordnete Belohnung 610 einen Trainingsdatensatz bilden.
  • Gemäß verschiedenen Ausführungsformen kann das Objektaufnehmmodell 202 unter Verwendung des Trainingsdatensatzes trainiert 612 werden. Das Objektaufnehmmodell 202 kann mittels des Computers 604 implementiert werden. Das Objektaufnehmmodell 202 kann mittels des Computers 604 trainiert werden.
  • Gemäß verschiedenen Ausführungsformen kann das Objektaufnehmmodell 202 unter Verwendung der Vielzahl von Trainings-Tiefenbildern 602, der Aufnehm-Roboterkonfigurationen 606 und der Belohnungen 610 derart trainiert werden, dass das trainierte Objektaufnehmmodell 202, in Reaktion auf eine Eingabe eines Tiefenbilds hin, eine Mehrzahl von Aufnehm-Roboterkonfigurationen 606 mit einer jeweils zugeordneten Erfolgswahrscheinlichkeit ausgibt.
  • Das Objektaufnehmmodell 202 kann, wie hierin beschrieben, ein neuronales Netzwerk aufweisen. Das Objektaufnehmmodell 202 kann zum Beispiel unter Verwendung eines Backpropagation-Algorithmus trainiert werden.
  • Gemäß verschiedenen Ausführungsformen kann das Objektaufnehmmodell 202 unter Verwendung des Trainingsdatensatzes derart trainiert werden, dass das trainierte Objektaufnehmmodell 202, in Reaktion auf eine Eingabe eines Tiefenbilds hin, eine Vielzahl von Aufnehm-Roboterkonfigurationen für die in dem Tiefenbild gezeigten Objekte ermittelt, jeder Aufnehm-Roboterkonfiguration der Vielzahl von Aufnehm-Roboterkonfigurationen eine jeweilige Erfolgswahrscheinlichkeit zuordnet, und mehrere Aufnehm-Roboterkonfigurationen der Vielzahl von Aufnehm-Roboterkonfigurationen mit einer Erfolgswahrscheinlichkeit oberhalb eines vordefinierten Schwellenwertes als die Mehrzahl von Aufnehm-Roboterkonfigurationen 606 ausgibt.
  • Gemäß verschiedenen Ausführungsformen kann das Objektaufnehmmodell 202 unter Verwendung des Trainingsdatensatzes derart trainiert werden, dass das trainierte Objektaufnehmmodell 202, in Reaktion auf eine Eingabe eines Tiefenbilds hin, die Mehrzahl von Aufnehm-Roboterkonfigurationen 606 mit einer jeweils zugeordneten Erfolgswahrscheinlichkeit ausgibt. Anschaulich kann ein neuronales Netzwerk des Objektaufnehmmodells 202 trainiert werden, für ein Tiefenbild Aufnehm-Roboterkonfigurationen mit zugeordneten Erfolgswahrscheinlichkeiten zu erzeugen.
  • Gemäß verschiedenen Ausführungsformen kann das Objektaufnehmmodell 202 derart trainiert werden, dass eine erwartete Belohnung erhöht (z.B. maximiert) wird. Gemäß verschiedenen Ausführungsformen kann das Objektaufnehmmodell 202 mittels maschinellem Lernen trainiert werden. Zum Beispiel kann das Objektaufnehmmodell 202 mittels bestärkendem Lernen (engl.: reinforcement learning) zum Erhöhen der erwarteten Belohnung trainiert werden. Zum Beispiel kann das Objektaufnehmmodell 202 mittels tiefem Lernen (engl.: deep learning) trainiert werden. Gemäß verschiedenen Ausführungsformen kann unter Verwendung der ermittelten Belohnungen ein Fehlerwert ermittelt werden und das Objektaufnehmmodell 202 kann zum Verringern (z.B. Minimierens) des Fehlerwerts trainiert werden (z.B. mittels Backpropagierung).
  • Gemäß verschiedenen Ausführungsformen kann der Computer 604 eingerichtet sein, für jede Aufnehm-Roboterkonfiguration der ein oder mehreren Aufnehm-Roboterkonfigurationen 606 ein Aufnehmen des jeweils zugeordneten Objekts und ein anschließendes Bewegen des aufgenommenen Objekts zu simulieren 608. Das Aufnehmen und anschließende Bewegen, wie hierin verwendet, kann beispielsweise ein Transportieren des Objekts in einen Zielbereich sein. Ein Bewegen eines Objekts, wie hierin verwendet, kann ein Ändern der Position des Objekts aufweisen.
  • Zum Beispiel kann für jede Aufnehm-Roboterkonfiguration der ein oder mehreren Aufnehm-Roboterkonfigurationen 606 ein Aufnehmen und anschließendes Bewegen mehrmals simuliert 608 werden. Für jede Simulation 608 kann ermittelt werden, ob das Aufnehmen und anschließende Bewegen des jeweiligen Objekts erfolgreich ist oder nicht. Für jede Simulation 608 kann eine Belohnung 610 in Abhängigkeit von, ob das Aufnehmen und anschließende Bewegen des jeweiligen Objekts erfolgreich ist oder nicht, ermittelt werden. Anschaulich kann jede Simulation 608 ein Aufnehmen des Objekts und ein Bewegen des aufgenommenen Objekts simulieren und kann einen Erfolg oder Fehlschlag als Belohnung 610 ermitteln. Zum Beispiel kann das Aufnehmen und anschließende Bewegen erfolgreich sein, falls das Objekt aufgenommen werden kann und falls das aufgenommene Objekt an einen Zielpunkt (z.B. einen Zielbereich) bewegt (z.B. transportiert) werden kann. Zum Beispiel kann eine vorgegebene maximale Belohnung (z.B. ein Wert der Belohnung gleich „1“) ermittelt werden, falls das sowohl das Aufnehmen als auch das anschließende Bewegen erfolgreich sind. Zum Beispiel kann eine vorgegebene minimale Belohnung (z.B. ein Wert der Belohnung gleich „0“) ermittelt werden, falls das Aufnehmen und/oder das Bewegen nicht erfolgreich ist/sind.
  • Gemäß verschiedenen Ausführungsformen kann das Aufnehmen und das anschließende Bewegen eines jeweiligen Objekts unter Verwendung eines physikalischen Simulationsmodells (z.B. eines CAD-basierten physikalischen Simulationsmodells) simuliert werden. Gemäß verschiedenen Ausführungsformen kann das Aufnehmen und anschließende Bewegen eines jeweiligen Objekts unter Verwendung des Robotertrajektorie-Modells 206, des Vorbedingungsmodells 204 und/oder des Endbedingungsmodells 208 simuliert werden.
  • Durch das Simulieren des Aufnehmens (und optional ferner des anschließenden Bewegens) unter Verwendung des Robotertrajektorie-Modells 206, des Vorbedingungsmodells 204 und des Endbedingungsmodells 208 werden geometrische Bedingungen der Robotervorrichtung 101 und Zustände anderer Objekte (z.B. anderer Objekte der ein oder mehreren Objekte 114, z.B. andere Objekte, die sich in dem Arbeitsbereich des Roboterarms 120 befinden, z.B. andere, von dem Roboterarm 120 verschiedene, Roboter und/oder Roboterarme, etc.) berücksichtigt. Derart kann eine Genauigkeit der ermittelten Erfolgswahrscheinlichkeit signifikant erhöht werden.
  • Gemäß verschiedenen Ausführungsformen können die Vielzahl von Trainings-Tiefenbildern 602, die einem jeden Trainings-Tiefenbild der Vielzahl von Trainings-Tiefenbildern 602 zugeordneten ein oder mehreren Aufnehm-Roboterkonfigurationen 606, und die einer jeden Aufnehm-Roboterkonfiguration der ein oder mehreren Aufnehm-Roboterkonfigurationen 606 eines jeden Trainings-Tiefenbild der Vielzahl von Trainings-Tiefenbildern 602 (für das Aufnehmen und anschließende Bewegen ermittelte) zugeordnete Belohnung 610 einen Trainingsdatensatz bilden. Gemäß verschiedenen Ausführungsformen kann das Objektaufnehmmodell 202 unter Verwendung des Trainingsdatensatzes trainiert 612 werden.
  • Anschaulich kann derart nicht nur das Aufnehmen eines Objektes, sondern auch das anschließende Bewegen des aufgenommenen Objektes bei dem Ermitteln der Mehrzahl von Aufnehm-Roboterkonfigurationen mit den zugeordneten Erfolgswahrscheinlichkeiten berücksichtigt werden. Damit wird bei der Erfolgswahrscheinlichkeit auch ein Erfolg des anschließenden Bewegens (z.B. eines Bewegens an einen Zielpunkt) berücksichtigt. Derart kann eine Genauigkeit der ermittelten Erfolgswahrscheinlichkeit signifikant erhöht werden.
  • 7 zeigt ein Ablaufdiagramm 700 zum zusätzlichen Trainieren des Objektaufnehmmodells 202 gemäß verschiedenen Ausführungsformen. Gemäß verschiedenen Ausführungsformen kann das trainierte Objektaufnehmmodell 202 während des Betriebs der Robotervorrichtung 101 zusätzlich trainiert werden.
  • Gemäß verschiedenen Ausführungsformen kann die Steuervorrichtung 106 (z.B. mittels des Steuerungsmodells 200) die Robotervorrichtung 101 zum Ausführen des Aufnehmens des Objekts mittels der ermittelten Robotertrajektorie 310 steuern (siehe zum Beispiel Beschreibung zu 3A). Gemäß verschiedenen Ausführungsformen kann die Steuervorrichtung 106 (z.B. der Computer 110) als Belohnung 702 ermitteln, ob das Aufnehmen des Objekts erfolgreich ausgeführt wurde oder nicht. Zum Beispiel kann eine vorgegebene maximale Belohnung (z.B. ein Wert der Belohnung gleich „1“) ermittelt werden, falls das Aufnehmen des Objekts erfolgreich ausgeführt wurde. Zum Beispiel kann eine vorgegebene minimale Belohnung (z.B. ein Wert der Belohnung gleich „0“) ermittelt werden, falls das Aufnehmen des Objekts nicht erfolgreich ausgeführt wurde.
  • Gemäß verschiedenen Ausführungsformen kann die Steuervorrichtung 106 (z.B. mittels des Steuerungsmodells 200) die Robotervorrichtung 101 zum Ausführen des Aufnehmens und des anschließenden Bewegens des Objekts mittels der jeweils ermittelten Robotertrajektorie 310 steuern (siehe zum Beispiel Beschreibung zu 3A). Gemäß verschiedenen Ausführungsformen kann die Steuervorrichtung 106 (z.B. der Computer 110) als Belohnung 702 ermitteln, ob das Aufnehmen und anschließende Bewegen des Objekts erfolgreich ausgeführt wurde oder nicht. Zum Beispiel kann eine vorgegebene maximale Belohnung (z.B. ein Wert der Belohnung gleich „1“) ermittelt werden, falls das Aufnehmen und anschließende Bewegen des Objekts erfolgreich ausgeführt wurde. Zum Beispiel kann eine vorgegebene minimale Belohnung (z.B. ein Wert der Belohnung gleich „0“) ermittelt werden, falls das Aufnehmen des Objekts und/oder das Bewegen des Objekts nicht erfolgreich ausgeführt wurde.
  • Gemäß verschiedenen Ausführungsformen kann das trainierte Objektaufnehmmodell 202 unter Verwendung der ermittelten Belohnung, der Aufnehm-Roboterkonfiguration für die das Aufnehmen ausgeführt wird/wurde, und des Tiefenbilds für das die Aufnehm-Roboterkonfiguration ermittelt wird/wurde zusätzlich trainiert 704 werden. Anschaulich kann das Objektaufnehmmodell 202 während des Betriebs zusätzlich angepasst werden je nachdem, ob ermittelte Aufnehm-Roboterkonfigurationen zu einem erfolgreichen Ausführen des Aufnehmens des zugeordneten Objekts (und optional ferner zu einem erfolgreichen Ausführen des Bewegens des aufgenommenen Objekts) führen oder nicht.
  • 8 zeigt eine beispielhafte Robotervorrichtungsanordnung 800 mit mehreren Roboterarmen, gemäß verschiedenen Ausführungsformen. Die Robotervorrichtungsanordnung 800 zeigt beispielhaft zwei Roboterarme. Es wird darauf hingewiesen, dass die Robotervorrichtungsanordnung 800 mehr als zwei Roboterarme aufweisen kann.
  • Gemäß verschiedenen Ausführungsformen kann die Robotervorrichtungsanordnung 800 die Robotervorrichtungsanordnung 100 aufweisen. Der Roboterarm 120 der Robotervorrichtung 101 kann ein erster Roboterarm 120 sein. Robotervorrichtungsanordnung 800 kann ferner einen zweiten Roboterarm 820 aufweisen.
  • Die in 8 gezeigte und im Folgenden beispielhaft beschriebene Robotervorrichtungsanordnung 800 stellt zur Veranschaulichung eine beispielhafte Robotervorrichtung 101 mit einem ersten Roboterarm 120 und einem zweiten Roboterarm 820 dar. Es wird darauf hingewiesen, dass die Robotervorrichtung jede Art von computergesteuerter Vorrichtung mit mindestens zwei Manipulationseinrichtungen zum Manipulieren (z.B. Bewegen, z.B. Bearbeiten, z.B. Verarbeiten, etc.) von Objekten sein kann, wie beispielsweise ein Roboter (z.B. ein Fertigungsroboter, ein Wartungsroboter, ein Haushaltsroboter, ein Medizinroboter, etc.), ein Fahrzeug (z.B. ein autonomes Fahrzeug), ein Haushaltsgerät, eine Produktionsmaschine, ein persönlicher Assistent, ein Zugangs-Steuerungs-System, etc.
  • Gemäß verschiedenen Ausführungsformen kann der zweite Roboterarm 820 eingerichtet sein, ein oder mehrere Objekte 114 aufzunehmen. Gemäß verschiedenen Ausführungsformen kann der zweite Roboterarm 820 eingerichtet sein, ein aufgenommenes Objekt zu bewegen.
  • Der zweite Roboterarm 820 kann Roboterglieder 802, 803, 804 und einen Sockel (oder allgemein eine Halterung) 805, durch die die Roboterglieder 802, 803, 804 getragen werden, aufweisen. Die Steuervorrichtung 106 kann eingerichtet sein, die Interaktion mit der Umgebung gemäß einem Steuerungsprogramm zu realisieren. Zum Beispiel kann die Steuervorrichtung 106 eingerichtet sein, den ersten Roboterarm 120 und den zweiten Roboterarm 820 zu steuern. Das letzte Element 804 (von dem Sockel 805 aus gesehen) der Roboterglieder 802, 803, 804 wird auch als Endeffektor 804 bezeichnet und kann ein oder mehrere Werkzeuge wie beispielsweise ein Greifwerkzeug oder eine Ansaugvorrichtung (z.B. einen Saugkopf) oder dergleichen beinhalten.
  • In diesem Beispiel kann der Endeffektor 104 des ersten Roboterarms 120 ein Greifwerkzeug aufweisen und der Endeffektor 804 des zweiten Roboterarms 820 kann eine Ansaugvorrichtung zum Ansaugen eines Objekts aufweisen. Ein Aufnehmen eines Objekts, wie hierin beschrieben, kann zum Beispiel ein Greifen und/oder Ansaugen des Objekts sein. Es wird darauf hingewiesen, dass dies der veranschaulichenden Beschreibung dient und der erste Roboterarm 120 und/oder der zweite Roboterarm 820 jede andere Art von Endeffektor zum Manipulieren von Objekten sein oder aufweisen können.
  • Der zweite Roboterarm 820 kann Verbindungselemente 807, 808, 809 beinhalten, die die Roboterglieder 802, 803, 804 miteinander und mit dem Sockel 805 verbinden. Der zweite Roboterarm 820 kann bis auf das jeweilige Werkzeug des Endeffektors 104, 804 im Wesentlichen dem ersten Roboterarm 120 entsprechen. Zum Beispiel können die anderen Roboterglieder 802, 803, der Sockel 805, und die Verbindungselemente 807, 808, 809 entsprechend der hierin beschriebenen anderen Roboterglieder 102, 103, dem Sockel 105, und den Verbindungselementen 107, 108, 109 des ersten Roboterarms 120 eingerichtet sein.
  • 9 zeigt ein Ablaufdiagramm 900 zum Steuern einer Robotervorrichtung mit mehreren Roboterarmen, gemäß verschiedenen Ausführungsformen. Das Ablaufdiagramm 900 zeigt das Steuern der Robotervorrichtung mit mehreren Roboterarmen beispielhaft für einen ersten Roboterarm (z.B. den ersten Roboterarm 120 der Robotervorrichtungsanordnung 800) und einen zweiten Roboterarm (z.B. den zweiten Roboterarm 820 der Robotervorrichtungsanordnung 800). Es wird darauf hingewiesen, dass das Ablaufdiagramm 900 entsprechend für mehr als zwei Roboterarme zutrifft.
  • Gemäß verschiedenen Ausführungsformen kann das Steuerungsmodell 200 ein jeweiliges Robotertrajektorie-Modell 206 für den ersten Roboterarm 120 und den zweiten Roboterarm 820 aufweisen. Das Steuerungsmodell 200 kann ein jeweiliges Objektaufnehmmodell 202 für den ersten Roboterarm 120 und den zweiten Roboterarm 820 aufweisen. Das Steuerungsmodell 200 kann ein jeweiliges Vorbedingungsmodell 204 für den ersten Roboterarm 120 und den zweiten Roboterarm 820 aufweisen. Das Steuerungsmodell 200 kann ein jeweiliges Endbedingungsmodell 208 für den ersten Roboterarm 120 und den zweiten Roboterarm 820 aufweisen.
  • Gemäß verschiedenen Ausführungsformen kann der Computer 110 eingerichtet sein, für den ersten Roboterarm 120 und den zweiten Roboterarm 820 jeweils eine Mehrzahl von Aufnehm-Roboterkonfigurationen 304 mit zugeordneten Erfolgswahrscheinlichkeiten mittels des jeweiligen Objektaufnehmmodells 202 zu ermitteln. Zum Beispiel kann der Computer 110 mittels des dem ersten Roboterarm 120 zugeordneten Objektaufnehmmodells 202-1 eine erste Mehrzahl von Aufnehm-Roboterkonfigurationen 304-1 ermitteln. Zum Beispiel kann der Computer 110 mittels des dem zweiten Roboterarm 820 zugeordneten Objektaufnehmmodells 202-2 eine zweite Mehrzahl von Aufnehm-Roboterkonfigurationen 304-2 ermitteln.
  • Gemäß verschiedenen Ausführungsformen kann der Computer 110 eingerichtet sein, die Aufnehm-Roboterkonfiguration der ersten Mehrzahl von Aufnehm-Roboterkonfigurationen 304-1 mit der höchsten zugeordneten Erfolgswahrscheinlichkeit auszuwählen als erste Aufnehm-Roboterkonfiguration und die Aufnehm-Roboterkonfiguration der zweiten Mehrzahl von Aufnehm-Roboterkonfigurationen 304-2 mit der höchsten zugeordneten Erfolgswahrscheinlichkeit auszuwählen als zweite Aufnehm-Roboterkonfiguration auszuwählen. Gemäß verschiedenen Ausführungsformen kann der Computer 110 eingerichtet sein, für die erste Aufnehm-Roboterkonfiguration mittels des dem ersten Roboterarm 120 zugeordneten Vorbedingungsmodells 204-1 eine erste Ausführ-Wahrscheinlichkeit zu ermitteln und für die zweite Aufnehm-Roboterkonfiguration mittels des dem zweiten Roboterarm 820 zugeordneten Vorbedingungsmodells 204-2 eine zweite Ausführ-Wahrscheinlichkeit zu ermitteln. Gemäß verschiedenen Ausführungsformen kann die Aufnehm-Roboterkonfiguration der ersten Aufnehm-Roboterkonfiguration und der zweiten Aufnehm-Roboterkonfiguration ausgewählt werden, die die größere zugeordnete Ausführ-Wahrscheinlichkeit aufweist. Anschaulich kann die erste Aufnehm-Roboterkonfiguration ausgewählt werden, falls die erste Ausführ-Wahrscheinlichkeit größer als die zweite Ausführ-Wahrscheinlichkeit ist, und es kann die zweite Aufnehm-Roboterkonfiguration ausgewählt werden, falls die zweite Ausführ-Wahrscheinlichkeit größer als die erste Ausführ-Wahrscheinlichkeit ist. Gemäß verschiedenen Ausführungsformen kann der Roboterarm, der der ausgewählten Aufnehm-Roboterkonfiguration zugeordnet ist, ausgewählt werden. Das Robotertrajektorie-Modell 206 des ausgewählten Roboterarms kann für die ausgewählte Aufnehm-Roboterkonfiguration eine Robotertrajektorie für das Aufnehmen ermitteln.
  • Gemäß verschiedenen Ausführungsformen kann der Computer 110 eingerichtet sein, ein oder mehrere Roboterkonfigurationen der ersten Mehrzahl von Aufnehm-Roboterkonfigurationen 304-1 zu ermitteln, denen eine Erfolgswahrscheinlichkeit oberhalb eines vordefinierten ersten Erfolgs-Schwellenwertes (z.B. größer als 70 %, z.B. größer als 80 %, z.B. größer als 90 %, z.B. größer als 95 %, etc.) zugeordnet ist. Gemäß verschiedenen Ausführungsformen kann der Computer 110 eingerichtet sein, ein oder mehrere Roboterkonfigurationen der zweiten Mehrzahl von Aufnehm-Roboterkonfigurationen 304-2 zu ermitteln, denen eine Erfolgswahrscheinlichkeit oberhalb eines vordefinierten zweiten Erfolgs-Schwellenwertes (z.B. größer als 70 %, z.B. größer als 80 %, z.B. größer als 90 %, z.B. größer als 95 %, etc.) zugeordnet ist. In manchen Aspekten kann der erste Erfolgs-Schwellenwert dem zweiten Erfolgs-Schwellenwert entsprechen. Gemäß verschiedenen Ausführungsformen kann der erste Erfolgs-Schwellenwert von dem zweiten Erfolgs-Schwellenwert verschieden sein (z.B. in Abhängigkeit einer Art des Endeffektors). Anschaulich können den Roboterarmen mittels verschiedener Erfolgs-Schwellenwerte unterschiedliche Prioritäten zugeordneten werden. Zum Beispiel können derart verschiedene geometrische Bedingungen der Roboterarme berücksichtigt werden.
  • Gemäß verschiedenen Ausführungsformen kann der Computer 110 eingerichtet sein, für die aus der ersten Mehrzahl von Aufnehm-Roboterkonfigurationen 304-1 ausgewählten ein oder mehreren Roboterkonfigurationen zugeordnete ein oder mehrere erste Ausführ-Wahrscheinlichkeiten 308-1 (z.B. ein oder mehrere erste Konfidenzen) unter Verwendung des dem ersten Roboterarm 120 zugeordneten Vorbedingungsmodells 204-1 zu ermitteln. Gemäß verschiedenen Ausführungsformen kann der Computer 110 eingerichtet sein, für die aus der zweiten Mehrzahl von Aufnehm-Roboterkonfigurationen 304-2 ausgewählten ein oder mehreren Roboterkonfigurationen zugeordnete ein oder mehrere zweite Ausführ-Wahrscheinlichkeiten 308-2 (z.B. ein oder mehrere zweite Konfidenzen) unter Verwendung des dem zweiten Roboterarm 820 zugeordneten Vorbedingungsmodells 204-2 zu ermitteln.
  • Gemäß verschiedenen Ausführungsformen kann der Computer 110 eingerichtet sein, aus den ein oder mehreren Roboterkonfigurationen des ersten Roboterarms 120, die aus der ersten Mehrzahl von Aufnehm-Roboterkonfigurationen 304-1 ausgewählt werden, und den ein oder mehreren Roboterkonfigurationen des zweiten Roboterarms 820, die aus der zweiten Mehrzahl von Aufnehm-Roboterkonfigurationen 304-2 ausgewählt werden, die Aufnehm-Roboterkonfiguration 902 mit der höchsten Ausführ-Wahrscheinlichkeit gemäß dem jeweils zugeordneten Vorbedingungsmodell 204-1, 204-2 auszuwählen. Anschaulich kann eine Menge bestehend aus den ein oder mehreren Roboterkonfigurationen des ersten Roboterarms 120 und den ein oder mehreren Roboterkonfigurationen des zweiten Roboterarms 820 eine Menge jeweils zugeordneter Ausführ-Wahrscheinlichkeiten aufweisen und der Computer 110 kann die Aufnehm-Roboterkonfiguration 902 mit der Ausführ-Wahrscheinlichkeit mit dem größten zugeordneten Wert auswählen.
  • Anschaulich ist die ausgewählte Aufnehm-Roboterkonfiguration 902 dem ersten Roboterarm 120 oder dem zweiten Roboterarm 820 zugeordnet. Dem ersten Roboterarm 120 kann ein Robotertrajektorie-Modell 206-1 zugeordnet sein und dem zweiten Roboterarm 820 kann ein Robotertrajektorie-Modell 206-2 zugeordnet sein.
  • Gemäß verschiedenen Ausführungsformen kann für die ausgewählte Aufnehm-Roboterkonfiguration 902 die Robotertrajektorie 310 des Roboterarms, der der ausgewählten Aufnehm-Roboterkonfiguration 902 zugeordnet ist, mittels des dem Roboterarm zugeordneten Robotertrajektorie-Modells 206-1, 206-2 ermittelt werden.
  • Gemäß verschiedenen Ausführungsformen kann die Steuervorrichtung 106 eingerichtet sein, den der ausgewählten Aufnehm-Roboterkonfiguration 902 zugeordneten Roboterarm der Robotervorrichtung 101 zum Aufnehmen des Objekts mittels der ermittelten Robotertrajektorie 310 zu steuern 312.
  • Anschaulich kann zum Beispiel eine erste Aufnehm-Roboterkonfiguration des ersten Roboterarms 120 die größte Erfolgswahrscheinlichkeit aufweisen und eine zweite Aufnehm-Roboterkonfiguration des zweiten Roboterarms 820 kann eine kleinere Erfolgswahrscheinlichkeit aufweisen, aber die mittels des dem ersten Roboterarm 120 zugeordneten Vorbedingungsmodells 204-1 ermittelte Ausführ-Wahrscheinlichkeit der ersten Aufnehm-Roboterkonfiguration kann in diesem Beispiel kleiner sein als die mittels des dem zweiten Roboterarm 820 zugeordneten Vorbedingungsmodells 204-2 ermittelte Ausführ-Wahrscheinlichkeit der zweiten Aufnehm-Roboterkonfiguration. Dies kann zum Beispiel der Fall sein, falls geometrische Bedingungen des ersten Roboterarms 120 für die erste Aufnehm-Roboterkonfiguration nicht erfüllt sind und/oder falls andere Objekte eine Bewegung des ersten Roboterarms 120 einschränken (z.B. blockieren). Anschaulich kann auf diese Weise der zweite Roboterarm 820 zum Aufnehmen des Objekts mittels der zweiten Aufnehm-Roboterkonfiguration gesteuert werden.
  • Gemäß verschiedenen Ausführungsformen kann das Steuerungsmodell 200 für den ersten Roboterarm 120 und den zweiten Roboterarm 820 jeweils ein Endbedingungsmodell aufweisen. Gemäß verschiedenen Ausführungsformen kann die Steuervorrichtung 106 eingerichtet sein, die Robotervorrichtung 101 (z.B. den ersten Roboterarm 120 bzw. den zweiten Roboterarm 820) zum Ausführen des Aufnehmens eines Objektes und einem anschließenden Bewegen des aufgenommenen Objekts zu steuern. In diesem Fall kann die Auswahl, wie mit Bezug auf 3A beschrieben, für den ersten Roboterarm 120 und den zweiten Roboterarm 820 jeweils erfolgen, wobei die Aufnehm-Roboterkonfiguration 902 aus der Menge der Ausführ-Wahrscheinlichkeiten des ersten Roboterarms 120 und des zweiten Roboterarms 820, wie mit Bezug auf 9 beschrieben, ausgewählt wird.
  • 10 zeigt ein Verfahren 1000 zum Steuern einer Robotervorrichtung gemäß verschiedenen Ausführungsformen.
  • Gemäß verschiedenen Ausführungsformen kann das Verfahren das Steuern der Robotervorrichtung mit einem Steuerungsmodell aufweisen. Das Steuerungsmodell kann eingerichtet sein zum Steuern der Robotervorrichtung zum Aufnehmen eines Objekts.
  • Gemäß verschiedenen Ausführungsformen kann das Steuerungsmodell ein Robotertrajektorie-Modell, ein Vorbedingungsmodell und ein Objektaufnehmmodell aufweisen. Das Robotertrajektorie-Modell kann für das Aufnehmen ein Hidden-Semi-Markov-Modell mit ein oder mehreren Anfangszuständen und ein oder mehreren Endzuständen aufweisen. Das Vorbedingungsmodell kann für jeden Anfangszustand des Robotertrajektorie-Modells eine Wahrscheinlichkeitsverteilung von Roboterkonfigurationen vor dem Ausführen des Aufnehmens aufweisen. Das Objektaufnehmmodell kann eingerichtet sein, in Reaktion auf eine Eingabe eines Tiefenbilds hin, eine Mehrzahl von Aufnehm-Roboterkonfigurationen mit einer jeweils zugeordneten Erfolgswahrscheinlichkeit auszugeben.
  • Das Verfahren 1000 kann ein Ermitteln eines Tiefenbilds, das ein oder mehrere Objekte zeigt, aufweisen (in 1002).
  • Das Verfahren 1000 kann für mindestens ein zu bewegendes Objekt der ein oder mehreren Objekte ein Ermitteln ein oder mehrerer Aufnehm-Roboterkonfigurationen mit einer Erfolgswahrscheinlichkeit oberhalb eines vordefinierten Schwellenwertes mittels des Objektaufnehmmodells unter Verwendung des Tiefenbildes aufweisen (in 1004).
  • Das Verfahren 1000 kann für die Aufnehm-Roboterkonfiguration mit der höchsten zugeordneten Wahrscheinlichkeit (z.B. Konfidenz) gemäß dem Vorbedingungsmodell ein Ermitteln einer Robotertrajektorie für das Aufnehmen mittels des Robotertrajektorie-Modells aufweisen (in 1006).
  • Das Verfahren 1000 kann ein Steuern der Robotervorrichtung zum Ausführen des Aufnehmens des (der Aufnehm-Roboterkonfiguration mit der höchsten zugeordneten Wahrscheinlichkeit zugeordneten) Objekts mittels der ermittelten Robotertrajektorie aufweisen (in 1008).
  • Gemäß verschiedenen Ausführungsformen kann die Robotervorrichtung einen ersten Roboterarm zum Aufnehmen eines Objekts und einen zweiten Roboterarm zum Aufnehmen eines Objekts aufweisen. Das Steuerungsmodell kann für den ersten Roboterarm und für den zweiten Roboterarm jeweils Robotertrajektorie-Modell, ein Vorbedingungsmodell und ein Objektaufnehmmodell aufweisen. In diesem Beispiel kann das Ermitteln der ein oder mehreren Aufnehm-Roboterkonfigurationen mit einer Erfolgswahrscheinlichkeit oberhalb des vordefinierten Schwellenwertes mittels des Objektaufnehmmodells unter Verwendung des Tiefenbildes (in 1004) für das mindestens eine zu bewegendes Objekt der ein oder mehreren Objekte ein Ermitteln ein oder mehrerer Aufnehm-Roboterkonfigurationen des ersten Roboterarms mit einer Erfolgswahrscheinlichkeit oberhalb eines vordefinierten Schwellenwertes (z.B. eines ersten vordefinierten Schwellenwertes) mittels des dem ersten Roboterarm zugeordneten Objektaufnehmmodells unter Verwendung des Tiefenbildes und ein Ermitteln ein oder mehrerer Aufnehm-Roboterkonfigurationen des zweiten Roboterarms mit einer Erfolgswahrscheinlichkeit oberhalb eines vordefinierten Schwellenwertes (z.B. eines zweiten vordefinierten Schwellenwertes) mittels des dem zweiten Roboterarm zugeordneten Objektaufnehmmodells unter Verwendung des Tiefenbildes aufweisen. Das Ermitteln der Robotertrajektorie für das Aufnehmen mittels des Robotertrajektorie-Modells für die Aufnehm-Roboterkonfiguration mit der höchsten zugeordneten Wahrscheinlichkeit (z.B. Konfidenz) gemäß dem Vorbedingungsmodell (in 1006) kann aufweisen: Auswählen der Aufnehm-Roboterkonfiguration aus den ein oder mehreren Aufnehm-Roboterkonfigurationen des ersten Roboterarms und den ein oder mehreren Aufnehm-Roboterkonfigurationen des zweiten Roboterarms mit der höchsten Wahrscheinlichkeit (z.B. Konfidenz) gemäß dem Vorbedingungsmodell, Auswählen des der ausgewählten Aufnehm-Roboterkonfiguration zugeordneten Roboterarms, und Ermitteln einer Robotertrajektorie für das Aufnehmen gemäß der ausgewählten Aufnehm-Roboterkonfiguration mittels des dem ausgewählten Roboterarm zugeordneten Robotertrajektorie-Modells. Das Steuern der Robotervorrichtung zum Ausführen des Aufnehmens des Objekts mittels der ermittelten Robotertrajektorie (in 1008) kann ein Steuern des ausgewählten Roboterarms der Robotervorrichtung zum Ausführen des Aufnehmens des (der ausgewählten Aufnehm-Roboterkonfiguration zugeordneten) Objekts mittels der ermittelten Robotertrajektorie aufweisen.

Claims (15)

  1. Verfahren zum Steuern einer Robotervorrichtung mit einem Steuerungsmodell, eingerichtet zum Steuern der Robotervorrichtung zum Aufnehmen eines Objekts, wobei das Steuerungsmodell ein Robotertrajektorie-Modell, ein Vorbedingungsmodell und ein Objektaufnehmmodell aufweist, wobei das Robotertrajektorie-Modell für das Aufnehmen ein Hidden-Semi-Markov-Modell mit ein oder mehreren Anfangszuständen und ein oder mehreren Endzuständen aufweist, wobei das Vorbedingungsmodell für jeden Anfangszustand des Robotertrajektorie-Modells eine Wahrscheinlichkeitsverteilung von Roboterkonfigurationen vor dem Ausführen des Aufnehmens aufweist, wobei das Objektaufnehmmodell, in Reaktion auf eine Eingabe eines Tiefenbilds hin, eine Mehrzahl von Aufnehm-Roboterkonfigurationen mit einer jeweils zugeordneten Erfolgswahrscheinlichkeit ausgibt, das Verfahren aufweisend: • Ermitteln eines Tiefenbildes, das ein oder mehrere Objekte zeigt; • für mindestens ein zu bewegendes Objekt der ein oder mehreren Objekte, Ermitteln ein oder mehrerer Aufnehm-Roboterkonfigurationen mit einer Erfolgswahrscheinlichkeit oberhalb eines vordefinierten Schwellenwerts mittels des Objektaufnehmmodells unter Verwendung des Tiefenbildes; • für die Aufnehm-Roboterkonfiguration der ein oder mehreren Aufnehm-Roboterkonfigurationen mit der höchsten Wahrscheinlichkeit gemäß dem Vorbedingungsmodell, Ermitteln einer Robotertrajektorie für das Aufnehmen mittels des Robotertrajektorie-Modells; und • Steuern der Robotervorrichtung zum Ausführen des Aufnehmens des Objekts mittels der ermittelten Robotertrajektorie.
  2. Verfahren gemäß Anspruch 1, wobei das Robotertrajektorie-Modell und das Vorbedingungsmodell unter Verwendung von Demonstrationen zum Durchführen des Aufnehmens eines Objekts trainiert werden.
  3. Verfahren gemäß einem der Ansprüche 1 oder 2, wobei das Objektaufnehmmodell unter Verwendung einer Vielzahl von Trainings-Tiefenbildern trainiert wird, wobei jedes Trainings-Tiefenbild mindestens ein Objekt einer Vielzahl von Objekten zeigt, das Trainieren aufweisend: • für jedes Trainings-Tiefenbild der Vielzahl von Trainings-Tiefenbildern, Simulieren eines mehrmaligen Aufnehmens des mindestens einen Objekts und Ermitteln, ob das jeweilige Aufnehmen des mindestens einen Objekts erfolgreich ist oder nicht, als Belohnung, wobei jedes Aufnehmen des mindestens einen Objekts einer jeweiligen Aufnehm-Roboterkonfiguration zugeordnet ist; • Trainieren des Objektaufnehmmodells unter Verwendung der Vielzahl von Trainings-Tiefenbildern, der Belohnungen und der Aufnehm-Roboterkonfigurationen derart, dass das trainierte Objektaufnehmmodell, in Reaktion auf eine Eingabe eines Tiefenbilds hin, eine Mehrzahl von Aufnehm-Roboterkonfigurationen mit einer jeweils zugeordneten Erfolgswahrscheinlichkeit ausgibt.
  4. Verfahren gemäß Anspruch 3, wobei jedes Aufnehmen eines Objekts unter Verwendung des Robotertrajektorie-Modells und des Vorbedingungsmodells simuliert wird.
  5. Verfahren gemäß einem der Ansprüche 1 bis 4, ferner aufweisend: • Ermitteln, ob das Ausführen des Aufnehmens des Objekts durch die Robotervorrichtung erfolgreich ist oder nicht, wobei eine vorgegebene maximale Belohnung ermittelt wird, falls das Ausführen des Aufnehmens erfolgreich ist, und wobei vorgegebene minimale Belohnung ermittelt wird, falls das Ausführen des Aufnehmens nicht erfolgreich ist; · zusätzliches Trainieren des Objektaufnehmmodells unter Verwendung des ermittelten Tiefenbilds, der Aufnehm-Roboterkonfiguration, für die die Robotertrajektorie ermittelt wird, und der ermittelten Belohnung.
  6. Verfahren gemäß einem der Ansprüche 1 bis 5, wobei das Steuerungsmodell ferner zum Steuern der Robotervorrichtung zum Bewegen eines aufgenommenen Objekts eingerichtet ist; wobei das Robotertrajektorie-Modell für das Bewegen ein Hidden-Semi-Markov-Modell mit ein oder mehreren Anfangszuständen und ein oder mehreren Endzuständen aufweist, wobei das Vorbedingungsmodell für jeden Anfangszustand des dem Bewegen zugeordneten Robotertrajektorie-Modells eine Wahrscheinlichkeitsverteilung von Roboterkonfigurationen vor dem Ausführen des Bewegens aufweist; wobei das Steuerungsmodell ferner ein Endbedingungsmodell aufweist, wobei das Endbedingungsmodell für jeden Endzustand des dem Aufnehmen zugeordneten Robotertrajektorie-Modells eine Wahrscheinlichkeitsverteilung von Roboterkonfigurationen nach dem Ausführen des Aufnehmens und für jeden Endzustand des dem Bewegen zugeordneten Robotertrajektorie-Modells eine Wahrscheinlichkeitsverteilung von Roboterkonfigurationen nach dem Ausführen des Bewegens aufweist; wobei das Verfahren ferner aufweist: • Ermitteln einer Roboterkonfiguration nach dem Ausführen des Aufnehmens des Objekts gemäß dem Endbedingungsmodell; • Ermitteln einer Robotertrajektorie für das Bewegen des Objekts mittels des Robotertrajektorie-Modells; • Steuern der Robotervorrichtung zum Ausführen des Bewegens des Objekts mittels der ermittelten Robotertrajektorie.
  7. Verfahren gemäß Anspruch 6, wobei das Robotertrajektorie-Modell, das Vorbedingungsmodell und das Endbedingungsmodell unter Verwendung von Demonstrationen zum Durchführen des Aufnehmens eines Objekts und Demonstrationen zum Durchführen des Bewegens eines Objekts trainiert werden.
  8. Verfahren gemäß einem der Ansprüche 6 oder 7, wobei das Objektaufnehmmodell unter Verwendung einer Vielzahl von Trainings-Tiefenbildern trainiert wird, wobei jedes Trainings-Tiefenbild mindestens ein Objekt einer Vielzahl von Objekten zeigt, das Trainieren aufweisend: • für jedes Trainings-Tiefenbild der Vielzahl von Trainings-Tiefenbildern, Simulieren eines mehrmaligen Aufnehmens und anschließenden des mindestens einen Objekts und Ermitteln, ob das jeweilige Aufnehmen und anschließende Bewegen des mindestens einen Objekts erfolgreich ist oder nicht, als Belohnung, wobei jedes Aufnehmen des mindestens einen Objekts einer jeweiligen Aufnehm-Roboterkonfiguration zugeordnet ist; • Trainieren des Objektaufnehmmodells unter Verwendung der Vielzahl von Trainings-Tiefenbildern, der Belohnungen und der Aufnehm-Roboterkonfigurationen derart, dass das trainierte Objektaufnehmmodell, in Reaktion auf eine Eingabe eines Tiefenbilds hin, eine Mehrzahl von Aufnehm-Roboterkonfigurationen mit einer jeweils zugeordneten Erfolgswahrscheinlichkeit ausgibt.
  9. Verfahren gemäß Anspruch 8, wobei jedes Aufnehmen und anschließende Bewegen eines Objekts unter Verwendung des Robotertrajektorie-Modells, des Vorbedingungsmodells und des Endbedingungsmodells simuliert wird.
  10. Verfahren gemäß einem der Ansprüche 6 bis 9, ferner aufweisend: • Ermitteln, ob das Ausführen des Bewegens des Objekts durch die Robotervorrichtung erfolgreich ist oder nicht, wobei eine vorgegebene maximale Belohnung ermittelt wird, falls das Ausführen des Bewegens erfolgreich ist, und wobei eine vorgegebene minimale Belohnung ermittelt wird, falls das Ausführen des Bewegens nicht erfolgreich ist; • zusätzliches Trainieren des Objektaufnehmmodells unter Verwendung des ermittelten Tiefenbilds, der Aufnehm-Roboterkonfiguration, für die die Robotertrajektorie zum Aufnehmen des Objekts ermittelt wird, und der ermittelten Belohnung.
  11. Verfahren gemäß einem der Ansprüche 1 bis 10, wobei die Robotervorrichtung einen ersten Roboterarm zum Aufnehmen eines Objekts und einen zweiten Roboterarm zum Aufnehmen eines Objekts aufweist; wobei das Steuerungsmodell für den ersten Roboterarm und den zweiten Roboterarm jeweils ein Robotertrajektorie-Modell, ein Vorbedingungsmodell und ein Objektaufnehmmodell aufweist; wobei das Ermitteln, ein oder mehrerer Aufnehm-Roboterkonfigurationen mit einer Erfolgswahrscheinlichkeit oberhalb eines vordefinierten Schwellenwerts mittels des Objektaufnehmmodells für mindestens ein zu bewegendes Objekt der ein oder mehreren Objekte unter Verwendung des Tiefenbildes aufweist: • für mindestens ein zu bewegendes Objekt der ein oder mehreren Objekte, Ermitteln ein oder mehrerer Aufnehm-Roboterkonfigurationen des ersten Roboterarms mit einer Erfolgswahrscheinlichkeit oberhalb eines vordefinierten Schwellenwerts mittels des dem ersten Roboterarm zugeordneten Objektaufnehmmodells unter Verwendung des Tiefenbildes, und Ermitteln ein oder mehrerer Aufnehm-Roboterkonfigurationen des zweiten Roboterarms mit einer Erfolgswahrscheinlichkeit oberhalb eines vordefinierten Schwellenwerts mittels des dem zweiten Roboterarm zugeordneten Objektaufnehmmodells unter Verwendung des Tiefenbildes; wobei das Ermitteln der Robotertrajektorie für das Aufnehmen mittels des Robotertrajektorie-Modells für die Aufnehm-Roboterkonfiguration der ein oder mehreren Aufnehm-Roboterkonfigurationen mit der höchsten Wahrscheinlichkeit gemäß dem Vorbedingungsmodell aufweist: • Auswählen der Aufnehm-Roboterkonfiguration aus den ein oder mehreren Aufnehm-Roboterkonfigurationen des ersten Roboterarms und den ein oder mehreren Aufnehm-Roboterkonfigurationen des zweiten Roboterarms mit der höchsten Wahrscheinlichkeit gemäß dem jeweils zugeordneten Vorbedingungsmodell und Auswählen des der ausgewählten Aufnehm-Roboterkonfiguration zugeordneten Roboterarms, und Ermitteln einer Robotertrajektorie für das Aufnehmen gemäß der ausgewählten Aufnehm-Roboterkonfiguration mittels des dem ausgewählten Roboterarm zugeordneten Robotertraj ektorie-Modells; wobei das Steuern der Robotervorrichtung zum Ausführen des Aufnehmens des Objekts mittels der ermittelten Robotertrajektorie aufweist: • Steuern des ausgewählten Roboterarms der Robotervorrichtung zum Ausführen des Aufnehmens des Objekts mittels der ermittelten Robotertraj ektorie.
  12. Verfahren gemäß Anspruch 11, wobei das Aufnehmen eines Objekts mittels des ersten Roboterarms ein Ansaugen des Objekts aufweist; und/oder wobei das Aufnehmen eines Objekts mittels des zweiten Roboterarms ein Greifen des Objekts aufweist.
  13. Vorrichtung, die eingerichtet ist, das Verfahren gemäß einem der Ansprüche 1 bis 12 auszuführen.
  14. Computerprogramm, das Instruktionen aufweist, die bei Ausführung durch einen Prozessor bewirken, dass der Prozessor ein Verfahren gemäß einem der Ansprüche 1 bis 12 durchführt.
  15. Computerlesbares Medium, das Instruktionen speichert, die bei Ausführung durch einen Prozessor bewirken, dass der Prozessor ein Verfahren gemäß einem der Ansprüche 1 bis 12 durchführt.
DE102020214633.0A 2020-11-20 2020-11-20 Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung Pending DE102020214633A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102020214633.0A DE102020214633A1 (de) 2020-11-20 2020-11-20 Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
US17/455,122 US20220161424A1 (en) 2020-11-20 2021-11-16 Device and method for controlling a robotic device
CN202111383915.1A CN114516060A (zh) 2020-11-20 2021-11-19 用于控制机器人装置的设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020214633.0A DE102020214633A1 (de) 2020-11-20 2020-11-20 Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung

Publications (1)

Publication Number Publication Date
DE102020214633A1 true DE102020214633A1 (de) 2022-05-25

Family

ID=81453135

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020214633.0A Pending DE102020214633A1 (de) 2020-11-20 2020-11-20 Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung

Country Status (3)

Country Link
US (1) US20220161424A1 (de)
CN (1) CN114516060A (de)
DE (1) DE102020214633A1 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022205883A1 (de) 2022-06-09 2023-12-14 Kuka Deutschland Gmbh Erhöhung der Greifrate
DE102022207847A1 (de) 2022-07-29 2024-02-01 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern eines Roboters zum Manipulieren, insbesondere Aufnehmen, eines Objekts
DE102023110107B3 (de) 2023-04-20 2024-05-23 J.Schmalz Gmbh Verfahren zum Handhaben von Gegenständen sowie Handhabungsanlage
DE102023110111B3 (de) 2023-04-20 2024-06-06 J.Schmalz Gmbh Verfahren zum Ansteuern einer Handhabungsanlage sowie Handhabungsanlage

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022221137A1 (en) * 2021-04-16 2022-10-20 Dexterity, Inc. Backlash adjustment mechanism

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017151926A1 (en) * 2016-03-03 2017-09-08 Google Inc. Deep machine learning methods and apparatus for robotic grasping
CN112313044A (zh) * 2018-06-15 2021-02-02 谷歌有限责任公司 用于机器人操纵的深度强化学习

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022205883A1 (de) 2022-06-09 2023-12-14 Kuka Deutschland Gmbh Erhöhung der Greifrate
DE102022207847A1 (de) 2022-07-29 2024-02-01 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern eines Roboters zum Manipulieren, insbesondere Aufnehmen, eines Objekts
DE102023110107B3 (de) 2023-04-20 2024-05-23 J.Schmalz Gmbh Verfahren zum Handhaben von Gegenständen sowie Handhabungsanlage
DE102023110111B3 (de) 2023-04-20 2024-06-06 J.Schmalz Gmbh Verfahren zum Ansteuern einer Handhabungsanlage sowie Handhabungsanlage

Also Published As

Publication number Publication date
CN114516060A (zh) 2022-05-20
US20220161424A1 (en) 2022-05-26

Similar Documents

Publication Publication Date Title
DE102020214633A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102019216229B4 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102013203381B4 (de) Verfahren und system zum trainieren eines roboters unter verwendung einer von menschen unterstützten aufgabendemonstration
DE102014108287B4 (de) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE102014103738B3 (de) Visuelle fehlersuche bei roboteraufgaben
DE112018002565B4 (de) System und Verfahren zum direkten Anlernen eines Roboters
CN109483534B (zh) 一种物体抓取方法、装置和系统
DE112019002310T5 (de) Ausführen einer "peg in hole"-aufgabe mit unbekannter neigung
DE102020212658A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102021204697B4 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102020209685B4 (de) Verfahren zum steuern einer robotervorrichtung und robotervorrichtungssteuerung
DE102020214231A1 (de) Verfahren zum steuern einer robotervorrichtung und robotersteuereinrichtung
Fu et al. Active learning-based grasp for accurate industrial manipulation
EP4326500A1 (de) Ansteuerung eines industrieroboters für eine greifaufgabe
DE102020200165B4 (de) Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters
DE102020214301A1 (de) Vorrichtung und verfahren zum steuern eines roboters zum aufnehmen eines objekts in verschiedenen lagen
DE102022201116B4 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102021212494B4 (de) Vorrichtung und Verfahren zur Steuerung einer Robotervorrichtung
Amirshirzad et al. Learning medical suturing primitives for autonomous suturing
DE102021201921A1 (de) Vorrichtung und verfahren zum steuern eines roboters zum aufnehmen eines objekts
DE102020210823A1 (de) Maschinen-Steueranordnung
DE102020211053A1 (de) Annotationsvorrichtung
DE102021209646B4 (de) Robotervorrichtung, Verfahren zum computerimplementierten Trainieren eines Roboter-Steuerungsmodells und Verfahren zum Steuern einer Robotervorrichtung
DE102022207847A1 (de) Verfahren zum Steuern eines Roboters zum Manipulieren, insbesondere Aufnehmen, eines Objekts
DE102022212638B3 (de) Vorrichtung und Verfahren zum Steuern eines Roboters