Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
CARRYING OUT AN APPLICATION USING AT LEAST ONE ROBOT
Document Type and Number:
WIPO Patent Application WO/2021/001312
Kind Code:
A1
Abstract:
The invention relates to a method for carrying out an application using at least one robot (1), comprising the steps, repeated multiple times: ascertaining (S100) a stochastic value of at least one robot parameter and/or at least one environmental model parameter, in particular on the basis of a specified stochastic parameter model and/or using at least one random generator (3a); and carrying out (S200) a simulation, in particular a multi-stage simulation, of the application on the basis of the ascertained stochastic value; the steps: training (S200, S500) at least one control agent and/or at least one classification agent using the simulations by means of machine learning, in particular training a first control agent and/or first classification agent by means of first stages of the simulations, and at least one additional control agent and/or additional classification agent by means of additional stages of the simulations; and carrying out (S600) the application using the robot; and at least one of the steps: configuring (S400) a controller of the robot, by means of which the application is carried out wholly or in part, on the basis of the trained control agent, in particular on the basis of the trained control agents; and/or classifying (S700) the application using the trained classification agent, in particular using the trained classification agents.

Inventors:
KASPAR MANUEL (DE)
VENET PIERRE (DE)
SCHWINN JONAS (DE)
Application Number:
PCT/EP2020/068241
Publication Date:
January 07, 2021
Filing Date:
June 29, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
KUKA DEUTSCHLAND GMBH (DE)
International Classes:
B25J9/16
Foreign References:
DE202017106132U12017-11-13
CN108052004A2018-05-18
Other References:
STEVEN BOHEZ ET AL: "Sensor Fusion for Robot Control through Deep Reinforcement Learning", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 13 March 2017 (2017-03-13), XP080756705, DOI: 10.1109/IROS.2017.8206048
RYOU GILHYUN ET AL: "Applying Asynchronous Deep Classification Networks and Gaming Reinforcement Learning-Based Motion Planners to Mobile Robots", 2018 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION (ICRA), IEEE, 21 May 2018 (2018-05-21), pages 6268 - 6275, XP033403292, DOI: 10.1109/ICRA.2018.8460798
PAUL SOMDYUTI ET AL: "Deterministic Policy Gradient Based Robotic Path Planning with Continuous Action Spaces", 2017 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION WORKSHOPS (ICCVW), IEEE, 22 October 2017 (2017-10-22), pages 725 - 733, XP033303516, DOI: 10.1109/ICCVW.2017.91
Attorney, Agent or Firm:
TILLMANN, Axel (DE)
Download PDF:
Claims:
Patentansprüche

1. Verfahren zum Durchführen einer Applikation mithilfe wenigstens eines Roboters (1 ), wobei das Verfahren die mehrfach wiederholten Schritte:

- Ermitteln (S100) eines stochastischen Wertes wenigstens eines

Roboterparameters und/oder wenigstens eines Umweltmodelparameters, insbesondere auf Basis eines vorgegebenen stochastischen Parametermodells und/oder mithilfe wenigstens eines Zufallsgenerators (3a); und

- Durchführen (S200) einer, insbesondere mehrstufigen, Simulation der

Applikation auf Basis des ermittelten stochastischen Wertes;

die Schritte:

- Trainieren (S200, S500) wenigstens eines Steuerungs-Agenten und/oder

wenigstens eines Klassifikations-Agenten mithilfe der Simulationen mittels maschinellen Lernens, insbesondere Trainieren eines ersten

Steuerungs-Agenten und/oder ersten Klassifikations-Agenten mithilfe erster Stufen der Simulationen, und wenigstens eines weiteren Steuerungs-Agenten und/oder weiteren Klassifikations-Agenten mithilfe weiterer Stufen der

Simulationen; und

- Durchführen (S600) der Applikation mithilfe des Roboters;

sowie wenigstens einen der Schritte aufweist:

- Konfigurieren (S400) einer Steuerung des Roboters, mit der die Applikation ganz oder teilweise durchgeführt wird, auf Basis des, insbesondere der, trainierten Steuerungs-Agenten; und/oder

- Klassifikation (S700) der Applikation mithilfe des, insbesondere der, trainierten Klassifikations-Agenten.

2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass der wenigstens eine Steuerungs-Agent und/oder der wenigstens eine Klassifikations-Agent eine maschinell gelernte Anomalieerkennung und/oder maschinell gelernte

Fehlererkennung und/oder wenigstens ein künstliches neuronales Netz aufweist, insbesondere die Steuerung des Roboters auf Basis der Struktur und/oder Gewichtungen des trainierten Netzes konfiguriert wird, und/oder der wenigstens eine Steuerungs-Agent und/oder der wenigstens eine Klassifikations-Agent mithilfe von Reinforcement Learning und/oder mithilfe des Roboters trainiert wird.

3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der wenigstens eine Klassifikations-Agent die Applikation auf Basis wenigstens eines, insbesondere wandernden, Zeitausschnitts und/oder während oder nach dem Durchführen der Applikation klassifiziert und/oder der wenigstens eine Steuerungs-Agent und/oder der wenigstens eine Klassifikations-Agent auf Basis wenigstens einer beim Durchführen der Applikation nicht gemessenen Zustandsgröße trainiert wird.

4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass

- der Roboterparameter eine Startpose, wenigstens eine Zwischenpose

und/oder eine Zielpose der Applikation und/oder einen Kraftparameter einer roboterinternen und/oder einer am Roboter wenigstens temporär wirkenden externen Kraft und/oder einen kinematischen, insbesondere dynamischen, Roboterstrukturparameter aufweist; und/oder

- der Umweltmodelparameter einen kinematischen, insbesondere dynamischen, Umgebungs-, insbesondere Laststrukturparameter aufweist; und/oder

- der Roboterparameter und/oder der Umweltmodelparameter mithilfe einer robotergestützten Parameteridentifikation ermittelt wird.

5. Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass geprüft wird, ob die Startpose, Zwischenpose und/oder Zielpose mit dem Roboter erreichbar ist.

6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das stochastische Parametermodell auf Basis der Applikation und/oder einer Benutzereingabe vorgegeben, insbesondere aus einer Mehrzahl zur Verfügung gestellter unterschiedlicher Parametermodelle ausgewählt, ist und/oder in einer Abbildung der Applikation durch einen markierten Bereich visualisiert wird und/oder der Roboter- und/oder Umweltmodelparameter auf Basis der Applikation und/oder einer Benutzereingabe vorgegeben, insbesondere aus einer Mehrzahl zur Verfügung gestellter unterschiedlicher Parameter ausgewählt, ist und/oder in einer Abbildung der Applikation durch einen markierten Bereich visualisiert wird.

7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die konfigurierte Steuerung des Roboters und/oder die maschinell gelernte Anomalieerkennung und/oder Fehlererkennung mithilfe wenigstens einer weiteren Simulation, insbesondere auf Basis einer automatisierten oder Benutzervorgabe eines Wertes wenigstens eines Roboterparameters und/oder wenigstens eines Umweltmodelparameters, getestet und/oder mithilfe des Roboters weiter trainiert wird.

8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das stochastische Parametermodell mithilfe maschinellen Lernens vorgegeben ist.

9. Verfahren zum Konfigurieren einer Steuerung eines Roboters (1) zum Durchführen einer Applikation mithilfe des Roboters, wobei das Verfahren die mehrfach wiederholten Schritte des Ermittelns (S100) eines stochastischen Wertes und Durchführens (S200) einer Simulation und den Schritt des Trainierens (S200) wenigstens eines Steuerungs-Agenten nach einem Verfahren nach Anspruch 1 , insbesondere zusätzlich ein oder mehrere Merkmale eines oder mehrerer der Ansprüche 2 bis 8, sowie den Schritt aufweist: Konfigurieren (S400) der Steuerung des Roboters zum Durchführen der Applikation auf Basis des, insbesondere der, trainierten Steuerungs-Agenten.

10. Verfahren zum Trainieren wenigstens eines Klassifikations-Agenten zur

Klassifikation einer Roboterapplikation, insbesondere zusammen mit einem Konfigurieren einer Steuerung eines Roboters (1) zum Durchführen der

Applikation nach einem Verfahren nach dem vorhergehenden Anspruch, wobei das Verfahren zum Trainieren die mehrfach wiederholten Schritte des Ermittelns (S100) eines stochastischen Wertes und Durchführens (S200) einer Simulation und den Schritt des Trainierens (S500) wenigstens eines Klassifikations-Agenten, insbesondere den Schritt des Trainierens (S200, S500) wenigstens eines

Steuerungs-Agenten und wenigstens eines Klassifikations-Agenten, nach einem Verfahren nach Anspruch 1 , insbesondere zusätzlich ein oder mehrere Merkmale eines oder mehrerer der Ansprüche 2 bis 8, aufweist.

11. Verfahren zum Durchführen einer Applikation mithilfe wenigstens eines Roboters (1), mit dem Schritt: Durchführen (S600) der Applikation mithilfe des Roboters, wobei eine Steuerung des Roboters, mit der die Applikation ganz oder teilweise durchgeführt wird, nach einem Verfahren nach Anspruch 9 konfiguriert ist und/oder die Applikation mithilfe wenigstens eines Klassifikations-Agenten klassifiziert wird, der nach einem Verfahren nach Anspruch 10 trainiert ist.

12. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass wenigstens einer der Verfahrensschritte eine Anwendereingabeunterstützung durch einen Software-Assistenten, insbesondere eine Benutzeroberflächenführung, aufweist.

13. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass wenigstens einer der Verfahrensschritte in einer Cloud (4) durchgeführt wird.

14. System zum Durchführen einer Applikation mithilfe wenigstens eines Roboters (1 ), wobei das System zur Durchführung eines Verfahrens nach einem der

vorhergehenden Ansprüche eingerichtet ist und/oder aufweist:

Mittel zum mehrfach wiederholten Ermitteln eines stochastischen Wertes wenigstens eines Roboterparameters und/oder wenigstens eines

Umweltmodelparameters, insbesondere auf Basis eines vorgegebenen

stochastischen Parametermodells und/oder mithilfe wenigstens eines

Zufallsgenerators (3a), und Durchführen einer, insbesondere mehrstufigen, Simulation der Applikation auf Basis des ermittelten stochastischen Wertes; und Mittel zum Trainieren wenigstens eines Steuerungs-Agenten und/oder wenigstens eines Klassifikations-Agenten mithilfe der Simulationen mittels maschinellen Lernens, insbesondere Trainieren eines ersten Steuerungs-Agenten und/oder ersten Klassifikations-Agenten mithilfe erster Stufen der Simulationen, und wenigstens eines weiteren Steuerungs-Agenten und/oder weiteren

