CN116533229A - 用于控制机器人设备的方法 - Google Patents
用于控制机器人设备的方法 Download PDFInfo
- Publication number
- CN116533229A CN116533229A CN202310119135.9A CN202310119135A CN116533229A CN 116533229 A CN116533229 A CN 116533229A CN 202310119135 A CN202310119135 A CN 202310119135A CN 116533229 A CN116533229 A CN 116533229A
- Authority
- CN
- China
- Prior art keywords
- task
- parameters
- control model
- robot control
- robot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000004590 computer program Methods 0.000 claims description 2
- 230000001419 dependent effect Effects 0.000 claims description 2
- 230000036962 time dependent Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 15
- 238000005457 optimization Methods 0.000 description 15
- 230000002123 temporal effect Effects 0.000 description 12
- 230000001276 controlling effect Effects 0.000 description 11
- 239000012636 effector Substances 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 7
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000006978 adaptation Effects 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000013179 statistical model Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 235000015220 hamburgers Nutrition 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 230000010399 physical interaction Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000005309 stochastic process Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
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
-
- 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
- B25J13/00—Controls for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- 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/1653—Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
-
- 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/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- 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/39—Robotics, robotics to robotics hand
- G05B2219/39205—Markov model
-
- 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/40—Robotics, robotics mapping to robotics vision
- G05B2219/40113—Task planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
用于控制机器人设备的方法。按照各种实施方式,描述了一种用于控制机器人设备的方法,所述方法具有:产生用于执行任务的机器人控制模型,其中所述机器人控制模型具有影响所述任务的执行的参数;借助于对目标函数的优化来调整所述机器人控制模型的参数,所述目标函数评估在执行所述任务时在至少一个连续传感器信号的时间变化过程方面是否符合至少一个条件;而且按照所述机器人控制模型来控制所述机器人设备,以利用经过调整的参数来执行所述任务。
Description
技术领域
本公开涉及用于控制机器人设备的方法。
背景技术
在机器人的执行(对象的)操纵的任务中,核心问题在于为相应的任务确定适合的(例如机器人臂的)轨迹。存在多种不同的方案,这些方案全部都具有不同特征,以便尽可能高效地解决特定任务类型。一个示例是示教学习(LfD,英文为learning fromdemonstration)。
在LfD的情况下,人类用户(“专家”)向机器人演示所意图的行为,即旨在解决特定任务的示例性轨迹。机器人从这些演示中学习机器人控制模型,并且从而拥有相对应的运动技能。例如参见Rozo,L.,Guo,M.,Kupcsik,A.G.,Todescato,M.,Schillinger,P.,Giftthaler,M.,...和Burger,M.“Learning and sequencing of object-centricmanipulation skillsfor industrial tasks”in2020IEEE/RSJ InternationalConference on Intelligent Robots and Systems(IROS)(9072-9079页)。IEEE,在下文称为参考文献[1],以了解基于所演示的技能的机器人支持的组装的更多细节。
当用于所希望的轨迹的标准难以明确描述时,LfD方法特别适用。然而,该方案只能够检测隐式标准,并且不存在用于添加其它明确的限制或者所希望的特性的通用机制。
为了解决这些限制,这些明确的条件可以以单独的形式来表达并且然后使用优化技术,以便改进最初学习的运动技能。例如,在Innes,C.和Ramamoorthy,S.的“Elaboratingon learned demonstrations with temporal logic specifications”,2020,arXivpreprint arXiv:2002.00784中,在下文称为参考文献[2],目标以线性时间逻辑(LTL代表英文Linear Temporal Logic(线性时态逻辑))、即时态(时间)逻辑的变体来表述,以便优化动态运动基元(DMP代表英文Dynamic Movement Primitives(动态运动基元))、即LfD的动态系统变体。
Dhonthi,A.,Schillinger,P.,Rozo,L.和Nardi,D.的论文(2021年)“Study ofSignal Temporal Logic Robustness Metrics for Robotic Tasks Optimization”,arXiv preprint arXiv:2110.00339,在下文称为参考文献[3],还描述了借助于STL(Signal Temporal Logic(信号时态逻辑))对条件的表述。
参考文献[2]的做法需要确定梯度,并且因此可被规定的显式条件的范围有限。
因此,值得期望的是能够在更大范围内规定显式条件的做法。
发明内容
按照各种实施方式,提供了一种用于控制机器人设备的方法,该方法具有:产生用于执行任务的机器人控制模型,其中该机器人控制模型具有影响任务的执行的参数;借助于对目标函数的优化来调整该机器人控制模型的参数,该目标函数评估在执行该任务时在至少一个连续传感器信号的时间变化过程方面是否符合至少一个条件;并且按照该机器人控制模型来控制该机器人设备,以利用经过调整的参数来执行该任务。
例如借助于黑盒优化(Black-Box-Optimierung)来进行对该目标函数的优化。黑盒优化(BBO)的使用消除了例如在参考文献[2]的方法中所需的梯度的必要性,并且因此能够通过更广泛的并且更有意义的信号范围来定义条件(例如借助于信号时态逻辑(STL)),例如对合力的限制的说明或者通常是轨迹的影响而不是该轨迹本身。因此,利用上述方法可以涵盖更广泛的应用。
在BBO的情况下,可以针对各种场景来执行该任务或者针对该目标函数的每次评估来使用同一场景(即例如对象始终处在相同位置)。尽可能保持场景相同以便使未知影响最小化可以有用。如果实际可行的话,针对每个参数集执行不同场景的集合并且通过执行来求平均值同样可以有用。从实际角度来看,也许可能无法准确重复场景,但是这也不是BBO的排除标准,而只可能会导致更差的结果或者更缓慢的优化。
上述机器人控制方法例如可以被用于机器人操纵任务,在这些机器人操纵任务中,专家规定或指定机器人的所希望的行为。尤其对于受机器人支持的组装来说情况如此,在这种情况下,某些组装步骤需要复杂的运动并且同时必须满足附加条件。例如,在组装过程中,必须将榫头以特定方式插入另一工件。人类可以演示该运动,原因在于可能会难以完全正式地描述该运动,但是仍然值得期望的是:实现某些限制、如接触力的降低或者目标位置精度,这些限制可能次优地被演示。
在下文说明了各种实施例。
实施例1是用于控制机器人设备的方法,如上所述。
实施例2是根据实施例1所述的方法,该方法还具有:按照时间信号逻辑以至少一个时间信号逻辑公式来表示该至少一个条件;将该至少一个时间信号逻辑公式转换成至少一个鲁棒性量度;并且通过确定该至少一个鲁棒性量度的值来评估该目标函数以执行该任务。
使用时间信号逻辑(STL代表英文Signal Temporal Logic)来检测条件,能够实现对条件的有意义的规范,例如通过为时间操作符指定时间间隔的可能性。换言之,该至少一个条件借助于一个或多个时间间隔和一个或多个连续信号来被表示。存在用于将STL公式转换成实值奖励函数、即所谓的鲁棒性量度的高效方法,这些鲁棒性量度能够基于其数学特性来实现对机器人控制模型的有意义的优化。
实施例3是根据实施例1或2所述的方法,其中该机器人控制模型的参数具有时间相关参数和位置相关参数。
具有这种参数的机器人控制模型、诸如具有持续时间概率作为时间相关参数以及(例如)平均方位作为位置相关参数的HSMM非常符合使用STL用于条件的规范,原因在于STL对时间和空间条件进行表述。
实施例4是根据实施例1至3中任一项所述的方法,其中所述机器人控制模型是隐式半马尔可夫模型(HSMM代表英文Hidden Semi Markov Mode;)。
使用HSMM模型(例如用于LfD)导致为所学习的技能(即用于执行该任务的技能)生成基于状态的离散模型,其中每个状态大致对应于沿着轨迹的概率路标并且转变时长定义了该轨迹的相应部段的执行速度。这为STL条件的规范提供了合理的基础,其方式是在STL目标与能力模型的参数之间建立自然联系。
实施例5是根据实施例1至4中任一项所述的方法,其中该至少一个连续传感器信号说明了该机器人设备的一部分的位置和/或作用于该机器人设备的一部分的力。
据此,尤其可以指定如下条件:该机器人设备(例如其末端执行器)停留在某些区域内(或者某些区域外)并且不超过所容许的力(该机器人设备例如将这些力施加于所操纵的对象)。
实施例6是一种机器人控制装置,该机器人控制装置被设立为实施根据实施例1至5中任一项所述的方法。
实施例7是一种计算机程序,该计算机程序包括指令,这些指令在由处理器实施时引起该处理器执行根据实施例1至5中任一项所述的方法。
实施例8是一种计算机可读介质,该计算机可读介质存储指令,这些指令在由处理器实施时引起该处理器执行根据实施例1至5中任一项所述的方法。
附图说明
在附图中,类似的附图标记通常表示在所有不同视图中的相同部分。这些附图不一定比例正确,其中重点反而通常在于呈现本发明的原理。在下文的描述中,参考如下附图来描述不同方面。
图1示出了机器人。
图2示出了流程图,该流程图阐明了机器人控制模型与按照上述四种操作所给定的条件的适配。
图3示出了呈现用于控制机器人设备的方法的流程图。
具体实施方式
下文的详细描述涉及随附的附图,这些附图为了阐述而示出了本公开的其中可实施本发明的特殊细节和方面。在不脱离本发明的保护范围的情况下,可以使用其它方面并且可以执行结构更改、逻辑更改和电更改。本公开的不同方面不一定是相互排斥的,因为本公开的一些方面可以与本公开的一个或多个其它方面相结合,以便形成新的方面。
在下文更详细地描述了各种示例。
图1示出了机器人100。
机器人100包括机器人臂101,例如用于操作或安装工件(或者一个或多个其它对象)的工业机器人臂。机器人臂101包括操纵器102、103、104和基座(或支座)105,通过该基座来支撑这些操纵器102、103、104。术语“操纵器”涉及机器人臂101的可运动元件,对这些可运动元件的操纵能够实现与环境的物理交互,例如以便执行任务。为了进行控制,机器人100包括(机器人)控制装置106,该(机器人)控制装置被配置为按照控制程序来实现与环境的交互。操纵器102、103、104的最后一个元件104(离支座105最远)也被称为末端执行器104,并且可包括一个或多个工具,诸如焊炬、抓具、喷漆工具等等。
其它操纵器102、103(更靠近基座105)可形成定位装置,使得在其端部具有末端执行器104的机器人臂101与末端执行器104一起被提供。机器人臂101是机械臂,该机械臂可以完成与人类手臂(可能利用在其端部处的工具)类似的功能。
机器人臂101可包括铰接元件107、108、109,这些铰接元件使操纵器102、103、104彼此连接并且与基座105连接。铰接元件107、108、109可具有一个或多个关节,所述一个或多个关节中的每个关节都可以提供所属的操纵器相对于彼此的可旋转运动(也就是说转动运动)和/或平移运动(也就是说位移)。操纵器102、103、104的运动可以借助于执行器来被引起,这些执行器由控制装置106来控制。
术语“致动器”可以被理解成设计为作为对其被驱动的反应而影响机构或过程的组件。该致动器可以将由控制装置106输出的指令(所谓的激励)转换成机械运动。执行器、例如机电转换器可以被配置为:应对该执行器的激励,作为反应将电能转换成机械能。
术语“控制装置”可以被理解成实现实体的任何类型的逻辑,该实体例如可包括电路和/或能够执行存储在存储介质中的软件的处理器、固件或者它们的组合,而且该实体可输出指令,例如向当前示例中的致动器输出指令。控制装置例如可以通过程序代码(例如软件)来被配置,以便控制机器人的运行。
在当前示例中,控制装置106包括存储器111和一个或多个处理器110,该存储器存储代码和数据,处理器110基于这些代码和数据来控制机器人臂101。按照各种实施方式,控制装置106基于存储在存储器111中的机器学习模型112来控制机器人臂101。机器人100例如应该拿起对象113。例如,末端执行器104是抓具并且旨在拿起对象113,但是末端执行器104例如也可以被设立为吸住对象113以将其拿起。
按照各种实施方式,使用示教学习(LfD代表英文Learning fromDemonstrations),以便教导机器人100来执行任务。人类演示可以通过机器学习模型112(在这种情况下是概率或统计模型)被编码,该机器学习模型表示机器人的任务的名义计划。然后,控制装置106可以使用统计模型112,该统计模型也称为机器人轨迹模型,以便产生所希望的机器人运动。
LfD的基本思路在于:使诸如GMM那样的所规定的运动技能模型与大量演示适配。应该存在M个演示,这些演示中的每个演示都包含针对N=∑mTm总观察的数据集的Tm个数据点,其中/>也假设:相同的演示从P个不同坐标系的角度被记录(通过任务参数给出,诸如局部坐标系或者感兴趣对象的参照系)。获得这种数据的常用方式在于:通过/>将演示从静态全局参照系变换到参照系p上。这里,是(局部)参照系p相对于全局坐标系(也就是说全局参照系)的平移和旋转。接着,通过模型参数/>来描述TP-GMM,其中K是在混合模型中高斯分量的数目,πk是每个分量的先前的概率,而且/>是在参照系p之内的第k个高斯分量的参数。
不同于标准GMM,上述混合模型无法针对每个参照系都单独被学习。实际上,混合系数πk被所有参照系共享,而且在参照系p中的第k个分量必须映射到全局参照系中的相对应的第k个分量上。期望最大化(EM)是学习这种模型的既定方法。
一旦该方法被学习,TP-GMM就可以在执行期间被使用,以便重现所学习的运动技能的轨迹。这包含对机器人的控制,使得该机器人从初始配置到达目标配置(例如该机器人的末端执行器104从初始姿势运动到最终姿势)。为此,计算在铰接元件107、108、109处的(与时间有关的)加速度。考虑到所观察到的参照系通过将关于不同参照系的仿射变换的高斯分量相乘来将所学习的TP-GMM转换成具有参数/>的单个GMM,如下
其中在每个参照系p处的被更新的高斯钟形参数都被计算为和/>尽管任务参数可能随时间发生变化,但是时间索引由于书写方式的原因而被省去。
隐式半马尔可夫模型(HSMM)通过嵌入底层随机过程的时间信息来扩展隐式标准马尔可夫模型(HMM)。也就是说,在HMM中将底层隐式过程假设为马尔可夫,也就是说转换到下一状态的概率只取决于当前状态,而在HSMM中将状态过程假设为半马尔可夫。这意味着:转换到下一状态取决于当前状态以及取决于自从进入该状态以来经过的时间。它们可以与TP-GMM相结合地被应用于机器人运动技能编码,以便学习演示的时空特征。被任务参数化的HSMM模型(TP-HSMM模型)被限定为:
其中ahk是从状态h到k的转换概率;描述了针对状态k的持续时间的高斯分布,也就是说对于特定数目的连续的步长来说保持在状态k的概率;等于先前引入的TP-GMM,该TP-GMM表示对应于状态k的观察概率。这里应注意:状态的数目是在“相关的”TP-GMM中的高斯分量的数目。
考虑到所观察到的数据点的特定的(部分)序列,应该假设:在Θ中的所属的状态序列通过st=s1s2…st来给出。数据点ξt属于状态k(即st=k)的概率通过前向变量来给出:
其中是发射概率,而且/>在考虑任务参数的情况下从(1)推导出。此外,同一前向变量也可以在重现期间被使用,以便预测直至Tm为止的将来的步骤。
然而,由于在这种情况下将来的观察不可用,所以只使用转换和持续时间信息,也就是说通过在(2)中针对所有k和l>t设置最后,通过选择来确定最可能状态的序列/>
现在,应该给出机器人状态的所希望的最终观察作为ξT,其中T是运动技能时间范围(例如演示的平均长度)。此外,观察初始机器人状态作为ξ1。为了在考虑所学习的模型Θa的情况下实施运动技能(也就是说运动技能重现),只在考虑仅仅ξ1和ξT的情况下构建最可能状态序列
在这种情况下,无法直接使用前向变量来进行重现,原因在于等式(2)中的前向变量计算边缘最可能状态的序列,而希望的是在考虑ξ1和ξT的情况下的集体最可能状态序列。因此,如果使用(2),则不保证返回的序列既对应于演示的时空模式又对应于最终观察。就用于拿起对象的示例而言,它可能返回最可能序列,该最可能序列对应于“从侧面拿起”,即使所希望的最终配置在于末端执行器位于对象的上方。
为了解决该问题,按照一个实施方式,使用维特比(Viterbi)算法的改型。传统的维特比算法可以被用于在HMM中找到最可能状态序列(也称为维特比路径),这些最可能状态引起给定的观察事件流。按照一个实施方式,使用如下方法,该方法与那个方法在如下两个主要方面有区别:(a)该方法在HSMM处工作而不是在HMM处工作;而且更重要的是(b)除了第一个和最后一个观察之外的大多数观察缺失。尤其是,在缺少观察的情况下,维特比算法变成
δ1(j)=bj(ξ1)πjpj(1),
其中是状态j的持续时间概率,δt(j)是系统在时间t处于状态j而在t+1时不在状态j的概率,而且
其中是在考虑ξt′的情况下在(1)的Θa中的全局高斯分量j。即,在每个时间t并且针对每个状态j,都记录使等式δt(j)最大化的两个自变量,并且使用简单的追溯程序,以便找到最可能状态序列/>换言之,上述算法基于ξ1来推导得到最终观察ξT的运动技能a的最可能序列/>
对于机器人100的(运动)技能,现在可能在某些应用中值得期望的是:机器人100在执行技能时所遵循的某些条件可以被定义。对此的示例是:不超过一定的力或摩擦(例如两个部分没有彼此被压得太紧或者套筒没有以太大的摩擦力在杆上被推过)或者也没有留下一定的空间区域。
按照各种实施方式,提供了一种用于考虑在借助于LfD所学习的技能(或能力)内的正式规范的方法。具体来说,按照各种实施方式,使用信号时态逻辑(STL)、即与LTL相比更具表现力的时态逻辑的变体,用于以奖励函数的形式来表述任务规范,并且使用黑盒优化方法(BBO),以便调整借助于作为隐式半马尔可夫模型(HSMM)的LfD来被学习的技能。
与此相对应地,各种实施方式基于STL、BBO和借助于作为HSMM的LfD对机器人技能的学习。为了将STL规范转换成BBO的目标函数,参见描述各种鲁棒性量度的参考文献[3],这些鲁棒性量度可以结合在下文所描述的实施方式来被使用。对于BBO来说,可以使用贝叶斯优化(BO)或者CMA-ES(协方差矩阵适应演化策略(Covariance Matrix AdaptationEvolution Strategy))。在下文所描述的实施方式没有对所使用的BB优化技术做出具体假设。
按照各种实施方式,借助于优化方法来改进用于特定技能的机器人控制模型,使得该机器人控制模型考虑给定条件。这通过迭代过程来进行,其中以下操作(1至4,参见下文)被重复任意次数,以便关于反映这些给定条件的目标的规范来获得该机器人控制模型的经改进的版本。
基于例如从人类演示的集合(例如参考轨迹)和条件的正式STL规范(例如在执行任务时的作为约束条件的所要实现的目标)来得出的用于技能的初始机器人控制模型、按照各种实施方式是HSMM,(例如由控制装置106)重复执行如下步骤:
1)确定用于该技能的机器人模型的改型(变体);
2)借助于机器人模型的改型来执行该技能并且记录在此出现的(传感器)信号;
3)评估所记录的信号在多大程度上对应于这些条件的指定的STL规范(即满足这些条件);
4)更新BBO优化器并且记住当前最好的改型(就满足这些条件而言)。
图2示出了流程图200,该流程图阐明了机器人控制模型与按照上述四种操作所给定的条件的适配。
对于操作1)来说,用于技能的机器人控制模型可以以各种方式、即通过该机器人控制模型的一系列不同参数201的修改来被改变。基于HSMM模型的表示,这种参数201的自然选择是组分的中间位置组分/>的时长的概率分布的参数以及组分之间的转换概率ahk。这些参数针对每个变体由于干扰(变化)/>Δahk来被修改,以便对该机器人控制模型进行改型。
此外,对于操作1),可以以各种方式来确定用于该改型的参数,并且对这些参数的确定主要取决于BBO方法的选择。例如,参数值可以被随机选择。在贝叶斯优化(BO)中,这些参数值通常(从优化参数的初始化204出发)通过对所谓的获取函数202的优化来被确定,其中形成对(未知的)待优化的函数的替代(例如高斯过程203),以便对在参数的选择与预期目标值之间的关系进行建模。在使用CMA-ES的情况下,这些参数值取自概率分布,该概率分布随着时间的推移被修改,以便以更高的概率对引起更高的目标函数的参数进行采样。
在对该机器人控制模型的改型之后,按照改型后的机器人控制模型来实施206该技能。
对于操作2),给定的STL规范205通过一系列所谓的谓词来表达,这些谓词需要该技能的实施的某些特性,例如保持较小的接触力或者留在工作空间的特定区域之外或之内。由此,直接说明:哪些传感器信号必须在执行任务期间被记录,即哪些参量必须被测量(即例如机器人的、例如末端执行器104的相应的接触力或位置)。
在操作3)中,在该实施206时所记录的信号被离散化,并且针对这些信号可以计算STL规范205的鲁棒性指标207的值(例如参考文献[3]中所述)。存在具有适合于任务优化的目的的不同特性的鲁棒性指标的不同表述。一个直观的指标是所谓的空间鲁棒性,该空间鲁棒性针对离散化信号的每个单独时间点测量关于命题真值的变化的信号值的距离。该空间鲁棒性例如测量在所测量的力与指定接触力之差,或者该空间鲁棒性测量距工作空间中的特定区域的欧几里得距离。
对于操作4),现在不仅模型参数201的变化而且所得到的STL指定目标的值207都是已知的,并且可以被转交给所使用的BBO方法。该操作还取决于所使用的BBO方法。在BO的情况下,例如对高斯过程(GP)203进行更新,以便将所获得的观察包含在内,或者在CMA-ES的情况下,对样本分布相对应地进行更新。在极端情况下、例如在参数的随机抽样时,可以省去该步骤。
概括来说,按照各种实施方式,提供了一种如图3中所示的方法。
图3示出了呈现用于控制机器人设备的方法的流程图300。
在301中产生用于执行任务的机器人控制模型,其中该机器人控制模型具有影响对该任务的执行的参数。
在302中,借助于对目标函数的优化来调整该机器人控制模型的参数,该目标函数评估在执行该任务时在至少一个连续传感器信号的随时间的变化过程方面是否符合至少一个条件。
在303中,按照该机器人控制模型来控制该机器人设备,以利用经过调整的参数来执行该任务。
图3的方法可以通过具有一个或多个数据处理单元的一个或多个计算机来被执行。术语“数据处理单元”可以被理解成能够处理数据或信号的任何类型的实体。例如,这些数据或信号可以按照至少一个(也就是说一个或超过一个)特定功能来被处理,所述功能由数据处理单元来执行。数据处理单元可以包括模拟电路、数字电路、逻辑电路、微处理器、微控制器、中央单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、可编程门装置(FPGA)的集成电路或者它们的任意组合或者由这些来构造。用于实现本文中更详细地描述的相应功能的任何其它方式也可以被理解成数据处理单元或者逻辑电路装置。这里详细描述的方法步骤中的一个或多个可以由数据处理单元通过一个或多个特定功能来实施(例如实现),所述功能由该数据处理单元来执行。
图3的方法用于产生针对机器人设备的控制信号。术语“机器人设备”可以被理解成涉及任何(具有其运动被控制的机械部分的)技术系统,诸如受计算机控制的机器、车辆、家用电器、电动工具、制造机器、私人助理或门禁系统。针对该技术系统的控制规则被学习,并且该技术系统接着相对应地被控制。
为了产生该控制信号,对从一个或多个所接收到的传感器信号中获得的(传感器)数据进行处理,例如以标量时间序列的形式,这些标量时间序列包含关于任何类型的轨迹的特定数据,诸如机器人末端执行器姿势(位置和方向)、力、机器人链节力等等。
对这些传感器数据进行处理,这可以包含对这些传感器数据进行分类或者在这些传感器数据上执行语义分割,以便就由用户给定的一个或多个条件的正式规范是否符合(以及符合的量化)而言,探测(在获得这些传感器数据的环境中)是否存在对象。
实施方式可以在训练机器学习系统并且控制机器人、例如由机器人操纵器自主地控制机器人的框架内被使用,以便在不同场景下实现不同的操纵任务。尤其是,实施方式能应用于控制和监视操纵任务的实施,例如在装配线中。这些实施方式例如可以与用于控制过程的传统GUI无缝集成(例如以便能够实现用户对条件的规范)。
尽管这里呈现和描述了特定实施方式,但是本领域技术人员认识到:所示出和描述的特定实施方式可以被替换成多种替代和/或等效的实现方案,而不脱离本发明的保护范围。本申请应该涵盖这里所讨论的特定实施方式的任何调整或变化。因而旨在仅通过权利要求书及其等效物来限制本发明。
Claims (8)
1.一种用于控制机器人设备的方法,所述方法具有:
产生用于执行任务的机器人控制模型,其中所述机器人控制模型具有影响所述任务的执行的参数;
借助于对目标函数的优化来调整所述机器人控制模型的参数,所述目标函数评估在执行所述任务时在至少一个连续传感器信号的时间变化过程方面是否符合至少一个条件;
按照所述机器人控制模型来控制所述机器人设备,以利用经过调整的参数来执行所述任务。
2.根据权利要求1所述的方法,所述方法还具有:按照时间信号逻辑以至少一个时间信号逻辑公式来表示所述至少一个条件;将所述至少一个时间信号逻辑公式转换成至少一个鲁棒性量度;并且通过确定所述至少一个鲁棒性量度的值来评估所述目标函数以执行所述任务。
3.根据权利要求1或2所述的方法,其中所述机器人控制模型的参数具有时间相关参数和位置相关参数。
4.根据权利要求1至3中任一项所述的方法,其中所述机器人控制模型是隐式半马尔可夫模型(HSMM代表英文Hidden Semi Markov Model)。
5.根据权利要求1至4中任一项所述的方法,其中所述至少一个连续传感器信号说明所述机器人设备的一部分的位置和/或作用于所述机器人设备的一部分的力。
6.一种机器人控制装置,所述机器人控制装置被设立为实施根据权利要求1至5中任一项所述的方法。
7.一种计算机程序,所述计算机程序包括指令,所述指令在由处理器实施时引起所述处理器执行根据权利要求1至5中任一项所述的方法。
8.一种计算机可读介质,所述计算机可读介质存储指令,所述指令在由处理器实施时引起所述处理器执行根据权利要求1至5中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102022201116.3A DE102022201116B4 (de) | 2022-02-02 | 2022-02-02 | Verfahren zum Steuern einer Robotervorrichtung |
DE102022201116.3 | 2022-02-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116533229A true CN116533229A (zh) | 2023-08-04 |
Family
ID=87160520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310119135.9A Pending CN116533229A (zh) | 2022-02-02 | 2023-01-31 | 用于控制机器人设备的方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230241772A1 (zh) |
JP (1) | JP2023113133A (zh) |
CN (1) | CN116533229A (zh) |
DE (1) | DE102022201116B4 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117656082B (zh) * | 2024-01-29 | 2024-05-14 | 青岛创新奇智科技集团股份有限公司 | 基于多模态大模型的工业机器人控制方法及装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102019001207A1 (de) | 2018-02-19 | 2019-08-22 | Boll Automation Gmbh | Kollaborativer Roboter und Verfahren zum Betreiben eines kollaborativen Roboters und Verwendung zum Bearbeiten eines Werkstücks |
EP3587045A1 (de) | 2018-06-28 | 2020-01-01 | Siemens Aktiengesellschaft | Verfahren und vorrichtung zum rechnergestützten ermitteln von regelparametern für eine günstige handlung eines technischen systems |
DE102019203634A1 (de) | 2019-03-18 | 2020-09-24 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Ansteuern eines Roboters |
DE102019207410A1 (de) | 2019-05-21 | 2020-11-26 | Robert Bosch Gmbh | Verfahren und Vorrichtung für eine automatisierte Beeinflussung eines Aktuators |
EP3753684B1 (en) | 2019-06-21 | 2022-08-10 | Robert Bosch GmbH | Method and system for robot manipulation planning |
DE102019216229B4 (de) | 2019-10-07 | 2022-11-10 | Robert Bosch Gmbh | Vorrichtung und Verfahren zum Steuern einer Robotervorrichtung |
US20210125052A1 (en) | 2019-10-24 | 2021-04-29 | Nvidia Corporation | Reinforcement learning of tactile grasp policies |
DE102020206916A1 (de) | 2020-06-03 | 2021-12-09 | Robert Bosch Gesellschaft mit beschränkter Haftung | Steuereinrichtung und Verfahren zum Auswählen von Auswertungspunkten für ein Bayessches Optimierungsverfahren |
DE102020207085A1 (de) | 2020-06-05 | 2021-12-09 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum steuern eines roboters und robotersteuereinheit |
DE102020209685B4 (de) | 2020-07-31 | 2023-07-06 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum steuern einer robotervorrichtung und robotervorrichtungssteuerung |
-
2022
- 2022-02-02 DE DE102022201116.3A patent/DE102022201116B4/de active Active
-
2023
- 2023-01-30 US US18/161,142 patent/US20230241772A1/en active Pending
- 2023-01-31 CN CN202310119135.9A patent/CN116533229A/zh active Pending
- 2023-02-01 JP JP2023013714A patent/JP2023113133A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2023113133A (ja) | 2023-08-15 |
DE102022201116B4 (de) | 2024-05-16 |
US20230241772A1 (en) | 2023-08-03 |
DE102022201116A1 (de) | 2023-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | A survey for machine learning-based control of continuum robots | |
JP7387920B2 (ja) | ロボットを制御するための方法及びロボットコントローラ | |
JP5225720B2 (ja) | ロボットのモーションの発生及び制御のための装置ならびに方法 | |
CN112109079A (zh) | 用于机器人操控规划的方法和系统 | |
CN112045675B (zh) | 机器人设备控制器、机器人设备系统及其控制方法 | |
EP3743250A1 (en) | Reinforcement learning for contact-rich tasks in automation systems | |
KR20220155921A (ko) | 로봇 디바이스를 제어하기 위한 방법 | |
CN114474106A (zh) | 用于控制机器人装置的方法和机器人控制装置 | |
CN112847355B (zh) | 一种基于dmp的机器人螺栓旋拧方法及系统 | |
US20220371194A1 (en) | Method for controlling a robotic device | |
CN114516060A (zh) | 用于控制机器人装置的设备和方法 | |
CN116533229A (zh) | 用于控制机器人设备的方法 | |
CN114290323A (zh) | 用于控制机器人装置的装置和方法 | |
US20210213605A1 (en) | Robot control unit and method for controlling a robot | |
Havoutis et al. | Online incremental learning of manipulation tasks for semi-autonomous teleoperation | |
JP2023526211A (ja) | 分散型ロボット実証学習 | |
JP7375587B2 (ja) | 軌道生成装置、多リンクシステム、及び軌道生成方法 | |
JP5447811B2 (ja) | 経路計画生成装置および該方法ならびにロボット制御装置およびロボットシステム | |
Kulić et al. | Incremental learning of full body motion primitives | |
Ekvall et al. | Online task recognition and real-time adaptive assistance for computer-aided machine control | |
Guo et al. | Robot path planning via deep reinforcement learning with improved reward function | |
JP2024001878A (ja) | 制御ルールを実装するための機械学習モデルをトレーニングするための方法 | |
US20230141855A1 (en) | Device and method for controlling a robot device | |
US20240046126A1 (en) | Method for controlling a technical system | |
Wang et al. | Reinforcement Learning based End-to-End Control of Bimanual Robotic Coordination |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |