CN116079762A - 用于控制机器人设备的设备和方法 - Google Patents
用于控制机器人设备的设备和方法 Download PDFInfo
- Publication number
- CN116079762A CN116079762A CN202211373918.1A CN202211373918A CN116079762A CN 116079762 A CN116079762 A CN 116079762A CN 202211373918 A CN202211373918 A CN 202211373918A CN 116079762 A CN116079762 A CN 116079762A
- Authority
- CN
- China
- Prior art keywords
- selection
- function
- model
- user input
- robotic device
- 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
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/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
-
- 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
- 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/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/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/1679—Programme controls characterised by the tasks executed
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Manipulator (AREA)
Abstract
根据各种实施例,描述了一种用于控制机器人设备的方法,包括:提供选择模型,以及执行多个任务实例,包括:在每次执行中,当机器人设备的功能需要被选择以执行任务实例时,检查所述选择模型是否提供了功能的选择,并且如果是,则控制机器人设备执行由所述选择模型选择的功能,并且如果否,则接收指示功能的选择的用户输入,根据由用户输入指示的选择来选择功能,控制机器人设备执行根据由用户输入指示的选择而选择的功能,以及根据由用户输入指示的选择来训练所述选择模型。
Description
技术领域
本公开涉及用于控制机器人设备的设备和方法。
背景技术
机器人技能可以通过示范学习(learning-from-demonstration)(LfD)方法被编程,其中机器人从示范中学习技能的名义计划(nominal plan)。LfD的主要思想是通过机器人要处置的目标对象和监测机器人工作空间的相机的姿态(pose)来将高斯(Gaussians)参数化。示范学习提供了快速、直观且高效的构架(framework)来对机器人技能进行编程,例如用于工业应用。然而,复杂的操纵任务通常包含共享一些共同技能的技能序列的多个分支,而不是单个动作。因此,需要计划过程,该计划过程在不同的场景下生成正确的技能序列以及其参数。例如,箱拾取(bin-picking)任务涉及从箱中拾取对象(取决于它在箱中位于何处),从拐角清除它(如果需要的话),将它重新定向以揭示它的条形码,并且向扫描仪示出该条形码。选择正确的技能序列对于跨各种应用的灵活机器人系统来说是至关重要的。手动地指定技能和相关联的条件之间的这种转变(transition)通常是困难且乏味的。
因此,用于在各种场景下选择技能基元(skill primitives)的正确序列和每个技能基元的正确参数的可靠方法是合期望的。
发明内容
根据各种实施例,提供了一种用于控制机器人设备的方法,包括:针对多个功能中的每个功能来提供用于控制机器人设备执行所述功能的控制模型;提供用于在所述多个功能当中进行选择的选择模型;由机器人设备来执行多个任务实例,包括:在每次执行中,当所述多个功能中的功能需要被选择以执行任务实例时,检查所述选择模型是否提供了功能的选择,以及如果所述选择模型提供了功能的选择,则使用针对所选功能的控制模型来控制机器人设备执行由所述选择模型选择的功能,以及如果所述选择模型没有提供功能的选择,则接收指示功能的选择的用户输入,根据由用户输入指示的选择来选择功能,使用针对所选功能的控制模型来控制机器人设备执行根据由用户输入指示的选择而选择的功能,以及根据由用户输入指示的选择来训练所述选择模型。
因此,上面描述的方法允许在通过用户(即,人类)输入控制机器人设备期间在运行中(on the fly)训练选择模型。所提供的选择模型可以是未经训练的或是仅预训练的,使得至少对于机器人设备(或受控系统,其例如包括诸如对象之类的环境的配置)的一些配置,所述选择模型没有提供功能的选择。在任务实例的执行期间,所述选择模型变得越来越可靠,使得最终,机器人设备能够执行包括多个技能和/或技能分支的序列的复杂操纵任务。
在下文中,给出了各种示例。
示例1是如上所描述的用于控制机器人的方法。
示例2是示例1的方法,其中所述选择模型针对所述多个功能中的功能的选择输出置信度的指示,并且其中根据由用户输入指示的选择来训练所述选择模型包括:调整所述选择模型以增加由所述选择模型输出的对于选择根据由用户输入指示的选择而选择的功能的置信度。
因此,机器人设备对于它已经针对其接收到用户输入的选择变得越来越确信,直到它可以自主地作出行为。
示例3是示例1或2的方法,其中所述选择模型针对所述多个功能中的功能的选择输出置信度的指示,并且检查所述选择模型是否提供了功能的选择包括:检查所述选择模型是否针对所述功能的选择输出了高于预定置信度下限的置信度的指示。
因此,所述选择模型被训练,使得它关于功能的选择变得越来越确定,直到它针对某些选择(例如,针对在某些状态下的技能分支选择)已经达到足够的置信度。然后,用户输入不再是必要的(并且例如,用户输入不再被请求)。因此,用户的努力随着时间而减少,并且机器人设备可以最终自主地执行该任务。
另一方面,在尚未遇见过的情形中(并且因此,置信度是低的),用户输入被用作该选择的基础。因此,可以避免可能例如导致对机器人设备或被处置对象的损坏的错误决策。
示例4是示例1至3中任一个的方法,其中所述功能包括技能和技能分支,并且所述选择功能被训练成针对替代的技能的集合提供技能的选择,并且针对替代的技能分支的集合提供分支的选择。
因此,使用层级式方法,在其中,执行技能的选择,并且针对所选技能,执行分支的选择。所述选择模型因此可以包括边选择器(用于在技能当中进行选择,例如在任务网络中)和分支选择器(用于在技能分支当中进行选择)。这使得该选择对于人类用户是更容易理解的并且因此是更直观的,从而减少了该选择中的错误和用户努力。
示例5是示例1至4中任一个的方法,其中针对每个功能来提供所述控制模型包括执行所述功能的示范以及使用所述示范来训练所述控制模型。
换句话说,所述功能(例如,基元技能)是通过示范从学习中训练的。这提供了一种学习基元技能的高效方法。
示例6是示例1至5中任一个的方法,其中所述选择模型是逻辑回归模型。
这允许从少量数据来进行可靠快速的训练(和重新训练)。
示例7是示例1至6中任一个的方法,包括:如果所述选择模型没有提供功能的选择,则暂停机器人设备的操作,直到指示功能的选择的用户输入已经被接收到为止。
因此,机器人设备进行操作,直到它的控制器不再能够决定继续进行哪个功能,并且然后暂停,直到用户引导它。因此,可以避免可能导致损坏的错误操作。此外,机器人设备暂停向用户指示需要用户输入。
示例8是一种机器人控制器,其被配置成执行示例1至7中任一个的方法。
示例9是一种包括指令的计算机程序,所述指令在由计算机执行时使得所述计算机实行根据示例1至7中任一个的方法。
示例10是一种包括指令的计算机可读介质,所述指令在由计算机执行时使得所述计算机实行根据示例1至7中任一个的方法。
附图说明
在附图中,相似的附图标记遍及不同的视图通常指代相同的部分。附图不一定按比例绘制,取而代之,重点通常被置于说明本发明的原理上。在以下描述中,参考以下附图描述了各种方面,在附图中:
图1示出了机器人。
图2图示了根据一实施例的用于任务目标的机器人控制。
图3图示了边选择器(edge selector)和分支选择器的特征向量的确定。
图4示出了图示用于控制机器人设备的方法的流程图。
具体实施方式
以下详细描述参考了附图,这些附图以说明的方式示出了其中可以实践本发明的本公开的具体细节和方面。在不脱离本发明的范围的情况下,可以利用其他方面,并且可以做出结构、逻辑和电气改变。本公开的各种方面不一定是互相排斥的,因为本公开的一些方面可以与本公开的一个或多个其他方面组合以形成新的方面。
在下文中,将更详细地描述各种示例。
图1示出了机器人100。
机器人100包括机器人臂101,例如用于处置或组装工件(或一个或多个其他对象)的工业机器人臂。机器人臂101包括操纵器102、103、104和基座(或支撑件)105,操纵器102、103、104由该基座(或支撑件)105来支撑。术语“操纵器”指的是机器人臂101的可移动构件,其致动使得能够与环境进行物理交互,例如以执行任务。为了控制,机器人100包括(机器人)控制器106,控制器106被配置成根据控制程序来实现与环境的交互。操纵器102、103、104的最后的构件104(距支撑件105最远)也被称为末端执行器(end-effector)104,并且可以包括一个或多个工具,诸如焊枪(welding torch)、夹持器械(gripping instrument)、喷漆设备等。
其他操纵器102、103(更靠近支撑件105)可以形成定位设备,使得与末端执行器104一起,提供了在其末端处具有末端执行器104的机器人臂101。机器人臂101是能够提供与人类臂(可能在其末端处具有工具)类似的功能的机械臂。
机器人臂101可以包括将操纵器102、103、104彼此互连并与支撑件105互连的关节元件107、108、109。关节元件107、108、109可以具有一个或多个关节,每个关节可以向相关联的操纵器提供相对于彼此的可旋转运动(即,旋转运动)和/或平移运动(即,位移)。操纵器102、103、104的移动可以借助于由控制器106控制的致动器来发起。
术语“致动器”可以被理解为被适配成响应于被驱动而影响机构或过程的组件。致动器可以将控制器106发出的指令(所谓的激活)实现为机械移动。致动器(例如,机电转换器)可以被配置成响应于驱动而将电能转换成机械能。
术语“控制器”可以被理解为任何类型的逻辑实现实体,其可以包括例如能够执行被存储在存储介质中的软件、固件或其组合的电路和/或处理器,并且其可以例如向本示例中的致动器发出指令。控制器可以例如由程序代码(例如,软件)配置成控制系统(在本示例中为机器人)的操作。
在本示例中,控制器106包括一个或多个处理器110以及存储代码和数据的存储器111,处理器110基于该代码和数据来控制机器人臂101。根据各种实施例,控制器106基于被存储在存储器111中的机器学习模型112来控制机器人臂101。机器学习模型112包括用于技能和技能分支的控制模型以及用于在技能和技能分支当中进行选择的选择模型。
机器人100可以利用示范学习(LfD)方法来学习执行技能或与人类伙伴协作。人类示范可以由概率模型(也被称为控制模型)来编码。控制器106可以随后使用该控制模型(也被称为机器人轨迹模型)来生成期望的机器人移动,可能作为人类伙伴、机器人和机器人环境两者的状态(配置)的函数。
LfD的基本思想是将规定的技能模型(诸如GMM)拟合到少量示范。令存在M个示范,每个示范包含针对总共个观测结果的数据集的Tm个数据点,其中。此外,假定相同的示范是从P个不同坐标系的角度被记录的(由任务参数给出,诸如局部坐标系或感兴趣对象的框架(frame))。获得这种数据的一种常见方式是通过将这些示范从静态全局框架变换到框架p。这里,是(局部)框架p关于世界(即,全局)框架的平移和旋转。然后,TP-GMM由模型参数来描述,其中K表示混合模型中的高斯分量的数量,πk是每个分量的先验概率,并且是框架p内的第k个高斯分量的参数(均值和协方差)。
与标准GMM不同,上述混合模型不能够针对每个框架独立地学习。实际上,混合系数πk由所有框架共享,并且框架p中的第k个分量必须映射到全局框架中的对应的第k个分量。期望最大化(EM)是用于学习这种模型的确立已久的方法。
一旦被学习,TP-GMM就可以在执行期间被使用以再现所学习技能的轨迹。
隐半马尔可夫模型(HSMM)通过嵌入基础随机过程的时间信息来扩展标准隐马尔可夫模型(HMM)。也就是说,虽然在HMM中,基础隐藏过程被假定为马尔可夫的,即,转变到下一个状态的概率仅取决于当前状态,但是在HSMM中,状态过程被假定为半马尔可夫的。这意味着到下一个状态的转变取决于当前状态以及自从进入该状态以来所经过的时间。它们可以与TP-GMM结合地被应用于机器人技能编码,以学习示范的时空特征,从而得到任务参数化的HSMM(TP-HSMM)模型。任务参数化的HSMM(TP-HSMM)模型被定义为:
其中ahk是从状态h到k的转变概率;描述了状态k的持续时间的高斯分布,即在状态k中保持达某个数量的连续步长的概率;等于较早介绍的TP-GMM,其表示对应于状态k的观测概率。要注意的是,在本文中,状态数量对应于“被附加的”TP-GMM中的高斯分量的数量。
现在考虑静态和已知工作空间内的多DoF(自由度)机器人臂101,该机器人臂101的末端执行器104具有状态
r,诸如其6-D姿态和夹持器状态。此外,存在多个感兴趣对象113,由表示,诸如其6-D姿态。
假定存在使得该机器人能够操纵这些对象的基元技能的集合,由 表示。对于每个技能,人类用户在该机器人上执行若干个动觉示范。特别地,对于技能,所涉及的对象集合由给出,并且示范集合由 给出,其中每个示范是由末端执行器状态
r和对象状态组成的定时状态序列,即 。
因此,对于每个(基元)技能,TP-HSMMΘ a (即,控制模型)如在等式(1)中那样来学习。
经由这些技能的组合,对象113可以由机器人臂101来操纵以达到不同的状态。机器人100(具体地是控制器106)被训练成用于通用操纵任务是合期望的,即应当能够执行通用任务的不同实例。每个任务实例由初始状态s0和(至少一个)期望目标状态sG的集合来指定。任务(实例)当系统状态(也被称为配置)从s0改变为sG时被解决。
因此,在给定新任务(s0; sG)的情况下,控制器106应当确定:(i)(基元)技能的离散序列和(ii)用于执行每个技能的连续机器人轨迹。这里,任务可以是复杂操纵任务的实例,其中期望技能的序列和相关联的轨迹显著地取决于任务实例的场景。
图2图示了根据一实施例的用于任务目标201的机器人控制。
根据各种实施例,控制器实现(扩展的)基元技能模型202和GTN(几何任务网络),该基元技能模型202和GTN在在线执行期间通过人类输入被交互式地训练。
基元技能学习
如针对技能模型202中的技能所图示的,通常存在在不同场景下执行相同技能的多种方式(被称为分支)。例如,存在五种不同的从箱中拾取对象的方式,即取决于距每个边界的距离以不同的角度来逼近。为了处置分支化(branching),控制器针对每个(基元)技能来实现分支选择器207,作为对该技能的TP-HSMM模型Θ a 的扩展。
控制器106从示范205和在线指令204来训练分支选择器207,以针对要被执行以实现任务目标201的每个技能202来选择分支206。换句话说,分支206是该技能的变体。例如,该技能可以是从箱中拾取对象,并且分支可以是从左边、从右边来拾取对象,这取决于该对象在箱中位于何处。例如,如果它被定位成其右侧靠近箱壁,则分支选择器207选择用于从左边拾取该对象的分支。
考虑具有M个示范(来自针对所有技能提供的示范205)和B个不同分支的技能基元a。该技能的每个执行轨迹或示范由 来表示,其与恰好一个分支 相关联。令表示这种轨迹的集合,其被初始化为示范集合(并且在操作期间由在线指令204来补充)。通过抽象机器人臂101和对象113的坐标(由表示),从初始状态s0来计算与相关联的框架,其中是框架
p∈{1,⋯,
P}的框架的坐标;它们的次序可以自由地选择,但是此后被固定。然后,控制器106导出特征向量:
其中是从框架F i 到框架F j 的相对变换,是相对姿态,并且是相对取向。因此,在给定Ja的情况下,控制器106可以构造用于分支选择器207的训练数据:
其中
b m 是轨迹J m 的分支标签;v m 是相关联的特征向量。控制器106然后可以经由任何多名义分类算法(multi-nominal classification algorithm)来训练由表示的分支选择器207。例如,“一对其余(one-vs-rest)”策略下的逻辑回归从很少的训练样本中产生有效的选择器。给定具有状态
s t 的新场景,控制器106以如下概率来选择分支
b:
其中
ρ b ∈[0, 1]。由于大多数技能包含两个或三个框架,因此特征向量v m 通常具有6或12的维数(dimension)。
任务网络构造
如上所提到的,复杂的操纵任务通常包含技能202的各种序列以计及不同的场景。例如,如果要扫描的条形码在对象的顶部处,则机器人100需要在拾取该对象并将其示出给相机(即,执行示出技能)之前转动该对象(即,执行转动技能)。如果条形码已经在底部处,则这可能不是必需的。技能之间的这种关系的高级抽象被称为任务网络。有效计划通过从一个技能202转变到另一个技能而演变,直到该任务被解决。手动地指定关于这些转变的条件是特别困难且乏味的。因此,根据各种实施例,控制器106使用被称为几何任务网络(GTN)203的协调结构,其中所述条件是从任务执行中学习到的。
GTN 203具有由三元组定义的结构。节点集合
V是基元技能A的子集;边集合包含从一个技能到另一个技能的允许转变;函数将每个节点关于其所有传出边映射到边选择器。直观地,(
V,
E)指定了针对给定任务如何连续地执行技能,而函数
f(
v)针对节点
v的传出边对对象和机器人之间的不同几何约束进行建模。应当注意的是,
f(⋅)明确地以当前系统状态和目标状态两者为条件。
任务的完整计划由以下序列来给出:
其中和分别是虚拟的“开始”和“停止”技能。对于该任务的不同初始和目标状态实例,所得到的计划可能是不同的。令表示针对给定任务实例的集合的完整计划集合。然后,针对内的每个“动作-状态-动作”三元组(a n ,s n+1,a n+1),首先,将对(a n ,a n+1)添加到边集合,如果尚不存在的话;其次,针对每个独特的技能转变(an,an+1),收集扩充状态(augmented state)的集合,由来表示,其中。控制器106训练边选择器208来选择边,并且由此选择要执行的技能202。为此,针对每个扩充状态 ,控制器106导出以下特征向量:
其中,其中是机器人r和对象从当前系统状态s t 到目标状态s G 的相对平移和旋转;v G 是等式(2)中定义的与目标状态s G 相关联的特征向量。应当注意的是,封装了来自到目标的相对变换以及目标状态本身两者的特征。其维数与跟技能a n 相关的对象的数量呈线性关系,如图3中所示。
图3图示了在给定技能框架F p 的情况下的边选择器208的特征向量v m 和分支选择器207的特征向量的确定。
一旦控制器106已经处理了内的所有计划,它就可以如下那样来构造GTN 203。首先,它的节点和边从直接被导出。然后,针对每个节点a,中的其传出边的集合由来给出。因此,函数
f(a)通过返回边选择器208。为了计算该选择器,我们首先构造以下训练数据:
其中
e是边的标签;是从等式(3)导出的特征向量。然后。可以经由多名义分类算法来学习边选择器。类似于分支选择器207,给定具有状态s t 和指定目标状态s G 的新场景,控制器106然后以以下概率来选择边
e:
其中
ρ e ∈[0, 1]。应当注意的是,对于仅具有一个传出边(即,针对后续技能仅具有一种可能性)的技能,
ρ e 是微不足道的(trivial)。
在先前两个部分中,描述了用于学习扩展技能模型(涉及分支选择器207)和任务网络203(涉及边选择器208)的方法。所需的训练数据是技能的执行轨迹和该任务的完整计划。根据各种实施例,控制器106从运行时期间提供的人类指令204来生成用于分支选择器207和边选择器208的训练数据。这允许在运行中改进技能模型和任务网络两者。
GTN被初始化为空(即,初始是未经训练的)。考虑该任务的问题实例,即(s0,s G )。该系统从状态s n 开始,而GTN 203从虚拟起始节点(对于
n=0)开始。然后,相关联的边选择器被用于计算每个传出边的概率
ρ e
。然后,要执行的下一个技能被选择为:
其中是作为置信度下限的设计参数。应当注意的是,如果传出边的当前集合为空,即,或者所有边的最大概率小于,则控制器106例如通过暂停执行来要求人类操作者输入优选的下一个技能(作为在线指令204),即机器人100进行等待,直到人类操作者输入该在线指令,例如引导机器人臂101或输入分支编号。因此,控制器106将附加数据点添加到训练数据,即,
其中特征向量h是根据(3)来计算的。因此,将新的边添加到该图拓扑(
V,
E),如果不存在的话,并且通过在给定该新数据点的情况下重新学习边选择器来更新嵌入函数
f(⋅)。
关于执行和更新分支选择器207,令a n+1被选择作为下一个技能(根据边选择器208)。然后,控制器106使用分支选择器来预测每个分支的概率
ρ b ,。然后,它通过下式来选择a n+1的最可能的分支:
其中是作为针对分支选择的置信度下限的另一个参数。同样,至于边选择,如果控制器106不能够以这种方式找到分支,则它要求操作者输入技能a n+1的优选分支,例如通过引导机器人臂101或输入边编号。在这种情况下,控制器106将附加数据点添加到训练数据,即,
其中特征向量v是根据等式(2)来计算的。
一旦控制器106已经选择了期望的下一个技能的分支,控制器106就可以使用技能模型来检索其轨迹。检索过程由两个步骤组成:首先,可以经由经修改的维特比算法来计算期望分支内的GMM分量的最可能序列(由表示)。然后,由最优控制器210(例如,LQG控制器)来生成参考轨迹209,以跟踪任务空间中的该高斯序列。因此,该参考轨迹209然后被发送到低级别阻抗控制器以计算控制信号。
此后,系统状态被改变为具有机器人臂113和对象113的不同姿态的,即,这是从提供了观测结果211的状态估计和感知模块(诸如相机)获得的。在给定该新状态的情况下,控制器106重复该过程以选择下一个技能以及其最优分支,直到达到目标状态201为止。
在下文中,以伪代码给出了示例性总体算法(使用通常的英语关键词,如“while”、“do”等)。
。
在用于解决新任务的在线执行期间,该算法执行并更新GTN 203,如上所描述。这是由第6行中的函数ExUpGtn(⋅)来完成的,该函数具有可能的人类输入,如果需要的话。一旦下一个技能被选择,该算法就执行并更新分支选择器208。这是通过第7行中的函数ExUpBrs(⋅)来完成的,该函数具有可能的人类输入,如果需要的话。因此,GTN203和分支选择器208根据等式(4)和等式(5)在运行中被更新和改进。与手动指定转变和分支条件相比,人类输入更加直观并且更容易指定。
总的来说,根据各种实施例,提供了一种如图4中所图示的方法。
图4示出了图示用于控制机器人设备的方法的流程图400。
在401中,针对多个功能中的每个功能,提供用于控制机器人设备执行所述功能的控制模型(技能模型或技能分支模型)。
在402中,提供用于在所述多个功能当中进行选择的选择模型。
在403中,由机器人设备来执行多个任务实例(即,机器人设备被控制以执行多个任务实例),包括:在每次执行中,当所述多个功能中的功能需要被选择以执行任务实例时,检查所述选择模型是否提供了功能的选择,以及如果所述选择模型提供了功能的选择,则在404中,使用针对所选功能的控制模型来控制机器人设备执行由所述选择模型选择的功能,以及如果所述选择模型没有提供功能的选择,则在405中,接收指示功能的选择的用户输入,根据由用户输入指示的选择来选择功能,使用针对所选功能的控制模型来控制机器人设备执行根据由用户输入指示的选择而选择的功能,以及根据由用户输入指示的选择来训练所述选择模型。
图4的方法可以用于计算控制信号,以用于控制通常被称为“机器人设备”的物理系统,如例如像机器人、车辆、家用电器、电动工具、制造机器、个人助理或访问控制系统这样的计算机控制的机器。根据各种实施例,可以学习用于控制该物理系统的策略,并且然后可以相应地操作该物理系统。
各种实施例可以接收和使用来自各种视觉传感器(相机)的图像数据(即,数字图像),例如作为描述符图像的基础,该视觉传感器诸如视频、雷达、LiDAR、超声、热成像、运动、声纳传感器等。
根据一个实施例,该方法是计算机实现的。
尽管本文中已经说明和描述了特定实施例,但是本领域普通技术人员将领会,在不脱离本发明的范围的情况下,可以用各种替代和/或等同的实现方式来代替所示和所描述的特定实施例。本申请旨在覆盖本文中讨论的特定实施例的任何适配或变型。因此,本发明旨在仅由权利要求及其等同物所限制。
Claims (10)
1.一种用于控制机器人设备的方法,包括:
针对多个功能中的每个功能来提供用于控制机器人设备执行所述功能的控制模型;
提供用于在所述多个功能当中进行选择的选择模型;
由机器人设备来执行多个任务实例,包括:在每次执行中,当所述多个功能中的功能需要被选择以执行任务实例时,检查所述选择模型是否提供了功能的选择,以及
如果所述选择模型提供了功能的选择,则使用针对所选功能的控制模型来控制机器人设备执行由所述选择模型选择的功能;以及
如果所述选择模型没有提供功能的选择,则接收指示功能的选择的用户输入,根据由用户输入指示的选择来选择功能,使用针对所选功能的控制模型来控制机器人设备执行根据由用户输入指示的选择而选择的功能,以及根据由用户输入指示的选择来训练所述选择模型。
2.根据权利要求1所述的方法,其中所述选择模型针对所述多个功能中的功能的选择输出置信度的指示,并且其中根据由用户输入指示的选择来训练所述选择模型包括:调整所述选择模型以增加由所述选择模型输出的对于选择根据由用户输入指示的选择而选择的功能的置信度。
3.根据权利要求1或2所述的方法,其中所述选择模型针对所述多个功能中的功能的选择输出置信度的指示,并且检查所述选择模型是否提供了功能的选择包括:检查所述选择模型是否针对所述功能的选择输出了高于预定置信度下限的置信度的指示。
4.根据权利要求1至3中任一项所述的方法,其中所述功能包括技能和技能分支,并且所述选择功能被训练成针对替代的技能的集合提供技能的选择,并且针对替代的技能分支的集合提供分支的选择。
5.根据权利要求1至4中任一项所述的方法,其中针对每个功能来提供所述控制模型包括执行所述功能的示范以及使用所述示范来训练所述控制模型。
6.根据权利要求1至5中任一项所述的方法,其中所述选择模型是逻辑回归模型。
7.根据权利要求1至6中任一项所述的方法,包括:如果所述选择模型没有提供功能的选择,则暂停机器人设备的操作,直到指示功能的选择的用户输入已经被接收到为止。
8.一种机器人控制器,其被配置成执行权利要求1至7中任一项所述的方法。
9.一种包括指令的计算机程序,所述指令在由计算机执行时使得所述计算机实行根据权利要求1至7中任一项的方法。
10.一种包括指令的计算机可读介质,所述指令在由计算机执行时使得所述计算机实行根据权利要求1至7中任一项的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102021212494.1 | 2021-11-05 | ||
DE102021212494.1A DE102021212494B4 (de) | 2021-11-05 | 2021-11-05 | Vorrichtung und Verfahren zur Steuerung einer Robotervorrichtung |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116079762A true CN116079762A (zh) | 2023-05-09 |
Family
ID=86053546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211373918.1A Pending CN116079762A (zh) | 2021-11-05 | 2022-11-04 | 用于控制机器人设备的设备和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230141855A1 (zh) |
JP (1) | JP2023070168A (zh) |
CN (1) | CN116079762A (zh) |
DE (1) | DE102021212494B4 (zh) |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102011109144A1 (de) | 2011-08-02 | 2013-02-07 | Thomas Schütt | Verfahren zur automatischen Verbesserung dynamischer Bewegungsabläufe bei Robotern mittels einer künstlichen Intelligenz (KI) |
US8706299B2 (en) | 2011-08-02 | 2014-04-22 | GM Global Technology Operations LLC | Method and system for controlling a dexterous robot execution sequence using state classification |
US8805581B2 (en) | 2012-02-21 | 2014-08-12 | GM Global Technology Operations LLC | Procedural memory learning and robot control |
WO2018053187A1 (en) | 2016-09-15 | 2018-03-22 | Google Inc. | Deep reinforcement learning for robotic manipulation |
US11413748B2 (en) | 2017-08-10 | 2022-08-16 | Robert Bosch Gmbh | System and method of direct teaching a robot |
JP6738112B2 (ja) | 2019-01-14 | 2020-08-12 | 株式会社Mujin | ロボットシステムの制御装置及び制御方法 |
EP3771522A1 (de) | 2019-07-30 | 2021-02-03 | Siemens Aktiengesellschaft | Verfahren und manipulationssystem zur manipulation eines objekts durch einen roboter mittels vektorfelder |
US20210252698A1 (en) | 2020-02-14 | 2021-08-19 | Nvidia Corporation | Robotic control using deep learning |
DE102020204551A1 (de) | 2020-04-08 | 2021-10-14 | Kuka Deutschland Gmbh | Roboterprozess |
DE102020207085A1 (de) | 2020-06-05 | 2021-12-09 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum steuern eines roboters und robotersteuereinheit |
-
2021
- 2021-11-05 DE DE102021212494.1A patent/DE102021212494B4/de active Active
-
2022
- 2022-10-18 US US18/047,358 patent/US20230141855A1/en active Pending
- 2022-11-04 JP JP2022177175A patent/JP2023070168A/ja active Pending
- 2022-11-04 CN CN202211373918.1A patent/CN116079762A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102021212494A1 (de) | 2023-05-11 |
US20230141855A1 (en) | 2023-05-11 |
JP2023070168A (ja) | 2023-05-18 |
DE102021212494B4 (de) | 2024-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sadeghi et al. | Sim2real viewpoint invariant visual servoing by recurrent control | |
CN112109079B (zh) | 用于机器人操控规划的方法和系统 | |
JP7387920B2 (ja) | ロボットを制御するための方法及びロボットコントローラ | |
US20220161424A1 (en) | Device and method for controlling a robotic device | |
CN114423574A (zh) | 确定针对机器人任务的环境调节的动作序列 | |
JP2022078002A (ja) | ロボットデバイスを制御するための方法及びロボット制御装置 | |
CN115351780A (zh) | 用于控制机器人设备的方法 | |
US20220105625A1 (en) | Device and method for controlling a robotic device | |
Pedersen et al. | Gesture-based extraction of robot skill parameters for intuitive robot programming | |
CN115319734A (zh) | 用于控制机器人设备的方法 | |
Jagersand et al. | Visual space task specification, planning and control | |
Pichler et al. | Towards robot systems for small batch manufacturing | |
Prats et al. | Towards multipurpose autonomous manipulation with the UJI service robot | |
CN116079762A (zh) | 用于控制机器人设备的设备和方法 | |
Izquierdo et al. | Conditional visual servoing for multi-step tasks | |
Pichler et al. | User centered framework for intuitive robot programming | |
Akbulut et al. | Bimanual rope manipulation skill synthesis through context dependent correction policy learning from human demonstration | |
US20220317659A1 (en) | Transfer between Tasks in Different Domains | |
US20240091951A1 (en) | Synergies between pick and place: task-aware grasp estimation | |
Singh et al. | Grasping real objects using virtual images | |
JP2023055217A (ja) | ロボットを制御するための装置及び方法 | |
JP2024001878A (ja) | 制御ルールを実装するための機械学習モデルをトレーニングするための方法 | |
Cotrim et al. | Reinforcement learning control of robot manipulator | |
Wang et al. | Cognitive Manipulation: Semi-supervised Visual Representation and Classroom-to-real Reinforcement Learning for Assembly in Semi-structured Environments | |
Li et al. | A Tele-operation System for Collaborative Works with Vision-Guided Autonomous Robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |