DE102020206924A1 - Carrying out an application with the aid of at least one robot - Google Patents

Carrying out an application with the aid of at least one robot Download PDF

Info

Publication number
DE102020206924A1
DE102020206924A1 DE102020206924.7A DE102020206924A DE102020206924A1 DE 102020206924 A1 DE102020206924 A1 DE 102020206924A1 DE 102020206924 A DE102020206924 A DE 102020206924A DE 102020206924 A1 DE102020206924 A1 DE 102020206924A1
Authority
DE
Germany
Prior art keywords
robot
application
aid
agent
parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102020206924.7A
Other languages
German (de)
Inventor
Manuel Kaspar
Jonas Schwinn
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KUKA Deutschland GmbH
Original Assignee
KUKA Deutschland GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KUKA Deutschland GmbH filed Critical KUKA Deutschland GmbH
Priority to DE102020206924.7A priority Critical patent/DE102020206924A1/en
Priority to EP20735370.7A priority patent/EP3993959A1/en
Priority to US17/616,757 priority patent/US20220339787A1/en
Priority to PCT/EP2020/068241 priority patent/WO2021001312A1/en
Priority to CN202080047210.XA priority patent/CN114051444B/en
Publication of DE102020206924A1 publication Critical patent/DE102020206924A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40499Reinforcement learning algorithm

Abstract

Ein erfindungsgemäßes Verfahren zum Durchführen einer Applikation mithilfe wenigstens eines Roboters (1) umfasst 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: 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.A method according to the invention for performing an application with the aid of at least one robot (1) comprises the repeatedly repeated steps: determining (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 predetermined stochastic parameter model and / or with the aid of at least one Random generator (3a); and performing (S200) an, in particular multi-stage, simulation of the application on the basis of the determined stochastic value; the steps: training (S200, S500) at least one control agent and / or at least one classification agent using the simulations using machine learning, in particular training a first control agent and / or first classification agent using first stages of the simulations, and at least one further control agent and / or further classification agent with the aid of further stages of the simulations; and performing (S600) the application with the aid of the robot; and at least one of the steps: configuring (S400) a controller of the robot, with which the application is carried out in whole or in part, on the basis of the, in particular the, trained control agent; and / or classification (S700) of the application with the aid of the, in particular the, trained classification agent.

Description

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.The present invention relates in particular to a method for performing an application using at least one robot, a method for configuring a controller of a robot for performing an application or a predetermined task, a method for training at least one classification agent for classifying a robot application, a method for Carrying out a predetermined task with the aid of at least one robot with an appropriately configured controller and a system and a computer program product for carrying out at least one of these methods.

Um Applikationen bzw. vorgegebene Aufgaben durchzuführen, müssen Steuerungen von Robotern entsprechend konfiguriert werden, herkömmlicherweise durch manuelles Erstellen von Roboterprogrammen oder dergleichen.In order to carry out applications or specified tasks, controls of robots have to be configured accordingly, conventionally by manually creating robot programs or the like.

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.One object of an embodiment of the present invention is to improve the implementation of an application or a given task with the aid of at least one robot. One object of an embodiment of the present invention is to improve the configuration of a controller of the robot for carrying out the application or the specified task. One object of an embodiment of the present invention is to improve a classification of a robot application. An object of an embodiment of the present invention is to improve a control of a robot with which an application is carried out.

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. 11 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.One or more of these objects, the subjects of the independent claims and / or one or more of the methods or means described here, in particular a method with the features of claims 1, 9, 10 and 11, respectively, are achieved. Claims 14, 15 provide a system or computer program product for carrying out a method described here under protection. The subclaims relate to advantageous developments.

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.
According to one embodiment of the present invention, a method for
  • - Configuring a controller of a robot for performing an application with the aid of the robot (robot application);
  • - Training at least one classification (KI) agent to classify a robot application; and or
  • - Carrying out one or the (robot) application with the aid of at least one or the robot
the steps repeated several times, cyclically in one execution:
  • - Determination of a one-dimensional or multi-dimensional stochastic value of at least one one-dimensional or multi-dimensional robot parameter and / or at least one one-dimensional or multi-dimensional environmental model parameter, in one embodiment on the basis of a predetermined stochastic parameter model and / or with the aid of at least one random generator; and
  • - Carrying out a multi-stage simulation of the application on the basis of the determined stochastic value.

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.The stochastic value for a simulation can be determined before the simulation is carried out and then used in it. Likewise, several stochastic values of the robot and / or the environmental model parameter can also be determined in advance and then one of these stochastic values can be used for or in one of the simulations.

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
    • - Trainieren wenigstens eines weiteren Steuerungs-(KI-)Agenten und/oder wenigstens eines weiteren Klassifikations-(KI-)Agenten mithilfe weiterer Stufen der Simulationen.
According to one embodiment of the present invention, the method comprises the step:
  • - Work out
    • - At least one control (AI) agent and / or
    • - At least one classification (AI) agent using the simulations using machine learning, in one embodiment
    • - Training a first control (KI) agent and / or a first classification (KI) agent using first stages of the simulations, and
    • - Training at least one further control (KI) agent and / or at least one further classification (KI) agent with the aid of further stages of the simulations.

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

  • - ein- oder mehrfaches Durchführen der (realen) Applikation mithilfe des Roboters.
According to one embodiment of the present invention, the method comprises the step:
  • - Single or multiple implementation of the (real) application using the robot.

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.Several control (AI) agents can also use several S (simulation) levels and only one classification (AI) agent using the simulations or several classification (AI) agents using several S (simulation) levels and only a control (AI) agent can be trained using the simulations.

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.In one embodiment, the robot or environmental model parameter (value) is thus randomized or the simulations are carried out with randomized robot or environmental model parameters (values) and the agent or agents are trained or machine-learned with the aid of these simulations.

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.As a result, machine learning can be improved in one implementation and more robust and / or faster in one implementation. Additionally or alternatively, an agent trained in this way or on the basis of randomized robot or environmental model parameters (values) can thereby improve the implementation of the (real) application with the aid of the robot, in particular the control of the robot and / or classification of the application, in particular act robustly and / or flexibly.

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.When an agent is spoken of in the present case, this includes in particular an artificial intelligence agent, in particular a control (AI) agent or a classification (AI) agent.

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.In one embodiment, determining a stochastic value includes generating the value, in particular numerically and / or physically, and can in particular be generating the value.

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.The stochastic values on the basis of which the simulations are carried out are, in particular, are determined, in particular generated, in one embodiment with the aid of at least one random generator, in particular pseudo-random number generator, and / or are stochastically or randomly distributed values, in one embodiment random numbers, in particular Pseudo-random numbers, which in one embodiment are determined by the specified stochastic parameter model or which satisfy this model.

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.In one embodiment, the stochastic parameter model has one or more stochastic parameters, in particular minimum, maximum, expected and / or mean value (s), variance (s), standard deviation (s), measure (s) of dispersion or the like , and / or a probability distribution, for example a Gaussian or normal distribution, a uniform distribution or the like.

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.For example, a user and / or a user input support or a software assistant can specify a minimum and maximum value for a robot or environmental model parameter as well as a uniform distribution and thus a stochastic parameter model, with the help of a (pseudo) random number generator stochastic (distributed values generated and determined in this way on the basis of this specified stochastic parameter model and with the aid of this (pseudo) random number generator. Likewise, the user and / or the user input support can, for example, specify a specific Gaussian distribution and thus another stochastic parameter model, whereby then with the help of a (pseudo) random number generator again corresponding stochastically (distributed values are generated and in this way on the basis of this other predetermined stochastic parameter model and with the help of this (pseudo) random number generator rs can be determined.

Somit sind bzw. werden in einer Ausführung die ermittelten stochastischen Werte durch das vorgegebene stochastische Parametermodell (mit)bestimmt, beispielsweise durch Minimal- und/oder Maximalwerte) begrenzt, durch Varianz(en) entsprechend um einen Erwartungs- bzw. Mittelwert gestreut oder dergleichen.Thus, in one embodiment, the determined stochastic values are (also) determined by the specified stochastic parameter model, for example limited by minimum and / or maximum values, scattered by variance (s) around an expected or mean value or the like.

Unter einer Simulation wird insbesondere ein Simulationslauf bzw. eine numerische Simulation der Applikation bzw. ihres zeitlichen Ablaufs verstanden.A simulation is understood to mean, in particular, a simulation run or a numerical simulation of the application or its course over time.

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 one embodiment, a multi-stage simulation comprises two or more successive time and / or functional segments or stages of the application that are contiguous in one embodiment, for example the robot-assisted joining of a first gearwheel (first stage) and the subsequent robot-assisted joining of a further gearwheel (further stage) or the like.

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 one embodiment, a first control agent using first stages or sections of the simulations and at least one further control agent using further stages or sections of the simulations and / or a first classification agent using the same or different first stages or sections of the Simulations and at least one further classification agent trained using further stages or sections of the simulations, in the above example a first (control or classification) agent for joining the first gear using the first simulation stages or simulations of joining the first gear and a further (control or classification) agent for joining the further gear with the aid of the further simulation stages or simulations of the joining of the further gear.

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.In one embodiment, an initial state for a later simulation stage is determined or specified on the basis of a final state or result of a previous simulation stage, wherein in one embodiment this initial state also varies, in particular randomized, in particular on the basis of a user input or specification, will or can be. In the above example, for example, a pose of the first gearwheel after its simulated joining can be used as a start value in the further simulation stage and, if necessary, changed and / or randomized by a user.

Hierdurch kann in einer Ausführung eine mehrstufige Applikation besonders vorteilhaft durchgeführt werden.In this way, a multi-stage application can be carried out particularly advantageously in one embodiment.

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.
According to one embodiment of the present invention, the method comprises the step:
  • - Configuring a controller of the robot to carry out the application, in particular a controller of the robot with which the application is carried out, on the basis of the or one or more of the trained control agents.

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.Thus, according to one aspect of the present invention, the simulations with stochastic or randomized values are used to machine control of the robot for performing the (real) application with the aid of the robot or to train one or more agents for this purpose.

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.As a result, in one embodiment, the implementation of the (real) application can be improved with the aid of the robot, in particular the application can be implemented robustly and / or flexibly.

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.In one embodiment, a control of the robot, with which only part of the application is or is to be carried out, is configured on the basis of the, in particular the, trained control agent.

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.In particular, the application can have one or more sections that are (should) be carried out with a (different) controller of the robot that is not or is not configured on the basis of the trained control agent (s), as well as one or more sections, which are (should) be carried out with a controller of the robot, which is or is configured on the basis of the trained control agent (s). A controller within the meaning of the present invention can in particular have, in particular be, a control device and / or a computer program, in particular (computer) program module or part.

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.In particular, it can be useful to configure a (different) control using geometric or dynamic path planning, teaching or the like for transfer sections in which the robot moves a load freely, and for contact, in particular gripping and / or joining sections, in where there is or is environmental contact of the robot, in particular the robot grips or adds a load, to configure a controller based on the trained agent (s).

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.
In addition or as an alternative to this aspect, the method according to an embodiment of the present invention has the step:
  • - Classification of the application with the aid of the or one or more of the trained classification agents.

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.Thus, according to one aspect of the present invention, the simulations with stochastic or randomized values are used to learn a classification of the (real) application by machine or to train one or more classification agents for this purpose.

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.As a result, in one embodiment, the implementation of the (real) application can be improved with the aid of the robot, in particular the application can be monitored robustly and / or flexibly.

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.In one embodiment, the or one or more of the classification agent (s) has / have machine-learned anomaly detection. Additionally or alternatively, in one embodiment the or one or more of the classification agent (s) has / have machine-learned error detection.

Eine Anomalieerkennung umfasst in einer Ausführung eine Klassifikation der durchgeführten Applikation(en) in normal(e) und anormal(e 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.In one embodiment, an anomaly detection comprises a classification of the application (s) carried out into normal (s) and abnormal (s) applications. In one embodiment, the anomaly detection is or is machine learned, in particular only, on the basis of simulated applications labeled as normal and / or the anomaly detection classifies an application as abnormal if it deviates (too much) from the simulated applications labeled as normal.

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.If, for example, an obstacle not taken into account in the simulations blocks the implementation of the real application with the aid of the robot, the robot's force and / or posture data in particular deviate significantly from the progression in simulated applications labeled as normal, and the agent classifies this real application as abnormal .

Eine Fehlererkennung umfasst in einer Ausführung eine Klassifikation der durchgeführten Applikation(en) in fehlerfrei(e) und fehlerhaft (e 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.In one version, error detection comprises a classification of the application (s) carried out into error-free (s) and faulty (s) applications, and in one version into different error classes. It is or will be learned automatically in an implementation based on simulated applications labeled as error-free and simulated applications labeled as faulty or corresponding to a corresponding error class and / or classifies an application into a (corresponding) error class if it matches the correspondingly labeled simulated applications sufficiently, in particular most strongly, resembles.

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.For example, in the above example, joining the first gear with the aid of the robot, in particular on the basis of force and / or posture data of the robot, can be classified as error-free, as attached, but not sufficiently deep and / or jammed, or as not joined, if the force or pose data are sufficiently similar to the courses of appropriately labeled simulated applications and the agent classifies this real application into the corresponding error class.

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.The invention can be used with particular advantage for such classifications of robot applications, since these can only be learned with difficulty by machine using (real) applications carried out with the robot.

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.In one embodiment, the or one or more of the control agent (s) and / or the or one or more of the classification agent (s) each have at least one artificial neural network; in one embodiment, the control of the Robot configured based on the structure and / or weightings of the trained network.

Hierdurch kann in einer Ausführung eine besonders vorteilhafte Steuerung realisiert und/oder diese besonders vorteilhaft konfiguriert werden.In this way, a particularly advantageous control can be implemented in one embodiment and / or this can be configured in a particularly advantageous manner.

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.In one embodiment, the or one or more of the control agent (s) and / or the or one or more of the classification agent (s) is trained with the aid of reinforcement learning, in particular deep reinforcement learning.

Dies eignet sich besonders für das Konfigurieren einer Steuerung des Roboters sowie das Klassifizieren, insbesondere eine Anomalie- und/oder Fehlererkennung, der Applikation.This is particularly suitable for configuring a controller for the robot and for classifying, in particular anomaly and / or error detection, of the application.

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.In one embodiment, the or one or more of the control agent (s) and / or the or one or more of the classification agent (s) are trained, in particular additionally, with the aid of the robot, in one embodiment based on one or more of the several (real) applications carried out with the help of the robot.

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.As a result, in one embodiment, the corresponding agent can be used particularly advantageously when performing the real application with the aid of the robot and / or machine learning can be (further) improved.

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.In one embodiment, the or one or more of the control agent (s) and / or the or one or more of the classification agent (s) is / are, based on at least one not measured when performing the application, in a Execution not measurable, state variable trained.

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.This is based, in particular, on the knowledge or idea that state variables can also be calculated in the simulations, in particular calculated, which are not measured when the application is carried out, and possibly cannot be measured with the existing environment or configuration, in particular measuring equipment , and that such state variables, which arise or are calculable anyway in simulations for (the purpose of) configuring (s) the control, in particular are calculated, can (also) be used particularly advantageously for training or machine learning.

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 the above example, it can be the case that the distance between the (first or further) gear and a stop cannot be measured, for example because there is no corresponding sensor or the space between the gear and the stop is not accessible. In the case of a simulation of the joining, however, this distance can be calculated and then used as a state variable for training, in particular in a quality criterion.

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.In one embodiment, a quality criterion used when training the or one or more of the control agents and / or classification agents, in particular a quality or cost function, is based on at least one not measured when performing the application, in one embodiment with the existing configuration or environment not measurable, state variable determined or depends on this.

Hierdurch kann in einer Ausführung das maschinelle Lernen verbessert, in einer Ausführung robuster und/oder schneller, werden.As a result, machine learning can be improved in one implementation and more robust and / or faster in one implementation.

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.In addition or as an alternative to the idea of using state variables for training the or one or more of the agents that are not measured when the application is carried out but are calculated in the simulations, an embodiment of the present invention is based on the knowledge or idea, Simulations that are (anyway) carried out or used to train at least one control agent, on the basis of which the control of the robot with which the (real) application is or should be carried out is configured, also to be used or used for this purpose. use to train one or more classification agents with whose help the (real) application that is carried out with the aid of the robot is or should be classified.

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.Accordingly, according to one embodiment of the present invention, the method comprises both the step:
  • - Configuring a controller of the robot to carry out the application, in particular a controller of the robot with which the application is carried out in whole or in part, on the basis of the or one or more of the trained control agents;

as well as the step:
  • - Training the or one or more of the classification agents, in particular classification of the application with the aid of the or one or more of the trained classification agents,

wherein in one embodiment control and classification agent (s) are or have been trained using the same simulations, wherein in a further development the or one or more of the classification agent (s) using simulations that have already been carried out with their help the or one or more of the control agent (s) have been trained beforehand and / or are trained synchronously with the aid of current simulations, with the aid of which the or one or more of the control agent (s) are currently being trained.

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 other words, one embodiment of the invention uses simulations on the basis of which, in particular by means of reinforcement learning, the control is configured or with the aid of which the or one or more of the control agent (s) is or are trained, in one embodiment has been or are also used to train at least one machine-learned classification or the or one or more of the classification agents.

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 one embodiment, for this purpose, data, in particular state variables, in one embodiment (temporal) state variable curves, in particular trajectories, of the application, in one embodiment of the robot that are or have been calculated in simulations, in one embodiment, simulations, with the help of which the or one or more of the control agent (s) are or have been trained, stored and the or one or more of the classification agent (s) trained with the aid of this stored data, in an execution following these simulations and / or during of these simulations.

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. Achsstellungen 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 one embodiment, these data include poses of one or more robot-fixed references, in particular an end effector, TCPs, robot-guided tool or piece or the like, joint or axis positions of the robot, internal and / or external forces on the robot, in particular joint and / or Driving forces, frictional forces, contact forces or the like, current variables, in particular voltages and / or currents in the drives of the robot, tracking errors of the robot and / or temporal derivatives of such poses, positions, forces, current variables or tracking errors, in particular speeds and / or accelerations of a or several robot-fixed references, axes or joints, drives, changes in such forces over time, current variables or following errors or the like. Following errors can in particular include force, position and / or speed errors.

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.In one embodiment, the simulations that have already been carried out in one embodiment become those simulations with the aid of which the or one or more of the control agent (s) are or have been trained, in particular on the basis of the stored data or data is selected in which a quality criterion is met and used to train the anomaly detection, or those simulations or data are sorted into different defect classes on the basis of a quality criterion and used to train the defect detection.

Bezeichnet beispielsweise traj_i 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.If, for example, traj_i denotes the data of a simulation i, traj = {traj_i} the amount of all data stored during the simulation, in an implementation for machine learning of the anomaly detection, the data {traj_success} of those simulations in which a successful course is generated from this the application was simulated or resulted, or the data {traj_failure_k1}, {traj_failure_ k2}, ... of those simulations in which an error k1, k2, ... was simulated or resulted, selected and then the anomaly detection with the help of {traj_success} or the error detection with the help of {{traj_success}, {traj_failure_k1}, {traj_failure_k2}, ...} learned by machine.

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.As a result, the machine-learned classification can in each case be improved in one embodiment, in particular learned more quickly and / or classified more precisely, more robustly and / or more reliably.

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.In one embodiment, the or one or more of the agent (s), in particular the anomaly detection and / or the error detection, classifies the application on the basis of at least one time segment that moves in an execution, in particular moves with it. In one embodiment, in addition to or as an alternative to an evaluation of the complete application, a continuous and / or serial evaluation is carried out and the agent classifies the application on the basis of this continuous or serial evaluation. Particularly suitable this includes recurrent networks, Markov models or autoregressive networks.

Hierdurch kann in einer Ausführung das maschinelle Lernen verbessert, in einer Ausführung effizienter und/oder schneller, werden.As a result, machine learning can be improved in one implementation and more efficient and / or faster in one implementation.

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.In one embodiment, the or one or more of the agent (s), in particular the anomaly detection and / or the error detection, classifies the application while the application is being carried out.

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 one embodiment, this enables a reaction to the result of the classification. Correspondingly, in one embodiment, the currently or currently executed application is changed if necessary on the basis of the classification; Application handled, in particular transported and / or processed, workpiece sorted out or reworked.

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.In one embodiment, the or one or more of the agent (s), in particular the anomaly detection and / or the error detection, classifies the application after the application has been carried out.

Hierdurch kann in einer Ausführung die Applikation genauer klassifiziert werden.As a result, the application can be classified more precisely in one embodiment.

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 one embodiment, the robot parameter has a one-dimensional or multidimensional start pose, one or more one-dimensional or multidimensional intermediate poses and / or a one-dimensional or multidimensional target pose of the application, in particular of the robot. Correspondingly, in one embodiment, the simulations of the application are carried out on the basis of stochastic (distributed or generated start, intermediate and / or target positions. As a result, inaccuracies as a result of previous processes, deviations during travel or the like can be taken into account in one embodiment, and thus machine learning or the trained agent (s) are improved, in particular robust (er) and / or flexible (er).

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.In one embodiment, especially before performing the simulation, it is checked whether (the stochastic value for) the start pose, intermediate pose (s) and / or target pose can be achieved with the robot, in particular on the basis of a kinematic model of the robot. If the pose or the corresponding stochastic value of the robot parameter cannot be reached, in one embodiment the value is determined again or until (it is determined that) the pose or the value can be reached with the robot, and then this value used as the determined value when performing the simulation of the application. As a result, machine learning can be improved in one implementation and more efficient and / or faster in one implementation.

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.A pose within the meaning of the present invention can in particular have, in particular be, a one, two or three-dimensional position and / or one, two or three-dimensional orientation.

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.Additionally or alternatively, in one embodiment the robot parameter has a one- or multi-dimensional force parameter of a robot-internal force, in particular at least one axis and / or at least one end effector stiffness and / or damping. As a result, wear and tear or tolerances between robots of the same model or the like can be taken into account in one embodiment, thereby improving machine learning or the trained agent (s), in particular robust (er) and / or flexible (er) l (er) ), will.

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.Additionally or alternatively, the robot parameter in one embodiment has a one- or multi-dimensional force parameter of an external force acting on the robot at least, in one embodiment only temporarily, in particular a (stochastic) disturbance or disturbance force, in particular an external force as a result of environmental contact or the like . As a result, real process conditions or random disturbances can be taken into account in an execution and thereby improve machine learning or the trained agent (s), in particular robust (more) and / or flexible (more), will.

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.A force in the sense of the present invention can in particular have, in particular be, an antiparallel force pair or torque. A force parameter can in particular include a force, but also a stiffness, a damping and / or a coefficient of friction or the like.

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.Additionally or alternatively, the robot parameter in one embodiment has a one- or multi-dimensional kinematic, in one embodiment dynamic, robot structure parameter, in particular one or multi-dimensional dimension and / or a weight and / or one or multi-dimensional moment of inertia of the robot or individual Structural members or structural member groups, or the like. As a result, tolerances between robots of the same model or the like can be taken into account in one embodiment, thereby improving machine learning or the trained agent (s), in particular robust (er) and / or flexible (er), will.

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.Additionally or alternatively, the environmental model parameter has in one embodiment a one- or multi-dimensional kinematic, in one embodiment dynamic, environmental, in one embodiment load structure parameter, in particular a one or multi-dimensional pose and / or dimension and / or a weight and / or moment of inertia an environmental structure, in particular a load structure, in particular a tool and / or workpiece or the like used in the application. As a result, tolerances between tools or workpieces of the same model, inaccuracies as a result of previous processes or the like can be taken into account in one embodiment, thereby improving machine learning or the trained agent (s), in particular robust (more) and / or flexible (e) l (er), will.

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.Additionally or alternatively, in one embodiment the robot parameters and / or the environmental model parameters are determined with the aid of a robot-assisted parameter identification, for example minimum, maximum and / or mean value (s) of or for the stochastic parameter model. In one embodiment, this can improve the correspondence with the real application and thereby improve machine learning or the trained agent (s), in particular robust (more) and / or flexible (more), will.

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.In one embodiment, in particular, the predetermined stochastic parameter model is predetermined on the basis of a user input and / or application-specifically, in one embodiment it is selected from a plurality of different parameter models made available.

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.In one embodiment, a user can first select one of several probability distributions, for example a Gaussian distribution, a uniform distribution or another probability distribution, and specify minimum and maximum values or the like for this or here. Likewise, for certain joining applications, for example, a probability distribution, for example a uniform distribution, for certain gripping applications, a different probability distribution, for example a Gaussian distribution, or the like can be selected and application-specific minimum and maximum values or the like can be specified for this or here . Mixed forms are also possible, in particular an application-specific preselection or default value assignment and an input option for the user to change them.

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.Additionally or alternatively, in one embodiment the robot and / or the environmental model parameters are specified on the basis of a user input and / or application-specific, in one embodiment they are selected from a plurality of different parameters made available.

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.For example, for inserting a robot-guided workpiece into a recess in a flat surface, a two-dimensional position within the surface and a one-dimensional orientation or angular position around a surface normal can be specified or selected as the target pose for drilling with a robot-guided drill in a flat surface, on the other hand, a one-dimensional distance to the surface along the drill axis as a target or intermediate pose.

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.In one embodiment, the stochastic parameter model and / or the robot and / or the environmental model parameter is visualized in a, in particular virtual, image of the application through a marked area, in one embodiment through corresponding geometric spaces, in particular bodies such as cuboids, spheres, cones , Cylinders or the like, or, in particular, planar or environment-adapted surfaces.

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 the above example, the area within the area in which the target position can (stochastically) be visualized in an image of the application, for example, by a corresponding circular area, the possible orientations or angular positions around the surface normal, for example, by two appropriately rotated cuboids or workpiece avatars in the respective maximum possible deflections.

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.In one embodiment, a probability distribution of the stochastic parameter model is visualized by a different coloring, in one embodiment different (color) brightness, of the marked area, the respective coloring or brightness (level) depending on the probability that the robot or environmental model parameter has the corresponding value.

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.In the above example, the area within the area in which the target position can be (stochastically) can be visualized in an image of the application, for example, by a corresponding circular area, areas of the circular area in which the target position is more likely, for example are or will be colored darker or a first area of the circular area in which the target position is located with a first probability, for example is or will be colored with a first color and / or brightness, and at least one other area of the circular area in which the target position lies with a different probability, is or will be colored with a different color and / or brightness.

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.As a result, in one embodiment, in particular in combination, a particularly suitable parameter model or particularly suitable parameters can be selected, in particular the speed and / or reliability of the input can be improved. User input support by a software assistant described elsewhere is particularly advantageous both for user input for specifying, in particular selection, the stochastic parameter model and user input for specifying, in particular selection, the robot and / or environmental model parameter.

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.In one embodiment, the configured control of the robot and / or the machine-learned anomaly detection and / or error detection is tested with the aid of at least one further simulation, in particular on the basis of an automated specification or user specification of a value of at least one robot parameter and / or at least one environmental model parameter.

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.For example, the user can change the pose of a workpiece for the test simulation and then use the test simulation to check whether or how well the configured control or anomaly or error detection (for this) works or performs. Likewise, a test script can automatically carry out further simulation with the trained control agent or agents or trained anomaly and / or error detection and thereby vary the values of at least one robot parameter and / or at least one environmental model parameter.

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.Additionally or alternatively, in one embodiment, the configured control of the robot and / or the machine-learned anomaly detection and / or error detection, in particular by means of machine learning, in particular reinforcement learning, are trained further with the aid of the robot, in particular on the basis of applications carried out with the aid of the robot.

Dadurch kann in einer Ausführung jeweils, insbesondere in Kombination, eine in der Praxis besonders vorteilhafte Steuerung realisiert werden.As a result, a control which is particularly advantageous in practice can be implemented in one embodiment, in particular in combination.

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.In one embodiment, the stochastic parameter model is, in particular, specified with the aid of machine learning. In particular, a parameter model (KI) agent can be based on previous applications carried out with the aid of the robot, which have been classified with the aid of a classification agent trained according to a method described here and / or in which the control of the robot with which these applications were carried out, have been configured on the basis of a control agent trained according to a method described here, based on the results of the previous applications carried out and the stochastic parameter model used in training this classification or control agent, the stochastic parameter model is specified, which is then specified in a method described here to carry out simulations to train the at least one classification agent, with the help of which a new application is then classified, and / or the at least one control agent is used, with the help of which a control for the durc a new application is configured.

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 this way, a particularly advantageous, in particular realistic, stochastic parameter model can be used, preselected in one embodiment, in particular by the user input support or the software assistant. In addition or as an alternative to the earlier applications carried out with the aid of the robot, simulated applications can also be used as earlier applications for machine learning for specifying the stochastic parameter model.

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 one embodiment, one or more of the steps of one of the methods described here, in particular the specification, in particular selection, of the stochastic parameter model and / or the robot and / or the environmental model parameter, have user input support from a software assistant, in particular user interface guidance , especially a so-called 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.In one embodiment, the robot and / or the environmental model parameter and / or the stochastic parameter model is preselected from a plurality of different parameters or parameter models made available, in particular application-specific and / or by the user input support or the software assistant.

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.As a result, in one embodiment, in particular in combination, a particularly suitable parameter model or particularly suitable parameters can be selected, in particular the speed and / or reliability of the input can be improved.

Zusätzlich oder alternativ werden einer oder mehrere der Schritte eines der hier beschriebenen Verfahren in einer Cloud durchgeführt.Additionally or alternatively, one or more of the steps of one of the methods described here are carried out in a cloud.

Dadurch kann dieses Verfahren vorteilhaft parallelisiert und/oder schnell(er) und/oder verteilt durchgeführt werden.As a result, this method can advantageously be carried out in parallel and / or quickly and / or in a distributed manner.

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;
  • - Trainieren 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.
According to one embodiment of the present invention, a method for configuring a controller of a robot for performing a predetermined task has the following steps:
  • - Detecting at least one one-dimensional or multi-dimensional robot parameter and at least one one-dimensional or multi-dimensional environmental model parameter;
  • - Training an (AI) agent with the help of one or more simulations on the basis of this recorded robot parameter and this recorded environmental model parameter by means of machine learning on the basis of a predetermined cost function; and
  • - Configure the control of the robot based on the trained agent.

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.By training an agent by means of machine learning with the aid of one or more simulations, a controller of a robot for performing a predetermined task can be configured particularly advantageously in one embodiment.

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 one embodiment, the robot has a stationary or mobile, in particular mobile, base and / or a robot arm with at least three, in particular at least six, in one embodiment at least seven joints or (movement) axes, in one embodiment swivel joints or axes, on. The present invention is particularly suitable for such robots because of its kinematics, variability and / or complexity.

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 one embodiment, the specified task has at least one movement of the robot, in particular at least one scheduled environmental contact of the robot, that is to say in particular can have robot-assisted gripping and / or joining. The present invention is particularly suitable for such tasks because of its complexity.

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.
In one embodiment, the robot has parameters
  • a one or more dimensional kinematic, in particular dynamic, robot model parameter, in particular one or more center distances, masses, centers of gravity, inertia and / or rigidity; and or
  • a one or more dimensional kinematic, in particular dynamic, load model parameter, in particular one or more dimensions, masses, centers of mass and / or inertia; and or
  • - a current robot pose, in particular one or more current axis or joint positions; and or
  • - a current robot operating time.

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.Additionally or alternatively, in one embodiment the environmental model parameter has a one- or multi-dimensional CAD model parameter and / or a, in particular current, robot positioning in the environmental model and / or is determined with the aid of at least one optical sensor, in particular a camera.

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 a further development, this optical sensor is guided, in particular held or carried by a person, in another development by a robot, which in turn, in one embodiment for this purpose, follows a programmed or automatically determined path, in particular by means of collision avoidance, or manually or . is or is guided by forces manually exerted on the robot.

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 one embodiment, the agent has an artificial neural network. In a further development, the control of the robot is then configured on the basis of the structure and / or weightings of the trained network, and this structure and / or weightings are transferred in one embodiment to the control of the robot. Additionally or alternatively, the agent is trained in one embodiment with the help of reinforcement learning, preferably deep reinforcement learning.

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 one embodiment, after it has been configured in the manner described here, the control of the robot is trained further by means of machine learning, in particular reinforcement learning, preferably deep reinforcement learning, with the aid of the real robot.

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.In one embodiment, the robot parameter and / or environmental model parameter is, in particular, stored at least temporarily in an administration shell and / or in a data cloud.

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.According to one embodiment of the present invention, in a method for performing a predetermined task with the aid of at least one robot, a controller of the robot is configured according to a method described here. Correspondingly, in one embodiment, a method according to the invention can have a method described here for configuring a controller of a robot for performing a specified task and the step of performing the specified task with the aid of the robot with the controller configured according to the invention.

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.According to one embodiment of the present invention, a system, in particular in terms of hardware and / or software, in particular in terms of programming, is set up to carry out one or more methods described here. In one embodiment, it has means for acquiring at least one robot parameter and at least one environmental model parameter; Means for training an agent with the aid of at least one simulation on the basis of the detected robot parameters and environmental model parameters by means of machine learning on the basis of a predetermined cost function; and means for configuring the control of the robot based on the trained agent.

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
In one implementation, the system comprises:
  • Means for repeatedly determining a stochastic value of at least one robot parameter and / or at least one environmental model parameter, in particular on the basis of a predetermined stochastic parameter model and / or with the aid of at least one random generator; and performing an, in particular multi-stage, simulation of the application on the basis of the determined stochastic value; and

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.Means for training at least one control agent and / or at least one classification agent using the simulations using machine learning, in particular training a first control agent and / or first classification agent using first stages of the simulations, and at least one further control agent and / or further classification agents with the aid of further stages of the simulations.

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.Additionally or alternatively, in one embodiment the system has means for configuring a control of the robot on the basis of the, in particular the, trained control agent for carrying out the application.

Zusätzlich oder alternativ weist das System in einer Ausführung Mittel zur Klassifikation der Applikation mithilfe des, insbesondere der trainierten, Klassifikations-Agenten auf.Additionally or alternatively, in one embodiment the system has means for classifying the application with the aid of the, in particular the trained, classification agent.

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.Additionally or alternatively, in one embodiment the system has means for performing the application with the aid of the robot, with a controller of the robot with which the application is performed in whole or in part being configured and / or based on the, in particular the, trained control agent the application is classified with the aid of, in particular, the trained classification agent.

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
In one embodiment, the system or its means has:
  • a machine-learned anomaly recognition and / or machine-learned error recognition and / or at least one artificial neural network; and / or means for training at least one control agent and / or at least one classification agent with the aid of reinforcement learning and / or with the aid of the robot; and or

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/oderMeans for classifying the application on the basis of at least one, in particular moving, time segment and / or during or after the application is carried out with the aid of the at least one classification agent; and or

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/oderMeans for training the at least one control agent and / or the at least one classification agent on the basis of at least one state variable that was not measured when the application was carried out; and or

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/oderMeans for determining the robot parameter and / or the environmental model parameter with the aid of a robot-assisted parameter identification; and / or means for checking whether the starting pose, intermediate pose and / or target pose can be reached with the robot; and or

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/oderMeans for specifying the stochastic parameter model on the basis of the application and / or a user input, in particular for selecting from a plurality of different parameter models made available; and / or means for visualizing the stochastic parameter model in an image of the application through a marked area; and or

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/oderMeans for specifying the robot and / or the environmental model parameter on the basis of the application and / or a user input, in particular for selecting from a plurality of different parameters made available; and / or means for visualizing the robot and / or the environmental model parameter in an image of the application through a marked area; and or

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/oderMeans for testing the configured control of the robot and / or the machine-learned anomaly detection and / or error detection with the aid of at least one further simulation, in particular on the basis of an automated or user specification of a value of at least one robot parameter and / or at least one environmental model parameter; and or

Mittel zum weiteren Trainieren der konfigurierten Steuerung des Roboters und/oder der maschinell gelernten Anomalieerkennung und/oder Fehlererkennung mithilfe des Roboters; und/oderMeans for further training the configured control of the robot and / or the machine-learned anomaly detection and / or error detection with the aid of the robot; and or

Mittel zum Vorgeben des stochastischen Parametermodells mithilfe maschinellen Lernens; und/oderMeans for specifying the stochastic parameter model using machine learning; and or

Mittel zur Anwendereingabeunterstützung wenigstens eines der Verfahrensschritte durch einen Software-Assistenten, insbesondere eine Benutzeroberflächenführung; und/oderMeans for user input support of at least one of the method steps by a software assistant, in particular a user interface guide; and or

Mittel zur Durchführung wenigstens eines der Verfahrensschritte in einer Cloud.Means for performing at least one of the method steps in a 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 nichtflü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.A means within the meaning of the present invention can be designed in terms of hardware and / or software, in particular a data or signal-connected, in particular digital, processing, in particular microprocessor unit (CPU), graphics card (GPU), preferably with a memory and / or bus system ) or the like, and / or one or more programs or program modules. The processing unit can be designed to process commands that are implemented as a program stored in a memory system, to acquire input signals from a data bus and / or to output output signals to a data bus. A storage system can have one or more, in particular different, storage media, in particular optical, magnetic, solid-state and / or other non-volatile media. The program can be designed in such a way that it embodies or is able to execute one or more of the methods described here in whole or in part, so that the processing unit can execute steps of such methods and thus in particular configure the controller or classify or execute or execute the application. can operate or control the robot. In one embodiment, a computer program product can have, in particular, a non-volatile storage medium for storing a program or with a program stored on it To carry out a process or one or more of its steps.

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 one embodiment, one or more, in particular all, steps of the method are carried out completely or partially in an automated manner, in particular by the system or its means.

In einer Ausführung weist das System den Roboter auf.In one embodiment, the system has the robot.

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.In one embodiment, a framework is created that enables motion or task learning to be implemented more efficiently using the reinforcement learning method. In one embodiment, parameters of the robot are simply and efficiently queried and / or the environmental model is recorded. In particular, in order to learn efficiently (more) and quickly (more) and / or not to block the real system, this is not carried out in one embodiment on the real system, but in a cloud simulation environment. This can advantageously enable a parallelization of the learning process and thereby an advantageous increase in speed and, in particular, a more robust model as a result (through randomization of parameters).

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 Trainieren 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.It should be emphasized again that the present invention in particular
  • the configuration of a controller of a robot for performing an application with the aid of the robot (robot application);
  • - the training of one or more classification (KI) agents to classify a robot application; and
  • the implementation of a (robot) application with the aid of at least one or the robot

or means set up for this purpose, in particular (also) configuring the controller without performing the application, training the classification (KI) agent or agents without performing the application, in particular training the classification (KI) Agents together with configuring the controller, but without executing the application, executing the application with an already configured controller and / or trained classification (KI) agent, ie without configuring and / or without training the Classification (KI) agents, as well as the combination of configuration and / or training with the implementation or means (each) set up for this purpose. Accordingly, a feature of performing the application also includes, in particular, that the configuration of the controller or training of the classification (KI) agent or agents is set up or performed in such a way that this feature is then used when the application is performed with the configured controller or the trained classification (KI) agent is realized.

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

  • 1: ein System nach einer Ausführung der vorliegenden Erfindung;
  • 2: Teile des Systems;
  • 3: ein Verfahren nach einer Ausführung der vorliegenden Erfindung;
  • 4: ein Verfahren nach einer weiteren Ausführung der vorliegenden Erfindung; und
  • 5: eine Visualisierung eines stochastischen Parametermodells und eines Roboterparameters.
Further advantages and features emerge from the subclaims and the exemplary embodiments. For this shows, partly schematically:
  • 1 : a system according to an embodiment of the present invention;
  • 2 : Parts of the system;
  • 3 : a method according to an embodiment of the present invention;
  • 4th : a method according to a further embodiment of the present invention; and
  • 5 : a visualization of a stochastic parameter model and a robot parameter.

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. 1 Figure 3 shows a system according to an embodiment of the present invention with a robot 1 , a (robot) controller 2 that with the robot 1 and a cloud 4th communicates and a data input / output and processing device, in particular a 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 (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.
A wizard runs on its user interface that guides a user through one or more of the processes described below:
  • In a first step of a method according to an embodiment of the present invention ( 3 : S10 ) a robot parameter and a start configuration are recorded. In order to carry out motion learning advantageously in a simulation environment, both parameters of the robot and the environmental model should be available as precisely as possible in the cloud simulation environment.

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.)With the help of what is known as an asset administration shell (AAS), also known as a digital twin, the robot's status and management data are recorded 1 saved. An OPC UA information model is advantageously used for this. In the administration shell of the robot, data such as the robot model, operating hours, current axis values (to determine a starting position), attached tools, etc. are available and are transferred to the cloud simulation environment. From this, the simulation environment can configure the simulation with regard to the robot (CAD model, dynamic parameters, tools, current axis configuration, possibly changed dynamic parameters due to service life, etc.)

In einem zweiten Schritt (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
In a second step ( 3 : S20 ) the environmental model is recorded. There are several options to choose from in one version:
  • - Transfer of a fully modeled CAD model including transformation to the robot coordinate system;
  • - Detection of the environment by a 3D camera that is either hand-operated by a human or is mounted on the robot that
    • - is hand-held or
    • - runs a defined and collision-free trajectory

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.In the case of manual guidance, it is also possible to record areas that are important for the task, for example a joining target, more precisely and from a small distance.

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.The environmental model generated in this way is now also transferred to the cloud simulation environment. A simple option here is to also store the data in the robot's administration shell.

In einer Abwandlung hat die Roboterzelle eine Verwaltungsschale 10 (vgl. 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. 2) und die Ausführung des Lernprozesses regeln.In a modification, the robot cell has an administration shell 10 (see. 2 ), the environmental model and references to other administration shells involved. This means that the robot itself is interchangeable and the whole thing has a more modular structure than if all the information is in the robot's administration shell itself. The “Cell Manager” can then interact with the subcomponents, the simulation environment 20th (see. 2 ) and regulate the execution of the learning process.

In einem dritten Schritt (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.In a third step ( 3 : S30) the learning objective is defined. A cost function is specified so that the reinforcement algorithm knows its goal. In particular, it is possible in the guided wizard to specify the target, for example, by the user guiding the robot to the joining target and repeating this a few times in order to minimize errors.

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.A manual demonstration is also used in one embodiment, depending on the reinforcement learning algorithm, to initialize the algorithm or to perform inverse reinforcement learning of the cost function. The trajectories of the demonstrations can also be stored in the administration shell.

In einem vierten Schritt (3: S40) wird in der Cloud-Umgebung 4, vorzugsweise parallelisiert, mittels Verfahren des Deep Reinforcement Learnings der Task gelernt.In a fourth step ( 3 : S40) is in the cloud environment 4th , preferably in parallel, learned the task using the deep reinforcement learning method.

Der konkrete Algorithmus ist vorteilhafterweise

  • - Guided Policy Search;
  • - Soft Q-Learning;
  • - A3C

oder dergleichen.The specific algorithm is advantageous
  • - Guided Policy Search;
  • - Soft Q-Learning;
  • - A3C

or similar.

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.In order to overcome the simulation-reality gap, the dynamic parameters are randomized in one embodiment. If a vision system is involved, a flexible vision model is learned in an implementation using domain randomization.

Ein geometrischer Pfadplaner kann kontaktfreie Pfadelemente planen und im Falle der Guided Policy Search die Linear Quadratic Gaussian Controllers initialisieren.A geometric path planner can plan non-contact path elements and in the case of the guided Policy Search initialize the Linear Quadratic Gaussian Controllers.

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.The result of the algorithm is the structure of the neural network and the trained weights of a neural network. As a modification, progressive nets can be used for later fine-tuning. The results of the simulation are sent back to the robot / edge controller.

In einem fünften Schritt (3: S50) wird das Modell auf den Roboter oder einen Edge Controller heruntergeladen.In a fifth step ( 3 : S50 ) the model is downloaded to the robot or an edge controller.

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.The trained model can now be played back. In the administration shell of the simulation instance, parameters of the simulation and the learning algorithm can also be provided (e.g. learning rate, number of iterations, etc., which can later be used for fine tuning). In particular, the ONNX exchange format, for example, can be used for exchanging the computation graph and the weights.

In einem optionalen sechsten Schritt (3: S60) wird das Modell auf dem realen System fine-getuned.In an optional sixth step ( 3 : S60 ) the model is fine-tuned on the real system.

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.Depending on the quality of the simulation, the model is immediately ready-to-use or is further fine-tuned on the real system. This means that the reinforcement learning algorithm is trained further on the real system, with initialization using the weights and other parameters of the reinforcement algorithm being advantageous.

In einem siebten Schritt (3: S70) kann der gelernte Task nun ausgeführt werden.In a seventh step ( 3 : S70 ) the learned task can now be executed.

4 zeigt Verfahren nach einer weiteren Ausführung der vorliegenden Erfindung, welches mit dem System der 1 ausgeführt werden kann. 4th FIG. 11 shows a method according to a further embodiment of the present invention, which is carried out with the system of FIG 1 can be executed.

In einem Schritt S100 wird jeweils durch einen in diesem Ausführungsbeispiel vorgesehenen und daher gestrichelt angedeuteten Zufallsgenerator 3a (vgl. 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. 1), auf Basis eines vorgegebenen stochastischen Parametermodells, im Ausführungsbeispiel einer durch einen Benutzer mithilfe des Wizards vorgegebenen Gauß-Verteilung, ermittelt.In one step S100 is in each case provided by a random generator provided in this exemplary embodiment and therefore indicated by dashed lines 3a (see. 1 ) a stochastic value of a robot parameter and / or an environmental model parameter, for example a two-dimensional target position of a connector guided by a robot in this exemplary embodiment 1a in a plane 10 (see. 1 ), based on a specified stochastic parameter model, in the exemplary embodiment a Gaussian distribution specified by a user with the aid of the wizard.

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. 5 shows an example of how this robot parameter and this stochastic parameter model are visualized in a mapping of this joining application by a marked area in the form of a circle around the mean or expected value of the Gaussian distribution for the two-dimensional target position in the (mapping of the) surface . The edge of the circle visualizes a maximum value of a deviation from the mean or expected value and the different coloring indicated by different hatching, in one embodiment different (color) brightness, of the marked area the respective probability that the target position is at this point.

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.In one step S200 a simulation of the application on the basis of the determined stochastic value, ie with a stochastic target position, is performed on the computer 3 or in the cloud 4th accomplished.

Dabei wird ein Steuerungs-Agent mittels Reinforcement Learning trainiert.A control agent is trained using reinforcement learning.

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.In one step S300 it is checked whether the control agent has already been trained sufficiently. This is not the case ( S300 : "N"), generated by the random generator 3a a new stochastic target position with which a further simulation is carried out.

Ist der Steuerungs-Agent ausreichend trainiert (S300: „Y“), wird die Steuerung 2 des Roboters 1 auf Basis des trainierten Steuerungs-Agenten konfiguriert (S400).Is the control agent sufficiently trained ( S300 : "Y"), the controller 2 of the robot 1 configured on the basis of the trained control agent ( 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.In addition, a classification agent is trained with the help of the simulations carried out, for example anomaly or error detection is learned by machine ( S500 ), ie the simulations carried out when training the control agent are used.

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.Then the real application is made with the help of the robot 1 with the in step S400 configured control carried out ( S600) and thereby or subsequently classified by the anomaly or error detection ( S700 ). The configured control can be trained further.

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.Although exemplary embodiments have been explained in the preceding description, it should be pointed out that a large number of modifications are possible. It should also be pointed out that the exemplary designs are only examples that are not intended to restrict the scope of protection, the applications and the structure in any way. Rather, the preceding description provides a person skilled in the art with guidelines for the implementation of at least one exemplary embodiment, with various changes, in particular with regard to the function and arrangement of the components described, being able to be made without departing from the scope of protection as it emerges from the claims and these equivalent combinations of features results.

Claims (15)

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.A method for performing an application with the aid of at least one robot (1), the method comprising the repeated steps: - Determination (S100) of a stochastic value of at least one robot parameter and / or at least one environmental model parameter, in particular on the basis of a predetermined stochastic parameter model and / or with the aid of at least one random generator (3a); and - Carrying out (S200) a, in particular multi-stage, simulation of the application on the basis of the determined stochastic value; the steps: - Training (S200, S500) at least one control agent and / or at least one classification agent using the simulations using machine learning, in particular training a first control agent and / or first classification agent using first stages of the simulations, and at least one further control agents and / or further classification agents with the aid of further stages of the simulations; and - Execution (S600) of the application with the aid of the robot; as well as having at least one of the steps: - Configuring (S400) a controller of the robot with which the application is carried out in whole or in part, on the basis of the, in particular the, trained control agent; and or - Classification (S700) of the application with the aid of the, in particular the, trained classification agent. 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.Procedure according to Claim 1 , characterized in that the at least one control agent and / or the at least one classification agent has a machine-learned anomaly recognition and / or machine-learned error recognition and / or at least one artificial neural network, in particular the control of the robot based on the structure and / or weightings of the trained network is configured, and / or the at least one control agent and / or the at least one classification agent is trained with the aid of reinforcement learning and / or with the aid of the robot. 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.Method according to one of the preceding claims, characterized in that the at least one classification agent classifies the application on the basis of at least one, in particular moving, time segment and / or during or after the implementation of the application and / or the at least one control agent and / or the at least one classification agent is trained on the basis of at least one state variable that is not measured when the application is carried out. 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.Method according to one of the preceding claims, characterized in that - the robot parameter is a start pose, at least one intermediate pose and / or a target pose of the application and / or a force parameter of a robot-internal and / or an external force acting at least temporarily on the robot and / or a kinematic has, in particular dynamic, robot structure parameters; and / or the environmental model parameter has a kinematic, in particular dynamic, environmental, in particular load structure parameter; and / or - the robot parameter and / or the environmental model parameter is determined with the aid of a robot-assisted parameter identification. Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass geprüft wird, ob die Startpose, Zwischenpose und/oder Zielpose mit dem Roboter erreichbar ist.Method according to the preceding claim, characterized in that it is checked whether the start pose, intermediate pose and / or target pose can be reached with the robot. 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.Method according to one of the preceding claims, characterized in that the stochastic parameter model is specified based on the application and / or a user input, in particular selected from a plurality of different parameter models made available, and / or visualized in an image of the application by a marked area and / or the robot and / or environmental model parameter is specified on the basis of the application and / or a user input, in particular selected from a plurality of different parameters made available, and / or is visualized in an image of the application by a marked area. 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.Method according to one of the preceding claims, characterized in that the configured control of the robot and / or the machine-learned anomaly detection and / or error detection using at least one further simulation, in particular on the basis of an automated or user specification of a value of at least one robot parameter and / or at least one Environmental model parameters, tested and / or further trained with the aid of the robot. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das stochastische Parametermodell mithilfe maschinellen Lernens vorgegeben ist.Method according to one of the preceding claims, characterized in that the stochastic parameter model is specified with the aid of machine learning. 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.Method for configuring a controller of a robot (1) for performing an application with the aid of the robot, the method comprising the repeatedly repeated steps of determining (S100) a stochastic value and performing (S200) a simulation and the step of training (S200) at least one control agent according to a method Claim 1 , in particular additionally one or more features of one or more of the Claims 2 until 8th , as well as having the step: configuring (S400) the controller of the robot to carry out the application on the basis of the, in particular the, trained control agent. 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.Method for training at least one classification agent for classifying a robot application, in particular together with configuring a controller of a robot (1) for performing the application according to a method according to the preceding claim, the method for training comprising the repeatedly repeated steps of determining (S100 ) a stochastic value and performing (S200) a simulation and the step of training (S500) at least one classification agent, in particular the step of training (S200, S500) at least one control agent and at least one classification agent, according to a method after Claim 1 , in particular additionally one or more features of one or more of the Claims 2 until 8th , having. 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.A method for performing an application with the aid of at least one robot (1), with the step: performing (S600) the application with the aid of the robot, a control of the robot, with which the application is carried out in whole or in part, according to a method Claim 9 is configured and / or the application is classified with the aid of at least one classification agent, which according to a method according to Claim 10 is trained. 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.Method according to one of the preceding claims, characterized in that at least one of the method steps has user input support by a software assistant, in particular a user interface guide. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass wenigstens einer der Verfahrensschritte in einer Cloud (4) durchgeführt wird.Method according to one of the preceding claims, characterized in that at least one of the method steps is carried out in a cloud (4). 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.System for carrying out an application with the aid of at least one robot (1), the system being set up for carrying out a method according to one of the preceding claims and / or having: Means for repeatedly determining a stochastic value of at least one robot parameter and / or at least one environmental model parameter, in particular on the basis of a predetermined stochastic parameter model and / or with the aid of at least one random generator (3a), and performing a, in particular multi-stage, Simulation of the application based on the determined stochastic value; and Means for training at least one control agent and / or at least one classification agent using the simulations using machine learning, in particular training a first control agent and / or first classification agent using first stages of the simulations, and at least one further control agent and / or further classification agent with the aid of further stages of the simulations; and / or has: Means for carrying out the application with the aid of the robot, a controller of the robot with which the application is carried out in whole or in part being configured on the basis of the, in particular the, trained control agent and / or the application with the aid of the, in particular the, trained Classification agent is classified; and / or has: Means for configuring a control of the robot on the basis of the, in particular the, trained control agent for carrying out the application; and / or has: Means for classifying the application with the aid of the, in particular the, trained classification agent. Computerprogrammprodukt mit einem Programmcode, der auf einem von einem Computer lesbaren Medium gespeichert ist, zur Durchführung eines Verfahrens nach einem der vorhergehenden Ansprüche.Computer program product with a program code, which is stored on a medium that can be read by a computer, for carrying out a method according to one of the preceding claims.
DE102020206924.7A 2019-07-01 2020-06-03 Carrying out an application with the aid of at least one robot Pending DE102020206924A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE102020206924.7A DE102020206924A1 (en) 2020-06-03 2020-06-03 Carrying out an application with the aid of at least one robot
EP20735370.7A EP3993959A1 (en) 2019-07-01 2020-06-29 Carrying out an application using at least one robot
US17/616,757 US20220339787A1 (en) 2019-07-01 2020-06-29 Carrying out an application using at least one robot
PCT/EP2020/068241 WO2021001312A1 (en) 2019-07-01 2020-06-29 Carrying out an application using at least one robot
CN202080047210.XA CN114051444B (en) 2019-07-01 2020-06-29 Executing an application by means of at least one robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020206924.7A DE102020206924A1 (en) 2020-06-03 2020-06-03 Carrying out an application with the aid of at least one robot

Publications (1)

Publication Number Publication Date
DE102020206924A1 true DE102020206924A1 (en) 2021-12-09

Family

ID=78605113

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020206924.7A Pending DE102020206924A1 (en) 2019-07-01 2020-06-03 Carrying out an application with the aid of at least one robot

Country Status (1)

Country Link
DE (1) DE102020206924A1 (en)

Similar Documents

Publication Publication Date Title
DE102014108287B4 (en) Quick learning by imitating power torque tasks by robots
DE112019002310B4 (en) PERFORMING A PEG IN HOLE TASK WITH AN UNKNOWN SLOPE
DE102014103738B3 (en) VISUAL TROUBLESHOOTING FOR ROBOTIC TASKS
DE112010000775B4 (en) INDUSTRIAL ROBOT SYSTEM
DE102015010124B4 (en) A robot program generating device that generates a robot program for reducing bumps of the joints of the robot
DE102019109624B4 (en) Robot motion teaching device, robot system and robot controller
WO2021001312A1 (en) Carrying out an application using at least one robot
DE102013202378B4 (en) Procedural memory learning and robot control
DE102019119319B4 (en) Scanning system, working system, method for displaying augmented reality images, method for storing augmented reality images and programs therefor
DE102017001131B4 (en) Method and system for operating a robot
DE112019000097B4 (en) Control device, working robot, program and control method
DE102019122865B4 (en) Acquisition system, working system, display method for an augmented reality image and program
DE102020110252B4 (en) Vibration display device, operating program creation device and system
DE102019118637A1 (en) AUTOMATIC PATH GENERATION DEVICE
DE102012213188B4 (en) A method and system for controlling an execution sequence of a skilled robot using a condition classification
EP3760390A1 (en) Performance of a predetermined task using at least one robot
DE102017007359B4 (en) Method and system for checking and / or modifying a work process of a robot
DE102019205651B3 (en) Method and system for carrying out robot applications
EP4013574A1 (en) Automation system and method for handling products
DE102018112370B4 (en) Directional collision detection for a robot manipulator
DE112019007579B4 (en) Numerical control device and machine learning device
DE102020206924A1 (en) Carrying out an application with the aid of at least one robot
DE102020103854B4 (en) Machine learning of a successfully completed robot application
CN114051444B (en) Executing an application by means of at least one robot
EP3738007B1 (en) Automatic configuration system for a detection system, method for operating an automatic configuration system, autonomous system having a detection system and computer program product