WO2021001312A1 - Durchführen einer applikation mithilfe wenigstens eines roboters - Google Patents

Durchführen einer applikation mithilfe wenigstens eines roboters Download PDF

Info

Publication number
WO2021001312A1
WO2021001312A1 PCT/EP2020/068241 EP2020068241W WO2021001312A1 WO 2021001312 A1 WO2021001312 A1 WO 2021001312A1 EP 2020068241 W EP2020068241 W EP 2020068241W WO 2021001312 A1 WO2021001312 A1 WO 2021001312A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
application
agent
parameter
trained
Prior art date
Application number
PCT/EP2020/068241
Other languages
English (en)
French (fr)
Inventor
Manuel KASPAR
Pierre VENET
Jonas SCHWINN
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/de
Priority claimed from DE102020206924.7A external-priority patent/DE102020206924A1/de
Application filed by Kuka Deutschland Gmbh filed Critical Kuka Deutschland Gmbh
Priority to EP20735370.7A priority Critical patent/EP3993959A1/de
Priority to US17/616,757 priority patent/US20220339787A1/en
Priority to CN202080047210.XA priority patent/CN114051444B/zh
Publication of WO2021001312A1 publication Critical patent/WO2021001312A1/de

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

Abstract

Ein erfindungsgemäßes Verfahren zum Durchführen einer Applikation mithilfe wenigstens eines Roboters (1) umfasst die mehrfach wiederholten Schritte: Ermitteln (S100) eines stochastischen Wertes wenigstens eines Roboterparameters und/oder wenigstens eines Umweltmodelparameters, insbesondere auf Basis eines vorgegebenen stochastischen Parametermodells und/oder mithilfe wenigstens eines Zufallsgenerators (3a); und Durchführen (S200) einer, insbesondere mehrstufigen, Simulation der Applikation auf Basis des ermittelten stochastischen Wertes; die Schritte: Trainieren (S200, S500) wenigstens eines Steuerungs-Agenten und/oder wenigstens eines Klassifikations-Agenten mithilfe der Simulationen mittels maschinellen Lernens, insbesondere Trainieren eines ersten Steuerungs-Agenten und/oder ersten Klassifikations-Agenten mithilfe erster Stufen der Simulationen, und wenigstens eines weiteren Steuerungs-Agenten und/oder weiteren Klassifikations-Agenten mithilfe weiterer Stufen der Simulationen; und Durchführen (S600) der Applikation mithilfe des Roboters; sowie wenigstens einen der Schritte: Konfigurieren (S400) einer Steuerung des Roboters, mit der die Applikation ganz oder teilweise durchgeführt wird, auf Basis des, insbesondere der, trainierten Steuerungs-Agenten; und/oder Klassifikation (S700) der Applikation mithilfe des, insbesondere der, trainierten Klassifikations-Agenten.

Description

