DE102021104883B3 - Verfahren zum roboterunterstützten Ausführen von Aufgaben, Roboter zum Unterstützen eines Benutzers beim Ausführen von Aufgaben und Computerprogrammprodukt - Google Patents

Verfahren zum roboterunterstützten Ausführen von Aufgaben, Roboter zum Unterstützen eines Benutzers beim Ausführen von Aufgaben und Computerprogrammprodukt Download PDF

Info

Publication number
DE102021104883B3
DE102021104883B3 DE102021104883.4A DE102021104883A DE102021104883B3 DE 102021104883 B3 DE102021104883 B3 DE 102021104883B3 DE 102021104883 A DE102021104883 A DE 102021104883A DE 102021104883 B3 DE102021104883 B3 DE 102021104883B3
Authority
DE
Germany
Prior art keywords
module
robot
user
automation
support mode
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.)
Active
Application number
DE102021104883.4A
Other languages
English (en)
Inventor
Samuel Bustamante Gomez
Daniel Leidner
Jörn Vogel
Gabriel Quere
Katharina Hagmann
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.)
Deutsches Zentrum fuer Luft und Raumfahrt eV
Original Assignee
Deutsches Zentrum fuer Luft und Raumfahrt eV
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 Deutsches Zentrum fuer Luft und Raumfahrt eV filed Critical Deutsches Zentrum fuer Luft und Raumfahrt eV
Priority to DE102021104883.4A priority Critical patent/DE102021104883B3/de
Application granted granted Critical
Publication of DE102021104883B3 publication Critical patent/DE102021104883B3/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1689Teleoperation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/427Teaching successive positions by tracking the position of a joystick or handle to control the positioning servo of the tool head, master-slave control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33006Ama allocation manual automatic work between machine, manipulator and man
    • 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/35Nc in input of data, input till input file format
    • G05B2219/35472Mode selection
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36435Electromyographical, myoelectric control signal
    • 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/40153Teleassistance, operator assists, controls autonomous robot
    • 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/40191Autonomous manipulation, computer assists operator during manipulation
    • 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/45Nc applications
    • G05B2219/45108Aid, robot for aid to, assist human disabled

Abstract

Verfahren zum roboterunterstützten Ausführen von Aufgaben, wobei ein Roboter (100) in einem ersten Unterstützungsmodus mithilfe eines Benutzermoduls (102) geteilt kontrolliert und in einem zweiten Unterstützungsmodus mithilfe eines Automationsmoduls (104) benutzerüberwacht autonom kontrolliert wird, wobei das Benutzermodul (102) und das Automationsmodul (104) innerhalb eines geteilten Kontrollmoduls (106) dargestellt sind und dieselbe Aktionsrepräsentation verwenden, Roboter (100) zum Unterstützen eines Benutzers beim Ausführen von Aufgaben, wobei der Roboter (100) zum Ausführen eines derartigen Verfahrens geeignet ist, und Computerprogrammprodukt, das Programmcodeabschnitte umfasst, mit denen ein derartiges Verfahren durchführbar ist, wenn das Computerprogrammprodukt auf einer Kontrolleinrichtung eines Roboters (100) ausgeführt wird.

Description

  • Die Erfindung betrifft ein Verfahren zum roboterunterstützten Ausführen von Aufgaben, wobei ein Roboter in einem ersten Unterstützungsmodus mithilfe eines Automationsmoduls und eines Benutzermoduls geteilt kontrolliert und in einem zweiten Unterstützungsmodus benutzerüberwacht mithilfe des Automationsmoduls autonom kontrolliert wird. Außerdem betrifft die Erfindung einen Roboter zum Unterstützen eines Benutzers beim Ausführen von Aufgaben. Außerdem betrifft die Erfindung ein Computerprogrammprodukt.
  • Die Veröffentlichung „G. Quere, A. Hagengruber, M. Iskandar, S. Bustamante, D. Leidner, F. Stulp, and J. Vogel, „Shared Control Templates for Assistive Robotics,“ in 2020 IEEE International Conference on Robotics and Automation (ICRA), Paris, France, 2020, p. 7." betrifft geteilte Steuerungs-Templates für assistive Robotik und schlägt ein constraint-basiertes Schema zur geteilten Steuerung vor, um Fertigkeiten zu definieren, die bei der Ausführung von Aufgaben Unterstützung bieten. Dies wird erreicht, indem eine Fertigkeit als eine Sequenz von Zuständen dargestellt wird, mit spezifische Benutzer-Befehls-Zuordnungen und unterschiedlichen Sätzen von Beschränkungen, die in jedem Zustand angewendet werden. Neue Fertigkeiten werden definiert durch die Kombination verschiedener Arten von Beschränkungen und Bedingungen für Zustandsübergänge in einem für den Menschen lesbaren Format. Die Vielseitigkeit des Systems wird in einem Pilotexperiment mit drei Aktivitäten des täglichen Lebens demonstriert. Die Ergebnisse zeigen, dass selbst komplexe, hochdimensionale Aufgaben mit einer niedrigdimensionalen Schnittstelle mit dem vorgestellten Shared-Control-Ansatz durchgeführt werden können.
  • Das Dokument DE 10 2019 005 297 A1 betrifft eine Unterstützungsvorrichtung für einen kooperativen Vorgang, die es einem Bediener erleichtert, intuitiv Einstellungen bezüglich Bewegungen eines Roboters nachzuvollziehen. Die Unterstützungsvorrichtung umfasst: eine Anzeigeeinheit, die einen Anzeigebereich umfasst, durch den der Bediener den Roboter betrachten kann; eine Anzeigeposition-Einstelleinheit, die dazu eingerichtet ist, auf der Grundlage eines Bildes, das von einer Bildgebungseinheit erzeugt wurde, eine Position eines Abschnitts des Roboters in dem Anzeigebereich zu erkennen, wenn der Bediener den Roboter durch den Anzeigebereich betrachtet, wobei der Abschnitt mit einem Betriebsmodus des Roboters verknüpft ist, der mittels einer Eingabevorrichtung angegeben ist; eine Anzeigedaten-Auswahleinheit, die dazu eingerichtet ist, gemäß dem angegebenen Betriebsmodus des Roboters Anzeigedaten auszuwählen, die dem angegebenen Betriebsmodus unter den Anzeigedaten entsprechen, die in einer Speichereinheit gespeichert sind; eine Anzeige-Steuereinheit, die dazu eingerichtet ist, die ausgewählten Anzeigedaten in dem Anzeigebereich der Anzeigeeinheit derart anzuzeigen, dass die ausgewählten Anzeigedaten an der Position angezeigt werden, die eine bestimmte positionsbezogene Beziehung zu der Position des Abschnitts des Roboters in dem Anzeigebereich erfüllt.
  • Das Dokument DE 10 2018 009 023 A1 betrifft eine Einlernvorrichtung zum Ausführen von Einlernvorgängen eines Roboters. Die Einlernvorrichtung umfasst eine Auswahleinheit, die sich während eines Einlernvorgangs oder nach einem Einlernvorgang des Roboters, über eine Mehrzahl von Zeilen eines Programms des Roboters bewegt und eine einzelne Zeile auswählt, eine Fehlerberechnungseinheit, die, nachdem der Roboter durch Handführung oder Tippbetrieb zu einem Einlernpunkt bewegt wurde, der auf der ausgewählten einzelnen Zeile bereits eingelernt wurde, einen Positionsfehler zwischen dem Einlernpunkt und einer Position des Roboters nach der Bewegung berechnet, und eine Anweisungseinheit, die ein erneutes Einlernen des Einlernpunktes anweist, wenn der Positionsfehler innerhalb eines vorbestimmten Bereichs liegt.
  • Das Dokument DE 10 2017 221 348 A1 betrifft eine Vorrichtung zur Planung eines Mensch-Roboter-Kooperations- (MRK) Prozesses, der durch ein MRK-System ausgeführt werden soll, das zumindest einen Roboter und zumindest einen Menschen umfasst. Die Vorrichtung ist eingerichtet, zumindest einen Prozessschritt zu ermitteln, der bei der Ausführung des MRK-Prozesses durch den Roboter ausgeführt werden soll. Die Vorrichtung ist ferner eingerichtet, Trajektorien-Information in Bezug auf eine von dem Roboter für den Prozessschritt auszuführenden Trajektorie zu ermitteln. Die Vorrichtung kann auf Basis der Trajektorien-Information zumindest einen Kontaktbereich am Körper des Menschen ermitteln, den der Roboter bei der Ausführung des Prozessschrittes berühren könnte. Außerdem ist die Vorrichtung eingerichtet, in Abhängigkeit von dem ermittelten Kontaktbereich zumindest einen zulässigen Bewegungsparameter für den Roboter bei der Ausführung des Prozessschrittes zu ermitteln. Des Weiteren ist die Vorrichtung eingerichtet, auf Basis der Trajektorien-Information und auf Basis des zulässigen Bewegungsparameters Zeitdaten in Bezug auf eine Zeitdauer der Ausführung des Prozessschrittes zu ermitteln.
  • Das Dokument DE 10 2017 216 863 B3 betrifft ein Verfahren und ein Robotersystem zum Anpassen eines Robotereinsatzes an einen Arbeitsprozess, an dem ein Roboter und ein menschlicher Nutzer gemeinsam beteiligt sind, mit dem Roboter, einer Prozessverwaltungseinheit, einer Steuereinheit, einer Raumverwaltungseinheit, einem Sensor und einer Zustandsauswerteeinheit, wobei eine Kategorisierung des Arbeitsprozesses vorgenommen wird.
  • Das Dokument DE 10 2016 221 861 A1 betrifft eine Einrichtung sowie ein Verfahren zur Einwirkung auf Gegenstände. Die Einrichtung umfasst eine Handhabungseinrichtung zur Handhabung von Gegenständen, insbesondere einen Industrieroboter zur Herstellung und/oder Montage bzw. zum Transport von Gegenständen. Weiterhin umfasst die Einrichtung eine Steuereinrichtung zur Generierung von Steuerbefehlen zwecks Ansteuerung der Handhabungseinrichtung durch Umsetzung optisch und/oder akustisch wahrnehmbarer Informationen in Steuersignale. Die Steuereinrichtung ist dazu ausgestaltet, durch Erkennung und Verarbeitung wenigstens einer von einer Bedienperson ausgegebenen optisch und/oder akustisch wahrnehmbaren ersten Information einen ersten Steuerbefehl zu generieren. Dieser dient der Aktivierung der Einrichtung zur Einwirkung auf Gegenstände, insbesondere der Handhabungseinrichtung, zwecks Verarbeitung eines zweiten Steuerbefehls. Die Steuereinrichtung ist weiterhin dazu ausgestattet, durch Erkennung und Verarbeitung wenigstens einer von einer Bedienperson ausgegebenen optisch und/oder akustisch wahrnehmbaren zweiten Information den zweiten Steuerbefehl zur Ansteuerung der Handhabungseinrichtung zwecks Durchführung einer von der Handhabungseinrichtung auszuführenden Handlung zu generieren.
  • Das Dokument DE 10 2015 222 164 A1 betrifft ein Computerprogramm umfassend Anweisungen zur Erzeugung einer grafischen Benutzerschnittstelle eines Manipulatorprogramms zur Steuerung eines Manipulatorsystems, wobei das Manipulatorsystem zumindest einen Manipulator umfasst, wobei das Manipulatorprogramm zumindest einen Aufsetzpunkt umfasst, und wobei die Benutzerschnittstelle eine grafische Programmfortschrittsanzeige aufweist, die den aktuellen Programmfortschritt des Manipulatorprogramms und den zumindest einen Aufsetzpunkt des Manipulatorprogramms anzeigt, wobei der angezeigte zumindest eine Aufsetzpunkt durch einen Benutzer anwählbar ist und wobei das Manipulatorprogramm dazu eingerichtet ist, das Manipulatorsystem so zu steuern, dass es auf die Anwahl hin einen dem angewählten Aufsetzpunkt zugeordneten Systemzustand einnimmt.
  • Der Erfindung liegt die Aufgabe zugrunde, ein eingangs genanntes Verfahren strukturell und/oder funktionell zu verbessern. Außerdem liegt der Erfindung die Aufgabe zugrunde, einen eingangs genannten Roboter strukturell und/oder funktionell zu verbessern. Außerdem liegt der Erfindung die Aufgabe zugrunde, einen eingangs genanntes Computerprogrammprodukt strukturell und/oder funktionell zu verbessern.
  • Die Aufgabe wird gelöst mit einem Verfahren mit den Merkmalen des Anspruchs 1. Außerdem wird die Aufgabe gelöst mit einem Roboter mit den Merkmalen des Anspruchs 10. Außerdem wird die Aufgabe gelöst mit einem Computerprogrammprodukt mit den Merkmalen des Anspruchs 13. Vorteilhafte Ausführungen und/oder Weiterbildungen sind Gegenstand der Unteransprüche.
  • Das Verfahren kann zum Kontrollieren des Roboters dienen. „Kontrollieren“ bezeichnet in diesem Zusammenhang vorliegend insbesondere ein regelungstechnisches und/oder steuerungstechnisches Kontrollieren. Das Verfahren kann zum Kontrollieren des Roboters bei Kooperation mit einem menschlichen Benutzer, der den Roboter zur Unterstützung beim Ausführen von Aufgaben benutzt (englisch: robotic tasks with a human-in-the-loop, RTHL), dienen. Der erste Unterstützungsmodus kann auch als „geteilte Kontrolle“ (englisch: Shared Control) bezeichnet werden. In dem ersten Unterstützungsmodus kann dem Roboter eine geringere Autonomie zugewiesen sein als in dem zweiten Unterstützungsmodus. Der zweite Unterstützungsmodus kann auch als „überwachte Autonomie“ (englisch: Supervised Autonomy) bezeichnet werden. In dem zweiten Unterstützungsmodus kann dem Roboter eine größere Autonomie zugewiesen sein als in dem ersten Unterstützungsmodus. Der Roboter kann gegebenenfalls auch in weiteren wenigstens einem weiteren Unterstützungsmodus betreibbar sein. Beispielsweise kann der Roboter in dem wenigstens einen weiteren Unterstützungsmodus direkt kontrolliert sein (englisch: Direct Control). Das Verfahren kann mithilfe wenigstens eines Prozessors durchgeführt werden. Das Verfahren kann mithilfe einer Kontrolleinrichtung eines Roboters durchgeführt werden.
  • Geteilte Kontrolle bedeutet insbesondere, dass der Roboter, insbesondere Steuerungsvariablen des Roboters, geteilt vom Benutzer mithilfe des Benutzermoduls und/oder autonom mithilfe des Automationsmoduls kontrolliert werden. Der Roboter kann teilweise mithilfe des Benutzermoduls und teilweise mithilfe des Automationsmoduls kontrolliert werden. Eine Aufteilung zwischen einer Kontrolle mithilfe des Benutzermoduls und einer Kontrolle mithilfe des Automationsmoduls kann kontrolliert änderbar sein. Eine Aufteilung zwischen einer Kontrolle mithilfe des Benutzermoduls und einer Kontrolle mithilfe des Automationsmoduls kann nahtlos änderbar sein. „Nahtlos“ kann vorliegend insbesondere bedeuten, dass eine Änderung oder ein Wechsel zumindest annähernd ohne Einfluss für das Ausführen der Aufgabe abläuft. Ein Anteil der Kontrolle mithilfe des Benutzermoduls kann zwischen fast % und fast 100% liegen und ein Anteil der Kontrolle mithilfe des Automationsmoduls kann zwischen fast 100% und fast % liegen, wobei ein Kontrollanteil des Benutzermoduls und ein Kontrollanteil des Automationsmoduls zusammen immer 100% betragen. Beispielsweise kann eine Kontrolle zu ca. 10% durch den Benutzer und zu ca. 90% durch die Kontrolleinrichtung des Roboters erfolgen. Der Roboter, insbesondere die Steuerungsvariablen, können proportional und/oder aufgeteilt entlang der Bewegungsfreiheitsgrade kontrolliert werden. Die geteilte Kontrolle kann als Kompromiss zwischen direkter Kontrolle und überwachte Autonomie verstanden werden, wobei der Benutzer nur einen Teil der Aufgabe direkt und kontinuierlich kontrolliert und den Rest dem Roboter überlässt.
  • Überwachte Autonomie bedeutet insbesondere, dass der Benutzer ein Ausführen einer Aufgabe an den Roboter übergeben hat und der Roboter die Aufgabe unter Überwachung selbständig ausführt. Die überwachte Autonomie umfasst traditionell zwei Elemente: Erstens, deklaratives Wissen in Form von Symbolen, das dem Roboter das Generieren eines abstrakten High-Level-Plans ermöglicht. Zweitens prozedurales Wissen in Form von geometrischen Operationen, das den Roboter dabei unterstützt, Low-Level-Bewegungspläne zu erstellen und auszuführen.
  • Das Automationsmodul kann ein virtuelles Modul sein und/oder virtuelle Strukturen umfassen. Das Automationsmodul kann ein strukturell und/oder funktionell unterscheidbares Modul sein. Das Automationsmodul kann dazu dienen, den Roboter autonom zu kontrollieren. Das Automationsmodul kann dazu dienen, durch Aufgabendefinitionen vorgegebene Aufgaben zu erledigen. Das Automationsmodul kann dazu dienen, Eingabebefehle zum autonomen Kontrollieren als Aktionsrepräsentation zu generieren.
  • Das Benutzermodul kann ein virtuelles Modul sein und/oder virtuelle Strukturen umfassen. Das Benutzermodul kann ein strukturell und/oder funktionell unterscheidbares Modul sein. Das Benutzermodul kann dazu dienen, den Roboter entsprechend Benutzereingaben zu kontrollieren. Das Benutzermodul kann dazu dienen, Eingabebefehle zum geteilten Kontrollieren als Aktionsrepräsentation zu generieren.
  • Der Benutzer kann den Roboter in dem ersten Unterstützungsmodus über virtuelle Strukturen, insbesondere über des Benutzermodul, kontrollieren. Das Automationsmodul kann Bewegungen und Trajektorien in denselben virtuellen Strukturen planen, in denen der Benutzer Befehle generiert. Eingabebefehle des Automationsmoduls und Eingabebefehle des Benutzermoduls können dieselben virtuellen Strukturen verwenden.
  • Das geteilte Kontrollmodul kann das Automationsmodul und das Benutzermodul umfassen. Das Automationsmodul kann in das Benutzermodul integriert sein. Das Benutzermodul kann das Automationsmodul umfassen. Insofern kann das geteilte Kontrollmodul auch als „geteiltes Kontrollmodul mit integrierter Autonomie“ (englisch: Shared Control with Integrated Autonomy, SCIA) bezeichnet werden.
  • Das Benutzermodul und das in das Benutzermodul integrierte Automationsmodul können mit ihren jeweiligen Eingabebefehlen dieselbe Aktionsrepräsentation verwenden. Das Automationsmodul kann die Aktionsrepräsentation des Benutzermoduls verwenden. Die Aktionsrepräsentation kann eine virtuelle Struktur sein und/oder virtuelle Strukturen umfassen.
  • Innerhalb des geteilten Kontrollmoduls können Ausgangsbefehle zum Kontrollieren des Roboters basierend auf Eingabebefehlen des Automationsmoduls und/oder auf Eingabebefehlen des Benutzermoduls generiert werden. Die Ausgangsbefehle können auch als Robotersteuersignal bezeichnet werden. Die Eingabebefehle können Befehle innerhalb des geteilten Kontrollmoduls sein. Die Eingabebefehle können von dem Automationsmodul und/oder von dem Benutzermodul ausgehende Befehle sein. Die Eingabebefehle können Befehle sein, aus denen Ausgangsbefehle generiert werden. Die Ausgangsbefehle können unmittelbar basierend auf Eingabebefehlen des Automationsmoduls und/oder auf Eingabebefehlen des Benutzermoduls generiert werden. Die Ausgangsbefehle können ohne gesonderte Ausgangsbefehle des Automationsmoduls und/oder Ausgangsbefehle des Benutzermoduls generiert werden.
  • Die Ausgangsbefehle können entsprechend einem aktiven Unterstützungsmodus generiert werden. In dem ersten Unterstützungsmodus können die Ausgangsbefehle basierend auf Eingabebefehlen des Automationsmoduls und/oder auf Eingabebefehlen des Benutzermoduls generiert werden. In dem zweiten Unterstützungsmodus können die Ausgangsbefehle basierend auf Eingabebefehlen des Automationsmoduls generiert werden. Die Ausgangsbefehle können Ausgangsbefehle des geteilten Kontrollmoduls sein. Die Ausgangsbefehle können Befehle zum Kontrollieren des Roboters sein. Die Ausgangsbefehle können Befehle sein, die an den Roboter gesendet werden, um den Roboter zu Kontrollieren.
  • Innerhalb des geteilten Kontrollmoduls kann ein Wechseln zwischen dem ersten Unterstützungsmodus und dem zweiten Unterstützungsmodus basierend auf Eingabebefehlen des Automationsmoduls und/oder auf Eingabebefehlen des Benutzermoduls ermöglicht werden. Das Automationsmodul kann aktivierbar und/oder deaktivierbar sein. Ein Wechseln zwischen dem ersten Unterstützungsmodus und dem zweiten Unterstützungsmodus kann in vermittelter Kontrolle (englisch: Traded Control) erfolgen. Insofern kann ein geteiltes Kontrollieren mit Wechsel zwischen dem ersten Unterstützungsmodus und dem zweiten Unterstützungsmodus auch als „Shared and Traded Control“ bezeichnet werden. Ein Vermitteln der Eingabebefehle des Automationsmoduls und/oder der Eingabebefehle des Benutzermoduls kann innerhalb des geteilten Kontrollmoduls, insbesondere innerhalb der virtuellen Strukturen, die auch der Benutzer zur Eingabe verwendet, erfolgen.
  • Ein Wechseln zwischen dem ersten Unterstützungsmodus und dem zweiten Unterstützungsmodus kann durch Aktivieren/Deaktivieren des Automationsmoduls erfolgen. In dem ersten Unterstützungsmodus kann das Automationsmodul deaktiviert sein. In dem zweiten Unterstützungsmodus kann das Automationsmodul aktiviert sein. Das Automationsmodul kann standardmäßig deaktiviert sein. Das Automationsmodul kann durch einen Eingabebefehl des Benutzers aktiviert und/oder deaktiviert werden.
  • Um aus Eingabebefehlen des Automationsmoduls und/oder Eingabebefehlen des Benutzermoduls Ausgangsbefehle zu generieren, können geteilte Kontroll-Vorlagen (englisch: Shared Control Templates, SCTs) verwendet werden. Das geteilte Kontrollmodul kann geteilte Kontroll-Vorlagen umfassen. Die geteilten Kontroll-Vorlagen können als finite Zustandsmaschine (englisch: Finite State Machine, FSM) definiert sein. Schlüsselelemente können Zustände und Übergänge zwischen ihnen sein. Jeder Zustand kann eine andere Fertigkeitsphase repräsentieren. Übergänge zwischen Zuständen können ausgelöst werden, wenn bestimmte vordefinierte Ereignisse zwischen interessierenden Objekten im Arbeitsbereich auftreten. Eingabebefehle des Automationsmoduls und/oder Eingabebefehle des Benutzermoduls können mithilfe der geteilten Kontroll-Vorlagen auf aufgabenrelevante Roboterbewegungen abgebildet werden. In diesem Zusammenhang wird ergänzend insbesondere auf Seite 5, Absatz 2, bis Seite 6, Absatz 1, verwiesen. Mit dem Abbilden der Eingabebefehle des Automationsmoduls und/oder der Eingabebefehle des Benutzermoduls auf aufgabenrelevante Roboterbewegungen können die Ausgangsbefehle generiert werden. Eine geteilte Kontroll-Vorlage kann den Benutzer beim Erreichen einer Aufgabe unterstützen, indem sie objekt- und aufgabenspezifische Abbildungen und Randbedingungen für jeden Zustand einer Fertigkeit bereitstellt. Dabei kann die FSM einen Fortschritt überwachen und Übergänge zwischen den verschiedenen Zuständen auslösen.
  • Die Autonomie kann innerhalb einer SCT implementiert werden. Die Autonomie kann dieses SCT verwenden. Das Automationsmodul kann definiert werden und Eingabebefehle an die SCT. Während dem Ausführen einer Aufgabe in dem SCIA kann ein Kontrollieren des Roboters immer innerhalb einer SCT bleiben und eine Eingabeautorität kann zwischen dem Automationsmodul und dem Benutzermodul gewechselt werden. Das bedeutet, dass die SCT unabhängig davon ist, ob ein Eingabebefehle von dem Automationsmodul oder dem Benutzermodul kommt. Unabhängig davon, ob die Eingabebefehle von dem Automationsmodul oder von dem Benutzermoduls ausgehen, können immer die gleichen Zustandsübergänge, Eingangszuordnungen, aktiven Randbedingungen und/oder die gleiche Gesamtsteuerung angewendet werden.
  • Das unmittelbare Ziel des Automaten ist es, eine Endeffektor-Position zu erreichen, bei der ein Übergang von einem Zustand s zum nächsten Zustand s+1 gültig ist. Dies kann mit einer Distanzmetrik formalisiert werden, die den aktuellen Zustand mit dem Ereignis eines Übergangs in Beziehung setzt.
  • Innerhalb des geteilten Kontrollmoduls kann eine Verlustfunktion L = D s s + 1 ( H )
    Figure DE102021104883B3_0001
    dargestellt werden, wobei
  • Verlustfunktion
    Distanzmetrik zwischen Zustand s und s+1
    H:
    Pose
    S:
    Zustand
    S+1:
    folgender Zustand
  • Mithilfe der Verlustfunktion kann bewertet werden, welche Posen H den Roboter näher an das Ziel bringen können. Beachten Sie daher, dass x t * = arg min x L s s + 1 ( H t )
    Figure DE102021104883B3_0004
    von der Wahl des Eingaberaums X durch das Automationsmodul beeinflusst wird. Diese Übergangsmetrik kann eine beliebige messbare skalare Variable sein, die zwei beliebige Frames von Interesse im Arbeitsraum miteinander in Beziehung setzt. Übergänge können auch auf Endeffektorkräften und -drehmomenten anstelle von kinematischen Zielen basieren.
  • Mit einer Abstandsmetrik ist es das Ziel, den besten Befehl zum Übergang in den nächsten Zustand für jeden Zustand und jede Endeffektor-Pose zu finden. Dies kann als Optimierungsproblem formalisiert werden. Innerhalb des Automationsmoduls kann eine lokale Optimierung x t * = arg min x L s s + 1 ( H t )
    Figure DE102021104883B3_0005
    dargestellt werden, wobei
  • Ausgewählter Befehl zum Zeitpunkt t
    Verlustfunktion zwischen Zustand s und s+1
    S:
    Zustand
    S+1:
    folgender Zustand
    Ht:
    Pose zum Zeitpunkt t
  • Ein Verlust kann in Bezug auf den Benutzerbefehl minimiert werden, obwohl er als Funktion eines Rahmens H definiert ist. Das Automationsmodul kann immer den optimalen Befehl in jedem Zeitschritt wählen. Komplexe Bewegungen können vermieden werden, da sie innerhalb eines Zustands des endlichen Zustandsautomaten erzeugt werden. Eine Suche kann in einem 3D-Eingaberaum und nicht in einem Konfigurationsraum des Roboters erfolgen.
  • Ein Maßstab und eine Richtung eines Befehls können entflochten werden, indem der Befehl als Einheitsvektor in ℜ3 modelliert wird. Der Maßstab kann als Hyperparameter des Algorithmus gesetzt werden, γ ∈ (0, 1]. Es kann Pool von n Kandidatenbefehlen generiert werden, die verwendet werden, um mithilfe der lokalen Optimierung die beste Richtung zu finden. Angestrebt werden kann eine Reduktion einer Stichprobenvielfalt. Innerhalb des Automationsmoduls kann ein Sampling-Pool als Verteilungsfunktion, insbesondere als von Mises-Fisher (vMF) Verteilung x t ν M F ( μ x , κ ) ,
    Figure DE102021104883B3_0008
    dargestellt werden, wobei
  • xt:
    Kandidatbefehl bzw. Befehlskandidat zum Zeitpunkt t
    υMF:
    von Mises-Fisher Verteilung
    µx:
    mittlerer Vektor
    κ:
    Konzentrations-Skalar
  • Aus dieser Verteilung können die Steuerungskommandos wählen werden. κ bezieht sich auf ein Explorationsrauschen um den Mittelwert µx Im Rahmen einer Evolutionsstrategie können während einem Ausführen von Aufgaben die Parameter µx und κ angepasst werden.
  • Ein Algorithmus für das Automationsmodul zur Erledigung einer Aufgabe nach einem Eingabebefehl zum Wechseln in den zweiten Unterstützungsmodus kann folgende Eingaben erhalten: Aktuelle Endeffektor-Position H0, Anzahl der Samples n, Prozentualer Anteil von Elitesamples Pelite, Zielzustand m, Plan durch Zustände 1...2...s...s+1...m, Skalierungsparameter γ. Der Algorithmus kann folgende Ausgabe liefern: Befehle im Benutzereingabebereich X. Der Algorithmus kann folgende Schritte umfassen:
    • 1: Initialize µx and κ
    • 2: while not on goal state m do
    • 3: Sample n unit vectors xi from υMF(µx, κ)
    • 4: for each xi do
    • 5: compute the resulting frameHi = φs(γxi, Ht-1)
    • 6: L i = D s s + 1 ( H i )
      Figure DE102021104883B3_0009
    • 7: end for
    • 8: x * = arg min x L
      Figure DE102021104883B3_0010
    • 9: Take the Pelite, best performing samples as xelite
    • 10: Given the current µx, estimate a new concentration κ from xelite
    • 11: Estimate a new µx from xelite
    • 12: Clip κ in the range [0.1, 100]
    • 13: Issue the robot command γx*
    • 14: end while
  • Schritt null: Sobald ein Eingabebefehl zum Wechseln in den zweiten Unterstützungsmodus erfolgt, initialisiert das Automationsmodul µx als Einheitsvektor in der Richtung zwischen den interessierenden Aufgabenrahmen (z.B. dem Endeffektor und dem Aufgabenziel) und κ = 3. Schritt eins: der Agent nimmt n vMF-Proben aus der von Mises-Fisher (vMF) Verteilung. Schritt zwei: Das Automationsmodul bewertet das Mapping und den Verlust in einer mit Ht = φs(xt, Ht-1) formalisierten Abbildung des Benutzerbefehls und der Verlustfunktion für alle Stichproben (skaliert mit γ) und nimmt einen Prozentsatz Pelite = 20% der am besten abschneidenden Stichproben. Schritt drei: Das Automationsmodul schätzt ein neues κ basierend auf der Streuung der Elite-Stichproben bei gegebenem aktuellem µx (d.h. dem Mittelwert, der sie erzeugt hat), und dann schätzt es ein neues µx nur basierend auf diesen. Intuition: Wenn die mittlere Richtung bei der Minimierung des Verlusts wirklich gut abschneidet, werden sich diese Eliteproben um den Mittelwert herum konzentrieren, das Vertrauen des Automationsmoduls in diese Befehlsrichtung wird hoch sein, und κ sollte steigen; wenn das nicht der Fall ist, sollten die Elite-Stichproben spärlich sein und in Richtung der Minima zeigen, daher sollte κ abnehmen, um dem Agenten die Möglichkeit zu geben, zu erkunden. Schritt vier: gibt das Automationsmodul den Befehl aus, der den Verlust minimiert (gegebene lokale Optimierung, skaliert mit γ), und beginnt wieder mit Schritt eins, indem es n Proben mit den neuen Parametern nimmt. Das Automationsmodul aktualisiert µx und κ während der gesamten Aufgabe.
  • Beim Ausführen von Aufgaben kann in dem ersten Unterstützungsmodus dem Automationsmodul symbolisches Wissen über ein Benutzerziel zur Verfügung gestellt werden. Beim Ausführen von Aufgaben kann in dem ersten Unterstützungsmodus das Automationsmodul dem Kontrollieren des Roboters mithilfe des Benutzermoduls folgen.
  • Bei einem Eingabebefehl zum Wechseln in den zweiten Unterstützungsmodus kann das Automationsmodul das Ausführen von Aufgaben in nahtlosem Wechsel von dem Benutzermodul übernehmen. Bei einem Eingabebefehl zum Wechseln in den ersten Unterstützungsmodus das Automationsmodul das Ausführen von Aufgaben in nahtlosem Wechsel an das Benutzermoduls übergeben.
  • Zu weiteren technischen Merkmalen der vorliegenden Erfindung wird auf die Veröffentlichung „G. Quere, A. Hagengruber, M. Iskandar, S. Bustamante, D. Leidner, F. Stulp, and J. Vogel, „Shared Control Templates for Assistive Robotics,“ in 2020 IEEE International Conference on Robotics and Automation (ICRA), Paris, France, 2020, p. 7." verwiesen, deren Merkmale auch zur Lehre der vorliegenden Erfindung gehören und das vollständig in die Offenbarung der vorliegenden Erfindung einbezogen ist.
  • Der Roboter kann ein autonomer mobiler Roboter sein. Der Roboter kann ein Assistenzroboter, humanoider Roboter, Personal Robot oder Dienstleistungsroboter sein. Der Roboter kann Kinematiken aufweisen. Der Roboter kann Gelenke und Glieder aufweisen. Der Roboter kann Aktuatoren und Sensoren aufweisen. Der Roboter kann eine Kontrolleinrichtung aufweisen. Die Kontrolleinrichtung kann wenigstens einen Prozessor, wenigstens einen Arbeitsspeicher, wenigstens einen Datenspeicher und/oder wenigstens eine Signalschnittstelle aufweisen. Mithilfe der Kontrolleinrichtung können Computerprogramme ausführbar sein. Mithilfe der Kontrolleinrichtung können Computerprogramme ausführbar sein. Der Roboter kann ein simulierter Roboter oder eine Robotersimulation sein.
  • Der Roboter kann eine Kontrolleinrichtung mit einem Automationsmodul und einem Benutzermodul und eine geteilte Kontrollschnittstelle für das Automationsmodul und das Benutzermodul aufweisen.
  • Der Roboter kann ein benutzerauslösbares Vermittlungssystem aufweisen. Das Vermittlungssystem kann dazu dienen, zu jedem Zeitpunkt Eingabebefehle des Automationsmoduls und Eingabebefehle des Benutzermoduls zusammenzuführen und/oder zwischen Eingabebefehlen des Automationsmoduls und Eingabebefehlen des Benutzermoduls zu wechseln. In diesem Zusammenhang wird ergänzend insbesondere auf Seite 5, Absatz 2, bis Seites 6, Absatz 1, verwiesen. Ein Wechseln zwischen Eingabebefehlen des Automationsmoduls und Eingabebefehlen des Benutzermoduls kann durch einen Eingabebefehl des Benutzers zum Wechseln des Unterstützungsmodus initiiert werden.
  • Das Computerprogrammprodukt kann auf einer Kontrolleinrichtung eines Roboters installierbar und/oder ausführbar sein. Das Computerprogrammprodukt kann auf einem Datenträger als installierbare und/oder ausführbare Programmdatei vorliegen. Das Computerprogrammprodukt kann dazu dienen, in einen Arbeitsspeicher einer Kontrolleinrichtung eines Roboters geladen zu werden.
  • Zusammenfassend und mit anderen Worten dargestellt ergibt sich somit durch die Erfindung unter anderem ein Verfahren zum nahtlosen Umschalten zwischen geteilter Steuerung und Autonomie in der Robotik.
  • Mit dem hier vorgestellten Verfahren können geteilte Steuerung und überwachte Autonomie auf derselben Aktionsrepräsentation kapselt werden. Dabei kann von einem System ausgegangen werden, in dem ein menschlicher Benutzer einen Roboter in geteilte Steuerung über virtuelle Strukturen steuert. Der Roboter kann Bewegungen und Trajektorien in demselben Raum planen, in dem der Benutzer die Befehle generiert, und die Roboterbefehle verwenden auch die virtuellen Strukturen. Somit kann die Kontrolle zu jedem beliebigen Zeitpunkt zwischen dem Benutzer (bei geteilter Kontrolle) und dem Roboter getauscht werden.
  • Das Verfahren kann eine bereits vorgestellte Technik um die Fähigkeit, autonome Verhaltensweisen zu erzeugen, erweitern, während eine Beibehaltung der virtuellen Strukturen für die geteilte Steuerung kann sicherstellen, dass der Benutzer die Aufgaben einfach erledigen kann, wenn er dies wünscht.
  • Auf diese Weise kann eine Funktion hinzugefügt werden, die es bei autonomen Robotertechniken bisher nicht gibt, nämlich die Fähigkeit, den Kontakt an den Menschen zu übergeben - und wieder auf Autonomie umzuschalten - ohne die Notwendigkeit kostspieliger Umplanungen.
  • Das Design eines Autonomieauslösers kann vollständig auf dem expliziten Wunsch des Menschen, die Kontrolle abzugeben, beruhen. Dies bedeutet, dass der Benutzer immer die Kontrolle behalten kann und die Überlagerung der Roboterstrategie keine Belastung für das System darstellt. Da die Befehle im Eingaberaum des Benutzers zusammengeführt werden, kann die Kontrolle nahtlos zurückgetauscht werden und aufwändige Trajektorienoptimierer sind nicht erforderlich, sodass eine aufwändige Neuplanung entfallen kann und der Roboter kann virtuelle Strukturen verwenden, um unerwünschte Lösungen und lokale Minima zu vermeiden.
  • Es kann ein Roboter-Teleoperationssystem bereitgestellt werden, bei dem
    • - ein menschlicher Benutzer versucht, mit dem Roboter eine Manipulationsaufgabe zu lösen,
    • - es für die Aufgabe eine Zieldefinition gibt,
    • - der Benutzer versucht, die Roboterkonfiguration U mit einem Signal X gleicher oder geringerer Dimension und gleicher oder geringerer Qualität zu steuern (d.h. in geteilter Steuerung).
  • Es kann ein Roboterplaneinheit bereitgestellt werden, die Folgendes enthält:
    • - Virtuelle Vorrichtungen, die das Ziel kennen und X auf U abbilden, wobei die virtuellen Vorrichtungen objektbezogene Eingangszuordnungen sowie objektbezogene Beschränkungen umfassen können.
    • - Eine „Autonomy Unit“, die die virtuellen Strukturen und das Ziel kennt und Befehle im gleichen (oder ähnlichen) Raum des Signals X erzeugen kann, um die Aufgabe zu lösen.
    • - Ein vom Benutzer getriggertes Vermittlungssystem, um zu jedem Zeitpunkt die Befehle zwischen dem Roboter und sich selbst zusammenzuführen oder zu wechseln.
  • Mit der Erfindung wird eine vom Benutzer ausgelöste, einstellbare Autonomie insbesondere im Kontext der assistiven Robotik ermöglicht. Der Benutzer kann nahtlos zwischen Shared Control und Supervised Autonomy zur Aufgabenerfüllung wechseln. Dem Automationsmodul kann es als Black-Box-Optimierer ermöglicht werden, ein komplexes Manipulationsziel durch lokale Optimierung zu erfüllen. Dem Automationsmodul kann es ermöglicht werden, die Aktionen des Benutzers (in Shared Control) zu verfolgen und bei Bedarf sofort umzuschalten. Eine Übertragung von Fähigkeiten zwischen Robotern kann erleichtert werden.
  • Nachfolgend werden Ausführungsbeispiele der Erfindung unter Bezugnahme auf Figuren näher beschrieben, dabei zeigt schematisch und beispielhaft:
    • 1 ein Verfahren zum nahtlosen Umschalten zwischen Shared Control und Autonomy in der Robotik.
  • 1 zeigt ein Verfahren zum nahtlosen Umschalten zwischen Shared Control und Autonomy in der Robotik. Das Verfahren dient zum Kontrollieren eines Roboters 100 bei Kooperation mit einem menschlichen Benutzer, der den Roboter 100 zur Unterstützung beim Ausführen von Aufgaben benutzt. Der Roboter 100 kann in zwei Unterstützungsmodi mit unterschiedlichen Autonomiegraden kontrolliert werden. In einem ersten Unterstützungsmodus kann der Roboter 100 mithilfe eines Benutzermoduls 102 geteilt kontrolliert werden. In einem zweiten Unterstützungsmodus kann der Roboter 100 mithilfe eines Automationsmoduls 104 benutzerüberwacht autonom kontrolliert werden.
  • Das Benutzermodul 102 und das Automationsmodul 104 sind innerhalb eines geteilten Kontrollmoduls 106 dargestellt, wobei das Automationsmodul 104 in das Benutzermodul 102 integriert ist. Das geteilte Kontrollmodul wird daher auch als „geteiltes Kontrollmodul mit integrierter Autonomie“ (englisch: Shared Control with Integrated Autonomy, SCIA) bezeichnet.
  • Zum Kontrollieren des Roboters 100 durch den Benutzer ist eine Benutzerschnittstelle 108 vorgesehen. Die Benutzerschnittstelle kann beispielsweise ein Eingabegerät, wie Joystick, ein Grafiktablett, ein Touchscreen, eine Tastatur, eine Maus, oder ein Elektromyografie-(EMG)-Sensor, insbesondere ein Oberflächen-Elektromyografie-(sEMG)-Sensor, sein.
  • Das Benutzermodul 102 kontrolliert den Roboter 100 entsprechend einer Benutzereingabe über ein niedrigdimensionales latentes Signal xuser als Eingabebefehl 110, das in dem ersten Unterstützungsmodus als Signal x mithilfe geteilter Kontroll-Vorlagen (englisch: Shared Control Templates, SCTs) 112 kontextabhängig auf aufgabenrelevante Roboterbewegungen abgebildet wird, um ein Robotersteuersignal u als Ausgangsbefehl 114 zu generieren.
  • Beim Ausführen einer Aufgabe in dem ersten Unterstützungsmodus wird dem Automationsmodul 104 symbolisches Wissen über ein Benutzerziel 116 zur Verfügung gestellt und das Automationsmodul 104 folgt dem Kontrollieren des Roboters 100 durch das Benutzermodul 102 und generiert dabei einen aufgabenorientierten Prozess in einem latenten, niedrigdimensionalen Raum xaut als Eingabebefehl 118 mit dem Ziel, die Aufgabe zu lösen.
  • Da das Benutzermodul 102 und das in das Benutzermodul 102 integrierte Automationsmodul 104 mit ihren Eingabebefehlen 110, 118 dieselbe Aktionsrepräsentation verwenden, kann bei einem Eingabebefehl 120 zum Wechseln in den zweiten Unterstützungsmodus das Automationsmodul 104 das Ausführen der Aufgaben mit sofortiger Wirkung in nahtlosem Wechsel von dem Benutzermodul 102 übernehmen, indem von dem Signal xuser als Eingabebefehl 110 des Benutzermoduls 102 zu dem Signal xaut als Eingabebefehl 118 des Automationsmodul 104 umgeschaltet wird.
  • In einem ersten Beispielszenario kontrolliert ein Benutzer mit motorischen Beeinträchtigungen einen am Rollstuhl montierten Roboter 100 in einer Küche mithilfe einer Benutzerschnittstelle 108 mit Oberflächen-Elektromyographie-(sEMG)-Sensoren (xuser). Der Benutzer gibt in dem ersten Unterstützungsmodus Befehle ein, um eine Flasche auf einem Tisch zu greifen, wobei die virtuellen Strukturen des Benutzermoduls 102 und der geteilten Kontroll-Vorlagen 112 verwendet werden, um Signale xuser als Aktionsrepräsentation zu generieren. Da sich auf dem Tisch ein Becher befindet, beginnt der Benutzer mit dem Einschenken. Wenn der Benutzer ermüdet oder seine Aufmerksamkeit anderweitig gefordert ist, kann er durch Drücken eines Knopfes einen Eingabebefehl 120 zum Wechseln in den zweiten Unterstützungsmodus auslösen. Dann wird das Automationsmodul 104 sofort nahtlos beginnen, unter Verwendung der gleichen Aktionsrepräsentation Eingabebefehle 118 (xaut) zu produzieren und das Einschenken beenden. Nachfolgend kann der Benutzer die Kontrolle wieder übernehmen und über die Benutzerschnittstelle 108 mithilfe des Benutzermoduls 102 die Flasche auf dem Tisch abstellen.
  • In einem zweiten Beispielszenario kontrolliert ein Astronaut im Orbit einen humanoiden Roboter 100 auf der Erde mithilfe einer Benutzerschnittstelle 108 mit einem 3D-Spacemouse-Joystick (xuser) mit geringer Latenz als Aktionsrepräsentation. Der Roboter (100) wird in dem ersten Unterstützungsmodus teleoperiert, um Solarpaneele zu reinigen, wobei die virtuellen Strukturen des Benutzermoduls 102 und der geteilten Kontroll-Vorlagen 112 verwendet werden, um Signale xuser als Aktionsrepräsentation zu generieren. In ähnlicher Weise kann der Astronaut einen Eingabebefehl 120 zum Wechseln in den zweiten Unterstützungsmodus auslösen, der es dem Roboter 100 ermöglicht, die Aufgabe selbst zu erledigen, indem er unter Verwendung der gleichen Aktionsrepräsentation joystickähnliche Eingabebefehle 118 (xaut) ausgibt. Vielleicht ging aber auch etwas schief - der Astronaut war mit der Sauberkeit nicht zufrieden. Dann würde der Astronaut die Kontrolle über die Aufgabe wieder übernehmen und versuchen, die Aufgabe in geteilter Kontrolle im ersten Unterstützungsmodus zu beenden.
  • Mit „I<ann“ sind insbesondere optionale Merkmale der Erfindung bezeichnet. Demzufolge gibt es auch Weiterbildungen und/oder Ausführungsbeispiele der Erfindung, die zusätzlich oder alternativ das jeweilige Merkmal oder die jeweiligen Merkmale aufweisen.
  • Bezugszeichenliste
  • 100
    Roboter
    102
    Benutzermodul
    104
    Automationsmodul
    106
    geteiltes Kontrollmodul
    108
    Benutzerschnittstelle
    110
    Eingabebefehl des Benutzermoduls
    112
    geteilte Kontroll-Vorlagen
    114
    Ausgangsbefehl
    116
    Benutzerziel
    118
    Eingabebefehl des Automationsmoduls
    120
    Eingabebefehl zum Wechseln des Unterstützungsmodus

Claims (13)

  1. Verfahren zum roboterunterstützten Ausführen von Aufgaben, wobei ein Roboter (100) in einem ersten Unterstützungsmodus mithilfe eines Benutzermoduls (102) geteilt kontrolliert und in einem zweiten Unterstützungsmodus mithilfe eines Automationsmoduls (104) benutzerüberwacht autonom kontrolliert wird, dadurch gekennzeichnet, dass das Benutzermodul (102) und das Automationsmodul (104) innerhalb eines geteilten Kontrollmoduls (106) dargestellt sind und dieselbe Aktionsrepräsentation verwenden.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass innerhalb des geteilten Kontrollmoduls (106) Ausgangsbefehle (114) zum Kontrollieren des Roboters (100) basierend auf Eingabebefehlen (110) des Benutzermoduls (102) und/oder auf Eingabebefehlen (118) des Automationsmoduls (104) generiert werden.
  3. Verfahren nach wenigstens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass innerhalb des geteilten Kontrollmoduls (106) ein Wechseln zwischen dem ersten Unterstützungsmodus und dem zweiten Unterstützungsmodus basierend auf Eingabebefehlen (110) des Benutzermoduls (102) und/oder auf Eingabebefehlen (118) des Automationsmoduls (104) ermöglicht wird.
  4. Verfahren nach wenigstens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das geteilte Kontrollmodul (106) geteilte Kontroll-Vorlagen (112) verwendet und Eingabebefehle (110) des Benutzermoduls (102) und/oder Eingabebefehle (118) des Automationsmoduls (104) mithilfe der geteilten Kontroll-Vorlagen (112) auf aufgabenrelevante Roboterbewegungen abgebildet werden.
  5. Verfahren nach wenigstens einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, dass unabhängig davon, ob die Eingabebefehle (110, 118) von dem Benutzermodul (102) oder von dem Automationsmodul (104) ausgehen, immer die gleichen Zustandsübergänge, Eingangszuordnungen, aktiven Randbedingungen und/oder Gesamtsteuerung angewendet werden.
  6. Verfahren nach wenigstens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass innerhalb des geteilten Kontrollmoduls (106) eine Verlustfunktion L = D s s + 1 ( H ) ,
    Figure DE102021104883B3_0011
    eine lokale Optimierung x t * = arg min x L s s + 1 ( H t )
    Figure DE102021104883B3_0012
    und/oder ein Sampling-Pool als Verteilungsfunktion, insbesondere als von Mises-Fisher (vMF) Verteilung x t ν M F ( μ x , κ ) ,
    Figure DE102021104883B3_0013
    dargestellt wird/werden.
  7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass im Rahmen einer Evolutionsstrategie während einem Ausführen von Aufgaben die Parameter µx und κ angepasst werden.
  8. Verfahren nach wenigstens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass beim Ausführen von Aufgaben in dem ersten Unterstützungsmodus dem Automationsmodul (104) symbolisches Wissen über ein Benutzerziel (116) zur Verfügung gestellt wird und das Automationsmodul (104) dem Kontrollieren des Roboters (100) mithilfe des Benutzermoduls (102) folgt.
  9. Verfahren nach wenigstens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass bei einem Eingabebefehl (120) zum Wechseln in den zweiten Unterstützungsmodus das Automationsmodul (104) das Ausführen von Aufgaben in nahtlosem Wechsel von dem Benutzermodul (102) übernimmt und/oder bei einem Eingabebefehl (120) zum Wechseln in den ersten Unterstützungsmodus das Automationsmodul (104) das Ausführen von Aufgaben in nahtlosem Wechsel an das Benutzermoduls (102) übergibt.
  10. Roboter (100) zum Unterstützen eines Benutzers beim Ausführen von Aufgaben, dadurch gekennzeichnet, dass der Roboter (100) zum Ausführen eines Verfahrens nach wenigstens einem der vorhergehenden Ansprüche geeignet ist.
  11. Roboter (100) nach Anspruch 10, dadurch gekennzeichnet, dass der Roboter (100) eine Kontrolleinrichtung mit einem Benutzermodul (102) und einem Automationsmodul (104) und eine geteilte Kontrollschnittstelle für das Benutzermodul (102) und das Automationsmodul (104) aufweist.
  12. Roboter (100) nach wenigstens einem der Ansprüche 10 bis 11, dadurch gekennzeichnet, dass der Roboter (100) ein benutzerauslösbares Vermittlungssystem aufweisen, um zu jedem Zeitpunkt Eingabebefehle (110) des Benutzermoduls (102) und Eingabebefehle (118) des Automationsmoduls (102) zusammenzuführen oder zwischen Eingabebefehlen (110) des Benutzermoduls (102) und Eingabebefehlen (118) des Automationsmoduls (102) zu wechseln.
  13. Computerprogrammprodukt, dadurch gekennzeichnet, dass das Computerprogrammprodukt Programmcodeabschnitte umfasst, mit denen ein Verfahren nach wenigstens einem der Ansprüche 1 bis 9 durchführbar ist, wenn das Computerprogrammprodukt auf einer Kontrolleinrichtung eines Roboters (100) ausgeführt wird.
DE102021104883.4A 2021-03-01 2021-03-01 Verfahren zum roboterunterstützten Ausführen von Aufgaben, Roboter zum Unterstützen eines Benutzers beim Ausführen von Aufgaben und Computerprogrammprodukt Active DE102021104883B3 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102021104883.4A DE102021104883B3 (de) 2021-03-01 2021-03-01 Verfahren zum roboterunterstützten Ausführen von Aufgaben, Roboter zum Unterstützen eines Benutzers beim Ausführen von Aufgaben und Computerprogrammprodukt

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021104883.4A DE102021104883B3 (de) 2021-03-01 2021-03-01 Verfahren zum roboterunterstützten Ausführen von Aufgaben, Roboter zum Unterstützen eines Benutzers beim Ausführen von Aufgaben und Computerprogrammprodukt

Publications (1)

Publication Number Publication Date
DE102021104883B3 true DE102021104883B3 (de) 2022-06-15

Family

ID=81749729

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021104883.4A Active DE102021104883B3 (de) 2021-03-01 2021-03-01 Verfahren zum roboterunterstützten Ausführen von Aufgaben, Roboter zum Unterstützen eines Benutzers beim Ausführen von Aufgaben und Computerprogrammprodukt

Country Status (1)

Country Link
DE (1) DE102021104883B3 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023161141A1 (de) 2022-02-25 2023-08-31 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren und roboter zum ausführen von aufgaben und computerprogramm
DE102022111400A1 (de) 2022-05-06 2023-11-09 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Vorbereiten und Ausführen von Aufgaben mithilfe eines Roboters, Roboter und Computerprogramm

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015222164A1 (de) 2015-11-11 2017-05-11 Kuka Roboter Gmbh Verfahren und Computerprogramm zur Erzeugung einer grafischen Benutzerschnittstelle eines Manipulatorprogramms
DE102016221861A1 (de) 2016-11-08 2018-05-09 Volkswagen Aktiengesellschaft Einrichtung und Verfahren zur Einwirkung auf Gegenstände
DE102017216863B3 (de) 2017-09-22 2018-12-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Robotersystem zum Anpassen eines Robotereinsatzes an einen Arbeitsprozess
DE102017221348A1 (de) 2017-11-29 2019-05-29 Bayerische Motoren Werke Aktiengesellschaft Vorrichtung und Verfahren zur Ermittlung von Zeitdaten für ein Mensch-Roboter-Kooperations-System
DE102018009023A1 (de) 2017-11-24 2019-05-29 Fanuc Corporation Einlernvorrichtung zum ausführen von robotereinlernvorgängen und einlernverfahren
DE102019005297A1 (de) 2018-08-03 2020-02-06 Fanuc Corporation Unterstützungsvorrichtung für einen kooperativen Vorgang

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015222164A1 (de) 2015-11-11 2017-05-11 Kuka Roboter Gmbh Verfahren und Computerprogramm zur Erzeugung einer grafischen Benutzerschnittstelle eines Manipulatorprogramms
DE102016221861A1 (de) 2016-11-08 2018-05-09 Volkswagen Aktiengesellschaft Einrichtung und Verfahren zur Einwirkung auf Gegenstände
DE102017216863B3 (de) 2017-09-22 2018-12-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Robotersystem zum Anpassen eines Robotereinsatzes an einen Arbeitsprozess
DE102018009023A1 (de) 2017-11-24 2019-05-29 Fanuc Corporation Einlernvorrichtung zum ausführen von robotereinlernvorgängen und einlernverfahren
DE102017221348A1 (de) 2017-11-29 2019-05-29 Bayerische Motoren Werke Aktiengesellschaft Vorrichtung und Verfahren zur Ermittlung von Zeitdaten für ein Mensch-Roboter-Kooperations-System
DE102019005297A1 (de) 2018-08-03 2020-02-06 Fanuc Corporation Unterstützungsvorrichtung für einen kooperativen Vorgang

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
QUERE, Gabriel [u.a.]: Shared control templates for assistive robotics. In: 2020 IEEE International Conference on Robotics and Automation (ICRA), 31 May-31 Aug. 2020, Paris, France, S. 1956-1962. - ISBN 978-1-7281-7396-2. DOI: 10.1109/ICRA40945.2020.9197041. URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9197041 [abgerufen am 2021-04-13]

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023161141A1 (de) 2022-02-25 2023-08-31 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren und roboter zum ausführen von aufgaben und computerprogramm
DE102022104525A1 (de) 2022-02-25 2023-08-31 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren und Roboter zum Ausführen von Aufgaben und Computerprogramm
DE102022111400A1 (de) 2022-05-06 2023-11-09 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Vorbereiten und Ausführen von Aufgaben mithilfe eines Roboters, Roboter und Computerprogramm
WO2023213989A1 (de) 2022-05-06 2023-11-09 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum vorbereiten und ausführen von aufgaben mithilfe eines roboters, roboter und computerprogramm

Similar Documents

Publication Publication Date Title
DE102015204641B4 (de) Verfahren und System zur Programmierung eines Roboters
DE102011079117B4 (de) Verfahren zum Programmieren eines Roboters
DE102021104883B3 (de) Verfahren zum roboterunterstützten Ausführen von Aufgaben, Roboter zum Unterstützen eines Benutzers beim Ausführen von Aufgaben und Computerprogrammprodukt
DE102014103738B3 (de) Visuelle fehlersuche bei roboteraufgaben
DE112018002565B4 (de) System und Verfahren zum direkten Anlernen eines Roboters
DE102019006800A1 (de) Robotersteuerung und Anzeigevorrichtung unter Verwendung von erweiterter Realität und gemischter Realität
DE112016004725T5 (de) Verfahren zum Teach-ln eines Roboters und Roboterarmsteuervorrichtung
DE102010045529A1 (de) Interaktives Robotersteuerungssystem und Verwendungsverfahren
DE102021201918A1 (de) Vorrichtung und Verfahren zum Steuern ein oder mehrerer Roboter
DE102021204961A1 (de) Verfahren zur Steuerung einer Robotervorrichtung
DE102020212658A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102020214633A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102019205651B3 (de) Verfahren und System zum Ausführen von Roboterapplikationen
EP4094903A1 (de) Verfahren zum bestimmen externer interaktionskräfte und/oder interaktionsmomente eines roboters, roboter und computerprogrammprodukt
Sharp et al. Semiautonomous dual-arm mobile manipulator system with intuitive supervisory user interfaces
WO2023161141A1 (de) Verfahren und roboter zum ausführen von aufgaben und computerprogramm
Hollnagel The changing nature of task analysis
DE102020210823A1 (de) Maschinen-Steueranordnung
DE102020200165B4 (de) Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters
Li et al. Modeling of human operator behavior for brain-actuated mobile robots steering
Prasch et al. User-Centered Interface Design and Evaluation for Teleoperated Cranes with Boom Tip Control
DE102015003941A1 (de) Steuern eines mobilen redundanten Roboters
DE102022208082B3 (de) Verfahren zum Steuern eines technischen Systems
EP3752327A1 (de) Koordinierungsanlage, handhabungseinrichtung und verfahren
WO2023213989A1 (de) Verfahren zum vorbereiten und ausführen von aufgaben mithilfe eines roboters, roboter und computerprogramm

Legal Events

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