-
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.
-
Die Optimierung von Steuerprogrammen für Robotermanipulatoren ist prinzipiell im Stand der Technik bekannt.
-
So betrifft die
DE 20 2019 105 752 U1 ein Robotersystem, aufweisend einen Robotermanipulator mit einer Vielzahl von durch Gelenken miteinander verbundenen Gliedern, eine Steuereinheit, eine Recheneinheit, und eine Ausgabeeinheit, wobei die Steuereinheit zum Ansteuern von Aktuatoren des Robotermanipulators zum Ausführen einer Aufgabe gemäß einem vorgegebenen Steuerprogramm ausgeführt ist, und wobei die Recheneinheit dazu ausgeführt ist, prädizierend die beim Ausführen des Steuerprogramms auftretenden Kosten zu ermitteln und an die Ausgabeeinheit einen auf den ermittelten Kosten basierenden Kostenwert zum Ausgeben zu übermitteln, wobei die Ausgabeeinheit zum Ausgeben des Kostenwerts ausgeführt ist.
-
Die
DE 11 2018 005 832 T5 betrifft eine Bewegungseinstellungsvorrichtung für einen in einem Robotersystem verwendeten Roboter, wobei das Robotersystem Folgendes aufweist: den mit einem Endeffektor ausgestatteten Roboter; und eine Robotersteuerungsvorrichtung, um eine Bewegung des Roboters zu steuern, wobei der Roboter dazu konfiguriert ist, eine Arbeit an einem Arbeitsziel indem Robotersystem durchzuführen, wobei die Bewegungseinstellungsvorrichtung eine Befehlswert-Lerneinheit aufweist, um einen Bewegungs-Befehlswert einzustellen, der von der Robotersteuerungsvorrichtung an den Roboter übertragen wird, um die Bewegung des Roboters zu steuern, indem Lernen unter Verwendung einer Kraft als Input durchgeführt wird, die auf den Endeffektor wirkt und von einem in dem Robotersystem enthaltenen externen Sensor detektiert wird.
-
Die
DE 10 2017 223 717 B4 betrifft ein Verfahren zum Betreiben eines Multiagentensystems mit mehreren Robotern, wobei jeder der Roboter folgendes Verfahren zyklisch bis zum Erreichen eines Zielsystemzustands ausführt: ausgehend von einem momentanen Systemzustand, Ermitteln von möglichen Optionen, bei denen ein Fortschritt entlang eines Pfades von Systemzuständen in einem vorgegebenen deterministischen endlichen Automaten erreicht wird, wobei die Optionen Aktionen definieren, durch die ein Übergang von einem aktuellen zu einem nachfolgenden Systemzustand erreicht werden kann; für jede der möglichen Optionen, Ermitteln eines Kostenwerts zur Durchführung einer durch die Option angegebenen Aktion; Durchführen einer Auktion, wobei die für jede Option ermittelten Kostenwerte von jedem der übrigen Roboter berücksichtigt wird; und Ausführen einer Aktion, die einer der Optionen entspricht, abhängig von allen zu der betreffenden Option ermittelten oder empfangenen Kostenwerten.
-
Die
DE 10 2016 008 987 A1 betrifft eine Maschinenlernvorrichtung, die eine Bedingung lernt, die mit einem Fehler einer Industriemaschine in Zusammenhang steht, wobei die Vorrichtung Folgendes umfasst: eine Zustandsbeobachtungseinheit, die, während die Industriemaschine in Betrieb oder im Ruhezustand ist, eine Zustandsvariable beobachtet, die wenigstens entweder eine Datenausgabe aus einem Sensor, der einen Zustand entweder der Industriemaschine oder einer umgebenden Umgebung erfasst, interne Daten einer Steuersoftware, die die Industriemaschine steuert, oder Rechendaten, die basierend auf entweder den Ausgabedaten oder den internen Daten erhalten werden, umfasst; eine Bestimmungsdaten Erhalteinheit, die Bestimmungsdaten erhält, die dazu verwendet werden, entweder zu bestimmen, ob ein Fehler in der Industriemaschine aufgetreten ist, oder einen Fehlergrad zu bestimmen; und eine Lerneinheit, die die Bedingung lernt, die mit dem Fehler der Industriemaschine in Zusammenhang steht, gemäß einem Schulungsdatensatz, der basierend auf einer Kombination der Zustandsvariablen mit den Bestimmungsdaten erzeugt wird.
-
Die
DE 10 2013 203 287 B4 betrifft ein System, das konfiguriert ist, um ein Verhalten eines Agenten zu steuern/zu regeln, um zu veranlassen, dass der Agent selektiv eine Mehrzahl von Teilaufgaben für ein Objekt ausführt, wobei das System umfasst: ein erstes Arithmetikprozesselement, das konfiguriert ist, um eine Mehrzahl von Zustandsvariablen Trajektorien zu generieren, die Zeitserien einer Zustandsvariable des Objekts repräsentieren, gemäß einem stochastischen Übergangsmodell, worin die Zustandsvariable des Objekts als Zufallsvariable repräsentiert ist, und worin der Übergangsmodus der Zustandsvariable unter konstanter Berücksichtigung aller Ausführungswahrscheinlichkeiten der Mehrzahl von Teilaufgaben bestimmt ist, und alle diese Ausführungswahrscheinlichkeiten der Mehrzahl von Teilaufgaben durch eine durch eine Dirichlet Verteilung evaluiert werden und sich entlang dem Zeitübergang verändern; und ein zweites Arithmetikprozesselement, das konfiguriert ist, um einen Betrieb des Agenten so zu steuern/zu regeln, dass die Zustandsvariable des Objekts in eine gewünschte Zustandsvariablen Trajektorie übergeht, die eine Verknüpfungswahrscheinlichkeit einer Gesamtheit des stochastischen Übergangsmodells unter der Mehrzahl von Zustandsvariablen Trajektorien, die von dem ersten Artihmetikprozesselement generiert werden, maximiert oder optimiert.
-
Die
DE 11 2010 000 775 B4 betrifft ein Industrierobotersystem, das einen Roboter umfasst, der einen Manipulator und eine Hand hat und für ein Produktionssystem zur Montage eines Produkts verwendet wird, bei dem es sich um einen herzustellenden Gegenstand handelt, Folgendes umfassend: einen Maßnahmenplanungsabschnitt für temporäre Stopps zum Generieren von Aufgabeninformation und eines ersten Arbeitswegs, um einen ersten temporären Stopp anzugehen, der ein Hindernis für eine Anlernaufgabe, wenn eine Produktionsstraße angefahren und eingestellt wird, und einen bedienerlosen Dauerbetrieb darstellt; einen Fehlereinschleppungsaufgabenverhinderungsabschnitt zum Generieren von Fehlerinformation, die zum Verhindern einer Aufgabe, die einen Fehler auf Grundlage der Aufgabeninformation einschleppt, verwendet wird; einen Anlernaufgabenabschnitt zum Generieren eines zweiten Arbeitswegs, der absolute Koordinaten genau angibt, auf Grundlage des ersten Arbeitswegs und der Fehlerinformation; einen Betriebsbewältigungsabschnitt zum Generieren eines für den Roboter optimierten dritten Arbeitswegs auf Grundlage des zweiten Arbeitswegs; eine Handbibliothek, die gebildet wird, indem eine Montageaufgabe des Roboters und Steuersoftware miteinander in Verbindung gebracht werden; einen Optimalaufgabenbetrieb Generierungsabschnitt zum Generieren eines Betriebsablaufs spezifischer Aufgaben; eine Bibliothek spezifischer Aufgaben zum Speichern des Betriebsablaufs von spezifischen Aufgaben; einen Fehlerbehebungsaufgabenanlernabschnitt zum Anlernen einer Fehlerbehebungsaufgabe entsprechend einem Fehlerzustand auf Grundlage einer Betriebsgeschichte im Anlernfehlerabschnitt; eine Fehlerbehebungsbibliothek zum Speichern der Fehlerbehebungsaufgabe; einen Finger Augen Kameramessabschnitt und einen Dreidimensionserkennungsabschnitt zum Generieren von Betriebsüberwachungsinformation über den Roboter und Eingeben der Betriebsüberwachungsinformation in den Fehlereinschleppungsaufgabenverhinderungsabschnitt, den Anlernaufgabenabschnitt und den Betriebsbewältigungsabschnitt; und eine Steuereinheit zum Steuern des Roboters auf Grundlage des zweiten Arbeitswegs und des dritten Arbeitswegs und der Betriebsüberwachungsinformation, wobei: der Maßnahmenplanungsabschnitt für temporäre Stopps den ersten Arbeitsweg generiert, auf Grundlage von Konfigurationsinformation über das Produktionssystem und den herzustellenden Gegenstand, die zumindest dreidimensionale Geometriedaten über die Teileverbindungsinformation; und Geometrieformdaten des Produkts und Anlagenlayoutdaten umfasst, von in der Handbibliothek, der Bibliothek spezifischer Aufgaben, und der Fehlerbehebungsbibliothek gespeicherter Information und der Fehlerinformation aus dem Fehlereinschleppungsaufgabenverhinderungsabschnitt, umfassend Fehlerauftrittswahrscheinlichkeitsinformation für die Kandidaten des Arbeitsablaufs und Vorlagen des Arbeitsweges, wobei der erste Arbeitsweg Arbeitswege mit ungefähren Koordinaten umfasst und Teil der Eingabeinformation für den Anlernfehlerabschnitt ist; die Aufgabeninformation mindestens einen Kontrollpunkt zum Prüfen eines temporären Stopps während der Aufgabe, einen Wiederanlaufpunkt, wobei es eine Rückkehr zu diesem ermöglicht, die Aufgabe wieder aufzunehmen, wenn der Kontrollpunkt nicht überschritten ist, einen Rückstellweg zur Rückkehr zum Wiederanlaufpunkt, Arbeitswege, die die jeweiligen Punkte miteinander verbinden, und einen Ablauf, der den Ausführungsablauf jedes der Arbeitswege beschreibt, und einen Synchronisierungspunkt umfasst; der Anlernaufgabenabschnitt auf Grundlage einer Eingabe durch einen Bediener, der eine Eingabeaufgabe unter Verwendung einer Anlernaufgabeneingabeeinrichtung ausführt, für die Arbeitswege einschließlich ungefährer Koordinaten Arbeitswege, für die absolute Koordinaten festgelegt sind, bestimmt, beim Generieren des zweiten Arbeitswegs, der Arbeitswege enthält, für die absolute Koordinaten festgelegt sind, den Bediener über einen Aufgabenbetrieb, der einen Fehler verursacht, warnt; der Fehlerbehebungsaufgabenanlernabschnitt Fehlerbehebungsinformation über Komponenten, die der Roboter umfasst, auf Grundlage einer Ursache für den Auftritt des Fehlers und der Betriebsgeschichte aus dem Anlernaufgabenabschnitt berechnet; und der Maßnahmenplanungsabschnitt für temporäre Stopps, der Anlernaufgabenabschnitt und der Betriebsbewältigungsabschnitt den dritten Arbeitsweg umfassende Programminformation, die zum Anlernen des Roboters erforderlich ist, aus der Konfigurationsinformation über das Produktionssystem und den herzustellenden Gegenstand generieren.
-
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 insbesondere durch einen Anwender, 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 abgebrochen.
-
Bezugszeichenliste
-
- 1
- Robotermanipulator
- 3
- Komponenten
- 5
- Steuereinheit
- S1
- Durchführen
- S2
- Erfassen
- S3
- Vorgeben
- S4
- Zuordnen
- S5
- Anpassen
- S6
- Abspeichern
- S7
- Ermitteln
- S8
- Abspeichern