Beschreibung
Durchführen einer Applikation mithilfe wenigstens eines Roboters
Die vorliegende Erfindung betrifft insbesondere ein Verfahren zum Durchführen einer Applikation mithilfe wenigstens eines Roboters, ein Verfahren zum Konfigurieren einer Steuerung eines Roboters zum Durchführen einer Applikation bzw. vorgegebenen Aufgabe, ein Verfahren zum Trainieren wenigstens eines Klassifikations-Agenten zur Klassifikation einer Roboterapplikation, ein Verfahren zum Durchführen einer vorgegebenen Aufgabe mithilfe wenigstens eines Roboters mit einer entsprechend konfigurierten Steuerung sowie ein System und ein Computerprogrammprodukt zur Durchführung wenigstens eines dieser Verfahren.
Um Applikationen bzw. vorgegebene Aufgaben durchzuführen, müssen Steuerungen von Robotern entsprechend konfiguriert werden, herkömmlicherweise durch
manuelles Erstellen von Roboterprogrammen oder dergleichen.
Eine Aufgabe einer Ausführung der vorliegenden Erfindung ist es, das Durchführen einer Applikation bzw. vorgegebenen Aufgabe mithilfe wenigstens eines Roboters zu verbessern. Eine Aufgabe einer Ausführung der vorliegenden Erfindung ist es, das Konfigurieren einer Steuerung des Roboters zum Durchführen der Applikation bzw. vorgegebenen Aufgabe zu verbessern. Eine Aufgabe einer Ausführung der
vorliegenden Erfindung ist es, eine Klassifikation einer Roboterapplikation zu verbessern. Eine Aufgabe einer Ausführung der vorliegenden Erfindung ist es, eine Steuerung eines Roboters, mit der eine Applikation durchgeführt wird, zu verbessern.
Eine oder mehrere dieser Aufgaben werden die Gegenstände der unabhängigen Ansprüche und/oder eines oder mehrere der hier beschriebenen Verfahren bzw. Mittel, insbesondere ein Verfahren mit den Merkmalen des Anspruchs 1 , 9, 10 bzw. 1 1 gelöst. Ansprüche 14, 15 stellen ein System bzw. Computerprogrammprodukt zur Durchführung eines hier beschriebenen Verfahrens unter Schutz. Die Unteransprüche betreffen vorteilhafte Weiterbildungen.
Nach einer Ausführung der vorliegenden Erfindung weist ein Verfahren zum - Konfigurieren einer Steuerung eines Roboters zum Durchführen einer Applikation mithilfe des Roboters (Roboterapplikation);
- Trainieren wenigstens eines Klassifikations-(KI)Agenten zur Klassifikation einer Roboterapplikation; und/oder
- Durchführen einer bzw. der (Roboter)Applikation mithilfe wenigstens eines bzw. des Roboters
die mehrfach, in einer Ausführung zyklisch, wiederholten Schritte auf:
- Ermitteln eines ein- oder mehrdimensionalen stochastischen Wertes wenigstens eines ein- oder mehrdimensionalen Roboterparameters und/oder wenigstens eines ein- oder mehrdimensionalen Umweltmodelparameters, in einer Ausführung auf Basis eines vorgegebenen stochastischen Parametermodells und/oder mithilfe wenigstens eines Zufallsgenerators; und
- Durchführen einer, in einer Ausführung mehrstufigen, Simulation der Applikation auf Basis des ermittelten stochastischen Wertes.
Dabei kann der stochastische Wert für eine Simulation jeweils vor Durchführen der Simulation ermittelt und dann in dieser verwendet werden. Gleichermaßen können auch mehrere stochastische Werte des Roboter- und/oder des
Umweltmodelparameters vorab ermittelt und dann jeweils einer dieser stochastischen Wert für bzw. in eine(r) der Simulationen verwendet werden.
Nach einer Ausführung der vorliegenden Erfindung weist das Verfahren den Schritt auf:
- Trainieren
- wenigstens eines Steuerungs-(KI-)Agenten und/oder
- wenigstens eines Klassifikations-(KI)Agenten
mithilfe der Simulationen mittels maschinellen Lernens, in einer Ausführung
- Trainieren eines ersten Steuerungs-(KI-)Agenten und/oder eines ersten Klassifikations-(KI-)Agenten mithilfe erster Stufen der Simulationen, und
- T rainieren wenigstens eines weiteren Steuerungs-(KI-)Agenten und/oder wenigstens eines weiteren Klassifikations-(KI-)Agenten mithilfe weiterer Stufen der Simulationen.
Nach einer Ausführung der vorliegenden Erfindung weist das Verfahren den Schritt auf: ein- oder mehrfaches Durchführen der (realen) Applikation mithilfe des Roboters.
Dabei können auch mehrere Steuerungs-(KI-)Agenten mithilfe mehrerer
S(imulationss)tufen und nur ein Klassifikations-(KI-)Agent mithilfe der Simulationen bzw. mehrere Klassifikations-(KI-)Agenten mithilfe mehrerer S(imulationss)tufen und nur ein Steuerungs-(KI-)Agent mithilfe der Simulationen trainiert werden.
In einer Ausführung werden somit der Roboter- bzw. Umweltmodelparameter(wert) randomisiert bzw. die Simulationen mit randomisierten Roboter- bzw.
Umweltmodelparameter(werte)n durchgeführt und der bzw. die Agenten mithilfe dieser Simulationen trainiert bzw. maschinell gelernt.
Hierdurch kann in einer Ausführung das maschinelle Lernen verbessert, in einer Ausführung robuster und/oder schneller, werden. Zusätzlich oder alternativ kann hierdurch in einer Ausführung ein solcherart bzw. auf Basis randomisierter
Roboter- bzw. Umweltmodelparameter(werte) trainierter Agent das Durchführen der (realen) Applikation mithilfe des Roboters, insbesondere das Steuern des Roboters und/oder Klassifizieren der Applikation, verbessern, insbesondere dabei robust(er) und/oder flexib(e)l(er) agieren.
Wenn vorliegend von einem Agenten gesprochen wird, umfasst dies jeweils insbesondere einen K(ünstliche)l(ntelligenz)-Agenten, insbesondere einen
Steuerungs-(KI-)Agenten oder einen Klassifikations-(KI-)Agenten.
Ein Ermitteln eines stochastischen Wertes umfasst in einer Ausführung ein, insbesondere numerisches und/oder physikalisches, Generieren des Wertes, kann insbesondere ein Generieren des Wertes sein.
Die stochastischen Werte, auf deren Basis die Simulationen durchgeführt werden, sind, insbesondere werden, in einer Ausführung mithilfe wenigstens eines
Zufallsgenerators, insbesondere Pseudozufallszahlengenerators, ermittelt, insbesondere generiert, und/oder sind stochastisch bzw. zufällig verteilte Werte, in einer Ausführung Zufallszahlen, insbesondere Pseudozufallszahlen, die in einer Ausführung durch das vorgegebene stochastische Parametermodell bestimmt sind bzw. diesem genügen. Das stochastische Parametermodell weist in einer Ausführung einen oder mehrere stochastische Kenngrößen, insbesondere Minimal-, Maximal-, Erwartungs- und/oder Mittelwert(e), Varianz(en), Standardabweichung(en), Streu(ungs)maß(e) oder dergleichen, und/oder eine Wahrscheinlichkeitsverteilung, beispielsweise eine
Gauß- bzw. Normalverteilung, eine gleichförmige Verteilung oder dergleichen, auf.
Beispielsweise kann ein Benutzer und/oder eine Anwendereingabeunterstützung bzw. ein Software-Assistenten in einer Ausführung für einen Roboter- bzw.
Umweltmodelparameter einen Minimal- und Maximalwert sowie eine gleichförmige Verteilung und dadurch ein stochastisches Parametermodell vorgeben, wobei dann mithilfe eines (Pseudo)Zufallszahlengenerators entsprechende stochastisch( verteilte Werte generiert und auf diese Weise auf Basis dieses vorgegebenen stochastischen Parametermodells und mithilfe dieses (Pseudo)Zufallszahlengenerators ermittelt werden. Gleichermaßen kann der Benutzer und/oder die
Anwendereingabeunterstützung zum Beispiel eine bestimmte Gauß-Verteilung und dadurch ein anderes stochastisches Parametermodell vorgeben, wobei dann mithilfe eines (Pseudo)Zufallszahlengenerators wieder entsprechende stochastisch( verteilte Werte generiert und auf diese Weise auf Basis dieses anderen vorgegebenen stochastischen Parametermodells und mithilfe dieses
(Pseudo)Zufallszahlengenerators ermittelt werden.
Somit sind bzw. werden in einer Ausführung die ermittelten stochastischen Werte durch das vorgegebene stochastische Parametermodell (mit)bestimmt, beispielsweise durch Minimal- und/oder Maximalwert(e) begrenzt, durch Varianz(en) entsprechend um einen Erwartungs- bzw. Mittelwert gestreut oder dergleichen.
Unter einer Simulation wird insbesondere ein Simulationslauf bzw. eine numerische Simulation der Applikation bzw. ihres zeitlichen Ablaufs verstanden.
Eine mehrstufige Simulation umfasst in einer Ausführung zwei oder mehr
aufeinanderfolgende, in einer Ausführung aneinander anschließende, Zeit- und/oder Funktionsabschnitte bzw. -stufen der Applikation, beispielsweise das robotergestützte Fügen eines ersten Zahnrads (erste Stufe) und das anschließende robotergestützte Fügen eines weiteren Zahnrads (weitere Stufe) oder dergleichen. In einer Ausführung wird ein erster Steuerungs-Agent mithilfe erster Stufen bzw.
Abschnitte der Simulationen und wenigstens ein weiterer Steuerungs-Agent mithilfe weiterer Stufen bzw. Abschnitte der Simulationen und/oder ein erster
Klassifikations-Agent mithilfe derselben oder anderer erster Stufen bzw. Abschnitte der Simulationen und wenigstens ein weiterer Klassifikations-Agenten mithilfe weiterer Stufen bzw. Abschnitte der Simulationen trainiert, im obigen Beispiel ein erster (Steuerungs- bzw. Klassifikations-) Agent für das Fügen des ersten Zahnrads mithilfe der ersten Simulationsstufen bzw. Simulationen des Fügens des ersten Zahnrads und ein weiterer (Steuerungs- bzw. Klassifikations-)Agent für das Fügen des weiteren Zahnrads mithilfe der weiteren Simulationsstufen bzw. Simulationen des Fügens des weiteren Zahnrads.
In einer Ausführung wird ein Anfangszustand für eine spätere Simulationsstufe auf Basis eines Endzustands bzw. Ergebnisses einer vorhergehenden Simulationsstufe ermittelt bzw. vorgegeben, wobei in einer Ausführung dieser Anfangszustand zusätzlich, insbesondere auf Basis einer Benutzerein- bzw. -vorgabe, noch variiert, insbesondere randomisiert, werden bzw. sein kann. Im obigen Beispiel kann beispielsweise eine Pose des ersten Zahnrads nach seinem simulierten Fügen als Startwert bei der weiteren Simulationsstufe verwendet und gegebenenfalls durch einen Benutzer noch verändert und/oder randomisiert werden.
Hierdurch kann in einer Ausführung eine mehrstufige Applikation besonders vorteilhaft durchgeführt werden.
Nach einer Ausführung der vorliegenden Erfindung weist das Verfahren den Schritt auf:
- Konfigurieren einer Steuerung des Roboters zum Durchführen der Applikation, insbesondere einer Steuerung des Roboters, mit der die Applikation durchgeführt wird, auf Basis des bzw. eines oder mehrerer der trainierten Steuerungs-Agenten.
Somit werden nach einem Aspekt der vorliegenden Erfindung die Simulationen mit stochastischen bzw. randomisierten Werten genutzt, um eine Steuerung des Roboters zum Durchführen der (realen) Applikation mithilfe des Roboters maschinell zu lernen bzw. einen oder mehrere Agenten hierzu zu trainieren. Hierdurch kann in einer Ausführung das Durchführen der (realen) Applikation mithilfe des Roboters verbessert, insbesondere die Applikation robust(er) und/oder flexib(e)l(er) durchgeführt werden.
In einer Ausführung wird eine Steuerung des Roboters, mit der nur ein Teil der Applikation durchgeführt wird bzw. werden soll, auf Basis des, insbesondere der, trainierten Steuerungs-Agenten, konfiguriert.
Insbesondere kann die Applikation einen oder mehrere Abschnitte aufweisen, die mit einer (anderen) Steuerung des Roboters durchgeführt werden (sollen), welche nicht auf Basis des bzw. der trainierten Steuerungs-Agenten, konfiguriert wird bzw. ist, sowie einen oder mehrere Abschnitte, die mit einer Steuerung des Roboters durchgeführt werden (sollen), welche auf Basis des bzw. der trainierten
Steuerungs-Agenten, konfiguriert wird bzw. ist. Eine Steuerung im Sinne der vorliegenden Erfindung kann insbesondere eine Steuereinrichtung und/oder ein Computerprogramm, insbesondere (Computer)Programmmodul bzw. -teil aufweisen, insbesondere sein.
Insbesondere kann es zweckmäßig sein, für Transferabschnitte, in denen der Roboter eine Last frei bewegt, eine (andere) Steuerung mittels geometrischer oder
Dynamik-Bahnplanung, Teachen oder dergleichen zu konfigurieren, und für Kontakt-, insbesondere Greif- und/oder Fügeabschnitte, in denen ein Umgebungskontakt des Roboters erfolgt bzw. vorliegt, dieser insbesondere eine Last greift bzw. fügt, eine Steuerung auf Basis des bzw. der trainierten Agenten zu konfigurieren.
Zusätzlich oder alternativ zu diesem Aspekt weist das Verfahren nach einer
Ausführung der vorliegenden Erfindung den Schritt auf:
- Klassifikation der Applikation mithilfe des bzw. eines oder mehrerer der trainierten Klassifikations-Agenten.
Somit werden nach einem Aspekt der vorliegenden Erfindung die Simulationen mit stochastischen bzw. randomisierten Werten genutzt, um eine Klassifikation der (realen) Applikation maschinell zu lernen bzw. einen oder mehrere
Klassifikations-Agenten hierzu zu trainieren. Hierdurch kann in einer Ausführung das Durchführen der (realen) Applikation mithilfe des Roboters verbessert, insbesondere die Applikation robust(er) und/oder
flexib(e)l(er) überwacht werden.
In einer Ausführung weist/weisen der bzw. einer oder mehrere der
Klassifikations-Agent(en jeweils) eine maschinell gelernte Anomalieerkennung auf. Zusätzlich oder alternativ weist/weisen in einer Ausführung der bzw. einer oder mehrere der Klassifikations-Agent(en jeweils) eine maschinell gelernte
Fehlererkennung auf.
Eine Anomalieerkennung umfasst in einer Ausführung eine Klassifikation der durchgeführten Applikation(en) in normal(e) und anormale Applikationen). In einer Ausführung ist bzw. wird die Anomalieerkennung, insbesondere nur, auf Basis von als normal gelabelten simulierten Applikationen maschinell gelernt und/oder klassifiziert die Anomalieerkennung eine Applikation als anormal, wenn sie (zu stark) von den als normal gelabelten simulierten Applikationen abweicht.
Blockiert dann beispielsweise ein in den Simulationen nicht berücksichtigtes Hindernis das Durchführen der realen Applikation mithilfe des Roboters, weichen insbesondere Kraft- und/oder Posendaten des Roboters von den Verläufen bei als normal
gelabelten simulierten Applikationen stark ab und der Agent klassifiziert diese reale Applikation entsprechend als anormal.
Eine Fehlererkennung umfasst in einer Ausführung eine Klassifikation der
durchgeführten Applikation(en) in fehlerfrei(e) und fehlerhafte Applikationen), in einer Ausführung in unterschiedliche Fehlerklassen. Sie ist bzw. wird in einer Ausführung auf Basis von als fehlerfrei gelabelten simulierten Applikationen und als fehlerhaft bzw. einer entsprechenden Fehlerklasse zugehörig gelabelten simulierten Applikationen maschinell gelernt und/oder klassifiziert eine Applikation in eine (entsprechende) Fehlerklasse, wenn sie den entsprechend gelabelten simulierten Applikationen ausreichend, insbesondere am stärksten, ähnelt.
Beispielsweise kann in obigem Beispiel ein Fügen des ersten Zahnrads mithilfe des Roboters, insbesondere auf Basis von Kraft- und/oder Posendaten des Roboters, als fehlerfrei, als aufgesteckt, aber nicht ausreichend tief und/oder verklemmt, oder als nicht gefügt klassifiziert werden, wenn die Kraft- bzw. Posendaten den Verläufen entsprechend gelabelter simulierter Applikationen ausreichend stark ähneln und der Agent klassifiziert diese reale Applikation in die entsprechende Fehlerklasse.
Die Erfindung kann mit besonderem Vorteil für solche Klassifikationen von
Roboterapplikationen eingesetzt werden, da diese (nur) anhand mit dem Roboter durchgeführter (realer) Applikationen nur schwer maschinell lernbar sind.
In einer Ausführung weist/weisen der bzw. einer oder mehrere der
Steuerungs-Agent(en) und/oder der bzw. einer oder mehrere der
Klassifikations-Agent(en jeweils) wenigstens ein künstliches neuronales Netz auf, in einer Ausführung wird die Steuerung des Roboters auf Basis der Struktur und/oder Gewichtungen des trainierten Netzes konfiguriert.
Hierdurch kann in einer Ausführung eine besonders vorteilhafte Steuerung realisiert und/oder diese besonders vorteilhaft konfiguriert werden.
In einer Ausführung wird der bzw. einer oder mehrere der Steuerungs-Agent(en) und/oder der bzw. einer oder mehrere der Klassifikations-Agent(en jeweils) mithilfe von Reinforcement Learning, insbesondere Deep Reinforcement Learning, trainiert.
Dies eignet sich besonders für das Konfigurieren einer Steuerung des Roboters sowie das Klassifizieren, insbesondere eine Anomalie- und/oder Fehlererkennung, der Applikation.
In einer Ausführung wird der bzw. einer oder mehrere der Steuerungs-Agent(en) und/oder der bzw. einer oder mehrere der Klassifikations-Agent(en jeweils), insbesondere zusätzlich, mithilfe des Roboters trainiert, in einer Ausführung auf Basis einer oder mehrerer mithilfe des Roboters durchgeführten (realen) Applikationen.
Dadurch kann in einer Ausführung der entsprechende Agent beim Durchführen der realen Applikation mithilfe des Roboters besonders vorteilhaft eingesetzt und/oder das maschinelle Lernen (weiter) verbessert werden. In einer Ausführung wird/werden der bzw. einer oder mehrere der
Steuerungs-Agent(en) und/oder der bzw. einer oder mehrere der
Klassifikations-Agent(en jeweils), auf Basis wenigstens einer beim Durchführen der Applikation nicht gemessenen, in einer Ausführung nicht messbaren, Zustandsgröße trainiert.
Dem liegt insbesondere die Erkenntnis bzw. Idee zugrunde, dass bei den
Simulationen auch Zustandsgrößen berechenbar sind, insbesondere berechnet werden, die beim Durchführen der Applikation nicht gemessen werden,
gegebenenfalls - mit der vorhandenen Umgebung bzw. Konfiguration, insbesondere messtechnischen Ausrüstung, - nicht messbar sind, und dass solche Zustandsgrößen, die insbesondere bei Simulationen zum (Zwecke des) Konfigurieren(s) der Steuerung ohnehin anfallen bzw. berechenbar sind, insbesondere berechnet werden, besonders vorteilhaft (auch) zum Trainieren bzw. maschinellen Lernen genutzt werden können.
So kann es in obigem Beispiel sein, dass der Abstand des (ersten oder weiteren) Zahnrads zu einem Anschlag nicht gemessen werden kann, beispielsweise, weil kein entsprechender Sensor vorhanden oder der Raum zwischen Zahnrad und Anschlag nicht zugänglich ist. Bei einer Simulation des Fügens kann dieser Abstand jedoch berechnet werden und dann als Zustandsgröße zum Training, insbesondere in einem Gütekriterium, genutzt werden.
In einer Ausführung wird ein beim Trainieren des bzw. eines oder mehrere der
Steuerungs-Agenten und/oder Klassifikations-Agenten verwendetes Gütekriterium, insbesondere eine Güte- bzw. Kostenfunktion, auf Basis wenigstens einer beim
Durchführen der Applikation nicht gemessenen, in einer Ausführung mit der
vorhandenen Konfiguration bzw. Umgebung nicht messbaren, Zustandsgröße ermittelt bzw. hängt von dieser ab.
Hierdurch kann in einer Ausführung das maschinelle Lernen verbessert, in einer Ausführung robuster und/oder schneller, werden.
Zusätzlich oder alternativ zu der Idee, Zustandsgrößen zum Trainieren des bzw. eines oder mehrerer der Agenten zu verwendet, die beim Durchführen der Applikation nicht gemessen werden, aber bei den Simulationen berechnet werden, liegt einer Ausführung der vorliegenden Erfindung die Erkenntnis bzw. Idee zugrunde,
Simulationen, die (ohnehin) zum Trainieren wenigstens eines Steuerungs-Agenten durchgeführt bzw. genutzt werden, auf Basis dessen die Steuerung des Roboters konfiguriert wird, mit der die (reale) Applikation durchgeführt wird bzw. werden soll, zusätzlich auch dazu zu verwendet bzw. nutzen, einen oder mehrere
Klassifikations-Agenten zu trainieren, mit dessen bzw. deren Hilfe die (reale)
Applikation, die mithilfe des Roboters durchgeführt wird, klassifiziert wird bzw. werden soll.
Entsprechend umfasst das Verfahren nach einer Ausführung der vorliegenden
Erfindung sowohl den Schritt:
- Konfigurieren einer Steuerung des Roboters zum Durchführen der Applikation, insbesondere einer Steuerung des Roboters, mit der die Applikation ganz oder teilweise durchgeführt wird, auf Basis des bzw. eines oder mehrerer der trainierten Steuerungs-Agenten;
als auch den Schritt:
- Trainieren des bzw. eines oder mehrerer der Klassifikations-Agenten,
insbesondere Klassifikation der Applikation mithilfe des bzw. eines oder mehrerer der trainierten Klassifikations-Agenten,
wobei in einer Ausführung Steuerungs- und Klassifikations-Agent(en) mithilfe derselben Simulationen trainiert werden bzw. (worden) sind, wobei in einer
Weiterbildung der bzw. einer oder mehrere der Klassifikations-Agent(en) mithilfe bereits erfolgter Simulationen, mit deren Hilfe der bzw. einer oder mehrere der Steuerungs-Agent(en) zuvor trainiert worden sind, und/oder synchron mithilfe aktueller Simulationen trainiert werden, mit deren Hilfe der bzw. einer oder mehrere der Steuerungs-Agent(en) gerade trainiert werden.
Mit anderen Worten nutzt die Erfindung in einer Ausführung Simulationen, auf deren Basis, insbesondere mittels Reinforcement Learning, die Steuerung konfiguriert bzw. mit deren Hilfe der bzw. einer oder mehrerer der Steuerungs-Agent(en) trainiert wird bzw. werden, in einer Ausführung worden ist bzw. sind, auch zum Trainieren wenigstens einer maschinell gelernten Klassifikation bzw. des bzw. eines oder mehrerer der Klassifikations-Agenten verwendet. In einer Ausführung werden hierzu Daten, insbesondere Zustandsgrößen, in einer Ausführung (zeitliche) Zustandsgrößenverläufe, insbesondere Trajektorien, der Applikation, in einer Ausführung des Roboters, die in Simulationen berechnet werden bzw. worden sind, in einer Ausführung Simulationen, mithilfe derer der bzw. einer oder mehrere der Steuerungs-Agent(en) trainiert werden bzw. worden sind, abgespeichert und der bzw. einer oder mehrere der Klassifikations-Agent(en) mithilfe dieser abgespeicherten Daten trainiert, in einer Ausführung im Anschluss an diese
Simulationen und/oder während dieser Simulationen.
In einer Ausführung umfassen diese Daten Posen einer oder mehrerer roboterfester Referenzen, insbesondere eines Endeffektors, TCPs, robotergeführten Werkzeugs oder -Stücks oder dergleichen, Gelenk- bzw. Achssteilungen des Roboters, interne und/oder externe Kräfte am Roboter, insbesondere Gelenk- und/oder Antriebskräfte, Reibungskräfte, Kontaktkräfte oder dergleichen, Stromgrößen, insbesondere
Spannungen und/oder Ströme in Antrieben des Roboters, Schleppfehler des Roboters und/oder zeitliche Ableitungen solcher Posen, Stellungen, Kräfte, Stromgrößen bzw. Schleppfehler, insbesondere also Geschwindigkeiten und/oder Beschleunigungen einer oder mehrerer roboterfester Referenzen, Achsen bzw. Gelenken, Antrieben, zeitliche Änderungen solcher Kräfte, Stromgrößen oder Schleppfehler oder
dergleichen. Dabei können Schleppfehler insbesondere Kraft-, Positions- und/oder Geschwindigkeitsfehler umfassen.
In einer Ausführung werden aus den, in einer Ausführung bereits erfolgten,
Simulationen, in einer Ausführung Simulationen, mithilfe derer der bzw. einer oder mehrere der Steuerungs-Agent(en) trainiert werden bzw. worden sind, insbesondere anhand der abgespeicherten Daten, diejenigen Simulationen bzw. Daten ausgewählt, bei denen ein Gütekriterium erfüllt ist, und zum Trainieren der Anomalieerkennung verwendet, bzw. diejenigen Simulationen bzw. Daten auf Basis eines Gütekriteriums in unterschiedliche Fehlerklassen sortiert und zum Trainieren der Fehlererkennung verwendet.
Bezeichnet beispielsweise trajj die Daten einer Simulation i, traj = {traj_i} die Menge aller bei den Simulation abgespeicherten Daten, werden aus dieser in einer
Ausführung zum maschinellen Lernen der Anomalieerkennung die Daten
{traj_success} derjenigen Simulationen, in denen (sich) ein erfolgreicher Verlauf der Applikation simuliert wurde bzw. ergab, bzw. die Daten {traj_failure_k1}, {traj_failure_ k2},... derjenigen Simulationen, in denen (sich) ein Fehler k1 , k2,... simuliert wurde bzw. ergab, ausgewählt und dann die Anomalieerkennung mithilfe {traj_success} bzw. die Fehlererkennung mithilfe {{traj_success}, {traj_failure_k1 }, {traj_failure_ k2}, ...} maschinell gelernt.
Dadurch kann in einer Ausführung jeweils die maschinell gelernte Klassifikation verbessert, insbesondere schneller gelernt werden und/oder präziser, robuster und/oder zuverlässiger klassifizieren.
In einer Ausführung klassifiziert der bzw. einer oder mehrere der Agent(en),
insbesondere die Anomalieerkennung und/oder die Fehlererkennung, die Applikation auf Basis wenigstens eines, in einer Ausführung wandernden, insbesondere
mitwandernden, Zeitausschnitts. In einer Ausführung wird zusätzlich oder alternativ zu einer Auswertung der kompletten Applikation eine kontinuierliche und/oder serielle Auswertung durchgeführt und der Agent klassifiziert die Applikation auf Basis dieser kontinuierlichen bzw. seriellen Auswertung. Besonders geeignet hierfür sind etwa Recurrent Networks, Markov Modelle oder Autoregressive Networks.
Hierdurch kann in einer Ausführung das maschinelle Lernen verbessert, in einer Ausführung effizienter und/oder schneller, werden.
In einer Ausführung klassifiziert der bzw. einer oder mehrere der Agent(en),
insbesondere die Anomalieerkennung und/oder die Fehlererkennung, die Applikation während des Durchführens der Applikation.
Dies ermöglicht in einer Ausführung eine Reaktion auf das Ergebnis der Klassifikation. Entsprechend wird in einer Ausführung die gerade bzw. aktuell durchgeführte
Applikation auf Basis der Klassifikation gegebenenfalls verändert, in einer Ausführung bei einer erkannten Anomalie und/oder einem erkannten Fehler ein entsprechendes Signal ausgegeben und/oder eine Bewegung des Roboters modifiziert und/oder ein bei der Applikation gehandhabtes, insbesondere transportiertes und/oder bearbeitetes, Werkstück aussortiert oder nachbearbeitet. In einer Ausführung klassifiziert der bzw. einer oder mehrere der Agent(en), insbesondere die Anomalieerkennung und/oder die Fehlererkennung, die Applikation nach dem Durchführen der Applikation.
Hierdurch kann in einer Ausführung die Applikation genauer klassifiziert werden.
In einer Ausführung weist der Roboterparameter eine ein- oder mehrdimensionale Startpose, eine oder mehrere ein- oder mehrdimensionale Zwischenposen und/oder eine ein- oder mehrdimensionale Zielpose der Applikation, insbesondere des
Roboters, auf. Entsprechend werden in einer Ausführung die Simulationen der Applikation auf Basis stochastisch( verteilt- bzw. generierter Start-,
Zwischen- und/oder Zielposen durchgeführt. Dadurch können in einer Ausführung Ungenauigkeiten infolge vorangegangener Prozesse, Abweichungen beim Abfahren oder dergleichen berücksichtigt und dadurch das maschinelle Lernen bzw. der bzw. die trainierte(n) Agent(en) verbessert, insbesondere robust(er) und/oder flexib(e)l(er), werden.
In einer Ausführung wird, insbesondere vor Durchführen der Simulation, geprüft, ob (der stochastische Wert für) die Startpose, Zwischenpose(n) und/oder Zielpose mit dem Roboter erreichbar ist, insbesondere auf Basis eines kinematischen Modells des Roboters. Falls die Pose bzw. der entsprechende stochastische Wert des
Roboterparameters nicht erreichbar ist, wird in einer Ausführung der Wert neu bzw. solange ermittelt, bis (festgestellt wird, dass) die Pose bzw. der Wert mit dem Roboter erreichbar ist, und dann dieser Wert als ermittelter Wert bei der Durchführen der Simulation der Applikation verwendet. Hierdurch kann in einer Ausführung das maschinelle Lernen verbessert, in einer Ausführung effizienter und/oder schneller, werden.
Eine Pose im Sinne der vorliegenden Erfindung kann insbesondere ein ein-, zwei- oder dreidimensionale Position und/oder ein-, zwei- oder dreidimensionale Orientierung aufweisen, insbesondere sein.
Zusätzlich oder alternativ weist der Roboterparameter in einer Ausführung einen ein- oder mehrdimensionale Kraftparameter einer roboterinternen Kraft auf, insbesondere wenigstens eine Achs- und/oder wenigstens eine Endeffektorsteifigkeit und/oder -dämpfung. Dadurch können in einer Ausführung Verschleiß oder
Toleranzen zwischen modellgleichen Robotern oder dergleichen berücksichtigt und dadurch das maschinelle Lernen bzw. der bzw. die trainierte(n) Agent(en) verbessert, insbesondere robust(er) und/oder flexib(e)l(er), werden.
Zusätzlich oder alternativ weist der Roboterparameter in einer Ausführung einen ein- oder mehrdimensionale Kraftparameter einer am Roboter wenigstens, in einer Ausführung nur, temporär wirkenden externen Kraft auf, insbesondere eine
(stochastische) Störung bzw. Störkraft, insbesondere eine externe Kraft infolge eines Umgebungskontakts oder dergleichen. Dadurch können in einer Ausführung reale Prozessbedingungen bzw. zufällige Störungen berücksichtigt und dadurch das maschinelle Lernen bzw. der bzw. die trainierte(n) Agent(en) verbessert,
insbesondere robust(er) und/oder flexib(e)l(er), werden.
Eine Kraft im Sinne der vorliegenden Erfindung kann insbesondere ein antiparalleles Kräftepaar bzw. Drehmoment aufweisen, insbesondere sein. Ein Kraftparameter kann insbesondere eine Kraft, aber auch eine Steifigkeit, einen Dämpfungs- und/oder einen Reibungskoeffizienten oder dergleichen umfassen.
Zusätzlich oder alternativ weist der Roboterparameter in einer Ausführung einen ein- oder mehrdimensionalen kinematischen, in einer Ausführung dynamischen, Roboterstrukturparameter auf, insbesondere eine ein- oder mehrdimensionale Abmessung und/oder ein Gewicht und/oder ein ein- oder mehrdimensionales
Trägheitsmoment des Roboters bzw. einzelner Strukturglieder oder
Strukturgliedergruppen, oder dergleichen. Dadurch können in einer Ausführung Toleranzen zwischen modellgleichen Robotern oder dergleichen berücksichtigt und dadurch das maschinelle Lernen bzw. der bzw. die trainierte(n) Agent(en) verbessert, insbesondere robust(er) und/oder flexib(e)l(er), werden.
Zusätzlich oder alternativ weist der Umweltmodelparameter in einer Ausführung einen ein- oder mehrdimensionalen kinematischen, in einer Ausführung dynamischen, Umgebungs-, in einer Ausführung Laststrukturparameter auf, insbesondere eine ein- oder mehrdimensionale Pose und/oder Abmessung und/oder ein Gewicht und/oder Trägheitsmoment einer Umgebungs-, insbesondere Laststruktur,
insbesondere eines bei der Applikation verwendeten Werkzeugs und/oder Werkstücks oder dergleichen. Dadurch können in einer Ausführung Toleranzen zwischen modellgleichen Werkzeugen bzw. Werkstücken, Ungenauigkeiten infolge
vorangegangener Prozesse oder dergleichen berücksichtigt und dadurch das maschinelle Lernen bzw. der bzw. die trainierte(n) Agent(en) verbessert,
insbesondere robust(er) und/oder flexib(e)l(er), werden.
Zusätzlich oder alternativ wird in einer Ausführung der Roboterparameter und/oder der Umweltmodelparameter mithilfe einer robotergestützten Parameteridentifikation ermittelt, beispielsweise Minimal-, Maximal- und/oder Mittelwert(e) des bzw. für das stochastische Parametermodell. Hierdurch kann in einer Ausführung die
Übereinstimmung mit der realen Applikation verbessert und dadurch das maschinelle Lernen bzw. der bzw. die trainierte(n) Agent(en) verbessert, insbesondere robust(er) und/oder flexib(e)l(er), werden.
In einer Ausführung ist, insbesondere wird, das vorgegebene stochastische
Parametermodell auf Basis einer Benutzereingabe und/oder applikationsspezifisch vorgegeben, in einer Ausführung aus einer Mehrzahl zur Verfügung gestellter unterschiedlicher Parametermodelle ausgewählt.
So kann in einer Ausführung ein Benutzer zunächst eine von mehreren
Wahrscheinlichkeitsverteilungen, beispielsweise eine Gauß-Verteilung, eine
gleichförmige Verteilung oder eine andere Wahrscheinlichkeitsverteilung, auswählen und hierfür bzw. hierbei Minimal- und Maximalwerte oder dergleichen vorgeben.
Gleichermaßen kann beispielsweise für bestimmte Fügeapplikationen eine
Wahrscheinlichkeitsverteilung, zum Beispiel eine gleichförmige Verteilung, für bestimmte Greifapplikationen eine andere Wahrscheinlichkeitsverteilung, zum Beispiel eine Gauß-Verteilung, oder dergleichen ausgewählt und hierfür bzw. hierbei jeweils applikationsspezifische Minimal- und Maximalwerte oder dergleichen vorgeben werden bzw. sein. Auch Mischformen sind möglich, insbesondere eine
applikationsspezifische Vorauswahl bzw. Defaultwertbelegung und eine
Eingabemöglichkeit für den Benutzer, um diese zu verändern.
Zusätzlich oder alternativ ist, insbesondere wird, in einer Ausführung der
Roboter- und/oder der Umweltmodelparameter auf Basis einer Benutzereingabe und/oder applikationsspezifisch vorgegeben, in einer Ausführung aus einer Mehrzahl zur Verfügung gestellter unterschiedlicher Parameter ausgewählt.
So kann beispielsweise für ein Einstecken eines robotergeführten Werkstücks in eine Aussparung in einer ebenen Fläche eine zweidimensionale Position innerhalb der Fläche und eine eindimensionale Orientierung bzw. Winkellage um eine
Flächennormale als Zielpose vorgegeben bzw. ausgewählt sein bzw. werden, für ein Bohren mit einem robotergeführten Bohrer in eine ebene Fläche hingegen ein eindimensionaler Abstand zur Fläche längs der Bohrerachse als Ziel- bzw.
Zwischenpose.
In einer Ausführung wird das stochastische Parametermodell und/oder der
Roboter- und/oder der Umweltmodelparameter in einer, insbesondere virtuellen, Abbildung der Applikation durch einen markierten Bereich visualisiert, in einer Ausführung durch entsprechende geometrische Räume, insbesondere Körper wie vorzugsweise Quader, Kugeln, Kegel, Zylinder oder dergleichen, oder, insbesondere ebene oder umgebungsangepasste, Flächen.
So kann im obigen Beispiel der Bereich innerhalb der Fläche, in dem die Zielposition (stochastisch) liegen kann, in einer Abbildung der Applikation beispielsweise durch eine entsprechende Kreisfläche visualisiert sein, die möglichen Orientierungen bzw. Winkellagen um die Flächennormale zum Beispiel durch zwei entsprechend verdrehte Quader oder Werkstück-Avatare in den jeweiligen maximal möglichen Auslenkungen.
In einer Ausführung wird eine Wahrscheinlichkeitsverteilung des stochastischen Parametermodells durch eine unterschiedliche Färbung, in einer Ausführung unterschiedliche (Farb)Helligkeit, des markierten Bereichs visualisiert, wobei die jeweilige Färbung bzw. Helligkeit(sstufe) von der Wahrscheinlichkeit abhängt, dass der Roboter- bzw. Umweltmodellparameter den entsprechenden Wert aufweist.
So kann im obigen Beispiel der Bereich innerhalb der Fläche, in dem die Zielposition (stochastisch) liegen kann, in einer Abbildung der Applikation beispielsweise durch eine entsprechende Kreisfläche visualisiert sein, wobei Bereiche der Kreisfläche, in denen die Zielposition mit höherer Wahrscheinlichkeit liegt, zum Beispiel dunkler gefärbt sind bzw. werden bzw. ein erster Bereich der Kreisfläche, in dem die Zielposition mit einer ersten Wahrscheinlichkeit liegt, zum Beispiel mit einer ersten Farbe und/oder Helligkeit gefärbt ist bzw. wird, und wenigstens ein anderer Bereich der Kreisfläche, in dem die Zielposition mit einer anderen Wahrscheinlichkeit liegt, mit einer anderen Farbe und/oder Helligkeit gefärbt ist bzw. wird.
Dadurch kann in einer Ausführung jeweils, insbesondere in Kombination, ein besonders geeignetes Parametermodell bzw. besonders geeignete Parameter ausgewählt, insbesondere die Geschwindigkeit und/oder Fehlersicherheit der Eingabe verbessert werden. Sowohl bei der Benutzereingabe zur Vorgabe, insbesondere Auswahl, des stochastischen Parametermodells als auch der Benutzereingabe zur Vorgabe, insbesondere Auswahl, des Roboter- und/oder des
Umweltmodelparameters ist eine an anderer Stelle beschriebene
Anwendereingabeunterstützung durch einen Software-Assistenten besonders vorteilhaft.
In einer Ausführung wird die konfigurierte Steuerung des Roboters und/oder die maschinell gelernte Anomalieerkennung und/oder Fehlererkennung mithilfe wenigstens einer weiteren Simulation, insbesondere auf Basis einer automatisierten Vorgabe oder Benutzervorgabe eines Wertes wenigstens eines Roboterparameters und/oder wenigstens eines Umweltmodelparameters, getestet.
So kann beispielsweise der Benutzer die Pose eines Werkstücks für die
Test-Simulation ändern und dann mithilfe der Test-Simulation prüfen, ob bzw. wie gut die konfigurierte Steuerung bzw. Anomalie- bzw. Fehlererkennung (hierfür) funktioniert bzw. performt. Gleichermaßen kann ein Testscript automatisiert weiteren Simulation mit dem bzw. den trainierten Steuerungs-Agenten bzw. trainierten
Anomalie- und/oder Fehlererkennung durchführen und dabei jeweils die Werte wenigstens eines Roboterparameters und/oder wenigstens eines
Umweltmodelparameters variieren.
Zusätzlich oder alternativ wird in einer Ausführung die konfigurierte Steuerung des Roboters und/oder die maschinell gelernte Anomalieerkennung und/oder
Fehlererkennung, insbesondere mittels maschinellem Lernen, insbesondere
Reinforcement Learning, mithilfe des Roboters weiter trainiert, insbesondere auf Basis von mithilfe des Roboters durchgeführten Applikationen. Dadurch kann in einer Ausführung jeweils, insbesondere in Kombination, eine in der Praxis besonders vorteilhafte Steuerung realisiert werden.
In einer Ausführung ist, insbesondere wird, das stochastische Parametermodell mithilfe maschinellen Lernens vorgegeben. Insbesondere kann ein
Parametermodell-(KI)Agent auf Basis von mithilfe des Roboters durchgeführten früheren Applikationen, die mithilfe eines nach einem hier beschriebenen Verfahren trainierten Klassifikations-Agenten klassifiziert worden und/oder bei denen die
Steuerung des Roboters, mit der diese Applikationen durchgeführt wurden, auf Basis eines nach einem hier beschriebenen Verfahren trainierten Steuerungs-Agenten konfiguriert worden sind, anhand der Ergebnisse der durchgeführten früheren
Applikationen und der beim Trainieren dieses Klassifikations- bzw.
Steuerungs-Agenten verwendeten stochastische Parametermodells das stochastische Parametermodell vorgegeben, welches anschließend in einem hier beschriebenen Verfahren zum Durchführen von Simulationen zum Trainieren des wenigstens einen Klassifikations-Agenten, mit dessen Hilfe dann eine neue Applikation klassifiziert wird, und/oder des wenigstens einen Steuerungs-Agenten verwendet wird, mit dessen Hilfe dann eine Steuerung zum Durchführen einer neuen Applikation konfiguriert wird.
Auf diese Weise kann ein besonders vorteilhaftes, insbesondere realitätsnahes, stochastisches Parametermodell verwendet, in einer Ausführung, insbesondere durch die Anwendereingabeunterstützung bzw. den Software-Assistenten, vorausgewählt, werden. Zusätzlich oder alternativ zu den mithilfe des Roboters durchgeführten früheren Applikationen können auch simulierte Applikationen als frühere Applikationen für das maschinelle Lernen zum Vorgeben des stochastischen Parametermodells verwendet werden.
In einer Ausführung weisen einer oder mehrere der Schritte eines der hier
beschriebenen Verfahren, insbesondere die Vorgabe, insbesondere Auswahl, des stochastischen Parametermodells und/oder des Roboter- und/oder des
Umweltmodelparameters, eine Anwendereingabeunterstützung durch einen Software- Assistenten, insbesondere eine Benutzeroberflächenführung, auf, insbesondere also einen sogenannten Wizard. In einer Ausführung ist bzw. wird der Roboter- und/oder der Umweltmodelparameter und/oder das stochastische Parametermodell aus einer Mehrzahl zur Verfügung gestellter unterschiedlicher Parameter bzw. Parametermodelle vorausgewählt, insbesondere applikationsspezifisch und/oder durch die
Anwendereingabeunterstützung bzw. den Software-Assistenten.
Dadurch kann in einer Ausführung jeweils, insbesondere in Kombination, ein besonders geeignetes Parametermodell bzw. besonders geeignete Parameter ausgewählt, insbesondere die Geschwindigkeit und/oder Fehlersicherheit der Eingabe verbessert werden.
Zusätzlich oder alternativ werden einer oder mehrere der Schritte eines der hier beschriebenen Verfahren in einer Cloud durchgeführt.
Dadurch kann dieses Verfahren vorteilhaft parallelisiert und/oder schnell(er) und/oder verteilt durchgeführt werden.
Nach einer Ausführung der vorliegenden Erfindung weist ein Verfahren zum
Konfigurieren einer Steuerung eines Roboters zum Durchführen einer vorgegebenen Aufgabe die Schritte auf:
- Erfassen wenigstens eines ein- oder mehrdimensionalen Roboterparameters und wenigstens eines ein- oder mehrdimensionalen Umweltmodelparameters;
- T rainieren eines (KI-)Agenten mithilfe einer oder mehrerer Simulationen auf Basis dieses erfassten Roboterparameters und dieses erfassten
Umweltmodelparameters mittels maschinellen Lernens auf Basis einer
vorgegebenen Kostenfunktion; und
- Konfigurieren der Steuerung des Roboters auf Basis des trainierten Agenten.
Durch das Trainieren eines Agenten mittels maschinellen Lernens mithilfe einer oder mehrerer Simulationen kann in einer Ausführung eine Steuerung eines Roboters zum Durchführen einer vorgegebenen Aufgabe besonders vorteilhaft konfiguriert werden.
Der Roboter weist in einer Ausführung eine stationäre oder mobile, insbesondere fahrbare, Basis und/oder einen Roboterarm mit wenigstens drei, insbesondere wenigstens sechs, in einer Ausführung wenigstens sieben Gelenken bzw. (Bewegungs)Achsen, in einer Ausführung Drehgelenken bzw. -achsen, auf. Für solche Roboter ist die vorliegende Erfindung aufgrund ihrer Kinematik, Variabilität und/oder Komplexität besonders geeignet.
In einer Ausführung weist die vorgegebene Aufgabe wenigstens eine Bewegung des Roboters, insbesondere wenigstens einen planmäßigen Umgebungskontakt des Roboters, auf, kann also insbesondere ein robotergestütztes Greifen und/oder Fügen aufweisen. Für solche Aufgaben ist die vorliegende Erfindung aufgrund ihrer
Komplexität besonders geeignet.
In einer Ausführung weist der Roboterparameter
- einen ein- oder mehrdimensionalen kinematischen, insbesondere dynamischen, Robotermodellparameter, insbesondere eine oder mehrere Achsabstände,
Massen, Massenschwerpunkte, Trägheiten und/oder Steifigkeiten; und/oder
- einen ein- oder mehrdimensionalen kinematischen, insbesondere dynamischen, Lastmodellparameter, insbesondere eine oder mehrere Abmessungen, Massen, Massenschwerpunkte und/oder Trägheiten; und/oder
- eine aktuelle Roboterpose, insbesondere eine oder mehrere aktuelle Achs- bzw.
Gelenkstellungen; und/oder
- eine aktuelle Roboterbetriebszeit auf.
Zusätzlich oder alternativ weist in einer Ausführung der Umweltmodelparameter einen ein- oder mehrdimensionalen CAD-Modellparameter und/oder eine, insbesondere aktuelle, Roboterpositionierung in dem Umgebungsmodell auf und/oder wird mithilfe wenigstens eines optischen Sensors, insbesondere einer Kamera, ermittelt.
In einer Weiterbildung wird dieser optische Sensor von einer Person geführt, insbesondere gehalten bzw. -tragen, in einer anderen Weiterbildung von einem
Roboter, welcher seinerseits in einer Ausführung hierzu eine programmierte oder automatisch, insbesondere mittels einer Kollisionsvermeidung, ermittelte Bahn abfährt oder hand- bzw. durch manuell auf den Roboter ausgeübte Kräfte geführt wird bzw. ist.
In einer Ausführung weist der Agent ein künstliches neuronales Netz auf. In einer Weiterbildung wird dann die Steuerung des Roboters auf Basis der Struktur und/oder Gewichtungen des trainierten Netzes konfiguriert, diese Struktur und/oder Gewichtungen in einer Ausführung auf die Steuerung des Roboters übertragen. Zusätzlich oder alternativ wird der Agent in einer Ausführung mithilfe von
Reinforcement Learning, vorzugsweise Deep Reinforcement Learning, trainiert.
In einer Ausführung wird die Steuerung des Roboters, nachdem sie in hier beschriebener weise konfiguriert worden ist, mittels maschinellem Lernen, insbesondere Reinforcement Learning, vorzugsweise Deep Reinforcement Learning, mithilfe des realen Roboters weiter trainiert.
In einer Ausführung ist, insbesondere wird, der Roboterparameter und/oder
Umweltmodelparameter wenigstens temporär in einer Verwaltungsschale und/oder in einer Daten-Cloud gespeichert.
Nach einer Ausführung der vorliegenden Erfindung ist, insbesondere wird, bei einem Verfahren zum Durchführen einer vorgegebenen Aufgabe mithilfe wenigstens eines Roboters eine Steuerung des Roboters nach einem hier beschriebenen Verfahren konfiguriert. Entsprechend kann in einer Ausführung ein erfindungsgemäßes
Verfahren ein hier beschriebenes Verfahren zum Konfigurieren einer Steuerung eines Roboters zum Durchführen einer vorgegebenen Aufgabe sowie den Schritt des Durchführens der vorgegebenen Aufgabe mithilfe des Roboters mit der
erfindungsgemäß konfigurierten Steuerung aufweisen.
Nach einer Ausführung der vorliegenden Erfindung ist ein System, insbesondere hard- und/oder Software-, insbesondere programmtechnisch, zur Durchführung eines oder mehrerer hier beschriebenen Verfahrens eingerichtet. Es weist in einer
Ausführung Mittel zum Erfassen wenigstens eines Roboterparameters und wenigstens eines Umweltmodelparameters; Mittel zum Trainieren eines Agenten mithilfe wenigstens einer Simulation auf Basis des erfassten Roboterparameters und Umweltmodelparameters mittels maschinellen Lernens auf Basis einer vorgegebenen Kostenfunktion; und Mittel zum Konfigurieren der Steuerung des Roboters auf Basis des trainierten Agenten auf.
In einer Ausführung weist das System auf:
Mittel zum mehrfach wiederholten Ermitteln eines stochastischen Wertes wenigstens eines Roboterparameters und/oder wenigstens eines Umweltmodelparameters, insbesondere auf Basis eines vorgegebenen stochastischen Parametermodells und/oder mithilfe wenigstens eines Zufallsgenerators; und Durchführen einer, insbesondere mehrstufigen, Simulation der Applikation auf Basis des ermittelten stochastischen Wertes; und
Mittel zum Trainieren wenigstens eines Steuerungs-Agenten und/oder wenigstens eines Klassifikations-Agenten mithilfe der Simulationen mittels maschinellen Lernens, insbesondere Trainieren eines ersten Steuerungs-Agenten und/oder ersten
Klassifikations-Agenten mithilfe erster Stufen der Simulationen, und wenigstens eines weiteren Steuerungs-Agenten und/oder weiteren Klassifikations-Agenten mithilfe weiterer Stufen der Simulationen.
Zusätzlich oder alternativ weist das System in einer Ausführung Mittel zum
Konfigurieren einer Steuerung des Roboters auf Basis des, insbesondere der, trainierten Steuerungs-Agenten zum Durchführen der Applikation auf.
Zusätzlich oder alternativ weist das System in einer Ausführung Mittel zur
Klassifikation der Applikation mithilfe des, insbesondere der trainierten,
Klassifikations-Agenten auf.
Zusätzlich oder alternativ weist das System in einer Ausführung Mittel zum
Durchführen der Applikation mithilfe des Roboters, wobei eine Steuerung des
Roboters, mit der die Applikation ganz oder teilweise durchgeführt wird, auf Basis des, insbesondere der, trainierten Steuerungs-Agenten konfiguriert ist und/oder die
Applikation mithilfe des, insbesondere der, trainierten Klassifikations-Agenten klassifiziert wird, auf.
In einer Ausführung weist das System bzw. sein(e) Mittel auf:
eine maschinell gelernte Anomalieerkennung und/oder maschinell gelernte
Fehlererkennung und/oder wenigstens ein künstliches neuronales Netz; und/oder Mittel zum Trainieren wenigstens eines Steuerungs-Agenten und/oder wenigstens eines Klassifikations-Agenten mithilfe von Reinforcement Learning und/oder mithilfe des Roboters wird; und/oder
Mittel zur Klassifikation der Applikation auf Basis wenigstens eines, insbesondere wandernden, Zeitausschnitts und/oder während oder nach dem Durchführen der Applikation mithilfe des wenigstens einen Klassifikations-Agenten; und/oder Mittel zum Trainieren des wenigstens einen Steuerungs-Agenten und/oder des wenigstens einen Klassifikations-Agenten auf Basis wenigstens einer beim
Durchführen der Applikation nicht gemessenen Zustandsgröße; und/oder
Mittel zum Ermitteln des Roboterparameters und/oder des Umweltmodelparameters mithilfe einer robotergestützten Parameteridentifikation; und/oder
Mittel zum Prüfen, ob die Startpose, Zwischenpose und/oder Zielpose mit dem
Roboter erreichbar ist; und/oder
Mittel zum Vorgeben des stochastischen Parametermodells auf Basis der Applikation und/oder einer Benutzereingabe, insbesondere zum Auswählen aus einer Mehrzahl zur Verfügung gestellter unterschiedlicher Parametermodelle; und/oder
Mittel zum Visualisieren des stochastischen Parametermodells in einer Abbildung der Applikation durch einen markierten Bereich; und/oder
Mittel zum Vorgeben des Roboter- und/oder des Umweltmodelparameters auf Basis der Applikation und/oder einer Benutzereingabe, insbesondere zum Auswählen aus einer Mehrzahl zur Verfügung gestellter unterschiedlicher Parameter; und/oder Mittel zum Visualisieren des Roboter- und/oder des Umweltmodelparameters in einer Abbildung der Applikation durch einen markierten Bereich; und/oder
Mittel zum Testen der konfigurierten Steuerung des Roboters und/oder der maschinell gelernten Anomalieerkennung und/oder Fehlererkennung mithilfe wenigstens einer weiteren Simulation, insbesondere auf Basis einer automatisierten oder
Benutzervorgabe eines Wertes wenigstens eines Roboterparameters und/oder wenigstens eines Umweltmodelparameters; und/oder
Mittel zum weiteren Trainieren der konfigurierten Steuerung des Roboters und/oder der maschinell gelernten Anomalieerkennung und/oder Fehlererkennung mithilfe des Roboters; und/oder
Mittel zum Vorgeben des stochastischen Parametermodells mithilfe maschinellen Lernens; und/oder
Mittel zur Anwendereingabeunterstützung wenigstens eines der Verfahrensschritte durch einen Software-Assistenten, insbesondere eine Benutzeroberflächenführung; und/oder
Mittel zur Durchführung wenigstens eines der Verfahrensschritte in einer Cloud.
Ein Mittel im Sinne der vorliegenden Erfindung kann hard- und/oder softwaretechnisch ausgebildet sein, insbesondere eine, vorzugsweise mit einem Speicher- und/oder Bussystem daten- bzw. signalverbundene, insbesondere digitale, Verarbeitungs-, insbesondere Mikroprozessoreinheit (CPU), Graphikkarte (GPU) oder dergleichen, und/oder ein oder mehrere Programme oder Programmmodule aufweisen. Die
Verarbeitungseinheit kann dazu ausgebildet sein, Befehle, die als ein in einem
Speichersystem abgelegtes Programm implementiert sind, abzuarbeiten,
Eingangssignale von einem Datenbus zu erfassen und/oder Ausgangssignale an einen Datenbus abzugeben. Ein Speichersystem kann ein oder mehrere,
insbesondere verschiedene, Speichermedien, insbesondere optische, magnetische, Festkörper- und/oder andere nicht-flüchtige Medien aufweisen. Das Programm kann derart beschaffen sein, dass es eines oder mehrere der hier beschriebenen Verfahren ganz oder teilweise verkörpert bzw. auszuführen imstande ist, sodass die
Verarbeitungseinheit Schritte solcher Verfahren ausführen kann und damit
insbesondere die Steuerung konfigurieren bzw. die Applikation klassifizieren bzw. durchführen bzw. den Roboter betreiben bzw. steuern kann. Ein
Computerprogrammprodukt kann in einer Ausführung ein, insbesondere nicht flüchtiges, Speichermedium zum Speichern eines Programms bzw. mit einem darauf gespeicherten Programm aufweisen, insbesondere sein, wobei ein Ausführen dieses Programms ein System bzw. eine Steuerung, insbesondere einen Computer, dazu veranlasst, ein hier beschriebenes Verfahren bzw. einen oder mehrere seiner Schritte auszuführen.
In einer Ausführung werden ein oder mehrere, insbesondere alle, Schritte des
Verfahrens vollständig oder teilweise automatisiert durchgeführt, insbesondere durch das System bzw. sein(e) Mittel.
In einer Ausführung weist das System den Roboter auf.
In einer Ausführung wird ein Framework geschaffen, das es ermöglicht, ein Motion bzw. Task Learning mittels Verfahren des Reinforcement Learnings effizient(er) zu realisieren. In einer Ausführung werden einfach und effizient Parameter des Roboters abgefragt und/oder das Umweltmodell erfasst. Insbesondere, um effizient(er) und schnell(er) zu lernen und/oder das reale System nicht zu blockieren, wird dies in einer Ausführung nicht auf dem realen System durchgeführt, sondern in einer Cloud- Simulationsumgebung. Dies kann vorteilhafte eine Parallelisierung des Lernprozesses und dadurch eine vorteilhafte Geschwindigkeitssteigerung und insbesondere hierdurch (durch Randomisierung von Parametern) ein robusteres Modell ermöglichen. Es sei nochmals betont, dass die vorliegende Erfindung insbesondere
- das Konfigurieren einer Steuerung eines Roboters zum Durchführen einer
Applikation mithilfe des Roboters (Roboterapplikation);
- das T rainieren eines oder mehrerer Klassifikations-(KI)Agenten zur Klassifikation einer Roboterapplikation; und
- das Durchführen einer bzw. der (Roboter)Applikation mithilfe wenigstens eines bzw. des Roboters
bzw. hierzu eingerichtete Mittel umfasst, insbesondere also (auch) ein Konfigurieren der Steuerung ohne Durchführen der Applikation, ein Trainieren des bzw. der
Klassifikations-(KI)Agenten ohne Durchführen der Applikation, insbesondere ein Trainieren des bzw. der Klassifikations-(KI)Agenten zusammen mit dem Konfigurieren der Steuerung, aber ohne Durchführen der Applikation, das Durchführen der
Applikation mit bereits konfigurierter Steuerung und/oder trainiertem/-n
Klassifikations-(KI)Agenten, d.h. ohne das Konfigurieren und/oder ohne das
Trainieren des bzw. der Klassifikations-(KI)Agenten, als auch die Kombination von Konfigurieren und/oder Trainieren mit dem Durchführen bzw. (jeweils) hierzu eingerichtete Mittel. Entsprechend umfasst ein Merkmal des Durchführens der Applikation insbesondere auch, dass das Konfigurieren der Steuerung bzw. Trainieren des bzw. der Klassifikations-(KI)Agenten dazu eingerichtet ist bzw. derart
durchgeführt wird, dass dieses Merkmal dann beim Durchführens der Applikation mit der konfigurierten Steuerung bzw. dem bzw. den trainierten
Klassifikations-(KI)Agenten verwirklicht ist.
Weitere Vorteile und Merkmale ergeben sich aus den Unteransprüchen und den Ausführungsbeispielen. Hierzu zeigt, teilweise schematisiert:
Fig. 1 : ein System nach einer Ausführung der vorliegenden Erfindung;
Fig. 2: Teile des Systems;
Fig. 3: ein Verfahren nach einer Ausführung der vorliegenden Erfindung;
Fig. 4: ein Verfahren nach einer weiteren Ausführung der vorliegenden
Erfindung; und Fig. 5: eine Visualisierung eines stochastischen Parametermodells und eines Roboterparameters.
Fig. 1 zeigt ein System nach einer Ausführung der vorliegenden Erfindung mit einem Roboter 1 , einer (Roboter)Steuerung 2, die mit dem Roboter 1 und einer Cloud 4 kommuniziert und einer Datenein-/ausgabe- und -Verarbeitungseinrichtung, insbesondere einem Computer 3.
Auf dessen Benutzeroberfläche läuft ein Wizard, der einen Nutzer durch einen oder mehrere der im Folgenden beschriebenen Prozesse leitet:
In einem ersten Schritt eines Verfahrens nach einer Ausführung der vorliegenden Erfindung (Fig. 3: S10) werden ein Roboterparameter und eine Startkonfiguration erfasst. Um das Motion-Learning in einer Simulationsumgebung vorteilhaft
durchzuführen, sollten sowohl Parameter des Roboters wie auch das Umweltmodell möglichst exakt in der Cloud-Simulationsumgebung verfügbar sein.
Dabei werden mithilfe einer sog. Verwaltungsschale („Asset Administration Shell“; AAS), auch Digitaler Zwilling genannt, Zustands- und Verwaltungsdaten des Roboters 1 gespeichert. Vorteilhaft wird hierfür ein OPC UA Informationsmodell verwendet. In der Verwaltungsschale des Roboters sind Daten wie das Robotermodell,
Betriebsstunden, aktuelle Achswerte (zur Ermittlung einer Startposition), angefügte Tools etc. verfügbar und werden an die Cloud-Simulationsumgebung übertragen. Hieraus kann die Simulationsumgebung die Simulation im Hinblick auf den Roboter konfigurieren (CAD-Modell, Dynamikparameter, Tools, aktuelle Achskonfiguration, evtl geänderte Dynamikparameter durch Lebensdauer etc.)
In einem zweiten Schritt (Fig. 3: S20) wird das Umweltmodell erfasst. Hier stehen in einer Ausführung mehrere Möglichkeiten zur Auswahl:
- Übertragung eines vollständig modellierten CAD Modells inkl. Transformation zum Roboterkoordinatensystem;
- Erfassung der Umwelt durch eine 3D Kamera, die entweder von einem Menschen handgeführt wird oder am Roboter montiert ist, der
- handgeführt wird oder
- eine definierte und kollisionsfreie Trajektorie abfährt Im Falle einer Handführung ist es auch möglich, für die Aufgabe wichtige Bereiche, zum Beispiel ein Fügeziel, genauer und aus wenig Abstand aufzunehmen.
Das somit generierte Umweltmodell wird nun ebenfalls an die Cloud- Simulationsumgebung übertragen. Eine einfache Möglichkeit ist hier, die Daten ebenfalls in der Verwaltungsschale des Roboters abzulegen.
In einer Abwandlung hat die Roboterzelle eine Verwaltungsschale 10 (vgl. Fig. 2), das Umweltmodell und Referenzen auf beteiligte andere Verwaltungsschalen. Somit ist der Roboter selbst austauschbar und das Ganze ist modularer aufgebaut, als wenn alle Informationen in der Verwaltungsschale des Roboters selbst liegen. Der "Cell- Manager" kann dann die Interaktion mit den Subkomponenten, der
Simulationsumgebung 20 (vgl. Fig. 2) und die Ausführung des Lernprozesses regeln.
In einem dritten Schritt (Fig. 3: S30) wird das Lernziel definiert. Dabei wird eine Kostenfunktion vorgegeben, so dass der Reinforcement Algorithmus sein Ziel kennt. Insbesondere ist es möglich, in dem geführten Wizard, z.B. das Ziel dadurch vorzugeben, dass der Nutzer den Roboter zum Fügeziel handführt und dies einige Male wiederholt, um Fehler zu minimieren.
Eine manuelle Demonstration wird in einer Ausführung, je nach Reinforcement- Learning Algorithmus, auch zu einer Initialisierung des Algorithmus oder einem Inverse Reinforcement Learning der Kostenfunktion verwendet. Die Trajektorien der Demonstrationen können ebenfalls in der Verwaltungsschale hinterlegt werden.
In einem vierten Schritt (Fig. 3: S40) wird in der Cloud-Umgebung 4, vorzugsweise parallelisiert, mittels Verfahren des Deep Reinforcement Learnings der Task gelernt.
Der konkrete Algorithmus ist vorteilhafterweise
- Guided Policy Search;
- Soft Q-Learning;
- A3C
oder dergleichen. Um die Simulation-Reality Gap zu überwinden, wird in einer Ausführung eine
Randomisierung der Dynamik- Parameter vorgenommen. Ist ein Vision-System beteiligt, wird in einer Ausführung mittels Domain Randomization ein flexibles Visionmodell erlernt.
Ein geometrischer Pfadplaner kann kontaktfreie Pfadelemente planen und im Falle der Guided Policy Search die Linear Quadratic Gaussian Controllers initialisieren.
Das Ergebnis des Algorithmus sind die Struktur des neuronalen Netzes und die trainierten Gewichte eines neuronalen Netzes. In einer Abwandlung können für ein späteres Finetuning Progressive Nets verwendet werden. Die Ergebnisse der Simulation werden an den Roboter / Edge Controller zurück gesendet.
In einem fünften Schritt (Fig. 3: S50) wird das Modell auf den Roboter oder einen Edge Controller heruntergeladen.
Das trainierte Modell kann nun rückgespielt werden. In der Verwaltungsschale der Simulationsinstanz können auch Parameter der Simulation und des Lernalgorithmus bereitgestellt werden (z.B. Lernrate, Anzahl Iterationen etc., die später beim
Finetuning verwendet werden können). Insbesondere kann für den Austausch des Computation Graphs und der Gewichte beispielsweise das ONNX Austauschformat verwendet werden.
In einem optionalen sechsten Schritt (Fig. 3: S60) wird das Modell auf dem realen System fine-getuned.
Je nach Qualität der Simulation ist das Modell direkt ready-to-use oder wird auf dem realen System weiter fine-getuned. D.h. der Reinforcement Learning Algorithmus wird auf dem realen System weiter trainiert, wobei eine Initialisierung durch die Gewichte und andere Parameter des Reinforcement-Algorithmus vorteilhaft ist.
In einem siebten Schritt (Fig. 3: S70) kann der gelernte Task nun ausgeführt werden.
Fig. 4 zeigt Verfahren nach einer weiteren Ausführung der vorliegenden Erfindung, welches mit dem System der Fig. 1 ausgeführt werden kann. In einem Schritt S100 wird jeweils durch einen in diesem Ausführungsbeispiel vorgesehenen und daher gestrichelt angedeuteten Zufallsgenerator 3a (vgl. Fig. 1 ) ein stochastischer Wert eines Roboterparameters und/oder eines
Umweltmodelparameters, zum Beispiel einer zweidimensionalen Zielposition eines in diesem Ausführungsbeispiel robotergeführten Steckers 1a in einer Fläche 10 (vgl. Fig. 1), auf Basis eines vorgegebenen stochastischen Parametermodells, im
Ausführungsbeispiel einer durch einen Benutzer mithilfe des Wizards vorgegebenen Gauß-Verteilung, ermittelt.
Fig. 5 zeigt hierzu exemplarisch, wie dieser Roboterparameter und dieses
stochastische Parametermodell in einer Abbildung dieser Füge-Applikation durch einen markierten Bereich in Form eines Kreises um den Mittel- bzw. Erwartungswert der Gauß-Verteilung für die zweidimensionale Zielposition in der (Abbildung der) Fläche visualisiert werden. Dabei visualisiert der Rand des Kreises einen Maximalwert einer Abweichung von dem Mittel- bzw. Erwartungswert und die durch
unterschiedliche Schraffuren angedeutete unterschiedliche Färbung, in einer
Ausführung unterschiedliche (Farb)Helligkeit, des markierten Bereichs die jeweilige Wahrscheinlichkeit, dass die Zielposition an dieser Stelle liegt.
In einem Schritt S200 wird eine Simulation der Applikation auf Basis des ermittelten stochastischen Wertes, d.h. mit einer stochastischen Zielposition, auf dem Computer 3 oder in der Cloud 4 durchgeführt.
Dabei wird ein Steuerungs-Agent mittels Reinforcement Learning trainiert.
In einem Schritt S300 wird geprüft, ob der Steuerungs-Agent bereits ausreichend trainiert ist. Ist dies nicht der Fall (S300:„N“), generiert der Zufallsgenerator 3a eine neue stochastischen Zielposition, mit der eine weitere Simulation durchgeführt wird.
Ist der Steuerungs-Agent ausreichend trainiert (S300:„Y“), wird die Steuerung 2 des Roboters 1 auf Basis des trainierten Steuerungs-Agenten konfiguriert (S400).
Zudem wird ein Klassifikations-Agent mithilfe der durchgeführten Simulationen trainiert, beispielsweise eine Anomalie- oder Fehlererkennung maschinell gelernt (S500), d.h. die beim Trainieren des Steuerungs-Agenten durchgeführten
Simulationen genutzt.
Dann wird die reale Applikation mithilfe des Roboters 1 mit der in Schritt S400 konfigurierten Steuerung durchgeführt (S600) und dabei oder anschließend durch die Anomalie- bzw. Fehlererkennung klassifiziert (S700). Dabei kann die konfigurierte Steuerung weiter trainiert werden.
Obwohl in der vorhergehenden Beschreibung exemplarische Ausführungen erläutert wurden, sei darauf hingewiesen, dass eine Vielzahl von Abwandlungen möglich ist. Außerdem sei darauf hingewiesen, dass es sich bei den exemplarischen
Ausführungen lediglich um Beispiele handelt, die den Schutzbereich, die
Anwendungen und den Aufbau in keiner Weise einschränken sollen. Vielmehr wird dem Fachmann durch die vorausgehende Beschreibung ein Leitfaden für die
Umsetzung von mindestens einer exemplarischen Ausführung gegeben, wobei diverse Änderungen, insbesondere in Hinblick auf die Funktion und Anordnung der beschriebenen Bestandteile, vorgenommen werden können, ohne den Schutzbereich zu verlassen, wie er sich aus den Ansprüchen und diesen äquivalenten
Merkmalskombinationen ergibt.

Claims

Patentansprüche
1. Verfahren zum Durchführen einer Applikation mithilfe wenigstens eines Roboters (1 ), wobei das Verfahren die mehrfach wiederholten Schritte:
- Ermitteln (S100) eines stochastischen Wertes wenigstens eines
Roboterparameters und/oder wenigstens eines Umweltmodelparameters, insbesondere auf Basis eines vorgegebenen stochastischen Parametermodells und/oder mithilfe wenigstens eines Zufallsgenerators (3a); und
- Durchführen (S200) einer, insbesondere mehrstufigen, Simulation der
Applikation auf Basis des ermittelten stochastischen Wertes;
die Schritte:
- Trainieren (S200, S500) wenigstens eines Steuerungs-Agenten und/oder
wenigstens eines Klassifikations-Agenten mithilfe der Simulationen mittels maschinellen Lernens, insbesondere Trainieren eines ersten
Steuerungs-Agenten und/oder ersten Klassifikations-Agenten mithilfe erster Stufen der Simulationen, und wenigstens eines weiteren Steuerungs-Agenten und/oder weiteren Klassifikations-Agenten mithilfe weiterer Stufen der
Simulationen; und
- Durchführen (S600) der Applikation mithilfe des Roboters;
sowie wenigstens einen der Schritte aufweist:
- Konfigurieren (S400) einer Steuerung des Roboters, mit der die Applikation ganz oder teilweise durchgeführt wird, auf Basis des, insbesondere der, trainierten Steuerungs-Agenten; und/oder
- Klassifikation (S700) der Applikation mithilfe des, insbesondere der, trainierten Klassifikations-Agenten.
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass der wenigstens eine Steuerungs-Agent und/oder der wenigstens eine Klassifikations-Agent eine maschinell gelernte Anomalieerkennung und/oder maschinell gelernte
Fehlererkennung und/oder wenigstens ein künstliches neuronales Netz aufweist, insbesondere die Steuerung des Roboters auf Basis der Struktur und/oder Gewichtungen des trainierten Netzes konfiguriert wird, und/oder der wenigstens eine Steuerungs-Agent und/oder der wenigstens eine Klassifikations-Agent mithilfe von Reinforcement Learning und/oder mithilfe des Roboters trainiert wird.
3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der wenigstens eine Klassifikations-Agent die Applikation auf Basis wenigstens eines, insbesondere wandernden, Zeitausschnitts und/oder während oder nach dem Durchführen der Applikation klassifiziert und/oder der wenigstens eine Steuerungs-Agent und/oder der wenigstens eine Klassifikations-Agent auf Basis wenigstens einer beim Durchführen der Applikation nicht gemessenen Zustandsgröße trainiert wird.
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass
- der Roboterparameter eine Startpose, wenigstens eine Zwischenpose
und/oder eine Zielpose der Applikation und/oder einen Kraftparameter einer roboterinternen und/oder einer am Roboter wenigstens temporär wirkenden externen Kraft und/oder einen kinematischen, insbesondere dynamischen, Roboterstrukturparameter aufweist; und/oder
- der Umweltmodelparameter einen kinematischen, insbesondere dynamischen, Umgebungs-, insbesondere Laststrukturparameter aufweist; und/oder
- der Roboterparameter und/oder der Umweltmodelparameter mithilfe einer robotergestützten Parameteridentifikation ermittelt wird.
5. Verfahren nach dem vorhergehenden Anspruch, dadurch gekennzeichnet, dass geprüft wird, ob die Startpose, Zwischenpose und/oder Zielpose mit dem Roboter erreichbar ist.
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das stochastische Parametermodell auf Basis der Applikation und/oder einer Benutzereingabe vorgegeben, insbesondere aus einer Mehrzahl zur Verfügung gestellter unterschiedlicher Parametermodelle ausgewählt, ist und/oder in einer Abbildung der Applikation durch einen markierten Bereich visualisiert wird und/oder der Roboter- und/oder Umweltmodelparameter auf Basis der Applikation und/oder einer Benutzereingabe vorgegeben, insbesondere aus einer Mehrzahl zur Verfügung gestellter unterschiedlicher Parameter ausgewählt, ist und/oder in einer Abbildung der Applikation durch einen markierten Bereich visualisiert wird.
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die konfigurierte Steuerung des Roboters und/oder die maschinell gelernte Anomalieerkennung und/oder Fehlererkennung mithilfe wenigstens einer weiteren Simulation, insbesondere auf Basis einer automatisierten oder Benutzervorgabe eines Wertes wenigstens eines Roboterparameters und/oder wenigstens eines Umweltmodelparameters, getestet und/oder mithilfe des Roboters weiter trainiert wird.
8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das stochastische Parametermodell mithilfe maschinellen Lernens vorgegeben ist.
9. Verfahren zum Konfigurieren einer Steuerung eines Roboters (1) zum Durchführen einer Applikation mithilfe des Roboters, wobei das Verfahren die mehrfach wiederholten Schritte des Ermittelns (S100) eines stochastischen Wertes und Durchführens (S200) einer Simulation und den Schritt des Trainierens (S200) wenigstens eines Steuerungs-Agenten nach einem Verfahren nach Anspruch 1 , insbesondere zusätzlich ein oder mehrere Merkmale eines oder mehrerer der Ansprüche 2 bis 8, sowie den Schritt aufweist: Konfigurieren (S400) der Steuerung des Roboters zum Durchführen der Applikation auf Basis des, insbesondere der, trainierten Steuerungs-Agenten.
10. Verfahren zum Trainieren wenigstens eines Klassifikations-Agenten zur
Klassifikation einer Roboterapplikation, insbesondere zusammen mit einem Konfigurieren einer Steuerung eines Roboters (1) zum Durchführen der
Applikation nach einem Verfahren nach dem vorhergehenden Anspruch, wobei das Verfahren zum Trainieren die mehrfach wiederholten Schritte des Ermittelns (S100) eines stochastischen Wertes und Durchführens (S200) einer Simulation und den Schritt des Trainierens (S500) wenigstens eines Klassifikations-Agenten, insbesondere den Schritt des Trainierens (S200, S500) wenigstens eines
Steuerungs-Agenten und wenigstens eines Klassifikations-Agenten, nach einem Verfahren nach Anspruch 1 , insbesondere zusätzlich ein oder mehrere Merkmale eines oder mehrerer der Ansprüche 2 bis 8, aufweist.
11. Verfahren zum Durchführen einer Applikation mithilfe wenigstens eines Roboters (1), mit dem Schritt: Durchführen (S600) der Applikation mithilfe des Roboters, wobei eine Steuerung des Roboters, mit der die Applikation ganz oder teilweise durchgeführt wird, nach einem Verfahren nach Anspruch 9 konfiguriert ist und/oder die Applikation mithilfe wenigstens eines Klassifikations-Agenten klassifiziert wird, der nach einem Verfahren nach Anspruch 10 trainiert ist.
12. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass wenigstens einer der Verfahrensschritte eine Anwendereingabeunterstützung durch einen Software-Assistenten, insbesondere eine Benutzeroberflächenführung, aufweist.
13. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass wenigstens einer der Verfahrensschritte in einer Cloud (4) durchgeführt wird.
14. System zum Durchführen einer Applikation mithilfe wenigstens eines Roboters (1 ), wobei das System zur Durchführung eines Verfahrens nach einem der
vorhergehenden Ansprüche eingerichtet ist und/oder aufweist:
Mittel zum mehrfach wiederholten Ermitteln eines stochastischen Wertes wenigstens eines Roboterparameters und/oder wenigstens eines
Umweltmodelparameters, insbesondere auf Basis eines vorgegebenen
stochastischen Parametermodells und/oder mithilfe wenigstens eines
Zufallsgenerators (3a), und Durchführen einer, insbesondere mehrstufigen, Simulation der Applikation auf Basis des ermittelten stochastischen Wertes; und Mittel zum Trainieren wenigstens eines Steuerungs-Agenten und/oder wenigstens eines Klassifikations-Agenten mithilfe der Simulationen mittels maschinellen Lernens, insbesondere Trainieren eines ersten Steuerungs-Agenten und/oder ersten Klassifikations-Agenten mithilfe erster Stufen der Simulationen, und wenigstens eines weiteren Steuerungs-Agenten und/oder weiteren
Klassifikations-Agenten mithilfe weiterer Stufen der Simulationen; und/oder aufweist:
Mittel zum Durchführen der Applikation mithilfe des Roboters, wobei eine
Steuerung des Roboters, mit der die Applikation ganz oder teilweise durchgeführt wird, auf Basis des, insbesondere der, trainierten Steuerungs-Agenten konfiguriert ist und/oder die Applikation mithilfe des, insbesondere der, trainierten Klassifikations-Agenten klassifiziert wird; und/oder aufweist:
Mittel zum Konfigurieren einer Steuerung des Roboters auf Basis des,
insbesondere der, trainierten Steuerungs-Agenten zum Durchführen der
Applikation; und/oder aufweist:
Mittel zur Klassifikation der Applikation mithilfe des, insbesondere der, trainierten Klassifikations-Agenten.
15. Verfahren zum Konfigurieren einer Steuerung (2) eines Roboters (1) zum
Durchführen einer vorgegebenen Aufgabe, mit den Schritten:
Erfassen (S10, S20) wenigstens eines Roboterparameters und wenigstens eines Umweltmodelparameters;
Trainieren (S40) eines Agenten mithilfe wenigstens einer Simulation auf Basis des erfassten Roboterparameters und Umweltmodelparameters mittels maschinellen Lernens auf Basis einer vorgegebenen Kostenfunktion; und
Konfigurieren (S50) der Steuerung des Roboters auf Basis des trainierten Agenten.
16. Verfahren nach Anspruch 16, dadurch gekennzeichnet, dass die vorgegebene
Aufgabe wenigstens eine Bewegung des Roboters, insbesondere wenigstens einen planmäßigen Umgebungskontakt des Roboters, aufweist.
17. Verfahren nach einem der Ansprüche 15 und 16, dadurch gekennzeichnet, dass der Roboterparameter einen kinematischen, insbesondere dynamischen,
Roboter- und/oder Lastmodellparameter, eine aktuelle Roboterpose
und/oder -betriebszeit aufweist; und/oder
der Umweltmodelparameter einen CAD-Modellparameter und/oder eine
Roboterpositionierung in dem Umgebungsmodell aufweist; und/oder
mithilfe wenigstens eines optischen Sensors ermittelt wird.
18. Verfahren nach Anspruch 17, dadurch gekennzeichnet, dass der optische Sensor von einer Person oder einem, insbesondere handgeführten, Roboter geführt wird.
19. Verfahren nach einem der Ansprüche 15 bis 18, dadurch gekennzeichnet, dass der Agent ein künstliches neuronales Netz aufweist, insbesondere die Steuerung des Roboters auf Basis der Struktur und/oder Gewichtungen des trainierten Netzes konfiguriert wird, und/oder der Agent mithilfe von Reinforcement Learning trainiert wird.
20. Verfahren nach einem der Ansprüche 15 bis 19, dadurch gekennzeichnet, dass die konfigurierte Steuerung des Roboters mittels maschinellem Lernen,
insbesondere Reinforcement Learning, mithilfe des Roboters weiter trainiert wird (S60).
21. Verfahren nach einem der Ansprüche 15 bis 20, dadurch gekennzeichnet, dass wenigstens einer der Verfahrensschritte eine Anwendereingabeunterstützung durch einen Software-Assistenten, insbesondere eine Benutzeroberflächenführung, aufweist und/oder der Roboterparameter und/oder Umweltmodelparameter in einer Verwaltungsschale und/oder einer Daten-Cloud gespeichert ist.
22. Verfahren zum Durchführen einer vorgegebenen Aufgabe mithilfe wenigstens
eines Roboters, dadurch gekennzeichnet, dass eine Steuerung des Roboters nach einem Verfahren nach einem der Ansprüche 15 bis 21 konfiguriert ist.
23. System, das zur Durchführung eines Verfahrens nach einem der Ansprüche 15 bis
22 eingerichtet ist.
24. Computerprogrammprodukt mit einem Programmcode, der auf einem von einem Computer lesbaren Medium gespeichert ist, zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 13 oder 15 bis 22.
PCT/EP2020/068241 2019-07-01 2020-06-29 Durchführen einer applikation mithilfe wenigstens eines roboters WO2021001312A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP20735370.7A EP3993959A1 (de) 2019-07-01 2020-06-29 Durchführen einer applikation mithilfe wenigstens eines roboters
US17/616,757 US20220339787A1 (en) 2019-07-01 2020-06-29 Carrying out an application using at least one robot
CN202080047210.XA CN114051444B (zh) 2019-07-01 2020-06-29 借助于至少一个机器人执行应用

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE102019209616.6 2019-07-01
DE102019209616.6A DE102019209616A1 (de) 2019-07-01 2019-07-01 Durchführen einer vorgegebenen Aufgabe mithilfe wenigstens eines Roboters
DE102020206924.7 2020-06-03
DE102020206924.7A DE102020206924A1 (de) 2020-06-03 2020-06-03 Durchführen einer Applikation mithilfe wenigstens eines Roboters

Publications (1)

Publication Number Publication Date
WO2021001312A1 true WO2021001312A1 (de) 2021-01-07

Family

ID=71401784

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2020/068241 WO2021001312A1 (de) 2019-07-01 2020-06-29 Durchführen einer applikation mithilfe wenigstens eines roboters

Country Status (4)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021200569A1 (de) 2021-01-22 2022-07-28 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Trainieren eines Gaußprozess-Zustandsraummodells
WO2023057591A1 (de) 2021-10-08 2023-04-13 Dürr Systems Ag Überwachungsverfahren für einen roboter und zugehörige roboteranlage

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110000785B (zh) * 2019-04-11 2021-12-14 上海交通大学 农业场景无标定机器人运动视觉协同伺服控制方法与设备
WO2024128344A1 (ko) * 2022-12-14 2024-06-20 한국전자기술연구원 자산관리쉘 정보 모델을 활용한 장비 연동 및 데이터 시각화 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202017106132U1 (de) * 2016-10-10 2017-11-13 Google Llc Neuronale Netze zum Auswählen von durch einen Roboteragenten auszuführenden Aktionen
CN108052004A (zh) * 2017-12-06 2018-05-18 湖北工业大学 基于深度增强学习的工业机械臂自动控制方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7822749B2 (en) * 2005-11-28 2010-10-26 Commvault Systems, Inc. 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
DE202014011117U1 (de) * 2013-05-31 2018-02-27 Anki, Inc. Mobile Agenten zum Manipulieren, Bewegen und/oder Neuausrichten von Komponenten
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 (de) * 2014-06-03 2021-03-25 ArtiMinds Robotics GmbH Verfahren und System zur Programmierung eines Roboters
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
KR102165126B1 (ko) * 2015-07-24 2020-10-13 딥마인드 테크놀로지스 리미티드 심층 강화 학습을 이용한 지속적인 제어
US10650310B2 (en) * 2015-11-12 2020-05-12 Deepmind Technologies Limited Training neural networks using a prioritized experience memory
EP3480741B1 (de) * 2017-10-27 2024-07-17 DeepMind Technologies Limited Verstärkungs- und imitationslernen für eine aufgabe
US20190138967A1 (en) * 2017-11-03 2019-05-09 Drishti Technologies, Inc. Workspace actor coordination systems and methods
US11340079B1 (en) * 2018-05-21 2022-05-24 AI Incorporated Simultaneous collaboration, localization, and mapping
WO2020062165A1 (zh) * 2018-09-29 2020-04-02 区链通网络有限公司 一种强化学习模型的训练方法、节点、***及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202017106132U1 (de) * 2016-10-10 2017-11-13 Google Llc Neuronale Netze zum Auswählen von durch einen Roboteragenten auszuführenden Aktionen
CN108052004A (zh) * 2017-12-06 2018-05-18 湖北工业大学 基于深度增强学习的工业机械臂自动控制方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
PAUL SOMDYUTI ET AL: "Deterministic Policy Gradient Based Robotic Path Planning with Continuous Action Spaces", 2017 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION WORKSHOPS (ICCVW), IEEE, 22 October 2017 (2017-10-22), pages 725 - 733, XP033303516, DOI: 10.1109/ICCVW.2017.91 *
RYOU GILHYUN ET AL: "Applying Asynchronous Deep Classification Networks and Gaming Reinforcement Learning-Based Motion Planners to Mobile Robots", 2018 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION (ICRA), IEEE, 21 May 2018 (2018-05-21), pages 6268 - 6275, XP033403292, DOI: 10.1109/ICRA.2018.8460798 *
STEVEN BOHEZ ET AL: "Sensor Fusion for Robot Control through Deep Reinforcement Learning", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 13 March 2017 (2017-03-13), XP080756705, DOI: 10.1109/IROS.2017.8206048 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021200569A1 (de) 2021-01-22 2022-07-28 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Trainieren eines Gaußprozess-Zustandsraummodells
WO2023057591A1 (de) 2021-10-08 2023-04-13 Dürr Systems Ag Überwachungsverfahren für einen roboter und zugehörige roboteranlage
DE102021126188A1 (de) 2021-10-08 2023-04-13 Dürr Systems Ag Überwachungsverfahren für einen Roboter und zugehörige Roboteranlage

Also Published As

Publication number Publication date
EP3993959A1 (de) 2022-05-11
CN114051444B (zh) 2024-04-26
US20220339787A1 (en) 2022-10-27
CN114051444A (zh) 2022-02-15

Similar Documents

Publication Publication Date Title
WO2021001312A1 (de) Durchführen einer applikation mithilfe wenigstens eines roboters
DE102014108287B4 (de) Schnelles Erlernen durch Nachahmung von Kraftdrehmoment-Aufgaben durch Roboter
DE112019002310B4 (de) Ausführen einer "peg in hole"-aufgabe mit unbekannter neigung
DE112010000775B4 (de) Industrierobotersystem
DE102014103738B3 (de) Visuelle fehlersuche bei roboteraufgaben
DE102015010124B4 (de) Roboterprogramm-Erzeugungsvorrichtung, die Roboterprogramm zum Reduzieren von Stössen der Gelenke des Roboters erzeugt
DE102019119319B4 (de) Abtastsystem, Arbeitssystem, Verfahren zum Anzeigen von Augmented-Reality-Bildern, Verfahren zum Speichern von Augmented-Reality-Bildern und Programme dafür
DE102019109624B4 (de) Roboterbewegungseinlernvorrichtung, Robotersystem und Robotersteuerung
DE102013202378B4 (de) Prozedurales Gedächtnislernen und Robotersteuerung
DE102019122865B4 (de) Erfassungssystem, Arbeitssystem, Anzeigeverfahren für ein Erweiterte-Realität-Bild und Programm
DE112019001256B3 (de) Steuervorrichtung, Arbeitsroboter, Programm und Steuerverfahren
DE102020110252B4 (de) Vibrationsanzeigeeinrichtung, Betriebsprogrammerstellungseinrichtung und System
DE102019205651B3 (de) Verfahren und System zum Ausführen von Roboterapplikationen
DE102019203821B3 (de) Verfahren und System zum Durchführen einer Roboterapplikation
WO2021028084A1 (de) Automatisierungssystem und verfahren zur handhabung von produkten
DE102019118637A1 (de) Automatische pfadgenerierungsvorrichtung
EP3760390A1 (de) Durchführen einer vorgegebenen aufgabe mithilfe wenigstens eines roboters
DE102017007359B4 (de) Verfahren und System zum Überprüfen und/oder Modifizieren eines Arbeitsprozesses eines Roboters
DE112019007579B4 (de) Numerische-Steuerung-Vorrichtung und Maschinelles-Lernen-Gerät
DE102018112370B4 (de) Richtungsabhängige Kollisionsdetektion für einen Robotermanipulator
EP3731043A1 (de) Verfahren zur sicherheitsbeurteilung, computerprogramm, maschinenlesbares speichermedium und sicherheitsbeurteilungseinrichtung
DE102020206924A1 (de) Durchführen einer Applikation mithilfe wenigstens eines Roboters
WO2017080649A2 (de) Sensitive roboter durch sensorik vor der ersten roboterachse
DE102020103852B4 (de) Erzeugen und Optimieren eines Steuerprogramms für einen Robotermanipulator
EP3425459B1 (de) Automatisches konfigurieren eines automatisierungssystems

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20735370

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020735370

Country of ref document: EP

Effective date: 20220201