DE102013202378A1 - Prozedurales Gedächtnislernen und Robotersteuerung - Google Patents

Prozedurales Gedächtnislernen und Robotersteuerung Download PDF

Info

Publication number
DE102013202378A1
DE102013202378A1 DE102013202378A DE102013202378A DE102013202378A1 DE 102013202378 A1 DE102013202378 A1 DE 102013202378A1 DE 102013202378 A DE102013202378 A DE 102013202378A DE 102013202378 A DE102013202378 A DE 102013202378A DE 102013202378 A1 DE102013202378 A1 DE 102013202378A1
Authority
DE
Germany
Prior art keywords
robot
correlation
controller
signals
similarity matrix
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
DE102013202378A
Other languages
English (en)
Other versions
DE102013202378B4 (de
Inventor
Leandro G. Barajas
Adam M. Sanders
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 DE102013202378A1 publication Critical patent/DE102013202378A1/de
Application granted granted Critical
Publication of DE102013202378B4 publication Critical patent/DE102013202378B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • 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/36422During teaching shut off, disable motor to move arm easy
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39296Learn inverse and forward model together
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39298Trajectory learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Feedback Control In General (AREA)

Abstract

Verfahren und Vorrichtungen zum prozeduralen Gedächtnislernen, um einen Roboter zu steuern, indem dem Roboter eine Aufgabenaktion demonstriert wird und veranlasst wird, dass der Roboter die Aktion gemäß einer Ähnlichkeitsmatrix aus korrelierten Werten, Attributen und Parametern, welche vom Roboter erhalten werden, wenn der Roboter die demonstrierte Aktion durchführt, lernt. Das Lernen wird von einem künstlichen neuronalen Netzwerk, das mit dem Robotercontroller verbunden ist, erledigt, sodass der Roboter lernt, die mit der Ähnlichkeitsmatrix verbundene Aufgabe durchzuführen. Erweiterte Ähnlichkeitsmatrizen können integrierte und differenzierte Werte von Variablen enthalten. Das prozedurale Gedächtnislernen reduziert den Overhead beim Programmieren von Robotern zum Durchführen von Aufgaben. Ein fortgesetztes Lernen verbessert die Leistung und stellt eine automatische Kompensation für Veränderungen beim Roboterzustand und bei Umgebungsfaktoren bereit.

Description

  • HINTERGRUND
  • In der Robotik, der Fertigung, der Raumfahrt, in Industriemaschinen und anderen Industrien verwendete Maschinencontroller werden typischerweise so programmiert, dass sie einen speziellen Satz vordefinierter Bewegungen oder Aktionen durchführen. Dies kann zeitraubend und ressourcenintensiv sein. Beispielsweise kann das Programmieren eines Roboters zur Durchführung einer einzigen sich wiederholenden Aufgabe erfordern, dass alle Roboterkomponenten fest eingebaut sind. Nach der Programmierung kann es sein, dass der Roboter nicht in der Lage ist, sich anzupassen, Veränderungen zu kompensieren oder sich auf eine neue Arbeitsumgebung einzustellen. Veränderungen der Roboterfunktion erfordern typischerweise eine Umprogrammierung, Verifizierung, Validierung und andere Prozesse, um eine korrekte Arbeitsweise sicherzustellen.
  • ZUSAMMENFASSUNG
  • Ausführungsformen der vorliegenden Erfindung sorgen für ein Lernen durch Demonstration – ein Robotercontroller lernt, indem er demonstrierte Aktionen durch Versuch und Irrtum kopiert. Die Beherrschung der Aufgabe erlaubt dem Robotercontroller, ähnliche, jedoch unterschiedliche Aufgaben auszuführen. Zudem sind Ergebnisse des Lernens dauerhaft und der Roboter ist in der Lage, die Effekte der Alterung, des Verschleißes und sich verändernder Umgebungsbedingungen zu kompensieren. Es ist nicht nur unnötig, den Roboter vorab zu teachen, sondern es ist auch unnötig, Befehle auf niedriger Ebene explizit zu formalisieren, welche in die Ausführung der Aufgabe involviert sind.
  • Ein prozeduraler Gedächtniscontroller wird während des Normalbetriebs des Roboters durch Beobachten und Korrelieren von Störungen mit gewünschten Ergebnissen trainiert. Sobald die Korrelationen, Sequenzen und angemessenen Kombinationen herausgefunden worden sind, ersetzt dieser Controller die Steuerungsmechanismen auf hoher Ebene. Ausführungsformen der vorliegenden Erfindung verwenden existierende deklarative Gedächtnismodellcontroller (z. B. Streckenplanung, Vorwärtskinematik und inverse Kinematik) in Verbindung mit einem prozeduralen Gedächtniscontroller, der wie ein Fehlerkompensierer wirkt, um den zeitlichen Ablauf und die Betätigung von Robotergreiforganen zu modulieren. Ein deklarativer Gedächtniscontroller kann programmiert sein, um Sequenzen von Aufgaben durchzuführen.
  • In Übereinstimmung mit Ausführungsformen der vorliegenden Erfindung werden mehrere Eingangssignale (Beispiele ohne Einschränkung derselben umfassen: Sensorausgänge, Aktoreingänge, Attribute, Positionen und andere relevante messbare Variablen einer Roboterprozedur) bei Demonstrationen mit halbbeaufsichtigtem Lernen überwacht. Bei bestimmten Ausführungsformen werden diese Signale außerdem differenziert und integriert, um rekursive Erweiterungen bereitzustellen. Dann werden Ähnlichkeitsmatrizen entwickelt, um zusammenzufassen, wie sich diese Variablen mit Bezug zueinander verhalten, und diese Matrizen werden als Eingänge für einen Lernalgorithmus verwendet. Spezielle Beispiele verwenden die Korrelation, die Kreuzkorrelation, die Rangkorrelation, Produkt-Moment-Korrelationen, die Abstandskorrelation und andere Relationsmaße. Obwohl lineare Beziehungen typischerweise schneller analysiert werden können, können auch nicht lineare Beziehungen verwendet werden.
  • Sensoren umfassen Vorrichtungen innerhalb des Roboters (Beispiele ohne Einschränkung derselben umfassen: Dehnungsmessstreifen; Beschleunigungsmesser; Positionsdetektoren; Sensoren für elektrischen Strom, etwa RMS-Strom- und Spannungsmesser; und Auswerteeinrichtungen für Komponentenverhalten, etwa Vibrationsdetektoren und Einschwingszeitmessung) sowie Vorrichtungen außerhalb des Roboters (Beispiele ohne Einschränkung derselben umfassen Videokameras und Näherungsdetektoren). Aktoren sind typischerweise Vorrichtungen mit zwei Zuständen, und Beispiele ohne Einschränkung derselben umfassen Ein/Aus-Schalter und Auf/Zu-Greifer.
  • Bei dem halb beaufsichtigten Lernen von Sequenzen in Übereinstimmung mit Ausführungsformen der vorliegenden Erfindung wird das System angewiesen, die Werte in den Matrizen als Ziel für die betreffende Prozedur zu verwenden. Je genauer die Ausgangswerte des Roboters mit denjenigen der Matrizen korrelieren, desto besser führt der Roboter die betreffende Prozedur aus. Der Controller lernt, wie die Prozedur am besten ausgeführt werden soll, indem er versucht, die Korrelation zwischen dem Roboterausgang und den Zielmatrizen zu optimieren. Bei Beispielen der Erfindung dauert der Lernprozess an, sodass der Controller Veränderungen über die Zeit bei der Arbeitsumgebung und den Arbeitsbedingungen des Roboters kontinuierlich kompensiert.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Der Gegenstand, der als die Erfindung aufgefasst wird, wird im abschließenden Abschnitt der Beschreibung speziell dargelegt und klar beansprucht. Ausführungsformen der vorliegenden Erfindung sowohl hinsichtlich der Organisation als auch des Betriebsverfahrens können zusammen mit Zielen, Merkmalen und Vorteilen derselben durch Bezugnahme auf die folgende genaue Beschreibung am besten verstanden werden, wenn diese mit den beiliegenden Zeichnungen gelesen wird, welche die Ausführungsformen veranschaulichen, in denen:
  • 1 ein System gemäß einer Ausführungsform der vorliegenden Erfindung darstellt;
  • 2 Elemente eines Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung darstellt;
  • 3 Elemente eines Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung darstellt;
  • 4 Elemente eines Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung darstellt;
  • 5 ein Flussdiagramm eines Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
  • Es ist festzustellen, dass zur Einfachheit und Klarheit der Darstellung Elemente, die in den Figuren gezeigt sind, nicht unbedingt maßstabsgetreu gezeichnet sind. Beispielsweise können die Abmessungen einiger der Elemente der Klarheit halber mit Bezug auf andere Elemente übertrieben sein. Außerdem können Bezugszeichen innerhalb der Figuren wiederholt sein, wenn dies als geeignet betrachtet wird, um einander entsprechende oder analoge Elemente anzuzeigen.
  • GENAUE BESCHREIBUNG
  • In der folgenden genauen Beschreibung sind zahlreiche spezielle Details offengelegt, um ein genaues Verständnis der Erfindung bereitzustellen. Der Fachmann wird jedoch verstehen, dass die vorliegende Erfindung ohne diese speziellen Details in die Praxis umgesetzt werden kann. In anderen Fällen wurden gut bekannte Verfahren, Prozeduren und Komponenten nicht im Detail beschrieben, um die vorliegende Erfindung nicht zu verschleiern.
  • Sofern es nicht speziell anders angegeben ist, ist festzustellen, wie aus den folgenden Erörterungen hervorgeht, dass in der gesamten Beschreibung Erörterungen, die Begriffe wie etwa „Verarbeiten” „Berechnen”, „Speichern”, „Bestimmen”, „Auswerten”, „Ausrechnen”, „Messen”, „Bereitstellen”, „Übertragen” oder dergleichen verwenden, die Aktionen und/oder Prozesse eines Computers oder Computersystems oder einer ähnlichen elektronischen Rechenvorrichtung bezeichnen, welche Daten, die als physikalische, etwa elektronische Größen in Registern und/oder Speichern des Rechensystems dargestellt sind, manipuliert und/oder in andere Daten umformt, die auf ähnliche Weise als physikalische Größen in den Speichern, Registern oder anderen derartigen Vorrichtungen zur Informationsspeicherung, Übertragung und Anzeige des Rechensystems dargestellt sind.
  • 1 veranschaulicht ein Lern/Steuerungssystem 101 in Übereinstimmung mit Beispielen der vorliegenden Erfindung. Das System 101 enthält eine zentrale Verarbeitungseinheit 103, eine Datenmassenspeichereinheit 105 und eine Arbeitsspeichereinheit 107, die eine aktive Datenbank 109 enthält. Eine Signalschnittstelle 111 kann über einen Controller 125, der ein künstliches neuronales Netzwerk enthält, Signale von einem Roboter 123 empfangen. Ein Korrelator 113 kann zwei oder mehr Signale korrelieren und eine Korrelationsausgabe erzeugen, wobei Beispiele ohne Einschränkung desselben umfassen: eine Kreuzkorrelation, eine Rangkorrelation, Produkt-Moment-Korrelationen und eine Abstandskorrelation. Ein Differenzierer 115 kann eine zeitliche Ableitung eines Signals, die Ableitungen höherer Ordnung umfasst, ausgeben; und ein Integrierer 117 kann ein Zeitintegral eines Signals ausgeben. Unter der Steuerung der Verarbeitungseinheit 103 können Ausgänge des Differenzierers 115 und des Integrierers 117 in den Korrelator 113 eingegeben werden. Eine Matrixeinheit 119 kann Ähnlichkeitsmatrizen erzeugen, die Werte enthalten, die vom Korrelator 113 ausgegeben werden, und kann über den Controller 125 Matrizen an das künstliche neuronale Netzwerk (ANN von artificial neural network) senden. Bei Beispielen der Erfindung werden von der Matrixeinheit 119 erzeugte Matrizen in der Datenmassenspeichereinheit 105 gespeichert. Eine Steuerungsschnittstelle 121 auf niedriger Ebene sendet über den Controller 125 direkte Steuerungsbefehle an den Roboter 123. Dies kann mithilfe einer Mensch-Roboter-Schnittstelle 127 durchgeführt werden, bei der ein menschlicher Bediener den Roboter 123 über den Controller 125 unter Verwendung von Handbedienelementen wie etwa einem Joystick oder einer ähnlichen Vorrichtung direkt steuert; alternativ können Steuerungsbefehle für den Roboter 123 von einer Software, die auf dem System 101 läuft, über eine Befehlsschnittstelle 129 für den Controller 125 erzeugt werden. Bei Ausführungsformen der Erfindung ist ein „Befehl” eine Anweisung, die von dem Robotercontroller auf einer niedrigen Ebene interpretiert werden kann. Befehle können in dem Kontext einer formalen Sprache ausgedrückt werden, wie etwa „gehe zu <X, Y, Z>”, wobei <X, Y, Z> einen Punkt in einer Koordinate darstellt und der Robotercontroller so programmiert ist, dass er diese erkennt. Ein Aggregator 131 kombiniert Befehlssignale von dem ANN in Übereinstimmung mit einem Kinematikmodell des Roboters 123 und sendet die resultierenden modulierten Steuerungssignale über die Steuerungsschnittstelle 125 zum Roboter 123.
  • Wie nachstehend erörtert ist, stellt die direkte Steuerung des Roboters 123 (entweder über die Mensch-Roboter-Schnittstelle 127 oder durch Programmsteuerung) eine Demonstration der Aktion für den Roboter 123 bereit, die gelernt werden soll. Ein Vorteil der Programmsteuerung besteht darin, dass die demonstrierte Aktion exakt wiederholt werden kann, und dass sie eine große Anzahl von Malen wiederholt werden kann. Bei Ausführungsformen der Erfindung wird die Anzahl der Wiederholungen der Aktion als N bezeichnet.
  • Im Allgemeinen sind die Signale und Befehle, die mit dem Roboter 123 verbunden sind, variierende Größen – sie sind Funktionen der Zeit und/oder der Frequenz oder anderer Parameter.
  • In Übereinstimmung mit Ausführungsformen der Erfindung werden mehrere Signale vom Roboter 123 empfangen und miteinander verglichen, um ein Ähnlichkeitsmaß zu erhalten. 2 veranschaulicht einen Vergleich von zwei Signalen gemäß einer Ausführungsform. Ein erstes Signal 201, das als S1 bezeichnet ist, ist als eine Kurve gemäß einer Amplitudenachse 203 mit Bezug auf eine Zeitachse 205 gezeigt; und ein zweites, als S2 bezeichnetes Signal 207 ist als eine Kurve gemäß einer Amplitudenachse 209 mit Bezug auf eine Zeitachse 211 gezeigt. Das Signal S1 201 und das Signal S2 207 sind zwei Signale zur Veranschaulichung, die einem Abtastwertesatz 219 entnommen sind, der N Abtastwerte mit jeweils K verschiedenen Signalen enthält. Ein gleitendes Fenster 215, das in eine Richtung 217 gleitet, tastet beide Signale ab und führt die Abtastwerte einer Ähnlichkeitsanalyseeinheit 221 zu. Bei einem Beispiel analysiert die Ähnlichkeitsanalyseeinheit 221 die Ähnlichkeit des Signals S1 201 und des Signals S2 207, indem es Ähnlichkeitsfunktionen zwischen diesen bewertet. Bei einem Beispiel ohne Einschränkung führt die Ähnlichkeitsanalyseeinheit 221 eine Amplituden/Phasen-Kreuzkorrelation des Signals S1 201 und des Signals S2 207 durch. Die korrelierten Werte werden dann in den geeigneten Einträgen platziert, um dadurch eine K × K-Ähnlichkeitsmatix 223 zu berechnen. Die Korrelationswerte sind im Allgemeinen komplexe Zahlen, die Korrelationen sowohl bei der Amplitude als auch bei der Phase darstellen. Bei bestimmten Ausführungsformen ist die Ähnlichkeitsmatrix 223 als zwei getrennte Matrizen dargestellt, wobei eine den Realteil und die andere den Imaginärteil der Korrelation enthält. Bei einigen Ausführungsformen sind die Elemente der Ähnlichkeitsmatrix 223 Werte, die Funktionen der Korrelationen sind; Beispiele ohne Einschränkung derartiger Funktionen umfassen Normierungsfunktionen, Gewichtungsfunktionen und so weiter. Es ist nicht notwendig, eine explizite Mittelwertsbildungsoperation durchzuführen, wenn die Aktion N mal wiederholt wird, um N Abtastwerte zu liefern; die Korrelation selbst berücksichtigt die Wiederholung.
  • Die Ähnlichkeitsmatrix 223 ist eine Funktion der Zeit und daher werden viele Instanzen der Matrix 223 im Arbeitsspeicher gespeichert, um die zeitvarianten Funktionen zu approximieren. Bei einem Beispiel ohne Einschränkung weist eine zehn Sekunden lange Aktion, die in Momentaufnahmen alle 0,1 Sekunden unterteilt ist, 100 Instanzen der Matrix 223 auf, die im Arbeitsspeicher oder einem Datenbankeintrag gespeichert sind. Eine Ähnlichkeitsmatrix M (t) kann in der Zeit um T0 Sekunden verschoben werden, indem einfach ein Versatz angewendet wird, um M(t + T0) zu erhalten. Wenn daher eine Ähnlichkeitsmatrix für eine spezielle Aktion vorliegt, liefert diese automatisch eine Ähnlichkeitsmatrix für die gleiche Aktion, die zeitlich verzögert ist.
  • 3 veranschaulicht eine Erweiterung von Elementen von 2, die vorstehend beschrieben ist. Ein N × K-Eingangsfeld 301 enthält N Abtastwerte mit jeweils K verschiedenen Signalen. Beispiele ohne Einschränkung der Signale umfassen: einen ersten Sensoreingang 303, einen zweiten Sensoreingang 305, ...; einen ersten Aktoreingang 307, einen zweiten Aktoreingang 309, ...; einen ersten Attributeingang 311, einen zweiten Attributeingang 313, ...; einen ersten Positionseingang 315, einen zweiten Positionseingang 317, ...; und endet mit einem K-ten-Eingang 319.
  • Das Eingangsfeld 301 wird als ein Zustandseingang 325 eingegeben, der N × K Elemente eines L × N × K großen erweiterten Eingangsfelds 321 bildet. Bei dem Beispiel ohne Einschränkung von 3 ist L = 4, aber andere Werte von L sind auch möglich.
  • Bei dem Beispiel ohne Einschränkung von 3 wird jedes Element des Eingangsfelds 301 über die Zeit integriert, um N × K zusätzliche Elemente für einen integrierten Zustandseingang 323 zu erzeugen. Jedes Element des Eingangsfelds 301 wird zeitlich differenziert, um N × K zusätzliche Elemente für einen Zustandseingang 327 mit erster Ableitung zu erzeugen. Jedes Element des Zustandseingangs 327 mit erster Ableitung wird wieder zeitlich differenziert, um N × K zusätzliche Elemente für einen Zustandseingang 329 mit zweiter Ableitung zu erzeugen. Bei anderen Beispielen werden andere Momente höherer Ordnung verwendet. Bei dem Beispiel von 3 liefert die zweite Ableitung eines Positionssensors einen Beschleunigungswert. Bei einem anderen Beispiel (nicht dargestellt) liefert das doppelte Integral eines Beschleunigungssensors einen Positionsversatz. Wenn eine zweite Ableitung, eine erste Ableitung, der Zustand, ein Integral und ein doppeltes Integral verwendet werden, ist L = 5.
  • Die Elemente des erweiterten Eingangsfelds 321 (welche alle variierende Größen sind) werden korreliert, um eine (4 × K) × (4 × K) = 16 × K2 quadratische erweiterte Ähnlichkeitsmatrix 331 zu erzeugen (unter Verwendung des Werts L = 4 wie in dem Beispiel ohne Einschränkung von 3 dargestellt ist). Im Allgemeinen ist ein Element i, j der erweiterten Ähnlichkeitsmatrix 331 die Korrelation eines Signals S1 mit einem Signal S1.
  • Die erweiterte Ähnlichkeitsmatrix 331 charakterisiert die Bewegung des Roboters während der Durchführung einer Aufgabe – nicht nur individuelle Aspekte der Bewegung sondern auch die Weise, in der jeder Aspekt mit jedem anderen Aspekt in Beziehung steht.
  • Zusätzlich zu der Analyse im Amplituden-Zeit-Bereich von Signalen, wie sie für die vorstehenden Beispiele beschrieben ist, verwenden andere Beispiele eine Analyse im Amplituden-Frequenzbereich (Fourier Transformation), eine Frequenz-Zeit-Analyse (Kurzzeit-Fourier Transformation oder STFT) und die Zeit-Wavelet-Analyse („Multiskalenanalyse”).
  • Andere oder abweichende Reihen von Operationen können auch verwendet werden.
  • 4 veranschaulicht Elemente eines Verfahrens gemäß einem Beispiel ohne Einschränkung wie folgt: Ein Kinematikmodell 400 für den Roboter 123 enthält Modellierungselemente für: Verbindungskomponenten 401, 405, 409, 413, 417, 421 und 425; Gelenke 403, 407, 411, 415, 419 und 423 und einen Greifer 427. Positionen und Orientierungen werden relativ zu einem Koordinatensystem 429 gemessen.
  • Eine erweiterte Ähnlichkeitsmatrix 451 für eine „nach links bewegen”-Aktion wird zusammen mit Steuerungsbefehlen 452 für die „nach links bewegen”-Aktion in ein künstliches neuronales Netzwerk („ANN”) 457 eingegeben. Somit lernt das ANN 457, die Ähnlichkeitsmatrix 451 den Steuerungsbefehlen 452 für die „nach links bewegen”-Aktion zuzuordnen. Eine erweiterte Ähnlichkeitsmatrix 453 für eine „in 5 Sekunden nach oben bewegen”-Aktion wird ebenfalls zusammen mit Steuerungsbefehlen 454 für die „in 5 Sekunden nach oben bewegen”-Aktion in das ANN 457 eingegeben. Somit lernt das ANN 457 auch, die Ähnlichkeitsmatrix 453 den Steuerungsbefehlen 454 der „in 5 Sekunden nach oben bewegen”-Aktion zuzuordnen. Wenn dem ANN 457 die erweiterten Ähnlichkeitsmatrizen 451 und 453 dargeboten werden, gibt es Steuerungssignale aus, um den Roboter 123 so zu steuern, dass er die kombinierten Aktionen „nach links bewegen” und „in 5 Sekunden nach oben bewegen” ausführt.
  • In Übereinstimmung mit bestimmten Ausführungsformen der Erfindung weist jede Aktionsgruppe ihre eigene Ähnlichkeitsmatrix auf und bei diesem Beispiel ohne Einschränkung wird außerdem eine erweiterte Ähnlichkeitsmatrix 455 für eine „Greifer schließen”-Operation in ein künstliches neuronales Netzwerk 459 zusammen mit Steuerungsbefehlen 456 für die „Greifer schließen”-Operation eingegeben. Somit lernt das ANN 459, die Ähnlichkeitsmatrix 455 den Steuerungsbefehlen 456 für die „Greifer schließen”-Operation zuzuordnen. Bei diesem Beispiel ist die „Greifer schließen”-Aktion in einer von der „nach links bewegen” und der „in 5 Sekunden nach oben bewegen” verschiedenen Aktionsgruppe enthalten, weil die „bewegen”-Aktionen eine kontinuierliche Positionierungsbewegung mit Positionserfassung umfassen, wohingegen die „schließen”-Aktion eine binäre Bedingung (offen oder geschlossen) mit Krafterfassung umfasst.
  • Für eine Aufgabe „Greifer schließen, dann nach links bewegen, dann in 5 Sekunden nach oben bewegen” werden die vorstehend beschriebenen Ausgänge in einem Aggregator 461 kombiniert, um ein moduliertes Steuerungssignal 463 für den Roboter 123 in Übereinstimmung mit einem Kinematikmodell 400 zu erzeugen. Bei bestimmten Ausführungsformen der Erfindung, bei denen die von den ANN 457 und 459 ausgegebenen Steuerungssignale linear sind, führt der Aggregator 461 die Steuerungssignale zusammen, indem er eine Summierungsfunktion durchführt. Bei Ausführungsformen der Erfindung kann eine willkürliche Anzahl unterschiedlicher Aktionsgruppen zusammengeführt werden, um eine spezielle Aufgabe durchzuführen.
  • Bei dem „halb beaufsichtigten Lernen” wird ein beaufsichtigtes Lernen nur gebraucht, wenn das System initialisiert wird und bei der Durchführung von Änderungen, Korrekturen und einer periodischen Wartung. Bei einer Ausführungsform der Erfindung wird ein erneutes Training zur Wartung alle 100 Zyklen durchgeführt. Zwischen beaufsichtigten Lernsitzungen ist das System zum unbeaufsichtigten Betrieb ohne Modifikation am Regelkreis fähig.
  • Kinematikmodelle werden in der Robotik typischerweise verwendet, um eine Greiforganposition mit Gelenkparametern in Beziehung zu setzen (Vorwärtskinematikmodelle) und um Gelenkparameter mit der Position des Greiforgans in Beziehung zu setzen (inverse Kinematikmodelle). Kinematikmodelle umfassen typischerweise Sätze mit Gelenkbeschränkungen, sodass ein Eingang des Kinematikmodells 400 in den Aggregator 461 sicherstellt, dass das modulierte Steuerungssignal 463 die Beschränkungen des Roboters 123 einhalten wird.
  • Die Kombination funktioniert wie ein Regelkreis für den Roboter 400. Der Prozess wird wiederholt und misst die Parameter, Attribute und Signale, die zum erneuten Berechnen der erweiterten Ähnlichkeitsmatrizen 451, 453 und 455 notwendig sind.
  • 5 veranschaulicht ein Flussdiagramm eines Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung. Bei einem Schritt 501 wird eine Aktion einem Roboter mit einem direkten Befehl 503 demonstriert. In einem Schritt 505 wird eine Ähnlichkeitsmatrix 507 berechnet und in einem Schritt 509 werden der direkte Befehl 503 und die Ähnlichkeitsmatrix 507 in ein künstliches neuronales Netzwerk (ANN) eingegeben, um ein Signal 511 zu erhalten. In einem Schritt 513 wird das Signal 511 in Übereinstimmung mit einem Kinematikmodell 515 des Roboters zusammengefasst, um ein moduliertes Steuerungssignal 517 zur Steuerung des Roboters, um die Aktion durchzuführen, ausgegeben.
  • Ausführungsformen der vorliegenden Erfindung können Vorrichtungen zum Durchführen der hier beschriebenen Operationen enthalten. Derartige Vorrichtungen können speziell für die gewünschten Zwecke konstruiert sein oder sie können Computer oder Prozessoren umfassen, die von einem Computerprogramm, das in den Computern gespeichert ist, selektiv aktiviert oder neu konfiguriert werden. Derartige Computerprogramme können in einem von einem Computer lesbaren oder von einem Prozessor lesbaren nicht vorübergehenden Massenspeichermedium, einer beliebigen Art von Platte einschließlich von Disketten, optischen Platten, CD-ROMs, magnetooptischen Platten, Festwertspeichern (ROMs), Speichern mit wahlfreiem Zugriff (RAMs), elektrisch programmierbaren Festwertspeichern (EPROMs), elektrisch löschbaren und programmierbaren Festwertspeichern (EEPROMs), magnetischen oder optischen Karten oder einem beliebigen anderen Typ von nicht vorübergehenden konkreten Medien, der zum Speichern elektronischer Anweisungen geeignet ist, gespeichert sein. Es ist festzustellen, dass eine Vielfalt von Programmiersprachen verwendet werden kann, um die Lehren der Erfindung wie hier beschrieben zu implementieren. Ausführungsformen der Erfindung können einen Artikel enthalten, etwa ein von einem Computer oder einem Prozessor lesbares nicht vorübergehendes Speichermedium, wie zum Beispiel einen Arbeitsspeicher, ein Festplattenlaufwerk oder einen USB-Flashspeicher, welches Anweisungen codiert, enthält oder speichert, z. B. von einem Computer ausführbare Anweisungen, welche, wenn sie von einem Prozessor oder einem Controller ausgeführt werden, bewirken, dass der Prozessor oder Controller hier offenbarte Verfahren ausführt. Die Anweisungen können veranlassen, dass der Prozessor oder Controller Prozesse ausführt, die hier offenbarte Verfahren ausführen.
  • Es sind hier verschiedene Ausführungsformen offenbart. Merkmale bestimmter Ausführungsformen können mit Merkmalen von anderen Ausführungsformen kombiniert werden; somit können bestimmte Ausführungsformen Kombinationen von Merkmalen von mehreren Ausführungsformen sein. Die vorstehende Beschreibung der Ausführungsformen der Erfindung wurde zum Zweck der Darstellung und Beschreibung präsentiert. Es ist nicht beabsichtigt, dass diese umfassend ist oder die Erfindung auf die präzise offenbarte Form begrenzt. Der Fachmann wird feststellen, dass viele Modifikationen, Variationen, Substitutionen, Veränderungen und Äquivalente im Licht der vorstehenden Lehren möglich sind. Es versteht sich daher, dass die beigefügten Ansprüche dazu gedacht sind, dass sie alle derartigen Modifikationen und Veränderungen abdecken, die in den Grundgedanken der Erfindung fallen.

Claims (10)

  1. Verfahren zum prozeduralen Gedächtnislernen zur Steuerung eines Roboters, um eine Aufgabe durchzuführen, wobei das Verfahren umfasst, dass: die Aufgabe dem Roboter demonstriert wird, indem der Roboter mit einem direkten Steuerungsbefehl über eine Schnittstelle auf niedriger Ebene gesteuert wird, um eine Aktion der Aufgabe durchzuführen; mehrere Signale vom Roboter empfangen werden, wobei die Signale mit der Aktion in Beziehung stehen; eine Ähnlichkeitsmatrix berechnet wird, deren Elemente Werte in Übereinstimmung mit mindestens einer Ähnlichkeitsfunktion der mehreren Signale umfassen; in einen künstlichen neuronalen Netzwerkcontroller (ANN-Controller) des Roboters eingegeben werden: der direkte Steuerungsbefehl; und die Ähnlichkeitsmatrix; Steuerungssignale vom ANN-Controller zum Steuern des Roboters empfangen werden; die Steuerungssignale vom ANN-Controller durch einen Aggregator in Übereinstimmung mit einem Kinematikmodell des Roboters zusammengeführt werden; und zusammengeführte Steuerungssignale vom Aggregator an den Roboter gesendet werden, um die Aufgabe durchzuführen.
  2. Verfahren nach Anspruch 1, wobei die mindestens eine Ähnlichkeitsfunktion aus einer Gruppe gewählt wird, die besteht aus: einer Korrelation, einer Kreuzkorrelation, einer Rangkorrelation, einer Produkt-Moment-Korrelation und einer Abstandskorrelation.
  3. Verfahren nach Anspruch 1, wobei die Werte der Elemente der Ähnlichkeitsmatrix komplexe Zahlen mit Realteilen und Imaginärteilen sind.
  4. Verfahren nach Anspruch 3, wobei die Realteile und die Imaginärteile als zwei separate Matrizen ausgedrückt werden.
  5. Verfahren nach Anspruch 1, wobei die Ähnlichkeitsmatrix eine erweiterte Ähnlichkeitsmatrix ist, deren Werte zusätzlich mindestens ein Moment umfassen, das aus einer Gruppe gewählt ist, die besteht aus: einem integrierten Wert und einem differenzierten Wert.
  6. Verfahren nach Anspruch 1, das ferner umfasst, dass zusätzliche Steuerungssignale von einem Controller mit einem künstlichen neuronalen Netzwerk empfangen werden und die zusätzlichen Steuerungssignale durch den Aggregator mit den Steuerungssignalen zusammengeführt werden.
  7. Vorrichtung zum prozeduralen Gedächtnislernen zum Steuern eines Roboters, um eine Aufgabe durchzuführen, wobei der Roboter einen Robotercontroller aufweist, der ein künstliches neuronales Netzwerk (ANN) enthält, wobei die Vorrichtung umfasst: eine Signalschnittstelle zum Empfangen mehrerer Signale vom Robotercontroller; einen Korrelator zum Erzeugen einer Korrelation von mindestens zwei der Signale und zum Erzeugen eines Korrelationsausgangs; eine Matrixeinheit zum Erzeugen einer Ähnlichkeitsmatrix mit einem Element, das die Korrelation enthält, und zum Senden der Matrix über den Robotercontroller an das ANN; eine Steuerungsschnittstelle auf niedriger Ebene zum Senden von direkten Steuerungsbefehlen an den Robotercontroller; und einen Aggregator zum Zusammenführen von Steuerungssignalen von dem ANN in Übereinstimmung mit einem Kinematikmodell des Roboters.
  8. Vorrichtung nach Anspruch 7, wobei das Element, das die Korrelation enthält, eine komplexe Zahl mit einem Realteil und einem Imaginärteil enthält.
  9. Vorrichtung nach Anspruch 7, die ferner einen Differenzierer umfasst, der ausgestaltet ist, um Ableitungswerte zum Erweitern der Ähnlichkeitsmatrix zu erzeugen.
  10. Vorrichtung nach Anspruch 7, die ferner einen Integrierer umfasst, der ausgestaltet ist, um integrierte Werte zum Erweitern der Ähnlichkeitsmatrix zu erzeugen.
DE102013202378.2A 2012-02-21 2013-02-14 Prozedurales Gedächtnislernen und Robotersteuerung Expired - Fee Related DE102013202378B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/400,969 2012-02-21
US13/400,969 US8805581B2 (en) 2012-02-21 2012-02-21 Procedural memory learning and robot control

Publications (2)

Publication Number Publication Date
DE102013202378A1 true DE102013202378A1 (de) 2013-08-22
DE102013202378B4 DE102013202378B4 (de) 2015-07-02

Family

ID=48915394

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013202378.2A Expired - Fee Related DE102013202378B4 (de) 2012-02-21 2013-02-14 Prozedurales Gedächtnislernen und Robotersteuerung

Country Status (3)

Country Link
US (1) US8805581B2 (de)
JP (1) JP5759495B2 (de)
DE (1) DE102013202378B4 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014204475A1 (de) * 2014-03-11 2015-09-17 Kuka Systems Gmbh Verfahren zum Betreiben eines Roboters
DE102017000063B4 (de) * 2016-01-14 2019-10-31 Fanuc Corporation Robotereinrichtung mit Lernfunktion
DE102020208280A1 (de) 2020-07-02 2022-01-05 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Herstellung einer Bewegungsvorrichtung

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9737990B2 (en) 2014-05-16 2017-08-22 Microsoft Technology Licensing, Llc Program synthesis for robotic tasks
CN114559428B (zh) 2015-09-01 2023-10-27 伯克希尔格雷营业股份有限公司 用于提供动态机器人控制***的***和方法
US11370128B2 (en) 2015-09-01 2022-06-28 Berkshire Grey Operating Company, Inc. Systems and methods for providing dynamic robotic control systems
JP6386516B2 (ja) * 2016-01-14 2018-09-05 ファナック株式会社 学習機能を備えたロボット装置
CA3014049C (en) * 2016-02-08 2021-06-22 Thomas Wagner Systems and methods for providing processing of a variety of objects employing motion planning
CN105619408B (zh) * 2016-02-24 2017-10-27 中国科学院自动化研究所 一种类人机器人上肢运动模型的类神经精准控制方法
JP7007791B2 (ja) * 2016-07-22 2022-01-25 川崎重工業株式会社 ロボットの運転方法、コンピュータプログラム、及びロボットシステム
EP3592510B1 (de) 2017-03-06 2023-09-06 Berkshire Grey Operating Company, Inc. Systeme und verfahren zum effizienten bewegen einer varietät von objekten
JP6669715B2 (ja) * 2017-11-30 2020-03-18 ファナック株式会社 振動抑制装置
WO2020086995A1 (en) 2018-10-25 2020-04-30 Berkshire Grey, Inc. Systems and methods for learning to extrapolate optimal object routing and handling parameters
EP3696733B1 (de) * 2019-02-13 2024-03-27 Siemens Aktiengesellschaft Codierung und übertragung von szenen- und aufgabenabhängigen lerninformationen in übertragbare neuronale netzwerkschichten
EP3959050B1 (de) 2019-04-25 2024-04-17 Berkshire Grey Operating Company, Inc. System und verfahren zur aufrechterhaltung der lebensdauer von vakuumschläuchen in schlauchführungssystemen in programmierbaren bewegungssystemen
US11556848B2 (en) * 2019-10-21 2023-01-17 International Business Machines Corporation Resolving conflicts between experts' intuition and data-driven artificial intelligence models
WO2022212916A1 (en) * 2021-04-01 2022-10-06 Giant.Ai, Inc. Hybrid computing architectures with specialized processors to encode/decode latent representations for controlling dynamic mechanical systems
CN113771014B (zh) * 2021-10-09 2022-03-18 北京中海兴达建设有限公司 一种用于建筑施工的scara智能化机械臂控制方法和***
DE102021212494B4 (de) 2021-11-05 2024-07-04 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zur Steuerung einer Robotervorrichtung
US11938633B2 (en) * 2021-12-06 2024-03-26 Fanuc Corporation Autonomous robust assembly planning

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4111354A1 (de) * 1991-04-09 1992-10-22 Bodenseewerk Geraetetech Einrichtung zur fuehrung des endeffektors eines roboters laengs einer sollbahn
DE4311290A1 (de) * 1992-04-06 1993-10-14 Siemens Ag Modellbasierte neuronale Bahnführung eines Industrieroboters
JPH06114768A (ja) * 1992-09-29 1994-04-26 Toyoda Mach Works Ltd ロボット制御装置
EP0589394A1 (de) * 1992-09-21 1994-03-30 Toyoda Koki Kabushiki Kaisha Verfahren und Gerät zur Steuerung eines Roboters mit einem neuronalen Netzwerk
DE19854011A1 (de) * 1998-11-12 2000-05-25 Knoll Alois Einrichtung und Verfahren zum Vermessen von Mechanismen und ihrer Stellung
US7003509B2 (en) * 2003-07-21 2006-02-21 Leonid Andreev High-dimensional data clustering with the use of hybrid similarity matrices
JP2002239960A (ja) * 2001-02-21 2002-08-28 Sony Corp ロボット装置の動作制御方法、プログラム、記録媒体及びロボット装置
US20060139328A1 (en) * 2004-12-29 2006-06-29 Nina Maki Mobile communications terminal and a method therefor
JP2007276052A (ja) * 2006-04-06 2007-10-25 Sony Corp 制御システム、記録システム、情報処理装置および方法、プログラム、並びに記録媒体
US20070288453A1 (en) * 2006-06-12 2007-12-13 D&S Consultants, Inc. System and Method for Searching Multimedia using Exemplar Images

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014204475A1 (de) * 2014-03-11 2015-09-17 Kuka Systems Gmbh Verfahren zum Betreiben eines Roboters
DE102017000063B4 (de) * 2016-01-14 2019-10-31 Fanuc Corporation Robotereinrichtung mit Lernfunktion
DE102020208280A1 (de) 2020-07-02 2022-01-05 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Herstellung einer Bewegungsvorrichtung

Also Published As

Publication number Publication date
US20130218335A1 (en) 2013-08-22
DE102013202378B4 (de) 2015-07-02
JP5759495B2 (ja) 2015-08-05
JP2013169644A (ja) 2013-09-02
US8805581B2 (en) 2014-08-12

Similar Documents

Publication Publication Date Title
DE102013202378B4 (de) Prozedurales Gedächtnislernen und Robotersteuerung
DE112019002310B4 (de) Ausführen einer &#34;peg in hole&#34;-aufgabe mit unbekannter neigung
DE102014108287B4 (de) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE102015010124B4 (de) Roboterprogramm-Erzeugungsvorrichtung, die Roboterprogramm zum Reduzieren von Stössen der Gelenke des Roboters erzeugt
DE102012218297B4 (de) Verfahren zur dynamischen Optimierung einer Robotersteuerschnittstelle
DE102019001948A1 (de) Steuerung und maschinelle Lernvorrichtung
DE102015106227B3 (de) Steuern und/oder Regeln von Motoren eines Roboters
EP1715352B1 (de) Verfahren und vorrichtung zur fehlerdiagnose mechatronischer systeme
AT511577A2 (de) Maschinell umgesetztes verfahren zum erhalten von daten aus einem nicht linearen dynamischen echtsystem während eines testlaufs
DE102012213188B4 (de) Verfahren und System zum Steuern einer Ausführungssequenz eines geschickten Roboters unter Verwendung einer Zustandsklassifizierung
DE102019203821B3 (de) Verfahren und System zum Durchführen einer Roboterapplikation
EP3297792A1 (de) Steuern und regeln von aktoren eines roboters unter berücksichtigung von umgebungskontakten
EP3993959A1 (de) Durchführen einer applikation mithilfe wenigstens eines roboters
DE102015122998B3 (de) Roboter und Verfahren zum Betreiben eines Roboters
DE102020214177A1 (de) Vorrichtung und Verfahren zum Trainieren einer Steuerungsstrategie mittels bestärkendem Lernen
DE102019205651B3 (de) Verfahren und System zum Ausführen von Roboterapplikationen
DE112016006372T5 (de) Steuerung und fördersystem
DE102018112370B4 (de) Richtungsabhängige Kollisionsdetektion für einen Robotermanipulator
DE102018007107A1 (de) Steuereinrichtung und maschinenlerneinrichtung
DE102020114456A1 (de) Maschinenlernvorrichtung, Robotersystem und Maschinenlernverfahren zum Lernen eines Zustands eines Kabels
DE102021109333B4 (de) Vorrichtung und Verfahren zum Trainieren eines Neuronalen Netzes zum Steuern eines Roboters für eine Einsetzaufgabe
DE102020210823A1 (de) Maschinen-Steueranordnung
DE102017215432B4 (de) Verfahren und Vorrichtung zur Charakterisierung eines Kontinuumgelenks
WO2019201873A1 (de) Verfahren zur erkennung einer intention eines partners gegenüber einer mehrgliedrigen aktuierten kinematik
WO2020234027A2 (de) Verfahren, computer-programm-produkt und robotersteuerung zum kontaktbasierten lokalisieren von bei der manipulation durch roboter bewegbaren objekten sowie roboter

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee