DE102022104525A1 - Verfahren und Roboter zum Ausführen von Aufgaben und Computerprogramm - Google Patents

Verfahren und Roboter zum Ausführen von Aufgaben und Computerprogramm Download PDF

Info

Publication number
DE102022104525A1
DE102022104525A1 DE102022104525.0A DE102022104525A DE102022104525A1 DE 102022104525 A1 DE102022104525 A1 DE 102022104525A1 DE 102022104525 A DE102022104525 A DE 102022104525A DE 102022104525 A1 DE102022104525 A1 DE 102022104525A1
Authority
DE
Germany
Prior art keywords
action
robot
user
execution mode
module
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
DE102022104525.0A
Other languages
English (en)
Inventor
Samuel Bustamante Gomez
Jörn Vogel
Freek Stulp
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 DE102022104525.0A priority Critical patent/DE102022104525A1/de
Priority to PCT/EP2023/054010 priority patent/WO2023161141A1/de
Publication of DE102022104525A1 publication Critical patent/DE102022104525A1/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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • 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/40392Programming, visual robot programming language
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40411Robot assists human in non-industrial environment like home or office

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)

Abstract

Verfahren zum Ausführen von Aufgaben mithilfe eines Roboters (102), wobei der Roboter (102) in einem ersten Ausführungsmodus (142) und in einem zweiten Ausführungsmodus (146) kontrolliert wird, wobei eine auf ein Aktionsziel (108) gerichtete Aktionssequenz (112) generiert und ausgeführt wird und zum Kontrollieren des Roboters (102) in dem ersten Ausführungsmodus (142) und in dem wenigstens einen weiteren Ausführungsmodus (146) dieselben Aktionsrepräsentationen verwenden, Roboter (102) zum Ausführen von Aufgaben, wobei der Roboter (102) zum Ausführen eines derartigen Verfahrens ausgelegt ist, und Computerprogramm, das Programmcodeabschnitte umfasst, mit denen ein derartiges Verfahren durchführbar ist, wenn das Computerprogramm auf einer Kontrolleinrichtung eines Roboters (102) ausgeführt wird.

