DE102011113590A1 - Concurrent path planning with one or more humanoid robots - Google Patents

Concurrent path planning with one or more humanoid robots Download PDF

Info

Publication number
DE102011113590A1
DE102011113590A1 DE102011113590A DE102011113590A DE102011113590A1 DE 102011113590 A1 DE102011113590 A1 DE 102011113590A1 DE 102011113590 A DE102011113590 A DE 102011113590A DE 102011113590 A DE102011113590 A DE 102011113590A DE 102011113590 A1 DE102011113590 A1 DE 102011113590A1
Authority
DE
Germany
Prior art keywords
task
robot
joints
robotic
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102011113590A
Other languages
English (en)
Other versions
DE102011113590B4 (de
Inventor
Adam M. Sanders
Matthew J. Reiland
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.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
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 GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102011113590A1 publication Critical patent/DE102011113590A1/de
Application granted granted Critical
Publication of DE102011113590B4 publication Critical patent/DE102011113590B4/de
Expired - Fee Related 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/1682Dual arm manipulator; Coordination of several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

Ein Robotersystem enthält einen Controller und einen oder mehrere Roboter, die jeweils eine Vielzahl von Robotergelenken aufweisen. Jedes der Robotergelenke ist unabhängig steuerbar, um dadurch eine kooperative Arbeitsaufgabe mit mindestens einer Aufgabenausführungsverzweigung auszuführen, was zu mehreren unabhängigen Teilaufgaben führt. Der Controller koordiniert eine Bewegung des bzw. der Roboter während einer Ausführung der kooperativen Arbeitsaufgabe. Der Controller teilt die Robotergelenke in aufgabenspezifische Roboterteilsysteme ein und synchronisiert eine Bewegung verschiedener Teilsysteme während einer Ausführung der verschiedenen Teilaufgaben der kooperativen Arbeitsaufgabe. Ein Verfahren zum Ausführen der kooperativen Arbeitsaufgabe unter Verwendung des Robotersystems umfasst, dass die Robotergelenke automatisch in aufgabenspezifische Teilsysteme eingeteilt werden und den Teilsystemen beim Erreichen einer Aufgabenausführungsverzweigung Teilaufgaben der kooperativen Arbeitsaufgabe zugewiesen werden. Das Verfahren umfasst ferner, dass eine Ausführung der Teilaufgaben nach dem Erreichen der Aufgabenausführungsverzweigung koordiniert wird.

Description

  • AUSSAGE HINSICHTLICH STAATLICH GEFÖRDERTER FORSCHUNG ODER ENTWICKLUNG
  • Diese Erfindung wurde mit Regierungsunterstützung unter dem NASA Space Act Agreement mit der Nummer SAA-AT-07-003 durchgeführt. Die hier beschriebene Erfindung kann von oder für die U.S.-Regierung zu Zwecken der U.S.-Regierung (d. h. für nicht kommerzielle Zwecke) hergestellt und verwendet werden, ohne dass darauf oder dafür Gebühren zu entrichten sind.
  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft die automatische Bewegungssteuerung mehrerer Robotergelenke eines oder mehrerer humanoider oder anderer geschickter Roboter in einem Robotersystem.
  • HINTERGRUND
  • Roboter sind automatisierte Einrichtungen, die zum Ergreifen und Manipulieren von Objekten unter Verwendung von Greiforganen oder Robotermanipulatoren in der Lage sind. Die Robotermanipulatoren sind durch ein oder mehrere stellgliedgetriebene Gelenke miteinander verbunden. Jedes Gelenk eines typischen Roboters stellt mindestens eine unabhängige Steuerungsvariable, d. h. einen Freiheitsgrad (DOF) dar. Ein typischer mehrachsiger Industrieroboter weist 6 Freiheitsgrade auf. Die Steuerung eines derartigen Roboters wird als Routine angesehen. Bei den sich überschneidenden Bewegungspfaden von zwei oder mehr Robotern können jedoch Interferenzzonen vorhanden sein. Das Vorhandensein derartiger Interferenzzonen kann das Steuerproblem verkomplizieren.
  • Wenn mehrere Roboter innerhalb eines gemeinsam genutzten Arbeitsraums verwendet werden, kann ein einziger Controller verwendet werden, um die Bewegung der Roboter unter Verwendung eines seriellen Handshake-Protokolls automatisch zu koordinieren. Wie auf dem Gebiet verstanden wird, stellt das serielle Handshaking die benötigten Parameter jedes Kommunikationskanals oder jeder Kommunikationsverbindung, die zwischen zwei Robotern oder anderen Netzwerkeinrichtungen hergestellt werden soll, dynamisch ein, bevor eine Kommunikation über den Kanal korrekt beginnen kann. Ein serielles Handshake-Protokoll kann seine Effektivität verlieren, wenn die Anzahl der Freiheitsgrade im Robotersystem zunimmt.
  • ZUSAMMENFASSUNG
  • Folglich werden hier ein Robotersystem und ein Steuerungsverfahren dafür offenbart. Das Verfahren kann als Algorithmus ausgeführt sein, der von einem Controller ausgeführt werden kann, der ausgelegt ist, um die Bewegung eines oder mehrerer Roboter mit vielen Freiheitsgraden (DOF) zu koordinieren. Der Begriff ”viele Freiheitsgrade” bezeichnet, so wie er hieß verwendet ist, einen Roboter, der mehr als die herkömmlichen sechs Freiheitsgrade und bei einer Ausführungsform sogar 42 Freiheitsgrade oder mehr aufweist, wobei die Freiheitsgrade hinsichtlich eines Roboters oder mehrerer Roboter betrachtet werden, die im gleichen Robotersystem verwendet werden, um gemeinsam eine Arbeitsaufgabe auszuführen.
  • Ein Roboter mit vielen Freiheitsgraden ist hier als ein geschickter Humanoide ausgeführt, der mindestens 42 Freiheitsgrade aufweist. Ein derartiger Roboter kann vorteilhaft bei bestimmten neu entstehenden Luftfahrt- und Industrieanwendungen eingesetzt werden, die menschenähnliche Geschicklichkeitsniveaus erfordern. Ebenen mit vielen Freiheitsgraden erfordern eine asynchrone und koordinierte Gelenkbewegung, eine automatisierte Aufgabenverzweigung und eine unabhängige Ausführung von Aufgaben durch die verschiedenen Manipulatoren des oder der Roboter, die, in dem Robotersystem verwendet werden. Diese Fähigkeit wird von dem hier offenbarten Robotersystem und Steuerverfahren bereitgestellt.
  • Im Speziellen kann ein Robotersystem betrieben werden, um eine kooperative Arbeitsaufgabe, die mehrere unabhängige Teilaufgaben aufweist, auszuführen. Der Begriff ”kooperative Arbeitsaufgabe” bezeichnet, so wie er hier verwendet wird, eine Arbeitsaufgabe, die von mehr als einem Robotergelenk und in einigen Fällen durch mehrere Gelenke von mehr als einem im Robotersystem verwendeten Roboter ausgeführt wird. Das Robotersystem enthält einen Roboter und einen Controller. Der Roboter weist viele Robotergelenke auf, wobei jedes Gelenk während der Ausführung der kooperativen Arbeitsaufgabe unabhängig steuerbar ist.
  • Der Controller steuert eine Bewegung der Robotergelenke während der Ausführung der kooperativen Arbeitsaufgabe, wobei er dies durchführt, indem er die verschiedenen Gelenke des Robotersystems automatisch in aufgabenspezifische Teilsysteme einteilt. Beim Erreichen einer Aufgabenausführungsverzweigung weist der Controller dann den verschiedenen eingeteilten Teilsystemen die mehreren unabhängigen Teilaufgaben zu und koordiniert die Ausführung der Teilaufgaben durch die jeweiligen Teilsysteme nach dem Erreichen der Aufgabenausführungsverzweigung.
  • Es können mehrere Aufgabenverzweigungen vorhanden sein, die jeweils zu mehreren unabhängigen Teilaufgaben führen.
  • Bei einer Ausführungsform weist das Robotersystem mindestens 42 Freiheitsgrade auf. Beim Ausführen der kooperativen Arbeitsaufgabe können ein oder mehrere zusätzliche Roboter zusammenarbeiten. Eine Runtimeengine bzw. Laufzeitumgebung kann verwendet werden, um automatisch in die Teilaufgaben zu verzweigen. Zum Zugriff auf den Controller kann ein graphischer Programmiereditor enthalten sein, wobei der Programmiereditor einem Anwender ermöglicht, eine Verzweigungssequenz für die automatisierte Verzweigung der verschiedenen Teilaufgaben zu konfigurieren. Der graphische Programmiereditor und die Programmiersprache des Controllers können Befehle an einen oder mehrere Roboter und/oder Robotersysteme ausgeben.
  • Die Laufzeitumgebung kann ein Modul zu asynchronen Ausführungsverwaltung (AEM-Modul) enthalten, welches die Robotergelenke beliebig in aufgabenspezifische Teilsysteme einteilt. Beim Ausführen der kooperativen Arbeitsaufgabe koordiniert das AEM-Modul eine asynchrone Bewegung der Robotergelenke. Im Robotersystem kann auch ein Planungsmodul und ein Datenbanksystem enthalten sein, das Systemdaten und Informationen für gemeinsam genutzte Ereignisse bereitstellt, wobei das Planungsmodul ermöglicht, dass die mehreren unabhängigen Aufgaben unabhängig voneinander erfüllt werden, während sie gleichzeitig unter Verwendung der Systemdaten und der gemeinsam genutzten Ereignisse, die vom Datenbanksystem bereitgestellt werden, synchronisiert sind.
  • Es wird auch ein Verfahren offenbart, um eine kooperative Arbeitsaufgabe mit mehreren unabhängigen Teilaufgaben auszuführen. Das Verfahren umfasst, dass die Robotergelenke automatisch in aufgabenspezifische Teilsysteme eingeteilt werden, dass die in mehreren unabhängigen Teilaufgaben der kooperativen Arbeitsaufgabe beim Erreichen einer Aufgabenausführungsverzweigung den aufgabenspezifischen Teilsystemen zugewiesen werden und dass die unabhängige Ausführung der mehreren unabhängigen Teilaufgaben durch die jeweiligen aufgabenspezifischen Teilsysteme nach dem Erreichen der Aufgabenausführungsverzweigung koordiniert wird.
  • Die vorstehenden Merkmale und Vorteile und andere Merkmale und Vorteile der vorliegenden Erfindung ergeben sich leicht aus der folgenden genauen Beschreibung der besten Arten, um die Erfindung auszuführen, wenn sie in Verbindung mit den beiliegenden Zeichnungen gelesen wird.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist eine schematische Darstellung eines Robotersystems, das einen Roboter mit vielen Freiheitsgraden mit mehreren Robotergelenken und einen Controller aufweist, der eine asynchrone und koordinierte Bewegungssteuerung der verschiedenen Gelenke des Robotersystems bereitstellt;
  • 2 ist ein Blockdiagramm für eine Laufzeitumgebung, die mit dem in 1 gezeigten Robotersystem verwendet werden kann; und
  • 3 ist ein Flussdiagramm, das ein Verfahren zum Steuern des in 1 gezeigten Roboters unter Verwendung der in 2 gezeigten Laufzeitumgebung beschreibt.
  • BESCHREIBUNG
  • Mit Bezug auf die Zeichnungen, in denen gleiche Bezugszeichen in den verschiedenen Ansichten gleiche oder ähnliche Komponenten bezeichnen und mit 1 beginnend ist ein Robotersystem 10 gezeigt, das einen geschickten Roboter 11 aufweist, der eine Vielzahl von Robotergelenken aufweist, die alle nachstehend beschrieben sind. Die asynchrone koordinierte Steuerung der verschiedenen Gelenke des Roboters 11 wird durch einen Algorithmus 100 bereitgestellt, der nachstehend mit Bezug auf 3 im Detail beschrieben wird.
  • Der Roboter 11 kann wie gezeigt mit einer menschenähnlichen Gestalt und mit menschenähnlichen Geschicklichkeitsniveaus in dem Ausmaß ausgestaltet sein, wie es zum Ausführen einer gegebenen Arbeitsaufgabe notwendig ist. Humanoide und andere geschickte Roboter können dort verwendet werden, wo eine direkte Interaktion mit Einrichtungen oder Systemen benötigt wird, die speziell für eine menschliche Verwendung entworfen sind, d. h. Einrichtungen, die menschenähnliche Geschicklichkeitsniveaus benötigen, um ein Objekt 30 korrekt zu manipulieren. Die Verwendung eines Humanoiden wie des Roboters 11 kann dort bevorzugt sein, wo eine direkte Interaktion zwischen dem Roboter und menschlichen Bedienern notwendig ist, da die Bewegung so programmiert werden kann, dass sie eine menschliche Bewegung annähert.
  • Der Roboter 11 arbeitet mithilfe eines kraft- oder impedanzbasierten Steuergerüsts. Die Begriffe ”kraftbasiert” und ”impedanzbasiert” bezeichnen, so wie sie hier verwendet werden, die Steuerung eines Roboters, die sich auf jeweilige Kraft- oder Impedanzbefehle und Rückkopplungssignale stützt, um den Roboter zu bewegen und Kräfte durch die verschiedenen Robotergelenke und Manipulatoren des Roboters aufzubringen. Der Roboter 11 wird unter Verwendung eines Controllers 12 gesteuert, der einen Algorithmus 100 ausführt, um dadurch einen Satz von Steuersignalen 50 an den Roboter zu übertragen. Die Steuersignale 50 stellen eine asynchrone und koordinierte Gelenkbewegungssteuerung des Roboters 11 bereit, wie nachstehend im Detail offengelegt wird.
  • Die Steuersignale 50 können auch einen Satz von kraft- oder impedanzbasierten Arbeitsbefehlen und eine Positions-/Kraftrückkopplung enthalten. Das heißt, dass ein Anwender des Roboters 11 gewünschte Steifigkeits-, Dämpfungs- und Massenträgheitseigenschaften hinsichtlich einer Masse angeben kann, auf die eingewirkt wird, z. B. das Objekt 30, wodurch eine Robustheit für eine physikalische Interaktion zwischen dem Roboter und das ihn umgebende Umfeld bereitgestellt wird und Flexibilität für diverse Manipulationsaufgaben bereitgestellt wird.
  • Der Roboter 11 kann ausgelegt sein, um automatisierte Aufgaben mit vielen Freiheitsgraden (DOF) auszuführen und um andere interaktive Aufgaben auszuführen oder andere integrierte Systemkomponenten zu steuern, z. B. Einspannen, Beleuchten, Relais usw. Gemäß einer möglichen Ausführungsform kann der Roboter 11 eine Vielzahl von unabhängig und voneinander abhängig bewegbaren stellgliedgetriebenen Robotergelenken aufweisen, von denen einige einander überschneidende Bewegungsbereiche aufweisen. Die Robotergelenke können ein Schultergelenk, dessen Position in 1 allgemein durch einen Pfeil 13 angezeigt ist, ein Ellenbogengelenk (Pfeil 15), ein Handgelenk (Pfeil 17), ein Nackengelenk (Pfeil 19) und ein Taillengelenk (Pfeil 21) sowie die verschiedenen Fingergelenke (Pfeil 23), die zwischen den Fingergliedern jedes Roboterfingers 14 positioniert sind, umfassen.
  • Immer noch mit Bezug auf 1 kann jedes Robotergelenk einen oder mehrere Freiheitsgrade aufweisen. Beispielsweise können bestimmte nachgiebige Gelenke wie etwa das Schultergelenk (Pfeil 13) und das Ellenbogengelenk (Pfeil 15) mindestens zwei Freiheitsgrade in der Form von Nicken und Drehen aufweisen. Auf ähnliche Weise kann das Nackengelenk (Pfeil 19) mindestens drei Freiheitsgrade aufweisen, während die Taille und das Handgelenk (Pfeile 21 bzw. 17) einen oder mehrere Freiheitsgrade aufweisen können. In Abhängigkeit von der Komplexität der Aufgabe kann sich der Roboter mit über 42 Freiheitsgraden bewegen. Jedes Robotergelenk enthält ein oder mehrere Stellglieder und wird von diesen intern angetrieben, z. B. Gelenkmotoren, lineare Stellglieder, rotatorische Stellglieder und dergleichen.
  • Der Roboter 11 kann menschenähnliche Komponenten, wie etwa einen Kopf 16, einen Torso 18, eine Hüfte 20, Arme 22, Hände 24, Finger 14 und gegenüberstellbare Daumen 26 enthalten, wobei die verschiedenen vorstehend erwähnten Gelenke innerhalb oder zwischen diesen Komponenten angeordnet sind. Wie bei einem Menschen können beide Arme 22 und andere Komponenten Bewegungsbereiche aufweisen, die sich bis zu einem gewissen Grad überschneiden. Der Roboter 11 kann auch eine für die Aufgabe geeignete Halterung oder Basis (nicht gezeigt) enthalten, etwa Beine, Laufflächen oder eine andere bewegbare oder starre Basis in Abhängigkeit von der speziellen Anwendung oder der beabsichtigten Verwendung des Roboters. Eine Stromversorgung 28 kann am Roboter 11 integral montiert sein, z. B. ein wiederlaufladbarer Batteriestapel, der auf dem Rücken des Torsos 18 getragen oder mitgeführt wird, oder eine andere geeignete Energieversorgung, oder die entfernt durch ein Spannkabel angebracht sein kann, um genügend elektrische Energie an die verschiedenen Gelenke zur Bewegung derselben zu liefern.
  • Der Controller 12 stellt eine präzise Bewegungssteuerung des Roboters 11 bereit, die eine Steuerung der feinen und groben Bewegungen umfasst, die zum Manipulieren des Objekts 30, z. B. eines Arbeitswerkzeugs, benötigt werden, welches von den Fingern 14 und dem Daumen 26 einer oder mehrerer Hände 24 ergriffen werden kann. Der Controller 12 ist in der Lage, jedes Robotergelenk und andere integrierte Systemkomponenten isoliert von den anderen Gelenken und Systemkomponenten unabhängig zu steuern, sowie eine Anzahl der Gelenke voneinander abhängig zu steuern, um die Aktionen der mehreren Gelenke beim Ausführen einer relativ komplexen Arbeitsaufgabe vollständig zu koordinieren.
  • Das Robotersystem 10 kann mindestens einen zusätzlichen ähnlich ausgestalteten Roboter 111 enthalten, der in 1 gestrichelt gezeigt ist, welcher im gleichen Arbeitsraum wie der Roboter 11 arbeitet. Die Roboter 11, 111 können benötigt werden, um eine Aufgabe auszuführen, wie etwa das kooperative Ergreifen und Bewegen eines Objekts 30, wie in 1 gestrichelt dargestellt ist. Bestimmte Gelenke der Roboter 11, 111 können Bewegungsbereiche aufweisen, die sich miteinander in einem gewissen Maß überschneiden, so wie mit Bewegungsbereichen anderer Gelenke des gleichen Roboters. Daher muss jeder Roboter, der innerhalb des Robotersystems 10 verwendet wird, in der Lage sein, mehrere Aktionen asynchron und auf koordinierte Weise auszuführen. Diese Funktionalität wird durch den Algorithmus 100 und die Ausgestaltung einer Laufzeitumgebung 42 bereitgestellt, die nachstehend mit Bezug auf 2 beschrieben wird.
  • Der Controller 12 kann als ein Server oder eine Hostmaschine ausgeführt sein, der bzw. die einen oder mehrere digitale Computer oder Datenverarbeitungseinrichtungen aufweist, die jeweils einen oder mehrere Mikroprozessoren oder zentrale Verarbeitungseinheiten (CPU), Festwertspeicher (ROM), Speicher mit wahlfreiem Zugriff (RAM), elektrisch löschbaren programmierbaren Festwertspeicher (EEPROM), einen Hochgeschwindigkeits-Taktgeber, Analog/Digital-Schaltungen (A/D-Schaltungen), Digital/Analog-Schaltungen (D/A-Schaltungen) und beliebige benötigte Eingabe/Ausgabe-Schaltungen und Einrichtungen (I/O), sowie Signalaufbereitungs- und Pufferelektronik aufweisen.
  • Individuelle Steueralgorithmen, die im Controller 12 vorhanden sind oder für den Controller leicht zugänglich sind, können im ROM oder einem anderen geeigneten Speicher gespeichert sein und automatisch ausgeführt werden, um die jeweilige Steuerfunktionalität bereitzustellen. Ein graphischer Programmiereditor 80 oder eine andere geeignete Anwenderschnittstelle kann verwendet werden, um auf die Programmiersprache des Controllers 12 zuzugreifen sowie um eine Verzweigungssequenz für eine koordinierte asynchrone Aufgabenerfüllung wie nachstehend erläutert zu konfigurieren.
  • Das Robotersystem 10 kann ein Datenbanksystem 40 in Verbindung mit dem Roboter 11 und/oder 111 über den Controller 12 enthalten. Das Datenbanksystem 40 kann als eine einzige große Datenbank oder als eine verteilte Datenbank ausgeführt sein, die genügend Ebenen an Datenspeicher für die Programmiersprache, gemeinsam genutzte Ereignisinformationen und verschiedene Kommunikationsprotokolle, die zum Ausführen von Aufgaben benötigt werden, sowie die benötigten Erfüllungsbedingungen für derartige Aufgaben bereitstellt. Das Datenbanksystem 40 steht in Kommunikation mit der Laufzeitumgebung 42, welche ein Modul 60 zur asynchronen Ausführungsverwaltung (AEM-Modul) verwendet, um die asynchrone Bewegung der verschiedenen Gelenke innerhalb des Robotersystems 10 zu koordinieren, wenn die Gelenke zur Ausführung einer vorliegenden kooperativen Arbeitsaufgabe zugewiesen und aktiviert werden.
  • Mit Bezug auf 2 verwendet der Controller 12 von 1 das AEM-Modul 60 der Laufzeitumgebung 42, um die verschiedenen Gelenke des Robotersystems 10 auf beliebige Weise in aufgabenspezifische Teilsysteme einzuteilen. Beispielsweise könnten das Nackengelenk 19 und Gelenke von beiden Armen 22 für ein spezielles Manöver aktiviert werden, bei dem sich der Roboter 11 nach rechts dreht, auf das Objekt 30 niederblickt und das Objekt mit beiden Händen 24 ergreift. Diese aufgabenspezifischen Teilsysteme werden mithilfe des AEM-Moduls 60 wiederum in eine kalibrierte Ablaufsteuerungsarchitektur eingebunden, welche die Bewegung beliebiger aktiver Gelenke automatisch koordiniert und somit die Erfüllung von komplexen oder kooperativen Arbeitsaufgaben ermöglicht. Die Laufzeitumgebung 42 kann auch ausgestaltet sein, um einen Softwaremechanismus für koexistente Ausführungspfade innerhalb einer größeren Roboteraufgabensequenz bereitzustellen.
  • 2 stellt ein Beispiel einer vereinfachten Serie einer unabhängigen Teilaufgabe 51 bereit, die mehrere Aufgabenausführungsverzweigungen 52, 53 und 54 aufweist. Gegenwärtig ist die Verzweigung 52 aktiv, ein Zustand, der in 2 durch das Fehlen einer Schattierung angezeigt ist. Auf ähnliche Weise sind die Verzweigungen 53 und 54 schattiert, um anzuzeigen, dass deren Ausführung irgendwann in der Zukunft stattfinden wird. Jede Verzweigung kann mehrere unabhängige Teilaufgaben aufweisen, z. B. die Verzweigung 52 mit ihren mehreren unabhängigen Teilaufgaben 61, 62, 63 und 64. Jede Teilaufgabe kann kooperativ ausgeführt werden, d. h. von verschiedenen Gelenken des gleichen Roboters und/oder von Gelenken von mehreren verschiedenen Robotern innerhalb des Robotersystems 10 ausgeführt werden.
  • Das AEM-Modul 60 kann auch ein Planungsmodul 70 enthalten, das ermöglicht, dass die mehreren unabhängigen Teilaufgaben 61, 62, 63 und 64 unabhängig voneinander erfüllt werden, während gleichzeitig die Aufgaben durch Systemdaten und gemeinsam genutzte Ereignisse synchronisiert werden, z. B. Daten und Ereignisse, die mithilfe des in 1 gezeigten Datenbanksystems 40 zugänglich sind. Ein Verzweigungsmechanismus zur Verwendung durch die Laufzeitumgebung 42 ist nahtlos in die Programmiersprache des Controllers 12 (siehe 1) integriert und kann von einem Anwender durch den graphischen Programmiereditor 80 konfigurierbar sein.
  • Innerhalb der Laufzeitumgebung 42 können mehrere Aufgabenausführungsverzweigungen vom AEM-Modul 60 gesteuert werden. Bei einer Ausführungsform kann das Planungsmodul 70 eine gemeinsam genutzte Ausführungszeit für die verschiedenen Aufgaben erzwingen, z. B. unter Verwendung eines Round-Robin-Planungsschemas. Jede Aufgabenausführungsverzweigung führt ihre eigenen Zustands- und Rückkopplungsdaten mit sich und kann daher durch den Controller 12 unabhängig ausgeführt werden. Zudem kann jede Aufgabenverzweigung durch den Controller 12 unter Verwendung der Laufzeitumgebung 42 jederzeit ausgesetzt und wieder aufgenommen werden, ohne die Ausführung irgendwelcher anderer Verzweigungen zu stören. Jede Verzweigung behält Zugriff auf das Datenbanksystem 40 und alle benötigten Programmier- und gemeinsam genutzten Ereignisinformationen und kann frei mit Daten und Ereignissen von den anderen Verzweigungen und der Roboterhardware interagieren.
  • Mit Bezug auf 3 kann der Algorithmus 100 vom Controller 12 von 1 ausgeführt werden, um die asynchrone Steuerung der verschiedenen Gelenke des Robotersystems 10, das in dieser Figur gezeigt ist, bereitzustellen. Der Algorithmus 100 beginnt mit Schritt 102, wobei benötigte Steuerungsknoten für eine gegebene kooperative Arbeitsaufgabe innerhalb des Controllers 12 gesetzt werden. Zum Beispiel können Knoten von einem Anwender mithilfe des graphischen Programmiereditors 80 gewählt werden, z. B. durch eine Touchscreeneingabe von betroffenen Knoten für ein gegebenes Arbeitswerkzeug, das beim Erfüllen einer zugeordneten Aufgabe verwendet werden soll. Zur Klarheit der Darstellung wird hier eine relativ einfache Arbeitsaufgabe beschrieben, welche die Ausführung einer Folge von Befehlen oder Aufgabenunterprogrammen erfordert, die geeignet sind, um beide Arme 22 des in 1 gezeigten Roboters 11 zum Ergreifen des Objekts 30 zubewegen.
  • Nachdem die Knoten gesetzt sind, leitet Schritt 104 die Ausführung einer Teilaufgabe ein, z. B. die Bewegung eines Arms 22. Während die durch Schritt 104 eingeleitete Teilaufgabe unabhängig durch ihre eigene Aufgabensequenz fortschreitet, geht der Algorithmus 100 zu Schritt 106 weiter. Schritt 106 leitet die Ausführung einer weiteren Teilaufgabe ein, wie etwa das Bewegen des anderen Arms 22 des Roboters 11 von 1 oder einer Komponente des gleichen oder eines anderen Roboters. Wie bei Schritt 104 kann Schritt 106 eine beliebige Anzahl von Aufgabenschritten aufweisen, welche von dem Arm 22, der bei Schritt 106 gesteuert wird, unabhängig ausgeführt werden müssen. Zwischen den Schritten 104 und 106 ist eine Aufgabenausführungsverzweigung vorhanden. Das heilt, dass die Ausführung von Schritt 104 nicht erfüllt ist, wenn Schritt 106 beginnt, sondern dass stattdessen beide Schritt 104 und 106 auf asynchrone Weise vom Controller 12 unabhängig ausgeführt werden, wie von der Laufzeitumgebung 42 von 1 bestimmt wird.
  • Bei Schritt 108 verwendet der Controller 12 die Laufzeitumgebung 42, um zu ermitteln, ob die Teilaufgaben der Schritt 104 und 106 erfüllt sind. Wenn nicht, wird Schritt 104 und/oder Schritt 106 wiederholt, bis die Aufgaben der Schritte 104 und 106 beide erfüllt sind. Der Algorithmus 100 ist beendet, wenn beide Teilaufgaben erfüllt sind. Jede Teilaufgabe kann aus mehreren Teilaufgaben bestehen usw., wobei hier der Einfachheit halber eine Teilaufgabe erläutert wurde.
  • Zur Klarheit der Darstellung wird mit Bezug auf 3 nur eine Aufgabenausführungsverzweigung beschrieben. Jedoch kann die Laufzeitumgebung 42 von 1 so viele Verzweigungen zuweisen und koordinieren, wie benötigt werden, um eine gegebene kooperative Arbeitsaufgabe oder Sequenz derartiger Aufgaben zu erfüllen. Das heißt, dass der bzw. die Roboter 11, 111 von 1 entworfen sind, um mehrere simultane Aufgaben asynchron auf eine Weise durchzuführen, die einem Menschen ähnelt. Die Laufzeitumgebung 42 verwaltet diese Steuerungsanforderung in Verbindung mit oder als Teil des Controllers 12, indem sie mehrere simultan ausgeführte Aufgaben verwaltet. Die Laufzeitumgebung 42 stellt einen Mechanismus bereit, damit eine Aufgabenausführung an einem beliebigen gegebenen Punkt verzweigt werden kann, bei der vereinfachten Ausführungsform von 3 z. B. das Einleiten von Schritt 106 ein kalibriertes Intervall nach dem Beginn von Schritt 104, wodurch unabhängige Ausführungspfade geschaffen werden, welche einer beliebigen Anzahl von Berechnungsknoten zugewiesen werden können.
  • Die Laufzeitumgebung 42 von 1 ermöglicht auch, dass die getrennten Verzweigungen reibungslos wieder vereint werden, bevor entlang eines gemeinsam genutzten Ausführungspfades fortgefahren wird, z. B. bei Schritt 108 von 3. Steuerknoten des gleichen oder verschiedener Roboter 11 und/oder 111 können miteinander eingeteilt werden, um ein Teilsystem zu bilden, wie etwa einen oder mehrere Arme 22 oder Köpfe 16, welche dann mit Bezug zueinander unabhängig befohlen und gesteuert werden können. Außerdem stellt die Verwendung der Laufzeitumgebung 42 auf die vorstehend erläuterte Weise ein Mittel zur Auflösung von Ressourcenkonflikten zwischen den verschiedenen Verzweigungen bereit. Mit anderen Worten könnte ein Kopf-Teilsystem des Roboters 11 mit einem Rechter-Arm-Teilsystem des Roboters 111 gepaart werden, wobei diese Funktionalität in der Programmiersprache des Controllers 12 eingebettet ist und für einen Anwender, der den graphischen Programmiereditor 80 verwendet, der in 1 gezeigt ist, oder unter Verwendung einer anderen geeigneten Anwenderschnittstelle leicht zugänglich ist.
  • Obwohl die besten Arten zum Ausführen der Erfindung im Detail beschrieben wurden, werden Fachleute auf dem Gebiet, das diese Erfindung betrifft, verschiedene alternative Entwürfe und Ausführungsformen zum Umsetzen der Erfindung in die Praxis im Umfang der beigefügten Ansprüche erkennen.

Claims (10)

  1. Robotersystem zum Ausführen einer kooperativen Arbeitsaufgabe, die mehrere unabhängige Aufgaben aufweist, umfassend: eine Vielzahl von Robotergelenken, wobei jedes der Robotergelenke während einer Ausführung der kooperativen Arbeitsaufgabe unabhängig steuerbar ist; und einen Controller, der die Bewegung der Robotergelenke während der Ausführung der kooperativen Arbeitsaufgabe steuert; wobei der Controller die Robotergelenke automatisch in aufgabenspezifische Teilsysteme einteilt, beim Erreichen einer Aufgabenausführungsverzweigung die mehreren unabhängigen Aufgaben den aufgabenspezifischen Teilsystemen zuweist und die unabhängige Ausführung der aufgabenspezifischen Teilaufgaben durch die jeweiligen aufgabenspezifischen Teilsysteme nach dem Erreichen der Aufgabenausführungsverzweigung koordiniert.
  2. Robotersystem nach Anspruch 1, wobei der Controller eine Laufzeitumgebung enthält, die ausgelegt ist, um eine Bewegung mit Bezug auf die Robotergelenke der aufgabenspezifischen Roboterteilsysteme während einer Ausführung der kooperativen Arbeitsaufgabe zu koordinieren.
  3. Robotersystem nach Anspruch 1, ferner umfassend einen graphischen Programmiereditor zum Zugriff auf den Controller, wobei der graphische Programmiereditor eine Schnittstelle für einen Anwender bereitstellt, um eine Verzweigungssequenz für die mehreren unabhängigen Teilaufgaben zu konfigurieren.
  4. Robotersystem nach Anspruch 1, wobei die Laufzeitumgebung ein Modul zur asynchronen Ausführungsverwaltung enthält, welches die Robotergelenke auf beliebige Weise in die aufgabenspezifischen Roboterteilsysteme einteilt und welches eine asynchrone Bewegung des Roboters mithilfe der Robotergelenke während der Ausführung der kooperativen Arbeitsaufgabe koordiniert.
  5. Robotersystem nach Anspruch 1, wobei zumindest einige der mehreren unabhängigen Arbeitsaufgaben durch unterschiedliche Robotergelenke separat ausführbar sind.
  6. Robotersystem nach Anspruch 5, ferner umfassend: ein Planungsmodul; und ein Datenbanksystem; wobei das Planungsmodul eine gegebene der mehreren unabhängigen Aufgaben unabhängig von den mehreren anderen unabhängigen Aufgaben erfüllt und die Ausführung der mehreren unabhängigen Aufgaben unter Verwendung von Systemdaten und gemeinsam genutzten Ereignisinformationen aus dem Datenbanksystem synchronisiert.
  7. Verfahren zum Ausführen einer kooperativen Arbeitsaufgabe, die mehrere unabhängige Teilaufgaben aufweist, unter Verwendung eines Robotersystems, das mehrere unabhängig steuerbare Robotergelenke aufweist, wobei das Verfahren umfasst, dass: die Robotergelenke automatisch in aufgabenspezifische Teilsysteme eingeteilt werden; beim Erreichen einer Aufgabenausführungsverzweigung die mehreren unabhängigen Teilaufgaben den aufgabenspezifischen Teilsystemen zugewiesen werden; und die unabhängige Ausführung der mehreren unabhängigen Teilaufgaben durch die jeweiligen aufgabenspezifischen Teilsysteme nach dem Erreichen der Aufgabenausführungsverzweigung koordiniert wird.
  8. Verfahren nach Anspruch 7, wobei die Robotergelenke auf eine Vielzahl verschiedener Roboter verteilt sind, welche zusammen die kooperative Arbeitsaufgabe ausführen, und wobei das automatische Einteilen der Robotergelenke umfasst, dass Robotergelenke von jedem der mehreren Roboter eingeteilt werden.
  9. Verfahren nach Anspruch 7, wobei das Robotersystem ein Planungsmodul und ein Datenbanksystem enthält, welches Systemdaten und gemeinsam genutzte Ereignisinformationen bereitstellt, und wobei das Koordinieren der unabhängigen Ausführung der mehreren unabhängigen Teilaufgaben umfasst, dass das Planungsmodul verwendet wird, um die mehreren unabhängigen Teilaufgaben unter Verwendung der Systemdaten und der gemeinsam genutzten Ereignisinformationen unabhängig mit Bezug zueinander zu synchronisieren und zu erfüllen.
  10. Verfahren nach Anspruch 9, das ferner umfasst, dass: eine gemeinsam genutzte Ausführungszeit für die mehreren unabhängigen Teilaufgaben mithilfe des Planungsmoduls unter Verwendung eines Round-Robin-Planungsschemas erzwungen wird.
DE102011113590.5A 2010-09-22 2011-09-16 Planen simultaner Pfade mit einem oder mehreren humanoiden Robotern Expired - Fee Related DE102011113590B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/887,972 US8731714B2 (en) 2010-09-22 2010-09-22 Concurrent path planning with one or more humanoid robots
US12/887,972 2010-09-22

Publications (2)

Publication Number Publication Date
DE102011113590A1 true DE102011113590A1 (de) 2012-08-30
DE102011113590B4 DE102011113590B4 (de) 2015-06-25

Family

ID=45818456

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011113590.5A Expired - Fee Related DE102011113590B4 (de) 2010-09-22 2011-09-16 Planen simultaner Pfade mit einem oder mehreren humanoiden Robotern

Country Status (3)

Country Link
US (1) US8731714B2 (de)
JP (1) JP2012066376A (de)
DE (1) DE102011113590B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202014003133U1 (de) * 2014-04-11 2015-07-15 Kuka Systems Gmbh Roboterarbeitsplatz

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201228785A (en) * 2011-01-14 2012-07-16 Hon Hai Prec Ind Co Ltd Manipulator positioning device and manipulator with same
US10054933B2 (en) * 2012-03-27 2018-08-21 Sirqul, Inc. Controlling distributed device operations
JP5774223B2 (ja) * 2012-06-29 2015-09-09 三菱電機株式会社 ロボット制御装置およびロボット制御方法
US9465384B1 (en) * 2013-06-24 2016-10-11 Redwood Robotics, Inc. Methods and systems for tiered programming of robotic device
US9409292B2 (en) 2013-09-13 2016-08-09 Sarcos Lc Serpentine robotic crawler for performing dexterous operations
JP2015136762A (ja) * 2014-01-23 2015-07-30 セイコーエプソン株式会社 処理装置、ロボット、ロボットシステム及び処理方法
US9566711B2 (en) * 2014-03-04 2017-02-14 Sarcos Lc Coordinated robotic control
US9841749B2 (en) 2014-04-01 2017-12-12 Bot & Dolly, Llc Runtime controller for robotic manufacturing system
US9701018B2 (en) 2014-04-01 2017-07-11 Bot & Dolly, Llc Software interface for authoring robotic manufacturing process
US9555545B2 (en) 2014-05-21 2017-01-31 Bot & Dolly, Llc Systems and methods for time-based parallel robotic operation
US9278449B1 (en) 2014-05-21 2016-03-08 Bot & Dolly, Llc Closed-loop control system for robotic operation
US9308647B2 (en) 2014-06-03 2016-04-12 Bot & Dolly, Llc Systems and methods for instructing robotic operation
CN104440910B (zh) * 2014-11-07 2016-05-04 绵阳市维博电子有限责任公司 一种实现机器人双手臂同步控制的方法及***
US11312018B2 (en) * 2014-11-14 2022-04-26 Transportation Ip Holdings, Llc Control system with task manager
US9555846B1 (en) 2015-03-20 2017-01-31 Google Inc. Pelvis structure for humanoid robot
US9707680B1 (en) * 2015-05-28 2017-07-18 X Development Llc Suggesting, selecting, and applying task-level movement parameters to implementation of robot motion primitives
US10071303B2 (en) 2015-08-26 2018-09-11 Malibu Innovations, LLC Mobilized cooler device with fork hanger assembly
US10807659B2 (en) 2016-05-27 2020-10-20 Joseph L. Pikulski Motorized platforms
CN115519542B (zh) * 2022-09-23 2024-07-12 五邑大学 基于哈里斯鹰化算法的多机协作焊接轨迹规划方法及装置

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4954948A (en) * 1986-12-29 1990-09-04 Motorola, Inc. Microprocessor operating system for sequentially executing subtasks
JP3835508B2 (ja) 1999-03-15 2006-10-18 オムロン株式会社 シーケンス制御装置、同装置における保持エリアの保全方法、並びに、同方法を実行するためのコンピュータプログラムを格納した記録媒体
DE60035651T2 (de) * 1999-09-16 2008-05-21 Fanuc Ltd. Steuerungssystem zum synchronen kooperativen Betreiben einer Mehrzahl von Robotern
DE10032096A1 (de) * 2000-07-01 2002-01-24 Kuka Roboter Gmbh Geräteverbund und Steuerschrank für einen solchen
JP3504222B2 (ja) * 2000-09-04 2004-03-08 ファナック株式会社 ロボット制御装置
JP4670136B2 (ja) 2000-10-11 2011-04-13 ソニー株式会社 オーサリング・システム及びオーサリング方法、並びに記憶媒体
CN1649698A (zh) 2002-03-18 2005-08-03 索尼株式会社 机器人设备、腿式移动机器人的运动控制设备和方法、腿式移动机器人的传感器***和移动单元
JP3522742B1 (ja) * 2002-03-18 2004-04-26 ソニー株式会社 ロボット装置、脚式移動ロボットの動作制御装置及び動作制御方法、脚式移動ロボットのためのセンサ・システム、並びに移動体装置
JP2003291083A (ja) 2002-03-28 2003-10-14 Toshiba Corp ロボット装置、ロボット制御方法及びロボット配送システム
JP4449372B2 (ja) 2002-09-02 2010-04-14 ソニー株式会社 ロボット装置及びその行動制御方法
US7103447B2 (en) * 2002-09-02 2006-09-05 Sony Corporation Robot apparatus, and behavior controlling method for robot apparatus
JP4115374B2 (ja) * 2003-11-18 2008-07-09 ソニー株式会社 ロボット装置
JP2004195554A (ja) 2002-12-16 2004-07-15 Sony Corp 脚式移動ロボット
US7072740B2 (en) 2002-12-16 2006-07-04 Sony Corporation Legged mobile robot
JP2004283960A (ja) 2003-03-20 2004-10-14 Sony Corp ロボット装置、その行動制御方法、及びプログラム
DE10314025B4 (de) * 2003-03-28 2010-04-01 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern einer Mehrzahl von Handhabungsgeräten
US6804580B1 (en) * 2003-04-03 2004-10-12 Kuka Roboter Gmbh Method and control system for controlling a plurality of robots
JP4592276B2 (ja) 2003-10-24 2010-12-01 ソニー株式会社 ロボット装置のためのモーション編集装置及びモーション編集方法、並びにコンピュータ・プログラム
SE0303384D0 (sv) * 2003-12-15 2003-12-15 Abb Ab Control system, method and computer program
US20050132121A1 (en) * 2003-12-16 2005-06-16 Wind River Systems, Inc. Partitioned operating system tool
JP2005190437A (ja) * 2003-12-26 2005-07-14 Fanuc Ltd 制御装置管理システム
JP4713846B2 (ja) 2004-04-30 2011-06-29 独立行政法人科学技術振興機構 ロボット遠隔制御システム
SE0402098D0 (sv) * 2004-08-30 2004-08-30 Abb Ab A control system
ATE489785T1 (de) 2004-09-29 2010-12-15 Koninkl Philips Electronics Nv Netzwerk-array, versendervorrichtung und verfahren zum betrieb einer versendervorrichtung
US7383100B2 (en) * 2005-09-29 2008-06-03 Honda Motor Co., Ltd. Extensible task engine framework for humanoid robots
KR20070075957A (ko) * 2006-01-17 2007-07-24 주식회사 로보스타 멀티 타스킹을 위한 타스크 기반 로봇 제어시스템
JP5181541B2 (ja) 2007-06-15 2013-04-10 富士通株式会社 ロボットシステム、エディタ端末、およびエディタプログラム
EP2014425B1 (de) * 2007-07-13 2013-02-20 Honda Research Institute Europe GmbH Verfahren und Vorrichtung zur Steuerung eines Roboters
KR101021836B1 (ko) * 2008-10-09 2011-03-17 한국전자통신연구원 동적 행위 바인딩을 통한 다수 로봇의 협업 구현 시스템 및그 구현 방법
US8364314B2 (en) * 2009-04-30 2013-01-29 GM Global Technology Operations LLC Method and apparatus for automatic control of a humanoid robot
US9046892B2 (en) * 2009-06-05 2015-06-02 The Boeing Company Supervision and control of heterogeneous autonomous operations

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202014003133U1 (de) * 2014-04-11 2015-07-15 Kuka Systems Gmbh Roboterarbeitsplatz

Also Published As

Publication number Publication date
US20120072019A1 (en) 2012-03-22
DE102011113590B4 (de) 2015-06-25
US8731714B2 (en) 2014-05-20
JP2012066376A (ja) 2012-04-05

Similar Documents

Publication Publication Date Title
DE102011113590B4 (de) Planen simultaner Pfade mit einem oder mehreren humanoiden Robotern
DE102010045528B4 (de) Gerüst und Verfahren zum Steuern eines Robotersystems unter Verwendung eines verteilten Rechnernetzwerks
DE102010018438B4 (de) Verfahren und Vorrichtung zur automatischen Steuerung eines humanoiden Roboters
DE102012218297B4 (de) Verfahren zur dynamischen Optimierung einer Robotersteuerschnittstelle
DE102010045529B4 (de) Interaktives Robotersteuerungssystem und Verwendungsverfahren
EP3341804B1 (de) Verfahren zur steuerung einer bewegung, steuereinrichtung und linearantrieb
DE102014103738B3 (de) Visuelle fehlersuche bei roboteraufgaben
DE102014110355B3 (de) Robotersystem und Verfahren zur Roboter-Geschwindigkeitssteuerung
EP2977149B1 (de) Verfahren und mittel zum auslegen und/oder betreiben eines roboters
JP2012066376A5 (de)
DE102011110902B4 (de) Sicherer Betrieb eines Kraft- oder ImpedanzgesteuertenRoboters im Arbeitsraum
DE102012213957B4 (de) Schnelle Berechnung von Griffkontakten für einen seriellen Roboter
DE102016000754A1 (de) Verfahren und System zur Bahnplanung eines redundanten Roboters
DE102015109646B4 (de) Planen des Greifens eines Roboters in Echtzeit
DE102008029657A1 (de) Positionsgesteuerter Mechanismus und Verfahren zur Steuerung von in mehreren Bewegungsfreiheitsgraden beweglichen Mechanismen
WO2019029870A1 (de) Handhabungseinrichtung mit einem roboter sowie verfahren und computerprogramm
DE102012213188A1 (de) Verfahren und System zum Steuern einer Ausführungssequenz eines geschickten Roboters unter Verwendung einer Zustandsklassifizierung
WO2020083633A1 (de) Vorrichtung und verfahren zur ansteuerung eines robotersystems
EP3569367A1 (de) Rechnergestütztes ermitteln einer bewegung einer vorrichtung
EP2628574A1 (de) Verfahren zur Simulation einer Bearbeitungsmaschine
EP3132319B1 (de) Verfahren zum betrieb einer automatisierungsanordnung
EP3752327A1 (de) Koordinierungsanlage, handhabungseinrichtung und verfahren
DE102011102314B4 (de) Anwenden von Arbeitsraumgrenzen in einem geschwindigkeitsgesteuerten Robotermechanismus
DE102020127532B3 (de) Regelungsverfahren zum Regeln des Drehmoments und/oder der Position mindestens eines elastizitätsbehafteten Gelenks einer Handhabungsvorrichtung, Drehmomentregler, Positionsregler und Verwendung des Verfahrens zur Regelung der Position und/oder des Drehmoments mindestens eines elastizitätsbehafteten Gelenks einer Handhabungsvorrichtung
DE102022104525A1 (de) Verfahren und Roboter zum Ausführen von Aufgaben 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
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee