DE102020103854A1 - Maschinelles Lernen einer erfolgreich abgeschlossenen Roboteranwendung - Google Patents

Maschinelles Lernen einer erfolgreich abgeschlossenen Roboteranwendung Download PDF

Info

Publication number
DE102020103854A1
DE102020103854A1 DE102020103854.2A DE102020103854A DE102020103854A1 DE 102020103854 A1 DE102020103854 A1 DE 102020103854A1 DE 102020103854 A DE102020103854 A DE 102020103854A DE 102020103854 A1 DE102020103854 A1 DE 102020103854A1
Authority
DE
Germany
Prior art keywords
application
robot manipulator
values
task
control program
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
DE102020103854.2A
Other languages
English (en)
Other versions
DE102020103854B4 (de
Inventor
Jose Ramon Medina Hernandez
Andreas Spenninger
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.)
Franka Emika GmbH
Original Assignee
Franka Emika GmbH
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 Franka Emika GmbH filed Critical Franka Emika GmbH
Priority to DE102020103854.2A priority Critical patent/DE102020103854B4/de
Publication of DE102020103854A1 publication Critical patent/DE102020103854A1/de
Application granted granted Critical
Publication of DE102020103854B4 publication Critical patent/DE102020103854B4/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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic

Landscapes

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

Abstract

Die Erfindung betrifft ein Verfahren zum Ermitteln einer Abbruchbedingung für ein Steuerprogramm eines Robotermanipulators (1), aufweisend die Schritte:- wiederholtes Durchführen (S1) einer Anwendung durch den Robotermanipulator (1),- Erfassen (S2) von Werten zumindest eines Prozessparameters in jeder der Durchführungen,- Vorgeben (S3) einer binären Einordnung eines Ergebnisses für jede fertig ausgeführte Anwendung,- Zuordnen (S4) der jeweiligen vorgegebenen Einordnung des Ergebnisses einer jeweiligen Ausführung der Anwendung zu den in der jeweiligen Ausführung der Anwendung erfassten Werten des zumindest einen Prozessparameters,- Anpassen (S5) eines strukturell vorgegebenen Zuordnungsmodells mit den erfassten Werten als Eingangsgrößen und der zugeordneten Einordnung als Ausgangsgröße des Zuordnungsmodells, und- Abspeichern (S6) des Zuordnungsmodells zum Anwenden mit aktuellen Werten des Prozessparameters im späteren Betrieb des Robotermanipulators (1).