Description

  • Die Erfindung betrifft ein Verfahren zum roboterunterstützten Ausführen von Aufgaben, wobei ein Roboter in einem ersten Ausführungsmodus und in wenigstens einem weiteren Ausführungsmodus 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 Computerprogramm.
  • Das Dokument DE 10 2017 209 032 A1 betrifft ein Verfahren zum Steuern eines Roboters. Um eine Auswahl einer vom Roboter durchzuführenden Aktion durch einen Nutzer zu vereinfachen, wird mit dem Dokument DE 10 2017 209 032 A1 vorgeschlagen, verschiedene Aktionen, die durch den Roboter durchführbar sind, zu ermitteln, die vom Roboter durchführbaren Aktionen gemäß mindestens einer Vorbedingung einzuschränken und diese eingeschränkte Anzahl der vom Roboter durchführbaren Aktionen auf einer Anzeigevorrichtung anzuzeigen, sodass der Nutzer aus dieser eingeschränkten Anzahl eine durchzuführende Aktion auswählen kann.
  • Die am 01.03.2021 angemeldete deutsche Patentanmeldung mit dem amtlichen Aktenzeichen 102021 104 883.4 betrifft ein Verfahren zum roboterunterstützten Ausführen von Aufgaben, wobei ein Roboter in einem ersten Unterstützungsmodus mithilfe eines Benutzermoduls geteilt kontrolliert und in einem zweiten Unterstützungsmodus mithilfe eines Automationsmoduls benutzerüberwacht autonom kontrolliert wird. Um eine vom Benutzer ausgelöste, einstellbare Autonomie insbesondere im Kontext der assistiven Robotik zu ermöglichen, sind das Benutzermodul und das Automationsmodul innerhalb eines geteilten Kontrollmoduls dargestellt und verwenden dieselbe Aktionsrepräsentation.
  • Der Erfindung liegt die Aufgabe zugrunde, ein eingangs genanntes Verfahren bereit zu stellen oder strukturell und/oder funktionell zu verbessern. Außerdem liegt der Erfindung die Aufgabe zugrunde, einen eingangs genannten Roboter bereit zu stellen oder strukturell und/oder funktionell zu verbessern. Außerdem liegt der Erfindung die Aufgabe zugrunde, ein eingangs genanntes Computerprogramm bereit zu stellen oder 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 14. Außerdem wird die Aufgabe gelöst mit einem Roboter mit den Merkmalen des Anspruchs 15. 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. Auszuführende Aufgaben können Aufgaben sein, die ein Benutzer und/oder ein Roboter ausführen können/kann. 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.
  • In dem ersten Ausführungsmodus und/oder in dem wenigstens einen weiteren Ausführungsmodus kann der Roboter mithilfe eines Kontrollmoduls kontrolliert werden. Das Kontrollmodul kann ein gemeinsames Kontrollmodul sein, das zum Kontrollieren des Roboters in dem ersten Ausführungsmodus und in dem wenigstens einen weiteren Ausführungsmodus ausgelegt ist. Das Kontrollmodul kann ein geteiltes Kontrollmodul sein. Ein geteiltes Kontrollmodul kann ein erstes Submodul und wenigstens ein weiteres Submodul aufweisen. Ein geteiltes Kontrollmodul kann ein erstes Submodul und ein zweites Submodul aufweisen. Ein erstes Submodul kann zum Kontrollieren des Roboters in dem ersten Ausführungsmodus ausgelegt sein. Ein weiteres Submodul kann zum Kontrollieren des Roboters in dem wenigstens einen weiteren Ausführungsmodus ausgelegt sein. Ein erstes Submodul kann als Benutzermodul ausgeführt sein. Ein zweites Submodul kann als Automationsmodul ausgeführt sein. In dem ersten Ausführungsmodus und in dem wenigstens einen weiteren Ausführungsmodus können dem Roboter unterschiedliche Autonomiegrade zugewiesen sein. In dem ersten Ausführungsmodus kann dem Roboter eine geringere Autonomie zugewiesen sein als in dem wenigstens einen weiteren Ausführungsmodus. In dem wenigstens einen weiteren Ausführungsmodus kann dem Roboter eine größere Autonomie zugewiesen sein als in dem ersten Ausführungsmodus. Der erste Ausführungsmodus und der wenigstens eine weitere Ausführungsmodus können sequentiell, gewichtet sequentiell, parallel und/oder gewichtet parallel ausgeführt werden. Das Verfahren kann mithilfe wenigstens eines Prozessors durchgeführt werden. Das Verfahren kann mithilfe einer Kontrolleinrichtung des Roboters durchgeführt werden.
  • Der erste Ausführungsmodus kann ein erster Unterstützungsmodus sein. Der wenigstens eine weitere Ausführungsmodus kann ein zweiter Unterstützungsmodus sein. Ein Unterstützungsmodus kann zum roboterunterstützten Ausführen von Aufgaben ausgelegt sein. In dem ersten Unterstützungsmodus kann der Roboter geteilt kontrolliert werden. In dem ersten Unterstützungsmodus kann der Roboter mithilfe eines als Benutzermodul ausgeführten Submoduls geteilt kontrolliert werden. Der erste Unterstützungsmodus kann auch als „geteilte Kontrolle“ (englisch: Shared Control) bezeichnet werden. In dem zweiten Unterstützungsmodus kann der Roboter benutzerüberwacht autonom kontrolliert werden. In dem zweiten Unterstützungsmodus kann der Roboter mithilfe wenigstens eines als Automationsmodul ausgeführten Submoduls benutzerüberwacht autonom kontrolliert werden. Der zweite Unterstützungsmodus kann auch als „überwachte Autonomie“ (englisch: Supervised Autonomy) bezeichnet werden. Das erste Submodul und das wenigstens eine weitere Submodul können innerhalb eines geteilten Kontrollmoduls dargestellt sein. Wenigstens ein Ausführungsmodus kann zum Ausführen von Teleoperationen ausgelegt sein. Wenigstens ein Ausführungsmodus kann zum Ausführen vollständig autonomer Operationen ausgelegt sein. Wenigstens ein Ausführungsmodus kann zum direkten Kontrollieren (englisch: Direct Control) des Roboters ausgelegt sein.
  • „Geteilte Kontrolle“ bzw. „Shared Control“ bedeutet insbesondere, dass der Roboter, insbesondere Steuerungsvariablen des Roboters, geteilt vom Benutzer mithilfe eines als Benutzermodul ausgeführten Submoduls und/oder autonom mithilfe eines als Automationsmodul ausgeführten Submoduls kontrolliert werden kann. Der Roboter kann teilweise mithilfe eines als Benutzermodul ausgeführten Submoduls und teilweise mithilfe eines als Automationsmodul ausgeführten Submoduls kontrolliert werden. Eine Aufteilung zwischen einer Kontrolle mithilfe eines als Benutzermodul ausgeführten Submoduls und einer Kontrolle mithilfe eines als Automationsmodul ausgeführten Submoduls kann kontrolliert änderbar sein. Eine Aufteilung zwischen einer Kontrolle mithilfe eines als Benutzermodul ausgeführten Submoduls und einer Kontrolle mithilfe eines als Automationsmodul ausgeführten Submoduls 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 eines als Benutzermodul ausgeführten Submoduls kann zwischen fast 0% und fast 100% liegen und ein Anteil der Kontrolle mithilfe eines als Automationsmodul ausgeführten Submoduls kann zwischen fast 100% und fast 0% liegen, wobei ein Kontrollanteil eines als Benutzermoduls ausgeführten Submoduls und ein Kontrollanteil eines Automationsmodul ausgeführten Submoduls 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 überwachter 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.
  • Ein Kontrollmodul kann ein virtuelles Modul sein und/oder virtuelle Strukturen umfassen. Ein Submodul, beispielsweise ein als Automationsmodul ausgeführtes Submodul und/oder ein als Benutzermodul ausgeführtes Submodul, können/kann ein virtuelles Modul sein und/oder virtuelle Strukturen umfassen. Ein Submodul, beispielsweise ein als Automationsmodul ausgeführtes Submodul und/oder ein als Benutzermodul ausgeführtes Submodul, können/kann ein strukturell und/oder funktionell unterscheidbares oder abgrenzbares Modul sein. Ein als Automationsmodul ausgeführtes Submodul kann dazu ausgelegt sein, den Roboter autonom zu kontrollieren. Ein als Automationsmodul ausgeführtes Submodul kann dazu ausgelegt sein, durch Aufgabendefinitionen vorgegebene Aufgaben zu erledigen. Ein als Automationsmodul ausgeführtes Submodul kann dazu ausgelegt sein, Eingabebefehle zum autonomen Kontrollieren als Aktionsrepräsentation zu generieren. Ein als Benutzermodul ausgeführtes Submodul kann dazu ausgelegt sein, den Roboter entsprechend Benutzereingaben zu kontrollieren. Ein als Benutzermodul ausgeführtes Submodul kann dazu ausgelegt sein, Eingabebefehle zum geteilten Kontrollieren als Aktionsrepräsentation zu generieren.
  • Das Kontrollmodul kann in dem ersten Ausführungsmodus und in dem wenigstens einen weiteren Ausführungsmodus Bewegungen und Trajektorien in denselben virtuellen Strukturen planen. Eingabebefehle des Kontrollmoduls können in dem ersten Ausführungsmodus und in dem wenigstens einen weiteren Ausführungsmodus dieselben virtuellen Strukturen verwenden. In dem ersten Ausführungsmodus, beispielsweise in dem ersten Unterstützungsmodus, kann der Roboter durch einen Benutzer über virtuelle Strukturen, insbesondere über ein als Benutzermodul ausgeführtes Submodul, kontrollierbar sein. Ein weiteres Submodul, beispielsweise ein als Automationsmodul ausgeführtes Submodul, kann Bewegungen und Trajektorien in denselben virtuellen Strukturen planen, in denen ein Benutzer Befehle generiert. Eingabebefehle eines ersten Submoduls, beispielsweise Eingabebefehle eines Automationsmoduls, und Eingabebefehle wenigstens eines weiteren Submoduls, beispielsweise Eingabebefehle eines Benutzermoduls, können dieselben virtuellen Strukturen verwenden.
  • Ein geteiltes Kontrollmodul kann ein als Automationsmodul ausgeführtes Submodul und ein als Benutzermodul ausgeführtes Submodul umfassen. Ein als Automationsmodul ausgeführtes Submodul kann in ein als Benutzermodul ausgelegtes Submodul integriert sein. Ein als Benutzermodul ausgeführtes Submodul kann ein als Automationsmodul ausgeführtes Submodul umfassen. Insofern kann ein geteiltes Kontrollmodul auch als „geteiltes Kontrollmodul mit integrierter Autonomie“ (englisch: Shared Control with Integrated Autonomy, SCIA) bezeichnet werden.
  • Ein Submodul und ein weiteres Submodul, beispielsweise ein als Benutzermodul ausgeführtes Submodul und ein als Automationsmodul ausgeführtes Submodul, können mit ihren jeweiligen Eingabebefehlen dieselben Aktionsrepräsentationen verwenden. Ein Submodul, beispielsweise ein als Automationsmodul ausgeführtes Submodul, kann die Aktionsrepräsentationen eines weiteren Submoduls, beispielsweise eines als Benutzermodul ausgeführten weiteren Submoduls, verwenden. Ein Submodul, beispielsweise ein als Benutzermodul ausgeführtes Submodul kann eine Aktionsrepräsentationen eines weiteren Submoduls, beispielsweise eines als Automationsmodul ausgeführten weiteren Submoduls, verwenden. Die Aktionsrepräsentationen können virtuelle Strukturen sein und/oder virtuelle Strukturen umfassen.
  • Innerhalb des Kontrollmoduls können Ausgangsbefehle zum Kontrollieren des Roboters basierend auf Eingabebefehlen generiert werden. Innerhalb eines geteilten Kontrollmoduls können Ausgangsbefehle zum Kontrollieren des Roboters basierend auf Eingabebefehlen eines ersten Submoduls, beispielsweise eines als Automationsmodul ausgeführten Submoduls und/oder auf Eingabebefehlen wenigstens eines weiteres Submoduls, beispielsweise eines als Benutzermodul ausgeführten Submoduls generiert werden. Die Ausgangsbefehle können auch als Robotersteuersignal bezeichnet werden. Die Eingabebefehle können Befehle innerhalb des gemeinsamen oder geteilten Kontrollmoduls sein. Die Eingabebefehle können von dem Kontrollmodul, beispielsweise von einem als Automationsmodul ausgeführten Submodul und/oder von einem als Benutzermodul ausgeführten Submodul, ausgehende Befehle sein. Die Eingabebefehle können Befehle sein, aus denen Ausgangsbefehle generiert werden. Die Ausgangsbefehle können unmittelbar basierend auf Eingabebefehlen des Kontrollmoduls, beispielsweise basierend auf Eingabebefehlen eines als Automationsmodul ausgeführten Submoduls und/oder auf Eingabebefehlen eines als Benutzermodul ausgeführten Submoduls, generiert werden. Die Ausgangsbefehle können ohne gesonderte Ausgangsbefehle des Kontrollmoduls, beispielsweise ohne gesonderte Ausgangsbefehle eines als Automationsmodul ausgeführten Submoduls und/oder Ausgangsbefehle eines als Benutzermodul ausgeführten Submoduls, generiert werden.
  • Die Ausgangsbefehle können entsprechend einem aktiven Ausführungsmodus, beispielsweise entsprechend einem aktiven Unterstützungsmodus, generiert werden. In einem ersten Unterstützungsmodus können die Ausgangsbefehle basierend auf Eingabebefehlen eines Automationsmoduls und/oder auf Eingabebefehlen eines als Benutzermodul ausgeführten Submodul generiert werden. In einem zweiten Unterstützungsmodus können die Ausgangsbefehle basierend auf Eingabebefehlen eines als Automationsmodul ausgeführten Submodul generiert werden. Die Ausgangsbefehle können Ausgangsbefehle des gemeinsamen oder 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 gemeinsamen oder geteilten Kontrollmoduls kann ein Wechseln zwischen dem ersten Ausführungsmodus und dem wenigstens einen weiteren Ausführungsmodus basierend auf Eingabebefehlen des Kontrollmoduls, beispielsweise basierend auf Eingabebefehlen eines als Automationsmodul ausgeführten Submoduls und/oder auf Eingabebefehlen eines als Benutzermodul ausgeführten Submodul, ermöglicht werden. Ein Submodul, beispielsweise ein Automationsmodul, kann aktivierbar und/oder deaktivierbar sein. Ein Wechseln zwischen dem ersten Ausführungsmodus und dem wenigstens einen weiteren Ausführungsmodus, beispielsweise zwischen einem ersten Unterstützungsmodus und einem zweiten Unterstützungsmodus, kann in vermittelter Kontrolle (englisch: Traded Control) erfolgen. Insofern kann ein geteiltes Kontrollieren mit Wechsel zwischen dem ersten Ausführungsmodus und dem wenigstens einen weiteren Ausführungsmodus, beispielsweise zwischen einem ersten Unterstützungsmodus und einem zweiten Unterstützungsmodus, auch als „Shared and Traded Control“ bezeichnet werden. Ein Vermitteln der Eingabebefehle eines ersten Submoduls, beispielsweise eines Automationsmoduls, und/oder der Eingabebefehle wenigstens eines weiteren Submoduls, beispielsweise eines Benutzermoduls, kann innerhalb eines geteilten Kontrollmoduls, insbesondere innerhalb virtueller Strukturen, die auch ein Benutzer zur Eingabe verwendet, erfolgen.
  • Ein Wechseln zwischen dem ersten Ausführungsmodus und dem wenigstens einen weiteren Ausführungsmodus, beispielsweise zwischen einem ersten Unterstützungsmodus und einem zweiten Unterstützungsmodus, kann durch Aktivieren/Deaktivieren eines als Automationsmodul ausgeführten Submoduls erfolgen. In dem ersten Ausführungsmodus, beispielsweise in einem ersten Unterstützungsmodus, kann ein als Automationsmodul ausgeführtes Submodul deaktiviert sein. In dem wenigstens einen weiteren Ausführungsmodus, beispielsweise in einem zweiten Unterstützungsmodus, kann ein als Automationsmodul ausgeführtes Submodul aktiviert sein. Ein als Automationsmodul ausgeführtes Submodul kann standardmäßig deaktiviert sein. Ein als Automationsmodul ausgeführtes Submodul kann durch einen Benutzerbefehl aktiviert und/oder deaktiviert werden.
  • Zum weiteren diesbezüglichen technologischen Hintergrund wird auf die Veröffentlichungen „S. Bustamante, G. Quere, K. Hagmann, X. Wu, P. Schmaus, J. Vogel, F. Stulp, and D. Leidner, „Toward seamless transitions between shared control and supervised autonomy in robotic assistance," IEEE Robotics and Automation Letters, vol. 6, no. 2, pp. 3833-3840, 2021.“ und „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 die vollständig in die Offenbarung der vorliegenden Erfindung einbezogen sind.
  • Das Aktionsziel kann ein Ausführen oder Erfüllen einer spezifischen Aufgabe sein. Das Aktionsziel kann ein Gesamtziel sein. Das Aktionsziel kann durch Ausführen geeigneter Aktionen erreichbar sein. Das Aktionsziel kann durch sequentielles Ausführen geeigneter Aktionen erreichbar sein. Die zum Erreichen des Aktionsziels auszuführenden und/oder ausgeführten Aktionen können die Aktionssequenz bilden. Die Aktionssequenz kann die zum Erreichen des Aktionsziels auszuführenden und/oder ausgeführten Aktionen umfassen oder durch diese Aktionen gebildet sein. Die Aktionssequenz kann symbolischer Plan sein. Der symbolische Plan kann alle symbolischen Übergänge enthalten, die zum Erreichen des Aktionsziels erforderlich sind. Die auf ein Aktionsziel gerichtete Aktionssequenz kann eine Aktionssequenz sein, die zum Erfüllen des Aktionsziels ausgelegt ist. Die Aktionssequenz kann generiert und/oder ausgeführt werden, um das Aktionsziel zu erreichen. Die Aktionssequenz kann weder vorbestimmt noch fest sein. Die Aktionssequenz kann zum Erreichen eines Aktionsziels geplant werden. Die Aktionssequenz kann individuell zum Erreichen eines spezifischen Aktionsziels geplant werden. Wenigstens eine Aktion und wenigstens eine weitere Aktion der Aktionssequenz können zumindest teilweise parallel zueinander ausgeführt werden.
  • Das Aktionsziel kann unter Berücksichtigung eines Benutzerbefehls bestimmt werden. Der Benutzerbefehl kann auf einer Eingabe und/oder auf einer Auswahl durch einen Benutzer basieren. Für eine Auswahl durch den Benutzer können folgende Schritte ausgeführt werden: Ermitteln möglicher Aktionsziele; Einschränken einer Anzahl der ermittelten möglichen Aktionsziele unter Berücksichtigung wenigstens einer Vorbedingung; Anbieten der eingeschränkten Anzahl von Aktionszielen, um dem Benutzer eine Auswahl zu ermöglichen. Die eingeschränkte Anzahl von Aktionszielen kann dem Benutzer durch Anzeigen auf einer Anzeigevorrichtung angeboten werden.
  • Die Vorbedingung kann eine globale Vorbedingung sein, die insbesondere besagt, dass eine auf ein Aktionsziel gerichtete Aktionssequenz erst ausführbar ist, nachdem eine erforderliche vorausgehende Aktionssequenz abgeschlossen ist. Die Vorbedingung kann besagen, dass eine Aktionssequenz mit einer begrenzten Anzahl von Aktionen abgeschlossen werden kann, wobei diese Anzahl einstellbar sein kann. Eine Aktionssequenz kann als Ausnahme definiert werden und dem Benutzer zur Auswahl angeboten werden, obwohl die zum Abschließen dieser Aktionssequenz erforderlichen Anzahl von Aktionen eine zugelassene begrenzte Anzahl überschreitet. Die Vorbedingung kann besagen, dass nur Aktionssequenzen an zu manipulierenden Objekten angezeigt werden, die weniger als ein einstellbarer Höchstabstand vom Roboter entfernt sind. Es kann eine Blacklist mit unzulässigen Aktionssequenzen angelegt wird und die Vorbedingung kann besagen, dass eine auf der Blacklist stehende Aktionssequenz dem Benutzer nicht zur Auswahl angeboten werden darf. Es kann eine Whitelist mit erforderlichen Aktionssequenzen angelegt werden und die Vorbedingung kann besagen, dass eine auf der Whitelist stehende Aktionssequenz dem Benutzer zur Auswahl angeboten werden muss. Die Vorbedingung kann besagen, dass der Roboter ausschließlich in einem begrenzten räumlichen Bereich, insbesondere innerhalb der Wohnung des Nutzers verwendet werden darf. Die Vorbedingung kann besagen, dass dem Benutzer nur Aktionssequenzen zur Auswahl angeboten werden dürfen, die einen vorbestimmten Energiebedarf nicht überschreiten.
  • Zum weiteren diesbezüglichen technologischen Hintergrund wird auf die Veröffentlichung „D. S. Leidner, Cognitive Reasoning for Compliant Robot Manipulation, ser. Springer Tracts in Advanced Robotics. Cham: Springer International Publishing, 2019, vol. 127.“ verwiesen, deren Merkmale auch zur Lehre der vorliegenden Erfindung gehört und die vollständig in die Offenbarung der vorliegenden Erfindung einbezogen ist.
  • Eine Aktionssequenz kann mithilfe eines symbolischen Planers generiert werden. Beim/zum Generieren einer Aktionssequenz können Aktionsdefinitionen und/oder Objektdefinitionen verwendet werden. Die Aktionsdefinitionen können Aktionen definieren, die Teil einer Aktionssequenz sein können. Die Objektdefinitionen können Objekte definieren, die Teil einer Umgebung des Roboters sein können.
  • Beim/zum Generieren der Aktionssequenz können aus einer Vielzahl von Aktionsdefinitionen geeignete Aktionsdefinitionen ausgewählt werden. Die Aktionsdefinitionen können in einer Aktionsdatenbank enthalten sein. Die Aktionsdatenbank kann eine zentrale Datenbank sein. Beim/zum Generieren der Aktionssequenz kann deklaratives und/oder prozedurales Wissen genutzt werden. Beim/zum Generieren der Aktionssequenz kann deklaratives und/oder prozedurales Wissen aus den Aktionsdefinitionen genutzt werden.
  • Beim/zum Generieren der Aktionssequenz können endliche Zustandsautomaten (englisch: Finite State Machine, FSM) in Form geteilter Kontroll-Vorlagen (englisch: Shared Control Templates, SCTs) erstellt werden. Die geteilten Kontroll-Vorlagen können dazu ausgelegt sein, aus Eingabebefehlen des Kontrollmoduls, beispielsweise aus Eingabebefehlen eines ersten Submoduls, beispielswiese eines Automationsmoduls, und/oder Eingabebefehlen wenigstens eines weiteren Submoduls, beispielswiese eines Benutzermoduls, Ausgangsbefehle zu generieren. Das gemeinsame oder geteilte Kontrollmodul kann geteilte Kontroll-Vorlagen verwenden. Zwischen geteilten Kontroll-Vorlagen können Zustände und Übergänge Schlüsselelemente bilden. 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 Kontrollmoduls, beispielsweise Eingabebefehle eines ersten Submoduls, wie Automationsmodul, und/oder Eingabebefehle eines weiteren Submoduls, wie Benutzermodul, können mithilfe der geteilten Kontroll-Vorlagen auf aufgabenrelevante Roboterbewegungen abgebildet werden. Mit dem Abbilden der Eingabebefehle des Kontrollmoduls, beispielsweise der Eingabebefehle eines ersten Submoduls, wie Automationsmodul, und/oder der Eingabebefehle eines weiteren Submoduls, wie Benutzermodul, auf aufgabenrelevante Roboterbewegungen können die Ausgangsbefehle generiert werden. Eine geteilte Kontroll-Vorlage kann einen 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. Ein erstes Submodul, beispielsweise ein Automationsmodul, kann definiert werden und Eingabebefehle an die SCT übermitteln. 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 ersten Submodul, beispielsweise einem Automationsmodul, und wenigstens einem weiteren Submodul, beispielsweise einem Benutzermodul, gewechselt werden. Das bedeutet, dass die SCT unabhängig davon ist, ob ein Eingabebefehle von dem ersten Submodul, beispielsweise von dem Automationsmodul, oder von dem wenigstens einen weiteren Submodul, beispielsweise dem Benutzermodul, kommt. Unabhängig davon, ob die Eingabebefehle von dem ersten Submodul, beispielsweise von dem Automationsmodul, oder von dem wenigstens einen weiteren Submodul, beispielsweise von dem Benutzermoduls ausgehen, können immer die gleichen Zustandsübergänge, Eingangszuordnungen, aktiven Randbedingungen und/oder die gleiche Gesamtsteuerung angewendet werden.
  • Zum weiteren diesbezüglichen technologischen Hintergrund wird auf die Veröffentlichungen „S. Bustamante, G. Quere, K. Hagmann, X. Wu, P. Schmaus, J. Vogel, F. Stulp, and D. Leidner, „Toward seamless transitions between shared control and supervised autonomy in robotic assistance," IEEE Robotics and Automation Letters, vol. 6, no. 2, pp. 3833-3840, 2021.“ und „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 die vollständig in die Offenbarung der vorliegenden Erfindung einbezogen sind.
  • Das Verfahren kann eine Planungsphase und eine Ausführungsphase umfassen. In der Planungsphase kann eine vorläufige Aktionssequenz generiert und die vorläufige Aktionssequenz simulativ ausgeführt und getestet werden. Die vorläufige Aktionssequenz kann mit unterschiedlichen Parametern getestet werden. Bei einem negativen Testergebnis können in der Planungsphase wiederholt weitere vorläufige Aktionssequenzen generiert und simulativ ausgeführt und getestet werden, bis eine weitere vorläufige Aktionssequenz mit positivem Ergebnis getestet wird. Bei einem positiven Testergebnis kann die mit positivem Ergebnis getestete vorläufige Aktionssequenz oder die mit positivem Ergebnis getestete weitere vorläufige Aktionssequenz in der Ausführungsphase als Aktionssequenz real ausgeführt werden.
  • Der Roboter kann zum Unterstützen eines Benutzers beim Ausführen von Aufgaben ausgelegt sein. Der Roboter kann ein autonomer mobiler Roboter sein. Der Roboter kann ein Assistenzroboter, ein humanoider Roboter, ein Personal Robot oder ein 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 Ein- und/oder Ausgabeeinrichtung für einen Benutzer, die auch als Benutzerschnittstelle bezeichnet werden kann, aufweisen. Die Ein- und/oder Ausgabeeinrichtung kann dazu ausgelegt sein, Benutzerbefehle zu erfassen. Die Ein- und/oder Ausgabeeinrichtung kann dazu ausgelegt sein, einem Benutzer Aktionsziele zur Auswahl anzubieten. Die Ein- und/oder Ausgabeeinrichtung kann als Touchscreen ausgeführt sein. Der Roboter kann eine Kontrolleinrichtung aufweisen. Die Kontrolleinrichtung kann wenigstens einen Prozessor, wenigstens einen Arbeitsspeicher, wenigstens einen Datenspeicher und/oder wenigstens eine Signalschnittstelle aufweisen. Die Kontrolleinrichtung und die Ein- und/oder Ausgabeeinrichtung können miteinander signalübertragend verbunden sein. Mithilfe der Kontrolleinrichtung kann das Computerprogramm ausführbar sein. Der Roboter kann ein realer Roboter sein. Der Roboter kann ein simulierter Roboter oder eine Robotersimulation sein.
  • Der Roboter kann ein benutzerauslösbares Vermittlungssystem aufweisen. Das Vermittlungssystem kann dazu dienen, zu jedem Zeitpunkt Eingabebefehle des Kontrollmoduls, beispielsweise Eingabebefehle eines ersten Submoduls, wie Automationsmodul, und Eingabebefehle wenigstens eines weiteren Submoduls, wie Benutzermodul, zusammenzuführen und/oder zwischen Eingabebefehlen eines ersten Submoduls, wie Automationsmodul, und Eingabebefehlen wenigstens eines weiteren Submoduls, wie Benutzermodul, zu wechseln. Ein Wechseln zwischen Eingabebefehlen eines ersten Submoduls, wie Automationsmodul, und Eingabebefehlen wenigstens eines weiteren Submoduls, wie Benutzermodul, kann durch einen Eingabebefehl eines Benutzers zum Wechseln des Ausführungsmodus, beispielsweise eines Unterstützungsmodus, initiiert werden.
  • Das Computerprogramm kann auf einer Kontrolleinrichtung eines Roboters installierbar und/oder ausführbar sein. Das Computerprogramm kann als Computerprogrammprodukt vorliegen. Das Computerprogramm kann auf einem Datenträger als installierbare und/oder ausführbare Programmdatei vorliegen. Das Computerprogramm 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 für die Zielplanung von Roboteraufgaben, die unter gemeinsamer Kontrolle, überwachter Autonomie oder beidem ausgeführt werden.
  • Die Erfindung kann sich insbesondere durch folgende Merkmale auszeichnen:
    • - Ein Planungssystem für einen Roboter, insbesondere Assistenzroboter, das Handlungssequenzen, die auch als Aktionssequenzen bezeichnet werden können, generiert, die sowohl in gemeinsamer Kontrolle als auch in überwachter Autonomie ausgeführt werden können. Darüber hinaus kann ein Benutzer an jedem Punkt einer Aufgabenausführung zwischen diesen beiden Varianten wechseln.
    • - Das Planungssystem nimmt als Eingabe ein Ziel, das auch als Aktionsziel bezeichnet werden kann, das der Benutzer über eine Benutzerschnittstelle, wie Tablet oder Bildschirm, eingegeben oder aus einer Reihe von Optionen ausgewählt hat.
    • - Während einer Planungsphase fragt das Planungssystem eine zentrale Datenbank ab, die Aktionen und deren Definitionen, auch als Aktionsdefinitionen bezeichnet, enthält, und fragt auch einen Umgebungszustand ab. Das System nutzt das deklarative Wissen aus den Aktionen und erstellt eine Aktionssequenz, die das Ziel erfüllt.
    • - Das Planungssystem nutzt prozedurales Wissen aus den Aktionen und erstellt endliche Zustandsautomaten in Form von Shared Control Templates.
    • - Die Pläne und Zustandsautomaten werden simuliert und mit verschiedenen Parametern getestet. Wenn alle Parameter fehlschlagen, versucht es der Planer mit anderen Aktionen.
    • - In einer Ausführungsphase können die Zustandsautomaten verwendet werden, um die Aktionssequenzen auszuführen und den Roboter zu steuern, sowohl im Modus der gemeinsamen Steuerung, der auch als erster Unterstützungsmodus bezeichnet werden kann, als auch im Modus der überwachten Autonomie, der auch als zweiter Unterstützungsmodus bezeichnet werden kann.
  • Mit der Erfindung wird eine Flexibilität beim roboterunterstützten Ausführen von Aufgaben ermöglicht oder erhöht. Es wird ein Framework für Constraint Action Templates (CATs) bereitgestellt, das Aktionssequenzen und geteilte Kontroll-Vorlagen mit dem Hauptziel kombiniert, eine Aufgabenplanung für die gemeinsame Kontrolle, insbesondere in dem ersten Ausführungsmodus, zu ermöglichen. Die CATs ermöglichen eine symbolische Planung von Aktionssequenzen, die für eine Kontrolle des Roboters in mehreren Ausführungsmodi gemeinsam genutzt werden können und sogar einen reibungslosen Wechsel zwischen den Ausführungsmodi während der Ausführung erlauben. Beispielsweise ermöglichen die CATs eine symbolische Planung von Aktionssequenzen, die für eine gemeinsame Kontrolle und eine autonome Kontrolle unter Verwendung eines als Automationsmodul ausgeführten Submoduls verwendet werden können und sogar einen reibungslosen Wechsel zwischen beiden Kontrollmodi während der Ausführung erlauben.
  • Nachfolgend werden Ausführungsbeispiele der Erfindung unter Bezugnahme auf eine Figur näher beschrieben, dabei zeigt schematisch und beispielhaft:
    • 1 ein Framework für Constraint Action Templates, das Aktionssequenzen und geteilte Kontroll-Vorlagen kombiniert.
  • Das in 1 gezeigte Framework 100 ermöglicht es, einen Roboter 102 bereitzustellen, der einen Benutzer 104 bei einem Ausführen von Aufgaben, beispielsweise von allgemeinen Aufgaben, industrielle Aufgaben, Aufgaben in der Raumfahrt und/oder Aufgaben im Gesundheitswesen, flexibel unterstützt, indem für unterschiedliche Aufgaben zielgerichtete Pläne generiert werden können, die Pläne in angepassten Autonomiestufen des Roboters 102, einschließlich direkter Kontrolle, gemeinsamer Kontrolle, überwachter Autonomie und vollständiger Autonomie, ausgeführt werden können und der Benutzer 104 während einem Ausführen der Pläne zwischen unterschiedlichen Autonomiestufen wechseln kann.
  • Zum roboterunterstützten Ausführen einer Aufgabe wird zunächst unter Berücksichtigung eines Benutzerbefehls 106 ein Aktionsziel 108 bestimmt und dann mithilfe eines Aufgabenplaners 110 eine auf das Aktionsziel 108 gerichtete Aktionssequenz 112 generiert. Die Aktionssequenz 112 umfasst einen Startblock 114 geeignete Aktionen, wie Aktion 116, Aktion 118 und Aktion 120, und einen Zielblock 122.
  • Zum Generieren der die Aktionen 116, 118, 120 umfassenden Aktionssequenz 112 werden aus einer zentralen Datenbank 124, die eine Vielzahl von Aktionsdefinitionen enthält, geeignete Aktionsdefinitionen, wie Aktionsdefinition 126, Aktionsdefinition 128 und Aktionsdefinition 130, ausgewählt. Die ausgewählten Aktionsdefinitionen 126, 128, 130 werden zusammen mit Objektdefinitionen 132, 134, 136, die Objekte einer Umgebung des Roboters 102 definieren, verwendet, um eine Aktionssequenz 112 zu erstellen, die das Aktionsziel 108 erfüllt. Dabei nutzt der Aufgabenplaner 110 deklaratives Wissen aus den in der Datenbank 118 gespeicherten Aktionen.
  • Unter Nutzung von prozeduralem Wissen aus den Aktionen 116, 118, 120 der Aktionssequenz 112 werden endliche Zustandsautomaten in Form geteilter Kontroll-Vorlagen, wie geteilte Kontroll-Vorlage 138 aus der Aktion 116 und geteilte Kontroll-Vorlage 140 aus der Aktion 118, erstellt.
  • In einer Planungsphase wird eine vorläufige Aktionssequenz generiert, simulativ ausgeführt und mit unterschiedlichen Parametern getestet. Bei einem negativen Testergebnis werden in der Planungsphase wiederholt weitere vorläufige Aktionssequenzen generiert, simulativ ausgeführt und getestet, bis eine weitere vorläufige Aktionssequenz mit positivem Ergebnis getestet wird. Bei einem positiven Testergebnis wird die mit positivem Ergebnis getestete vorläufige Aktionssequenz in einer Ausführungsphase als Aktionssequenz 112 real ausgeführt.
  • Der Roboter 102 kann in mehreren Ausführungsmodi mit unterschiedlichen Autonomiegraden kontrolliert werden. In einem ersten Ausführungsmodus 142 kann der Roboter 102 in geteilter Kontrolle 144 kontrolliert werden. In einem zweiten Ausführungsmodus 146 kann der Roboter 102 in überwachter Autonomie 148 benutzerüberwacht autonom kontrolliert werden. Der erste Ausführungsmodus 142 und der zweite Ausführungsmodus 146 sind in diesem Fall Unterstützungsmodi.
  • Ein Ausführen 150 der Aktionssequenz 112 zum Kontrollieren des Roboters 102 kann in geteilter Kontrolle 144 unter Berücksichtigung eines Benutzerbefehls 152 über ein niedrigdimensionales latentes Signal xuser als Eingabebefehl 154 erfolgen, das in dem ersten Ausführungsmodus 142 als Signal x mithilfe der geteilten Kontroll-Vorlagen 138, 140 kontextabhängig auf aufgabenrelevante Roboterbewegungen abgebildet wird, um ein Robotersteuersignal u als Ausgangsbefehl 156 zu generieren.
  • Beim Ausführen der Aktionssequenz 112 in dem ersten Ausführungsmodus 142 kann symbolisches Wissen über das Aktionsziel 108 zur Verfügung gestellt werden, um während einer geteilten Kontrolle 144 einen aufgabenorientierten Prozess in einem latenten, niedrigdimensionalen Raum xaut als Eingabebefehl 158 zu generieren mit dem Ziel, das Aktionsziel 108 zu erreichen.
  • Die Eingabebefehle 154 und die Eingabebefehle 158 verwenden dieselbe Aktionsrepräsentation. Damit kann während dem in 1 in zeitlichem Verlauf 160 angedeuteten Ausführen der Aktionssequenz 112 bei einem Benutzerbefehl 152 zum Wechseln in den zweiten Ausführungsmodus 146 mit sofortiger Wirkung ein nahtloser Wechsel von der geteilten Kontrolle 144 zur überwachten Autonomie148 erfolgen, indem von dem Signal xuser als Eingabebefehl 154 zu dem Signal xaut als Eingabebefehl 158 umgeschaltet wird.
  • Die vorliegende Aktionsdarstellung - Constraint Action Templates (CATs) - kombiniert auf diese Weise die Vorteile von Aktionssequenzen, wie Aktionssequenz 112, und geteilten Kontroll-Vorlagen, wie geteilte Kontroll-Vorlagen 138, 140.
  • Ein Anwendungsbeispiel ist ein System mit einem an einem Rollstuhl montierter Roboterarm. Die Erfindung ermöglicht es dem Benutzer 104, komplexe Abfragen zu stellen und Aufgaben mit Aktionssequenzen 112 zu erfüllen. Wenn es in der Umgebung des Roboters 102 einen Tisch mit einer Mikrowelle und einer Tasse gibt, kann der Benutzer 104 beispielsweise das Aktionsziel 108 „stelle die Tasse in die Mikrowelle“ eingeben. Dieses Aktionsziel 108 besteht aus drei Aktionen 116, 118, 120, die der Roboter 102 nacheinander ausführt: die Mikrowelle öffnen, die Tasse herausnehmen und sie in die Mikrowelle stellen. Der Roboter 102 führt dann diese Aktionen 116, 118, 120 in der Ausführungsphase aus. Die Erfindung kann auch in anderen Bereichen der Robotik verwirklicht werden, beispielsweise bei Weltraumrobotern, die Astronauten helfen.
  • Mit „kann“ 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.
  • Aus den vorliegend offenbarten Merkmalskombinationen können bedarfsweise auch isolierte Merkmale herausgegriffen und unter Auflösung eines zwischen den Merkmalen gegebenenfalls bestehenden strukturellen und/oder funktionellen Zusammenhangs in Kombination mit anderen Merkmalen zur Abgrenzung des Anspruchsgegenstands verwendet werden.
  • Bezugszeichenliste
  • 100
    Planungsframework
    102
    Roboter
    104
    Benutzer
    106
    Benutzerbefehl
    108
    Aktionsziel
    110
    Aufgabenplaner
    112
    Aktionssequenz
    114
    Startblock
    116
    Aktion
    118
    Aktion
    120
    Aktion
    122
    Zielblock
    124
    Datenbank
    126
    Aktionsdefinition
    128
    Aktionsdefinition
    130
    Aktionsdefinition
    132
    Objektdefinition
    134
    Objektdefinition
    136
    Objektdefinition
    138
    Kontroll-Vorlage
    140
    Kontroll-Vorlage
    142
    erster Ausführungsmodus
    144
    geteilte Kontrolle
    146
    zweiter/weiterer Ausführungsmodus
    148
    überwachte Autonomie
    150
    Ausführen
    152
    Benutzerbefehl
    154
    Eingabebefehl
    156
    Ausgangsbefehl
    158
    Eingabebefehl
    160
    Verlauf
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • DE 102017209032 A1 [0002]
  • Zitierte Nicht-Patentliteratur
    • S. Bustamante, G. Quere, K. Hagmann, X. Wu, P. Schmaus, J. Vogel, F. Stulp, and D. Leidner, „Toward seamless transitions between shared control and supervised autonomy in robotic assistance,“ IEEE Robotics and Automation Letters, vol. 6, no. 2, pp. 3833-3840, 2021 [0019, 0028]
    • 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 [0019, 0028]
    • D. S. Leidner, Cognitive Reasoning for Compliant Robot Manipulation, ser. Springer Tracts in Advanced Robotics. Cham: Springer International Publishing, 2019, vol. 127 [0023]

Claims (15)

  1. Verfahren zum Ausführen von Aufgaben mithilfe eines Roboters (102), wobei der Roboter (102) in einem ersten Ausführungsmodus (142) und in wenigstens einem weiteren Ausführungsmodus (146) kontrolliert wird, dadurch gekennzeichnet, dass eine auf ein Aktionsziel (108) gerichtete Aktionssequenz (112) generiert und ausgeführt wird und zum Kontrollieren des Roboters (102) in dem ersten Ausführungsmodus (142) und in dem wenigstens einen weiteren Ausführungsmodus (146) dieselben Aktionsrepräsentationen verwendet werden.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der erste Ausführungsmodus (142) und der wenigstens eine weitere Ausführungsmodus (146) sequentiell oder gewichtet parallel ausgeführt werden.
  3. Verfahren nach wenigstens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der erste Ausführungsmodus (142) ein erster Unterstützungsmodus und der wenigstens eine weitere Ausführungsmodus (146) ein zweiter Unterstützungsmodus ist, wobei der Roboter (102) in dem ersten Unterstützungsmodus geteilt und in dem zweiten Unterstützungsmodus benutzerüberwacht autonom kontrolliert wird.
  4. Verfahren nach wenigstens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Aktionsziel (108) unter Berücksichtigung eines Benutzerbefehls (106) bestimmt wird.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass der Benutzerbefehl (106) auf einer Eingabe und/oder auf einer Auswahl durch einen Benutzer (104) basieren.
  6. Verfahren nach wenigstens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass für eine Auswahl durch den Benutzer (104) mögliche Aktionsziele ermittelt werden, eine Anzahl der ermittelten möglichen Aktionsziele unter Berücksichtigung wenigstens einer Vorbedingung eingeschränkt wird und die eingeschränkte Anzahl von Aktionszielen dem Benutzer (104) zur Auswahl angeboten wird.
  7. Verfahren nach wenigstens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass beim/zum Generieren der Aktionssequenz (112) Aktionsdefinitionen (126, 128, 130) und/oder Objektdefinitionen (132, 134, 136) verwendet werden.
  8. Verfahren nach wenigstens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass beim/zum Generieren der Aktionssequenz (112) aus einer Vielzahl von Aktionsdefinitionen geeignete Aktionsdefinitionen (126, 128, 130) ausgewählt werden.
  9. Verfahren nach wenigstens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass beim/zum Generieren der Aktionssequenz (112) deklaratives und/oder prozedurales Wissen genutzt wird.
  10. Verfahren nach wenigstens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass beim/zum Generieren der Aktionssequenz (112) endliche Zustandsautomaten in Form geteilter Kontroll-Vorlagen (138, 140) erstellt werden.
  11. Verfahren nach wenigstens einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in einer Planungsphase eine vorläufige Aktionssequenz generiert und die vorläufige Aktionssequenz simulativ ausgeführt und getestet wird.
  12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass bei einem negativen Testergebnis in der Planungsphase wiederholt weitere vorläufige Aktionssequenzen generiert und simulativ ausgeführt und getestet werden, bis eine weitere vorläufige Aktionssequenz mit positivem Ergebnis getestet wird.
  13. Verfahren nach wenigstens einem der Ansprüche 11 bis 12, dadurch gekennzeichnet, dass bei einem positiven Testergebnis die mit positivem Ergebnis getestete vorläufige Aktionssequenz oder die mit positivem Ergebnis getestete weitere vorläufige Aktionssequenz in einer Ausführungsphase als Aktionssequenz (112) real ausgeführt wird.
  14. Roboter (102) zum Ausführen von Aufgaben, dadurch gekennzeichnet, dass der Roboter (102) zum Ausführen eines Verfahrens nach wenigstens einem der Ansprüche 1 bis 13 ausgelegt ist.
  15. Computerprogramm, dadurch gekennzeichnet, dass das Computerprogramm Programmcodeabschnitte umfasst, mit denen ein Verfahren nach wenigstens einem der Ansprüche 1 bis 13 durchführbar ist, wenn das Computerprogramm auf einer Kontrolleinrichtung eines Roboters (102) ausgeführt wird.
DE102022104525.0A 2022-02-25 2022-02-25 Verfahren und Roboter zum Ausführen von Aufgaben und Computerprogramm Pending DE102022104525A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102022104525.0A DE102022104525A1 (de) 2022-02-25 2022-02-25 Verfahren und Roboter zum Ausführen von Aufgaben und Computerprogramm
PCT/EP2023/054010 WO2023161141A1 (de) 2022-02-25 2023-02-17 Verfahren und roboter zum ausführen von aufgaben und computerprogramm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022104525.0A DE102022104525A1 (de) 2022-02-25 2022-02-25 Verfahren und Roboter zum Ausführen von Aufgaben und Computerprogramm

Publications (1)

Publication Number Publication Date
DE102022104525A1 true DE102022104525A1 (de) 2023-08-31

Family

ID=85283574

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022104525.0A Pending DE102022104525A1 (de) 2022-02-25 2022-02-25 Verfahren und Roboter zum Ausführen von Aufgaben und Computerprogramm

Country Status (2)

Country Link
DE (1) DE102022104525A1 (de)
WO (1) WO2023161141A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009051808A1 (de) 2009-11-03 2011-05-05 Keba Ag Absicherung von End-User Programmänderungen durch formale Kontrakte und Programmverifikation in der Automatisierungstechnik
DE102012218297B4 (de) 2011-10-13 2015-07-16 GM Global Technology Operations, LLC (n.d. Ges. d. Staates Delaware) Verfahren zur dynamischen Optimierung einer Robotersteuerschnittstelle
DE102017209032A1 (de) 2017-05-30 2018-12-06 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Steuern eines Roboters
EP3431032A1 (de) 2017-07-21 2019-01-23 Globus Medical, Inc. Chirurgische roboterplattform
EP3587045A1 (de) 2018-06-28 2020-01-01 Siemens Aktiengesellschaft Verfahren und vorrichtung zum rechnergestützten ermitteln von regelparametern für eine günstige handlung eines technischen systems
EP3770757A1 (de) 2018-03-21 2021-01-27 Beijing Orion Star Technology Co., Ltd. Verfahren und vorrichtung zur erzeugung einer aktionssequenz eines roboters
DE102020125344A1 (de) 2020-09-29 2022-03-31 Deutsches Zentrum für Luft- und Raumfahrt e.V. Robotersystem
DE102021104883B3 (de) 2021-03-01 2022-06-15 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum roboterunterstützten Ausführen von Aufgaben, Roboter zum Unterstützen eines Benutzers beim Ausführen von Aufgaben und Computerprogrammprodukt

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009051808A1 (de) 2009-11-03 2011-05-05 Keba Ag Absicherung von End-User Programmänderungen durch formale Kontrakte und Programmverifikation in der Automatisierungstechnik
DE102012218297B4 (de) 2011-10-13 2015-07-16 GM Global Technology Operations, LLC (n.d. Ges. d. Staates Delaware) Verfahren zur dynamischen Optimierung einer Robotersteuerschnittstelle
DE102017209032A1 (de) 2017-05-30 2018-12-06 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Steuern eines Roboters
EP3431032A1 (de) 2017-07-21 2019-01-23 Globus Medical, Inc. Chirurgische roboterplattform
EP3770757A1 (de) 2018-03-21 2021-01-27 Beijing Orion Star Technology Co., Ltd. Verfahren und vorrichtung zur erzeugung einer aktionssequenz eines roboters
EP3587045A1 (de) 2018-06-28 2020-01-01 Siemens Aktiengesellschaft Verfahren und vorrichtung zum rechnergestützten ermitteln von regelparametern für eine günstige handlung eines technischen systems
DE102020125344A1 (de) 2020-09-29 2022-03-31 Deutsches Zentrum für Luft- und Raumfahrt e.V. Robotersystem
DE102021104883B3 (de) 2021-03-01 2022-06-15 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum roboterunterstützten Ausführen von Aufgaben, Roboter zum Unterstützen eines Benutzers beim Ausführen von Aufgaben und Computerprogrammprodukt

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
BUSTAMANTE, Samuel [et al.]: Toward seamless transitions between shared control and supervised autonomy in robotic assistance. In: IEEE Robotics and Automation Letters, Vol. 6, 2021, No. 2, S. 3833-3840. - ISSN 2377-3766 (E). DOI: 10.1109/LRA.2021.3064449. URL: https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9372861 [abgerufen am 2022-03-01]
D. S. Leidner, Cognitive Reasoning for Compliant Robot Manipulation, ser. Springer Tracts in Advanced Robotics. Cham: Springer International Publishing, 2019, vol. 127
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
LEIDNER, Daniel Sebastian: Cognitive reasoning for compliant robot manipulation. Cham : Springer, 2019 (Springer Tracts in Advanced Robotics; 127). Deckblatt u. Inhaltsverzeichnis. - ISBN 978-3-030-04857-0. DOI: 10.1007/978-3-030-04858-7. URL: https://link.springer.com/content/pdf/bfm%3A978-3-030-04858-7%2F1.pdf [abgerufen am 2022-03-14]
QUERE, Gabriel [et al.]: 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]
S. Bustamante, G. Quere, K. Hagmann, X. Wu, P. Schmaus, J. Vogel, F. Stulp, and D. Leidner, „Toward seamless transitions between shared control and supervised autonomy in robotic assistance," IEEE Robotics and Automation Letters, vol. 6, no. 2, pp. 3833-3840, 2021

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Also Published As