Klassifikations-Agenten mithilfe weiterer Stufen der Simulationen; und/oder aufweist:

Mittel zum Durchführen der Applikation mithilfe des Roboters, wobei eine

Steuerung des Roboters, mit der die Applikation ganz oder teilweise durchgeführt wird, auf Basis des, insbesondere der, trainierten Steuerungs-Agenten konfiguriert ist und/oder die Applikation mithilfe des, insbesondere der, trainierten Klassifikations-Agenten klassifiziert wird; und/oder aufweist:

Mittel zum Konfigurieren einer Steuerung des Roboters auf Basis des,

insbesondere der, trainierten Steuerungs-Agenten zum Durchführen der

Applikation; und/oder aufweist:

Mittel zur Klassifikation der Applikation mithilfe des, insbesondere der, trainierten Klassifikations-Agenten.

15. Verfahren zum Konfigurieren einer Steuerung (2) eines Roboters (1) zum

Durchführen einer vorgegebenen Aufgabe, mit den Schritten:

Erfassen (S10, S20) wenigstens eines Roboterparameters und wenigstens eines Umweltmodelparameters;

Trainieren (S40) eines Agenten mithilfe wenigstens einer Simulation auf Basis des erfassten Roboterparameters und Umweltmodelparameters mittels maschinellen Lernens auf Basis einer vorgegebenen Kostenfunktion; und

Konfigurieren (S50) der Steuerung des Roboters auf Basis des trainierten Agenten.

16. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass die vorgegebene

Aufgabe wenigstens eine Bewegung des Roboters, insbesondere wenigstens einen planmäßigen Umgebungskontakt des Roboters, aufweist.

17. Verfahren nach einem der Ansprüche 15 und 16, dadurch gekennzeichnet, dass der Roboterparameter einen kinematischen, insbesondere dynamischen,

Roboter- und/oder Lastmodellparameter, eine aktuelle Roboterpose

und/oder -betriebszeit aufweist; und/oder

der Umweltmodelparameter einen CAD-Modellparameter und/oder eine

Roboterpositionierung in dem Umgebungsmodell aufweist; und/oder

mithilfe wenigstens eines optischen Sensors ermittelt wird.

18. Verfahren nach Anspruch 17, dadurch gekennzeichnet, dass der optische Sensor von einer Person oder einem, insbesondere handgeführten, Roboter geführt wird.

19. Verfahren nach einem der Ansprüche 15 bis 18, dadurch gekennzeichnet, dass der Agent ein künstliches neuronales Netz aufweist, insbesondere die Steuerung des Roboters auf Basis der Struktur und/oder Gewichtungen des trainierten Netzes konfiguriert wird, und/oder der Agent mithilfe von Reinforcement Learning trainiert wird.

20. Verfahren nach einem der Ansprüche 15 bis 19, dadurch gekennzeichnet, dass die konfigurierte Steuerung des Roboters mittels maschinellem Lernen,

insbesondere Reinforcement Learning, mithilfe des Roboters weiter trainiert wird (S60).

21. Verfahren nach einem der Ansprüche 15 bis 20, dadurch gekennzeichnet, dass wenigstens einer der Verfahrensschritte eine Anwendereingabeunterstützung durch einen Software-Assistenten, insbesondere eine Benutzeroberflächenführung, aufweist und/oder der Roboterparameter und/oder Umweltmodelparameter in einer Verwaltungsschale und/oder einer Daten-Cloud gespeichert ist.

22. Verfahren zum Durchführen einer vorgegebenen Aufgabe mithilfe wenigstens

eines Roboters, dadurch gekennzeichnet, dass eine Steuerung des Roboters nach einem Verfahren nach einem der Ansprüche 15 bis 21 konfiguriert ist. 23. System, das zur Durchführung eines Verfahrens nach einem der Ansprüche 15 bis

22 eingerichtet ist.

24. Computerprogrammprodukt mit einem Programmcode, der auf einem von einem Computer lesbaren Medium gespeichert ist, zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 13 oder 15 bis 22.

Description:
Beschreibung

Durchführen einer Applikation mithilfe wenigstens eines Roboters

Die vorliegende Erfindung betrifft insbesondere ein Verfahren zum Durchführen einer Applikation mithilfe wenigstens eines Roboters, ein Verfahren zum Konfigurieren einer Steuerung eines Roboters zum Durchführen einer Applikation bzw. vorgegebenen Aufgabe, ein Verfahren zum Trainieren wenigstens eines Klassifikations-Agenten zur Klassifikation einer Roboterapplikation, ein Verfahren zum Durchführen einer vorgegebenen Aufgabe mithilfe wenigstens eines Roboters mit einer entsprechend konfigurierten Steuerung sowie ein System und ein Computerprogrammprodukt zur Durchführung wenigstens eines dieser Verfahren.

Um Applikationen bzw. vorgegebene Aufgaben durchzuführen, müssen Steuerungen von Robotern entsprechend konfiguriert werden, herkömmlicherweise durch

manuelles Erstellen von Roboterprogrammen oder dergleichen.

Eine Aufgabe einer Ausführung der vorliegenden Erfindung ist es, das Durchführen einer Applikation bzw. vorgegebenen Aufgabe mithilfe wenigstens eines Roboters zu verbessern. Eine Aufgabe einer Ausführung der vorliegenden Erfindung ist es, das Konfigurieren einer Steuerung des Roboters zum Durchführen der Applikation bzw. vorgegebenen Aufgabe zu verbessern. Eine Aufgabe einer Ausführung der

vorliegenden Erfindung ist es, eine Klassifikation einer Roboterapplikation zu verbessern. Eine Aufgabe einer Ausführung der vorliegenden Erfindung ist es, eine Steuerung eines Roboters, mit der eine Applikation durchgeführt wird, zu verbessern.

Eine oder mehrere dieser Aufgaben werden die Gegenstände der unabhängigen Ansprüche und/oder eines oder mehrere der hier beschriebenen Verfahren bzw. Mittel, insbesondere ein Verfahren mit den Merkmalen des Anspruchs 1 , 9, 10 bzw. 1 1 gelöst. Ansprüche 14, 15 stellen ein System bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.

Nach einer Ausführung der vorliegenden Erfindung weist ein Verfahren zum - Konfigurieren einer Steuerung eines Roboters zum Durchführen einer Applikation mithilfe des Roboters (Roboterapplikation);

- Trainieren wenigstens eines Klassifikations-(KI)Agenten zur Klassifikation einer Roboterapplikation; und/oder

- Durchführen einer bzw. der (Roboter)Applikation mithilfe wenigstens eines bzw. des Roboters

die mehrfach, in einer Ausführung zyklisch, wiederholten Schritte auf:

- Ermitteln eines ein- oder mehrdimensionalen stochastischen Wertes wenigstens eines ein- oder mehrdimensionalen Roboterparameters und/oder wenigstens eines ein- oder mehrdimensionalen Umweltmodelparameters, in einer Ausführung auf Basis eines vorgegebenen stochastischen Parametermodells und/oder mithilfe wenigstens eines Zufallsgenerators; und

- Durchführen einer, in einer Ausführung mehrstufigen, Simulation der Applikation auf Basis des ermittelten stochastischen Wertes.

Dabei kann der stochastische Wert für eine Simulation jeweils vor Durchführen der Simulation ermittelt und dann in dieser verwendet werden. Gleichermaßen können auch mehrere stochastische Werte des Roboter- und/oder des

Umweltmodelparameters vorab ermittelt und dann jeweils einer dieser stochastischen Wert für bzw. in eine(r) der Simulationen verwendet werden.

Nach einer Ausführung der vorliegenden Erfindung weist das Verfahren den Schritt auf:

- Trainieren

- wenigstens eines Steuerungs-(KI-)Agenten und/oder

- wenigstens eines Klassifikations-(KI)Agenten

mithilfe der Simulationen mittels maschinellen Lernens, in einer Ausführung

- Trainieren eines ersten Steuerungs-(KI-)Agenten und/oder eines ersten Klassifikations-(KI-)Agenten mithilfe erster Stufen der Simulationen, und

- T rainieren wenigstens eines weiteren Steuerungs-(KI-)Agenten und/oder wenigstens eines weiteren Klassifikations-(KI-)Agenten mithilfe weiterer Stufen der Simulationen.

Nach einer Ausführung der vorliegenden Erfindung weist das Verfahren den Schritt auf: ein- oder mehrfaches Durchführen der (realen) Applikation mithilfe des Roboters.

Dabei können auch mehrere Steuerungs-(KI-)Agenten mithilfe mehrerer

S(imulationss)tufen und nur ein Klassifikations-(KI-)Agent mithilfe der Simulationen bzw. mehrere Klassifikations-(KI-)Agenten mithilfe mehrerer S(imulationss)tufen und nur ein Steuerungs-(KI-)Agent mithilfe der Simulationen trainiert werden.

In einer Ausführung werden somit der Roboter- bzw. Umweltmodelparameter(wert) randomisiert bzw. die Simulationen mit randomisierten Roboter- bzw.

Umweltmodelparameter(werte)n durchgeführt und der bzw. die Agenten mithilfe dieser Simulationen trainiert bzw. maschinell gelernt.

Hierdurch kann in einer Ausführung das maschinelle Lernen verbessert, in einer Ausführung robuster und/oder schneller, werden. Zusätzlich oder alternativ kann hierdurch in einer Ausführung ein solcherart bzw. auf Basis randomisierter

Roboter- bzw. Umweltmodelparameter(werte) trainierter Agent das Durchführen der (realen) Applikation mithilfe des Roboters, insbesondere das Steuern des Roboters und/oder Klassifizieren der Applikation, verbessern, insbesondere dabei robust(er) und/oder flexib(e)l(er) agieren.

Wenn vorliegend von einem Agenten gesprochen wird, umfasst dies jeweils insbesondere einen K(ünstliche)l(ntelligenz)-Agenten, insbesondere einen

Steuerungs-(KI-)Agenten oder einen Klassifikations-(KI-)Agenten.

Ein Ermitteln eines stochastischen Wertes umfasst in einer Ausführung ein, insbesondere numerisches und/oder physikalisches, Generieren des Wertes, kann insbesondere ein Generieren des Wertes sein.

Die stochastischen Werte, auf deren Basis die Simulationen durchgeführt werden, sind, insbesondere werden, in einer Ausführung mithilfe wenigstens eines

Zufallsgenerators, insbesondere Pseudozufallszahlengenerators, ermittelt, insbesondere generiert, und/oder sind stochastisch bzw. zufällig verteilte Werte, in einer Ausführung Zufallszahlen, insbesondere Pseudozufallszahlen, die in einer Ausführung durch das vorgegebene stochastische Parametermodell bestimmt sind bzw. diesem genügen. Das stochastische Parametermodell weist in einer Ausführung einen oder mehrere stochastische Kenngrößen, insbesondere Minimal-, Maximal-, Erwartungs- und/oder Mittelwert(e), Varianz(en), Standardabweichung(en), Streu(ungs)maß(e) oder dergleichen, und/oder eine Wahrscheinlichkeitsverteilung, beispielsweise eine

Gauß- bzw. Normalverteilung, eine gleichförmige Verteilung oder dergleichen, auf.

Beispielsweise kann ein Benutzer und/oder eine Anwendereingabeunterstützung bzw. ein Software-Assistenten in einer Ausführung für einen Roboter- bzw.

Umweltmodelparameter einen Minimal- und Maximalwert sowie eine gleichförmige Verteilung und dadurch ein stochastisches Parametermodell vorgeben, wobei dann mithilfe eines (Pseudo)Zufallszahlengenerators entsprechende stochastisch( verteilte Werte generiert und auf diese Weise auf Basis dieses vorgegebenen stochastischen Parametermodells und mithilfe dieses (Pseudo)Zufallszahlengenerators ermittelt werden. Gleichermaßen kann der Benutzer und/oder die

Anwendereingabeunterstützung zum Beispiel eine bestimmte Gauß-Verteilung und dadurch ein anderes stochastisches Parametermodell vorgeben, wobei dann mithilfe eines (Pseudo)Zufallszahlengenerators wieder entsprechende stochastisch( verteilte Werte generiert und auf diese Weise auf Basis dieses anderen vorgegebenen stochastischen Parametermodells und mithilfe dieses

(Pseudo)Zufallszahlengenerators ermittelt werden.

Somit sind bzw. werden in einer Ausführung die ermittelten stochastischen Werte durch das vorgegebene stochastische Parametermodell (mit)bestimmt, beispielsweise durch Minimal- und/oder Maximalwert(e) begrenzt, durch Varianz(en) entsprechend um einen Erwartungs- bzw. Mittelwert gestreut oder dergleichen.

Unter einer Simulation wird insbesondere ein Simulationslauf bzw. eine numerische Simulation der Applikation bzw. ihres zeitlichen Ablaufs verstanden.

Eine mehrstufige Simulation umfasst in einer Ausführung zwei oder mehr

aufeinanderfolgende, in einer Ausführung aneinander anschließende, Zeit- und/oder Funktionsabschnitte bzw. -stufen der Applikation, beispielsweise das robotergestützte Fügen eines ersten Zahnrads (erste Stufe) und das anschließende robotergestützte Fügen eines weiteren Zahnrads (weitere Stufe) oder dergleichen. In einer Ausführung wird ein erster Steuerungs-Agent mithilfe erster Stufen bzw.

Abschnitte der Simulationen und wenigstens ein weiterer Steuerungs-Agent mithilfe weiterer Stufen bzw. Abschnitte der Simulationen und/oder ein erster

Klassifikations-Agent mithilfe derselben oder anderer erster Stufen bzw. Abschnitte der Simulationen und wenigstens ein weiterer Klassifikations-Agenten mithilfe weiterer Stufen bzw. Abschnitte der Simulationen trainiert, im obigen Beispiel ein erster (Steuerungs- bzw. Klassifikations-) Agent für das Fügen des ersten Zahnrads mithilfe der ersten Simulationsstufen bzw. Simulationen des Fügens des ersten Zahnrads und ein weiterer (Steuerungs- bzw. Klassifikations-)Agent für das Fügen des weiteren Zahnrads mithilfe der weiteren Simulationsstufen bzw. Simulationen des Fügens des weiteren Zahnrads.

In einer Ausführung wird ein Anfangszustand für eine spätere Simulationsstufe auf Basis eines Endzustands bzw. Ergebnisses einer vorhergehenden Simulationsstufe ermittelt bzw. vorgegeben, wobei in einer Ausführung dieser Anfangszustand zusätzlich, insbesondere auf Basis einer Benutzerein- bzw. -vorgabe, noch variiert, insbesondere randomisiert, werden bzw. sein kann. Im obigen Beispiel kann beispielsweise eine Pose des ersten Zahnrads nach seinem simulierten Fügen als Startwert bei der weiteren Simulationsstufe verwendet und gegebenenfalls durch einen Benutzer noch verändert und/oder randomisiert werden.

Hierdurch kann in einer Ausführung eine mehrstufige Applikation besonders vorteilhaft durchgeführt werden.

Nach einer Ausführung der vorliegenden Erfindung weist das Verfahren den Schritt auf:

- Konfigurieren einer Steuerung des Roboters zum Durchführen der Applikation, insbesondere einer Steuerung des Roboters, mit der die Applikation durchgeführt wird, auf Basis des bzw. eines oder mehrerer der trainierten Steuerungs-Agenten.

Somit werden nach einem Aspekt der vorliegenden Erfindung die Simulationen mit stochastischen bzw. randomisierten Werten genutzt, um eine Steuerung des Roboters zum Durchführen der (realen) Applikation mithilfe des Roboters maschinell zu lernen bzw. einen oder mehrere Agenten hierzu zu trainieren. Hierdurch kann in einer Ausführung das Durchführen der (realen) Applikation mithilfe des Roboters verbessert, insbesondere die Applikation robust(er) und/oder flexib(e)l(er) durchgeführt werden.

In einer Ausführung wird eine Steuerung des Roboters, mit der nur ein Teil der Applikation durchgeführt wird bzw. werden soll, auf Basis des, insbesondere der, trainierten Steuerungs-Agenten, konfiguriert.

Insbesondere kann die Applikation einen oder mehrere Abschnitte aufweisen, die mit einer (anderen) Steuerung des Roboters durchgeführt werden (sollen), welche nicht auf Basis des bzw. der trainierten Steuerungs-Agenten, konfiguriert wird bzw. ist, sowie einen oder mehrere Abschnitte, die mit einer Steuerung des Roboters durchgeführt werden (sollen), welche auf Basis des bzw. der trainierten

Steuerungs-Agenten, konfiguriert wird bzw. ist. Eine Steuerung im Sinne der vorliegenden Erfindung kann insbesondere eine Steuereinrichtung und/oder ein Computerprogramm, insbesondere (Computer)Programmmodul bzw. -teil aufweisen, insbesondere sein.

Insbesondere kann es zweckmäßig sein, für Transferabschnitte, in denen der Roboter eine Last frei bewegt, eine (andere) Steuerung mittels geometrischer oder

Dynamik-Bahnplanung, Teachen oder dergleichen zu konfigurieren, und für Kontakt-, insbesondere Greif- und/oder Fügeabschnitte, in denen ein Umgebungskontakt des Roboters erfolgt bzw. vorliegt, dieser insbesondere eine Last greift bzw. fügt, eine Steuerung auf Basis des bzw. der trainierten Agenten zu konfigurieren.

Zusätzlich oder alternativ zu diesem Aspekt weist das Verfahren nach einer

Ausführung der vorliegenden Erfindung den Schritt auf:

- Klassifikation der Applikation mithilfe des bzw. eines oder mehrerer der trainierten Klassifikations-Agenten.

Somit werden nach einem Aspekt der vorliegenden Erfindung die Simulationen mit stochastischen bzw. randomisierten Werten genutzt, um eine Klassifikation der (realen) Applikation maschinell zu lernen bzw. einen oder mehrere

Klassifikations-Agenten hierzu zu trainieren. Hierdurch kann in einer Ausführung das Durchführen der (realen) Applikation mithilfe des Roboters verbessert, insbesondere die Applikation robust(er) und/oder

flexib(e)l(er) überwacht werden.

In einer Ausführung weist/weisen der bzw. einer oder mehrere der

Klassifikations-Agent(en jeweils) eine maschinell gelernte Anomalieerkennung auf. Zusätzlich oder alternativ weist/weisen in einer Ausführung der bzw. einer oder mehrere der Klassifikations-Agent(en jeweils) eine maschinell gelernte

Fehlererkennung auf.

Eine Anomalieerkennung umfasst in einer Ausführung eine Klassifikation der durchgeführten Applikation(en) in normal(e) und anormale Applikationen). In einer Ausführung ist bzw. wird die Anomalieerkennung, insbesondere nur, auf Basis von als normal gelabelten simulierten Applikationen maschinell gelernt und/oder klassifiziert die Anomalieerkennung eine Applikation als anormal, wenn sie (zu stark) von den als normal gelabelten simulierten Applikationen abweicht.

Blockiert dann beispielsweise ein in den Simulationen nicht berücksichtigtes Hindernis das Durchführen der realen Applikation mithilfe des Roboters, weichen insbesondere Kraft- und/oder Posendaten des Roboters von den Verläufen bei als normal

gelabelten simulierten Applikationen stark ab und der Agent klassifiziert diese reale Applikation entsprechend als anormal.

Eine Fehlererkennung umfasst in einer Ausführung eine Klassifikation der

durchgeführten Applikation(en) in fehlerfrei(e) und fehlerhafte Applikationen), in einer Ausführung in unterschiedliche Fehlerklassen. Sie ist bzw. wird in einer Ausführung auf Basis von als fehlerfrei gelabelten simulierten Applikationen und als fehlerhaft bzw. einer entsprechenden Fehlerklasse zugehörig gelabelten simulierten Applikationen maschinell gelernt und/oder klassifiziert eine Applikation in eine (entsprechende) Fehlerklasse, wenn sie den entsprechend gelabelten simulierten Applikationen ausreichend, insbesondere am stärksten, ähnelt.

Beispielsweise kann in obigem Beispiel ein Fügen des ersten Zahnrads mithilfe des Roboters, insbesondere auf Basis von Kraft- und/oder Posendaten des Roboters, als fehlerfrei, als aufgesteckt, aber nicht ausreichend tief und/oder verklemmt, oder als nicht gefügt klassifiziert werden, wenn die Kraft- bzw. Posendaten den Verläufen entsprechend gelabelter simulierter Applikationen ausreichend stark ähneln und der Agent klassifiziert diese reale Applikation in die entsprechende Fehlerklasse.

Die Erfindung kann mit besonderem Vorteil für solche Klassifikationen von

Roboterapplikationen eingesetzt werden, da diese (nur) anhand mit dem Roboter durchgeführter (realer) Applikationen nur schwer maschinell lernbar sind.

In einer Ausführung weist/weisen der bzw. einer oder mehrere der

Steuerungs-Agent(en) und/oder der bzw. einer oder mehrere der

Klassifikations-Agent(en jeweils) wenigstens ein künstliches neuronales Netz auf, in einer Ausführung wird die Steuerung des Roboters auf Basis der Struktur und/oder Gewichtungen des trainierten Netzes konfiguriert.

Hierdurch kann in einer Ausführung eine besonders vorteilhafte Steuerung realisiert und/oder diese besonders vorteilhaft konfiguriert werden.

In einer Ausführung wird der bzw. einer oder mehrere der Steuerungs-Agent(en) und/oder der bzw. einer oder mehrere der Klassifikations-Agent(en jeweils) mithilfe von Reinforcement Learning, insbesondere Deep Reinforcement Learning, trainiert.

Dies eignet sich besonders für das Konfigurieren einer Steuerung des Roboters sowie das Klassifizieren, insbesondere eine Anomalie- und/oder Fehlererkennung, der Applikation.

In einer Ausführung wird der bzw. einer oder mehrere der Steuerungs-Agent(en) und/oder der bzw. einer oder mehrere der Klassifikations-Agent(en jeweils), insbesondere zusätzlich, mithilfe des Roboters trainiert, in einer Ausführung auf Basis einer oder mehrerer mithilfe des Roboters durchgeführten (realen) Applikationen.

Dadurch kann in einer Ausführung der entsprechende Agent beim Durchführen der realen Applikation mithilfe des Roboters besonders vorteilhaft eingesetzt und/oder das maschinelle Lernen (weiter) verbessert werden. In einer Ausführung wird/werden der bzw. einer oder mehrere der

Steuerungs-Agent(en) und/oder der bzw. einer oder mehrere der

Klassifikations-Agent(en jeweils), auf Basis wenigstens einer beim Durchführen der Applikation nicht gemessenen, in einer Ausführung nicht messbaren, Zustandsgröße trainiert.

Dem liegt insbesondere die Erkenntnis bzw. Idee zugrunde, dass bei den

Simulationen auch Zustandsgrößen berechenbar sind, insbesondere berechnet werden, die beim Durchführen der Applikation nicht gemessen werden,

gegebenenfalls - mit der vorhandenen Umgebung bzw. Konfiguration, insbesondere messtechnischen Ausrüstung, - nicht messbar sind, und dass solche Zustandsgrößen, die insbesondere bei Simulationen zum (Zwecke des) Konfigurieren(s) der Steuerung ohnehin anfallen bzw. berechenbar sind, insbesondere berechnet werden, besonders vorteilhaft (auch) zum Trainieren bzw. maschinellen Lernen genutzt werden können.

So kann es in obigem Beispiel sein, dass der Abstand des (ersten oder weiteren) Zahnrads zu einem Anschlag nicht gemessen werden kann, beispielsweise, weil kein entsprechender Sensor vorhanden oder der Raum zwischen Zahnrad und Anschlag nicht zugänglich ist. Bei einer Simulation des Fügens kann dieser Abstand jedoch berechnet werden und dann als Zustandsgröße zum Training, insbesondere in einem Gütekriterium, genutzt werden.

In einer Ausführung wird ein beim Trainieren des bzw. eines oder mehrere der

Steuerungs-Agenten und/oder Klassifikations-Agenten verwendetes Gütekriterium, insbesondere eine Güte- bzw. Kostenfunktion, auf Basis wenigstens einer beim

Durchführen der Applikation nicht gemessenen, in einer Ausführung mit der

vorhandenen Konfiguration bzw. Umgebung nicht messbaren, Zustandsgröße ermittelt bzw. hängt von dieser ab.

Hierdurch kann in einer Ausführung das maschinelle Lernen verbessert, in einer Ausführung robuster und/oder schneller, werden.

Zusätzlich oder alternativ zu der Idee, Zustandsgrößen zum Trainieren des bzw. eines oder mehrerer der Agenten zu verwendet, die beim Durchführen der Applikation nicht gemessen werden, aber bei den Simulationen berechnet werden, liegt einer Ausführung der vorliegenden Erfindung die Erkenntnis bzw. Idee zugrunde,

Simulationen, die (ohnehin) zum Trainieren wenigstens eines Steuerungs-Agenten durchgeführt bzw. genutzt werden, auf Basis dessen die Steuerung des Roboters konfiguriert wird, mit der die (reale) Applikation durchgeführt wird bzw. werden soll, zusätzlich auch dazu zu verwendet bzw. nutzen, einen oder mehrere

Klassifikations-Agenten zu trainieren, mit dessen bzw. deren Hilfe die (reale)

Applikation, die mithilfe des Roboters durchgeführt wird, klassifiziert wird bzw. werden soll.

Entsprechend umfasst das Verfahren nach einer Ausführung der vorliegenden

Erfindung sowohl den Schritt:

- Konfigurieren einer Steuerung des Roboters zum Durchführen der Applikation, insbesondere einer Steuerung des Roboters, mit der die Applikation ganz oder teilweise durchgeführt wird, auf Basis des bzw. eines oder mehrerer der trainierten Steuerungs-Agenten;

als auch den Schritt:

- Trainieren des bzw. eines oder mehrerer der Klassifikations-Agenten,

insbesondere Klassifikation der Applikation mithilfe des bzw. eines oder mehrerer der trainierten Klassifikations-Agenten,

wobei in einer Ausführung Steuerungs- und Klassifikations-Agent(en) mithilfe derselben Simulationen trainiert werden bzw. (worden) sind, wobei in einer

Weiterbildung der bzw. einer oder mehrere der Klassifikations-Agent(en) mithilfe bereits erfolgter Simulationen, mit deren Hilfe der bzw. einer oder mehrere der Steuerungs-Agent(en) zuvor trainiert worden sind, und/oder synchron mithilfe aktueller Simulationen trainiert werden, mit deren Hilfe der bzw. einer oder mehrere der Steuerungs-Agent(en) gerade trainiert werden.

Mit anderen Worten nutzt die Erfindung in einer Ausführung Simulationen, auf deren Basis, insbesondere mittels Reinforcement Learning, die Steuerung konfiguriert bzw. mit deren Hilfe der bzw. einer oder mehrerer der Steuerungs-Agent(en) trainiert wird bzw. werden, in einer Ausführung worden ist bzw. sind, auch zum Trainieren wenigstens einer maschinell gelernten Klassifikation bzw. des bzw. eines oder mehrerer der Klassifikations-Agenten verwendet. In einer Ausführung werden hierzu Daten, insbesondere Zustandsgrößen, in einer Ausführung (zeitliche) Zustandsgrößenverläufe, insbesondere Trajektorien, der Applikation, in einer Ausführung des Roboters, die in Simulationen berechnet werden bzw. worden sind, in einer Ausführung Simulationen, mithilfe derer der bzw. einer oder mehrere der Steuerungs-Agent(en) trainiert werden bzw. worden sind, abgespeichert und der bzw. einer oder mehrere der Klassifikations-Agent(en) mithilfe dieser abgespeicherten Daten trainiert, in einer Ausführung im Anschluss an diese

Simulationen und/oder während dieser Simulationen.

In einer Ausführung umfassen diese Daten Posen einer oder mehrerer roboterfester Referenzen, insbesondere eines Endeffektors, TCPs, robotergeführten Werkzeugs oder -Stücks oder dergleichen, Gelenk- bzw. Achssteilungen des Roboters, interne und/oder externe Kräfte am Roboter, insbesondere Gelenk- und/oder Antriebskräfte, Reibungskräfte, Kontaktkräfte oder dergleichen, Stromgrößen, insbesondere

Spannungen und/oder Ströme in Antrieben des Roboters, Schleppfehler des Roboters und/oder zeitliche Ableitungen solcher Posen, Stellungen, Kräfte, Stromgrößen bzw. Schleppfehler, insbesondere also Geschwindigkeiten und/oder Beschleunigungen einer oder mehrerer roboterfester Referenzen, Achsen bzw. Gelenken, Antrieben, zeitliche Änderungen solcher Kräfte, Stromgrößen oder Schleppfehler oder

dergleichen. Dabei können Schleppfehler insbesondere Kraft-, Positions- und/oder Geschwindigkeitsfehler umfassen.

In einer Ausführung werden aus den, in einer Ausführung bereits erfolgten,

Simulationen, in einer Ausführung Simulationen, mithilfe derer der bzw. einer oder mehrere der Steuerungs-Agent(en) trainiert werden bzw. worden sind, insbesondere anhand der abgespeicherten Daten, diejenigen Simulationen bzw. Daten ausgewählt, bei denen ein Gütekriterium erfüllt ist, und zum Trainieren der Anomalieerkennung verwendet, bzw. diejenigen Simulationen bzw. Daten auf Basis eines Gütekriteriums in unterschiedliche Fehlerklassen sortiert und zum Trainieren der Fehlererkennung verwendet.

Bezeichnet beispielsweise trajj die Daten einer Simulation i, traj = {traj_i} die Menge aller bei den Simulation abgespeicherten Daten, werden aus dieser in einer

Ausführung zum maschinellen Lernen der Anomalieerkennung die Daten

{traj_success} derjenigen Simulationen, in denen (sich) ein erfolgreicher Verlauf der Applikation simuliert wurde bzw. ergab, bzw. die Daten {traj_failure_k1}, {traj_failure_ k2},... derjenigen Simulationen, in denen (sich) ein Fehler k1 , k2,... simuliert wurde bzw. ergab, ausgewählt und dann die Anomalieerkennung mithilfe {traj_success} bzw. die Fehlererkennung mithilfe {{traj_success}, {traj_failure_k1 }, {traj_failure_ k2}, ...} maschinell gelernt.

Dadurch kann in einer Ausführung jeweils die maschinell gelernte Klassifikation verbessert, insbesondere schneller gelernt werden und/oder präziser, robuster und/oder zuverlässiger klassifizieren.

In einer Ausführung klassifiziert der bzw. einer oder mehrere der Agent(en),

insbesondere die Anomalieerkennung und/oder die Fehlererkennung, die Applikation auf Basis wenigstens eines, in einer Ausführung wandernden, insbesondere

mitwandernden, Zeitausschnitts. In einer Ausführung wird zusätzlich oder alternativ zu einer Auswertung der kompletten Applikation eine kontinuierliche und/oder serielle Auswertung durchgeführt und der Agent klassifiziert die Applikation auf Basis dieser kontinuierlichen bzw. seriellen Auswertung. Besonders geeignet hierfür sind etwa Recurrent Networks, Markov Modelle oder Autoregressive Networks.

Hierdurch kann in einer Ausführung das maschinelle Lernen verbessert, in einer Ausführung effizienter und/oder schneller, werden.

In einer Ausführung klassifiziert der bzw. einer oder mehrere der Agent(en),

insbesondere die Anomalieerkennung und/oder die Fehlererkennung, die Applikation während des Durchführens der Applikation.

Dies ermöglicht in einer Ausführung eine Reaktion auf das Ergebnis der Klassifikation. Entsprechend wird in einer Ausführung die gerade bzw. aktuell durchgeführte

Applikation auf Basis der Klassifikation gegebenenfalls verändert, in einer Ausführung bei einer erkannten Anomalie und/oder einem erkannten Fehler ein entsprechendes Signal ausgegeben und/oder eine Bewegung des Roboters modifiziert und/oder ein bei der Applikation gehandhabtes, insbesondere transportiertes und/oder bearbeitetes, Werkstück aussortiert oder nachbearbeitet. In einer Ausführung klassifiziert der bzw. einer oder mehrere der Agent(en), insbesondere die Anomalieerkennung und/oder die Fehlererkennung, die Applikation nach dem Durchführen der Applikation.

Hierdurch kann in einer Ausführung die Applikation genauer klassifiziert werden.

In einer Ausführung weist der Roboterparameter eine ein- oder mehrdimensionale Startpose, eine oder mehrere ein- oder mehrdimensionale Zwischenposen und/oder eine ein- oder mehrdimensionale Zielpose der Applikation, insbesondere des

Roboters, auf. Entsprechend werden in einer Ausführung die Simulationen der Applikation auf Basis stochastisch( verteilt- bzw. generierter Start-,

Zwischen- und/oder Zielposen durchgeführt. Dadurch können in einer Ausführung Ungenauigkeiten infolge vorangegangener Prozesse, Abweichungen beim Abfahren oder dergleichen berücksichtigt und dadurch das maschinelle Lernen bzw. der bzw. die trainierte(n) Agent(en) verbessert, insbesondere robust(er) und/oder flexib(e)l(er), werden.

In einer Ausführung wird, insbesondere vor Durchführen der Simulation, geprüft, ob (der stochastische Wert für) die Startpose, Zwischenpose(n) und/oder Zielpose mit dem Roboter erreichbar ist, insbesondere auf Basis eines kinematischen Modells des Roboters. Falls die Pose bzw. der entsprechende stochastische Wert des

Roboterparameters nicht erreichbar ist, wird in einer Ausführung der Wert neu bzw. solange ermittelt, bis (festgestellt wird, dass) die Pose bzw. der Wert mit dem Roboter erreichbar ist, und dann dieser Wert als ermittelter Wert bei der Durchführen der Simulation der Applikation verwendet. Hierdurch kann in einer Ausführung das maschinelle Lernen verbessert, in einer Ausführung effizienter und/oder schneller, werden.

Eine Pose im Sinne der vorliegenden Erfindung kann insbesondere ein ein-, zwei- oder dreidimensionale Position und/oder ein-, zwei- oder dreidimensionale Orientierung aufweisen, insbesondere sein.

Zusätzlich oder alternativ weist der Roboterparameter in einer Ausführung einen ein- oder mehrdimensionale Kraftparameter einer roboterinternen Kraft auf, insbesondere wenigstens eine Achs- und/oder wenigstens eine Endeffektorsteifigkeit und/oder -dämpfung. Dadurch können in einer Ausführung Verschleiß oder

Toleranzen zwischen modellgleichen Robotern oder dergleichen berücksichtigt und dadurch das maschinelle Lernen bzw. der bzw. die trainierte(n) Agent(en) verbessert, insbesondere robust(er) und/oder flexib(e)l(er), werden.

Zusätzlich oder alternativ weist der Roboterparameter in einer Ausführung einen ein- oder mehrdimensionale Kraftparameter einer am Roboter wenigstens, in einer Ausführung nur, temporär wirkenden externen Kraft auf, insbesondere eine

(stochastische) Störung bzw. Störkraft, insbesondere eine externe Kraft infolge eines Umgebungskontakts oder dergleichen. Dadurch können in einer Ausführung reale Prozessbedingungen bzw. zufällige Störungen berücksichtigt und dadurch das maschinelle Lernen bzw. der bzw. die trainierte(n) Agent(en) verbessert,

insbesondere robust(er) und/oder flexib(e)l(er), werden.

Eine Kraft im Sinne der vorliegenden Erfindung kann insbesondere ein antiparalleles Kräftepaar bzw. Drehmoment aufweisen, insbesondere sein. Ein Kraftparameter kann insbesondere eine Kraft, aber auch eine Steifigkeit, einen Dämpfungs- und/oder einen Reibungskoeffizienten oder dergleichen umfassen.

Zusätzlich oder alternativ weist der Roboterparameter in einer Ausführung einen ein- oder mehrdimensionalen kinematischen, in einer Ausführung dynamischen, Roboterstrukturparameter auf, insbesondere eine ein- oder mehrdimensionale Abmessung und/oder ein Gewicht und/oder ein ein- oder mehrdimensionales

Trägheitsmoment des Roboters bzw. einzelner Strukturglieder oder

Strukturgliedergruppen, oder dergleichen. Dadurch können in einer Ausführung Toleranzen zwischen modellgleichen Robotern oder dergleichen berücksichtigt und dadurch das maschinelle Lernen bzw. der bzw. die trainierte(n) Agent(en) verbessert, insbesondere robust(er) und/oder flexib(e)l(er), werden.

Zusätzlich oder alternativ weist der Umweltmodelparameter in einer Ausführung einen ein- oder mehrdimensionalen kinematischen, in einer Ausführung dynamischen, Umgebungs-, in einer Ausführung Laststrukturparameter auf, insbesondere eine ein- oder mehrdimensionale Pose und/oder Abmessung und/oder ein Gewicht und/oder Trägheitsmoment einer Umgebungs-, insbesondere Laststruktur,

insbesondere eines bei der Applikation verwendeten Werkzeugs und/oder Werkstücks oder dergleichen. Dadurch können in einer Ausführung Toleranzen zwischen modellgleichen Werkzeugen bzw. Werkstücken, Ungenauigkeiten infolge

vorangegangener Prozesse oder dergleichen berücksichtigt und dadurch das maschinelle Lernen bzw. der bzw. die trainierte(n) Agent(en) verbessert,

insbesondere robust(er) und/oder flexib(e)l(er), werden.

Zusätzlich oder alternativ wird in einer Ausführung der Roboterparameter und/oder der Umweltmodelparameter mithilfe einer robotergestützten Parameteridentifikation ermittelt, beispielsweise Minimal-, Maximal- und/oder Mittelwert(e) des bzw. für das stochastische Parametermodell. Hierdurch kann in einer Ausführung die

Übereinstimmung mit der realen Applikation verbessert und dadurch das maschinelle Lernen bzw. der bzw. die trainierte(n) Agent(en) verbessert, insbesondere robust(er) und/oder flexib(e)l(er), werden.

In einer Ausführung ist, insbesondere wird, das vorgegebene stochastische

Parametermodell auf Basis einer Benutzereingabe und/oder applikationsspezifisch vorgegeben, in einer Ausführung aus einer Mehrzahl zur Verfügung gestellter unterschiedlicher Parametermodelle ausgewählt.

So kann in einer Ausführung ein Benutzer zunächst eine von mehreren

Wahrscheinlichkeitsverteilungen, beispielsweise eine Gauß-Verteilung, eine

gleichförmige Verteilung oder eine andere Wahrscheinlichkeitsverteilung, auswählen und hierfür bzw. hierbei Minimal- und Maximalwerte oder dergleichen vorgeben.

Gleichermaßen kann beispielsweise für bestimmte Fügeapplikationen eine

Wahrscheinlichkeitsverteilung, zum Beispiel eine gleichförmige Verteilung, für bestimmte Greifapplikationen eine andere Wahrscheinlichkeitsverteilung, zum Beispiel eine Gauß-Verteilung, oder dergleichen ausgewählt und hierfür bzw. hierbei jeweils applikationsspezifische Minimal- und Maximalwerte oder dergleichen vorgeben werden bzw. sein. Auch Mischformen sind möglich, insbesondere eine

applikationsspezifische Vorauswahl bzw. Defaultwertbelegung und eine

Eingabemöglichkeit für den Benutzer, um diese zu verändern.

Zusätzlich oder alternativ ist, insbesondere wird, in einer Ausführung der

Roboter- und/oder der Umweltmodelparameter auf Basis einer Benutzereingabe und/oder applikationsspezifisch vorgegeben, in einer Ausführung aus einer Mehrzahl zur Verfügung gestellter unterschiedlicher Parameter ausgewählt.

So kann beispielsweise für ein Einstecken eines robotergeführten Werkstücks in eine Aussparung in einer ebenen Fläche eine zweidimensionale Position innerhalb der Fläche und eine eindimensionale Orientierung bzw. Winkellage um eine

Flächennormale als Zielpose vorgegeben bzw. ausgewählt sein bzw. werden, für ein Bohren mit einem robotergeführten Bohrer in eine ebene Fläche hingegen ein eindimensionaler Abstand zur Fläche längs der Bohrerachse als Ziel- bzw.

Zwischenpose.

In einer Ausführung wird das stochastische Parametermodell und/oder der

Roboter- und/oder der Umweltmodelparameter in einer, insbesondere virtuellen, Abbildung der Applikation durch einen markierten Bereich visualisiert, in einer Ausführung durch entsprechende geometrische Räume, insbesondere Körper wie vorzugsweise Quader, Kugeln, Kegel, Zylinder oder dergleichen, oder, insbesondere ebene oder umgebungsangepasste, Flächen.

So kann im obigen Beispiel der Bereich innerhalb der Fläche, in dem die Zielposition (stochastisch) liegen kann, in einer Abbildung der Applikation beispielsweise durch eine entsprechende Kreisfläche visualisiert sein, die möglichen Orientierungen bzw. Winkellagen um die Flächennormale zum Beispiel durch zwei entsprechend verdrehte Quader oder Werkstück-Avatare in den jeweiligen maximal möglichen Auslenkungen.

In einer Ausführung wird eine Wahrscheinlichkeitsverteilung des stochastischen Parametermodells durch eine unterschiedliche Färbung, in einer Ausführung unterschiedliche (Farb)Helligkeit, des markierten Bereichs visualisiert, wobei die jeweilige Färbung bzw. Helligkeit(sstufe) von der Wahrscheinlichkeit abhängt, dass der Roboter- bzw. Umweltmodellparameter den entsprechenden Wert aufweist.

So kann im obigen Beispiel der Bereich innerhalb der Fläche, in dem die Zielposition (stochastisch) liegen kann, in einer Abbildung der Applikation beispielsweise durch eine entsprechende Kreisfläche visualisiert sein, wobei Bereiche der Kreisfläche, in denen die Zielposition mit höherer Wahrscheinlichkeit liegt, zum Beispiel dunkler gefärbt sind bzw. werden bzw. ein erster Bereich der Kreisfläche, in dem die Zielposition mit einer ersten Wahrscheinlichkeit liegt, zum Beispiel mit einer ersten Farbe und/oder Helligkeit gefärbt ist bzw. wird, und wenigstens ein anderer Bereich der Kreisfläche, in dem die Zielposition mit einer anderen Wahrscheinlichkeit liegt, mit einer anderen Farbe und/oder Helligkeit gefärbt ist bzw. wird.

Dadurch kann in einer Ausführung jeweils, insbesondere in Kombination, ein besonders geeignetes Parametermodell bzw. besonders geeignete Parameter ausgewählt, insbesondere die Geschwindigkeit und/oder Fehlersicherheit der Eingabe verbessert werden. Sowohl bei der Benutzereingabe zur Vorgabe, insbesondere Auswahl, des stochastischen Parametermodells als auch der Benutzereingabe zur Vorgabe, insbesondere Auswahl, des Roboter- und/oder des

Umweltmodelparameters ist eine an anderer Stelle beschriebene

Anwendereingabeunterstützung durch einen Software-Assistenten besonders vorteilhaft.

In einer Ausführung wird die konfigurierte Steuerung des Roboters und/oder die maschinell gelernte Anomalieerkennung und/oder Fehlererkennung mithilfe wenigstens einer weiteren Simulation, insbesondere auf Basis einer automatisierten Vorgabe oder Benutzervorgabe eines Wertes wenigstens eines Roboterparameters und/oder wenigstens eines Umweltmodelparameters, getestet.

So kann beispielsweise der Benutzer die Pose eines Werkstücks für die

Test-Simulation ändern und dann mithilfe der Test-Simulation prüfen, ob bzw. wie gut die konfigurierte Steuerung bzw. Anomalie- bzw. Fehlererkennung (hierfür) funktioniert bzw. performt. Gleichermaßen kann ein Testscript automatisiert weiteren Simulation mit dem bzw. den trainierten Steuerungs-Agenten bzw. trainierten

Anomalie- und/oder Fehlererkennung durchführen und dabei jeweils die Werte wenigstens eines Roboterparameters und/oder wenigstens eines

Umweltmodelparameters variieren.

Zusätzlich oder alternativ wird in einer Ausführung die konfigurierte Steuerung des Roboters und/oder die maschinell gelernte Anomalieerkennung und/oder

Fehlererkennung, insbesondere mittels maschinellem Lernen, insbesondere

Reinforcement Learning, mithilfe des Roboters weiter trainiert, insbesondere auf Basis von mithilfe des Roboters durchgeführten Applikationen. Dadurch kann in einer Ausführung jeweils, insbesondere in Kombination, eine in der Praxis besonders vorteilhafte Steuerung realisiert werden.

In einer Ausführung ist, insbesondere wird, das stochastische Parametermodell mithilfe maschinellen Lernens vorgegeben. Insbesondere kann ein

Parametermodell-(KI)Agent auf Basis von mithilfe des Roboters durchgeführten früheren Applikationen, die mithilfe eines nach einem hier beschriebenen Verfahren trainierten Klassifikations-Agenten klassifiziert worden und/oder bei denen die

Steuerung des Roboters, mit der diese Applikationen durchgeführt wurden, auf Basis eines nach einem hier beschriebenen Verfahren trainierten Steuerungs-Agenten konfiguriert worden sind, anhand der Ergebnisse der durchgeführten früheren

Applikationen und der beim Trainieren dieses Klassifikations- bzw.

Steuerungs-Agenten verwendeten stochastische Parametermodells das stochastische Parametermodell vorgegeben, welches anschließend in einem hier beschriebenen Verfahren zum Durchführen von Simulationen zum Trainieren des wenigstens einen Klassifikations-Agenten, mit dessen Hilfe dann eine neue Applikation klassifiziert wird, und/oder des wenigstens einen Steuerungs-Agenten verwendet wird, mit dessen Hilfe dann eine Steuerung zum Durchführen einer neuen Applikation konfiguriert wird.

Auf diese Weise kann ein besonders vorteilhaftes, insbesondere realitätsnahes, stochastisches Parametermodell verwendet, in einer Ausführung, insbesondere durch die Anwendereingabeunterstützung bzw. den Software-Assistenten, vorausgewählt, werden. Zusätzlich oder alternativ zu den mithilfe des Roboters durchgeführten früheren Applikationen können auch simulierte Applikationen als frühere Applikationen für das maschinelle Lernen zum Vorgeben des stochastischen Parametermodells verwendet werden.

In einer Ausführung weisen einer oder mehrere der Schritte eines der hier

beschriebenen Verfahren, insbesondere die Vorgabe, insbesondere Auswahl, des stochastischen Parametermodells und/oder des Roboter- und/oder des

Umweltmodelparameters, eine Anwendereingabeunterstützung durch einen Software- Assistenten, insbesondere eine Benutzeroberflächenführung, auf, insbesondere also einen sogenannten Wizard. In einer Ausführung ist bzw. wird der Roboter- und/oder der Umweltmodelparameter und/oder das stochastische Parametermodell aus einer Mehrzahl zur Verfügung gestellter unterschiedlicher Parameter bzw. Parametermodelle vorausgewählt, insbesondere applikationsspezifisch und/oder durch die

Anwendereingabeunterstützung bzw. den Software-Assistenten.

Dadurch kann in einer Ausführung jeweils, insbesondere in Kombination, ein besonders geeignetes Parametermodell bzw. besonders geeignete Parameter ausgewählt, insbesondere die Geschwindigkeit und/oder Fehlersicherheit der Eingabe verbessert werden.

Zusätzlich oder alternativ werden einer oder mehrere der Schritte eines der hier beschriebenen Verfahren in einer Cloud durchgeführt.

Dadurch kann dieses Verfahren vorteilhaft parallelisiert und/oder schnell(er) und/oder verteilt durchgeführt werden.

Nach einer Ausführung der vorliegenden Erfindung weist ein Verfahren zum

Konfigurieren einer Steuerung eines Roboters zum Durchführen einer vorgegebenen Aufgabe die Schritte auf:

- Erfassen wenigstens eines ein- oder mehrdimensionalen Roboterparameters und wenigstens eines ein- oder mehrdimensionalen Umweltmodelparameters;

- T rainieren eines (KI-)Agenten mithilfe einer oder mehrerer Simulationen auf Basis dieses erfassten Roboterparameters und dieses erfassten

Umweltmodelparameters mittels maschinellen Lernens auf Basis einer

vorgegebenen Kostenfunktion; und

- Konfigurieren der Steuerung des Roboters auf Basis des trainierten Agenten.

Durch das Trainieren eines Agenten mittels maschinellen Lernens mithilfe einer oder mehrerer Simulationen kann in einer Ausführung eine Steuerung eines Roboters zum Durchführen einer vorgegebenen Aufgabe besonders vorteilhaft konfiguriert werden.

Der Roboter weist in einer Ausführung eine stationäre oder mobile, insbesondere fahrbare, Basis und/oder einen Roboterarm mit wenigstens drei, insbesondere wenigstens sechs, in einer Ausführung wenigstens sieben Gelenken bzw. (Bewegungs)Achsen, in einer Ausführung Drehgelenken bzw. -achsen, auf. Für solche Roboter ist die vorliegende Erfindung aufgrund ihrer Kinematik, Variabilität und/oder Komplexität besonders geeignet.

In einer Ausführung weist die vorgegebene Aufgabe wenigstens eine Bewegung des Roboters, insbesondere wenigstens einen planmäßigen Umgebungskontakt des Roboters, auf, kann also insbesondere ein robotergestütztes Greifen und/oder Fügen aufweisen. Für solche Aufgaben ist die vorliegende Erfindung aufgrund ihrer

Komplexität besonders geeignet.

In einer Ausführung weist der Roboterparameter

- einen ein- oder mehrdimensionalen kinematischen, insbesondere dynamischen, Robotermodellparameter, insbesondere eine oder mehrere Achsabstände,

Massen, Massenschwerpunkte, Trägheiten und/oder Steifigkeiten; und/oder

- einen ein- oder mehrdimensionalen kinematischen, insbesondere dynamischen, Lastmodellparameter, insbesondere eine oder mehrere Abmessungen, Massen, Massenschwerpunkte und/oder Trägheiten; und/oder

- eine aktuelle Roboterpose, insbesondere eine oder mehrere aktuelle Achs- bzw.

Gelenkstellungen; und/oder

- eine aktuelle Roboterbetriebszeit auf.

Zusätzlich oder alternativ weist in einer Ausführung der Umweltmodelparameter einen ein- oder mehrdimensionalen CAD-Modellparameter und/oder eine, insbesondere aktuelle, Roboterpositionierung in dem Umgebungsmodell auf und/oder wird mithilfe wenigstens eines optischen Sensors, insbesondere einer Kamera, ermittelt.

In einer Weiterbildung wird dieser optische Sensor von einer Person geführt, insbesondere gehalten bzw. -tragen, in einer anderen Weiterbildung von einem

Roboter, welcher seinerseits in einer Ausführung hierzu eine programmierte oder automatisch, insbesondere mittels einer Kollisionsvermeidung, ermittelte Bahn abfährt oder hand- bzw. durch manuell auf den Roboter ausgeübte Kräfte geführt wird bzw. ist.

In einer Ausführung weist der Agent ein künstliches neuronales Netz auf. In einer Weiterbildung wird dann die Steuerung des Roboters auf Basis der Struktur und/oder Gewichtungen des trainierten Netzes konfiguriert, diese Struktur und/oder Gewichtungen in einer Ausführung auf die Steuerung des Roboters übertragen. Zusätzlich oder alternativ wird der Agent in einer Ausführung mithilfe von

Reinforcement Learning, vorzugsweise Deep Reinforcement Learning, trainiert.

In einer Ausführung wird die Steuerung des Roboters, nachdem sie in hier beschriebener weise konfiguriert worden ist, mittels maschinellem Lernen, insbesondere Reinforcement Learning, vorzugsweise Deep Reinforcement Learning, mithilfe des realen Roboters weiter trainiert.

In einer Ausführung ist, insbesondere wird, der Roboterparameter und/oder

Umweltmodelparameter wenigstens temporär in einer Verwaltungsschale und/oder in einer Daten-Cloud gespeichert.

Nach einer Ausführung der vorliegenden Erfindung ist, insbesondere wird, bei einem Verfahren zum Durchführen einer vorgegebenen Aufgabe mithilfe wenigstens eines Roboters eine Steuerung des Roboters nach einem hier beschriebenen Verfahren konfiguriert. Entsprechend kann in einer Ausführung ein erfindungsgemäßes

Verfahren ein hier beschriebenes Verfahren zum Konfigurieren einer Steuerung eines Roboters zum Durchführen einer vorgegebenen Aufgabe sowie den Schritt des Durchführens der vorgegebenen Aufgabe mithilfe des Roboters mit der

erfindungsgemäß konfigurierten Steuerung aufweisen.

Nach einer Ausführung der vorliegenden Erfindung ist ein System, insbesondere hard- und/oder Software-, insbesondere programmtechnisch, zur Durchführung eines oder mehrerer hier beschriebenen Verfahrens eingerichtet. Es weist in einer

Ausführung Mittel zum Erfassen wenigstens eines Roboterparameters und wenigstens eines Umweltmodelparameters; Mittel zum Trainieren eines Agenten mithilfe wenigstens einer Simulation auf Basis des erfassten Roboterparameters und Umweltmodelparameters mittels maschinellen Lernens auf Basis einer vorgegebenen Kostenfunktion; und Mittel zum Konfigurieren der Steuerung des Roboters auf Basis des trainierten Agenten auf.

In einer Ausführung weist das System auf:

Mittel zum mehrfach wiederholten Ermitteln eines stochastischen Wertes wenigstens eines Roboterparameters und/oder wenigstens eines Umweltmodelparameters, insbesondere auf Basis eines vorgegebenen stochastischen Parametermodells und/oder mithilfe wenigstens eines Zufallsgenerators; und Durchführen einer, insbesondere mehrstufigen, Simulation der Applikation auf Basis des ermittelten stochastischen Wertes; und

Mittel zum Trainieren wenigstens eines Steuerungs-Agenten und/oder wenigstens eines Klassifikations-Agenten mithilfe der Simulationen mittels maschinellen Lernens, insbesondere Trainieren eines ersten Steuerungs-Agenten und/oder ersten

Klassifikations-Agenten mithilfe erster Stufen der Simulationen, und wenigstens eines weiteren Steuerungs-Agenten und/oder weiteren Klassifikations-Agenten mithilfe weiterer Stufen der Simulationen.

Zusätzlich oder alternativ weist das System in einer Ausführung Mittel zum

Konfigurieren einer Steuerung des Roboters auf Basis des, insbesondere der, trainierten Steuerungs-Agenten zum Durchführen der Applikation auf.

Zusätzlich oder alternativ weist das System in einer Ausführung Mittel zur

Klassifikation der Applikation mithilfe des, insbesondere der trainierten,

Klassifikations-Agenten auf.

Zusätzlich oder alternativ weist das System in einer Ausführung Mittel zum

Durchführen der Applikation mithilfe des Roboters, wobei eine Steuerung des

Roboters, mit der die Applikation ganz oder teilweise durchgeführt wird, auf Basis des, insbesondere der, trainierten Steuerungs-Agenten konfiguriert ist und/oder die

Applikation mithilfe des, insbesondere der, trainierten Klassifikations-Agenten klassifiziert wird, auf.

In einer Ausführung weist das System bzw. sein(e) Mittel auf:

eine maschinell gelernte Anomalieerkennung und/oder maschinell gelernte

Fehlererkennung und/oder wenigstens ein künstliches neuronales Netz; und/oder Mittel zum Trainieren wenigstens eines Steuerungs-Agenten und/oder wenigstens eines Klassifikations-Agenten mithilfe von Reinforcement Learning und/oder mithilfe des Roboters wird; und/oder

Mittel zur Klassifikation der Applikation auf Basis wenigstens eines, insbesondere wandernden, Zeitausschnitts und/oder während oder nach dem Durchführen der Applikation mithilfe des wenigstens einen Klassifikations-Agenten; und/oder Mittel zum Trainieren des wenigstens einen Steuerungs-Agenten und/oder des wenigstens einen Klassifikations-Agenten auf Basis wenigstens einer beim

Durchführen der Applikation nicht gemessenen Zustandsgröße; und/oder

Mittel zum Ermitteln des Roboterparameters und/oder des Umweltmodelparameters mithilfe einer robotergestützten Parameteridentifikation; und/oder

Mittel zum Prüfen, ob die Startpose, Zwischenpose und/oder Zielpose mit dem

Roboter erreichbar ist; und/oder

Mittel zum Vorgeben des stochastischen Parametermodells auf Basis der Applikation und/oder einer Benutzereingabe, insbesondere zum Auswählen aus einer Mehrzahl zur Verfügung gestellter unterschiedlicher Parametermodelle; und/oder

Mittel zum Visualisieren des stochastischen Parametermodells in einer Abbildung der Applikation durch einen markierten Bereich; und/oder

Mittel zum Vorgeben des Roboter- und/oder des Umweltmodelparameters auf Basis der Applikation und/oder einer Benutzereingabe, insbesondere zum Auswählen aus einer Mehrzahl zur Verfügung gestellter unterschiedlicher Parameter; und/oder Mittel zum Visualisieren des Roboter- und/oder des Umweltmodelparameters in einer Abbildung der Applikation durch einen markierten Bereich; und/oder

Mittel zum Testen der konfigurierten Steuerung des Roboters und/oder der maschinell gelernten Anomalieerkennung und/oder Fehlererkennung mithilfe wenigstens einer weiteren Simulation, insbesondere auf Basis einer automatisierten oder

Benutzervorgabe eines Wertes wenigstens eines Roboterparameters und/oder wenigstens eines Umweltmodelparameters; und/oder

Mittel zum weiteren Trainieren der konfigurierten Steuerung des Roboters und/oder der maschinell gelernten Anomalieerkennung und/oder Fehlererkennung mithilfe des Roboters; und/oder

Mittel zum Vorgeben des stochastischen Parametermodells mithilfe maschinellen Lernens; und/oder

Mittel zur Anwendereingabeunterstützung wenigstens eines der Verfahrensschritte durch einen Software-Assistenten, insbesondere eine Benutzeroberflächenführung; und/oder

Mittel zur Durchführung wenigstens eines der Verfahrensschritte in einer Cloud.

Ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere eine, vorzugsweise mit einem Speicher- und/oder Bussystem daten- bzw. signalverbundene, insbesondere digitale, Verarbeitungs-, insbesondere Mikroprozessoreinheit (CPU), Graphikkarte (GPU) oder dergleichen, und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die

Verarbeitungseinheit kann dazu ausgebildet sein, Befehle, die als ein in einem

Speichersystem abgelegtes Programm implementiert sind, abzuarbeiten,

Eingangssignale von einem Datenbus zu erfassen und/oder Ausgangssignale an einen Datenbus abzugeben. Ein Speichersystem kann ein oder mehrere,

insbesondere verschiedene, Speichermedien, insbesondere optische, magnetische, Festkörper- und/oder andere nicht-flüchtige Medien aufweisen. Das Programm kann derart beschaffen sein, dass es eines oder mehrere der hier beschriebenen Verfahren ganz oder teilweise verkörpert bzw. auszuführen imstande ist, sodass die

Verarbeitungseinheit Schritte solcher Verfahren ausführen kann und damit

insbesondere die Steuerung konfigurieren bzw. die Applikation klassifizieren bzw. durchführen bzw. den Roboter betreiben bzw. steuern kann. Ein

Computerprogrammprodukt kann in einer Ausführung ein, insbesondere nicht flüchtiges, Speichermedium zum Speichern eines Programms bzw. mit einem darauf gespeicherten Programm aufweisen, insbesondere sein, wobei ein Ausführen dieses Programms ein System bzw. eine Steuerung, insbesondere einen Computer, dazu veranlasst, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen.

In einer Ausführung werden ein oder mehrere, insbesondere alle, Schritte des

Verfahrens vollständig oder teilweise automatisiert durchgeführt, insbesondere durch das System bzw. sein(e) Mittel.

In einer Ausführung weist das System den Roboter auf.

In einer Ausführung wird ein Framework geschaffen, das es ermöglicht, ein Motion bzw. Task Learning mittels Verfahren des Reinforcement Learnings effizient(er) zu realisieren. In einer Ausführung werden einfach und effizient Parameter des Roboters abgefragt und/oder das Umweltmodell erfasst. Insbesondere, um effizient(er) und schnell(er) zu lernen und/oder das reale System nicht zu blockieren, wird dies in einer Ausführung nicht auf dem realen System durchgeführt, sondern in einer Cloud- Simulationsumgebung. Dies kann vorteilhafte eine Parallelisierung des Lernprozesses und dadurch eine vorteilhafte Geschwindigkeitssteigerung und insbesondere hierdurch (durch Randomisierung von Parametern) ein robusteres Modell ermöglichen. Es sei nochmals betont, dass die vorliegende Erfindung insbesondere

- das Konfigurieren einer Steuerung eines Roboters zum Durchführen einer

Applikation mithilfe des Roboters (Roboterapplikation);

- das T rainieren eines oder mehrerer Klassifikations-(KI)Agenten zur Klassifikation einer Roboterapplikation; und

- das Durchführen einer bzw. der (Roboter)Applikation mithilfe wenigstens eines bzw. des Roboters

bzw. hierzu eingerichtete Mittel umfasst, insbesondere also (auch) ein Konfigurieren der Steuerung ohne Durchführen der Applikation, ein Trainieren des bzw. der

Klassifikations-(KI)Agenten ohne Durchführen der Applikation, insbesondere ein Trainieren des bzw. der Klassifikations-(KI)Agenten zusammen mit dem Konfigurieren der Steuerung, aber ohne Durchführen der Applikation, das Durchführen der

Applikation mit bereits konfigurierter Steuerung und/oder trainiertem/-n

Klassifikations-(KI)Agenten, d.h. ohne das Konfigurieren und/oder ohne das

Trainieren des bzw. der Klassifikations-(KI)Agenten, als auch die Kombination von Konfigurieren und/oder Trainieren mit dem Durchführen bzw. (jeweils) hierzu eingerichtete Mittel. Entsprechend umfasst ein Merkmal des Durchführens der Applikation insbesondere auch, dass das Konfigurieren der Steuerung bzw. Trainieren des bzw. der Klassifikations-(KI)Agenten dazu eingerichtet ist bzw. derart

durchgeführt wird, dass dieses Merkmal dann beim Durchführens der Applikation mit der konfigurierten Steuerung bzw. dem bzw. den trainierten

Klassifikations-(KI)Agenten verwirklicht ist.

Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:

Fig. 1 : ein System nach einer Ausführung der vorliegenden Erfindung;

Fig. 2: Teile des Systems;

Fig. 3: ein Verfahren nach einer Ausführung der vorliegenden Erfindung;

Fig. 4: ein Verfahren nach einer weiteren Ausführung der vorliegenden

Erfindung; und Fig. 5: eine Visualisierung eines stochastischen Parametermodells und eines Roboterparameters.

Fig. 1 zeigt ein System nach einer Ausführung der vorliegenden Erfindung mit einem Roboter 1 , einer (Roboter)Steuerung 2, die mit dem Roboter 1 und einer Cloud 4 kommuniziert und einer Datenein-/ausgabe- und -Verarbeitungseinrichtung, insbesondere einem Computer 3.

Auf dessen Benutzeroberfläche läuft ein Wizard, der einen Nutzer durch einen oder mehrere der im Folgenden beschriebenen Prozesse leitet:

In einem ersten Schritt eines Verfahrens nach einer Ausführung der vorliegenden Erfindung (Fig. 3: S10) werden ein Roboterparameter und eine Startkonfiguration erfasst. Um das Motion-Learning in einer Simulationsumgebung vorteilhaft

durchzuführen, sollten sowohl Parameter des Roboters wie auch das Umweltmodell möglichst exakt in der Cloud-Simulationsumgebung verfügbar sein.

Dabei werden mithilfe einer sog. Verwaltungsschale („Asset Administration Shell“; AAS), auch Digitaler Zwilling genannt, Zustands- und Verwaltungsdaten des Roboters 1 gespeichert. Vorteilhaft wird hierfür ein OPC UA Informationsmodell verwendet. In der Verwaltungsschale des Roboters sind Daten wie das Robotermodell,

Betriebsstunden, aktuelle Achswerte (zur Ermittlung einer Startposition), angefügte Tools etc. verfügbar und werden an die Cloud-Simulationsumgebung übertragen. Hieraus kann die Simulationsumgebung die Simulation im Hinblick auf den Roboter konfigurieren (CAD-Modell, Dynamikparameter, Tools, aktuelle Achskonfiguration, evtl geänderte Dynamikparameter durch Lebensdauer etc.)

In einem zweiten Schritt (Fig. 3: S20) wird das Umweltmodell erfasst. Hier stehen in einer Ausführung mehrere Möglichkeiten zur Auswahl:

- Übertragung eines vollständig modellierten CAD Modells inkl. Transformation zum Roboterkoordinatensystem;

- Erfassung der Umwelt durch eine 3D Kamera, die entweder von einem Menschen handgeführt wird oder am Roboter montiert ist, der

- handgeführt wird oder

- eine definierte und kollisionsfreie Trajektorie abfährt Im Falle einer Handführung ist es auch möglich, für die Aufgabe wichtige Bereiche, zum Beispiel ein Fügeziel, genauer und aus wenig Abstand aufzunehmen.

Das somit generierte Umweltmodell wird nun ebenfalls an die Cloud- Simulationsumgebung übertragen. Eine einfache Möglichkeit ist hier, die Daten ebenfalls in der Verwaltungsschale des Roboters abzulegen.

In einer Abwandlung hat die Roboterzelle eine Verwaltungsschale 10 (vgl. Fig. 2), das Umweltmodell und Referenzen auf beteiligte andere Verwaltungsschalen. Somit ist der Roboter selbst austauschbar und das Ganze ist modularer aufgebaut, als wenn alle Informationen in der Verwaltungsschale des Roboters selbst liegen. Der "Cell- Manager" kann dann die Interaktion mit den Subkomponenten, der

Simulationsumgebung 20 (vgl. Fig. 2) und die Ausführung des Lernprozesses regeln.

In einem dritten Schritt (Fig. 3: S30) wird das Lernziel definiert. Dabei wird eine Kostenfunktion vorgegeben, so dass der Reinforcement Algorithmus sein Ziel kennt. Insbesondere ist es möglich, in dem geführten Wizard, z.B. das Ziel dadurch vorzugeben, dass der Nutzer den Roboter zum Fügeziel handführt und dies einige Male wiederholt, um Fehler zu minimieren.

Eine manuelle Demonstration wird in einer Ausführung, je nach Reinforcement- Learning Algorithmus, auch zu einer Initialisierung des Algorithmus oder einem Inverse Reinforcement Learning der Kostenfunktion verwendet. Die Trajektorien der Demonstrationen können ebenfalls in der Verwaltungsschale hinterlegt werden.

In einem vierten Schritt (Fig. 3: S40) wird in der Cloud-Umgebung 4, vorzugsweise parallelisiert, mittels Verfahren des Deep Reinforcement Learnings der Task gelernt.

Der konkrete Algorithmus ist vorteilhafterweise

- Guided Policy Search;

- Soft Q-Learning;

- A3C

oder dergleichen. Um die Simulation-Reality Gap zu überwinden, wird in einer Ausführung eine

Randomisierung der Dynamik- Parameter vorgenommen. Ist ein Vision-System beteiligt, wird in einer Ausführung mittels Domain Randomization ein flexibles Visionmodell erlernt.

Ein geometrischer Pfadplaner kann kontaktfreie Pfadelemente planen und im Falle der Guided Policy Search die Linear Quadratic Gaussian Controllers initialisieren.

Das Ergebnis des Algorithmus sind die Struktur des neuronalen Netzes und die trainierten Gewichte eines neuronalen Netzes. In einer Abwandlung können für ein späteres Finetuning Progressive Nets verwendet werden. Die Ergebnisse der Simulation werden an den Roboter / Edge Controller zurück gesendet.

In einem fünften Schritt (Fig. 3: S50) wird das Modell auf den Roboter oder einen Edge Controller heruntergeladen.

Das trainierte Modell kann nun rückgespielt werden. In der Verwaltungsschale der Simulationsinstanz können auch Parameter der Simulation und des Lernalgorithmus bereitgestellt werden (z.B. Lernrate, Anzahl Iterationen etc., die später beim

Finetuning verwendet werden können). Insbesondere kann für den Austausch des Computation Graphs und der Gewichte beispielsweise das ONNX Austauschformat verwendet werden.

In einem optionalen sechsten Schritt (Fig. 3: S60) wird das Modell auf dem realen System fine-getuned.

Je nach Qualität der Simulation ist das Modell direkt ready-to-use oder wird auf dem realen System weiter fine-getuned. D.h. der Reinforcement Learning Algorithmus wird auf dem realen System weiter trainiert, wobei eine Initialisierung durch die Gewichte und andere Parameter des Reinforcement-Algorithmus vorteilhaft ist.

In einem siebten Schritt (Fig. 3: S70) kann der gelernte Task nun ausgeführt werden.

Fig. 4 zeigt Verfahren nach einer weiteren Ausführung der vorliegenden Erfindung, welches mit dem System der Fig. 1 ausgeführt werden kann. In einem Schritt S100 wird jeweils durch einen in diesem Ausführungsbeispiel vorgesehenen und daher gestrichelt angedeuteten Zufallsgenerator 3a (vgl. Fig. 1 ) ein stochastischer Wert eines Roboterparameters und/oder eines

Umweltmodelparameters, zum Beispiel einer zweidimensionalen Zielposition eines in diesem Ausführungsbeispiel robotergeführten Steckers 1a in einer Fläche 10 (vgl. Fig. 1), auf Basis eines vorgegebenen stochastischen Parametermodells, im

Ausführungsbeispiel einer durch einen Benutzer mithilfe des Wizards vorgegebenen Gauß-Verteilung, ermittelt.

Fig. 5 zeigt hierzu exemplarisch, wie dieser Roboterparameter und dieses

stochastische Parametermodell in einer Abbildung dieser Füge-Applikation durch einen markierten Bereich in Form eines Kreises um den Mittel- bzw. Erwartungswert der Gauß-Verteilung für die zweidimensionale Zielposition in der (Abbildung der) Fläche visualisiert werden. Dabei visualisiert der Rand des Kreises einen Maximalwert einer Abweichung von dem Mittel- bzw. Erwartungswert und die durch

unterschiedliche Schraffuren angedeutete unterschiedliche Färbung, in einer

Ausführung unterschiedliche (Farb)Helligkeit, des markierten Bereichs die jeweilige Wahrscheinlichkeit, dass die Zielposition an dieser Stelle liegt.

In einem Schritt S200 wird eine Simulation der Applikation auf Basis des ermittelten stochastischen Wertes, d.h. mit einer stochastischen Zielposition, auf dem Computer 3 oder in der Cloud 4 durchgeführt.

Dabei wird ein Steuerungs-Agent mittels Reinforcement Learning trainiert.

In einem Schritt S300 wird geprüft, ob der Steuerungs-Agent bereits ausreichend trainiert ist. Ist dies nicht der Fall (S300:„N“), generiert der Zufallsgenerator 3a eine neue stochastischen Zielposition, mit der eine weitere Simulation durchgeführt wird.

Ist der Steuerungs-Agent ausreichend trainiert (S300:„Y“), wird die Steuerung 2 des Roboters 1 auf Basis des trainierten Steuerungs-Agenten konfiguriert (S400).

Zudem wird ein Klassifikations-Agent mithilfe der durchgeführten Simulationen trainiert, beispielsweise eine Anomalie- oder Fehlererkennung maschinell gelernt (S500), d.h. die beim Trainieren des Steuerungs-Agenten durchgeführten

Simulationen genutzt.

Dann wird die reale Applikation mithilfe des Roboters 1 mit der in Schritt S400 konfigurierten Steuerung durchgeführt (S600) und dabei oder anschließend durch die Anomalie- bzw. Fehlererkennung klassifiziert (S700). Dabei kann die konfigurierte Steuerung weiter trainiert werden.

Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist. Außerdem sei darauf hingewiesen, dass es sich bei den exemplarischen

Ausführungen lediglich um Beispiele handelt, die den Schutzbereich, die

Anwendungen und den Aufbau in keiner Weise einschränken sollen. Vielmehr wird dem Fachmann durch die vorausgehende Beschreibung ein Leitfaden für die

Umsetzung von mindestens einer exemplarischen Ausführung gegeben, wobei diverse Änderungen, insbesondere in Hinblick auf die Funktion und Anordnung der beschriebenen Bestandteile, vorgenommen werden können, ohne den Schutzbereich zu verlassen, wie er sich aus den Ansprüchen und diesen äquivalenten

Merkmalskombinationen ergibt.