Description

  • Die Erfindung betrifft ein Verfahren zum Ermitteln einer Abbruchbedingung für ein Steuerprogramm eines Robotermanipulators sowie eine Steuereinheit für einen Robotermanipulator zum Anwenden eines Steuerprogramms mit einer solchen Abbruchbedingung.
  • Aufgabe der Erfindung ist es, auf Basis von Prozessparametern beim Durchführen einer Anwendung oder einer Aufgabe durch einen Robotermanipulator zuverlässig einen erfolgreichen Abschluss der Aufgabe oder Anwendung zu erkennen, und insbesondere die Durchführung der Aufgabe oder der Anwendung zum richtigen Zeitpunkt abzubrechen.
  • Die Erfindung ergibt sich aus den Merkmalen der unabhängigen Ansprüche. Vorteilhafte Weiterbildungen und Ausgestaltungen sind Gegenstand der abhängigen Ansprüche.
  • Ein erster Aspekt der Erfindung betrifft ein Verfahren zum Ermitteln einer Abbruchbedingung für ein Steuerprogramm eines Robotermanipulators, aufweisend die Schritte:
    • - wiederholtes Durchführen einer Anwendung durch den Robotermanipulator, wobei das jeweilige Durchführen der Anwendung mittels einer jeweiligen Ausführung des Steuerprogramms erfolgt,
    • - Erfassen von Werten zumindest eines Prozessparameters in jeder der Durchführungen der Anwendung, wobei der zumindest eine Prozessparameter zumindest eines aus den folgenden ist: eine Position, eine Geschwindigkeit, eine Beschleunigung jeweils eines Referenzpunktes des Robotermanipulators an zumindest einem Zeitpunkt während der Durchführung der Anwendung; eine Kraft, ein Moment jeweils zwischen dem Robotermanipulator und einem Objekt aus der Umgebung des Robotermanipulators an zumindest einem Zeitpunkt während der Durchführung der Anwendung; ein Vektor von Drehmomenten in den Gelenken des Robotermanipulators an zumindest einem Zeitpunkt während der Durchführung der Anwendung,
    • - Vorgeben einer binären Einordnung eines Ergebnisses für jede fertig ausgeführte Anwendung, wobei die Einordnung entweder einen erfolgreichen oder einen nicht erfolgreichen Abschluss der jeweiligen Anwendung angibt,
    • - Zuordnen der jeweiligen vorgegebenen Einordnung des Ergebnisses einer jeweiligen Ausführung der Anwendung zu den in der jeweiligen Ausführung der Anwendung erfassten Werten des zumindest einen Prozessparameters,
    • - Anpassen eines strukturell vorgegebenen Zuordnungsmodells mit den erfassten Werten des zumindest einen Prozessparameters als Eingangsgrößen und der zugeordneten Einordnung als Ausgangsgröße des Zuordnungsmodells, und
    • - Abspeichern des angepassten Zuordnungsmodells zum Anwenden des Zuordnungsmodells auf Basis von aktuell erfassten Werten des zumindest einen Prozessparameters im späteren Betrieb des Robotermanipulators.
  • Bevorzugt werden alle Schritte des ersten Aspekts der Erfindung und alle im folgenden genannten Schritte auf einer Steuereinheit des Robotermanipulators ausgeführt. Insbesondere wird auf der Steuereinheit das Steuerprogramm ausgeführt, das zur Durchführung der Anwendung durch den Robotermanipulator dient. Das Steuerprogramm enthält daher entsprechende Anweisungen und Kommandos für eine Regelung des Robotermanipulators, damit eine gewünschte Anwendung geregelt wird.
  • Ein solches Steuerprogramm stellt insbesondere gewünschte Geschwindigkeiten, gewünschte Positionen, gewünschte Gelenkwinkel, oder auch gewünschte Beschleunigungen für einen oder mehrere Referenzpunkte am Robotermanipulator bereit, die dann durch eine entsprechende Ansteuerung des Robotermanipulators, insbesondere mithilfe einer Jacobimatrix und weiterhin insbesondere mit einer invertierten Jacobi Matrix, und mithilfe von Motorregelungen durchgeführt wird.
  • Die Anwendung des Robotermanipulators betrifft insbesondere das Bearbeiten von Bauteilen durch einen Endeffektor des Robotermanipulators, oder alternativ beispielsweise das Fügen von zwei Komponenten zueinander. Bei einem solchen Fügen von Komponenten werden die Komponenten miteinander verbunden, insbesondere durch Einführen von Elementen der einen der Komponenten an Elemente der anderen der Komponenten.
  • Bei der Durchführung einer solchen Anwendung werden Prozessparameter erfasst. Dadurch, dass die Anwendung wiederholt durchgeführt wird, können bereits unterschiedliche Prozessparameter über die verschiedenen Wiederholungen der durchgeführten Anwendung insbesondere dadurch auftreten, dass ein Verschleiß an einem zu bearbeitenden Bauteil, ein Verschleiß an zumindest einer der beiden zueinander zu fügenden Komponenten, Variationen in der Umgebung des Robotermanipulators, insbesondere ein verschobenes zu bearbeitendes Werkstück, oder andere geänderte Randbedingungen auftreten. Dementsprechend ändert sich bei der Durchführung der Anwendung insbesondere eine Position des Endeffektors, eine Fügegeschwindigkeit zwischen zwei Komponenten, eine Beschleunigung, mit der ein Endeffektor über ein Bauteil fährt, eine Kraft, die ein Werkstück dem Endeffektor des Robotermanipulators entgegengesetzt, oder andere Größen. Ein solcher Prozessparameter wird dabei bei der Durchführung der Anwendung in jeder Schleife überwacht und aufgezeichnet.
  • Alternativ bevorzugt werden in jeder Schleife der durchgeführten Anwendung bewusst Prozessparameter variiert, insbesondere durch entsprechende Parametrisierung des Steuerprogramms, oder das Steuerprogramm wird unverändert beibehalten, während eine Regelung des Robotermanipulators geändert wird. Insbesondere wird bei einer Änderung der Regelung eine Bandbreite der Regelung des Robotermanipulators angepasst, durch die das Verhalten des Robotermanipulators auf einen Sprungeingang oder auf eine Störung geändert wird. Bevorzugt wird im Falle einer Impedanzregelung ein Parameter der Impedanzregelung angepasst, insbesondere die Steifigkeit oder die künstliche Dämpfung der Impedanzregelung. Auch in diesem Fall ändern sich über die wiederholt durchgeführten Anwendungen des Robotermanipulators gewisse Prozessparameter, die dann wiederum aufgezeichnet werden.
  • Abhängig davon, welche Prozessparameter bei der Durchführung der Anwendung aktuell vorherrschen, führt die Durchführung der Anwendung zu einem erfolgreichen Abschluss der Anwendung, oder zu einem nicht erfolgreichen Abschluss der Anwendung. Es besteht hierbei ein Zusammenhang zwischen Prozessparametern und dem Erfolg der Durchführung der Anwendung. Dieser Zusammenhang wird wie folgt erfasst und am Zuordnungsmodell trainiert: Während zum einen die Prozessparameter, insbesondere Werte zumindest eines Prozessparameters, während der Durchführung jeder Anwendung aufgezeichnet werden, wird das Ergebnis der Durchführung der Anwendung extern vorgegeben. Es wird insbesondere durch einen Anwender definiert, ob die Durchführung der jeweiligen Anwendung erfolgreich war oder nicht erfolgreich war. Auch diese Vorgabe des Ergebnisses wird aufgezeichnet.
  • Damit steht für jeden Durchlauf der Schleife, das heißt jede einzelne durchgeführte Anwendung aus der Vielzahl der Wiederholungen, ein Paar von Werten für den jeweiligen beobachteten Prozessparameter einerseits und für die Vorgabe zum Erfolg der Durchführung der Anwendung andererseits bereit. Diese Größen entsprechen im folgenden der Eingangsgröße und der Ausgangsgröße des zu trainierenden Zuordnungsmodells.
  • Das Zuordnungsmodell ist insbesondere ein mathematisches Modell, dessen Struktur und/oder dessen Parameter anpasst wird. Das Zuordnungsmodell ist im Sinne eines Funktionsbegriffs eine Abbildung von einer Eingangsgröße auf eine Ausgangsgröße zu verstehen. Hierbei werden wie oben erwähnt als Eingangsgröße die erfassten Werte des zumindest einen Prozessparameters und als Ausgangsgröße die zur jeweiligen Durchführung der Anwendung zugehörige Vorgabe des Erfolgs der Durchführung verwendet. Ob ein erfolgreicher Abschluss der Anwendung vorliegt, wird dabei insbesondere durch einen binären Wert ausgedrückt, beispielsweise ,0' oder ,1'. Die Vorgabe ist daher eine Variable mit zwei möglichen Werten, sinngemäß: „erfolgreich“ und „nicht erfolgreich.“
  • Durch die Wiederholungen der Durchführungen der Anwendung steht eine Vielzahl von solchen Paaren von Eingangsgröße und Ausgangsgröße zur Verfügung, um das Zuordnungsmodell entsprechend anzupassen. Ziel dieser Anpassung ist es, dass das Zuordnungsmodell eine derartige Funktion angibt, dass aus den bekannten Werten des zumindest einen Prozessparameters als Eingangsgröße das Ergebnis der Durchführung als Ausgangsgröße berechnet werden kann. Das heißt, dass auf Basis der aktuell erfassten Werte des zumindest einen Prozessparameters unter Zuhilfenahme des angepassten Zuordnungsmodells zuverlässig bestimmt werden kann, ob die Durchführung der Anwendung erfolgreich beendet worden ist oder nicht erfolgreich beendet worden ist.
  • Es ist daher eine vorteilhafte Wirkung der Erfindung, dass ohne eine explizite Abbruchbedingung und ohne die Verwendung von expliziten Schwellwerten zuverlässig der Erfolg der Durchführung einer Anwendung für den Robotermanipulator bestimmt werden kann. In anderen Worten werden vorteilhaft die zustandsabhängigen Bedingungen als Abbruchbedingung durch eine zuverlässigere experimentbasierte Heuristik ersetzt. Eine solche Heuristik beinhaltet vorteilhaft komplexere Zusammenhänge, als durch lediglich Anwendung von zustandsabhängigen Bedingungen berücksichtigt werden können. Vorteilhaft wird daher die Entscheidung über den Abbruch durch erfolgreiche Beendigung der Durchführung einer Anwendung zuverlässiger.
  • Gemäß einer vorteilhaften Ausführungsform umfasst die Anwendung das Aneinanderstecken von zwei Komponenten. Die zwei Komponenten sind insbesondere eines aus:
    • - Modul mit volatilem Speicher und Steckplatz für das Modul,
    • - Speicherkarte und Steckplatz für die Speicherkarte,
    • - SIM („Subscriber identity module“) Karte und Steckplatz für die Sim Karte,
    • - Batterie und Steckplatz für die Batterie,
    • - nichtflüchtige Speichereinheit und Steckplatz für die nichtflüchtige Speichereinheit,
    • - Grafikkarte und Steckplatz für die Grafikkarte.
  • Eine erfolgreiche Durchführung der Anwendung des Aneinandersteckens der zwei Komponenten liegt insbesondere dann vor, wenn die eine Komponente vollständig an die andere Komponente angesteckt ist, ohne dass dabei eine Beschädigung an einer der Komponenten auftritt. Vorteilhaft wird erfindungsgemäß das erfolgreiche Aneinanderstecken der Komponenten zuverlässiger ermittelt, da durch Toleranzen, Fertigungsfehler, Temperaturunterschiede und andere Unsicherheiten das Aneinanderstecken von zwei Komponenten häufig von variierenden Werten von Prozessparametern begleitet wird.
  • Gemäß einer weiteren vorteilhaften Ausführungsform ist das Zuordnungsmodell ein verdecktes Markowmodell. Das verdeckte Markowmodell (englisch: „Hidden Markov Model“) ist ein statistisches Markowmodell, für das die Annahme von nicht beobachtbaren Zuständen besteht. Es fällt damit unter den Typus eines dynamischen Bayes'sches Netzwerks. Der Vorteil eines solchen statistischen Netzwerks ist die Einbeziehung der statistischen Signifikanz, sowie, dass durch die statistische Erfassung der Abbildung auch naturgemäß unscharfe Zusammenhänge zuverlässig wiedergegeben werden können.
  • Gemäß einer weiteren vorteilhaften Ausführungsform ist das Zuordnungsmodell ein rückgekoppeltes neuronales Netz. Ein rückgekoppeltes neuronales Netz (englisch: „Recurrent neural network“) bezeichnet eine Klasse von künstlichen neuronalen Netzen, wo die Verbindungen zwischen den Knoten einen gerichteten Graphen darstellen. Dies erlaubt zeitlich abschnittsweise dynamisches Verhalten. In einem solchen künstlichen neuronalen Netzwerk können interne Zustände verwendet werden um die Kette von Eingangsgrößen zu verarbeiten. Vorteilhaft wird durch die Anwendung eines solchen neuronalen Netzes daher eine zeitliche Signalfolge von Eingangsgrößen leichter verarbeitbar. Es eignet sich insbesondere dann, wenn eine Zeitreihe von Werten der zumindest einen Prozessgröße betrachtet werden. So können vorteilhaft Muster in den Werten der zumindest einen Prozessgröße zur Bestimmung verwendet werden, ob ein erfolgreicher Abschluss der durchzuführenden Anwendung vorliegt. Diesen Vorteil weist eine lediglich grenzwertbasierte Betrachtung von Werten der zumindest einen Prozessgröße nicht auf.
  • Gemäß einer weiteren vorteilhaften Ausführungsform ist das Zuordnungsmodell ein agentenbasiertes Modell aus Bedingungsstrukturen. Ein agentenbasiertes Modell basiert auf der Struktur aus einer Vielzahl von eigenständigen Agenten, die eigene komplexe Einheiten bilden, wobei diese untereinander kommunizieren. Werden solche Agenten als komplexe Einheiten zum Überprüfen von elementaren Bedingungen verwendet, ergibt sich ein interaktives Bedingungssystem, wobei die Entscheidung über eine erfolgreiche Durchführung der Anwendung nicht lediglich aufgrund einer einzelnen Bedingung erfolgt, sondern durch das besagte komplexe Netzwerk von einzelnen Bedingungen. Insbesondere sind die Agenten in dem Modell zumindest über ihre Parameter anpassbar, weiterhin bevorzugt auch in ihrer Struktur. Jeder der Agenten kann selbst wiederum ein künstliches neuronales Netz oder ein Markowmodell aufweisen. Vorteilhaft ist mithilfe des Agentenmodells eine sehr hohe Komplexität von Zusammenhängen zwischen Werten der zumindest einen Prozessgröße und der Entscheidung, ob die Anwendung erfolgreich verlaufen ist, möglich.
  • Gemäß einer weiteren vorteilhaften Ausführungsform erfolgt das wiederholte Durchführen der Anwendung mit verschiedenen Werten zumindest eines Parameters des Steuerprogramms. Gemäß dieser Ausführungsform werden über die Wiederholungen der durchgeführten Anwendungen Parameter des Steuerprogramms selbst variiert. Dies umfasst insbesondere gewünschte Positionen, Geschwindigkeiten, Beschleunigungen, jeweils bevorzugt eines Referenzpunktes des Robotermanipulators, oder aber auch gewünschte Kräfte und Momente des Robotermanipulators in Bezug auf ein Objekt in der Umgebung des Robotermanipulators. Die Parameter des Steuerprogramms umfassen daher insbesondere kommandierte Werte, das heißt, solche Werte, die in einer äußeren Schleife als Stellgröße ermittelt werden. Solche Stellgrößen dienen bevorzugt selbst wiederum als Kommandoschleife einer insbesondere kaskadierten Regelung des Robotermanipulators. Vorteilhaft ergibt sich hiermit eine besondere hohe Informationsdichte im Sinne eines reichen Spektrums von Eingangsinformationen, da die Parameter des Steuerprogramms selbst einen hochsensitiven Einfluss auf den zumindest einen Prozessparameter haben. Je reicher die Informationen im Spektrum der Eingangssignale des zu trainierenden Zuordnungsmodells, umso zuverlässiger und wirkungsvoller ist die Anwendung des Zuordnungsmodells im späteren Betrieb des Robotermanipulators.
  • Gemäß einer weiteren vorteilhaften Ausführungsform weist das Verfahren weiterhin die Schritte auf:
    • - Ermitteln einer Korrelation zwischen den Werten des zumindest einen Parameters des Steuerprogramms und der jeweiligen vorgegebenen Einordnung des Ergebnisses, und
    • - Abspeichern der Korrelation zusammen mit dem angepassten Zuordnungsmodell zum Anwenden der Korrelation zum Optimieren des Steuerprogramms im späteren Betrieb des Robotermanipulators. Gemäß dieser Ausführungsform wird eine oben beschriebene Relation zwischen den Werten des zumindest einen Parameters des Steuerprogramms und der jeweiligen Einordnung des Ergebnisses ermittelt. In anderen Worten wird somit überprüft, welche Änderungen des Steuerprogramms eher zu einem erfolgreichen Abschluss der durchgeführten Anwendung führen. Unter Zuhilfenahme dieser Korrelation kann beim späteren Ausführen einer Anwendung oder eine Aufgabe durch den Robotermanipulator das Steuerprogramm von Anfang an so verwendet werden, dass es tendenziell eher zu einem erfolgreichen Abschluss führt als mit anderen Parametern der Steuerprogramms. Daher wird vorteilhaft diese Korrelation zusammen mit dem angepassten Zuordnungsmodell abgespeichert.
  • Ein weiterer Aspekt der Erfindung betrifft eine Steuereinheit für einen Robotermanipulator, wobei die Steuereinheit dazu ausgeführt ist, ein Steuerprogramm zum Durchführen einer Aufgabe auszuführen und während der Durchführung der Aufgabe aktuelle Werte zumindest eines Prozessparameters zu erfassen, wobei der zumindest eine Prozessparameter zumindest eines aus den folgenden ist: eine Position, eine Geschwindigkeit, eine Beschleunigung jeweils eines Referenzpunktes des Robotermanipulators zu zumindest einem Zeitpunkt während der Ausführung der Anwendung; eine Kraft, ein Moment jeweils zwischen dem Robotermanipulator und einem Objekt aus der Umgebung des Robotermanipulators; ein Vektor von Drehmomenten in den Gelenken des Robotermanipulators; und wobei die Steuereinheit dazu ausgeführt ist, durch Anwenden des angepassten und abgespeicherten Zuordnungsmodells auf Basis der aktuell erfassten Werte der zumindest einen Prozessgröße einen erfolgreichen oder nicht erfolgreichen Abschluss der Aufgabe zu ermitteln, und wobei die Steuereinheit dazu ausgeführt ist, bei einem ermittelten erfolgreichen Abschluss der Aufgabe das Durchführen der Aufgabe abzubrechen. Die von der Steuereinheit mittels des Steuerprogramms auszuführende Aufgabe entspricht funktionell der oben genannten Anwendung für den Robotermanipulator. Der Unterschied zwischen beiden Begriffen besteht darin, dass die Anwendung im Zusammenhang mit dem Anpassen des Zuordnungsmodells und/oder der Korrelation verwendet wird, während die Aufgabe dem oben genannten späteren Betrieb des Robotermanipulators entspricht. Wenn die Aufgabe ausgeführt wird, dann wird insbesondere laufend das bereits angepasste Zuordnungsmodell mit den aktuell ermittelten Werten des zumindest einen Prozessparameters als Eingangsgröße angewendet, um modellbasiert mithilfe des Zuordnungsmodells zu bestimmen, ob ein erfolgreicher Abschluss der Aufgabe bereits vorliegt oder nicht.
  • Gemäß einer weiteren vorteilhaften Ausführungsform ist die Steuereinheit dazu ausgeführt, durch Anwenden der abgespeicherten Korrelation beim Ausführen der Aufgabe solche Werte des zumindest einen Parameters des Steuerprogramms anzuwenden, die gemäß der Korrelation zu einem erfolgreichen Abschluss der Aufgabe führen. Vorteilhaft wird gemäß dieser Ausführungsform nicht nur das angepasste Zuordnungsmodell verwendet, sondern auch die Informationen, die zum Anpassen des Zuordnungsmodells verwendet wurden, und Werte des zumindest einen Parameters des Steuerprogramms zu bevorzugen, für die die Wahrscheinlichkeit eines erfolgreichen Abschlusses der Aufgabe höher liegt als für andere Werte des zumindest einen Parameters des Steuerprogramms. Vorteilhaft wird dadurch nicht nur die Erkennung eines erfolgreichen Abschlusses der Durchführung der Aufgabe zuverlässiger gestaltet, sondern auch die Durchführung der Aufgabe selbst mit höheren Wahrscheinlichkeiten für einen erfolgreichen Abschluss der Aufgabe ausgeführt.
  • Gemäß einer weiteren vorteilhaften Ausführungsform ist die Steuereinheit dazu ausgeführt, aus einer Vielzahl von jeweils angepassten und abgespeicherten Zuordnungsmodellen eines der Zuordnungsmodelle abhängig von der aktuellen Aufgabe auszuwählen, wobei die Zuordnungsmodelle auf Basis von paarweise verschiedenen Anwendungen angepasst und abgespeichert sind.
  • Vorteile und bevorzugte Weiterbildungen der vorgeschlagenen Steuereinheit ergeben sich durch eine analoge und sinngemäße Übertragung der im Zusammenhang mit dem vorgeschlagenen Verfahren vorstehend gemachten Ausführungen.
  • Weitere Vorteile, Merkmale und Einzelheiten ergeben sich aus der nachfolgenden Beschreibung, in der - gegebenenfalls unter Bezug auf die Zeichnung - zumindest ein Ausführungsbeispiel im Einzelnen beschrieben ist. Gleiche, ähnliche und/oder funktionsgleiche Teile sind mit gleichen Bezugszeichen versehen.
  • Es zeigen:
    • 1 ein Verfahren zum Ermitteln einer Abbruchbedingung für ein Steuerprogramm eines Robotermanipulators gemäß einem Ausführungsbeispiel der Erfindung, und
    • 2 eine Steuereinheit zum Ausführen eines Steuerprogramms und zum Anwenden der nach 1 ermittelten Abbruchbedingung.
  • Die Darstellungen in den Figuren sind schematisch und nicht maßstäblich.
  • 1 zeigt ein Verfahren zum Ermitteln einer Abbruchbedingung für ein Steuerprogramm eines Robotermanipulators 1. Dafür wird ein Zuordnungsmodell anhand einer wiederholt ausgeführten Anwendung trainiert. Die Struktur des Zuordnungsmodells ist durch ein rückgekoppeltes neuronales Netz mit einer vordefinierten Anzahl von Knoten und Verknüpfungen und Komponenten im Eingangsvektor vorgegeben. Lediglich die Gewichtungen des künstlichen neuronalen Netzes werden hierbei angepasst. Die Anwendung umfasst das Ineinanderstecken von zwei Komponenten 3. Dies entspricht dem in der Fachwelt bekannten „peg-in-hole“ Problem für Robotermanipulatoren. In einem ersten Schritt wird daher wiederholt eine Anwendung durchgeführt S1. Das heißt, dass wiederholt der Robotermanipulator 1 durch eine jeweilige Ausführung des Steuerprogramms einen Zylinder als erste der Komponenten 3 in eine Aufnahme für den Zylinder als zweite der Komponenten 3 mit Hilfe seines Endeffektors einführt. Während jeder Durchführung der Anwendung werden ein oder mehrere Werte eines Prozessparameters erfasst S2. Der Prozessparameter ist eine Kraft, die beim Fügen der Komponenten 3 ineinander auftritt. Die Kraft wird laufend überwacht, sodass eine Historie aus Werten dieses Prozessparameters je Schleifendurchlauf der wiederholten Durchführung zur Verfügung steht. Von einem Anwender wird dabei entschieden, wann und ob das Fügen erfolgreich war. Dies erfolgt durch das Vorgeben S3 einer binären Einordnung des Ergebnisses für jede fertig ausgeführte Anwendung. Die binäre Einordnung weist eine Variable im ASCII Format auf und kann die Werte „y‟ für erfolgreiches Fügen und „n‟ für erfolgloses Fügen annehmen. Ferner erfolgt das Zuordnen S4 der jeweiligen vorgegebenen Einordnung des Ergebnisses einer jeweiligen Ausführung der Anwendung zu den in der jeweiligen Ausführung der Anwendung erfassten Werten der Kraft als Prozessparameter. Für jede wiederholte Anwendung des Fügens stehen damit eine Historie des Prozessparameters sowie eine jeweilige Vorgabe zum Erfolg des Fügens bereit. Im weiteren Schritt erfolgt das Anpassen S5 der Gewichtungen des künstlichen neuronalen Netzes als Zuordnungsmodell mit den erfassten Werten des Prozessparameters als Eingangsgrößen und der vorgegebenen Einordnung als Ausgangsgröße des Zuordnungsmodells. Auf diese Weise wird das Zuordnungsmodell trainiert. Es folgt das Abspeichern S6 des angepassten Zuordnungsmodells zum Anwenden des Zuordnungsmodells auf Basis von aktuell erfassten Werten des zumindest einen Prozessparameters im späteren Betrieb des Robotermanipulators 1. Ein solcher Betrieb des Robotermanipulators 1 ist anhand der 2 dargestellt. Um jedoch zugleich die Anwendung selbst zu optimieren, erfolgt ein Ermitteln S7 einer Korrelation zwischen den Werten des jeweiligen Parameters des Steuerprogramms, nämlich der initialen Position des Endeffektors mit der umgriffenen ersten der Komponenten (3) (Zylinder) relativ zur Aufnahme für den Zylinder, und der jeweiligen zugeordneten Einordnung des Ergebnisses sowie das Abspeichern S8 der Korrelation zusammen mit dem angepassten Zuordnungsmodell zum Anwenden der Korrelation zum Optimieren des Steuerprogramms im späteren Betrieb des Robotermanipulators 1 nach 2. Änderungen des Parameters des Steuerprogramms (initiale Position des Endeffektors zu Beginn des Fügevorgangs) ergeben sich dabei durch eine bewusste Variation dieses Parameters im Sinne einer Monte-Carlo-Simulation. Die Bezugszeichen von Bauelementen des Robotermanipulators 1 beziehen sich dabei auch auf die 2, in der die spätere Anwendung des Zuordnungsmodells beschrieben ist, wobei die „Anwendung“ der 1 der „Aufgabe“ nach 2 entspricht, weshalb die Bezugszeichen für beide Beschreibungen der beiden Figuren wechselseitig anwendbar sind.
  • 2 zeigt eine Steuereinheit 5 für einen Robotermanipulator 1, wobei die Steuereinheit 5 dazu ausgeführt ist, ein Steuerprogramm zum Durchführen einer Aufgabe wie unter 1 erläutert auszuführen und während der Durchführung der Aufgabe aktuelle Werte des Prozessparameters zu erfassen. Die Steuereinheit 5 wendet hierbei das nach 1 angepasste und abgespeicherte Zuordnungsmodell auf Basis der aktuell erfassten Werte der aktuell erfassten Prozessgröße an, um einen erfolgreichen oder nicht erfolgreichen Abschluss der Aufgabe zu ermitteln. Ferner wird die Ausführung des Steuerprogramms durch die Steuereinheit 5 bei einem ermittelten erfolgreichen Abschluss der Aufgabe abg ebroch en.
  • Obwohl die Erfindung im Detail durch bevorzugte Ausführungsbeispiele näher illustriert und erläutert wurde, so ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt und andere Variationen können vom Fachmann hieraus abgeleitet werden, ohne den Schutzumfang der Erfindung zu verlassen. Es ist daher klar, dass eine Vielzahl von Variationsmöglichkeiten existiert. Es ist ebenfalls klar, dass beispielhaft genannte Ausführungsformen wirklich nur Beispiele darstellen, die nicht in irgendeiner Weise als Begrenzung etwa des Schutzbereichs, der Anwendungsmöglichkeiten oder der Konfiguration der Erfindung aufzufassen sind. Vielmehr versetzen die vorhergehende Beschreibung und die Figurenbeschreibung den Fachmann in die Lage, die beispielhaften Ausführungsformen konkret umzusetzen, wobei der Fachmann in Kenntnis des offenbarten Erfindungsgedankens vielfältige Änderungen, beispielsweise hinsichtlich der Funktion oder der Anordnung einzelner, in einer beispielhaften Ausführungsform genannter Elemente, vornehmen kann, ohne den Schutzbereich zu verlassen, der durch die Ansprüche und deren rechtliche Entsprechungen, wie etwa weitergehende Erläuterungen in der Beschreibung, definiert wird.
  • Bezugszeichenliste
  • 1
    Robotermanipulator
    3
    Komponenten
    5
    Steuereinheit
    S1
    Durchführen
    S2
    Erfassen
    S3
    Vorgeben
    S4
    Zuordnen
    S5
    Anpassen
    S6
    Abspeichern
    S7
    Ermitteln
    S8
    Abspeichern

Claims (10)

  1. Verfahren zum Ermitteln einer Abbruchbedingung für ein Steuerprogramm eines Robotermanipulators (1), aufweisend die Schritte: - wiederholtes Durchführen (S1) einer Anwendung durch den Robotermanipulator (1), wobei das jeweilige Durchführen der Anwendung mittels Ausführung des Steuerprogramms erfolgt, - Erfassen (S2) von Werten zumindest eines Prozessparameters in jeder der Durchführungen der Anwendung, wobei der zumindest eine Prozessparameter zumindest eines aus den folgenden ist: Eine Position; eine Geschwindigkeit; eine Beschleunigung jeweils eines Referenzpunktes des Robotermanipulators (1) an zumindest einem Zeitpunkt während der Durchführung der Anwendung; eine Kraft; ein Moment; jeweils zwischen dem Robotermanipulator (1) und einem Objekt aus der Umgebung des Robotermanipulators (1) an zumindest einem Zeitpunkt während der Durchführung der Anwendung; ein Vektor von Drehmomenten in den Gelenken des Robotermanipulators (1) an zumindest einem Zeitpunkt während der Durchführung der Anwendung, - Vorgeben (S3) einer binären Einordnung eines Ergebnisses für jede fertig ausgeführte Anwendung, wobei die Einordnung entweder einen erfolgreichen oder einen nicht erfolgreichen Abschluss der jeweiligen Anwendung angibt, - Zuordnen (S4) der jeweiligen vorgegebenen Einordnung des Ergebnisses einer jeweiligen Ausführung der Anwendung zu den in der jeweiligen Ausführung der Anwendung erfassten Werten des zumindest einen Prozessparameters, - Anpassen (S5) eines strukturell vorgegebenen Zuordnungsmodells mit den erfassten Werten des zumindest einen Prozessparameters als Eingangsgrößen und der zugeordneten Einordnung als Ausgangsgröße des Zuordnungsmodells, und - Abspeichern (S6) des angepassten Zuordnungsmodells zum Anwenden des Zuordnungsmodells auf Basis von aktuell erfassten Werten des zumindest einen Prozessparameters im späteren Betrieb des Robotermanipulators (1).
  2. Verfahren nach Anspruch 1, wobei die Anwendung das Ineinanderstecken von zwei Komponenten (3) umfasst.
  3. Verfahren nach einem der Ansprüche 1 bis 2, wobei das Zuordnungsmodell ein verdecktes Markowmodell ist.
  4. Verfahren nach einem der Ansprüche 1 bis 2, wobei das Zuordnungsmodell ein rückgekoppeltes neuronales Netz ist.
  5. Verfahren nach einem der Ansprüche 1 bis 2, wobei das Zuordnungsmodell ein agentenbasiertes Modell aus Bedingungsstrukturen ist.
  6. Verfahren nach einem der vorhergehenden Ansprüche, wobei das wiederholte Durchführen der Anwendung mit verschiedenen Werten zumindest eines Parameters des Steuerprogramms erfolgt.
  7. Verfahren nach Anspruch 6, weiterhin aufweisend die Schritte: - Ermitteln (S7) einer Korrelation zwischen den Werten des zumindest einen Parameters des Steuerprogramms und der jeweiligen zugeordneten Einordnung des Ergebnisses, und - Abspeichern (S8) der Korrelation zusammen mit dem angepassten Zuordnungsmodell zum Anwenden der Korrelation zum optimieren des Steuerprogramms im späteren Betrieb des Robotermanipulators (1).
  8. Steuereinheit (5) für einen Robotermanipulator (1), wobei die Steuereinheit (5) dazu ausgeführt ist, ein Steuerprogramm zum Durchführen einer Aufgabe auszuführen und während der Durchführung der Aufgabe aktuelle Werte zumindest eines Prozessparameters zu erfassen, wobei der zumindest eine Prozessparameter zumindest eines aus den folgenden ist: eine Position, eine Geschwindigkeit, eine Beschleunigung jeweils eines Referenzpunktes des Robotermanipulators (1) zu zumindest einem Zeitpunkt während der Ausführung der Anwendung; eine Kraft, ein Moment jeweils zwischen dem Robotermanipulator (1) und einem Objekt aus der Umgebung des Robotermanipulators (1); ein Vektor von Drehmomenten in den Gelenken des Robotermanipulators (1); und wobei die Steuereinheit (5) dazu ausgeführt ist, durch Anwenden des nach einem der Ansprüche 1 bis 6 angepassten und abgespeicherten Zuordnungsmodells auf Basis der aktuell erfassten Werte der zumindest einen Prozessgröße einen erfolgreichen oder nicht erfolgreichen Abschluss der Aufgabe zu ermitteln, und wobei die Steuereinheit (5) dazu ausgeführt ist, bei einem ermittelten erfolgreichen Abschluss der Aufgabe das Durchführen der Aufgabe abzubrechen.
  9. Steuereinheit (5) nach Anspruch 8, wobei die Steuereinheit (5) dazu ausgeführt ist, durch Anwenden der abgespeicherten Korrelation nach Anspruch 7 beim Ausführen der Aufgabe solche Werte des zumindest einen Parameters des Steuerprogramms anzuwenden, die gemäß der Korrelation zu einem erfolgreichen Abschluss der Aufgabe führen.
  10. Steuereinheit (5) nach einem der Ansprüche 8 bis 9, wobei die Steuereinheit (5) dazu ausgeführt ist, aus einer Vielzahl von jeweils nach einem der Ansprüche 1 bis 6 angepassten und abgespeicherten Zuordnungsmodellen eines der Zuordnungsmodelle abhängig von der aktuellen Aufgabe auszuwählen, wobei die Zuordnungsmodelle auf Basis von paarweise verschiedenen Anwendungen angepasst und abgespeichert sind.
