CN114051444A - 借助于至少一个机器人执行应用 - Google Patents
借助于至少一个机器人执行应用 Download PDFInfo
- Publication number
- CN114051444A CN114051444A CN202080047210.XA CN202080047210A CN114051444A CN 114051444 A CN114051444 A CN 114051444A CN 202080047210 A CN202080047210 A CN 202080047210A CN 114051444 A CN114051444 A CN 114051444A
- Authority
- CN
- China
- Prior art keywords
- robot
- application
- agent
- simulation
- trained
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004088 simulation Methods 0.000 claims abstract description 104
- 238000000034 method Methods 0.000 claims abstract description 87
- 238000012549 training Methods 0.000 claims abstract description 51
- 238000010801 machine learning Methods 0.000 claims abstract description 41
- 230000007613 environmental effect Effects 0.000 claims abstract description 22
- 230000002787 reinforcement Effects 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 9
- 238000013528 artificial neural network Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 230000003287 optical effect Effects 0.000 claims description 5
- 230000009182 swimming Effects 0.000 claims description 2
- 239000003795 chemical substances by application Substances 0.000 description 142
- 238000009826 distribution Methods 0.000 description 13
- 238000007726 management method Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000036544 posture Effects 0.000 description 3
- 238000009827 uniform distribution Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004040 coloring Methods 0.000 description 2
- 238000013016 damping Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 239000012636 effector Substances 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000005304 joining Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1671—Programme 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33037—Learn parameters of network offline, not while controlling system
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
根据本发明的借助至少一个机器人(1)执行应用的方法,包括以下多次重复的步骤:特别是基于设定的随机参数模型和/或借助至少一个随机生成器(3a),确定(S100)至少一个机器人参数和/或至少一个环境模型参数的随机值;基于所确定的随机值执行(S200)应用的模拟、特别是多阶段模拟;包括以下步骤:通过机器学习,借助于模拟来训练(S200,S500)至少一个控制代理和/或至少一个分类代理,特别是借助于模拟的第一阶段来训练第一控制代理和/或第一分类代理,并借助于模拟的另外的阶段来训练至少一个另外的控制代理和/或另外的分类代理;借助于机器人执行(S600)应用;以及以下步骤中的至少一个:基于经训练的控制代理来配置(S400)用以完全或部分地执行应用的机器人的控制器;和/或借助于经训练的分类代理对应用进行分类(S700)。
Description
技术领域
本发明特别涉及一种借助于至少一个机器人执行应用的方法、一种用于对执行应用或预定任务的机器人控制器进行配置的方法、一种训练至少一个分类代理(Klassifikations Agenten)以对机器人应用进行分类的方法、一种借助于至少一个具有相应配置的控制器的机器人执行预定任务的方法、以及一种用于执行至少一种所述方法的系统和计算机程序产品。
背景技术
为了执行应用或预定的任务,必须对机器人的控制器进行相应的配置,传统上是通过手动创建机器人程序等来配置机器人的控制器。
发明内容
本发明的目的之一是借助于至少一个机器人更好地执行应用或预定任务。本发明的目的之一是改善对用于执行应用或预定任务的机器人的控制器的配置。本发明的目的之一是改善对机器人应用的分类。本发明的目的之一是改善用于执行应用的机器人的控制器。
这些目的中的一个或多个通过独立权利要求的主题和/或一个或多个在此所述的方法或装置来实现,特别是通过具有权利要求1、9、10或11所述特征的方法来实现。权利要求14、15保护一种用于执行在此所述方法的系统或计算机程序产品。从属权利要求涉及优选的扩展方案。
根据本发明的一种实施方式,用于
-配置机器人的控制器以借助机器人执行应用(机器人应用);
-训练至少一个分类(KI)代理以对机器人应用分类;和/或
-借助于至少一个机器人执行(机器人)应用;的方法包括以下被多次重复、在一种实施方式中为循环重复的步骤:
-确定至少一个一维或多维机器人参数和/或至少一个一维或多维环境模型参数的一维或多维的随机的值,在一种实施方式中是基于预定的随机参数模型和/或借助于至少一个随机生成器(Zufallsgenerator)来确定,并
-基于所确定的随机值对应用进行模拟(Simulation),在一种实施方式中为进行多阶段的模拟。
在此,可以在进行模拟之前确定用于模拟的随机值,然后将其用于模拟中。类似地,也可以事先确定机器人和/或环境模型参数的多个随机值,然后将这些随机值中的每一个分别用于或使用在一个模拟中。
根据本发明的一种实施方式,该方法包括以下步骤:
-通过借助于机器学习的模拟,训练
-至少一个控制(KI)代理,和/或
-至少一个分类(KI)代理,
在一种实施方式中是
-借助于模拟的第一阶段来训练第一控制(KI)代理和/或第一分类(KI)代理,以及
-借助于模拟的另一阶段来训练至少一个另外的控制(KI)代理和/或至少一个另外的分类(KI)代理。
根据本发明的一种实施方式,该方法包括以下步骤:
-借助于机器人一次或多次地执行(真实)应用。
在此,也可以借助于多个(模拟)阶段来训练多个控制(KI)代理,并且借助于这些模拟来训练仅一个分类(KI)代理,或者借助于多个(模拟)阶段来训练多个分类(KI)代理,并且借助于这些模拟来训练仅一个控制(KI)代理。
因此在一种实施方式中,机器人或环境模型参数(值)被随机化,或者利用被随机化的机器人或环境模型参数(值)来进行模拟,并且借助于这些模拟来训练或机器学习一个或多个代理。
由此,在一种实施方式中,可以更好地进行机器学习,在一种实施方式中可以更稳定和/或更快速地进行机器学习。附加地或替代地,在一种实施方式中,这种类型的或者基于随机化的机器人或环境模型参数(值)所训练的代理可以更好地、特别是据此(更)稳定和/或(更)灵活地实现(agieren)借助于机器人对(真实)应用的执行,特别是对机器人的控制和/或对应用的分类。
在本文中,当提到代理时,其特别是相应地包括KI(人工智能)代理、特别是控制(KI)代理或者分类(KI)代理。
在一种实施方式中,确定随机值包括特别是数字地和/或物理地生成该值,特别可以是生成该值。
执行模拟所依据的随机值在一种实施方式中是、特别是被借助于至少一个随机生成器、特别是伪随机数生成器(Pseudozufallszahlengenerator)来确定、特别是生成,和/或是随机或随机分布的值,在一种实施方式中是随机数(Zufallszahl)、特别是伪随机数(Pseudozufallszahl),该伪随机数在一种实施方式中是通过预先给定的随机参数模型来确定或满足该预先给定的随机参数模型。
在一种实施方式中,随机参数模型具有一个或多个随机特征参数,特别是最小值、最大值、期望值和/或(多个)平均值、(多个)方差、(多个)标准偏差、(多个)分散度(方差漫射度)(Streu(ungs)maβ(e))等,和/或概率分布,例如高斯或正态分布、均匀分布等。
例如,用户和/或用户输入辅助(Anwendereingabeunterstützung)或者说是在一种实施方式中为用于机器人或环境模型参数的软件助手可以设定最小值和最大值以及均匀分布,并由此预先给定随机参数模型,其中是使用(伪)随机数生成器来生成相应的随机(分布)值,并且通过这种方式基于该预先给定的随机参数模型并借助于该(伪)随机数生成器来确定。类似地,用户和/或用户输入辅助例如可以设定某个高斯分布并由此预先给定另一个随机参数模型,然后借助于(伪)随机数生成器再次生成相应的随机(分布)值,并且通过这种方式基于该另外的预先给定的随机参数模型并借助于该(伪)随机数生成器来确定
因此,在一种实施方式中,所确定的随机值是或者被根据预定的随机参数模型(一起)确定,例如根据(多个)最小值和/或最大值来限定,根据(多个)方差相应地围绕期望值或平均值分散,等。
模拟特别是被理解为对应用或其时间进程的模拟运行或数值(numerische)模拟。
在一种实施方式中,多阶段模拟包括应用的两个或更多个连续的、在一种实施方式中为彼此相继的时间和/或功能部分或阶段,例如第一齿轮的机器人辅助接合(第一阶段)和紧接着的另一齿轮的机器人辅助接合(另一阶段)等。
在一种实施方式中,借助于模拟的第一阶段或部分来训练第一控制代理,借助于模拟的另外的阶段或部分来训练至少一个另外的控制代理,和/或借助于模拟的相同的或另外的第一阶段或部分来训练第一分类代理,借助于模拟的另外的阶段或部分来训练至少一个另外的分类代理,在上述的示例中则是借助于第一模拟阶段或模拟第一齿轮的接合来训练用于第一齿轮接合的第一(控制或分类)代理,并借助于另外的模拟阶段或模拟另外的齿轮的接合来训练另外的(控制或分类)代理。
在一种实施方式中,基于先前模拟阶段的最终状态或结果来确定或预先给定用于后续模拟阶段的初始状态,其中在一种实施方式中,该初始状态仍然可以附加地特别是基于用户输入或用户预先给定而变化、特别是被随机化。在上述的示例中,例如第一齿轮在其模拟接合之后的姿势可以用作另一模拟阶段的起始值,并且在必要时还可以通过用户来改变和/或被随机化。
由此,在一种实施方式中,可以特别有利地执行多阶段的应用。
根据本发明的一种实施方式,该方法包括以下步骤:
-基于一个或多个经训练的控制代理(Steuerungs Agenten),对机器人控制器进行配置以执行应用,特别是对用于执行该应用的机器人控制器进行配置。
因此,根据本发明的一个方面,使用具有随机值或随机化值的模拟,以便机器学习机器人的控制或为此训练一个或多个代理,以借助于机器人执行(真实)应用。
由此,在一种实施方式中,可以更好地借助于机器人执行(真实)应用,特别是(更)稳定和/或(更)灵活地执行应用。
在一种实施方式中,基于特别是多个经训练的控制代理来配置机器人的控制器,利用该控制器仅执行或应执行应用的一部分。
特别地,应用可以包括一个或多个(应该)利用机器人的(另一个)不是基于一个或多个经训练的控制代理进行配置的控制器来执行的部分,以及一个或多个(应该)利用机器人的基于一个或多个经训练的控制代理进行配置的控制器来执行的部分。本发明意义上的控制器可以特别是具有、特别是控制装置和/或计算机程序,特别是(计算机)程序模块或部件。
特别有利的是,针对机器人可自由移动负载的转移部分,可以通过几何或动态轨迹规划、示教等来配置(另一个)控制器;对于接触、特别是夹持和/或接合部分(在其中发生或者存在机器人的环境接触,特别是夹持或接合负载),基于一个或多个经训练的代理来配置控制器。
附加地或除了该方面以外,根据本发明的一种实施方式,该方法还包括以下步骤:
-借助于一个或多个经训练的分类代理对应用分类。
因此,根据本发明的一个方面,使用具有随机的或随机化的值的模拟,以便机器学习(真实)应用的分类或为此训练一个或多个分类代理。
由此,在一种实施方式中,可以更好地通过机器人执行(真实)应用,特别是(更)稳定地和/或(更)灵活地监视应用。
在一种实施方式中,所述分类代理或一个或多个所述分类代理(分别)具有机器学习的异常识别。附加地或替代地,在一种实施方式中,所述分类代理或一个或多个所述分类代理(分别)具有机器学习的误差识别。
在一种实施方式中,异常识别包括将所执行的(多个)应用分类为正常的和异常的(应用)。在一种实施方式中,异常识别是基于、特别是仅基于标记为正常的模拟应用进行机器学习,和/或当应用相对于标记为正常的模拟应用有偏差(过大)时,异常识别将该应用分类为异常的。
例如,如果在模拟中未考虑到的障碍物阻碍了通过机器人执行真实应用,则机器人的力和/或姿势数据会强烈地偏离在标记为正常的模拟应用情况下的曲线,并且代理相应地将该真实应用分类为异常的。
在一种实施方式中,误差识别包括将所执行的(多个)应用分类为无误差的和有误差的(应用),在一种实施方式中是分类为不同的误差类别。在一种实施方式中,误差识别是基于被标记为无误差的模拟应用和被标记为有误差的或者说属于相应误差类别的模拟应用进行机器学习,和/或当应用充分、特别是最强烈地类似于被相应标记的模拟应用时,误差识别将该应用分类为(相应的)误差类别。
例如,在上述示例中,当力或姿势数据充分强烈地类似于被相应标记的模拟应用的曲线并且代理将该真实应用分类为相应的误差类别时,可以将借助于机器人、特别是基于机器人的力和/或姿势数据接合第一齿轮分类为无误差的、已接入但不足够深的和/或已夹住的、或者未接合的。
本发明可以特别有利地用于机器人应用的这种分类,因为这些(仅)由机器人执行的(真实)应用只能困难地被机器学习。
在一种实施方式中,所述控制代理或一个或多个所述控制代理和/或所述分类代理或一个或多个所述分类代理(分别)具有至少一个人工神经网络,在一种实施方式中,机器人的控制器是基于经训练的网络的结构和/或权重来配置的。
由此,在一种实施方式中,可以实现特别有利的控制器和/或特别有利地配置控制器。
在一种实施方式中,借助于强化学习、特别是深度强化学习,(分别)训练所述控制代理或一个或多个所述控制代理和/或所述分类代理或一个或多个所述分类代理。
这特别适用于对机器人控制器的配置以及对应用的分类、特别是异常识别和/或误差识别。
在一种实施方式中,所述控制代理或一个或多个所述控制代理和/或所述分类代理或一个或多个所述分类代理(分别)特别是附加地借助于机器人进行训练,在一种实施方式中是基于一个或多个由机器人执行的(真实)应用来进行。
由此,在一种实施方式中,在借助于机器人执行真实应用时,可以特别有利地使用相应的代理和/或(进一步)改善机器学习。
在一种实施方式中,基于至少一个在执行应用时未测量的、在一种实施方式中为不可测量的状态变量,(分别)训练所述控制代理或一个或多个所述控制代理和/或所述分类代理或一个或多个所述分类代理。
这特别是基于以下认识或思想:在模拟过程中也可以计算、特别是计算状态变量,该状态变量是在执行应用过程中未测量的、可能是利用现有的环境或配置、特别是测量技术上的装备是不可测量的,并且这样的状态变量(其特别是在模拟过程中为了配置控制器(的目的)是本来就会产生或可计算得到、特别是被计算得到)可以特别有利地(也)用于训练或机器学习。
因此在上述示例中,可能会例如由于没有相应的传感器或者齿轮与止挡部之间的空间是不可接近的,而使得(第一或另外的)齿轮与止挡部的距离是无法测量的。然而,在模拟接合过程中,该距离可以被计算得到并随后用作训练的状态变量,特别是在质量标准中。
在一种实施方式中,在训练所述控制代理或一个或多个所述控制代理和/或所述分类代理或一个或多个分类代理的过程中所使用的质量标准、特别是质量函数或代价函数(Kostenfunktion),是基于至少一个在执行应用过程中未测量的、在一种实施方式中是利用现有的配置或环境不可测量的状态变量来确定的,或者取决于该状态变量。
由此,在一种实施方式中,可以更好地进行机器学习,在一种实施方式中可以更稳定和/或更快速地进行机器学习。
附加地或除了将在执行应用过程中未被测量、但是在模拟过程中计算得到的状态变量用于训练一个或多个代理之外,本发明的一种实施方式还基于以下认识或思想:即,将(本来)被执行或使用以训练至少一个控制代理的模拟(基于该模拟对用于执行或应该用于执行(真实)应用的机器人控制器进行配置),附加地也使用或用于训练一个或多个分类代理,利用该分类代理或在其帮助下,对或应该对由机器人执行的(真实)应用进行分类。
相应地,根据本发明的一种实施方式,该方法包括以下步骤:
-基于所述经训练的控制代理或一个或多个所述经训练的控制代理,对用于执行应用的机器人控制器、特别是用于完全或部分地执行该应用的机器人控制器进行配置;
和以下步骤:
-训练所述分类代理或一个或多个所述分类代理,特别是借助于所述经训练的分类代理或一个或多个所述经训练的分类代理对应用进行分类,其中在一种实施方式中,借助于相同的模拟对(多个)控制和分类代理进行训练或(已经)进行训练,其中在一种扩展方案中,借助于已经进行的模拟对所述分类代理或一个或多个所述分类代理进行训练,之前已经借助于该已经进行的模拟对所述控制代理或一个或多个所述控制代理进行了训练;和/或借助于当前模拟同步地进行训练,借助于该当前模拟刚刚对所述控制代理或一个或多个所述控制代理进行了训练。
换句话说,在一种实施方式中,本发明使用这样的模拟:基于该模拟,特别是通过强化学习,来配置控制器,或者借助于该模拟来训练所述控制代理或一个或多个所述控制代理,在一种实施方式中,还将其用于训练至少一个机器学习分类或所述分类代理或一个或多个所述分类代理。
在一种实施方式中,为此存储在模拟中计算得到或已经计算得到的应用的、在一种实施方式中为机器人的数据、特别是状态变量、在一种实施方式中为(时间)状态变量曲线、特别是轨迹,在一种实施方式中为用于训练或已经用于训练所述控制代理或一个或多个控制代理的模拟,并借助于该存储的数据来训练所述分类代理或一个或多个所述分类代理,在一种实施方式中是在这些模拟之后和/或在这些模拟期间进行。
在一种实施方式中,所述数据包括:一个或多个固定于机器人的参照物的姿势,特别是末端执行器、TCP、机器人引导的工具或工件等;机器人的关节或轴位置;机器人上的内力和/或外力,特别是关节力和/或驱动力、摩擦力、接触力等;电流强度,特别是机器人的驱动器中的电压和/或电流;机器人的牵引误差(Schleppfehler,随动误差);和/或这些姿势、位置、力、电流强度或牵引误差、的时间导数,亦即特别是一个或多个固定于机器人的参照物、轴或关节、驱动器的速度和/或加速度,所述力、电流强度或牵引误差等的市价变化。在此,牵引误差可以特别是包括力误差、位置误差和/或速度误差。
在一种实施方式中,根据模拟,在一种实施方式中为已经进行的模拟,在一种实施方式中为用以训练或已经训练所述控制代理或一个或多个所述控制代理的模拟,特别是根据所存储的数据,来选择符合质量标准的模拟或数据,并将其用于训练异常识别,或者基于质量标准将这些模拟或数据分类为不同的误差类别并将其用于训练误差识别。
例如,如果traj_i表示模拟i的数据,traj={traj_i}表示所有在模拟过程中所存储的数据的集合,则在一种用于机器学习异常识别的实施方式中,从该集合中选择那些(本身)已经模拟或给出了应用的成功曲线的模拟的数据{traj_success},或者选择那些(本身)已经模拟或给出了误差k1、k2,…的模拟的数据{traj_failure_k1}、{traj_failure_k2},…,然后借助于{traj_success}来机器学习异常识别,或者借助于{{traj_success}、{traj_failure_k1}、{traj_failure_k2},…}来机器学习误差识别。
由此,在一种实施方式中,可以相应地改善机器学习分类,特别是能够更快地学习和/或更精确、更稳定和/或更可靠地分类。
在一种实施方式中,所述代理或一个或多个所述代理、特别是异常识别和/或误差识别,是基于至少一个时间段、在一种实施方式中为游动的(wandernde)时间段、特别是伴随游动的(mitwandernden)时间段,对应用进行分类。在一种实施方式中,附加地或除了对完整的应用进行评估以外,还进行连续和/或系列的评估,并且所述代理基于该连续或系列的评估对应用进行分类。特别适用于此的是例如循环网络(Recurrent Network),马尔科夫模型(Markov Modelle)或自回归网络(Autoregressive Network)。
由此,在一种实施方式中,可以改善机器学习,在一种实施方式中可以更有效和/或更快速地进行机器学习。
在一种实施方式中,所述代理或一个或多个所述代理,特别是异常识别和/或误差识别,在执行应用期间对应用进行分类。
在一种实施方式中,这允许对分类结果做出响应。相应地,在一种实施方式中,基于该分类,在必要时改变正在(gerade)或者说或当前所执行的应用,在一种实施方式中是在识别出异常和/或识别出误差的情况下发出相应的信号、和/或修改机器人的运动、和/或对在应用中所操作的、特别是所运输和/或所加工的工件进行整理或再加工。
在一种实施方式中,所述代理或一个或多个所述代理,特别是异常识别和/或误差识别,在执行应用之后对应用进行分类。
由此,在一种实施方式中,可以更准确地对应用进行分类。
在一种实施方式中,机器人参数包括应用、特别是机器人的一维或多维起始姿势、一个或多个一维或多维中间姿势、和/或一维或多维目标姿势。相应地,在一种实施方式中,基于随机(分布或生成的)起始姿势、中间姿势和/或目标姿势来执行应用的模拟。由此,在一种实施方式中,可以考虑到由于先前过程、行进过程中的偏差等引起的不准确性,并由此改善机器学习或者所述一个或多个经训练的代理,特别是使其(更)稳定和/或(更)灵活。
在一种实施方式中,特别是在执行模拟之前,检查是否能够利用机器人实现(用于)起始姿势、(多个)中间姿势和/或目标姿势(的随机值),特别是基于机器人的运动学模型。如果不能实现所述姿势或机器人参数的相应的随机值,则在一种实施方式中重新确定该值或在此期间确定该值,直至(确定)利用机器人能够实现该姿势或该值,随后将该值作为在执行应用模拟期间所确定的值来使用。由此,在一种实施方式中,可以改善机器学习,在一种实施方式中可以更有效和/或更快速地进行机器学习。
本发明意义上的姿势可以特别包括、特别是一维、二维或三维位置和/或一维、二维或三维方向。
附加地或替代地,在一种实施方式中,机器人参数包括机器人内部的力的一维或多维力参数,特别是至少一个轴和/或至少一个末端执行器刚度和/或阻尼。由此,在一种实施方式中,可以考虑到模型类似的机器人之间的磨损或公差等,并由此改善机器学习或所述一个或多个经训练的代理,特别是使其(更)稳定和/或(更)灵活。
附加地或替代地,在一种实施方式中,机器人参数包括至少暂时作用在机器人上的外力、在一种实施方式中为仅暂时作用在机器人上的外力的一维或多维力参数,特别是(随机)干扰或干扰力,特别是由于环境接触等引起的外力。由此,在一种实施方式中,可以考虑到真实的过程条件或随机干扰,并由此改善机器学习或所述一个或多个经训练的代理,特别是使其(更)稳定和/或(更)灵活。
本发明意义上的力可以特别包括、特别是反平行的力偶或转矩。力参数可以特别包括力,但也可以包括刚度、阻尼和/或摩擦系数等。
附加地或替代地,在一种实施方式中,机器人参数包括一维或多维的运动学机器人结构参数,在一种实施方式中为一维或多维的动态机器人结构参数,特别是机器人的一维或多维的尺寸、和/或重量、和/或一维或多维的惯性力矩,或者单个的结构构件或结构构件组等。由此,在一种实施方式中,可以考虑模型类似的机器人之间的公差等,并由此改善机器学习或所述一个或多个经训练的代理,特别是使其(更)稳定和/或(更)灵活。
附加地或替代地,在一种实施方式中,环境模型参数包括一维或多维的运动学环境,在一种实施方式中为动态环境,在一种实施方式中包括负荷结构参数,特别是环境、特别是负荷结构、特别是在应用中使用的工具和/或工件等的一维或多维姿势和/或尺寸和/或重量和/或惯性力矩。由此,在一种实施方式中,可以考虑模型类似的工具或工件之间的公差、由先前过程等引起的不准确性,并由此可以改善机器学习或所述一个或多个经训练的代理,特别是使其(更)稳定和/或(更)灵活。
附加地或替代地,在一种实施方式中,借助于机器人辅助的参数识别(Parameteridentifikation)来确定机器人参数和/或环境模型参数,例如随机参数模型或用于随机参数模型的最小值、最大值和/或(多个)平均值。由此,在一种实施方式中,可以改善与真实应用的一致性,并由此改善机器学习或所述一个或多个经训练的代理,特别是使其(更)稳定和/或(更)灵活。
在一种实施方式中,特别地,预先给定的随机参数模型是基于用户输入和/或特定于应用地被预先给定,在一种实施方式中是从所提供的多个不同参数模型中选出。
因此,在一种实施方式中,用户可以首先从多个概率分布(例如高斯分布、均匀分布或其他的概率分布)中选择一个概率分布,并为此或在此预先给定最小值和最大值等。例如,可以针对某个接合应用选择一概率分布,例如均匀分布;针对某个夹持应用选择另一个概率分布,例如高斯分布;等等,并为此或者在此分别预先给定特定于应用的最小值和最大值等。混合形式也是可能的,特别是特定于应用的预选或默认值分配和用户输入,以改变它们。
附加地或替代地,在一种实施方式中,特别地,机器人和/或环境模型参数是基于用户输入和/或特定于应用地预先给定,在一种实施方式中是从所提供的多个不同参数中选出。
例如,为了将机器人引导的工件插入到平面中的留空部中,可以预先给定或选择该平面内部的二维位置和围绕面法线的一维方向或角位置作为目标姿势;但是,为了利用机器人引导的钻头在平面中钻孔,可以预先给定或选择沿着钻头轴线相对于面的一维距离作为目标或中间姿势。
在一种实施方式中,随机参数模型和/或机器人和/或环境模型参数在应用的特别是虚拟的图示(Abbildung)中通过标记区域被可视化,在一种实施方式中是通过相应的几何空间、特别是例如优选为长方体、球体、锥体、柱体等的物体或者特别是平坦的或适应于环境的表面被可视化。
因此在上述示例中,目标位置可能(随机地)存在的表面内部的区域可以在应用的图示中例如通过相应的圆形面来可视化,围绕表面法线的可能的方向或角位置例如通过两个相应扭转的长方体或工件具象(Avatare)以各自最大可能的偏转来可视化。
在一种实施方式中,随机参数模型的概率分布通过对标记区域的不同着色来可视化,在一种实施方式中是通过不同的(颜色)亮度来可视化,其中相应的着色或亮度(水平)取决于机器人或环境模型参数具有相应值的概率。
因此在上述示例中,目标位置可能(随机地)存在的表面内部的区域可以在应用的图示中例如通过相应的圆形面来可视化,其中目标位置以较大概率位于其中的圆形面区域例如被较深地着色,或者目标位置以第一概率位于其中的圆形面的第一区域例如被着色为第一颜色和/或第一亮度,以及目标位置以另一概率位于其中的圆形面的至少一个另外的区域被着色为另一颜色和/或另一亮度。
由此,在一种实施方式中,可以分别、特别是组合地选择特别合适的参数模型或特别合适的参数,特别是改善输入的速度和/或可靠性(Fehlersicherheit)。无论是对于用于设定、特别是选择随机参数模型的用户输入,还是对于用于设定、特别是选择机器人和/或环境模型参数的用户输入,通过软件助手(Software-Assistenten)实现的在另一位置上描述的用户输入辅助都是特别有利的。
在一种实施方式中,借助于至少一个另外的模拟,特别是基于至少一个机器人参数和/或至少一个环境模型参数的值的自动设定或用户设定,对所配置的机器人控制器和/或机器学习的异常识别和/或误差识别进行测试。
因此,例如用户可以为了测试模拟而改变工件的姿势,然后借助于该测试模拟来检查所配置的控制器或者异常或误差识别(在此)是否起作用或运行,或者起作用或运行得有多好。类似地,测试脚本可以利用一个或多个经训练的控制代理或经训练的异常和/或误差识别自动执行另外的模拟,并在此相应地改变至少一个机器人参数和/或至少一个环境模型参数的值。
附加地或替代地,在一种实施方式中,借助于机器人,特别是基于由机器人执行的应用,特别是借助于机器学习、特别是强化学习,进一步训练所配置的机器人控制器和/或机器学习的异常识别和/或误差识别。
由此,在一种实施方式中,可以分别、特别是组合地实现在实践中特别有利的控制器。
在一种实施方式中,特别地,借助于机器学习设定随机参数模型。特别地,参数模型(KI)代理可以基于由机器人执行的以前的应用(该应用已经通过根据在此所述的方法所训练的分类代理被分类,和/或已经通过该应用,基于根据在此所述的方法所训练的控制代理,对用于执行该应用的机器人控制器进行了配置),并根据该被执行的以前的应用的结果和在训练分类代理或控制代理时所使用的随机参数模型来设定随机参数模型,该随机参数模型随后在这里所述的方法中被用来执行用于训练至少一个分类代理的模拟,随后借助于该分类代理对新的应用进行分类,和/或被用来执行用于训练至少一个控制代理的模拟,随后借助于该控制代理来配置用于执行新应用的控制器。
通过这种方式,可以使用特别有利的、特别是接近于实际的随机参数模型,在一种实施方式中特别是通过用户输入辅助或软件助手预先选择。附加地或除了由机器人执行的以前的应用以外,还可以使用模拟的应用作为之前的用于机器学习的应用来设定随机参数模型。
在一种实施方式中,在此所述方法的一个或多个步骤,特别是随机参数模型和/或机器人和/或环境模型参数的设定、特别是选择,包括通过软件助手、特别是用户界面引导实现的用户输入辅助,特别是所谓的向导(Wizard)。
在一种实施方式中,从所提供的多个不同的参数或参数模型中,特别是特定于应用地和/或通过用户输入辅助或软件助手,预先选择机器人模型参数和/或环境模型参数和/或随机参数模型。
由此,在一种实施方式中,可以分别、特别是组合地选择特别合适的参数模型或特别合适的参数,特别是改善输入的速度和/或可靠性。
附加地或替代地,在云中执行在此所述方法的一个或多个步骤。
由此使得该方法能够有利地被并行地和/或被(更)快速和/或被分布地(verteilt)执行。
根据本发明的一种实施方式,一种用于配置机器人的控制器以执行预定任务的方法包括以下步骤:
-检测至少一个一维或多维机器人参数和至少一个一维或多维环境模型参数;
-借助于一个或多个基于所检测到的机器人参数和所检测到的环境模型参数的模拟,借助于基于预先给定的代价函数的机器学习,来训练(KI)代理;以及
-基于经训练的代理来配置机器人的控制器。
在一种实施方式中,通过利用机器学习和一个或多个模拟来训练代理,可以特别有利地配置机器人的控制器以执行预定的任务。
在一种实施方式中,机器人具有静止的或移动的、特别是可行进的基座和/或机器人臂,该机器人臂具有至少三个、特别是至少六个、在一种实施方式中为至少七个的关节或(运动)轴,在一种实施方式中为转动关节或转动轴。由于其运动学、可变性和/或复杂性,本发明特别适合于这种机器人。
在一种实施方式中,所述预定的任务包括机器人的至少一种运动,特别是机器人的至少一个按照计划的环境接触,特别是可以包括机器人辅助的夹持和/或接合。由于其复杂性,本发明特别适合于这些任务。
在一种实施方式中,机器人包括以下参数:
-一维或多维的运动学的、特别是动态的机器人模型参数,特别是一个或多个轴距离、质量、质量重心、惯性和/或刚度;和/或
-一维或多维的运动学的、特别是动态的负载模型参数,特别是一个或多个尺寸、质量、质量重心和/或惯性;和/或
-当前的机器人姿势,特别是一个或多个当前的轴或关节位置;和/或
-当前的机器人运行时间。
附加地或替代地,在一种实施方式中,环境模型参数包括一维或多维的CAD模型参数和/或在环境模型中的机器人定位、特别是当前的机器人定位,和/或借助于至少一个光学传感器、特别是相机来确定环境模型参数。
在一种扩展方案中,光学传感器由人员引导、特别是保持或携带,在另一种扩展方案中则是由机器人引导,在一种实施方式中,机器人为此驶过被编程的或自动确定的、特别是通过碰撞避免所确定的轨迹,或者被手动引导,或者通过手动施加在机器人上的力来引导。
在一种实施方式中,所述代理具有人工神经网络。在一种扩展方案中,基于经训练的网络的结构和/或权重对机器人控制器进行配置,在一种实施方式中,该结构和/或权重被传输到机器人控制器上。附加地或替代地,在一种实施方式中,借助于强化学习、优选为深度强化学习来训练所述代理。
在一种实施方式中,在按照这里所述的方式配置机器人控制器之后,借助于真实的机器人,通过机器学习、特别是强化学习、优选为深度强化学习来进一步训练机器人控制器。
在一种实施方式中,特别地,机器人参数和/或环境模型参数至少被暂时存储在管理壳(Verwaltungsschale)和/或数据云中。
根据本发明的一种实施方式,特别地,在用于通过至少一个机器人执行预定任务的方法中,根据这里所述的方法来配置机器人的控制器。相应地,在一种实施方式中,根据本发明的方法可以包括在此所述的用于配置机器人的控制器以执行预定任务的方法以及借助于具有根据本发明配置的控制器的机器人来执行预定任务的步骤。
根据本发明的一种实施方式,提出一种系统,其特别是被硬件技术和/或软件技术地、特别是编程技术地设计用于执行一个或多个在此所述的方法。在一种实施方式中,该系统包括:用于检测至少一个机器人参数和至少一个环境模型参数的装置;用于借助于至少一个基于检测到的机器人参数和环境模型参数的模拟和基于设定的代价函数的机器学习来训练代理的装置;以及用于基于经训练的代理来配置机器人控制器的装置。
在一种实施方式中,该系统包括:
-用于,特别是基于设定的随机参数模型和/或借助于至少一个随机生成器,多次重复地确定至少一个机器人参数和/或至少一个环境模型参数的随机值和基于所确定的随机值对应用进行模拟、特别是多阶段模拟的装置;以及-用于借助于机器学习并通过模拟来训练至少一个控制代理和/或至少一个分类代理的装置,特别是借助于模拟的第一阶段来训练第一控制代理和/或第一分类代理,以及借助于模拟的另外的阶段来训练至少一个另外的控制代理和/或另外的分类代理。
附加地或替代地,在一种实施方式中,该系统包括:用于基于特别是多个经训练的控制代理来配置机器人的控制器以执行应用的装置。
附加地或替代地,在一种实施方式中,该系统包括:用于借助于特别是经训练的分类代理对应用进行分类的装置。
附加地或替代地,在一种实施方式中,该系统包括:用于借助于机器人执行应用的装置,其中,基于特别是多个经训练的控制代理对用以完全或部分地执行应用的机器人的控制器进行配置,和/或借助于特别是多个经训练的分类代理对应用进行分类。
在一种实施方式中,该系统或其装置包括:
-机器学习的异常识别和/或机器学习的误差识别和/或至少一个人工神经网络;和/或
-用于借助于强化学习和/或借助于机器人来训练至少一个控制代理和/或至少一个分类代理的装置;和/或
-用于基于至少一个特别是游动的时间段和/或在借助于至少一个分类代理执行应用期间或之后对应用进行分类的装置;和/或
-用于基于在执行应用过程中未测量的至少一个状态变量来训练至少一个控制代理和/或至少一个分类代理的装置;和/或
-用于借助于机器人辅助的参数识别来确定机器人参数和/或环境模型参数的装置;和/或
-用于检查是否能够利用机器人实现起始姿势、中间姿势和/或目标姿势的装置;和/或
-用于基于应用和/或用户输入来设定随机参数模型、特别是用于从所提供的多个不同参数模型中进行选择的装置;和/或
-用于在应用的图示中通过标记的区域将随机参数模型可视化的装置;和/或
-用于基于应用和/或用户输入来设定机器人和/或环境模型参数、特别是用于从所提供的多个不同参数中进行选择的装置;和/或
-用于在应用的图示中通过标记的区域将机器人和/或环境模型参数可视化的装置;和/或
-用于借助于至少一个另外的模拟,特别是基于至少一个机器人参数和/或至少一个环境模型参数的值的自动输入或用户输入来测试所配置的机器人控制器和/或机器学习的异常识别和/或误差识别的装置;和/或
-用于借助于机器人来进一步训练所配置的机器人控制器和/或机器学习的异常识别和/或误差识别的装置;和/或
-用于借助于机器学习来设定随机参数模型的装置;和/或
-用于通过软件助手、特别是用户界面引导对至少一个方法步骤进行用户输入辅助的装置;和/或
-用于在云中执行至少一个方法步骤的装置。
本发明意义下的装置可以被硬件和/或软件技术地构成,特别是具有:优选与存储系统和/或总线系统数据连接或信号连接的处理单元,特别是数字处理单元,特别是微处理单元(CPU)、图形卡(GPU)等;和/或一个或多个程序或程序模块。处理单元可以为此被构造为:执行被实现为存储在存储系统中的程序的指令;从数据总线采集输入信号;和/或将输出信号发送至数据总线。存储系统可以具有一个或多个特别是不同的存储介质,特别是光学的、磁的、固体的和/或其它非易失性的介质。程序可以被提供为,其全部或部分地体现或执行在此所述的一个或多个方法,使得处理单元能够执行该方法的步骤,并由此特别是可以配置控制器,或者分类或执行应用,或者运行或控制机器人。在一种实施方式中,计算机程序产品可以具有、特别可以是特别是非易失性的、用于存储程序或其上存储有程序的存储介质,其中执行该程序使得系统或控制器、特别是计算机执行在此所述的方法或该方法的一个或多个步骤。
在一种实施方式中,该方法的一个或多个、特别是所有的步骤被完全或部分自动化地执行,特别是通过所述系统或其装置。
在一种实施方式中,所述系统包括机器人。
在一种实施方式中,提供了一种框架,其能够通过强化学习的方法(更)有效地实现动作或任务学习。在一种实施方式中,简单且有效地查询机器人的参数和/或检测环境模型。特别地,在一种实施方式中,为了(更)有效和(更)快速地学习和/或不阻碍真实的系统,这不是在真实系统上而是在云模拟环境中被执行。这能够有利于学习过程的并行化,并由此有利于速度的提升,特别是由此(通过参数的随机化)实现更稳定的模型。
需要再次强调的是,本发明特别包括:
-借助于机器人(机器人应用)来配置机器人的控制器以执行应用;
-训练一个或多个分类(KI)代理以对机器人应用进行分类;和
-借助于至少一个机器人执行(机器人)应用
或设计用于此目的的装置,特别是在不执行应用的情况下(还)配置控制器;在不执行应用的情况下训练一个或多个分类(KI)代理;特别是训练一个或多个分类(KI)代理连同一起配置控制器,但是不执行应用;利用已配置的控制器和/或经训练的分类(KI)代理执行应用,即,在不配置和/或不训练一个或多个分类(KI)代理的情况下,以及将配置和/或训练与执行相组合或者(分别)设计用于此目的的装置。相应地,执行应用的特征还特别包括:将配置控制器或训练一个或多个分类代理设计或执行为,随后在利用所配置的控制器或一个或多个经训练的分类(KI)代理执行应用时实现该特征。
附图说明
其它的优点和特征由从属权利要求和实施例给出。为此,部分示意性示出了:
图1为根据本发明的一种实施方式的系统;
图2为该系统的部分;
图3为根据本发明的一种实施方式的方法;
图4为根据本发明的另一种实施方式的方法;和
图5为随机参数模型和机器人参数的可视化。
具体实施方式
图1示出了根据本发明一种实施方式的系统,该系统包括机器人1,与机器人1和云4通信的(机器人)控制器2,以及数据输入/输出和处理装置、特别是计算机3。
在其用户界面上运行向导,该向导按照一个或多个下述的过程来引导用户:
在根据本发明一种实施方式的方法的第一步骤(图3:S10)中,检测机器人参数和起始配置。为了在模拟环境中有利地进行动作学习,机器人的参数和环境模型都应该是尽可能精确地在云模拟环境中可用的。
在此,借助于所谓的管理壳(“资产管理壳”,AAS),也称为数字孪生体(DigitalerZwilling),来存储机器人1的状态和管理数据。为此,优选地使用OPC UA信息模型。在机器人的管理壳中,提供有例如机器人模型、操作小时数、当前轴值(用于确定起始位置)、所附加的工具等数据,并被传输到云模拟环境。由此,该模拟环境可以针对机器人来配置模拟(CAD模型、动态参数、工具、当前轴配置、可能因使用寿命而改变的动态参数等)。
在第二步骤(图3:S20)中,检测环境模型。在此,在一种实施方式中,存在多种选项供选择:
-传输完全建模的CAD模型,包括到机器人坐标系的变换;
-通过或者由人手动引导或者安装在机器人上的3D相机来检测环境,该机器人被手动引导或者驶过定义的并且无碰撞的轨迹。
在手动引导的情况下,还可以更准确地并且近距离地记录对于任务而言重要的区域,例如接合目标。
由此生成的环境模型现在同样被传输到云模拟环境上。在这里有一种简单的选项,即,将数据同样存储在机器人的管理壳中。
在一种变型中,机器人单元具有管理壳10(参见图2)、环境模型和其他相关管理壳的参照物(Referenzen)。因此,机器人本身是可更换的,并且与所有信息都在机器人本身的管理壳中相比,整体是模块化构造的。然后,“单元管理器”可以调节与子组件的交互、模拟环境20(参见图2)和学习过程的执行。
在第三步骤(图3:S30)中定义了学习目标。在此设定了代价函数,以使强化算法了解其目标。特别地,在受到控制的向导中,例如可以通过用户将机器人手动引导到接合目标重复多次该过程来设定目标,以使误差最小化。
在一种实施方式中,根据强化学习算法,还将手动演示用于算法的初始化或者代价函数的逆强化学习。所演示的轨迹同样可以存储在管理壳中。
在第四步骤(图3:S40)中,在云环境4中,优选并行地通过深度强化学习方法来学习任务。
优选地,具体的算法是
-引导式策略搜索;
-软Q学习;
-A3C
等。
为了克服模拟-现实差距,在一种实施方式中,进行动态参数的随机化。在一种实施方式中,如果涉及到视觉系统,则借助域随机化来学习灵活的视觉模型。
几何路径规划器可以规划无接触的路径元素,并且在引导策略搜索的情况下将线性正交高斯控制器初始化。
算法的结果是神经网络的结构和神经网络的训练权重。在一种变型中,针对稍后的微调可以使用渐进式网络。模拟的结果被发送回机器人/边缘控制器。
在第五步骤(图3:S50)中,将模型下载到机器人或边缘控制器上。
现在可以回放经训练的模型。在模拟主体(Simulationsinstanz)的管理壳中,还可以提供模拟和学习算法的参数(例如,学习速率、迭代次数等,其可以后续在微调中使用)。特别地,可以使用例如ONNX交换格式来交换计算图和权重。
在可选的第六步骤(图3:S60)中,在真实的系统上微调模型。
根据模拟的质量,模型是直接随时可用的或者在真实的系统上被进一步地微调。即,强化学习算法在真实的系统上被进一步训练,在此有利的是通过强化算法的权重和其它参数进行初始化。
在第七步骤(图3:S70)中,现在可以执行所学习的任务。
图4示出了根据本发明另一种实施方式的方法,其可以利用图1的系统来执行。
在步骤S100中,通过在该实施例中所提供的并以虚线示出的随机生成器3a(见图1),基于所设定的随机参数模型、在该实施例中为由用户借助于向导所设定的高斯分布,确定机器人参数和/或环境模型参数的随机值,例如在该实施例中由机器人引导的插头1a在表面10(见图1)中的二维目标位置的随机值。
图5为此示例性示出了:如何通过围绕表面(的图示)中的二维目标位置的高斯分布的平均值或期望值的圆形标记区域,将这些机器人参数和随机参数模型在接合应用的图示中可视化。在此,圆的边缘显示了偏离平均值或期望值的最大值,并且标记区域的以不同的阴影线示出的不同着色、在一种实施方式中为不同(颜色)亮度显示了目标位置位于该部位处的相应概率。
在步骤S200中,基于所确定的随机值,即利用随机目标位置,在计算机3上或在云4中执行应用的模拟。
在此,借助于强化学习来训练控制代理。
在步骤S300中,检查控制代理是否已经被充分地训练。如果不是(S300:“N”),则随机生成器3a生成新的随机目标位置,用以执行进一步地模拟。
如果控制代理被充分地训练(S300:“Y”),则基于该经训练的控制代理配置机器人1的控制器2(S400)。
此外,借助于所执行的模拟训练分类代理,例如机器学习异常识别或误差识别(S500),也就是使用在训练控制代理时所执行的模拟。
随后,通过在步骤S400中所配置的控制器,利用机器人执行(S600)真实应用,并在此或随后通过异常识别或误差识别对该真实应用进行分类(S700)。在此,所配置的控制器可以被进一步训练。
尽管在前面的描述中阐述了示例性的实施方式,但是应该指出的是,还可能存在许多的变型。此外还应指出的是,这些示例性实施方式仅仅是举例,其不应对保护范围、应用和构造形成任何限制。相反,通过前面的描述能够赋予本领域技术人员实现对至少一个示例性实施例进行转换的教导,其中,在不脱离本发明保护范围的情况下,可以实现特别是关于所述部件的功能和布置的各种变化,例如可以根据权利要求和其等效的特征组合获得。
Claims (24)
1.一种用于借助于至少一个机器人(1)执行应用的方法,其中所述方法包括以下多次重复的步骤:
-特别是基于设定的随机参数模型和/或借助于至少一个随机生成器(3a),确定(S100)至少一个机器人参数和/或至少一个环境模型参数的随机值;和
-基于所确定的随机值,执行(S200)对所述应用的模拟,特别是多阶段的模拟;
和以下步骤:
-借助于所述模拟,通过机器学习,训练(S200,S500)至少一个控制代理和/或至少一个分类代理,特别是借助于所述模拟的第一阶段来训练第一控制代理和/或第一分类代理,并且借助于所述模拟的另外的阶段来训练至少一个另外的控制代理和/或另外的分类代理;和
-借助于所述机器人来执行(S600)所述应用;
以及以下步骤中的至少一个:
-基于特别是多个经训练的控制代理来配置(S400)所述机器人的控制器,利用所述控制器完全或部分地执行所述应用;和/或
-借助于特别是多个经训练的分类代理对所述应用进行分类(S700)。
2.根据权利要求1所述的方法,其特征在于,所述至少一个控制代理和/或所述至少一个分类代理具有机器学习的异常识别和/或机器学习的误差识别和/或至少一个人工神经网络,特别是基于经训练的网络的结构和/或权重来配置所述机器人的控制器,和/或借助于强化学习和/或借助于所述机器人来训练所述至少一个控制代理和/或所述至少一个分类代理。
3.根据前述权利要求中任一项所述的方法,其特征在于,所述至少一个分类代理基于至少一个、特别是游动的时间段和/或在执行所述应用期间或之后对所述应用进行分类,和/或基于至少一个在执行所述应用时未测量的状态变量来训练所述至少一个控制代理和/或所述至少一个分类代理。
4.根据前述权利要求中任一项所述的方法,其特征在于,
-所述机器人参数包括所述应用的起始姿势、至少一个中间姿势和/或目标姿势,和/或机器人内部的力参数和/或至少暂时作用在所述机器人上的外力,和/或运动学的、特别是动态的机器人结构参数;和/或
-所述环境模型参数包括运动学的、特别是动态的环境,特别是负荷结构参数;和/或
-借助于机器人辅助的参数识别来确定所述机器人参数和/或所述环境模型参数。
5.根据前述权利要求中任一项所述的方法,其特征在于,检查是否能够利用所述机器人来实现起始姿势、中间姿势和/或目标姿势。
6.根据前述权利要求中任一项所述的方法,其特征在于,所述随机参数模型是基于所述应用和/或用户输入来设定,特别是从所提供的多个不同参数模型中选出和/或在所述应用的图示中通过标记的区域可视化,和/或所述机器人和/或环境模型参数是基于所述应用和/或用户输入来设定,特别是从所提供的多个不同参数中选出和/或在所述应用的图示中通过标记的区域可视化。
7.根据前述权利要求中任一项所述的方法,其特征在于,借助于至少一个另外的模拟,特别是基于至少一个机器人参数和/或至少一个环境模型参数的值的自动设定或用户设定,对所配置的机器人的控制器和/或机器学习的异常识别和/或误差识别进行测试,和/或借助于所述机器人进一步训练。
8.根据前述权利要求中任一项所述的方法,其特征在于,借助于机器学习设定所述随机参数模型。
9.一种用于配置机器人的控制器(1)以利用所述机器人执行应用的方法,其中所述方法包括以下被多次重复的步骤:根据权利要求1的方法,特别是附加地根据权利要求2至8中一项或多项的一个或多个特征,确定(S100)随机值,执行(S200)模拟,训练(S200)至少一个控制代理,和基于特别是多个经训练的控制代理来配置(S400)所述机器人的控制器以执行所述应用。
10.一种用于训练至少一个分类代理以对机器人应用分类的方法,特别是连同配置机器人的控制器(1)以根据前述权利要求所述的方法执行所述应用,其中,为了进行所述训练,该方法包括以下被多次重复的步骤:根据权利要求1的方法,特别是附加地根据权利要求2至8中一项或多项的一个或多个特征,确定(S100)随机值,执行(S200)模拟,训练(S500)至少一个分类代理,特别是训练(S200,S500)至少一个控制代理和至少一个分类代理。
11.一种用于借助于至少一个机器人(1)执行应用的方法,包括以下步骤:借助于所述机器人执行(S600)所述应用,其中,根据权利要求9所述的方法来配置用以完全或部分地执行所述应用的机器人的控制器,和/或借助于至少一个分类代理对所述应用进行分类,该分类代理是根据权利要求10所述的方法进行训练。
12.根据前述权利要求中任一项所述的方法,其特征在于,所述方法步骤中的至少一个具有通过软件助手、特别是用户界面引导的用户输入辅助。
13.根据前述权利要求中任一项所述的方法,其特征在于,所述方法步骤中的至少一个在云(4)中执行。
14.一种用于借助于至少一个机器人(1)执行应用的系统,其中,所述系统被设计为执行根据前述权利要求中任一项所述的方法和/或包括:
用于特别是基于设定的随机参数模型和/或借助于至少一个随机生成器(3a),多次重复地确定至少一个机器人参数和/或至少一个环境模型参数的随机值以及基于所确定的随机值执行对所述应用的模拟、特别是多阶段模拟的装置;和
用于借助于所述模拟,通过机器学习来训练至少一个控制代理和/或至少一个分类代理的装置,特别是借助于所述模拟的第一阶段来训练第一控制代理和/或第一分类代理,以及借助于所述模拟的另外的阶段来训练至少一个另外的控制代理和/或另外的分类代理;和/或包括:
用于借助于所述机器人执行所述应用的装置,其中,基于特别是多个经训练的控制代理对用于完全或部分地执行所述应用的机器人的控制器进行配置,和/或借助于特别是多个经训练的分类代理对所述应用进行分类;和/或包括:
用于基于特别是多个经训练的控制代理配置所述机器人的控制器以执行所述应用的装置;和/或包括:
用于借助于特别是多个经训练的分类代理对所述应用进行分类的装置。
15.一种用于配置机器人(1)的控制器(2)以执行预定的任务的方法,包括以下步骤:
检测(S10,S20)至少一个机器人参数和至少一个环境模型参数;
借助于至少一个基于所检测到的机器人参数和环境模型参数的模拟并借助于基于设定的代价函数的机器学习来训练(S40)代理;以及
基于经训练的代理来配置(S50)所述机器人的控制器。
16.根据权利要求16所述的方法,其特征在于,所述预定的任务包括所述机器人的至少一种运动,特别是所述机器人的至少一个按照计划的环境接触。
17.根据权利要求15和16中任一项所述的方法,其特征在于,所述机器人参数包括运动学的、特别是动态的机器人模型参数和/或负载模型参数,当前的机器人姿势和/或机器人运行时间;和/或
所述环境模型参数包括CAD模型参数和/或在所述环境模型中的机器人定位;和/或
借助于至少一个光学传感器来确定。
18.根据权利要求17所述的方法,其特征在于,所述光学传感器由人员或者由特别是被手动引导的机器人来引导。
19.根据权利要求15至18中任一项所述的方法,其特征在于,所述代理具有人工神经网络,特别地,基于经训练的网络的结构和/或权重对所述机器人的控制器进行配置,和/或借助于强化学习对所述代理进行训练。
20.根据权利要求15至19中任一项所述的方法,其特征在于,通过机器学习、特别是强化学习,借助于所述机器人进一步训练(S60)配置后的机器人的控制器。
21.根据权利要求15至20中任一项所述的方法,其特征在于,至少一个所述方法步骤具有通过软件助手、特别是用户界面引导的用户输入辅助,和/或将所述机器人参数和/或环境模型参数存储在管理壳和/或数据云中。
22.一种用于借助于至少一个机器人执行预定的任务的方法,其特征在于,所述机器人的控制器按照根据权利要求15至21中任一项所述的方法来配置。
23.一种系统,其被设计用于执行根据权利要求15至22中任一项所述的方法。
24.一种计算机程序产品,具有程序代码,所述程序代码存储在能由计算机读取的介质上,所述计算机程序产品用于执行根据权利要求1至13或15至22中任一项所述的方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019209616.6A DE102019209616A1 (de) | 2019-07-01 | 2019-07-01 | Durchführen einer vorgegebenen Aufgabe mithilfe wenigstens eines Roboters |
DE102019209616.6 | 2019-07-01 | ||
DE102020206924.7A DE102020206924A1 (de) | 2020-06-03 | 2020-06-03 | Durchführen einer Applikation mithilfe wenigstens eines Roboters |
DE102020206924.7 | 2020-06-03 | ||
PCT/EP2020/068241 WO2021001312A1 (de) | 2019-07-01 | 2020-06-29 | Durchführen einer applikation mithilfe wenigstens eines roboters |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114051444A true CN114051444A (zh) | 2022-02-15 |
CN114051444B CN114051444B (zh) | 2024-04-26 |
Family
ID=71401784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080047210.XA Active CN114051444B (zh) | 2019-07-01 | 2020-06-29 | 借助于至少一个机器人执行应用 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220339787A1 (zh) |
EP (1) | EP3993959A1 (zh) |
CN (1) | CN114051444B (zh) |
WO (1) | WO2021001312A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110000785B (zh) * | 2019-04-11 | 2021-12-14 | 上海交通大学 | 农业场景无标定机器人运动视觉协同伺服控制方法与设备 |
DE102021200569A1 (de) | 2021-01-22 | 2022-07-28 | Robert Bosch Gesellschaft mit beschränkter Haftung | Vorrichtung und Verfahren zum Trainieren eines Gaußprozess-Zustandsraummodells |
DE102021126188A1 (de) | 2021-10-08 | 2023-04-13 | Dürr Systems Ag | Überwachungsverfahren für einen Roboter und zugehörige Roboteranlage |
WO2024128344A1 (ko) * | 2022-12-14 | 2024-06-20 | 한국전자기술연구원 | 자산관리쉘 정보 모델을 활용한 장비 연동 및 데이터 시각화 방법 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105228712A (zh) * | 2013-05-31 | 2016-01-06 | 安凯公司 | 用于操纵、移动和/或重定向组件的移动代理 |
CN106457565A (zh) * | 2014-06-03 | 2017-02-22 | 阿蒂迈兹机器人技术有限公司 | 用于对机器人进行编程的方法和系统 |
DE202017106132U1 (de) * | 2016-10-10 | 2017-11-13 | Google Llc | Neuronale Netze zum Auswählen von durch einen Roboteragenten auszuführenden Aktionen |
CN108027897A (zh) * | 2015-07-24 | 2018-05-11 | 渊慧科技有限公司 | 利用深度强化学习的连续控制 |
CN108052004A (zh) * | 2017-12-06 | 2018-05-18 | 湖北工业大学 | 基于深度增强学习的工业机械臂自动控制方法 |
CN108701252A (zh) * | 2015-11-12 | 2018-10-23 | 渊慧科技有限公司 | 使用优先化经验存储器训练神经网络 |
CN109726813A (zh) * | 2017-10-27 | 2019-05-07 | 渊慧科技有限公司 | 任务的强化和模仿学习 |
CN109952582A (zh) * | 2018-09-29 | 2019-06-28 | 区链通网络有限公司 | 一种强化学习模型的训练方法、节点、系统及存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070185926A1 (en) * | 2005-11-28 | 2007-08-09 | Anand Prahlad | Systems and methods for classifying and transferring information in a storage network |
US8150101B2 (en) * | 2006-11-13 | 2012-04-03 | Cybernet Systems Corporation | Orientation invariant object identification using model-based image processing |
US9566710B2 (en) * | 2011-06-02 | 2017-02-14 | Brain Corporation | Apparatus and methods for operating robotic devices using selective state space training |
US9764468B2 (en) * | 2013-03-15 | 2017-09-19 | Brain Corporation | Adaptive predictor apparatus and methods |
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 |
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 |
US20190138623A1 (en) * | 2017-11-03 | 2019-05-09 | Drishti Technologies, Inc. | Automated birth certificate systems and methods |
US11340079B1 (en) * | 2018-05-21 | 2022-05-24 | AI Incorporated | Simultaneous collaboration, localization, and mapping |
-
2020
- 2020-06-29 CN CN202080047210.XA patent/CN114051444B/zh active Active
- 2020-06-29 EP EP20735370.7A patent/EP3993959A1/de active Pending
- 2020-06-29 WO PCT/EP2020/068241 patent/WO2021001312A1/de unknown
- 2020-06-29 US US17/616,757 patent/US20220339787A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105228712A (zh) * | 2013-05-31 | 2016-01-06 | 安凯公司 | 用于操纵、移动和/或重定向组件的移动代理 |
CN106457565A (zh) * | 2014-06-03 | 2017-02-22 | 阿蒂迈兹机器人技术有限公司 | 用于对机器人进行编程的方法和系统 |
CN108027897A (zh) * | 2015-07-24 | 2018-05-11 | 渊慧科技有限公司 | 利用深度强化学习的连续控制 |
CN108701252A (zh) * | 2015-11-12 | 2018-10-23 | 渊慧科技有限公司 | 使用优先化经验存储器训练神经网络 |
DE202017106132U1 (de) * | 2016-10-10 | 2017-11-13 | Google Llc | Neuronale Netze zum Auswählen von durch einen Roboteragenten auszuführenden Aktionen |
CN109726813A (zh) * | 2017-10-27 | 2019-05-07 | 渊慧科技有限公司 | 任务的强化和模仿学习 |
CN108052004A (zh) * | 2017-12-06 | 2018-05-18 | 湖北工业大学 | 基于深度增强学习的工业机械臂自动控制方法 |
CN109952582A (zh) * | 2018-09-29 | 2019-06-28 | 区链通网络有限公司 | 一种强化学习模型的训练方法、节点、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021001312A1 (de) | 2021-01-07 |
CN114051444B (zh) | 2024-04-26 |
EP3993959A1 (de) | 2022-05-11 |
US20220339787A1 (en) | 2022-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114051444B (zh) | 借助于至少一个机器人执行应用 | |
Kaspar et al. | Sim2real transfer for reinforcement learning without dynamics randomization | |
US9403273B2 (en) | Rapid robotic imitation learning of force-torque tasks | |
DE112019002310B4 (de) | Ausführen einer "peg in hole"-aufgabe mit unbekannter neigung | |
US10279476B2 (en) | Method and system for programming a robot | |
US9387589B2 (en) | Visual debugging of robotic tasks | |
DE102015010124B4 (de) | Roboterprogramm-Erzeugungsvorrichtung, die Roboterprogramm zum Reduzieren von Stössen der Gelenke des Roboters erzeugt | |
Skubic et al. | Acquiring robust, force-based assembly skills from human demonstration | |
US11975451B2 (en) | Simulation-in-the-loop tuning of robot parameters for system modeling and control | |
Chatzilygeroudis et al. | Benchmark for bimanual robotic manipulation of semi-deformable objects | |
Liu et al. | Learning peg-in-hole assembly using Cartesian DMPs with feedback mechanism | |
Liu et al. | Understanding multi-modal perception using behavioral cloning for peg-in-a-hole insertion tasks | |
Bargsten et al. | Experimental robot inverse dynamics identification using classical and machine learning techniques | |
Hebecker et al. | Towards real-world force-sensitive robotic assembly through deep reinforcement learning in simulations | |
Jha et al. | Imitation and supervised learning of compliance for robotic assembly | |
Skubic et al. | Learning force-based assembly skills from human demonstration for execution in unstructured environments | |
Taylor et al. | Analysis of grasping failures in multi-rigid body simulations | |
Kuan et al. | Reinforcement learning and robust control for robot compliance tasks | |
Neher et al. | Using game physics engines for hardware-in-the-loop material flow simulations: benefits, requirements and experiences | |
Aksu et al. | Virtual experimental investigation for industrial robotics in gazebo environment | |
Ossenkopf et al. | Reinforcement learning for manipulators without direct obstacle perception in physically constrained environments | |
US11921492B2 (en) | Transfer between tasks in different domains | |
DE102020206924A1 (de) | Durchführen einer Applikation mithilfe wenigstens eines Roboters | |
Mazlan et al. | Robot arm system based on augmented reality approach | |
Vergara et al. | Improving productivity and worker conditions in assembly: Part 2-Rapid deployment of learnable robot skills |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |