DE102014108287A1 - Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter - Google Patents

Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter Download PDF

Info

Publication number
DE102014108287A1
DE102014108287A1 DE102014108287.7A DE102014108287A DE102014108287A1 DE 102014108287 A1 DE102014108287 A1 DE 102014108287A1 DE 102014108287 A DE102014108287 A DE 102014108287A DE 102014108287 A1 DE102014108287 A1 DE 102014108287A1
Authority
DE
Germany
Prior art keywords
robot
task
force
gripping member
torque
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
DE102014108287.7A
Other languages
English (en)
Other versions
DE102014108287B4 (de
Inventor
James W. Wells
David W. Payton
Ryan M. Uhlenbrock
Li Yang Ku
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 DE102014108287A1 publication Critical patent/DE102014108287A1/de
Application granted granted Critical
Publication of DE102014108287B4 publication Critical patent/DE102014108287B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/423Teaching successive positions by walk-through, i.e. the tool head or end effector being grasped and guided directly, with or without servo-assistance, to follow a path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36442Automatically teaching, teach by showing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/03Teaching system

Abstract

Ein Verfahren zum Trainieren eines Roboters zum automatischen Ausführen einer Roboteraufgabe umfasst, dass ein Greiforgan durch mehrere Zustände einer vorbestimmten Roboteraufgabe bewegt wird, um dem Roboter die Aufgabe in einem Satz von n Trainingsdemonstrationen zu demonstrieren. Das Verfahren umfasst, dass Trainingsdaten, welche mindestens die lineare Kraft und das Drehmoment umfassen, mit Hilfe eines Kraft-Drehmoment-Sensors gemessen werden, während das Greiforgan durch die mehreren Zustände bewegt wird. Schlüsselmerkmale werden aus den Trainingsdaten extrahiert, welche in eine Zeitsequenz aus Steuerungsprimitiven segmentiert werden. Übergänge zwischen benachbarten Segmenten der Zeitsequenz werden identifiziert. Während einer autonomen Ausführung der gleichen Aufgabe detektiert ein Controller die Übergänge und schaltet automatisch zwischen Steuerungsmodi um. Ein Robotersystem umfasst einen Roboter, einen Kraft-Drehmoment-Sensor und einen Controller, der programmiert ist, um das Verfahren auszuführen.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft das schnelle Erlernen durch Nachahmung von Kraft-Drehmoment-Aufgaben durch Roboter.
  • HINTERGRUND
  • Roboter sind elektromechanische Vorrichtungen, die zum Manipulieren von Objekten unter Verwendung einer Reihe von Robotergliedern in der Lage sind. Die Roboterglieder sind durch Gelenke miteinander verbunden, von denen jedes durch einen oder mehrere Aktoren unabhängig oder voneinander abhängig angetrieben werden kann. Jedes Robotergelenk repräsentiert eine unabhängige Steuerungsvariable oder einen Freiheitsgrad. Greiforgane sind Endglieder, die eine Aufgabe direkt ausführen, etwa das Ergreifen eines Arbeitswerkzeugs oder das Stapeln von Teilen. Roboter werden typischerweise mit Hilfe von kraft-, impedanz- oder positionsbasierten Steuerungsregeln auf einen gewünschten Zielwert geregelt.
  • Bei der Fertigung besteht ein Trend zu flexibleren Fabriken und Prozessen, die in der Lage sind, neue oder stärker veränderte Produkte mit minimaler Stillstandszeit zu erzeugen. Zum Erreichen dieses Ziels sollten Roboterplattformen in der Lage sein, sich schnell an neue Aufgaben anzupassen, ohne den Bedarf für zeitraubendes Neuprogrammieren und Kompilieren. Die Aufgabendemonstration, auch als Erlernen durch Nachahmung bezeichnet, ist eine sich entwickelnde Herangehensweise zum Erreichen einer derartigen Verhaltensflexibilität. Existierende Trainingsverfahren auf der Grundlage der Aufgabendemonstration können jedoch hinsichtlich der erforderlichen Anzahl von Trainingsdemonstrationen und der statistischen Gesamtrechenlast nicht optimal sein.
  • ZUSAMMENFASSUNG
  • Es werden hier ein Robotersystem und ein zugehöriges Steuerungsverfahren offenbart. Das System und Verfahren sollen existierende Herangehensweisen der von Menschen unterstützen Aufgabendemonstration verbessern, bei denen ein menschlicher Bediener eine Aufgabe einem Roboter physikalisch demonstriert, beispielsweise über eine manuelle oder automatisch befohlene Bewegung des Roboters durch spezielle Trajektorien, Stopppositionen und Greiforganbewegungen hindurch. Die vorliegende Herangehensweise ermöglicht, dass ein Roboter innerhalb des Robotersystems einen Satz von Primitiven von Aufgabenkenntnissen aus einem kleinen Satz von Demonstrationen einer gegebenen Aufgabe erwirbt, wobei die demonstrierte Aufgabe speziell die Anwendung von linearen und rotatorischen Kräften/Drehmomenten erfordert, um ein gewünschtes Endergebnis zu realisieren. Die vorliegende Herangehensweise trägt insbesondere dazu bei, die Analyse von Roboterdaten von typischerweise nicht mehr als zwei oder drei Gesamtaufgabendemonstrationen zu ermöglichen, um einen nützlichen Satz von invarianten Aufgabenmerkmalen zu bestimmen. Die invarianten Aufgabenmerkmale werden dann verwendet, um zukünftige Aktionen des Roboters durch eine autonome Ausführung der gleichen Aufgabe durch einen großen Bereich von variablen Bedingungen hindurch zu führen.
  • Eine Ausführungsform der Steuerungsarchitektur, die von dem Controller der vorliegenden Erfindung bereitgestellt wird, umfasst zwei Hauptaufgabenmodule, d. h. ein Trainingsphasenmodul (TPM) und ein Ausführungsphasenmodul (EPM), welche den Gesamtprozess effektiv in separate Trainings- und Ausführungs-Phasen (Post-Trainings-Phasen) aufteilen. Der Begriff ”Modul” wird, so wie er hier verwendet wird, im Kontext der Rechentechnik verwendet, und bedeutet sämtliche notwendige Hardware wie etwa Prozessoren, Datenbusse, Speichervorrichtungen, Eingabe/Ausgabe-Vorrichtungen (IO-Vorrichtungen) und alle andere notwendige zugehörige Hardware, sowie alle zugrundeliegenden Softwareprogrammieranweisungen, deren Ausführung letztlich bewirkt, dass der Controller und der Roboter in der nachstehend beschriebenen Weise funktionieren.
  • Innerhalb der offenbarten Steuerungsarchitektur ermöglicht das TPM einem Benutzer, eine kleine Anzahl von beispielhaften Aufgabendemonstrationen, etwa nur 1–3 Aufgabendemonstrationen, bereitzustellen. Lineare Kraft-Drehmoment-Sensoren des Roboters, welche mit einem Handgelenk oder einer anderen geeigneten Struktur des Roboters verbunden oder darin eingebettet sein können, und optionale Umgebungssensoren, die in der Arbeitsumgebung des Roboters angeordnet sind, nehmen Roboterverhaltensdaten während der bzw. den demonstrierten Aufgaben auf. Aus den Aufgabendemonstrationen bestimmt der Controller die Position und Orientierung eines Greiforgans des Roboters durch den Bewegungsbereich des Greiforgans relativ zu Objekten, die in der Aufgabendemonstrationsumgebung angeordnet sind. Der Controller verarbeitet außerdem Daten von den Kraft-Drehmoment-Sensoren. Der kombinierte Satz von gesammelten Daten, der hier als ein Trainingsdatensatz bezeichnet wird, kann temporär in einem Speicher aufgezeichnet werden.
  • Unter Verwendung des aufgenommenen Trainingsdatensatzes führt der Controller als Nächstes einen Zeitsegmentierungsprozess aus, bei dem ein Prozessor des Controllers eine Zeitsequenz der Aufgabendemonstrationen in eindeutige Aufgabensegmente unterteilt. Das heißt, dass die Zeitsequenz mit Hilfe einer Logik des Controllers analysiert wird, um bestimmte Übergangsereignisse zwischen den Segmenten zu identifizieren. Diese Funktion kann in einem Ereignis-Deskriptor-Trainermodul (EDTM) des Controllers bewerkstelligt werden. Die Aufgabensegmente können analysiert werden, um charakteristische Ereignisdeskriptoren zu identifizieren, wie nachstehend erläutert wird, welche von dem Controller später verwendet werden, um die gleichen oder ähnliche Übergänge bei einer tatsächlichen autonomen Ausführung der Aufgabe durch den Roboter zu detektieren.
  • Das EPM, welches das zweite Hauptsteuerungsmodul des vorliegenden Controllers ist, das für die Ausführung von Aufgaben verantwortlich ist, wendet nach dem demonstrierten/nachahmenden Erlernen der Aufgabe eine trainierte Sequenz von Steuerungsprimitiven an, d. h. grundlegende Steuerungsaktionen wie etwa das Bewegen eines Greiforgans zu einer Zieloberfläche hin oder an dieser entlang. Außerdem wendet das EPM erlernte Parameter während der Ausführung der Aufgabe an und gleicht Merkmale in Laufzeitdaten mit den erlernten Merkmalen ab, um präzise zu bestimmen, wann zwischen verschiedenen Steuerungsregimen gewechselt werden soll, wobei ”Steuerungsregime” die speziellen notwendigen Steuerungsbefehle bezeichnet, die benötigt werden, um eine gegebene Aktion in einem zugehörigen Aufgabensegment zu erreichen. Die verschiedenen Konzerte und Begriffe, die vorstehend erwähnt wurden, werden nachstehend mit Bezug auf die verschiedenen Figuren im Detail erläutert.
  • Ein Vorteil der offenbarten Erfindung ist das Ermöglichen eines schnellen Erlernens von Roboteraufgaben, die sowohl lineare als auch rotatorische Kraftziele umfassen, hier nachstehend Kraft- und Drehmomentziele, aus nur wenigen einfachen Aufgabendemonstrationen. Bei vorherigen auf Training beruhenden Verfahren können Kraft- und Drehmomentziele nur durch zeitraubende statistische Prozeduren erlernt werden, die Hunderte von Trainingsbeispielen benötigen, um statistisch relevante Daten zu erzeugen. Vom Standpunkt einer Fabrikanwendung aus kann die vorliegende Erfindung Vorteile gegenüber derartigen statistischen Verfahren bereitstellen.
  • Die vorliegende Erfindung kann außerdem Vorteile gegenüber anderen Herangehensweisen zum Erlernen durch Nachahmung bereitstellen, die ausschließlich auf dem Erreichen von Positionszielen eines Greiforgans beruhen. Indem sie lineare Kraft- und Drehmomentziele umfasst, stellt die vorliegende Herangehensweise Roboterfähigkeiten dort bereit, wo der erfolgreiche Abschluss einer gegebenen Arbeitsaufgabe eher vom Detektieren tatsächlicher taktiler Hinweise abhängt als vom Erreichen spezieller physikalischer Greiforganpositionen oder -orientierungen. Beispielhafte Arbeitsaufgaben, bei denen dieser Vorteil besonders nützlich sein kann, umfassen beispielsweise das Ergreifen und Einführen einer Glühbirne oder einer andere Komponente in eine Fassung oder das Befestigen eines Teils, das eine Einschnappverbindung verwendet. Das Glühbirnenbeispiel wird hier zur Einfachheit und Konsistenz der Veranschaulichung verwendet.
  • 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 mit einem Roboter und einem Controller, der verwendet wird, um den Roboter mit Hilfe einer begrenzten Anzahl von Kraft- und Drehmoment-Aufgabendemonstrationen zu trainieren.
  • 2 ist eine schematische Veranschaulichung einer beispielhaften Kraft-Drehmoment-Aufgabe mit erlernten Steuerungsprimitiven.
  • 3 ist eine zeitliche Aufzeichnung von beispielhaften Trainingsdaten in der Form von beispielhaften Kraftmessungen des Roboters, der in 1 gezeigt ist, wobei die Kraft auf der vertikalen Achse und die Zeit auf der horizontalen Achse dargestellt ist, und wobei die Trainingsdaten segmentiert und in eine Sequenz von Steuerungsprimitiven klassifiziert sind.
  • 4A–C stellen gemeinsam einzelne schematische Trajektoren eines Greiforgans des in 1 gezeigten Roboters in Übereinstimmung mit drei möglichen Szenarien dar.
  • 5 ist eine schematische Zeichnung einer Systemarchitektur für den in 1 gezeigten Controller.
  • 6 ist eine schematische Veranschaulichung eines Koordinatentransformationsschritts, der als Teil des hier offenbarten Verfahrens verwendet werden kann.
  • GENAUE BESCHREIBUNG
  • Mit Bezug auf die Zeichnungen, bei denen gleiche Bezugszeichen gleiche oder ähnliche Komponenten in den mehreren Ansichten bezeichnen, ist in 1 ein beispielhaftes Robotersystem 10 gezeigt. Das Robotersystem 10 umfasst einen Roboter 12 und einen Controller (C) 20, der programmiert ist, um ein Verfahren 100 auszuführen und um dadurch den Roboter 12 mit Hilfe einer von Menschen unterstützten Aufgabendemonstration für die Ausführung einer Kraft-Drehmoment-Aufgabe zu trainieren. Der Roboter 12 kann einen Torso 15, einen Arm 16 mit einem Greiforgan 21 und bei einer beispielhaften humanoiden Ausführungsform möglicherweise einen Kopf 19 umfassen. Das Greiforgan 21 kann als eine beliebige geeignete Vorrichtung für das Ausführen der demonstrierten Aufgabe ausgestaltet sein, z. B. ein Greifer oder eine humanoide Hand mit Fingern 22, die an einem Handgelenk 24, oder einem anderen Armsegment 17 wie gezeigt angebracht sind. Bei einer derartigen Ausführungsform können die Finger 22 motorgetriebene Fingerglieder, Verlängerungen oder andere Greifer sein.
  • Eine nicht einschränkende beispielhafte Kraft-Drehmoment-Arbeitsaufgabe, das nachstehend zur Einfachheit und Konsistenz der Veranschaulichung verwendet wird, ist das Ergreifen eines Objekts 18 in der Form einer Glühbirne. Jedoch kann eine beliebige Anzahl anderer Kraft-Drehmoment-Aufgaben im Umfang der Erfindung verwendet werden. Ein menschlicher Bediener 13, von dem zur Vereinfachung der Darstellung in 1 nur ein Arm gezeigt ist, kann dem Roboter 12 eine neue Kraft-Drehmoment-Aufgabe einfach dadurch demonstrieren, dass er die Aufgabe demonstriert. Beispielsweise führt der Bediener 13 bei dem in 1 gezeigten Beispiel den Roboter 12 manuell durch das Ergreifen und Einführen der Glühbirne in eine Halterung 14 in der Form einer Fassung, wie durch die Trajektorie der Pfeile A gezeigt ist.
  • Lineare Kräfte und Drehmomente, d. h. rotatorische Kräfte, die von dem Roboter 12 mit Hilfe des Bedieners 13 aufgebracht werden, werden während der Aufgabendemonstration von einem oder mehreren Kraft-Drehmoment-Sensoren (SFT) gemessen, die bei oder in der Nähe des Greiforgans 21 des Roboters positioniert sind, etwa in ein Handgelenk 24 eingebettet sind. Eine Aufgabendemonstration durch ein umgekehrtes Betreiben [engl. backdriving] des Roboters 12 auf diese Weise ermöglicht, dass der Bediener 13 geeignete Kräfte und Drehmomente bei der Demonstration der Aufgabe erfühlt und aufbringt, etwa das Ergreifen, das Drehen und die Platzierung des Objekts 18 mit Bezug auf die Halterung 14, z. B. das Einführen des Objekts 18 in eine Fassung 23 der Halterung 14. Das heißt, dass der Bediener 13 das Handgelenk 24 hinter einem gegebenen Kraft-Drehmoment-Sensor (SFT) ergreift, so dass der Kraft-Drehmoment-Sensor (SFT) die gleichen Kräfte wie der Bediener 13 detektieren kann. Es ist außerdem möglich, dass der Bediener 13 den Roboter 12 aus der Ferne bedient, wobei der Bediener 13 in diesem Fall die Kräfte beobachtet, anstelle sie zu erfühlen, z. B. an verschiedenen Anzeigen oder Ausgaben, die durch Software bereitgestellt werden.
  • Der Controller 20 von 1 umfasst ein Logikmodul 50, das zwei Hauptsteuerungsmodule enthält: ein Trainingsphasenmodul (TPM) und ein Ausführungsphasenmodul (EPM). Das TPM und das EPM sind im Detail nachstehend mit Bezug auf 5 beschrieben. Allgemein geht das Logikmodul 50 in zwei eindeutigen Betriebsphasen vor, d. h. einer Aufgabentrainingsphase (Phase I) und einer Aufgabenausführungsphase (Phase II). Während der Aufgabetrainingsphase stellt der Bediener 13 eine relativ kleine Anzahl von beispielhaften Aufgabendemonstrationen einer gewünschten Aufgabe bereit, wobei der Begriff ”klein”, so wie er hier verwendet wird, bei einer Ausführungsform eine Gesamtanzahl von nicht mehr als fünf Aufgabendemonstrationen bedeutet, wobei in den meisten Fällen nicht mehr als zwei oder drei Demonstrationen ausreichen.
  • Aus dieser relativ begrenzten Anzahl von Trainingsbeispielen erfasst der Controller 20 die Kraft-Drehmoment-Signale (Pfeil 11) von den Kraft- und Drehmomentsensoren SFT sowie sachdienliche Details der Position und Orientierung des Greiforgans 21, z. B. mit Hilfe von Verhaltensdaten (Pfeil 27). Die Verhaltensdaten (Pfeil 27) werden von einem oder mehreren zusätzlichen Sensoren 25, etwa Gelenkwinkelsensoren, Bildgebungssystemsensoren, Punktwolkenkameras und/oder dergleichen erfasst und ausgegeben. Die Verhaltensdaten (Pfeil 27) können ein Datentracking der Bewegung des Greiforgans 21 relativ zu dem Objekt 18 umfassen. Der während einer Aufgabendemonstration erfasste kombinierte Satz von Daten wird hier als der Trainingsdatensatz (Pfeil 11T) bezeichnet.
  • Unter kurzer Bezugnahme auf 5 umfasst das Kraft-Drehmoment-Logikmodul 50 die Trainingsphase (Phase I) und die Ausführungsphase (Phase II), die vorstehend erwähnt sind. Der Controller 20 von 1 empfängt den Trainingsdatensatz 11T und führt mit Hilfe eines Primitiven-Segmentierungs-Moduls (PSM) 52 eine Segmentierungsoperation an dem empfangenen Trainingsdatensatz 11T aus. Eine derartige Operation kann umfassen, dass eine Zeitsequenz der demonstrierten Aufgabe in eindeutige Aktivitätssegmente unterteilt wird, wobei jedes resultierende Segment einem einzelnen Steuerungsmodus oder einem ”Aufgabenprimitiv” des in 1 gezeigten Roboters 12 entspricht.
  • Unter kurzer Bezugnahme auf 3 ist ein Beispiel für eine derartige Segmentierung bereitgestellt. Die Größen (FM) einer gegebenen Aufgabendemonstration sind in ihren drei Dimensionen als beispielhafte gemessene Kraftkomponenten FX, FY und FZ aufgetragen, wobei die gemessenen Kraftkomponenten über die Zeit (t) aufgetragen sind, um eine Zeitsequenz 48 der demonstrierten Aufgabe zu erzeugen. Andere Demonstrationsdaten können die Position, die Orientierung, das Drehmoment und Gelenkwinkel des Roboters 12 und/oder seines Greiforgans 21 umfassen. Zur Vereinfachung der Veranschaulichung ist in dem Beispiel von 3 nur die Kraft gezeigt.
  • Die Segmentierung kann zu Aufgabensegmenten S1, S2, S3 und S4 führen. Schwellenwertveränderungen bei der gemessenen Kraft können beispielsweise von dem Controller verwendet werden, um die Übergänge zwischen den Segmenten S1 und S2, S2 und S3 und S3 und S4 zu unterscheiden, die bei t1, t2 und t3 auftreten, wobei die gesamte demonstrierte Aufgabe die Dauer t0–t4 überspannt. Linien L1, L2, L3 und L4 zeigen die relativen Kraftniveaus in jedem der Segmente S1–S4 an, z. B. einen gleitenden Durchschnitt der X-, Y- und Z-Komponenten. Zwar ist bei dem Beispiel von 3 die Kraft gezeigt, der Controller 20 von 1 kann jedoch eine ähnliche Operation mit Werten wie etwa der Position, der Orientierung und dem Drehmoment durchführen.
  • Wieder mit Bezug auf 5 analysiert der Controller 20 von 1 als Nächstes, nachdem er die Aktivitätensegmente wie in 3 bestimmt hat, welche zusammen eine Aufgaben-Primitiven-Sequenz (TPS) 58 definieren, diese Segmente, um Übergangsereignisse zwischen den Segmenten zu identifizieren, z. B. die vertikalen Linien in 3 bei t1, t2 und t3. Dies kann innerhalb eines Ereignis-Deskriptor-Trainers (EDT) 60 bewerkstelligt werden, z. B. einem Computermodul, das die Segmente verarbeitet, um einen Satz von charakteristischen Ereignisdeskriptoren (CED) 68 herzuleiten. Die charakteristischen Ereignisdeskriptoren 68 werden später von dem Controller 20 verwendet, um Übergänge zwischen Steuerungsmodi oder Segmenten bei einer tatsächlichen Ausführung einer zuvor demonstrierten Aufgabe während der Aufgabenausführungsphase (Phase II) zu detektieren.
  • Die restliche Struktur und die Betriebsdetails des Logikmoduls 50 von 5 werden nachstehend später erörtert. Diese Beschreibung beginnt mit einer Beschreibung des Verarbeitens des Trainingsdatensatzes 11T innerhalb der Aufgabentrainingsphase (Phase I) und beschreibt dann die Verwendung der resultierenden Aufgaben-Primitiven-Sequenzen 58 beim Aufbauen charakteristischer Ereignisdeskriptoren 68, um zu ermöglichen, dass der Roboter 12 von 1 eine zuvor demonstrierte Kraft-Drehmoment-Aufgabe ausführt.
  • Wieder mit Bezug auf 1 kann der Controller 20 eine beliebige notwendige Hardware und Prozessanweisungen umfassen, die geeignet sind, um das vorliegende Verfahren 100 auszuführen, und um Steuerungssignale (Pfeil CC) nach Bedarf an den Roboter 12 auszugeben, z. B. einen Befehl zum Ausführen einer autonomen Aufgabe, wie etwa das Ergreifen und Einführen des Objekts 18 in die Fassung 23, was zuvor durch den Bediener 13 demonstriert wurde. Der Controller 20 kann als ein oder mehrere digitale Computer oder Trägermaschinen ausgeführt sein, die jeweils einen oder mehrere Prozessoren (P) und Speicher (M) aufweisen, d. h. konkreten nicht vorübergehenden Speicher wie etwa optischen oder magnetischen Festwertspeicher (ROM) sowie Speicher mit wahlfreiem Zugriff (RAM), elektrisch programmierbaren Festwertspeicher (EPROM) usw.
  • Der Controller 20 kann außerdem einen Hochgeschwindigkeits-Taktgeber, Analog/Digital-Schaltungen (A/D-Schaltungen), Digital/Analog-Schaltungen (D/A-Schaltungen) und beliebige benötigte Eingabe/Ausgabe-Schaltungen (I/O-Schaltungen), I/O-Vorrichtungen, Kommunikationsschnittstellen, Signalaufbereitungs- und Pufferelektronik und dergleichen umfassen. Eine Eingabevorrichtung 26 kann von dem Controller 20 getrennt oder damit zusammengebaut sein. Die Eingabevorrichtung 26 kann eine Maus, ein Joystick oder eine andere Steuerungsvorrichtung sein, die geeignet ist, um den Roboter 12 durch eine von Menschen demonstrierte Aufgabe während der Aufgabentrainingsphase (Phase I) von 1 aus der Ferne zu bedienen.
  • AUFGABENDEMONSTRATION
  • Mit Bezug auf 2 veranschaulicht eine beispielhafte Primitiven-Sequenz 30 ein einfaches Trainingsbeispiel. Von dem Controller 20 werden Aufgabendemonstrationsdaten aufgezeichnet, während der Bediener 13 von 1 eine Aufgabe in Verbindung mit dem Roboter 12 ausführt, entweder, indem er den Roboter 12 manuell umgekehrt betreibt oder durch Bedienen des Roboters 12 aus der Ferne mit Hilfe von Eingabesignalen von der Eingabevorrichtung 26 oder durch beides. Der Zustand des Roboters 12 von 1, der eine Position des Greiforgans 21, dessen Orientierung, den Zustand des Greifers/Werkzeugs und Kraft/Drehmoment-Sensorsignale (Pfeil 11) umfasst, wird im Speicher M periodisch aufgezeichnet.
  • Beispielsweise kann der Roboter 12 von 1 in 2 bei einem ersten Punkt P1 starten und sich dann mit Hilfe einer Annäherungstrajektorie linear zu einem zweiten Punkt P2 bewegen, bis das Greiforgan 21 von 1 eine erste Oberfläche 32 an dem zweiten Punkt P2 kontaktiert, z. B. einen Punkt an einer Wand. Bei dem zweiten Punkt P2 kann das Greiforgan 21 mit einer Kraft F1 gegen die erste Oberfläche 32 gedrückt werden und möglicherweise mit einem Drehmoment T1, welches auf die gleiche Weise wie die Kraft F1 erfasst wird, um den zweiten Punkt P2 herum gedreht werden.
  • Als Nächstes kann der Bediener 13 von 1 das Greiforgan 21 von dem zweiten Punkt P2 entlang der ersten Oberfläche 32 mit einer Bewegungstrajektorie 35 zu einem dritten Punkt P3 verschieben. Das Greiforgan 21 kann eine Kraft F2 anwenden, bis ein Kontakt mit einer zweiten Oberfläche 34, z. B. einem Fußboden, hergestellt wird. Das Greiforgan 21 von 1 kann sich möglicherweise um den dritten Punkt P3 herum mit einem zweiten Drehmoment T2 drehen und sich danach mit Hilfe einer Wegbewegungstrajektorie 37 zu einem vierten Punkt P4 bewegen, um dadurch die beispielhafte Aufgaben-Primitiven-Sequenz 30 zu beenden. Die demonstrierte Aufgaben-Primitiven-Sequenz 30 von 2 dient nur zur Veranschaulichung. Der Fachmann wird feststellen, dass andere Kombinationen von Kraft-Drehmoment-Aufgaben auf eine ähnliche Weise demonstriert werden können.
  • PRIMITIVEN-BIBLIOTHEK
  • Wieder mit Bezug auf 5 beschreibt der Begriff ”Verhaltens-Primitiv”, so wie er hier verwendet wird, eine relativ einfache Roboteraktion. Verhaltens-Primitive hängen von einer Anzahl von Steuerungsparametern ab, die von dem Roboter 12 von 1 ausgeführt werden können. Es kann mehr als einen Typ von Verhaltens-Primitiven geben, welche aus einer Primitiven-Bibliothek (LP) 56 von verfügbaren Aufgaben-Primitiven gewählt werden können. Jeder Aufgaben-Primitiven-Typ kann die folgenden Eigenschaften aufweisen: (1) einen zugeordneten Robotercontroller, etwa den Controller 20 von 1, der zum Ausführen des Aufgaben-Primitivs in der Lage ist, (2) Logik zum Anpassen von Steuerungsparametern auf eine ”bestmögliche Übereinstimmung” mit einem gegebenen Zeitsegment von Aufgabendemonstrationsdaten und (3) Logik zum Bewerten der relativen Kosten oder des Fehlers zwischen den am besten übereinstimmenden Steuerungsparametern von Eigenschaft (2) und einem Segment der Demonstrationsdaten, wobei beispielhafte Aufgabensegmente S1–S4 in 3 gezeigt sind.
  • Bei einer speziellen Ausführungsform kann der Controller 20 von 1 eine Primitiven-Bibliothek 56 mit drei verschiedenen Primitiven-Typen verwenden: freie Bewegung, Bewegung mit beschränkter Kraft, und Bewegung mit Zielkraft. Jeder dieser beispielhaften Primitiven-Typen wird nun nacheinander beschrieben.
  • FREIE BEWEGUNG
  • Der Begriff ”freie Bewegung” bezeichnet eine positionsbasierte Bewegung, die nicht von einer Kraft-Drehmoment-Erfassung abhängt, z. B. eine Bewegung in 2 von dem ersten Punkt P1 zu dem zweiten Punkt P2. Eine freie Bewegung umfasst eine Steuerung des Greiforgans 21 von 1 von einer Startposition und -orientierung zu einer Zielposition und -orientierung, z. B. mit Hilfe einer linearen Interpolation der Position und einer Quaternion-Interpolation der Orientierung.
  • Der Controller 20 der vorliegenden Erfindung kann die Positions- und Orientierungsparameter aus dem ersten und letzten Zeitschritt eines gegebenen Zeitsegments extrahieren, wodurch Linien lP im dreidimensionalen kartesischen Raum (3D-Raum) und lr im 3D-Rollen-Kippen-Gieren-Raum erzeugt werden. Die Kosten über ein Segment von n Zeitschritten können wie folgt berechnet werden:
    Figure DE102014108287A1_0002
    welche der geometrische Gesamtfehler zwischen den erfassten Daten und der linearen Approximation plus einer kalibrierten Strafe für jede beobachtete Kraft sind.
  • BEWEGUNG MIT BESCHRÄNKTER KRAFT
  • Der Begriff ”Bewegung mit beschränkter Kraft” bezeichnet einen hybriden Kraft-Positions-Wert, der eine Richtung aufweist, entlang derer eine Bewegung erfolgen soll, und eine andere Richtung, in welcher eine konstante beschränkte Kraft beibehalten werden soll. Dies ist ein geeignetes Primitiv zum Imitieren von Gleit- oder Zugverhaltensweisen entlang von Oberflächen, wie etwa die Bewegung, die zwischen dem zweiten und dritten Punkt P2 und P3 in 2 entlang der Oberfläche 32 auftritt. Positions- und Orientierungsparameter werden für diese Primitive auf die gleiche Weise extrahiert, wie dies bei dem Parameter mit freier Bewegung stattfindet. Außerdem werden Beschränkungen für einen Vektor fc mit beschränkter Kraft als die durchschnittliche Größe und Richtung einer Kraft, die während des Segments beobachtet wird, extrahiert. Folglich werden Kosten über ein Segment aus n Zeitschritten beispielsweise wie folgt bestimmt:
    Figure DE102014108287A1_0003
    welche der geometrische Gesamtfehler zwischen der Position und der Orientierung und deren linearen Approximationen plus die Abweichung von der beschränkten Kraft plus eine Strafe ist, wenn die Größe der Kraft unter einem Schwellenwert (fthresh) liegt.
  • BEWEGUNG MIT ZIELKRAFT
  • Der Begriff ”Bewegung mit Zielkraft” wird hier für ein weiteres Primitiv verwendet, die ein hybrider Kraft-Positionswert ist, der eine Bewegung beschreibt, bis eine Zielkraft erhalten wird. Dieses Primitiv ist geeignet, um Einführungs- oder Kontaktierungsverhaltensweisen nachzuahmen. Der Controller 20 von 1 extrahiert Positions- und Orientierungsparameter auf die gleiche Weise wie bei den vorstehend beschriebenen Parametern mit freier Bewegung und er extrahiert außerdem die Zielkraft als die durchschnittliche Kraft, die während des Endes einer Bewegung beobachtet wurde, speziell wenn das Greiforgan 21 von 1 innerhalb eines Distanzschwellenwerts von der Endposition positioniert wird. Die Kosten des Bewegens über ein Segment aus n Zeitschritten können wie folgt berechnet werden:
    Figure DE102014108287A1_0004
    welche der geometrische Gesamtfehler zwischen der Position und Orientierung und deren linearen Approximationen plus die Abweichung von der Zielkraft während des Endes der Bewegung plus eine Strafe für jede Kraft vor dem Ende der Bewegung sind.
  • OPTIMIERUNG
  • In 5 verwendet der Controller 20 in der Trainingsphase (Phase I) einen Optimierungsblock (OB) 54. Bei dieser Logikstufe analysiert der Controller 20 die Demonstrationsdaten einer gegebenen Aufgabe und erzeugt die Aufgaben-Primitiven-Sequenz (TPS) 58, d. h. die Verhaltens-Primitive, die verwendet werden, um die demonstrierte Aufgabe nachzuahmen und weiter zu analysieren. Mit Hilfe der TPS 58 findet der Controller 20 eine Sequenz von Primitiven, die mit den Aufgaben-Demonstrations-Daten am besten übereinstimmt und er kann diese Sequenz von Primitiven über die Gesamtanzahl der Primitive, deren Typen, die Zeitpunkte, wann die Primitive beginnen und enden, und über jeden von deren Steuerungsparameter optimieren.
  • Eine mögliche Herangehensweise für den Optimierungsblock 54 ist eine Variante einer iterativen Bergsteigeroptimierung, ein Prozess, der in der Technik gut bekannt ist. Bei einer derartigen Herangehensweise startet jede Runde des Bergsteigens von einer zufällig erzeugten Sequenz aus Primitiven und Übergangszeitpunkten. Bei jeder Iteration wendet der Controller 20 von 1 eine diskrete Anzahl von Modifikationen auf die Lösung an, bewertet die Kosten für jede modifizierte Lösung und ersetzt die Lösung durch die Modifikation mit den geringsten Kosten. Einige der Modifikationen können von einem Skalierungsfaktor abhängen, welcher erhöht werden kann, wenn ein lokales Minimum detektiert wird, um eine bessere Sequenz zu finden. Das Bergsteigen stoppt, wenn das lokale Minimum bei dem maximalen Skalierungsfaktor gefunden wird. Ein paar Runden des Bergsteigens werden von unterschiedlichen zufälligen Initialisierungen aus ausgeführt, um ein Gesamtminimum zu finden.
  • Die Kosten für eine Sequenz S mit i Aufgaben-Primitiven über N Segmente hinweg können wie folgt berechnet werden:
    Figure DE102014108287A1_0005
    wobei α verwendet wird, um Sequenzen mit weniger Schritten gegenüber einer komplexeren Sequenz mit vielen Schritten zu begünstigen. Die Modifikationen, die während einer Optimierung an einer Sequenz durchgeführt werden können, sind eine Verschiebung des Übergangszeitpunkts zwischen zwei Primitiven um x Zeitschritte vorwärts oder rückwärts, wobei x ein Skalierungsfaktor ist, ein Zusammenführen von zwei benachbarten Primitiven zu einem Primitiv, das beide Segmente abdeckt, ein Aufspalten eines Segments in zwei kleinere Segmente oder ein Austauschen eines Primitiven-Typs durch einen anderen.
  • Unter kurzer Bezugnahme auf 4A–C sind mehrere mögliche Segmentierungen für eine gegebene vereinfachte zweidimensionale Aufgabendemonstration veranschaulicht, wobei die X- und Y-Dimensionen an den jeweiligen horizontalen und vertikalen Achsen aufgetragen sind. Die Effekte einer Optimierung wie vorstehend offengelegt sind in 4C veranschaulicht. Eine Linie 42A zeigt die Trajektorie der Position des Greiforgans 21 im freien Raum während der beispielhaften Aufgabe des Einführens einer Glühbirne von 1. Eine Linie 41A zeigt die Primitiven-Sequenz, wobei die Übergänge zwischen Aufgaben-Primitiven durch einen Punkt 43 markiert sind. 4A zeigt eine zufällig initialisierte Primitiven-Sequenz, die eine relativ schlechte Übereinstimmung mit den Demonstrationsdaten ist. 4B zeigt eine weitere zufällige Sequenz, welche mit der Aufgabendemonstration besser übereinstimmt, aber welche viele unnötige Primitive verwendet. 4C zeigt eine optimierte Segmentierung, die durch die Optimierungsblock 54 von 5 erzeugt wurde, welche mit den Trainingsdaten genauer übereinstimmt und eine kleinere Anzahl von Primitiven verwendet.
  • EREIGNIS-DESKRIPTOR-TRAINER
  • Wieder mit Bezug auf 5 repräsentiert der Ereignis-Deskriptor-Trainer (EDT) 60 die Kraft-Arbeit-Informationen, wenn ein Ereignis stattgefunden hat, und um bedeutsame Kraft-Drehmoment-Ereignisse zu detektieren, die zu einer Veränderung bei einer Aktion des Roboters 12 führen sollten. Da die demonstrierte Aufgabe wie vorstehend beschrieben in verschiedene Bewegungs-Primitive bei verschiedenen Stufen der Aufgabe segmentiert wird, ist es wichtig, charakteristische taktile Ereignisse herauszufinden, die direkt vor dem Zeitpunkt auftreten, an dem diese Übergänge stattfinden müssen. Diese Ereignisse werden dann die Signale, die Übergänge zwischen Bewegungs-Primitiven auslösen können, wenn eine Aufgabe ausgeführt wird. Bei einer beispielhaften Ausführungsform kann der Ereignis-Deskriptor-Trainer 60 aus drei Teilen bestehen: (1) einem Detektor für hervorstechende Punkte (SPD) 62, (2) einem Kraft-Drehmoment-Deskriptor-Generator (FTDG) 64 und (3) einem Deskriptor-Selektor (DS) 66.
  • Der Detektor 62 für hervorstechende Punkte findet Zeitpunkte in dem Trainingsdatensatz 11T, bei denen das Auftreten eines Ereignisses wahrscheinlicher ist und markiert diesen Punkt als einen hervorstechenden Punkt. Der Kraft-Drehmoment-Deskriptor-Generator 64 empfängt dann diese Informationen 63 und erzeugt für jeden hervorstechenden Punkt einen Kraft-Drehmoment-Deskriptor 65. Der Kraft-Drehmoment-Deskriptor-Generator 64 kann arbeiten, indem er die Kraft-Drehmoment-Daten eines hervorstechenden Punkts in einen anderen Koordinatenrahmen abbildet, der unterschiedlichen Ereignisse besser unterscheidet.
  • Der Deskriptor-Selektor 66 gruppiert dann ähnliche Kraft-Drehmoment-Deskriptoren 65 aus allen Trainingsbeispielen und gibt Gruppen von Kraft-Drehmoment-Deskriptoren 67 für hervorstechende Punkte aus. Jeder Gruppe kann eine Bewertung gegeben werden. Die Gruppe, die am wahrscheinlichsten aus hervorstechenden Punkten bei dem Ereignis besteht, wird dann von dem Controller 20 gewählt. Dann wird der Deskriptor 68 für charakteristische Ereignisse (CED) aus den Kraft-Drehmoment-Deskriptoren 67 für hervorstechende Punkte erzeugt. Die Einzelheiten von allen diesen Elementen werden nun nacheinander beschrieben.
  • DETEKTOR FÜR HERVORSTECHENDE PUNKTE
  • Der Detektor 62 für hervorstechende Punkte in Phase I von 5 arbeitet, indem er Zeitpunkte in dem Trainingsdatensatz 11T herausfindet, bei denen ein Ereignis wahrscheinlicher stattfinden wird. Diese Zeitpunkte werden in der Logik des Controllers 20 als hervorstechende Punkte markiert. Je mehr Zeitpunkte es gibt, die als hervorstechende Punkte markiert sind, desto länger ist die benötigte Trainingszeit. Beispielsweise kann das Robotersystem 10 von 1 die folgende Gleichung verwenden, um hervorstechende Punkte aus den rohen Kraft-Drehmoment-Daten Di zu markieren, die von einem gegebenen Sensor (i) aufgenommen wurden:
    Figure DE102014108287A1_0006
  • Die vorstehende Gleichung markiert hervorstechende Punkte bei einem Zeitpunkt t, bei dem der Kraft- oder Drehmomentwert in einer Dimension eine Spitze oder einen Tiefpunkt bildet. Der Detektor 62 für hervorstechende Punkte von 5 arbeitet im Wesentlichen wie eine Art von Erststufenfilter, das Zeitpunkte mit ”nicht möglichen” Ereignissen ausfiltert.
  • KRAFT-DREHMOMENT-DESKRIPTOR-GENERATOR
  • Der Kraft-Drehmoment-Deskriptor-Generator 64 erzeugt die Kraft-Drehmoment-Deskriptoren 65 für jeden hervorstechenden Punkt, der von dem Detektor 62 für hervorstechende Punkte detektiert wurde. Zum Erzeugen eines Kraft-Drehmoment-Deskriptors 65 wird eine Sektion der in 1 erfassten rohen Kraft-Drehmoment-Daten zunächst unter Verwendung eines Fensters mit feststehender Zeit mit einer Länge L, das auf einen hervorstechenden Punkt s zentriert ist, extrahiert. Die segmentierten rohen Daten W(s) sind eine L × K-Matrix, wobei K die Anzahl der verwendeten Sensoren ist. Die Kraft-Drehmoment-Deskriptoren 65 werden dann erzeugt, indem die segmentierten rohen Daten W(s) für jeden hervorstechenden Punkt unter Verwendung der folgenden Schritte transformiert werden: (1) Dimensionserhöhung, (2) Versatz aufheben und (3) Koordinatentransformation, wobei jeder von diesen nun nacheinander beschrieben wird.
  • Dimensionserhöhung: bei diesem optionalen Schritt wird die Dimension der beispielhaften rohen Daten mit sechs Dimensionen (sechs Achsen) von dem Roboter 12 von 1 erhöht, um zusätzliche Informationen zu enthalten, etwa die Kraft-Drehmoment-Ableitungen oder die Bewegungsrichtung des Greiforgans 21. Die Aufnahme dieses Schritts kann die Gesamtrobustheit der hier offenbarten Herangehensweise erhöhen.
  • Versatz aufheben: Verschiedene Kraft-Drehmoment-Sensoren weisen unterschiedliche Versatzwerte auf, wie in der Technik bekannt ist. Daten U(s) ohne Versatzwerte können wie folgt erhalten werden:
    Figure DE102014108287A1_0007
    welche den Mittelwert der segmentierten rohen Daten Wlk(s) für jede Sensordimension in den segmentierten Daten subtrahiert.
  • Koordinatentransformation: mit kurzer Bezugnahme auf die in 6 gezeigte schematische Transformation 90 erzeugt dieser Schritt den Kraft-Drehmoment-Deskriptor 65 durch Transformieren der rohen Daten ohne Versatz U(s) 92, z. B. der aufgenommenen rohen Kraftdaten für die Kraftkomponenten FX, FY und FZ in eine Filterkoordinate 96. Eine Filterkoordinate 96 verwendet einen kalibrierten Satz von Filtern 94 als Eingabebasis. Jede Basis ft in einer Filterkoordinate 96 weist die gleiche Länge wie das Zeitfenster der rohen Daten auf. Der Haar-Wavelet-Satz, der Daubechies-Wavelet-Satz und ein konstruierter nicht orthogonaler Wavelet-Satz sind allesamt gültige Alternativen für diesen Schritt. Eine Transformationsgleichung kann wie folgt angegeben werden:
    Figure DE102014108287A1_0008
    wobei n die Anzahl der verwendeten Filter ist. Die in die Filterkoordinaten transformierten Daten sind der erzeugte Kraft-Drehmoment-Deskriptor 65.
  • Deskriptor-Selektor: wieder mit Bezug auf 5 gruppiert der Deskriptor-Selektor (DS) 66 ähnliche Kraft-Drehmoment-Deskriptoren 65, wie sie von dem Kraft-Drehmoment-Deskriptor-Generator 64 erzeugt werden, in mehrere Sätze Gj, j ∊ J, wobei J die Gesamtanzahl der Sätze ist. Der Satz, der das trainierte Ereignis repräsentiert, wird von dem Controller 20 von 1 auf der Grundlage einer Bewertungsfunktion und vorheriger Kenntnis selektiert. Dann wird der Ereignisdeskriptor 68 aus den Kraft-Drehmoment-Deskriptoren 65 erzeugt, die in dem gewählten Satz enthalten sind. Jeder dieser zwei Schritte, d. h. das Gruppieren von Deskriptoren und die Deskriptorselektion wird nun nacheinander beschrieben.
  • Gruppieren von Deskriptoren: alle Kraft-Drehmoment-Deskriptoren 65, die von dem Kraft-Drehmoment-Deskriptor-Generator 64 von 5 erzeugt wurden, werden automatisch in mehrere Sätze Gj umgruppiert. Jeder Satz enthält einen Kraft-Drehmoment-Deskriptor 65 von jedem Trainingsbeispiel. Es werden alle möglichen Sätze erzeugt. Dann wird jedem Satz eine Ähnlichkeitsbewertung in Abhängigkeit davon gegeben, wie nahe diese Kraft-Drehmoment-Deskriptoren 65 einander im euklidischen Raum sind. Eine beispielhafte Gleichung, um dies durchzuführen, ist wie folgt angegeben:
    Figure DE102014108287A1_0009
    wobei M die Anzahl der Trainingsbeispiele ist, die verwendet werden.
  • Deskriptorselektion: bei diesem Schritt wird der Ereignissatz, der die trainierten Kraft-Drehmoment-Ereignisse repräsentiert, aus allen Sätzen, die im vorherigen Schritt erzeugt wurden, gewählt. Die Ereignissatzselektion beruht auf einer Ereignisbewertungsfunktion, welche eine Funktion der Ähnlichkeitsbewertung und einer vorherigen Bewertung darüber ist, bei welchem Zeitpunkt ein Ereignis wahrscheinlicher auftreten wird.
  • Figure DE102014108287A1_0010
  • Die vorherige Bewertung Gj ist das Produkt von S-förmigen Funktionen, welches eine höhere Wahrscheinlichkeit am Ende der segmentierten Trainingsdaten aufweist. Die Variable α ist eine Konstante, die Variable tD ist der Zeitpunkt des Deskriptors D und die Variable LD ist die Länge des speziellen Trainingssegments, das den Deskriptor tD enthält. Die vorherige Funktion kann durch jede Funktion ersetzt werden, die zusätzliche Informationen liefert. Der Ereignisdeskriptor E wird dann erzeugt, indem der Mittelwert der Deskriptoren in dem Satz, der die höchste Bewertung aufweist, berechnet wird, d. h.
  • Figure DE102014108287A1_0011
  • AUSFÜHRUNGSPHASE
  • Mit Bezug auf Phase II von 5 wird die Aufgabenausführungsphase mit nur zwei oder drei Trainingsbeispielen für das Robotersystem 10 von 1 genügend Informationen erhalten haben, um die demonstrierte Aufgabe auszuführen. Die Ausführungsphase arbeitet, indem sie die zuvor erlernte Sequenz von Steuerungsprimitiven wiederholt und dann erlernte Kraft-Drehmoment-Beschränkungen und Ziele für diese Primitive verwendet. Um genau zu wissen, wann innerhalb der erlernten Sequenz von einem Primitiv zum nächsten umgeschaltet werden soll, stützt sich das Robotersystem 10 außerdem auf die Fähigkeit zum Detektieren von Übergangsereignissen. Aus der Aufgabentrainingsphase (Phase I) werden Ereignisdeskriptoren 69 erlernt worden sein, die für jeden Übergang spezifisch sind, und diese Ereignisdeskriptoren 69 werden es einem Ereignis-Detektor (ED) 70, einem weiteren Computer- oder Logikmodul ermöglichen, zu bestimmen, wann ein Verhaltenssteuerungsmodul (BCM) 86 ausgelöst werden soll, z. B. eine Verhaltenssteuerungsiogik und Hardware des Controllers 20, und dadurch in ein neues Steuerungsregime umzuschalten.
  • Das Verhaltenssteuerungsmodul 86 ist programmiert oder auf andere Weise ausgestaltet, um die Ausführung von Aktionen des Roboters 12 von 1 zu managen. Das Verhaltenssteuerungsmodul 86 verwendet die drei vorstehend beschriebenen Steuerungsregime, d. h. die freie Bewegung, die Bewegung mit beschränkter Kraft und die Bewegung mit Zielkraft, um Aktionen des Roboters 12 zu steuern. Jedes dieser Steuerungsregime weist seine eigenen speziellen Regelungsanforderungen auf, die in der Primitiven-Segmentierungs-Stufe des Erlernens parametrisiert wurden. Das Umschalten zwischen Primitiven wird durch Ereignisse von dem Ereignis-Detektor 70 ausgelöst.
  • Ereignis-Detektor
  • Der Ereignis-Detektor 70 verwendet den Ereignisdeskriptor 69, der von dem Ereignis-Deskriptor-Trainer 68 von Phase I erzeugt wurde, um ein spezielles Ereignis in tatsächlichen/Online-Daten zu detektieren. Da jedes Ereignis dem trainierten Ereignisdeskriptor 68 zugeordnet ist, um verschiedene Ereignisse zu detektieren, werden verschiedene Ereignisdeskriptoren 68 benötigt. Der Ereignis-Detektor 70 in Phase II besteht aus zwei Teilen: einem weiteren Kraft-Drehmoment-Deskriptor-Generator (FTDG) 72, der sich von demjenigen unterscheidet, der in Phase I bei 64 gezeigt ist, und einem Ereignis-Klassifizierer (EC) 74. Der Kraft-Drehmoment-Deskriptor-Generator 72 erzeugt einen Kraft-Drehmoment-Deskriptor 73 für die Online/Laufzeitdaten. Dann klassifiziert der Ereignis-Klassifizierer 74, ob der Kraft-Drehmoment-Deskriptor 73 aus den Online-Daten das spezielle Ereignis ist, das zuvor in Phase I von dem Ereignis-Deskriptor-Trainer 60 trainiert wurde.
  • Kraft-Drehmoment-Deskriptor-Generator
  • Der Kraft-Drehmoment-Deskriptor-Generator 72 von Phase II erzeugt den Kraft-Drehmoment-Deskriptor 73 aus den Online-Daten 85, z. B. von den Sensoren SFT und 25 von 1, welche in 5 gemeinsam als Sensorsuite 82 angezeigt sind. Die Online-Daten 85 sind so eingestellt, dass sie eine Zeitlänge aufweisen, die gleich der Länge des Zeitfensters ist, das bei dem Ereignis-Deskriptor-Trainer 60 verwendet wurde. Der Kraft-Drehmoment-Deskriptor 72 wird erzeugt, indem die gleichen drei Schritte in dem Kraft-Drehmoment-Deskriptor-Generator 64 des Ereignis-Deskriptor-Trainers 60 in Phase I angewendet werden, d. h. die Dimensionserhöhung, das Aufheben von Versätzen und die Koordinatentransformation wie vorstehend erläutert.
  • Ereignis-Klassifizierer
  • Der Ereignis-Klassifizierer 74 in Phase II klassifiziert, ob die Online-Daten 85 die gleichen Daten wie bei dem Ereignisdeskriptor E sind, d. h. dem Ereignisdeskriptor 69, der von der Phase I durch den charakteristischen Ereignisdeskriptor 68 ausgegeben wurde. Dies kann wie folgt erreicht werden: (1) eine Bewertungsfunktion kann verwendet werden, um die Wahrscheinlichkeit zu berechnen, dass die Online-Daten ein Ereignis repräsentieren. Die Bewertungsfunktion kann die euklidische Distanz zwischen dem Kraft-Drehmoment-Deskriptor 65 (DT), der von dem Kraft-Drehmoment-Deskriptor-Generator 64 erzeugt wurde, und dem Ereignisdeskriptor E verwenden:
    Figure DE102014108287A1_0012
    • (2) Wenn die Ausgabe der vorstehenden Bewertungsfunktion einen kalibrierten Klassifizierungsschwellenwert überschreitet, werden die Online-Daten als Ereignis klassifiziert, was in 5 bei einem Entscheidungsblock 75 stattfindet.
  • Der Klassifizierungsschwellenwert kann von dem Controller 20 mit Hilfe einer ”Kreuzvalidierung mit einer Auslassung” der Trainingsdaten erlernt werden, unter Verwendung sowohl des Ereignis-Deskriptor-Trainers 60 als auch des Ereignis-Detektors 70. Der Wert, der die kleinste Anzahl von falschen positiven Meldungen ergibt, wird dann als der Klassifizierungsschwellenwert gewählt. Indem der Roboter 12 mit Hilfe der Steuerungssignale (Pfeil CC) von 1 Aktionen von seinen Aktoren 84 befiehlt, bewegt er sich dann durch die verschiedenen Trajektorien hindurch, die notwendig sind, um die befohlene zuvor erlernte Aufgabe zu bewerkstelligen. Folglich wird die Gesamtaufgabe als eine Sequenz von Bewegungssegmenten repräsentiert, die durch parametrisierte Primitive definiert sind, die mit charakteristischen Ereignisdeskriptoren wie vorstehend erläutert, kommentiert sind. Bei der Ausführung wird das anfängliche Bewegungssegment ausgeführt, indem das zugehörige Steuerungsprimitiv aufgerufen wird, bis ein Ereignis von dem Ereignis-Klassifizierer 74 detektiert wird. Das Ereignis muss mit dem Ereignisdeskriptor übereinstimmen, der dem Ende des aktuellen Segments entspricht. Wenn dieses Ereignis ausgelöst wird, schaltet der Controller 20 automatisch zu dem nächsten Segment um.
  • Unter Verwendung der vorstehenden Herangehensweise ist der Bediener 13 von 1 in der Lage, eine Aufgabe in nicht mehr als ein paar Demonstrationen zu demonstrieren und zu veranlassen, dass der Roboter 12 aus dieser begrenzten Anzahl von Demonstrationen lernt. Auf diese Weise ist der Bediener 13 in der Lage, Aufgabenwissen an den Controller 20 weiterzugeben, ohne ein Experte in der Roboterprogrammierung oder der Robotersteuerung sein zu müssen. Das System 10 von 1 und das zugehörige Verfahren 100, das mit Hilfe der Logik 50 von 5 beispielhaft dargestellt wurde, können in einer Vielfalt von Situationen eingesetzt werden, die mit herkömmlichen Industrierobotern nicht durchgeführt werden können.
  • Obwohl die besten Arten zum Ausführen der Erfindung im Detail beschrieben wurden, wird der Fachmann auf dem Gebiet, das diese Erfindung betrifft, verschiedene alternative Konstruktionen und Ausführungsformen erkennen, um die Erfindung im Umfang der beigefügten Ansprüche in die Praxis umzusetzen.

Claims (10)

  1. Verfahren zum Trainieren eines Roboters, um eine Roboteraufgabe autonom auszuführen, die das Anwenden einer linearen Kraft und eines Drehmoments auf ein Objekt durch ein Greiforgan des Roboters erfordert, wobei das Verfahren umfasst, dass: das Greiforgan durch mehrere Zustände einer vorbestimmten Roboteraufgabe hindurch bewegt wird, um dadurch die vorbestimmte Roboteraufgabe für den Roboter in einem Satz von n Trainingsdemonstrationen zu demonstrieren; ein Satz von Trainingsdaten gemessen wird, was umfasst, dass mit Hilfe eines Kraft-Drehmoment-Sensors zumindest die lineare Kraft und das Drehmoment gemessen werden, während das Greiforgan durch die mehreren Zustände der vorbestimmten Roboteraufgabe hindurch bewegt wird; Schlüsselmerkmale aus dem gemessenen Satz von Trainingsdaten mit Hilfe eines Controllers extrahiert werden, was umfasst, dass der gemessene Satz von Trainingsdaten in eine Zeitsequenz von Steuerungsprimitiven segmentiert wird und Übergänge zwischen benachbarten Segmenten der Zeitsequenz identifiziert werden; Übergänge mit Hilfe des Controllers während einer anschließenden autonomen Ausführung der demonstrierten Aufgabe durch den Roboter detektiert werden; und in Ansprechen auf die detektierten Übergänge automatisch zwischen einer Vielzahl von unterschiedlichen Steuerungsmodi umgeschaltet wird.
  2. Verfahren nach Anspruch 1, wobei das Bewegen eines Greiforgans umfasst, dass das Greiforgan umgekehrt betrieben wird.
  3. Verfahren nach Anspruch 1, wobei das Bewegen eines Greiforgans umfasst, dass das Greiforgan mit Hilfe einer Bedienereingabevorrichtung gesteuert wird.
  4. Verfahren nach Anspruch 1, wobei das Detektieren der Übergänge umfasst, dass mit Hilfe des Controllers eine Bewertungsfunktion ausgeführt wird, um eine Wahrscheinlichkeit dafür zu berechnen, dass ein Datenpunkt in den Online/Echtzeitdaten einen der Übergänge repräsentiert.
  5. Robotersystem, umfassend: einen Roboter mit einem Greiforgan; mindestens einen Kraft-Drehmoment-Sensor, der mit Bezug zu dem Roboter positioniert ist und betrieben werden kann, um lineare und rotatorische Kräfte zu messen, die von dem Greiforgan auf ein Objekt aufgebracht werden; und einen Controller in Verbindung mit dem Roboter und dem mindestens einen Kraft-Drehmoment-Sensor, und der einen Prozessor und einen Speicher aufweist, in dem Anweisungen zum Trainieren des Roboters aufgezeichnet sind, um eine Roboteraufgabe autonom auszuführen, welche ein Aufbringen von linearen Kräften und Drehmomenten auf das Objekt durch das Greiforgan erfordert, wobei der Controller ausgestaltet ist, um die Anweisungen auszuführen, um zu veranlassen, dass der Controller: eine Bewegung des Greiforgans durch mehrere Zustände der Roboteraufgabe während eines Satzes aus n Demonstrationen der Roboteraufgabe aufzeichnet; einen Satz von Trainingsdaten misst, was umfasst, dass mit Hilfe des mindestens einen Kraft-Drehmoment-Sensors eine lineare Kraft und ein Drehmoment gemessen werden, die von dem Roboter auf das Objekt aufgebracht werden, während sich das Greiforgan durch die mehreren Zustände hindurch bewegt; Schlüsselmerkmale aus dem gemessenen Satz von Trainingsdaten extrahiert, was umfasst, dass der gemessene Satz von Trainingsdaten in eine Zeitsequenz von separaten Steuerungsprimitiven segmentiert wird, und Übergänge zwischen den Segmenten der Zeitsequenz identifiziert werden; die Übergänge während einer anschließenden autonomen Ausführung der demonstrierten Aufgabe durch den Roboter detektiert; und in Ansprechen auf die detektierten Übergänge zwischen einer Vielzahl verschiedener Steuerungsmodi umschaltet.
  6. Robotersystem nach Anspruch 5, wobei der Controller ausgestaltet ist, um die Bewegung des Greiforgans aufzuzeichnen, indem er eine Bewegung aufzeichnet, die durch ein umgekehrtes Betreiben des Greiforgans ausgeübt wird.
  7. Robotersystem nach Anspruch 5, das ferner eine Benutzereingabevorrichtung umfasst, die programmiert ist, um zu befehlen, dass sich das Greiforgan während des Satzes von n Aufgabendemonstrationen bewegt.
  8. Robotersystem nach Anspruch 5, wobei der Roboter ein Handgelenk enthält, und wobei der Kraft-Drehmoment-Sensor in das Handgelenk eingebettet ist.
  9. Robotersystem nach Anspruch 5, wobei die Steuerungsprimitive ein Positionssteuerungsprimitiv, ein hybrides Kraftsteuerungsprimitiv und ein Zielkraftsteuerungsprimitiv umfassen und wobei der Controller programmiert ist, um einen entsprechenden Übergang zwischen jedem der Steuerungsprimitive zu detektieren.
  10. Robotersystem nach Anspruch 5, wobei der Controller den Übergang detektiert, in dem er eine Bewertungsfunktion ausführt, um dadurch eine Wahrscheinlichkeit dafür zu berechnen, dass ein Datenpunkt in den Online/Echtzeitdaten einen der Übergänge repräsentiert.
DE102014108287.7A 2014-05-23 2014-06-12 Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter Active DE102014108287B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/285,867 US9403273B2 (en) 2014-05-23 2014-05-23 Rapid robotic imitation learning of force-torque tasks
US14/285,867 2014-05-23

Publications (2)

Publication Number Publication Date
DE102014108287A1 true DE102014108287A1 (de) 2015-11-26
DE102014108287B4 DE102014108287B4 (de) 2019-08-14

Family

ID=54431651

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014108287.7A Active DE102014108287B4 (de) 2014-05-23 2014-06-12 Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter

Country Status (3)

Country Link
US (1) US9403273B2 (de)
CN (1) CN105082132B (de)
DE (1) DE102014108287B4 (de)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016003144A1 (de) * 2016-03-15 2017-09-21 Kuka Roboter Gmbh Steuern einer Automatisierungsanordnung
DE102018206947A1 (de) * 2018-05-04 2019-11-07 Kuka Deutschland Gmbh Verfahren und system zum programmieren eines roboterprozesses
DE102020106714A1 (de) * 2019-05-28 2020-12-03 Intel Corporation Methoden und geräte für komplexe montage über autonome roboter mit verstärkungs-lernaktionsprimitive
DE102019216229A1 (de) * 2019-10-07 2021-04-08 Robert Bosch Gmbh Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102019216560A1 (de) * 2019-10-28 2021-04-29 Robert Bosch Gmbh Verfahren und Vorrichtung zum Trainieren von Manipulationsfertigkeiten eines Robotersystems
DE102020214231A1 (de) 2020-11-12 2022-05-12 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum steuern einer robotervorrichtung und robotersteuereinrichtung
DE102021121743A1 (de) 2021-08-23 2023-02-23 Aeon Robotics GmbH Roboterhand eines Roboters und Verfahren zum Trainieren eines Roboters sowie ein tragbares Sensor- und Kraftrückführungselement hierzu
DE102022203410A1 (de) 2022-04-06 2023-10-12 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9314924B1 (en) * 2013-06-14 2016-04-19 Brain Corporation Predictive robotic controller apparatus and methods
DE102015204641B4 (de) * 2014-06-03 2021-03-25 ArtiMinds Robotics GmbH Verfahren und System zur Programmierung eines Roboters
US9630318B2 (en) * 2014-10-02 2017-04-25 Brain Corporation Feature detection apparatus and methods for training of robotic navigation
US9844877B1 (en) * 2015-07-14 2017-12-19 X Development Llc Generating a parameter for a movement characteristic for a waypoint trained path of a robot
US9676098B2 (en) * 2015-07-31 2017-06-13 Heinz Hemken Data collection from living subjects and controlling an autonomous robot using the data
JP6332197B2 (ja) * 2015-08-11 2018-05-30 トヨタ自動車株式会社 モータの制御装置
TWI805545B (zh) * 2016-04-12 2023-06-21 丹麥商環球機器人公司 用於藉由示範來程式化機器人之方法和電腦程式產品
US10166676B1 (en) * 2016-06-08 2019-01-01 X Development Llc Kinesthetic teaching of grasp parameters for grasping of objects by a grasping end effector of a robot
JP6534126B2 (ja) * 2016-11-22 2019-06-26 パナソニックIpマネジメント株式会社 ピッキングシステム及びその制御方法
JP2018126798A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム
US20180261131A1 (en) * 2017-03-07 2018-09-13 Boston Incubator Center, LLC Robotic Instructor And Demonstrator To Train Humans As Automation Specialists
CN106826769B (zh) * 2017-03-15 2019-06-07 福州大学 一种工业机器人快速示教装置及其实现方法
FR3069664B1 (fr) * 2017-07-31 2019-08-30 Safran Electronics & Defense Procede d’assistance d’au moins un mouvement d’un utilisateur et dispositif correspondant
US10739774B2 (en) 2017-10-06 2020-08-11 Honda Motor Co., Ltd. Keyframe based autonomous vehicle operation
US11826902B2 (en) * 2018-02-01 2023-11-28 Honda Motor Co., Ltd. Robot system and method for controlling robot
GB2577312B (en) * 2018-09-21 2022-07-20 Imperial College Innovations Ltd Task embedding for device control
US11378965B2 (en) 2018-11-15 2022-07-05 Toyota Research Institute, Inc. Systems and methods for controlling a vehicle based on determined complexity of contextual environment
JP7117237B2 (ja) * 2018-12-27 2022-08-12 川崎重工業株式会社 ロボット制御装置、ロボットシステム及びロボット制御方法
EP3914424A1 (de) * 2019-01-23 2021-12-01 Google LLC Effiziente anpassung der robotersteuerungsrichtlinie für neue aufgabe mittels meta-lernen auf basis von meta-imitationslernen und meta-verstärkungslernen
CN110181517B (zh) * 2019-06-21 2022-05-10 西北工业大学 一种基于虚拟夹具的双人遥操作训练方法
JP7401207B2 (ja) * 2019-06-21 2023-12-19 ファナック株式会社 ツールの状態を学習する機械学習装置、ロボットシステム、及び機械学習方法
CN112775964B (zh) * 2020-12-29 2023-03-21 上海机器人产业技术研究院有限公司 一种力感知阻抗控制方法
US11787049B2 (en) 2021-02-18 2023-10-17 Sanctuary Cognitive Systems Corporation Systems, devices, and methods for training multi-purpose robots
DE102021202340A1 (de) 2021-03-10 2022-09-15 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum steuern eines roboters zum aufnehmen und inspizieren eines objekts und robotersteuereinrichtung
DE102021204697B4 (de) 2021-05-10 2023-06-01 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung
DE102021204961B4 (de) 2021-05-17 2023-06-07 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Steuerung einer Robotervorrichtung
CN113340631A (zh) * 2021-05-17 2021-09-03 西安交通大学 一种扭振测试装置及信号分析方法
DE102021113636B3 (de) 2021-05-26 2022-11-10 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Bestimmen externer Interaktionskräfte und/oder Interaktionsmomente eines Roboters, Roboter und Computerprogrammprodukt
WO2023245600A1 (en) * 2022-06-24 2023-12-28 Abb Schweiz Ag Method, device and computer readable media for use with robot
DE102022124832A1 (de) 2022-09-27 2024-03-28 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Roboterlernen von Fertigkeiten aus Benutzerdemonstration und Roboter, Datenstruktur und Computerprogramm zum autonomen Ausführen von Aufgaben

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006061752A1 (de) * 2006-12-28 2008-07-03 Kuka Roboter Gmbh Roboter und Verfahren zum Programmieren eines Roboters
DE102008062622A1 (de) * 2008-12-17 2010-06-24 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Befehlseingabe in eine Steuerung eines Manipulators
DE102010019640A1 (de) * 2010-05-06 2011-11-10 Kuka Roboter Gmbh Handgerät und Verfahren zum Steuern und/oder Programmieren eines Manipulators
DE102012009010A1 (de) * 2012-05-05 2012-12-13 Daimler Ag Verfahren zum Erzeugen einer Bewegung eines Roboters
DE102011079117A1 (de) * 2011-07-14 2013-01-17 Kuka Roboter Gmbh Verfahren zum Programmieren eines Roboters
DE102013203381A1 (de) * 2012-03-15 2013-09-19 GM Global Technology Operations LLC (n. d. Ges. d. Staates Delaware) Verfahren und system zum trainieren eines roboters unter verwendung einer von menschen unterstützten aufgabendemonstration

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4860215A (en) * 1987-04-06 1989-08-22 California Institute Of Technology Method and apparatus for adaptive force and position control of manipulators
US7643907B2 (en) * 2005-02-10 2010-01-05 Abb Research Ltd. Method and apparatus for developing a metadata-infused software program for controlling a robot
DE602007008206D1 (de) * 2006-02-23 2010-09-16 Abb Ab System zur steuerung der position und orientierung eines objekts je nach von einem benutzer empfangenen kräften und drehmomenten
JP5281377B2 (ja) * 2008-12-04 2013-09-04 トヨタ自動車株式会社 ロボット装置
WO2011036865A1 (ja) * 2009-09-28 2011-03-31 パナソニック株式会社 ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、及び、ロボットアーム制御用集積電子回路
US9545288B2 (en) * 2013-03-14 2017-01-17 Think Surgical, Inc. Systems and devices for a counter balanced surgical robot

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006061752A1 (de) * 2006-12-28 2008-07-03 Kuka Roboter Gmbh Roboter und Verfahren zum Programmieren eines Roboters
DE102008062622A1 (de) * 2008-12-17 2010-06-24 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Befehlseingabe in eine Steuerung eines Manipulators
DE102010019640A1 (de) * 2010-05-06 2011-11-10 Kuka Roboter Gmbh Handgerät und Verfahren zum Steuern und/oder Programmieren eines Manipulators
DE102011079117A1 (de) * 2011-07-14 2013-01-17 Kuka Roboter Gmbh Verfahren zum Programmieren eines Roboters
DE102013203381A1 (de) * 2012-03-15 2013-09-19 GM Global Technology Operations LLC (n. d. Ges. d. Staates Delaware) Verfahren und system zum trainieren eines roboters unter verwendung einer von menschen unterstützten aufgabendemonstration
DE102012009010A1 (de) * 2012-05-05 2012-12-13 Daimler Ag Verfahren zum Erzeugen einer Bewegung eines Roboters

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016003144A1 (de) * 2016-03-15 2017-09-21 Kuka Roboter Gmbh Steuern einer Automatisierungsanordnung
DE102018206947A1 (de) * 2018-05-04 2019-11-07 Kuka Deutschland Gmbh Verfahren und system zum programmieren eines roboterprozesses
DE102020106714A1 (de) * 2019-05-28 2020-12-03 Intel Corporation Methoden und geräte für komplexe montage über autonome roboter mit verstärkungs-lernaktionsprimitive
US11345030B2 (en) 2019-05-28 2022-05-31 Intel Corporation Methods and apparatus for complex assembly via autonomous robots using reinforcement learning action primitives
DE102020106714B4 (de) 2019-05-28 2023-12-14 Intel Corporation Vorrichtung, Gerät, Verfahren und computerlesbares Speichermedium für komplexe Montagen mittels autonomer Roboter unter Verwendung von bestärktes Lernen-Aktions-Primitiven
DE102019216229A1 (de) * 2019-10-07 2021-04-08 Robert Bosch Gmbh Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102019216229B4 (de) 2019-10-07 2022-11-10 Robert Bosch Gmbh Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
US11590651B2 (en) 2019-10-28 2023-02-28 Robert Bosch Gmbh Method and device for training manipulation skills of a robot system
DE102019216560A1 (de) * 2019-10-28 2021-04-29 Robert Bosch Gmbh Verfahren und Vorrichtung zum Trainieren von Manipulationsfertigkeiten eines Robotersystems
DE102019216560B4 (de) 2019-10-28 2022-01-13 Robert Bosch Gmbh Verfahren und Vorrichtung zum Trainieren von Manipulationsfertigkeiten eines Robotersystems
DE102020214231A1 (de) 2020-11-12 2022-05-12 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum steuern einer robotervorrichtung und robotersteuereinrichtung
WO2023025658A2 (de) 2021-08-23 2023-03-02 Aeon Robotics GmbH Roboterhand eines roboters und verfahren zum trainieren eines roboters sowie ein tragbares sensor- und kraftrückführungselement hierzu
DE102021121743A1 (de) 2021-08-23 2023-02-23 Aeon Robotics GmbH Roboterhand eines Roboters und Verfahren zum Trainieren eines Roboters sowie ein tragbares Sensor- und Kraftrückführungselement hierzu
DE102022203410A1 (de) 2022-04-06 2023-10-12 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Steuern einer Robotervorrichtung

Also Published As

Publication number Publication date
CN105082132B (zh) 2017-11-03
US20150336268A1 (en) 2015-11-26
CN105082132A (zh) 2015-11-25
DE102014108287B4 (de) 2019-08-14
US9403273B2 (en) 2016-08-02

Similar Documents

Publication Publication Date Title
DE102014108287A1 (de) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE102018215057B4 (de) Maschinelles-Lernen-Vorrichtung, Robotersystem und maschinelles-Lernen-Verfahren
DE112019002310B4 (de) Ausführen einer "peg in hole"-aufgabe mit unbekannter neigung
DE102013203381B4 (de) Verfahren und system zum trainieren eines roboters unter verwendung einer von menschen unterstützten aufgabendemonstration
DE102017008475B4 (de) Maschinenlernvorrichtung, robotersystem und maschinenlernverfahren zum erlernen eines roboter-betriebsprogramms
DE102018000730B4 (de) Werkstückaufnahmevorrichtung und Werkstückaufnahmeverfahren zum Verbessern des Aufnahmevorgangs eines Werkstücks
DE102014103738B3 (de) Visuelle fehlersuche bei roboteraufgaben
DE112004002219B4 (de) Verfahren zum Antreiben eines Roboters
DE102017202717A1 (de) Roboteranlernung per menschlicher demonstration von aufgaben mit kraft- und positionszielen
DE102019109624B4 (de) Roboterbewegungseinlernvorrichtung, Robotersystem und Robotersteuerung
DE102019216229B4 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102020209685B4 (de) Verfahren zum steuern einer robotervorrichtung und robotervorrichtungssteuerung
DE102013017425A1 (de) Verfahren für die Erkennung von Gesten eines menschlichen Körpers
DE102020207085A1 (de) Verfahren zum steuern eines roboters und robotersteuereinheit
DE102021204697B4 (de) Verfahren zum Steuern einer Robotervorrichtung
DE102012213188B4 (de) Verfahren und System zum Steuern einer Ausführungssequenz eines geschickten Roboters unter Verwendung einer Zustandsklassifizierung
DE102020214633A1 (de) Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung
DE102019121889B3 (de) Automatisierungssystem und Verfahren zur Handhabung von Produkten
WO2021001312A1 (de) Durchführen einer applikation mithilfe wenigstens eines roboters
EP3741518A1 (de) Verfahren und vorrichtung für eine automatisierte beeinflussung eines aktuators
DE112020006594B4 (de) Maschinenlernverfahren und Robotersystem
EP4064106A1 (de) Verfahren zum erzeugen von trainingsdaten für ein ml-modell
DE102004050942B4 (de) Bootstrap-Verfahren zum überwachten Einlernen eines Mustererkennungssystems
DE102022206273A1 (de) Verfahren zum Trainieren eines maschinellen Lernmodells zum Implementieren einer Steuerungsvorschrift
DE102021209761A1 (de) Verfahren zum Trainieren einer Steuerungsstrategie

Legal Events

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