DE102020103854.2A 2020-02-14 2020-02-14 Maschinelles Lernen einer erfolgreich abgeschlossenen Roboteranwendung Active DE102020103854B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102020103854.2A DE102020103854B4 (de) 2020-02-14 2020-02-14 Maschinelles Lernen einer erfolgreich abgeschlossenen Roboteranwendung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020103854.2A DE102020103854B4 (de) 2020-02-14 2020-02-14 Maschinelles Lernen einer erfolgreich abgeschlossenen Roboteranwendung

Publications (2)

Publication Number Publication Date
DE102020103854A1 true DE102020103854A1 (de) 2021-08-19
DE102020103854B4 DE102020103854B4 (de) 2022-06-15

Family

ID=77060476

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020103854.2A Active DE102020103854B4 (de) 2020-02-14 2020-02-14 Maschinelles Lernen einer erfolgreich abgeschlossenen Roboteranwendung

Country Status (1)

Country Link
DE (1) DE102020103854B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102022208089A1 (de) 2022-08-03 2024-02-08 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Steuern eines Roboters

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013203287B4 (de) 2012-06-21 2016-01-21 Honda Motor Co., Ltd. Verhaltenssteuerungssystem
DE112010000775B4 (de) 2009-02-12 2016-03-17 Kyoto University Industrierobotersystem
DE102016008987A1 (de) 2015-07-31 2017-02-02 Fanuc Corporation Maschinenlernverfahren und Maschinenlernvorrichtung zum Lernen von Fehlerbedingungen, und Fehlervorhersagevorrichtung und Fehlervorhersagesystem, das die Maschinenlernvorrichtung einschließt
DE102017223717B4 (de) 2017-12-22 2019-07-18 Robert Bosch Gmbh Verfahren zum Betreiben eines Roboters in einem Multiagentensystem, Roboter und Multiagentensystem
DE202019105752U1 (de) 2019-10-17 2019-10-30 Franka Emika Gmbh Robotersystem mit Arbeitstisch und Ausgabe von Kosten eines Steuerprogramms
DE112018005832T5 (de) 2017-11-14 2020-07-30 Mitsubishi Electric Corporation Bewegungseinstellungsvorrichtung für roboter, bewegungssteuerungssystem und robotersystem

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112010000775B4 (de) 2009-02-12 2016-03-17 Kyoto University Industrierobotersystem
DE102013203287B4 (de) 2012-06-21 2016-01-21 Honda Motor Co., Ltd. Verhaltenssteuerungssystem
DE102016008987A1 (de) 2015-07-31 2017-02-02 Fanuc Corporation Maschinenlernverfahren und Maschinenlernvorrichtung zum Lernen von Fehlerbedingungen, und Fehlervorhersagevorrichtung und Fehlervorhersagesystem, das die Maschinenlernvorrichtung einschließt
DE112018005832T5 (de) 2017-11-14 2020-07-30 Mitsubishi Electric Corporation Bewegungseinstellungsvorrichtung für roboter, bewegungssteuerungssystem und robotersystem
DE102017223717B4 (de) 2017-12-22 2019-07-18 Robert Bosch Gmbh Verfahren zum Betreiben eines Roboters in einem Multiagentensystem, Roboter und Multiagentensystem
DE202019105752U1 (de) 2019-10-17 2019-10-30 Franka Emika Gmbh Robotersystem mit Arbeitstisch und Ausgabe von Kosten eines Steuerprogramms