Publication number Publication date
WO2023161141A1 (de) 2023-08-31

Similar Documents

Publication Publication Date Title
DE102017223717B4 (de) Verfahren zum Betreiben eines Roboters in einem Multiagentensystem, Roboter und Multiagentensystem
DE102015004932B4 (de) Simulationsvorrichtung für mehrere Roboter
DE102010045529B4 (de) Interaktives Robotersteuerungssystem und Verwendungsverfahren
DE102012218297B4 (de) Verfahren zur dynamischen Optimierung einer Robotersteuerschnittstelle
DE102011113590B4 (de) Planen simultaner Pfade mit einem oder mehreren humanoiden Robotern
DE112018002565B4 (de) System und Verfahren zum direkten Anlernen eines Roboters
EP3623116A1 (de) Verfahren und vorrichtung zur kollisionsfreien bewegungsplanung eines manipulators
Albus The NIST real-time control system (RCS): an approach to intelligent systems research
EP3434424A1 (de) Effiziente programmierung von robotern für die bearbeitung von werkstücken mit verschiedenen varianten
DE102010045528A1 (de) Gerüst und Verfahren zum Steuern eines Robotersystems unter Verwendung eines verteilten Rechnernetzwerks
DE102020209685B4 (de) Verfahren zum steuern einer robotervorrichtung und robotervorrichtungssteuerung
DE112021007017T5 (de) Numerik-Steuervorrichtung und Numerik-Steuersystem
DE102020212658A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
WO2023161141A1 (de) Verfahren und roboter zum ausführen von aufgaben und computerprogramm
DE102021104883B3 (de) Verfahren zum roboterunterstützten Ausführen von Aufgaben, Roboter zum Unterstützen eines Benutzers beim Ausführen von Aufgaben und Computerprogrammprodukt
DE102019205651B3 (de) Verfahren und System zum Ausführen von Roboterapplikationen
EP3760390A1 (de) Durchführen einer vorgegebenen aufgabe mithilfe wenigstens eines roboters
DE102019203214B4 (de) Verfahren zum Betreiben eines Roboters in einem Multiagentensystem, Roboter und Multiagentensystem
DE102020200165B4 (de) Robotersteuereinrichtung und Verfahren zum Steuern eines Roboters
EP3629108B1 (de) Projektierung eines automatisierungssystems
DE112019007579T5 (de) Numerische-Steuerung-Vorrichtung und Maschinelles-Lernen-Gerät
DE102019128583B4 (de) Optimierungsmodi für Steuerprogramme eines Robotermanipulators
DE102022111400A1 (de) Verfahren zum Vorbereiten und Ausführen von Aufgaben mithilfe eines Roboters, Roboter und Computerprogramm
WO2022002744A1 (de) Verfahren zur desinfektion einer bearbeitungsumgebung
EP3934858A1 (de) Verfahren, system sowie nichtflüchtiges speichermedium

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication