DE102011113590B4 - Planen simultaner Pfade mit einem oder mehreren humanoiden Robotern - Google Patents

Planen simultaner Pfade mit einem oder mehreren humanoiden Robotern Download PDF

Info

Publication number
DE102011113590B4
DE102011113590B4 DE102011113590.5A DE102011113590A DE102011113590B4 DE 102011113590 B4 DE102011113590 B4 DE 102011113590B4 DE 102011113590 A DE102011113590 A DE 102011113590A DE 102011113590 B4 DE102011113590 B4 DE 102011113590B4
Authority
DE
Germany
Prior art keywords
task
robot
execution
independent
joints
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.)
Expired - Fee Related
Application number
DE102011113590.5A
Other languages
English (en)
Other versions
DE102011113590A1 (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

Robotersystem (10) zum Ausführen einer kooperativen Arbeitsaufgabe, die mehrere unabhängige Aufgaben (51, 61, 62, 63, 64) aufweist, durch verschiedene Manipulatoren eines oder mehrerer Roboter (11, 111), umfassend: eine Vielzahl von Robotergelenken (13, 15, 17, 19, 21, 23), von denen einige einander überschneidende Bewegungsbereiche aufweisen, wobei jedes der Robotergelenke (13, 15, 17, 19, 21, 23) während einer Ausführung der kooperativen Arbeitsaufgabe unabhängig steuerbar ist; und einen Controller (12), der die Bewegung der Robotergelenke (13, 15, 17, 19, 21, 23) während der Ausführung der kooperativen Arbeitsaufgabe steuert; wobei der Controller (12) die Robotergelenke (13, 15, 17, 19, 21, 23) unter Verwendung einer Laufzeitumgebung (42) automatisch in aufgabenspezifische Teilsysteme einteilt, beim Erreichen einer Aufgabenausführungsverzweigung (52, 53, 54) die mehreren unabhängigen Aufgaben (51, 61, 62, 63, 64) den aufgabenspezifischen Teilsystemen zuweist und die unabhängige Ausführung der aufgabenspezifischen Teilaufgaben (51, 61, 62, 63, 64) durch die jeweiligen aufgabenspezifischen Teilsysteme nach dem Erreichen der Aufgabenausführungsverzweigung (52, 53, 54) koordiniert.

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.
  • Die Druckschrift US 2007/0 250 213 A1 offenbart ein Steuerungssystem für mehrere Roboter, bei dem ein manuelles Bediengerät mindestens einen oder einen Teil eines Roboters bewegen kann. Ein Anzeigegerät zeigt an, ob der zu bewegende Roboter bzw. der zu bewegende Teil desselben mit anderen Robotern/Teilen verbunden ist und diese folglich ebenfalls bewegt würden.
  • In der Druckschrift US 2008/0 147 206 A1 ist ein Steuerungssystem für Echtzeitaufgaben für kooperierende Roboter offenbart, das Kommunikations-, Prozesssteuerungs- und Sicherheitsfunktionen ausführt und besonders zur Bewegungssteuerung von Industrierobotern geeignet ist. Das Steuerungssystem enthält eine Vielzahl von Funktionsmodulen, die jeweils Steuerungs- und Sicherheitsfunktionen ausführen.
  • Die Druckschrift US 2009/0 018 696 A1 offenbart eine Vorrichtung und ein Verfahren zum Steuern eines Roboters mit vielen gleichzeitig arbeitenden Robotercontrollereinheiten, die anhand von Eingaben priorisierte Motorsteuerbefehle ausgeben. Ein Robotercontroller wählt einen der Motorbefehle anhand der Priorität aus. Die Robotercontrollereinheiten können Daten von anderen Robotercontrollereinheiten lesen.
  • In der Druckschrift US 7 103 447 B2 ist ein Verfahren zum Steuern des Verhaltens eines Roboters offenbart, bei dem eine Vielzahl von Verhaltensmustern (Verhaltensmodule) hierarchisch derart verbunden sind, dass sie in hohem Maß voneinander unabhängig sind und die hierarchische Baumstruktur erweiterbar ist. Die Verhaltensmuster können kombiniert werden, um komplexe Verhaltensmuster des Roboters zu implementieren.
  • Die Druckschrift US 7 383 100 B2 offenbart ein erweiterbares Aufgabengerüst für humanoide Roboter, bei dem für spezielle Roboterkonfigurationen spezifische Fähigkeiten entwickelt werden. Arbeitsaufgaben, die von einem Roboter auf den nächsten übertragen werden können, rufen die spezifischen Fähigkeiten des Roboters auf, um diese zu nutzen.
  • In der Druckschrift JP 2004-283 960 A ist ein Verfahren zum Steuern des Verhaltens von Robotern offenbart, bei dem eine Vielzahl elementarer Aktionen des Roboters in einer Baumstruktur gespeichert ist und diese beruhend auf dem internen Zustand und einem Stimulus von außen bewertet werden. Abhängig von der Bewertung wird eine elementare Aktion ausgeführt und die Ausführung der anderen Aktionen verhindert.
  • Die Aufgabe der Erfindung besteht darin, ein System und Verfahren bereitzustellen, mit denen ein oder mehrere komplexe Roboter mit vielen Freiheitsgraden eine kooperative Arbeitsaufgabe ausführen kann bzw. können.
  • Diese Aufgabe wird durch die Gegenstände der unabhängigen Ansprüche gelöst.
  • 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 hier 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 heißt, 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 (10) zum Ausführen einer kooperativen Arbeitsaufgabe, die mehrere unabhängige Aufgaben (51, 61, 62, 63, 64) aufweist, durch verschiedene Manipulatoren eines oder mehrerer Roboter (11, 111), umfassend: eine Vielzahl von Robotergelenken (13, 15, 17, 19, 21, 23), von denen einige einander überschneidende Bewegungsbereiche aufweisen, wobei jedes der Robotergelenke (13, 15, 17, 19, 21, 23) während einer Ausführung der kooperativen Arbeitsaufgabe unabhängig steuerbar ist; und einen Controller (12), der die Bewegung der Robotergelenke (13, 15, 17, 19, 21, 23) während der Ausführung der kooperativen Arbeitsaufgabe steuert; wobei der Controller (12) die Robotergelenke (13, 15, 17, 19, 21, 23) unter Verwendung einer Laufzeitumgebung (42) automatisch in aufgabenspezifische Teilsysteme einteilt, beim Erreichen einer Aufgabenausführungsverzweigung (52, 53, 54) die mehreren unabhängigen Aufgaben (51, 61, 62, 63, 64) den aufgabenspezifischen Teilsystemen zuweist und die unabhängige Ausführung der aufgabenspezifischen Teilaufgaben (51, 61, 62, 63, 64) durch die jeweiligen aufgabenspezifischen Teilsysteme nach dem Erreichen der Aufgabenausführungsverzweigung (52, 53, 54) koordiniert.
  2. Robotersystem (10) nach Anspruch 1, wobei der Controller (12) die Laufzeitumgebung (42) enthält, die ausgelegt ist, um eine Bewegung mit Bezug auf die Robotergelenke (13, 15, 17, 19, 21, 23) der aufgabenspezifischen Roboterteilsysteme während einer Ausführung der kooperativen Arbeitsaufgabe zu koordinieren.
  3. Robotersystem (10) nach Anspruch 1, ferner umfassend einen graphischen Programmiereditor (80) zum Zugriff auf den Controller (12), wobei der graphische Programmiereditor (80) eine Schnittstelle für einen Anwender bereitstellt, um eine Verzweigungssequenz für die mehreren unabhängigen Teilaufgaben (51, 61, 62, 63, 64) zu konfigurieren.
  4. Robotersystem (10) nach Anspruch 1, wobei die Laufzeitumgebung (42) ein Modul (60) zur asynchronen Ausführungsverwaltung enthält, welches die Robotergelenke (13, 15, 17, 19, 21, 23) auf beliebige Weise in die aufgabenspezifischen Roboterteilsysteme einteilt und welches eine asynchrone Bewegung des Roboters (11, 111) mithilfe der Robotergelenke (13, 15, 17, 19, 21, 23) während der Ausführung der kooperativen Arbeitsaufgabe koordiniert.
  5. Robotersystem (10) nach Anspruch 1, wobei zumindest einige der mehreren unabhängigen Arbeitsaufgaben (51, 61, 62, 63, 64) durch unterschiedliche Robotergelenke (13, 15, 17, 19, 21, 23) separat ausführbar sind.
  6. Robotersystem (10) nach Anspruch 5, ferner umfassend: ein Planungsmodul (70); und ein Datenbanksystem (40); wobei das Planungsmodul (70) eine gegebene der mehreren unabhängigen Aufgaben (51, 61, 62, 63, 64) unabhängig von den mehreren anderen unabhängigen Aufgaben (51, 61, 62, 63, 64) erfüllt und die Ausführung der mehreren unabhängigen Aufgaben (51, 61, 62, 63, 64) unter Verwendung von Systemdaten und gemeinsam genutzten Ereignisinformationen aus dem Datenbanksystem (40) synchronisiert.
  7. Verfahren (100) zum Ausführen einer kooperativen Arbeitsaufgabe, die mehrere unabhängige Teilaufgaben (51, 61, 62, 63, 64) aufweist, unter Verwendung verschiedener Manipulatoren eines oder mehrerer Roboter (11, 111) eines Robotersystems (10), das mehrere unabhängig steuerbare Robotergelenke (13, 15, 17, 19, 21, 23) aufweist, von denen einige einander überschneidende Bewegungsbereiche aufweisen, wobei das Verfahren umfasst, dass: die Robotergelenke (13, 15, 17, 19, 21, 23) unter Verwendung einer Laufzeitumgebung (42) automatisch in aufgabenspezifische Teilsysteme eingeteilt werden; beim Erreichen einer Aufgabenausführungsverzweigung (52, 53, 54) die mehreren unabhängigen Teilaufgaben (51, 61, 62, 63, 64) den aufgabenspezifischen Teilsystemen zugewiesen werden; und die unabhängige Ausführung der mehreren unabhängigen Teilaufgaben (51, 61, 62, 63, 64) durch die jeweiligen aufgabenspezifischen Teilsysteme nach dem Erreichen der Aufgabenausführungsverzweigung (52, 53, 54) koordiniert wird.
  8. Verfahren (100) nach Anspruch 7, wobei die Robotergelenke (13, 15, 17, 19, 21, 23) auf eine Vielzahl verschiedener Roboter (11, 111) verteilt sind, welche zusammen die kooperative Arbeitsaufgabe ausführen, und wobei das automatische Einteilen der Robotergelenke (13, 15, 17, 19, 21, 23) umfasst, dass Robotergelenke (13, 15, 17, 19, 21, 23) von jedem der mehreren Roboter (11, 111) eingeteilt werden.
  9. Verfahren (100) nach Anspruch 7, wobei das Robotersystem (10) ein Planungsmodul (70) und ein Datenbanksystem (40) enthält, welches Systemdaten und gemeinsam genutzte Ereignisinformationen bereitstellt, und wobei das Koordinieren der unabhängigen Ausführung der mehreren unabhängigen Teilaufgaben (51, 61, 62, 63, 64) umfasst, dass das Planungsmodul (70) verwendet wird, um die mehreren unabhängigen Teilaufgaben (51, 61, 62, 63, 64) unter Verwendung der Systemdaten und der gemeinsam genutzten Ereignisinformationen unabhängig mit Bezug zueinander zu synchronisieren und zu erfüllen.
  10. Verfahren (100) nach Anspruch 9, das ferner umfasst, dass: eine gemeinsam genutzte Ausführungszeit für die mehreren unabhängigen Teilaufgaben (51, 61, 62, 63, 64) mithilfe des Planungsmoduls (70) 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 2010-09-22
US12/887,972 US8731714B2 (en) 2010-09-22 2010-09-22 Concurrent path planning with one or more humanoid robots

Publications (2)

Publication Number Publication Date
DE102011113590A1 DE102011113590A1 (de) 2012-08-30
DE102011113590B4 true 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)

Families Citing this family (20)

* 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
WO2014002678A1 (ja) * 2012-06-29 2014-01-03 三菱電機株式会社 ロボット制御装置およびロボット制御方法
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
US9701018B2 (en) 2014-04-01 2017-07-11 Bot & Dolly, Llc Software interface for authoring robotic manufacturing process
US9841749B2 (en) 2014-04-01 2017-12-12 Bot & Dolly, Llc Runtime controller for robotic manufacturing system
DE202014003133U1 (de) * 2014-04-11 2015-07-15 Kuka Systems Gmbh Roboterarbeitsplatz
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
CN115519542A (zh) * 2022-09-23 2022-12-27 五邑大学 基于哈里斯鹰化算法的多机协作焊接轨迹规划方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004283960A (ja) * 2003-03-20 2004-10-14 Sony Corp ロボット装置、その行動制御方法、及びプログラム
US7103447B2 (en) * 2002-09-02 2006-09-05 Sony Corporation Robot apparatus, and behavior controlling method for robot apparatus
US20070250213A1 (en) * 2003-12-15 2007-10-25 Abb Ab Control System, Method and Computer Program
US7383100B2 (en) * 2005-09-29 2008-06-03 Honda Motor Co., Ltd. Extensible task engine framework for humanoid robots
US20080147206A1 (en) * 2004-08-30 2008-06-19 Abb Ab Control system for Real Time Applications for Cooperative Industrial Robots
US20090018696A1 (en) * 2007-07-13 2009-01-15 Honda Research Institute Europe Gmbh Method and Device for Controlling a Robot

Family Cites Families (25)

* 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 ソニー株式会社 オーサリング・システム及びオーサリング方法、並びに記憶媒体
KR100959472B1 (ko) 2002-03-18 2010-05-25 소니 주식회사 로봇 장치 및 로봇 장치의 제어 방법
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 ソニー株式会社 ロボット装置及びその行動制御方法
JP4115374B2 (ja) * 2003-11-18 2008-07-09 ソニー株式会社 ロボット装置
US7072740B2 (en) 2002-12-16 2006-07-04 Sony Corporation Legged mobile robot
JP2004195554A (ja) 2002-12-16 2004-07-15 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 ソニー株式会社 ロボット装置のためのモーション編集装置及びモーション編集方法、並びにコンピュータ・プログラム
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 独立行政法人科学技術振興機構 ロボット遠隔制御システム
CN100542113C (zh) 2004-09-29 2009-09-16 皇家飞利浦电子股份有限公司 网络阵列、转发器设备及操作转发器设备的方法
KR20070075957A (ko) * 2006-01-17 2007-07-24 주식회사 로보스타 멀티 타스킹을 위한 타스크 기반 로봇 제어시스템
JP5181541B2 (ja) 2007-06-15 2013-04-10 富士通株式会社 ロボットシステム、エディタ端末、およびエディタプログラム
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103447B2 (en) * 2002-09-02 2006-09-05 Sony Corporation Robot apparatus, and behavior controlling method for robot apparatus
JP2004283960A (ja) * 2003-03-20 2004-10-14 Sony Corp ロボット装置、その行動制御方法、及びプログラム
US20070250213A1 (en) * 2003-12-15 2007-10-25 Abb Ab Control System, Method and Computer Program
US20080147206A1 (en) * 2004-08-30 2008-06-19 Abb Ab Control system for Real Time Applications for Cooperative Industrial Robots
US7383100B2 (en) * 2005-09-29 2008-06-03 Honda Motor Co., Ltd. Extensible task engine framework for humanoid robots
US20090018696A1 (en) * 2007-07-13 2009-01-15 Honda Research Institute Europe Gmbh Method and Device for Controlling a Robot

Also Published As

Publication number Publication date
DE102011113590A1 (de) 2012-08-30
US8731714B2 (en) 2014-05-20
US20120072019A1 (en) 2012-03-22
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
DE102010045529B4 (de) Interaktives Robotersteuerungssystem und Verwendungsverfahren
DE102012218297B4 (de) Verfahren zur dynamischen Optimierung einer Robotersteuerschnittstelle
DE102010018759B4 (de) Spannungsverteilung in einem sehnengetriebenen Roboterfinger
DE102015204641B4 (de) Verfahren und System zur Programmierung eines Roboters
EP3341804B1 (de) Verfahren zur steuerung einer bewegung, steuereinrichtung und linearantrieb
DE102014103738B3 (de) Visuelle fehlersuche bei roboteraufgaben
DE102014110355B3 (de) Robotersystem und Verfahren zur Roboter-Geschwindigkeitssteuerung
DE102012213957B4 (de) Schnelle Berechnung von Griffkontakten für einen seriellen Roboter
EP2977149B1 (de) Verfahren und mittel zum auslegen und/oder betreiben eines roboters
DE112018002565B4 (de) System und Verfahren zum direkten Anlernen eines Roboters
DE102011110902B4 (de) Sicherer Betrieb eines Kraft- oder ImpedanzgesteuertenRoboters im Arbeitsraum
JP2012066376A5 (de)
DE102015109646B4 (de) Planen des Greifens eines Roboters in Echtzeit
EP3434424A1 (de) Effiziente programmierung von robotern für die bearbeitung von werkstücken mit verschiedenen varianten
DE102011117094A1 (de) Robuster betrieb von sehnengetriebenen roboterfingern unter verwendung von kraft- und positionsbasierten steuergesetzen
WO2019029870A1 (de) Handhabungseinrichtung mit einem roboter sowie verfahren und computerprogramm
DE102019205651B3 (de) Verfahren und System zum Ausführen von Roboterapplikationen
DE10393527T5 (de) Systeme und Verfahren zur Darstellung komplexer n-Kurven für die Direktsteuerung einer Werkzeugbewegung
DE102012213188A1 (de) Verfahren und System zum Steuern einer Ausführungssequenz eines geschickten Roboters unter Verwendung einer Zustandsklassifizierung
EP3356894B1 (de) Verfahren zur automatischen konfiguration eines externen steuerungssystems zur steuerung und/oder regelung eines robotersystems
WO2020083633A1 (de) Vorrichtung und verfahren zur ansteuerung eines robotersystems
DE102020209511B3 (de) Verfahren und System zur Bestimmung von optimierten Programmparametern für ein Roboterprogramm
EP3132319B1 (de) Verfahren zum betrieb einer automatisierungsanordnung

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