Also Published As

Publication number Publication date
DE102020103854B4 (de) 2022-06-15

Similar Documents

Publication Publication Date Title
DE102010018759A1 (de) Spannungsverteilung in einem sehnengetriebenen Roboterfinger
DE10341573A1 (de) Integrierte modellbasierte prädikative Steuerung und Optimierung innerhalb eines Prozesssteuerungssystems
DE102011002842B4 (de) Simulationsmodell für eine Windenergieanlage sowie Erzeugung und Verwendung
DE10341574A1 (de) Konfiguration und Betrachtungsanzeige für einen integrierten prädiktiven Modellsteuerungs- und Optimierungsfunktionsblock
DE102008020379A1 (de) Verfahren zur rechnergestützten Steuerung und/oder Regelung eines technischen Systems
DE102019203821B3 (de) Verfahren und System zum Durchführen einer Roboterapplikation
WO2018103974A1 (de) Verfahren zur softwareaktualisierung bei cloud-gateways, computerprogramm mit einer implementation des verfahrens und verarbeitungseinheit zur ausführung des verfahrens
EP3701433A1 (de) Verfahren, vorrichtung und computerprogramm zur erstellung eines tiefen neuronalen netzes
DE102020202350A1 (de) Verfahren und Vorrichtung zum Unterstützen einer Manöverplanung für ein automatisiert fahrendes Fahrzeug oder einen Roboter
DE102020103854A1 (de) Maschinelles Lernen einer erfolgreich abgeschlossenen Roboteranwendung
EP3918528A1 (de) Verfahren zum trainieren und zum betrieb eines multitaskingfähigen künstlichen neuronalen netz, multitaskingfähiges künstliches neuronales netz und vorrichtung
DE202019103862U1 (de) Vorrichtung zum Erstellen einer Strategie für einen Roboter
DE202019100641U1 (de) Trainingsgerät für KI-Module
DE102020206913B4 (de) Verfahren und Vorrichtung zum Betreiben eines Roboters
EP3979009A1 (de) Erzeugen eines vereinfachten modells für xil-systeme
DE202021102832U1 (de) Vorrichtung zum Training neuronaler Netzwerke im Hinblick auf den Hardware- und Energiebedarf
WO2021160634A1 (de) Erzeugen und optimieren eines steuerprogramms für einen robotermanipulator
DE102022112606B3 (de) Computerimplementiertes Verfahren zur Kalibrierung eines technischen Systems
EP3953865A1 (de) Verfahren, vorrichtung und computerprogramm zum betreiben eines tiefen neuronalen netzes
DE10325513B4 (de) Verfahren und Vorrichtung zum Erstellen eines Verhaltensaspekts einer Schaltung zur formalen Verifikation
EP1637945B1 (de) Automatisierungssystem mit affektiver Steuerung
AT522520B1 (de) Verfahren für eine Kontrolle eines Schutzverfahrens für den Schutz einer Elektrode einer Batterievorrichtung
DE102021204935A1 (de) Verfahren und System zum Betreiben einer Maschine
DE102023206978A1 (de) Evaluieren eines Modells für einen physikalischen Zustand
DE102014215640A1 (de) Programmverarbeitungsverfahren eine CPU und ein dasselbe verwendender Fahrzeugcontroller

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R083 Amendment of/additions to inventor(s)
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final