EP3993959A1 - Carrying out an application using at least one robot - Google Patents

Carrying out an application using at least one robot

Info

Publication number
EP3993959A1
EP3993959A1 EP20735370.7A EP20735370A EP3993959A1 EP 3993959 A1 EP3993959 A1 EP 3993959A1 EP 20735370 A EP20735370 A EP 20735370A EP 3993959 A1 EP3993959 A1 EP 3993959A1
Authority
EP
European Patent Office
Prior art keywords
robot
application
agent
parameter
trained
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
EP20735370.7A
Other languages
German (de)
French (fr)
Inventor
Manuel KASPAR
Pierre VENET
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
Priority claimed from DE102019209616.6A external-priority patent/DE102019209616A1/en
Priority claimed from DE102020206924.7A external-priority patent/DE102020206924A1/en
Application filed by KUKA Deutschland GmbH filed Critical KUKA Deutschland GmbH
Publication of EP3993959A1 publication Critical patent/EP3993959A1/en
Pending legal-status Critical Current

Links

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/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • 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
    • G05B2219/33037Learn parameters of network offline, not while controlling system

Definitions

  • 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 a correspondingly configured controller and a system and a computer program product for carrying out at least one of these methods.
  • 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.
  • the present invention is to improve a classification of a robot application.
  • One object of an embodiment of the present invention is to improve control of a robot with which an application is carried out.
  • a method for - Configuring a controller of a robot for carrying out an application with the aid of the robot (robot application);
  • At least one classification (KI) agent to classify a robot application
  • 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 parameters are determined in advance and then one of these stochastic values is used for or in one of the simulations.
  • the method comprises the step:
  • At least one control (AI) agent and / or
  • the method comprises the step: single or multiple execution of the (real) application using the robot.
  • control (AI) agents can also use several control (AI) agents.
  • the robot or environmental model parameter (value) is randomized or the simulations with randomized robot or
  • machine learning can be improved in one implementation and more robust and / or faster in one implementation.
  • Robot or environmental model parameters (values) trained agent improve the implementation of the (real) application with the help of the robot, in particular the control of the robot and / or classification of the application, in particular robust (more) and / or flexible (e) l ( he) act.
  • this includes in particular an artificial intelligence agent, in particular one
  • AI agents or a classification (AI) agent.
  • determining a stochastic value comprises generating the value, in particular numerically and / or physically, and can in particular be generating the value.
  • the stochastic values on the basis of which the simulations are carried out are, in particular are, in one embodiment with the aid of at least one
  • Random generator in particular pseudo-random number generator, determined, in particular generated, 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 satisfy it.
  • 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.
  • Environmental model parameters specify a minimum and maximum value as well as a uniform distribution and thus a stochastic parameter model, whereby corresponding stochastically (distributed values are then generated with the help of a (pseudo) random number generator and determined in this way on the basis of this predetermined stochastic parameter model and with the aid of this (pseudo) random number generator Likewise, the user and / or the
  • User input support for example, specify a specific Gaussian distribution and thus a different stochastic parameter model, with the help of a (pseudo) random number generator then again generated corresponding stochastically (distributed values and in this way on the basis of this other specified stochastic parameter model and with the aid of this
  • the determined stochastic values are (also) determined by the specified stochastic parameter model, for example limited by minimum and / or maximum value (s), scattered by variance (s) around an expected or mean value or like that.
  • a simulation is understood to mean, in particular, a simulation run or a numerical simulation of the application or its course over time.
  • a multi-stage simulation comprises two or more in one implementation
  • a first control agent is established using first stages or
  • Sections of the simulations and at least one further control agent with the aid of further stages or sections of the simulations and / or a first
  • Classification agent trained using the same or different first stages or sections of the simulations and at least one further classification agent 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 another (control or classification) agent for joining the further gear using the further simulation stages or simulations of joining the further gear.
  • 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, 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.
  • a pose of the first gearwheel after its simulated joining can be used as a starting value in the further simulation stage and, if necessary, can be changed and / or randomized by a user.
  • the method comprises the step:
  • the simulations with stochastic or randomized values are used to learn 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.
  • the implementation of the (real) application can be improved with the aid of the robot, in particular the application can be implemented in a robust (more) and / or flexible (more) manner.
  • a control of the robot with which only a part of the application is or is to be carried out, is configured on the basis of the, in particular the, trained control agent.
  • the application can have one or more sections that are (should) be carried out with a (different) controller of the robot that is 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 are based on the trained
  • Control agent is or is configured.
  • 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.
  • the simulations with stochastic or randomized values are used in order to machine a classification of the (real) application or to learn one or more
  • the implementation of the (real) application can be improved with the aid of the robot, in particular the application is (more) robust and / or
  • Classification agent (s each) a machine-learned anomaly detection. Additionally or alternatively, in one embodiment the or one or more of the classification agent (s) has / have a machine-learned one
  • an anomaly detection comprises a classification of the application (s) carried out into normal (s) and abnormal applications).
  • 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 greatly) from the simulated applications labeled as normal.
  • error detection includes a classification of the
  • 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 considered to be free of errors, as being attached, but not sufficiently deep and / or jammed, or as are classified 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.
  • Robot applications are used, as these are (only) difficult to learn by machine using (real) applications carried out with the robot.
  • Classification agent at least one artificial neural network
  • the control of the robot is configured based on the structure and / or weightings of the trained network.
  • 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.
  • This is particularly suitable for configuring a controller for the robot and for classifying, in particular anomaly and / or error detection, of the application.
  • control agent (s) and / or the or one or more of the classification agent (s) is 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.
  • 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.
  • Classification agent (s), trained on the basis of at least one state variable that is not measured when the application is carried out and cannot be measured in an embodiment.
  • Simulations are also calculable state variables, in particular are calculated that are not measured when the application is carried out.
  • the distance between the (first or additional) 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 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.
  • Control agents and / or classification agents used quality criterion, in particular a quality or cost function, based on at least one at
  • machine learning can be improved in one implementation and more robust and / or faster in one implementation.
  • 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 is configured, with which the (real) application is or should be carried out, also used or used for this purpose. use one or more
  • the method comprises
  • classification of the application with the aid of one or more of the trained classification agents
  • control and classification agent are or have been trained using the same simulations, wherein in one
  • the invention uses simulations on the basis of which, in particular by means of reinforcement learning, the controller 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 for training at least one machine-learned classification or the or one or more of the classification agents.
  • data in particular state variables, in one embodiment (temporal) state variable curves, in particular trajectories, of the application, in one embodiment of the robot, which are or have been calculated in simulations, in one embodiment, simulations with the aid 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) are trained with the aid of this stored data, in an execution following this
  • 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 divisions 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
  • Following errors can in particular include force, position and / or speed errors.
  • Simulations in one embodiment simulations with the aid of which the or one or more of the control agent (s) are or have been trained, in particular using the stored data, those simulations or data are selected in which a quality criterion is met, and used to train the anomaly detection, or those simulations or data sorted into different defect classes on the basis of a quality criterion and used to train the defect detection.
  • trajj denotes the data of a simulation i
  • traj ⁇ traj_i ⁇ the amount of all data stored during the simulation
  • 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.
  • the one or more of the agent (s) classifies
  • the application on the basis of at least one, migrating in one execution, in particular
  • a continuous and / or serial evaluation is carried out in addition to or as an alternative to an evaluation of the complete application and the agent classifies the application on the basis of this continuous or serial evaluation.
  • Recurrent networks, Markov models or autoregressive networks are particularly suitable for this.
  • machine learning can be improved in one implementation and more efficient and / or faster in one implementation.
  • the one or more of the agent (s) classifies
  • the application while the application is being carried out.
  • this enables a reaction to the result of the classification.
  • the one that is just or currently being carried out corresponds to the result of the classification.
  • Application may be changed based on the classification, in one embodiment a corresponding signal is output in the event of a recognized anomaly and / or a recognized error and / or a movement of the robot is modified and / or a workpiece handled, in particular transported and / or processed during the application sorted out or reworked.
  • 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.
  • the robot parameter has a one-dimensional or multi-dimensional start pose, one or more one or more one-dimensional or multi-dimensional intermediate poses and / or a one-dimensional or multi-dimensional target pose of the application, in particular of the
  • the simulations of the application are based on stochastic (distributed or generated start,
  • the robot is checked whether (the stochastic value for) the starting 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 starting 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 starting 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 starting 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 starting 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 parameter is not achievable, the value is determined again in one embodiment or until (it is determined that) the pose or the value can be reached with the robot, and then this value as the value determined when the simulation of the application is carried out used.
  • machine learning can be improved in one implementation and more efficient and / or faster in one implementation.
  • 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.
  • 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 rigidity and / or damping. This can lead to wear and tear in one version
  • the robot parameter has a one-dimensional or multi-dimensional force parameter of an external force that acts on the robot at least, in one embodiment only temporarily, in particular an external force
  • a force within the meaning 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 rigidity, a damping and / or a friction coefficient or the like.
  • the robot parameter has in one embodiment a one- or multi-dimensional kinematic, in one embodiment dynamic, robot structure parameter, in particular a one-dimensional or multi-dimensional dimension and / or a weight and / or one or multi-dimensional
  • Structural member groups or the like.
  • 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 (more) and / or flexible (more), will.
  • the environmental model parameter in one embodiment has 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 weight and / or moment of inertia an environmental, in particular load structure,
  • the robot parameters and / or the environmental model parameters are determined with the aid of a robot-supported parameter identification, for example minimum, maximum and / or mean value (s) of or for the stochastic parameter model.
  • the predetermined stochastic one is, in particular becomes
  • Parameter model based on a user input and / or application-specific predetermined, selected in one embodiment from a plurality of different parameter models made available.
  • a user can initially choose one of several items
  • Probability distributions for example a Gaussian distribution, a
  • Probability distribution for example a uniform distribution, for certain gripping applications a different probability distribution, for example a Gaussian distribution, or the like is selected and application-specific minimum and maximum values or the like are specified for this or here.
  • Mixed forms are also possible, in particular one
  • Robot and / or the environmental model parameters based on user input and / or specified application-specifically, selected in one embodiment from a plurality of different parameters made available.
  • Surface normals can be specified or selected as the target pose, whereas for drilling with a robot-guided drill in a flat surface, a one-dimensional distance to the surface along the drill axis is used as the target or
  • 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, the possible orientations or angular positions around the surface normal, for example, by two appropriately twisted cuboids or workpiece avatars in the respective maximum possible deflections.
  • a probability distribution of the stochastic parameter model is visualized by a different color, in one embodiment different (color) brightness, of the marked area, the respective color or brightness (level) depending on the probability that the robot or environmental model parameter has the corresponding value.
  • 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
  • areas of the circular area in which the target position is more likely for example are or become darker or a first area of the circular area in which the Target position lies with a first probability, for example is or is colored with a first color and / or brightness
  • at least one other area of the circular area in which the target position lies with a different probability is colored with a different color and / or brightness is or will.
  • a particularly suitable parameter model or particularly suitable parameters can be selected, in particular the speed and / or error tolerance of the input can be improved.
  • 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 based on an automated specification or user specification of a value of at least one robot parameter and / or at least one environmental model parameter.
  • the user can pose a workpiece for the
  • test simulation Change the test simulation and then use the test simulation to check whether and how well the configured control or anomaly or error detection (for this) works or performs.
  • a test script can automate further simulation with the trained control agent or agents
  • Reinforcement learning further trained with the help of the robot, in particular on the basis of applications carried out with the help of the robot.
  • a control which is particularly advantageous in practice can be implemented in one embodiment, in particular in combination.
  • the stochastic parameter model is, in particular, specified with the aid of machine learning.
  • a stochastic parameter model is, in particular, specified with the aid of machine learning.
  • Parameter model (KI) agent based on earlier 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, on the basis of the results of the earlier carried out
  • Control agents used stochastic parameter model, which predefined the stochastic parameter model, which is then used in a method described here for performing 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 controller is then configured to carry out a new application.
  • 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.
  • simulated applications can also be used as earlier applications for machine learning for specifying the stochastic parameter model.
  • one or more of the steps include one of the following
  • 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
  • a particularly suitable parameter model or particularly suitable parameters can be selected, in particular the speed and / or error tolerance of the input can be improved.
  • one or more of the steps of one of the methods described here are carried out in a cloud.
  • this method can advantageously be carried out in parallel and / or quickly and / or in a distributed manner.
  • a controller of a robot for performing a predetermined task can be configured particularly advantageously 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 joints. (Movement) axes, in one version swivel joints or axes.
  • the present invention is particularly suitable for such robots because of its kinematics, variability and / or complexity.
  • 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 due to its
  • the robot has parameters
  • a one or more dimensional kinematic, in particular dynamic, load model parameter in particular one or more dimensions, masses, centers of gravity and / or inertia;
  • a current robot pose in particular one or more current axis or
  • 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.
  • this optical sensor is guided, in particular held or carried by a person, in another development by one
  • Robot which for its part travels a programmed or automatically determined path, in particular by means of collision avoidance, or is or is guided manually or by forces exerted manually on the robot.
  • the agent has an artificial neural network.
  • the control of the robot is then configured on the basis of the structure and / or weightings of the trained network, this structure and / or Transferring weights in one execution to the controller of the robot. Additionally or alternatively, the agent is implemented using
  • Reinforcement learning preferably deep reinforcement learning, trained.
  • 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.
  • Environmental model parameters are stored at least temporarily in an administration shell and / or in a data cloud.
  • a controller of the robot in a method for performing a predetermined task with the aid of at least one robot, is configured according to a method described here. Accordingly, in one embodiment, an inventive
  • 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. It shows in a
  • the system comprises:
  • Classification agents using first stages of the simulations, and at least one further control agent and / or further classification agents using further stages of the simulations.
  • system has means for
  • system has means for in one embodiment
  • system has means for
  • Robot with which the application is carried out in whole or in part, is configured on the basis of the, in particular the, trained control agent and / or the
  • Application is classified with the aid of, in particular, the trained classification agent.
  • system or its means has:
  • Error detection 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
  • Robot is reachable; and or
  • Means for visualizing the stochastic parameter model in an image of the application through a marked area Means for visualizing the stochastic parameter model in an image of the application through a marked area
  • Means for performing at least one of the method steps in a cloud Means for performing at least one of the method steps in a cloud.
  • a means within the meaning of the present invention can be designed in terms of hardware and / or software, in particular one that is data or signal-connected, in particular digital, processing, preferably with a memory and / or bus system. in particular have a microprocessor unit (CPU), graphics card (GPU) or the like, and / or one or more programs or program modules.
  • CPU microprocessor unit
  • GPU graphics card
  • Processing unit can be designed to receive commands as one in one
  • a storage system can have one or more,
  • the program can be designed in such a way that it embodies or is able to carry out one or more of the methods described here in whole or in part, so that the
  • Processing unit can carry out steps of such methods and thus
  • a computer program product can have, in particular a non-volatile, storage medium for storing a program or with a program stored on it Process or one or more of its steps.
  • the method is carried out completely or partially automatically, in particular by the system or its means.
  • the system has the robot.
  • a framework is created that enables motion or task learning to be implemented more efficiently using reinforcement learning methods.
  • parameters of the robot are queried simply and efficiently and / or the environmental model is recorded.
  • 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 (through randomization of parameters).
  • Classification (KI) agents without performing the application, in particular training the classification (KI) agent or agents together with configuring the controller, but without performing the application, performing the
  • AI agents i.e. without configuring and / or without that
  • Training of the classification (KI) agent or agents as well as the combination of configuration and / or training with the implementation or means (each) set up for this purpose.
  • a feature of the implementation of the application also includes in particular that the configuration of the control or training of the classification (KI) agent or agents is set up for this or in such a way
  • FIG. 1 shows a system according to an embodiment of the present invention
  • Fig. 2 parts of the system
  • Invention and 5: a visualization of a stochastic parameter model and a robot parameter.
  • FIG. 1 shows a system according to an embodiment of the present invention with a robot 1, a (robot) controller 2 that communicates with the robot 1 and a cloud 4, and a data input / output and processing device, in particular a computer 3.
  • a wizard runs on its user interface that guides a user through one or more of the processes described below:
  • a robot parameter and a start configuration are recorded.
  • the parameters of the robot as well as the environmental model should be available in the cloud simulation environment as precisely as possible.
  • AAS asset administration shell
  • OPC UA information model is advantageously used for this.
  • the robot's administration shell contains data such as the robot model,
  • 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 administration shell of the robot.
  • the robot cell has an administration shell 10 (cf. FIG. 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
  • a third step (FIG. 3: S30) the learning objective is defined.
  • a cost function is specified so that the reinforcement algorithm knows its goal.
  • 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.
  • a fourth step (FIG. 3: S40), the task is learned in the cloud environment 4, preferably in parallel, by means of the deep reinforcement learning method.
  • Randomization of the dynamic parameters made. If a vision system is involved, a flexible vision model is learned in one implementation using domain randomization.
  • a geometric path planner can plan non-contact path elements and, in the case of Guided Policy Search, initialize the Linear Quadratic Gaussian Controllers.
  • the result of the algorithm is the structure of the neural network and the trained weights of a neural network.
  • progressive nets can be used for later fine-tuning.
  • the results of the simulation are sent back to the robot / edge controller.
  • a fifth step (FIG. 3: S50) the model is downloaded to the robot or an edge controller.
  • the trained model can now be played back.
  • parameters of the simulation and the learning algorithm can also be made available (e.g. learning rate, number of iterations, etc., which will later be used in
  • Fine tuning can be used).
  • the ONNX exchange format for example, can be used for exchanging the computation graph and the weights.
  • the model is immediately ready-to-use or is further fine-tuned on the real system.
  • FIG. 4 shows a method according to a further embodiment of the present invention, which can be carried out with the system of FIG.
  • a random generator 3a (cf. FIG. 1) provided in this exemplary embodiment and therefore indicated by dashed lines is used to generate a stochastic value of a robot parameter and / or a
  • Environmental model parameters for example a two-dimensional target position of a connector 1a guided by a robot in this exemplary embodiment in an area 10 (cf. FIG. 1), on the basis of a predetermined stochastic parameter model, in
  • Embodiment of a Gaussian distribution predetermined by a user with the aid of the wizard Embodiment of a Gaussian distribution predetermined by a user with the aid of the wizard.
  • Fig. 5 shows an example of how this robot parameter and this
  • stochastic parameter model can be visualized in an image 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 (image of the) surface.
  • the edge of the circle visualizes a maximum value of a deviation from the mean or expected value and the through
  • a step S200 the application is simulated on the basis of the determined stochastic value, i.e. with a stochastic target position, on the computer 3 or in the cloud 4.
  • a control agent is trained using reinforcement learning.
  • step S300 it is checked whether the control agent has already been trained sufficiently. If this is not the case (S300: “N”), the random number generator 3a generates a new stochastic target position with which a further simulation is carried out.
  • the controller 2 of the robot 1 is configured on the basis of the trained control agent (S400).
  • a classification agent is trained with the aid of the simulations carried out, for example anomaly or error detection is learned by machine (S500), ie those performed when training the control agent
  • the real application is then carried out with the aid of the robot 1 with the controller configured in step S400 (S600) and in the process or subsequently classified by the anomaly or error detection (S700).
  • the configured control can be trained further.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Artificial Intelligence (AREA)
  • Automation & Control Theory (AREA)
  • Evolutionary Computation (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Feedback Control In General (AREA)
  • Manipulator (AREA)

Abstract

The invention relates to a method for carrying out an application using at least one robot (1), comprising the steps, repeated multiple times: ascertaining (S100) a stochastic value of at least one robot parameter and/or at least one environmental model parameter, in particular on the basis of a specified stochastic parameter model and/or using at least one random generator (3a); and carrying out (S200) a simulation, in particular a multi-stage simulation, of the application on the basis of the ascertained stochastic value; the steps: training (S200, S500) at least one control agent and/or at least one classification agent using the simulations by means of machine learning, in particular training a first control agent and/or first classification agent by means of first stages of the simulations, and at least one additional control agent and/or additional classification agent by means of additional stages of the simulations; and carrying out (S600) the application using the robot; and at least one of the steps: configuring (S400) a controller of the robot, by means of which the application is carried out wholly or in part, on the basis of the trained control agent, in particular on the basis of the trained control agents; and/or classifying (S700) the application using the trained classification agent, in particular using the trained classification agents.

Description

Beschreibung description
Durchführen einer Applikation mithilfe wenigstens eines Roboters Carrying out an application using at least one robot
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 a correspondingly 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 In order to carry out applications or specified tasks, controls of robots must be configured accordingly, conventionally by
manuelles Erstellen von Roboterprogrammen oder dergleichen. manual creation of 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 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 task of performing the
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. The present invention is to improve a classification of a robot application. One object of an embodiment of the present invention is to improve 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. 1 1 gelöst. Ansprüche 14, 15 stellen ein System bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen. 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 or 11, are achieved. Claims 14, 15 provide a system or computer program product for performing 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); According to one embodiment of the present invention, a method for - Configuring a controller of a robot for carrying out an application with the aid of the robot (robot application);
- Trainieren wenigstens eines Klassifikations-(KI)Agenten zur Klassifikation einer Roboterapplikation; und/oder - Train at least one classification (KI) agent to classify a robot application; and or
- Durchführen einer bzw. der (Roboter)Applikation mithilfe wenigstens eines bzw. des Roboters - Carrying out one or the (robot) application with the aid of at least one or the robot
die mehrfach, in einer Ausführung zyklisch, wiederholten Schritte auf: the steps repeated several times, cyclically in one execution:
- 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 - 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
- Durchführen einer, in einer Ausführung mehrstufigen, Simulation der Applikation auf Basis des ermittelten stochastischen Wertes. - 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 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
Umweltmodelparameters vorab ermittelt und dann jeweils einer dieser stochastischen Wert für bzw. in eine(r) der Simulationen verwendet werden. Environmental model parameters are determined in advance and then one of these stochastic values is used for or in one of the simulations.
Nach einer Ausführung der vorliegenden Erfindung weist das Verfahren den Schritt auf: According to one embodiment of the present invention, the method comprises the step:
- Trainieren - Work out
- wenigstens eines Steuerungs-(KI-)Agenten und/oder - At least one control (AI) agent and / or
- wenigstens eines Klassifikations-(KI)Agenten - at least one classification (AI) agent
mithilfe der Simulationen mittels maschinellen Lernens, in einer Ausführung using the simulations using machine learning, in one implementation
- Trainieren eines ersten Steuerungs-(KI-)Agenten und/oder eines ersten Klassifikations-(KI-)Agenten mithilfe erster Stufen der Simulationen, und - Training a first control (KI) agent and / or a first classification (KI) agent using first stages of the simulations, and
- T rainieren wenigstens eines weiteren Steuerungs-(KI-)Agenten und/oder wenigstens eines weiteren Klassifikations-(KI-)Agenten mithilfe weiterer Stufen der Simulationen. - 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 execution of the (real) application using the robot.
Dabei können auch mehrere Steuerungs-(KI-)Agenten mithilfe mehrerer Several control (AI) agents can also use several
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. S (simulation) levels and only one classification (AI) agent can be trained using the simulations or several classification (AI) agents using several S (simulation) levels and only one 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. In one embodiment, the robot or environmental model parameter (value) is randomized or the simulations with randomized robot or
Umweltmodelparameter(werte)n durchgeführt und der bzw. die Agenten mithilfe dieser Simulationen trainiert bzw. maschinell gelernt. Environmental model parameters (values) n carried out and the agent or agents 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 As a result, machine learning can be improved in one implementation and more robust and / or faster in one implementation. In addition or as an alternative, this means that in one embodiment such or on the basis of randomized
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. Robot or environmental model parameters (values) trained agent improve the implementation of the (real) application with the help of the robot, in particular the control of the robot and / or classification of the application, in particular robust (more) and / or flexible (e) l ( he) act.
Wenn vorliegend von einem Agenten gesprochen wird, umfasst dies jeweils insbesondere einen K(ünstliche)l(ntelligenz)-Agenten, insbesondere einen When an agent is referred to in the present case, this includes in particular an artificial intelligence agent, in particular one
Steuerungs-(KI-)Agenten oder einen Klassifikations-(KI-)Agenten. Control (AI) agents 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 comprises 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 The stochastic values on the basis of which the simulations are carried out are, in particular are, in one embodiment with the aid of at least one
Zufallsgenerators, insbesondere Pseudozufallszahlengenerators, ermittelt, insbesondere generiert, und/oder sind stochastisch bzw. zufällig verteilte Werte, in einer Ausführung Zufallszahlen, insbesondere Pseudozufallszahlen, die in einer Ausführung durch das vorgegebene stochastische Parametermodell bestimmt sind bzw. diesem genügen. Das stochastische Parametermodell weist in einer Ausführung einen oder mehrere stochastische Kenngrößen, insbesondere Minimal-, Maximal-, Erwartungs- und/oder Mittelwert(e), Varianz(en), Standardabweichung(en), Streu(ungs)maß(e) oder dergleichen, und/oder eine Wahrscheinlichkeitsverteilung, beispielsweise eine Random generator, in particular pseudo-random number generator, determined, in particular generated, 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 satisfy it. 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
Gauß- bzw. Normalverteilung, eine gleichförmige Verteilung oder dergleichen, auf. 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. For example, a user and / or a user input support or a software assistant in an embodiment for a robot or
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 Environmental model parameters specify a minimum and maximum value as well as a uniform distribution and thus a stochastic parameter model, whereby corresponding stochastically (distributed values are then generated with the help of a (pseudo) random number generator and determined in this way on the basis of this predetermined stochastic parameter model and with the aid of this (pseudo) random number generator Likewise, the user and / or the
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 User input support, for example, specify a specific Gaussian distribution and thus a different stochastic parameter model, with the help of a (pseudo) random number generator then again generated corresponding stochastically (distributed values and in this way on the basis of this other specified stochastic parameter model and with the aid of this
(Pseudo)Zufallszahlengenerators ermittelt werden. (Pseudo) random number generator 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 Maximalwert(e) 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 value (s), scattered by variance (s) around an expected or mean value or like that.
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 A multi-stage simulation comprises two or more in one implementation
aufeinanderfolgende, in einer Ausführung aneinander anschließende, Zeit- und/oder Funktionsabschnitte bzw. -stufen der Applikation, beispielsweise das robotergestützte Fügen eines ersten Zahnrads (erste Stufe) und das anschließende robotergestützte Fügen eines weiteren Zahnrads (weitere Stufe) oder dergleichen. In einer Ausführung wird ein erster Steuerungs-Agent mithilfe erster Stufen bzw. successive, in one embodiment, consecutive time and / or functional sections or stages of the application, for example the robot-assisted joining of a first gear (first stage) and the subsequent robot-assisted joining of a further gear (further stage) or the like. In one implementation, a first control agent is established using first stages or
Abschnitte der Simulationen und wenigstens ein weiterer Steuerungs-Agent mithilfe weiterer Stufen bzw. Abschnitte der Simulationen und/oder ein erster Sections of the simulations and at least one further control agent with the aid of further stages or sections of the simulations and / or a first
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. Classification agent trained using the same or different first stages or sections of the simulations and at least one further classification agent 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 another (control or classification) agent for joining the further gear using the further simulation stages or simulations of joining 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, 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 starting value in the further simulation stage and, if necessary, can be 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: According to one embodiment of the present invention, the method comprises the step:
- 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. - 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. 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. Thus, according to one aspect of the present invention, the simulations with stochastic or randomized values are used to learn 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. 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 in a robust (more) and / or flexible (more) manner.
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 a 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 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 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 are based on the trained
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. Control agent, is or is configured. 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 In particular, it can be useful for transfer sections in which the robot moves a load freely, a (different) control by means of geometric or
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. To configure dynamic path planning, teaching or the like, and for contact, in particular gripping and / or joining sections, in which there is or is an environmental contact of the robot, in particular it grips or adds a load, a control based on the or of the trained agents.
Zusätzlich oder alternativ zu diesem Aspekt weist das Verfahren nach einer Additionally or alternatively to this aspect, the method according to a
Ausführung der vorliegenden Erfindung den Schritt auf: Implementing the present invention includes the step of:
- Klassifikation der Applikation mithilfe des bzw. eines oder mehrerer der trainierten Klassifikations-Agenten. 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 Thus, according to one aspect of the present invention, the simulations with stochastic or randomized values are used in order to machine a classification of the (real) application or to learn one or more
Klassifikations-Agenten hierzu zu trainieren. Hierdurch kann in einer Ausführung das Durchführen der (realen) Applikation mithilfe des Roboters verbessert, insbesondere die Applikation robust(er) und/oder To train classification agents to do this. In this way, in one embodiment, the implementation of the (real) application can be improved with the aid of the robot, in particular the application is (more) robust and / or
flexib(e)l(er) überwacht werden. be monitored flexibly.
In einer Ausführung weist/weisen der bzw. einer oder mehrere der In one embodiment, the one or more of the
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 Classification agent (s each) a machine-learned anomaly detection. Additionally or alternatively, in one embodiment the or one or more of the classification agent (s) has / have a machine-learned one
Fehlererkennung auf. Error detection on.
Eine Anomalieerkennung umfasst in einer Ausführung eine Klassifikation der durchgeführten Applikation(en) in normal(e) und anormale Applikationen). In einer Ausführung ist bzw. wird die Anomalieerkennung, insbesondere nur, auf Basis von als normal gelabelten simulierten Applikationen maschinell gelernt und/oder klassifiziert die Anomalieerkennung eine Applikation als anormal, wenn sie (zu stark) von den als normal gelabelten simulierten Applikationen abweicht. In one embodiment, an anomaly detection comprises a classification of the application (s) carried out into normal (s) and abnormal 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 greatly) 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 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, force and / or pose data of the robot in particular deviate from the courses as normal
gelabelten simulierten Applikationen stark ab und der Agent klassifiziert diese reale Applikation entsprechend als anormal. labeled simulated applications and the agent classifies this real application as abnormal.
Eine Fehlererkennung umfasst in einer Ausführung eine Klassifikation der In one embodiment, error detection includes a classification of the
durchgeführten Applikation(en) in fehlerfrei(e) und fehlerhafte Applikationen), in einer Ausführung in unterschiedliche Fehlerklassen. Sie ist bzw. wird in einer Ausführung auf Basis von als fehlerfrei gelabelten simulierten Applikationen und als fehlerhaft bzw. einer entsprechenden Fehlerklasse zugehörig gelabelten simulierten Applikationen maschinell gelernt und/oder klassifiziert eine Applikation in eine (entsprechende) Fehlerklasse, wenn sie den entsprechend gelabelten simulierten Applikationen ausreichend, insbesondere am stärksten, ähnelt. executed application (s) in error-free (e) and defective applications), in one execution in 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 defective 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 considered to be free of errors, as being attached, but not sufficiently deep and / or jammed, or as are classified 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 The invention can be used with particular advantage for such classifications of
Roboterapplikationen eingesetzt werden, da diese (nur) anhand mit dem Roboter durchgeführter (realer) Applikationen nur schwer maschinell lernbar sind. Robot applications are used, as these are (only) difficult to learn by machine using (real) applications carried out with the robot.
In einer Ausführung weist/weisen der bzw. einer oder mehrere der In one embodiment, the one or more of the
Steuerungs-Agent(en) und/oder der bzw. einer oder mehrere der Control agent (s) and / or one or more of the
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. Classification agent (s) at least one artificial neural network, in one embodiment the control of the robot is 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. As a result, a particularly advantageous control can be implemented in one embodiment and / or this can be configured particularly advantageously.
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) is 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. In einer Ausführung wird/werden der bzw. einer oder mehrere der 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 one embodiment, the one or more of the
Steuerungs-Agent(en) und/oder der bzw. einer oder mehrere der Control agent (s) and / or one or more of the
Klassifikations-Agent(en jeweils), auf Basis wenigstens einer beim Durchführen der Applikation nicht gemessenen, in einer Ausführung nicht messbaren, Zustandsgröße trainiert. Classification agent (s), trained on the basis of at least one state variable that is not measured when the application is carried out and cannot be measured in an embodiment.
Dem liegt insbesondere die Erkenntnis bzw. Idee zugrunde, dass bei den This is based in particular on the knowledge or idea that the
Simulationen auch Zustandsgrößen berechenbar sind, insbesondere berechnet werden, die beim Durchführen der Applikation nicht gemessen werden, Simulations are also calculable state variables, in particular are calculated that are not measured when the application is carried out,
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. possibly - with the existing environment or configuration, in particular measurement equipment, - are not measurable, 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 be used particularly advantageously (also) 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 additional) 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 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 In one embodiment, when training the or one or more of the
Steuerungs-Agenten und/oder Klassifikations-Agenten verwendetes Gütekriterium, insbesondere eine Güte- bzw. Kostenfunktion, auf Basis wenigstens einer beim Control agents and / or classification agents used quality criterion, in particular a quality or cost function, based on at least one at
Durchführen der Applikation nicht gemessenen, in einer Ausführung mit der Execution of the application not measured, in one version with the
vorhandenen Konfiguration bzw. Umgebung nicht messbaren, Zustandsgröße ermittelt bzw. hängt von dieser ab. existing configuration or environment, which cannot be measured, is 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, In addition or as an alternative to the idea of using state variables for training the agent or one or more of the agents that are not measured when the application is carried out but are calculated during the simulations, there is one Execution of the present invention is based on the knowledge or idea,
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 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 is configured, with which the (real) application is or should be carried out, also used or used for this purpose. use one or more
Klassifikations-Agenten zu trainieren, mit dessen bzw. deren Hilfe die (reale) To train classification agents, with whose help the (real)
Applikation, die mithilfe des Roboters durchgeführt wird, klassifiziert wird bzw. werden soll. 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 Accordingly, according to one embodiment of the present invention, the method comprises
Erfindung sowohl den Schritt: Invention both the step:
- 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; - 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;
als auch den Schritt: as well as the step:
- Trainieren des bzw. eines oder mehrerer der Klassifikations-Agenten, - Training the or one or more of the classification agents,
insbesondere Klassifikation der Applikation mithilfe des bzw. eines oder mehrerer der trainierten Klassifikations-Agenten, in particular, classification of the application with the aid of one or more of the trained classification agents,
wobei in einer Ausführung Steuerungs- und Klassifikations-Agent(en) mithilfe derselben Simulationen trainiert werden bzw. (worden) sind, wobei in einer wherein, in one embodiment, control and classification agent (s) are or have been trained using the same simulations, wherein in one
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. Further development of the or one or more of the classification agent (s) with the aid of simulations that have already taken place, with the aid of which 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 help 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 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 In other words, in one embodiment the invention uses simulations on the basis of which, in particular by means of reinforcement learning, the controller 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 for training at least one machine-learned classification or the or one or more of the classification agents. 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, which are or have been calculated in simulations, in one embodiment, simulations with the aid 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) are trained with the aid of this stored data, in an execution following this
Simulationen und/oder während dieser Simulationen. Simulations and / or during 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. Achssteilungen des Roboters, interne und/oder externe Kräfte am Roboter, insbesondere Gelenk- und/oder Antriebskräfte, Reibungskräfte, Kontaktkräfte oder dergleichen, Stromgrößen, insbesondere 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 divisions 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
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 Tensions and / or currents in the drives of the robot, tracking errors of the robot and / or time derivatives of such poses, positions, forces, current variables or tracking errors, in particular speeds and / or accelerations of one or more robot-fixed references, axes or joints, drives, temporal changes in such forces, current variables or following errors or
dergleichen. Dabei können Schleppfehler insbesondere Kraft-, Positions- und/oder Geschwindigkeitsfehler umfassen. like that. 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, In one execution, the, in one execution,
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. Simulations, in one embodiment simulations with the aid of which the or one or more of the control agent (s) are or have been trained, in particular using the stored data, those simulations or data are selected in which a quality criterion is met, and used to train the anomaly detection, or those simulations or data sorted into different defect classes on the basis of a quality criterion and used to train the defect detection.
Bezeichnet beispielsweise trajj die Daten einer Simulation i, traj = {traj_i} die Menge aller bei den Simulation abgespeicherten Daten, werden aus dieser in einer If, for example, trajj denotes the data of a simulation i, traj = {traj_i} the amount of all data stored during the simulation, are converted into a
Ausführung zum maschinellen Lernen der Anomalieerkennung die Daten Execution for machine learning of the anomaly detection the data
{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. {traj_success} of those simulations, in which a successful course of 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 or resulted, selected and then the Anomaly detection using {traj_success} or error detection using {{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), In one implementation, the one or more of the agent (s) classifies
insbesondere die Anomalieerkennung und/oder die Fehlererkennung, die Applikation auf Basis wenigstens eines, in einer Ausführung wandernden, insbesondere in particular the anomaly detection and / or the error detection, the application on the basis of at least one, migrating in one execution, in particular
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. wandering, time segment. In one embodiment, a continuous and / or serial evaluation is carried out in addition to or as an alternative to an evaluation of the complete application and the agent classifies the application on the basis of this continuous or serial evaluation. Recurrent networks, Markov models or autoregressive networks are particularly suitable for this.
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), In one implementation, the one or more of the agent (s) classifies
insbesondere die Anomalieerkennung und/oder die Fehlererkennung, die Applikation während des Durchführens der Applikation. in particular the anomaly detection and / or the error detection, 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 In one embodiment, this enables a reaction to the result of the classification. Correspondingly, in one execution the one that is just or currently being carried out
Applikation auf Basis der Klassifikation gegebenenfalls verändert, in einer Ausführung bei einer erkannten Anomalie und/oder einem erkannten Fehler ein entsprechendes Signal ausgegeben und/oder eine Bewegung des Roboters modifiziert und/oder ein bei der Applikation gehandhabtes, insbesondere transportiertes und/oder bearbeitetes, Werkstück aussortiert oder nachbearbeitet. In einer Ausführung klassifiziert der bzw. einer oder mehrere der Agent(en), insbesondere die Anomalieerkennung und/oder die Fehlererkennung, die Applikation nach dem Durchführen der Applikation. Application may be changed based on the classification, in one embodiment a corresponding signal is output in the event of a recognized anomaly and / or a recognized error and / or a movement of the robot is modified and / or a workpiece handled, in particular transported and / or processed during the application sorted out or reworked. 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. This allows the application to 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 In one embodiment, the robot parameter has a one-dimensional or multi-dimensional start pose, one or more one or more one-dimensional or multi-dimensional intermediate poses and / or a one-dimensional or multi-dimensional target pose of the application, in particular of the
Roboters, auf. Entsprechend werden in einer Ausführung die Simulationen der Applikation auf Basis stochastisch( verteilt- bzw. generierter Start-, Robot. Accordingly, in one version, the simulations of the application are based on stochastic (distributed or generated 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. Intermediate and / or target poses carried out. As a result, inaccuracies as a result of previous processes, deviations when running or the like can be taken into account in one implementation, thereby improving machine learning or the trained agent (s), in particular robust (more) and / or flexible (e) l (he), will.
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 In one embodiment, especially before performing the simulation, it is checked whether (the stochastic value for) the starting 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
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. Robot parameter is not achievable, the value is determined again in one embodiment or until (it is determined that) the pose or the value can be reached with the robot, and then this value as the value determined when the simulation of the application is carried out used. 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 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 rigidity and / or damping. This can lead to wear and tear in one version
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. Tolerances between robots of the same model or the like are taken into account, thereby improving machine learning or the trained agent (s), in particular robust (more) and / or flexible (more).
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 Additionally or alternatively, in one embodiment the robot parameter has a one-dimensional or multi-dimensional force parameter of an external force that acts on the robot at least, in one embodiment only temporarily, in particular an external force
(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, (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 disruptions can be taken into account in an execution and thereby improve machine learning or the trained agent (s),
insbesondere robust(er) und/oder flexib(e)l(er), werden. in particular robust (more) and / or flexible (e) l (more).
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 within the meaning 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 rigidity, a damping and / or a friction coefficient 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 Additionally or alternatively, the robot parameter has in one embodiment a one- or multi-dimensional kinematic, in one embodiment dynamic, robot structure parameter, in particular a one-dimensional or multi-dimensional dimension and / or a weight and / or one or multi-dimensional
Trägheitsmoment des Roboters bzw. einzelner Strukturglieder oder Moment of inertia of the robot or individual structural members or
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. 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 (more) and / or flexible (more), 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, Additionally or alternatively, the environmental model parameter in one embodiment has 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 weight and / or moment of inertia an environmental, in particular load structure,
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 in particular a tool and / or workpiece used in the application or similar. As a result, tolerances between tools or workpieces of the same model, inaccuracies as a result of
vorangegangener Prozesse oder dergleichen berücksichtigt und dadurch das maschinelle Lernen bzw. der bzw. die trainierte(n) Agent(en) verbessert, previous processes or the like are taken into account, thereby improving machine learning or the trained agent (s),
insbesondere robust(er) und/oder flexib(e)l(er), werden. in particular robust (more) and / or flexible (e) l (more).
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 Additionally or alternatively, in one embodiment, the robot parameters and / or the environmental model parameters are determined with the aid of a robot-supported parameter identification, for example minimum, maximum and / or mean value (s) of or for the stochastic parameter model. This allows the
Ü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. Correspondence with the real application is improved and, as a result, machine learning or the trained agent (s) are improved, in particular robust (more) and / or flexible (more).
In einer Ausführung ist, insbesondere wird, das vorgegebene stochastische In one embodiment, the predetermined stochastic one is, in particular becomes
Parametermodell auf Basis einer Benutzereingabe und/oder applikationsspezifisch vorgegeben, in einer Ausführung aus einer Mehrzahl zur Verfügung gestellter unterschiedlicher Parametermodelle ausgewählt. Parameter model based on a user input and / or application-specific predetermined, selected in one embodiment from a plurality of different parameter models made available.
So kann in einer Ausführung ein Benutzer zunächst eine von mehreren In one embodiment, a user can initially choose one of several
Wahrscheinlichkeitsverteilungen, beispielsweise eine Gauß-Verteilung, eine Probability distributions, for example a Gaussian distribution, a
gleichförmige Verteilung oder eine andere Wahrscheinlichkeitsverteilung, auswählen und hierfür bzw. hierbei Minimal- und Maximalwerte oder dergleichen vorgeben. uniform distribution or another probability distribution, and specify minimum and maximum values or the like for this or here.
Gleichermaßen kann beispielsweise für bestimmte Fügeapplikationen eine Similarly, for certain joining applications, for example, a
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 Probability distribution, for example a uniform distribution, for certain gripping applications a different probability distribution, for example a Gaussian distribution, or the like is selected and application-specific minimum and maximum values or the like are specified for this or here. Mixed forms are also possible, in particular one
applikationsspezifische Vorauswahl bzw. Defaultwertbelegung und eine application-specific preselection or default value assignment and a
Eingabemöglichkeit für den Benutzer, um diese zu verändern. Input option for the user to change this.
Zusätzlich oder alternativ ist, insbesondere wird, in einer Ausführung der Additionally or alternatively, in one embodiment of the
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. Robot and / or the environmental model parameters based on user input and / or specified application-specifically, selected in one embodiment 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 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
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. Surface normals can be specified or selected as the target pose, whereas for drilling with a robot-guided drill in a flat surface, a one-dimensional distance to the surface along the drill axis is used as the target or
Zwischenpose. Intermediate pose.
In einer Ausführung wird das stochastische Parametermodell und/oder der In one embodiment, the stochastic parameter model and / or the
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. Robot and / or the environmental model parameters 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 preferably 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 be (stochastically) can 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 twisted 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 color, in one embodiment different (color) brightness, of the marked area, the respective color 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 (stochastically) 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 become darker or a first area of the circular area in which the Target position lies with a first probability, for example is or is 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 colored with a different color and / or brightness is or will.
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 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 error tolerance of the input can be improved. Both with the user input for specifying, in particular selection, the stochastic parameter model and the user input for specifying, in particular selection, the robot and / or the
Umweltmodelparameters ist eine an anderer Stelle beschriebene Environmental model parameter is one described elsewhere
Anwendereingabeunterstützung durch einen Software-Assistenten besonders vorteilhaft. User input support by a software assistant is particularly advantageous.
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 based on 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 For example, the user can pose a workpiece for the
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 Change the test simulation and then use the test simulation to check whether and how well the configured control or anomaly or error detection (for this) works or performs. Similarly, a test script can automate further simulation with the trained control agent or agents
Anomalie- und/oder Fehlererkennung durchführen und dabei jeweils die Werte wenigstens eines Roboterparameters und/oder wenigstens eines Carry out anomaly and / or error detection and thereby the values of at least one robot parameter and / or at least one
Umweltmodelparameters variieren. Environmental model parameters vary.
Zusätzlich oder alternativ wird in einer Ausführung die konfigurierte Steuerung des Roboters und/oder die maschinell gelernte Anomalieerkennung und/oder Additionally or alternatively, the configured control of the robot and / or the machine-learned anomaly detection and / or
Fehlererkennung, insbesondere mittels maschinellem Lernen, insbesondere Error detection, in particular by means of machine learning, in particular
Reinforcement Learning, mithilfe des Roboters weiter trainiert, insbesondere auf Basis von mithilfe des Roboters durchgeführten Applikationen. Dadurch kann in einer Ausführung jeweils, insbesondere in Kombination, eine in der Praxis besonders vorteilhafte Steuerung realisiert werden. Reinforcement learning, further trained with the help of the robot, in particular on the basis of applications carried out with the help of the robot. 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 In one embodiment, the stochastic parameter model is, in particular, specified with the aid of machine learning. In particular, a
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 Parameter model (KI) agent based on earlier 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
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 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, on the basis of the results of the earlier carried out
Applikationen und der beim Trainieren dieses Klassifikations- bzw. Applications and when training this classification or
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. Control agents used stochastic parameter model, which predefined the stochastic parameter model, which is then used in a method described here for performing 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 controller is then configured to carry out a new application.
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 In one implementation, one or more of the steps include one of the following
beschriebenen Verfahren, insbesondere die Vorgabe, insbesondere Auswahl, des stochastischen Parametermodells und/oder des Roboter- und/oder des described method, in particular the specification, in particular selection, of the stochastic parameter model and / or the robot and / or the
Umweltmodelparameters, eine Anwendereingabeunterstützung durch einen Software- Assistenten, insbesondere eine Benutzeroberflächenführung, auf, insbesondere also einen sogenannten Wizard. In einer Ausführung ist bzw. wird der Roboter- und/oder der Umweltmodelparameter und/oder das stochastische Parametermodell aus einer Mehrzahl zur Verfügung gestellter unterschiedlicher Parameter bzw. Parametermodelle vorausgewählt, insbesondere applikationsspezifisch und/oder durch die Environmental model parameters, user input support by a software assistant, in particular a user interface guide, in particular a so-called wizard. 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
Anwendereingabeunterstützung bzw. den Software-Assistenten. 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 error tolerance 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 According to one embodiment of the present invention, a method for
Konfigurieren einer Steuerung eines Roboters zum Durchführen einer vorgegebenen Aufgabe die Schritte auf: To configure a controller of a robot to perform a given task the steps include:
- Erfassen wenigstens eines ein- oder mehrdimensionalen Roboterparameters und wenigstens eines ein- oder mehrdimensionalen Umweltmodelparameters; - Detecting at least one one-dimensional or multi-dimensional robot parameter and at least one one-dimensional or multi-dimensional environmental model parameter;
- T rainieren eines (KI-)Agenten mithilfe einer oder mehrerer Simulationen auf Basis dieses erfassten Roboterparameters und dieses erfassten - Training an (AI) agent with the help of one or more simulations on the basis of this recorded robot parameter and recorded it
Umweltmodelparameters mittels maschinellen Lernens auf Basis einer Environmental model parameters using machine learning based on a
vorgegebenen Kostenfunktion; und given cost function; and
- Konfigurieren der Steuerung des Roboters auf Basis des trainierten Agenten. - 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 joints. (Movement) axes, in one version swivel joints or axes. 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 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. For such purposes, the present invention is due to its
Komplexität besonders geeignet. Complexity particularly suitable.
In einer Ausführung weist der Roboterparameter In one embodiment, the robot has parameters
- einen ein- oder mehrdimensionalen kinematischen, insbesondere dynamischen, Robotermodellparameter, insbesondere eine oder mehrere Achsabstände, - a one or more dimensional kinematic, in particular dynamic, robot model parameter, in particular one or more center distances,
Massen, Massenschwerpunkte, Trägheiten und/oder Steifigkeiten; und/oder Masses, centers of mass, inertia and / or stiffness; and or
- einen ein- oder mehrdimensionalen kinematischen, insbesondere dynamischen, Lastmodellparameter, insbesondere eine oder mehrere Abmessungen, Massen, Massenschwerpunkte und/oder Trägheiten; und/oder a one or more dimensional kinematic, in particular dynamic, load model parameter, in particular one or more dimensions, masses, centers of gravity and / or inertia; and or
- eine aktuelle Roboterpose, insbesondere eine oder mehrere aktuelle Achs- bzw. - a current robot pose, in particular one or more current axis or
Gelenkstellungen; und/oder Joint positions; and or
- eine aktuelle Roboterbetriebszeit auf. - 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 In one development, this optical sensor is guided, in particular held or carried by a person, in another development by one
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. Robot, which for its part travels a programmed or automatically determined path, in particular by means of collision avoidance, or is or is guided manually or by forces exerted manually 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 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, this structure and / or Transferring weights in one execution to the controller of the robot. Additionally or alternatively, the agent is implemented using
Reinforcement Learning, vorzugsweise Deep Reinforcement Learning, trainiert. Reinforcement learning, preferably deep reinforcement learning, trained.
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 In one embodiment is, in particular, the robot parameter and / or
Umweltmodelparameter wenigstens temporär in einer Verwaltungsschale und/oder in einer Daten-Cloud gespeichert. Environmental model parameters are 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 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. Accordingly, in one embodiment, an inventive
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 Method A method described here for configuring a controller of a robot for performing a predetermined task and the step of performing the predetermined task using the robot with the
erfindungsgemäß konfigurierten Steuerung aufweisen. have control 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 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. It shows in a
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. Execution 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 based on the detected robot parameters and environmental model parameters by means of machine learning based on 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: In one implementation, the system comprises:
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 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 carrying out 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 Means for training at least one control agent and / or at least one classification agent with the aid of the simulations by means of machine learning, in particular training a first control agent and / or first
Klassifikations-Agenten mithilfe erster Stufen der Simulationen, und wenigstens eines weiteren Steuerungs-Agenten und/oder weiteren Klassifikations-Agenten mithilfe weiterer Stufen der Simulationen. Classification agents using first stages of the simulations, and at least one further control agent and / or further classification agents using further stages of the simulations.
Zusätzlich oder alternativ weist das System in einer Ausführung Mittel zum Additionally or alternatively, in one embodiment the system has means for
Konfigurieren einer Steuerung des Roboters auf Basis des, insbesondere der, trainierten Steuerungs-Agenten zum Durchführen der Applikation auf. Configuring a controller of the robot on the basis of, in particular the, trained control agent for performing the application.
Zusätzlich oder alternativ weist das System in einer Ausführung Mittel zur Additionally or alternatively, the system has means for in one embodiment
Klassifikation der Applikation mithilfe des, insbesondere der trainierten, Classification of the application using the, in particular the trained,
Klassifikations-Agenten auf. Classification agents.
Zusätzlich oder alternativ weist das System in einer Ausführung Mittel zum Additionally or alternatively, in one embodiment the system has means for
Durchführen der Applikation mithilfe des Roboters, wobei eine Steuerung des Execution of the application using the robot, with a controller of the
Roboters, mit der die Applikation ganz oder teilweise durchgeführt wird, auf Basis des, insbesondere der, trainierten Steuerungs-Agenten konfiguriert ist und/oder die Robot, with which the application is carried out in whole or in part, is configured on the basis of the, in particular the, trained control agent and / or the
Applikation mithilfe des, insbesondere der, trainierten Klassifikations-Agenten klassifiziert wird, auf. 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: In one embodiment, the system or its means has:
eine maschinell gelernte Anomalieerkennung und/oder maschinell gelernte a machine-learned anomaly detection and / or machine-learned
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 Error detection 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/oder Mittel zum Trainieren des wenigstens einen Steuerungs-Agenten und/oder des wenigstens einen Klassifikations-Agenten auf Basis wenigstens einer beim Means for classifying the application on the basis of at least one, in particular migrating, time segment and / or during or after the application is carried out with the aid of the at least one classification agent; and or Means for training the at least one control agent and / or the at least one classification agent on the basis of at least one at
Durchführen der Applikation nicht gemessenen Zustandsgröße; und/oder Execution of the application not measured state variable; and or
Mittel zum Ermitteln des Roboterparameters und/oder des Umweltmodelparameters mithilfe einer robotergestützten Parameteridentifikation; und/oder Means for determining the robot parameter and / or the environmental model parameter with the aid of a robot-assisted parameter identification; and or
Mittel zum Prüfen, ob die Startpose, Zwischenpose und/oder Zielpose mit dem Means for checking whether the start pose, intermediate pose and / or target pose with the
Roboter erreichbar ist; und/oder Robot is reachable; 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 Means 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
Mittel zum Visualisieren des stochastischen Parametermodells in einer Abbildung der Applikation durch einen markierten Bereich; und/oder 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/oder Means 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 Means 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
Benutzervorgabe eines Wertes wenigstens eines Roboterparameters und/oder wenigstens eines Umweltmodelparameters; und/oder 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/oder Means 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/oder Means 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/oder Means 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 A means within the meaning of the present invention can be designed in terms of hardware and / or software, in particular one that is data or signal-connected, in particular digital, processing, preferably with a memory and / or bus system. in particular have a microprocessor unit (CPU), graphics card (GPU) or the like, and / or one or more programs or program modules. The
Verarbeitungseinheit kann dazu ausgebildet sein, Befehle, die als ein in einem Processing unit can be designed to receive commands as one in one
Speichersystem abgelegtes Programm implementiert sind, abzuarbeiten, Program stored in the storage system are implemented,
Eingangssignale von einem Datenbus zu erfassen und/oder Ausgangssignale an einen Datenbus abzugeben. Ein Speichersystem kann ein oder mehrere, Acquire input signals from a data bus and / or deliver output signals to a data bus. A storage system can have one or more,
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 in particular have various 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 carry out one or more of the methods described here in whole or in part, so that the
Verarbeitungseinheit Schritte solcher Verfahren ausführen kann und damit Processing unit can carry out steps of such methods and thus
insbesondere die Steuerung konfigurieren bzw. die Applikation klassifizieren bzw. durchführen bzw. den Roboter betreiben bzw. steuern kann. Ein in particular can configure the controller or classify or carry out the application or operate or control the robot. A
Computerprogrammprodukt kann in einer Ausführung ein, insbesondere nicht flüchtiges, Speichermedium zum Speichern eines Programms bzw. mit einem darauf gespeicherten Programm aufweisen, insbesondere sein, wobei ein Ausführen dieses Programms ein System bzw. eine Steuerung, insbesondere einen Computer, dazu veranlasst, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen. In 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 Process or one or more of its steps.
In einer Ausführung werden ein oder mehrere, insbesondere alle, Schritte des In one embodiment, one or more, in particular all, steps of the
Verfahrens vollständig oder teilweise automatisiert durchgeführt, insbesondere durch das System bzw. sein(e) Mittel. The method is carried out completely or partially automatically, 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. Es sei nochmals betont, dass die vorliegende Erfindung insbesondereIn one embodiment, a framework is created that enables motion or task learning to be implemented more efficiently using reinforcement learning methods. In one embodiment, parameters of the robot are queried simply and efficiently 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 (through randomization of parameters). It should be emphasized again that the present invention in particular
- das Konfigurieren einer Steuerung eines Roboters zum Durchführen einer - Configuring a controller of a robot to carry out a
Applikation mithilfe des Roboters (Roboterapplikation); Application using the robot (robot application);
- das T rainieren eines oder mehrerer Klassifikations-(KI)Agenten zur Klassifikation einer Roboterapplikation; und - the training of one or more classification (KI) agents to classify a robot application; and
- das Durchführen einer bzw. der (Roboter)Applikation mithilfe wenigstens eines bzw. des Roboters the implementation of a (robot) application using at least one or the robot
bzw. hierzu eingerichtete Mittel umfasst, insbesondere also (auch) ein Konfigurieren der Steuerung ohne Durchführen der Applikation, ein Trainieren des bzw. der or means set up for this purpose, in particular (also) configuring the controller without performing the application, training the
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 Classification (KI) agents without performing the application, in particular training the classification (KI) agent or agents together with configuring the controller, but without performing the application, performing the
Applikation mit bereits konfigurierter Steuerung und/oder trainiertem/-n Application with already configured control and / or trained / -n
Klassifikations-(KI)Agenten, d.h. ohne das Konfigurieren und/oder ohne das Classification (AI) agents, i.e. without configuring and / or without that
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 Training of the classification (KI) agent or agents, as well as the combination of configuration and / or training with the implementation or means (each) set up for this purpose. Correspondingly, a feature of the implementation of the application also includes in particular that the configuration of the control or training of the classification (KI) agent or agents is set up for this or in such a way
durchgeführt wird, dass dieses Merkmal dann beim Durchführens der Applikation mit der konfigurierten Steuerung bzw. dem bzw. den trainierten it is carried out that this feature is then used when the application is carried out with the configured control or the trained
Klassifikations-(KI)Agenten verwirklicht ist. Classification (AI) agent is realized.
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert: Further advantages and features emerge from the subclaims and the exemplary embodiments. This shows, partly schematically:
Fig. 1 : ein System nach einer Ausführung der vorliegenden Erfindung; 1 shows a system according to an embodiment of the present invention;
Fig. 2: Teile des Systems; Fig. 2: parts of the system;
Fig. 3: ein Verfahren nach einer Ausführung der vorliegenden Erfindung; 3 shows a method according to an embodiment of the present invention;
Fig. 4: ein Verfahren nach einer weiteren Ausführung der vorliegenden 4: a method according to a further embodiment of the present invention
Erfindung; und Fig. 5: eine Visualisierung eines stochastischen Parametermodells und eines Roboterparameters. Invention; and 5: a visualization of a stochastic parameter model and a robot parameter.
Fig. 1 zeigt ein System nach einer Ausführung der vorliegenden Erfindung mit einem Roboter 1 , einer (Roboter)Steuerung 2, die mit dem Roboter 1 und einer Cloud 4 kommuniziert und einer Datenein-/ausgabe- und -Verarbeitungseinrichtung, insbesondere einem Computer 3. 1 shows a system according to an embodiment of the present invention with a robot 1, a (robot) controller 2 that communicates with the robot 1 and a cloud 4, 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: A wizard runs on its user interface that guides a user through one or more of the processes described below:
In einem ersten Schritt eines Verfahrens nach einer Ausführung der vorliegenden Erfindung (Fig. 3: S10) werden ein Roboterparameter und eine Startkonfiguration erfasst. Um das Motion-Learning in einer Simulationsumgebung vorteilhaft In a first step of a method according to an embodiment of the present invention (FIG. 3: S10), a robot parameter and a start configuration are recorded. To make motion learning beneficial in a simulation environment
durchzuführen, sollten sowohl Parameter des Roboters wie auch das Umweltmodell möglichst exakt in der Cloud-Simulationsumgebung verfügbar sein. the parameters of the robot as well as the environmental model should be available in the cloud simulation environment as precisely as possible.
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, With the aid of a so-called asset administration shell (AAS), also called a digital twin, status and management data of the robot 1 are stored. An OPC UA information model is advantageously used for this. The robot's administration shell contains data such as the robot model,
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.) 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 (Fig. 3: S20) wird das Umweltmodell erfasst. Hier stehen in einer Ausführung mehrere Möglichkeiten zur Auswahl: In a second step (FIG. 3: S20) the environmental model is recorded. There are several options to choose from in one version:
- Übertragung eines vollständig modellierten CAD Modells inkl. Transformation zum Roboterkoordinatensystem; - Transfer of a fully modeled CAD model including transformation to the robot coordinate system;
- Erfassung der Umwelt durch eine 3D Kamera, die entweder von einem Menschen handgeführt wird oder am Roboter montiert ist, der - Detection of the environment by a 3D camera, which is either hand-operated by a human or is mounted on the robot that
- handgeführt wird oder - is hand-held or
- eine definierte und kollisionsfreie Trajektorie abfährt Im Falle einer Handführung ist es auch möglich, für die Aufgabe wichtige Bereiche, zum Beispiel ein Fügeziel, genauer und aus wenig Abstand aufzunehmen. - runs a defined and collision-free trajectory 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 administration shell of the robot.
In einer Abwandlung hat die Roboterzelle eine Verwaltungsschale 10 (vgl. Fig. 2), das Umweltmodell und Referenzen auf beteiligte andere Verwaltungsschalen. Somit ist der Roboter selbst austauschbar und das Ganze ist modularer aufgebaut, als wenn alle Informationen in der Verwaltungsschale des Roboters selbst liegen. Der "Cell- Manager" kann dann die Interaktion mit den Subkomponenten, der In a modification, the robot cell has an administration shell 10 (cf. FIG. 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
Simulationsumgebung 20 (vgl. Fig. 2) und die Ausführung des Lernprozesses regeln. Control the simulation environment 20 (see FIG. 2) and the execution of the learning process.
In einem dritten Schritt (Fig. 3: S30) wird das Lernziel definiert. Dabei wird eine Kostenfunktion vorgegeben, so dass der Reinforcement Algorithmus sein Ziel kennt. Insbesondere ist es möglich, in dem geführten Wizard, z.B. das Ziel dadurch vorzugeben, dass der Nutzer den Roboter zum Fügeziel handführt und dies einige Male wiederholt, um Fehler zu minimieren. In a third step (FIG. 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 to specify the target in the guided wizard, 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 (Fig. 3: S40) wird in der Cloud-Umgebung 4, vorzugsweise parallelisiert, mittels Verfahren des Deep Reinforcement Learnings der Task gelernt. In a fourth step (FIG. 3: S40), the task is learned in the cloud environment 4, preferably in parallel, by means of the deep reinforcement learning method.
Der konkrete Algorithmus ist vorteilhafterweise The specific algorithm is advantageous
- Guided Policy Search; - Guided Policy Search;
- Soft Q-Learning; - Soft Q-Learning;
- A3C - A3C
oder dergleichen. Um die Simulation-Reality Gap zu überwinden, wird in einer Ausführung eine or similar. In order to overcome the simulation-reality gap, a
Randomisierung der Dynamik- Parameter vorgenommen. Ist ein Vision-System beteiligt, wird in einer Ausführung mittels Domain Randomization ein flexibles Visionmodell erlernt. Randomization of the dynamic parameters made. If a vision system is involved, a flexible vision model is learned in one 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 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. In 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 (Fig. 3: S50) wird das Modell auf den Roboter oder einen Edge Controller heruntergeladen. In a fifth step (FIG. 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 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 made available (e.g. learning rate, number of iterations, etc., which will later be used in
Finetuning verwendet werden können). Insbesondere kann für den Austausch des Computation Graphs und der Gewichte beispielsweise das ONNX Austauschformat verwendet werden. Fine tuning can be used). In particular, the ONNX exchange format, for example, can be used for exchanging the computation graph and the weights.
In einem optionalen sechsten Schritt (Fig. 3: S60) wird das Modell auf dem realen System fine-getuned. In an optional sixth step (Fig. 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 (Fig. 3: S70) kann der gelernte Task nun ausgeführt werden. In a seventh step (FIG. 3: S70) the learned task can now be carried out.
Fig. 4 zeigt Verfahren nach einer weiteren Ausführung der vorliegenden Erfindung, welches mit dem System der Fig. 1 ausgeführt werden kann. In einem Schritt S100 wird jeweils durch einen in diesem Ausführungsbeispiel vorgesehenen und daher gestrichelt angedeuteten Zufallsgenerator 3a (vgl. Fig. 1 ) ein stochastischer Wert eines Roboterparameters und/oder eines FIG. 4 shows a method according to a further embodiment of the present invention, which can be carried out with the system of FIG. In a step S100, a random generator 3a (cf. FIG. 1) provided in this exemplary embodiment and therefore indicated by dashed lines is used to generate a stochastic value of a robot parameter and / or a
Umweltmodelparameters, zum Beispiel einer zweidimensionalen Zielposition eines in diesem Ausführungsbeispiel robotergeführten Steckers 1a in einer Fläche 10 (vgl. Fig. 1), auf Basis eines vorgegebenen stochastischen Parametermodells, im Environmental model parameters, for example a two-dimensional target position of a connector 1a guided by a robot in this exemplary embodiment in an area 10 (cf. FIG. 1), on the basis of a predetermined stochastic parameter model, in
Ausführungsbeispiel einer durch einen Benutzer mithilfe des Wizards vorgegebenen Gauß-Verteilung, ermittelt. Embodiment of a Gaussian distribution predetermined by a user with the aid of the wizard.
Fig. 5 zeigt hierzu exemplarisch, wie dieser Roboterparameter und dieses Fig. 5 shows an example of how this robot parameter and this
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 stochastic parameter model can be visualized in an image 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 (image of the) surface. The edge of the circle visualizes a maximum value of a deviation from the mean or expected value and the through
unterschiedliche Schraffuren angedeutete unterschiedliche Färbung, in einer different hatchings indicated different coloring, in one
Ausführung unterschiedliche (Farb)Helligkeit, des markierten Bereichs die jeweilige Wahrscheinlichkeit, dass die Zielposition an dieser Stelle liegt. Execution of different (color) brightness, 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 a step S200, the application is simulated on the basis of the determined stochastic value, i.e. with a stochastic target position, on the computer 3 or in the cloud 4.
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 a step S300 it is checked whether the control agent has already been trained sufficiently. If this is not the case (S300: “N”), the random number generator 3a generates 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). If the control agent has trained sufficiently (S300: “Y”), the controller 2 of the robot 1 is 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 In addition, a classification agent is trained with the aid of the simulations carried out, for example anomaly or error detection is learned by machine (S500), ie those performed when training the control agent
Simulationen genutzt. Simulations 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. The real application is then carried out with the aid of the robot 1 with the controller configured in step S400 (S600) and in the process 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 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 noted that the exemplary
Ausführungen lediglich um Beispiele handelt, die den Schutzbereich, die Explanations are only examples that cover the scope of protection that
Anwendungen und den Aufbau in keiner Weise einschränken sollen. Vielmehr wird dem Fachmann durch die vorausgehende Beschreibung ein Leitfaden für die Applications and structure are not intended to restrict in any way. Rather, the person skilled in the art through the preceding description is a guide for
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 Implementation of at least one exemplary embodiment given, whereby various changes, in particular with regard to the function and arrangement of the described components, can be made without departing from the scope of protection as it emerges from the claims and their equivalents
Merkmalskombinationen ergibt. Combinations of characteristics results.

Claims

Patentansprüche Claims
1. Verfahren zum Durchführen einer Applikation mithilfe wenigstens eines Roboters (1 ), wobei das Verfahren die mehrfach wiederholten Schritte: 1. A method for performing an application with the aid of at least one robot (1), the method comprising the repeated steps:
- Ermitteln (S100) eines stochastischen Wertes wenigstens eines - Determining (S100) a stochastic value of at least one
Roboterparameters und/oder wenigstens eines Umweltmodelparameters, insbesondere auf Basis eines vorgegebenen stochastischen Parametermodells und/oder mithilfe wenigstens eines Zufallsgenerators (3a); und Robot parameters 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
- Durchführen (S200) einer, insbesondere mehrstufigen, Simulation der - Performing (S200) a, in particular multi-stage, simulation of the
Applikation auf Basis des ermittelten stochastischen Wertes; Application based on the determined stochastic value;
die Schritte: the steps:
- Trainieren (S200, S500) wenigstens eines Steuerungs-Agenten und/oder - Training (S200, S500) at least one control agent and / or
wenigstens eines Klassifikations-Agenten mithilfe der Simulationen mittels maschinellen Lernens, insbesondere Trainieren eines ersten at least one classification agent using the simulations using machine learning, in particular training a first one
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 Control agents and / or first classification agents using first stages of the simulations, and at least one further control agent and / or further classification agents using further stages of the
Simulationen; und Simulations; and
- Durchführen (S600) der Applikation mithilfe des Roboters; - Execution (S600) of the application using the robot;
sowie wenigstens einen der Schritte aufweist: and at least one of the steps:
- 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 - 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
- Klassifikation (S700) der Applikation mithilfe des, insbesondere der, trainierten Klassifikations-Agenten. - Classification (S700) of the application with the aid of the, in particular the, trained classification agent.
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass der wenigstens eine Steuerungs-Agent und/oder der wenigstens eine Klassifikations-Agent eine maschinell gelernte Anomalieerkennung und/oder maschinell gelernte 2. The method according to claim 1, characterized in that the at least one control agent and / or the at least one classification agent a machine-learned anomaly detection and / or machine-learned
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. Has error detection and / or at least one artificial neural network, in particular the control of the robot is configured based on the structure and / or weightings of the trained network, and / or the at least one control agent and / or the at least one classification agent using Reinforcement learning and / or trained using the robot.
3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der wenigstens eine Klassifikations-Agent die Applikation auf Basis wenigstens eines, insbesondere wandernden, Zeitausschnitts und/oder während oder nach dem Durchführen der Applikation klassifiziert und/oder der wenigstens eine Steuerungs-Agent und/oder der wenigstens eine Klassifikations-Agent auf Basis wenigstens einer beim Durchführen der Applikation nicht gemessenen Zustandsgröße trainiert wird. 3. The method according to any 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 migrating, time segment and / or during or after performing 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 was not measured when the application was carried out.
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass 4. The method according to any one of the preceding claims, characterized in that
- der Roboterparameter eine Startpose, wenigstens eine Zwischenpose - the robot parameter a start pose, at least one intermediate pose
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 and / or has a target pose of the application and / or a force parameter of a robot-internal force and / or an external force that acts at least temporarily on the robot and / or a kinematic, in particular dynamic, robot structure parameter; and or
- der Umweltmodelparameter einen kinematischen, insbesondere dynamischen, Umgebungs-, insbesondere Laststrukturparameter aufweist; und/oder the environmental model parameter has a kinematic, in particular dynamic, environmental, in particular load structure parameter; and or
- der Roboterparameter und/oder der Umweltmodelparameter mithilfe einer robotergestützten Parameteridentifikation ermittelt wird. - The robot parameter and / or the environmental model parameter is determined with the aid of a robot-assisted parameter identification.
5. Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass geprüft wird, ob die Startpose, Zwischenpose und/oder Zielpose mit dem Roboter erreichbar ist. 5. The 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.
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das stochastische Parametermodell auf Basis der Applikation und/oder einer Benutzereingabe vorgegeben, insbesondere aus einer Mehrzahl zur Verfügung gestellter unterschiedlicher Parametermodelle ausgewählt, ist und/oder in einer Abbildung der Applikation durch einen markierten Bereich visualisiert wird und/oder der Roboter- und/oder Umweltmodelparameter auf Basis der Applikation und/oder einer Benutzereingabe vorgegeben, insbesondere aus einer Mehrzahl zur Verfügung gestellter unterschiedlicher Parameter ausgewählt, ist und/oder in einer Abbildung der Applikation durch einen markierten Bereich visualisiert wird. 6. The method according to any 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 is marked in a mapping of the application Area is visualized and / or the robot and / or environmental model parameters are specified based on the application and / or a user input, in particular selected from a plurality of different parameters made available, and / or is visualized in a map of the application by a marked area .
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die konfigurierte Steuerung des Roboters und/oder die maschinell gelernte Anomalieerkennung und/oder Fehlererkennung mithilfe wenigstens einer weiteren Simulation, insbesondere auf Basis einer automatisierten oder Benutzervorgabe eines Wertes wenigstens eines Roboterparameters und/oder wenigstens eines Umweltmodelparameters, getestet und/oder mithilfe des Roboters weiter trainiert wird. 7. The method according to any 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 parameter is tested and / or further trained with the aid of the robot.
8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das stochastische Parametermodell mithilfe maschinellen Lernens vorgegeben ist. 8. The method according to any one of the preceding claims, characterized in that the stochastic parameter model is specified with the aid of machine learning.
9. Verfahren zum Konfigurieren einer Steuerung eines Roboters (1) zum Durchführen einer Applikation mithilfe des Roboters, wobei das Verfahren die mehrfach wiederholten Schritte des Ermittelns (S100) eines stochastischen Wertes und Durchführens (S200) einer Simulation und den Schritt des Trainierens (S200) wenigstens eines Steuerungs-Agenten nach einem Verfahren nach Anspruch 1 , insbesondere zusätzlich ein oder mehrere Merkmale eines oder mehrerer der Ansprüche 2 bis 8, sowie den Schritt aufweist: Konfigurieren (S400) der Steuerung des Roboters zum Durchführen der Applikation auf Basis des, insbesondere der, trainierten Steuerungs-Agenten. 9. A method for configuring a controller of a robot (1) for carrying out an application using the robot, the method comprising the repeatedly repeated steps of determining (S100) a stochastic value and carrying out (S200) a simulation and the step of training (S200) at least one control agent according to a method according to claim 1, in particular additionally one or more features of one or more of claims 2 to 8, as well as the step: configuring (S400) the controller of the robot for performing the application on the basis of, in particular the , trained control agents.
10. Verfahren zum Trainieren wenigstens eines Klassifikations-Agenten zur 10. Method for training at least one classification agent to use
Klassifikation einer Roboterapplikation, insbesondere zusammen mit einem Konfigurieren einer Steuerung eines Roboters (1) zum Durchführen der Classification of a robot application, in particular together with a configuration of a controller of a robot (1) for performing the
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 Application according to a method according to the preceding claim, wherein the method for training comprises 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
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. Control agent and at least one classification agent, according to a method according to claim 1, in particular additionally one or more features of one or more of claims 2 to 8.
11. Verfahren zum Durchführen einer Applikation mithilfe wenigstens eines Roboters (1), mit dem Schritt: Durchführen (S600) der Applikation mithilfe des Roboters, wobei eine Steuerung des Roboters, mit der die Applikation ganz oder teilweise durchgeführt wird, nach einem Verfahren nach Anspruch 9 konfiguriert ist und/oder die Applikation mithilfe wenigstens eines Klassifikations-Agenten klassifiziert wird, der nach einem Verfahren nach Anspruch 10 trainiert ist. 11. A method for performing an application using at least one robot (1), comprising the step of: performing (S600) the application using the robot, a control of the robot, with which the application is carried out in whole or in part, according to a method according to claim 9 is configured and / or the application is classified with the aid of at least one classification agent which is trained according to a method according to claim 10.
12. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass wenigstens einer der Verfahrensschritte eine Anwendereingabeunterstützung durch einen Software-Assistenten, insbesondere eine Benutzeroberflächenführung, aufweist. 12. The method according to any 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.
13. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass wenigstens einer der Verfahrensschritte in einer Cloud (4) durchgeführt wird. 13. The method according to any one of the preceding claims, characterized in that at least one of the method steps is carried out in a cloud (4).
14. System zum Durchführen einer Applikation mithilfe wenigstens eines Roboters (1 ), wobei das System zur Durchführung eines Verfahrens nach einem der 14. System for performing an application using at least one robot (1), the system for performing a method according to one of the
vorhergehenden Ansprüche eingerichtet ist und/oder aufweist: preceding claims is set up and / or has:
Mittel zum mehrfach wiederholten Ermitteln eines stochastischen Wertes wenigstens eines Roboterparameters und/oder wenigstens eines Means for repeatedly determining a stochastic value of at least one robot parameter and / or at least one
Umweltmodelparameters, insbesondere auf Basis eines vorgegebenen Environmental model parameters, in particular on the basis of a predetermined one
stochastischen Parametermodells und/oder mithilfe wenigstens eines stochastic parameter model and / or using at least one
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 Random generator (3a), and performing an, in particular multi-stage, simulation of the application on the basis of 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 Agents and / or others
Klassifikations-Agenten mithilfe weiterer Stufen der Simulationen; und/oder aufweist: Classification agents using further stages of simulations; and / or has:
Mittel zum Durchführen der Applikation mithilfe des Roboters, wobei eine Means for performing the application with the aid of the robot, wherein a
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: Control of the robot with which the application is carried out in whole or in part, configured on the basis of the, in particular the, trained control agent and / or the application is classified with the aid of the, in particular the, trained classification agent; and / or has:
Mittel zum Konfigurieren einer Steuerung des Roboters auf Basis des, Means for configuring a controller of the robot based on the,
insbesondere der, trainierten Steuerungs-Agenten zum Durchführen der in particular, the trained control agent for performing the
Applikation; und/oder aufweist: Application; and / or has:
Mittel zur Klassifikation der Applikation mithilfe des, insbesondere der, trainierten Klassifikations-Agenten. Means for classifying the application with the aid of the, in particular the, trained classification agent.
15. Verfahren zum Konfigurieren einer Steuerung (2) eines Roboters (1) zum 15. Method for configuring a controller (2) of a robot (1) for
Durchführen einer vorgegebenen Aufgabe, mit den Schritten: Perform a given task, with the steps:
Erfassen (S10, S20) wenigstens eines Roboterparameters und wenigstens eines Umweltmodelparameters; Detecting (S10, S20) at least one robot parameter and at least one environmental model parameter;
Trainieren (S40) eines Agenten mithilfe wenigstens einer Simulation auf Basis des erfassten Roboterparameters und Umweltmodelparameters mittels maschinellen Lernens auf Basis einer vorgegebenen Kostenfunktion; und Training (S40) an agent using at least one simulation based on the detected robot parameters and environmental model parameters using machine learning based on a predetermined cost function; and
Konfigurieren (S50) der Steuerung des Roboters auf Basis des trainierten Agenten. Configuring (S50) the control of the robot based on the trained agent.
16. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass die vorgegebene 16. The method according to claim 16, characterized in that the predetermined
Aufgabe wenigstens eine Bewegung des Roboters, insbesondere wenigstens einen planmäßigen Umgebungskontakt des Roboters, aufweist. Task has at least one movement of the robot, in particular at least one scheduled environmental contact of the robot.
17. Verfahren nach einem der Ansprüche 15 und 16, dadurch gekennzeichnet, dass der Roboterparameter einen kinematischen, insbesondere dynamischen, 17. The method according to any one of claims 15 and 16, characterized in that the robot parameter is a kinematic, in particular dynamic,
Roboter- und/oder Lastmodellparameter, eine aktuelle Roboterpose Robot and / or load model parameters, a current robot pose
und/oder -betriebszeit aufweist; und/oder and / or operating time; and or
der Umweltmodelparameter einen CAD-Modellparameter und/oder eine the environmental model parameter a CAD model parameter and / or a
Roboterpositionierung in dem Umgebungsmodell aufweist; und/oder Comprises robot positioning in the environment model; and or
mithilfe wenigstens eines optischen Sensors ermittelt wird. is determined using at least one optical sensor.
18. Verfahren nach Anspruch 17, dadurch gekennzeichnet, dass der optische Sensor von einer Person oder einem, insbesondere handgeführten, Roboter geführt wird. 18. The method according to claim 17, characterized in that the optical sensor is guided by a person or a, in particular hand-guided, robot.
19. Verfahren nach einem der Ansprüche 15 bis 18, dadurch gekennzeichnet, dass der Agent ein künstliches neuronales Netz aufweist, insbesondere die Steuerung des Roboters auf Basis der Struktur und/oder Gewichtungen des trainierten Netzes konfiguriert wird, und/oder der Agent mithilfe von Reinforcement Learning trainiert wird. 19. The method according to any one of claims 15 to 18, characterized in that the agent has an 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 agent is trained using reinforcement learning.
20. Verfahren nach einem der Ansprüche 15 bis 19, dadurch gekennzeichnet, dass die konfigurierte Steuerung des Roboters mittels maschinellem Lernen, 20. The method according to any one of claims 15 to 19, characterized in that the configured control of the robot by means of machine learning,
insbesondere Reinforcement Learning, mithilfe des Roboters weiter trainiert wird (S60). in particular reinforcement learning, is further trained with the aid of the robot (S60).
21. Verfahren nach einem der Ansprüche 15 bis 20, dadurch gekennzeichnet, dass wenigstens einer der Verfahrensschritte eine Anwendereingabeunterstützung durch einen Software-Assistenten, insbesondere eine Benutzeroberflächenführung, aufweist und/oder der Roboterparameter und/oder Umweltmodelparameter in einer Verwaltungsschale und/oder einer Daten-Cloud gespeichert ist. 21. The method according to any one of claims 15 to 20, characterized in that at least one of the method steps has user input support by a software assistant, in particular a user interface guide, and / or the robot parameters and / or environmental model parameters in an administration shell and / or a data Is stored in the cloud.
22. Verfahren zum Durchführen einer vorgegebenen Aufgabe mithilfe wenigstens 22. A method for performing a given task using at least
eines Roboters, dadurch gekennzeichnet, dass eine Steuerung des Roboters nach einem Verfahren nach einem der Ansprüche 15 bis 21 konfiguriert ist. of a robot, characterized in that a controller of the robot is configured according to a method according to one of claims 15 to 21.
23. System, das zur Durchführung eines Verfahrens nach einem der Ansprüche 15 bis23. System for performing a method according to any one of claims 15 to
22 eingerichtet ist. 22 is set up.
24. Computerprogrammprodukt mit einem Programmcode, der auf einem von einem Computer lesbaren Medium gespeichert ist, zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 13 oder 15 bis 22. 24. 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 claims 1 to 13 or 15 to 22.
EP20735370.7A 2019-07-01 2020-06-29 Carrying out an application using at least one robot Pending EP3993959A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102019209616.6A DE102019209616A1 (en) 2019-07-01 2019-07-01 Carrying out a given task with the aid of at least one robot
DE102020206924.7A DE102020206924A1 (en) 2020-06-03 2020-06-03 Carrying out an application with the aid of at least one robot
PCT/EP2020/068241 WO2021001312A1 (en) 2019-07-01 2020-06-29 Carrying out an application using at least one robot

Publications (1)

Publication Number Publication Date
EP3993959A1 true EP3993959A1 (en) 2022-05-11

Family

ID=71401784

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20735370.7A Pending EP3993959A1 (en) 2019-07-01 2020-06-29 Carrying out an application using at least one robot

Country Status (4)

Country Link
US (1) US20220339787A1 (en)
EP (1) EP3993959A1 (en)
CN (1) CN114051444B (en)
WO (1) WO2021001312A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110000785B (en) * 2019-04-11 2021-12-14 上海交通大学 Agricultural scene calibration-free robot motion vision cooperative servo control method and equipment
DE102021200569A1 (en) 2021-01-22 2022-07-28 Robert Bosch Gesellschaft mit beschränkter Haftung Apparatus and method for training a Gaussian process state space model
DE102021126188A1 (en) 2021-10-08 2023-04-13 Dürr Systems Ag Monitoring method for a robot and associated robotic system

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070185926A1 (en) * 2005-11-28 2007-08-09 Anand Prahlad Systems and methods for classifying and transferring information in a storage network
US8150101B2 (en) * 2006-11-13 2012-04-03 Cybernet Systems Corporation Orientation invariant object identification using model-based image processing
US9566710B2 (en) * 2011-06-02 2017-02-14 Brain Corporation Apparatus and methods for operating robotic devices using selective state space training
US9764468B2 (en) * 2013-03-15 2017-09-19 Brain Corporation Adaptive predictor apparatus and methods
EP3003521B1 (en) * 2013-05-31 2021-03-31 Digital Dream Labs, LLC Mobile agents for manipulating, moving, and/or reorienting components
US9242372B2 (en) * 2013-05-31 2016-01-26 Brain Corporation Adaptive robotic interface apparatus and methods
US9314924B1 (en) * 2013-06-14 2016-04-19 Brain Corporation Predictive robotic controller apparatus and methods
US20150005937A1 (en) * 2013-06-27 2015-01-01 Brain Corporation Action selection apparatus and methods
US9296101B2 (en) * 2013-09-27 2016-03-29 Brain Corporation Robotic control arbitration apparatus and methods
DE102015204641B4 (en) * 2014-06-03 2021-03-25 ArtiMinds Robotics GmbH Method and system for programming a robot
US9630318B2 (en) * 2014-10-02 2017-04-25 Brain Corporation Feature detection apparatus and methods for training of robotic navigation
US9717387B1 (en) * 2015-02-26 2017-08-01 Brain Corporation Apparatus and methods for programming and training of robotic household appliances
US9840003B2 (en) * 2015-06-24 2017-12-12 Brain Corporation Apparatus and methods for safe navigation of robotic devices
WO2017019555A1 (en) * 2015-07-24 2017-02-02 Google Inc. Continuous control with deep reinforcement learning
CN117910545A (en) * 2015-11-12 2024-04-19 渊慧科技有限公司 Training neural networks using prioritized empirical memories
JP6875513B2 (en) * 2016-10-10 2021-05-26 ディープマインド テクノロジーズ リミテッド Neural network for selecting actions to be performed by robot agents
EP3480741A1 (en) * 2017-10-27 2019-05-08 DeepMind Technologies Limited Reinforcement and imitation learning for a task
US11619927B2 (en) * 2017-11-03 2023-04-04 Drishti Technologies, Inc. Automatic analysis of real time conditions in an activity space
CN108052004B (en) * 2017-12-06 2020-11-10 湖北工业大学 Industrial mechanical arm automatic control method based on deep reinforcement learning
US11340079B1 (en) * 2018-05-21 2022-05-24 AI Incorporated Simultaneous collaboration, localization, and mapping
WO2020062165A1 (en) * 2018-09-29 2020-04-02 区链通网络有限公司 Method, node and system for training reinforcement learning model, and storage medium

Also Published As

Publication number Publication date
WO2021001312A1 (en) 2021-01-07
US20220339787A1 (en) 2022-10-27
CN114051444B (en) 2024-04-26
CN114051444A (en) 2022-02-15

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
DE112010000775B4 (en) INDUSTRIAL ROBOT SYSTEM
DE102014103738B3 (en) VISUAL TROUBLESHOOTING FOR ROBOTIC TASKS
EP3165978B1 (en) Procedure for initial start-up of a plant
EP3993959A1 (en) Carrying out an application using at least one robot
DE102015010124B4 (en) A robot program generating device that generates a robot program for reducing bumps of the joints of the robot
DE102019119319B4 (en) Scanning system, working system, method for displaying augmented reality images, method for storing augmented reality images and programs therefor
DE102019109624B4 (en) Robot motion teaching device, robot system and robot controller
DE102013202378B4 (en) Procedural memory learning and robot control
DE102019122865B4 (en) Acquisition system, working system, display method for an augmented reality image and program
DE112019001256B3 (en) Control device, working robot, program and control method
DE102020110252B4 (en) Vibration display device, operating program creation device and system
DE202008014481U1 (en) Portable robotic control device for controlling a movement of a robot
DE102017001131B4 (en) Method and system for operating a robot
EP3760390A1 (en) Performance of a predetermined task using at least one robot
EP4013574A1 (en) Automation system and method for handling products
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
DE102018112370B4 (en) Directional collision detection for a robot manipulator
DE112019007579B4 (en) Numerical control device and machine learning device
EP3731043A1 (en) Security assessment method, computer program, machine-readable storage medium, and security assessment device
DE102020206924A1 (en) Carrying out an application with the aid of at least one robot
WO2017080649A2 (en) Sensitive robots using sensor technology arranged before the first robot axis
EP3425459B1 (en) Automatic configuration of an automation system

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20211129

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230528

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20240221