-
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 l
P im dreidimensionalen kartesischen Raum (3D-Raum) und l
r im 3D-Rollen-Kippen-Gieren-Raum erzeugt werden. Die Kosten über ein Segment von n Zeitschritten können wie folgt berechnet werden:
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 P
2 und P
3 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 f
c 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:
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 (f
thresh) 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:
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:
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 D
i zu markieren, die von einem gegebenen Sensor (i) aufgenommen wurden:
-
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:
welche den Mittelwert der segmentierten rohen Daten W
lk(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 F
X, F
Y und F
Z in eine Filterkoordinate
96. Eine Filterkoordinate
96 verwendet einen kalibrierten Satz von Filtern
94 als Eingabebasis. Jede Basis f
t 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:
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:
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.
-
-
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.
-
-
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 (D
T), der von dem Kraft-Drehmoment-Deskriptor-Generator
64 erzeugt wurde, und dem Ereignisdeskriptor E verwenden:
- (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.