CN114378791A - 一种机器人任务执行方法、装置、设备及可读存储介质 - Google Patents
一种机器人任务执行方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN114378791A CN114378791A CN202210037607.1A CN202210037607A CN114378791A CN 114378791 A CN114378791 A CN 114378791A CN 202210037607 A CN202210037607 A CN 202210037607A CN 114378791 A CN114378791 A CN 114378791A
- Authority
- CN
- China
- Prior art keywords
- primitive
- state
- sequence
- task
- sub
- 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
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/0081—Programme-controlled manipulators with master teach-in means
-
- 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/08—Programme-controlled manipulators characterised by modular constructions
-
- 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
- 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
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Manipulator (AREA)
Abstract
本申请公开了一种机器人任务执行方法、装置、设备及可读存储介质,方法包括:利用演示轨迹训练得到各子任务对应的基元及基元预测器;将任务示教轨迹对应的状态序列输入到基元预测器中,得到对应的基元标签序列,对基元标签序列进行滤波和调整;根据调整后的基元标签序列将状态序列分割成多个子轨迹对应的子状态序列,从各子状态序列中提取目标状态;控制机器人依次根据各子轨迹对应的基元及目标状态执行对应的子任务。本申请公开的上述技术方案,利用模仿学习并基于专家示教的轨迹对应的状态序列且进行状态序列及相应任务分割的方式来进行机器人任务执行,而无需人工建立任务执行模型来进行任务执行,以提高机器人进行任务执行的灵巧性和准确性。
Description
技术领域
本申请涉及机器人技术领域,更具体地说,涉及一种机器人任务执行方法、装置、设备及可读存储介质。
背景技术
机器人操作和运动是和物理世界交互的重要手段。特别是在非结构化环境的灵巧操作和定位运动中,能够让机器人在日常生活中代替人类实现大量劳动。
目前,在利用机器人进行任务执行时,一般是由人工建立任务执行模型,并由机器人根据任务执行模型来执行相应的任务,但是,面对具有高纬度和欠驱动的机器人而言,人工建立的任务执行模型不够准确,不足以表达现实环境中的复杂任务执行流程,且不够灵巧,比较单一。
综上所述,如何提高机器人进行任务执行的准确性和灵巧性,是目前本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本申请的目的是提供一种机器人任务执行方法、装置、设备及可读存储介质,用于提高机器人进行任务执行的准确性和灵巧性。
为了实现上述目的,本申请提供如下技术方案:
一种机器人任务执行方法,包括:
预先利用演示轨迹训练得到各子任务对应的基元及基元预测器;
将任务示教轨迹对应的状态序列输入到所述基元预测器中,以得到对应的基元标签序列,并对所述基元标签序列进行滤波处理和调整;
根据调整后的基元标签序列将所述任务示教轨迹对应的状态序列分割成多个子轨迹对应的子状态序列,从各所述子状态序列中提取对应的目标状态;
控制机器人依次根据各所述子轨迹对应的基元及目标状态,执行所述基元对应的子任务。
优选的,还包括:
判断当前基元是否执行失败;
若是,则停止执行所述当前基元对应的子任务,并利用所述当前基元对应的子轨迹对所述当前基元进行训练。
优选的,判断当前基元是否执行失败,包括:
利用所述当前基元确定环境在选定时刻对应的预测状态,并获取所述环境在所述选定时刻对应的实际状态;
判断所述预测状态与所述实际状态的偏差是否超过阈值;
若是,则确定所述当前基元执行失败。
优选的,判断当前基元是否执行失败,包括:
判断所述当前基元对应的子任务的执行时长是否超过预设时长;
若是,则确定所述当前基元执行失败。
优选的,预先利用演示轨迹训练得到各子任务对应的基元,包括:
根据对所述基元中的逆动力学模型进行训练;所述逆动力学模型用于在给定环境交互数据(st,at,st+1)下生成动作at,st为t时刻环境的状态,st+1为t+1时刻环境的状态,为所述演示轨迹的集合,I为所述逆动力学模型,LI为所述逆动力学模型对应的损失函数;
根据及对所述基元中的元策略进行训练;所述元策略用于通过当前状态和目标状态预测下一步的状态,πm为所述基元中的元策略,g为目标状态,为元策略对应的损失函数,为所述演示轨迹的集合的大小,J(D,P)为生成性对抗网络,所述元策略被视为状态转移对的生成器P(x),D(x)为生成性对抗网络中的鉴别器,p*(x|g)为真实可达的状态转移概率分布,为从p*(x|g)中采样得到的样本x的期望,p(st|g)为元策略下的状态概率分布,为从p(st|g)中采样得到的st的期望。
优选的,在对所述基元中的元策略进行训练之后,还包括:
对I⊙πm进行调整;其中,为I⊙πm对应的损失函数,I⊙πm为所述基元中元策略和逆动力学模型的组合策略,D为强化学习回合缓存数据,R(τ)为强化学习中的回合奖励,λ0和λ1为描述行为权重的超参数,k为迭代步骤,T为t的最大取值。
优选的,对滤波处理后的基元标签序列进行调整,包括:
利用滤波处理后的基元标签序列对应的基元中的元策略对滤波处理后的基元标签序列进行调整。
一种机器人任务执行装置,包括:
训练模块,用于预先利用演示轨迹训练得到各子任务对应的基元及基元预测器;
输入模块,用于将任务示教轨迹对应的状态序列输入到所述基元预测器中,以得到对应的基元标签序列,并对所述基元标签序列进行滤波处理和调整;
分割模块,用于根据调整后的基元标签序列将所述任务示教轨迹对应的状态序列分割成多个子轨迹对应的子状态序列,从各所述子状态序列中提取对应的目标状态;
执行模块,用于控制机器人依次根据各所述子轨迹对应的基元及目标状态,执行所述基元对应的子任务。
一种机器人任务执行设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一项所述的机器人任务执行方法的步骤。
一种可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的机器人任务执行方法的步骤。
本申请提供了一种机器人任务执行方法、装置、设备及可读存储介质,其中,该方法包括:预先利用演示轨迹训练得到各子任务对应的基元及基元预测器;将任务示教轨迹对应的状态序列输入到基元预测器中,以得到对应的基元标签序列,并对基元标签序列进行滤波处理和调整;根据调整后的基元标签序列将任务示教轨迹对应的状态序列分割成多个子轨迹对应的子状态序列,从各子状态序列中提取对应的目标状态;控制机器人依次根据各子轨迹对应的基元及目标状态,执行基元对应的子任务。
本申请公开的上述技术方案,通过预先利用演示轨迹训练得到各子任务对应的基元及基元预测器,根据任务示教轨迹的状态序列及预先训练得到的基元预测器得到对应的基元标签序列,并对所得到的基元标签序列进行滤波处理和调整,以使得调整后的基元标签序列具有比较高的准确性,且根据调整后的基元标签序列将状态序列分割成多个子轨迹对应的子状态序列,从分割得到的子状态序列中提取相应的目标状态,然后,控制机器人依次根据各子轨迹对应的基元及目标状态来执行相应的子任务,实现利用模仿学习并基于专家示教的轨迹对应的状态序列且进行状态序列及相应任务分割的方式来进行机器人任务执行,而无需人工建立任务执行模型来进行任务执行,以提高机器人进行任务执行的灵巧性和准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种机器人任务执行方法的流程图;
图2为本申请实施例提供的基元标签序列处理示意图;
图3为本申请实施例提供的基元执行任务流程图;
图4为本申请实施例提供的另一任务执行流程图;
图5为本申请实施例提供的基元和基元预测器的训练结构示意图;
图6为本申请实施例提供的一种机器人任务执行装置的结构示意图;
图7为本申请实施例提供的一种机器人任务执行设备的结构示意图。
具体实施方式
机器人操作和运动是和物理世界交互的重要手段。特别是在非结构化环境的灵巧操作和定位运动中,能够让机器人在日常生活中代替人类实现大量劳动。强化学习等控制理论的高速发展,让研究者认识到其在决策和控制任务中的应用前景十分广阔。这些数据驱动的控制方法可以让机器人操作和运动表现出多样化的行为,如执行微创外科手术、搬运货物等,并且在一些特定场合的表现甚至超过了人类专家。然后,基于学习的任务规划方法效率低、学习成本高,并给无法确保其可靠性和安全性,而且其行为具有不可解释性,有可能会表现出不符合人直觉的意外行为。因此,目前在现实世界中的应用极其有限。
另外,许多控制系统体系结构是分层的,因为操作和运动任务通常有明显的执行逻辑流程。任务规划的方式尝试提取任务结构信息,以此来规划机器人执行过程,让机器人表现出智能的逻辑行为,具体地,是由人工建立规划和建立任务执行模型,并由机器人根据任务执行模型来执行相应的任务。但是,面对具有高纬度和欠驱动的机器人而言,人工建立的任务规划模型或者低阶符号逻辑的方法表达能力不够丰富,不足以表达现实环境中的复杂任务流程。且一个任务执行模型只能对应这一个任务,当需要执行不同的任务时,则需要人工规划和建立相应的任务执行模型,不够灵巧,比较单一。
为此,本申请提供一种机器人任务执行方法、装置、设备及可读存储介质,用于提高机器人进行任务执行的准确性和灵巧性。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,其示出了本申请实施例提供的一种机器人任务执行方法的流程图,本申请实施例提供的一种机器人任务执行方法,可以包括:
S11:预先利用演示轨迹训练得到各子任务对应的基元及基元预测器。
在本申请中,首先,获取大量的演示轨迹,利用所获取的演示轨迹来对设定的各子任务对应的可用的基元pi(i=1,2,...,C,C为基元的总个数)进行训练,以得到各子任务对应的基元。而且为了使用这些基元,本申请还训练一个基元预测器,具体地,将获取到的各演示轨迹对应的所有状态作为输入,与状态相应的基元标签(具体可为基元ID)作为输出而对基元预测器进行训练。其中,基于与基元标签一一对应,通过基元标签可以确定相对应的基元。
在上述训练过程中,可以判断相应的训练误差是否大于对应的阈值,若大于对应的阈值,则继续利用演示轨迹进行训练,若不大于对应的阈值,则表明训练完成。
需要说明的是,本申请提及的基元指的是在面对相应子任务时所应该采取的控制策略,也即具体指的为了完成相应的子任务而应采取的控制方式。
S12:将任务示教轨迹对应的状态序列输入到基元预测器中,以得到对应的基元标签序列,并对基元标签序列进行滤波处理和调整。
在步骤S11的基础上,可以获取专家示范的执行任务时所对应的任务示教轨迹,并获取任务示教轨迹对应的状态序列,其中,这里提及的状态序列也即为环境在各个采样时刻所对应的状态。
然后,将任务示教轨迹对应的状态序列输入到训练得到的基元预测器中,以利用基元预测器得到与任务示教轨迹对应的状态序列相对应的基元标签序列。其中,基元标签序列中包含有多个子基元标签序列,且同一子基元标签序列所包含的基元标签相同,而相邻两个子基元标签序列所包含的基元标签并不相同,例如:假设得到的基元标签序列为1111222233333,则其包含有1111、2222、33333这三个子基元标签序列(其中,1和2之间、2和3之间即为该基元标签序列的原始切割点)。需要说明的是,在基元标签序列中,不相邻的子基元标签序列所包含的基元标签可能相同也可能不相同(即使相同,也并不属于同一个子基元序列),例如:假设得到的基元标签序列为11112222333331111,则根据上述方式获知其包含有1111、2222、33333、1111这四个子基元标签序列(其中,1和2之间、2和3之间、3和1之间即为该基元标签序列的原始切割点)。
考虑到环境和任务的不同,基元预测器可能无法完美工作,导致基元标签序列中包含噪声,因此,本申请可以对所得到的基元标签序列进行滤波处理,其中,可以利用中值滤波器对所得到的基元标签序列进行中值滤波处理,具体地,可以利用中值滤波器通过标签平滑和利用上下文信息去除异常值,以实现对基元标签序列的滤波处理,从而校正基元标签序列。同时考虑到仅仅根据预测的基元标签分解基元标签序列可能不是最优的,因此,本申请还对滤波处理后的基元标签序列进行调整,其中,这里提及的调整具体是对基元标签序列中的原始分割点进行调整,以使得调整后的基元标签序列可以更好地与本申请的任务相一致,也即通过对基元标签序列的滤波处理和调整而提高基元标签序列的准确性,从而便于更准确地进行状态序列和任务示教轨迹的分割。具体可以参见图2,其示出了申请实施例提供的基元标签序列处理示意图,需要说明的是,图2中的基元标签序列分解为子标签序列指的是在得到对应的基元标签序列之后所进行的直接分解,之后,对所得到的基元标签序列进行滤波处理和调整处理。
S13:根据调整后的基元标签序列将任务示教轨迹对应的状态序列分割成多个子轨迹对应的子状态序列,从各子状态序列中提取对应的目标状态。
在得到对应的基元标签序列之后,可以根据调整后的基元标签序列中所包含的基元标签的分布而将任务示教轨迹对应的状态序列分割成多个子状态序列,每个子状态序列在任务示教轨迹中对应一个子轨迹。在进行分割时,具体为根据调整后的基元标签序列中从前往后所包含的各子基元标签序列而将任务示教轨迹对应的状态序列分割成多个子状态序列(一个子标签序列对应一个子状态序列)。
也即上述步骤的目的是将任务示教轨迹分解为多个子轨迹,这样每个子轨迹的状态转换可以通过执行相应的基元来实现。设为具有Tn个环境状态的任务示教轨迹以及是对应的基元标签,其中,lt∈{1,2,...,C}。通过使用基元预测器来标记每个状态,然后,使用相同的基元标签对状态进行分组,可以很好地分解任务示教轨迹,从而得到其中,N是子轨迹的数目。
在将状态序列分割成多个子状态序列之后,可以从各子状态序列中的最终状态(即最后一个状态)中提取对应的目标状态gj(j=1,2,...,N,N为所分割的子状态序列的个数)。
通过上述过程可以实现将任务示教轨迹对应的状态序列划分为多个子状态序列,将任务示教轨迹划分为多个便于基元执行的子轨迹,以便于分段进行任务执行。
S14:控制机器人依次根据各子轨迹对应的基元及目标状态,执行基元对应的子任务。
在步骤S13的基础上,可以控制机器人按照任务示教轨迹所划分得到的子轨迹的顺序而依次根据各子轨迹对应的基元以及对应的目标状态而执行基元相对应的子任务,从而完成相应的任务,其中,子轨迹所对应的基元可以利用相应的子状态序列所对应的子基元标签序列中包含的基元标签而进行确定。即实现利用一次性的只有状态的任务示教轨迹,从其相应的状态序列中提取任务结构信息,表达为基元执行顺序以及提取的目标状态,根据给定的基元和规划的目标状态,构建整个任务流程图,从而按照流程顺序执行各个基元对应的子任务,完成特定任务。
通过上述过程可知,本申请通过根据专家示教的任务示教轨迹而实现利用模仿学习的方式来进行任务执行,以提高任务执行的效率、灵巧性和准确性,而且本申请通过分割的方式来根据相应且预先训练得到的基元进行任务执行,因此,则可以提高任务执行的灵巧性和多样性,且以目标状态的方式执行各基元对应的子任务,本申请的架构获得了较高的成功率,并且对初始状态的随机性具有鲁棒性。而且通过上述过程可知,本申请基于基元分割来进行任务规划,这种规划方法符合人类对于任务规划的逻辑思路,能够充分地挖掘专家数据的信息,使用基于状态的方法,学习专家数据中表示状态的高层特征,最终实现对于任务执行步骤的成功规划。
本申请公开的上述技术方案,通过预先利用演示轨迹训练得到各子任务对应的基元及基元预测器,根据任务示教轨迹的状态序列及预先训练得到的基元预测器得到对应的基元标签序列,并对所得到的基元标签序列进行滤波处理和调整,以使得调整后的基元标签序列具有比较高的准确性,且根据调整后的基元标签序列将状态序列分割成多个子轨迹对应的子状态序列,从分割得到的子状态序列中提取相应的目标状态,然后,控制机器人依次根据各子轨迹对应的基元及目标状态来执行相应的子任务,实现利用模仿学习并基于专家示教的轨迹对应的状态序列且进行状态序列及相应任务分割的方式来进行机器人任务执行,而无需人工建立任务执行模型来进行任务执行,以提高机器人进行任务执行的灵巧性和准确性。
参见图3和图4,其中,图3示出了本申请实施例提供的基元执行任务流程图,图4示出了本申请实施例提供的另一任务执行流程图。本申请实施例提供的一种机器人任务执行方法,还可以包括:
判断当前基元是否执行失败;
若是,则停止执行当前基元对应的子任务,并利用当前基元对应的子轨迹对当前基元进行训练。
在本申请中,在控制机器人依次根据各子轨迹对应的基元及目标状态,执行基元对应的子任务时,还可以利用基元监控器来对基元进行监控(可以实时监控也可以定时监控等),具体地,可以判断当前基元(即当前正在执行的子任务对应的基元)是否执行失败,若当前基元未执行失败,则继续按照顺序进行后续执行,若当前基元执行失败,则停止执行当前基元对应的子任务,并可以利用当前基元对应的子轨迹对当前基元进行训练,以提高当前基元的准确性,从而保证任务执行的可靠性。
本申请实施例提供的一种机器人任务执行方法,判断当前基元是否执行失败,可以包括:
利用当前基元确定环境在选定时刻对应的预测状态,并获取环境在选定时刻对应的实际状态;
判断预测状态与实际状态的偏差是否超过阈值;
若是,则确定当前基元执行失败。
在本申请中,在判断当前基元是否执行失败时,具体可以利用当前基元预测环境在选定时刻的预测状态,并获取环境在当前基元及选定时刻下对应的实际状态,也即获取在执行当前基元对应的子任务下环境在选定时刻所对应的实际执行。然后,判断获取到的预测状态与实际状态的偏差是否超过阈值(预先根据任务执行需求而设定的值),如果预测状态与实际状态的偏差未超过阈值,则表明预测的下一个可达状态与实际状态未偏差过多,此时,则确定当前基元未执行失败,如果预测状态与实际状态的偏差超过阈值,则表明预测的下一个可达状态与实际状态偏差过多,此时,则确定当前基元执行失败,也即即为当前基元执行失败,其中,Mfail表示当前基元执行失败,τi为实际状态,σ为阈值,为当前基元中元策略对应的损失函数,元策略用于通过当前状态和目标状态预测下一步的状态。
通过上述过程可以在基元执行过程中,利用基元对环境状态的预测实现任务执行情况的监控,防止过度偏离预期目标而造成危险情况,从而在一定程度上保证规划及任务执行的安全性。
本申请实施例提供的一种机器人任务执行方法,判断当前基元是否执行失败,可以包括:
判断当前基元对应的子任务的执行时长是否超过预设时长;
若是,则确定当前基元执行失败。
在本申请中,在判断当前基元是否执行失败时,还可以通过判断当前基元对应的子任务的执行时长是否超过预设时长来进行实现,其中,预设时长是预先根据子任务执行所需花费的时间而设定的。如果当前基元对应的子任务的执行时长未超过预设时长,则确定当前基元未执行失败;如果当前基元对应的子任务的执行时长超过预设时长,则确定当前基元执行失败。也即通过相应子任务的执行时长来确定执行是否超过,从而判定当前基元是否有问题。
通过上述两个实施例可知,只要当前基元对应的预测状态与实际状态的偏差超过阈值或当前基元对应的子任务的执行时长超过预设时长,则确定当前基元执行失败,以便于对当前基元重新进行训练而使得根据能够其进行子任务的正常执行,从而保证任务执行的可靠性。
参见图5,其示出了本申请实施例提供的基元和基元预测器的训练结构示意图。本申请实施例提供的一种机器人任务执行方法,预先利用演示轨迹训练得到各子任务对应的基元,可以包括:
根据对基元中的逆动力学模型进行训练;逆动力学模型用于在给定环境交互数据(st,at,st+1)下生成动作at,st为t时刻环境的状态,st+1为t+1时刻环境的状态,为演示轨迹的集合,I为逆动力学模型,LI为逆动力学模型对应的损失函数;
根据及对基元中的元策略进行训练;元策略用于通过当前状态和目标状态预测下一步的状态,πm为基元中的元策略,g为目标状态,为元策略对应的损失函数,为演示轨迹的集合的大小,J(D,P)为生成性对抗网络,元策略被视为状态转移对的生成器P(x),D(x)为生成性对抗网络中的鉴别器,p*(x|g)为真实可达的状态转移概率分布,为从p*(x|g)中采样得到的样本x的期望,p(st|g)为元策略下的状态概率分布,为从p(st|g)中采样得到的st的期望。
在本申请中,具体可以采用如下方式来利用演示轨迹训练得到各子任务对应的基元,其中,如下方式是以一个基元为对象而进行的训练过程(每个基元均需进行如下的训练过程):
第一步,基元中包含的逆动力学模型是在给定环境交互数据(st,at,st+1)的情况下,生成动作at,具体而言,逆动力学模型用于推断与环境作用的行为,以使得环境状态转移能够发生,也即给定st和st+1,输出at。本申请对基元的逆动力学模型I进行训练:
其中,LI为逆动力学模型对应的损失函数,在训练时通过最小化该损失函数而对逆动力学模型进行训练;
第二步,考虑到状态的高纬度,本申请利用之后的注意力机制引导模型关注某些状态维度中更有价值的特征。具体地说,本申请将注意力权重wa乘以状态转移对,然后,将它们馈送到逆动力学模型,这样通过最小化一下损失函数将它们与逆动力学模型I的参数一起训练:
第三步,利用学习到的注意力权重,本申请使用以下损失函数训练基元中的元策略πm,其中,基元中的元策略用于通过当前状态和目标状态预测下一步的状态。具体而言,元策略通过是有目标约束且是状态到状态的,即通过当前状态和目标状态预测下一步的状态:
为了使得元策略πm预测的状态具有更好的可达性,本申请利用生成性对抗网络,限制策略只选择可达状态,从而训练出稳定的、可持续更新优化的元策略。具体而言,元策略被视为状态转移对的生成器P(x),而鉴别器D(x)在区分可到达和不可到达状态转换对的尝试中扮演着裁判角色。在最小-最大博弈之后,生成器,即元策略πm可以近似真实可达的状态转移概率分布p*(x|g),从而使生成的状态具有更高的可达性。也即利用:
需要说明的是,在第三步训练中,每一次训练均需要利用元策略对应的损失函数及生成性对抗网络来进行实现。
本申请实施例提供的一种机器人任务执行方法,在对基元中的元策略进行训练之后,还可以包括:
对I⊙πm进行调整;其中,为I⊙πm对应的损失函数,I⊙πm为基元中元策略和逆动力学模型的组合策略,D为强化学习回合缓存数据,R(τ)为强化学习中的回合奖励,λ0和λ1为描述行为权重的超参数,k为迭代步骤,T为t的最大取值。
在本申请中,考虑到在实际物理环境中不可避免地存在各种噪声和误差,这些不可控因素容易导致策略的失效,特别是在动态接触的复杂操作环境中微小的错误也可能导致整个任务的失败,为此,则可以通过利用基元的元策略离线优化和微调目标状态,尽可能地提高任务目标规划的准确性和噪声鲁棒性。具体地,在对基元中的元策略进行训练之后,还可以通过将原始元策略和逆动力学模型视为一个级联系统,利用模仿学习增强的强化学习的策略梯度法对预先训练得到的基元进行进一步的微调,以便他能够更好地适应本申请的基元子任务环境:
其中,I⊙πm为基元中元策略和逆动力学模型的组合策略,为I⊙πm对应的损失函数,D为强化学习回合缓存数据,R(τ)为强化学习过程中的回合奖励,λ0和λ1是描述行为权重的超参数,k为迭代步骤,t的取值范围为[0,T]。
另外,在基元执行过程中,若确定当前基元执行失败,则在利用当前基元对应的子轨迹对当前基元进行训练时,具体可以利用:
通过上述训练可以使得能够更好地根据当前基元进行任务执行,以提高任务执行的稳定性和可靠性。
本申请实施例提供的一种机器人任务执行方法,对基元标签序列进行调整,可以包括:
利用滤波处理后的基元标签序列对应的基元中的元策略对滤波处理后的基元标签序列进行调整。
在本申请中,在对滤波处理后的基元标签序列进行调整时,具体通过使用基元中状态到状态的元策略对滤波处理后的基元标签序列进行调整,使其更好地与本申请的任务相一致。具体地,本申请考虑到所有邻域点δ(q)围绕原始切割点q(即滤波处理后的基元标签序列中的切割点)作为候选,并选择一个使得任务示教轨迹的平均状态转换损失最小化的q*为最终切割点:
其中,这里的元策略πm指的是整个任务示教轨迹所对应的滤波处理后的基元标签序列所对应的基元的元策略。
在利用滤波处理后的基元标签序列对应的基元中的元策略对滤波处理后的基元标签序列进行调整之后,可以依据最终切割点来对任务示教轨迹对应的状态序列进行分割,以提高状态序列及子轨迹分割的准确性。
本申请实施例还提供了一种机器人任务执行装置,参见图6,其示出了本申请实施例提供的一种机器人任务执行装置的结构示意图,可以包括:
训练模块61,用于预先利用演示轨迹训练得到各子任务对应的基元及基元预测器;
输入模块62,用于将任务示教轨迹对应的状态序列输入到基元预测器中,以得到对应的基元标签序列,并对基元标签序列进行滤波处理和调整;
分割模块63,用于根据调整后的基元标签序列将任务示教轨迹对应的状态序列分割成多个子轨迹对应的子状态序列,从各子状态序列中提取对应的目标状态;
执行模块64,用于控制机器人依次根据各子轨迹对应的基元及目标状态,执行基元对应的子任务。
本申请实施例提供的一种机器人任务执行装置,还可以包括:
判断模块,用于判断当前基元是否执行失败;
停止执行模块,用于若当前基元执行失败,则停止执行当前基元对应的子任务,并利用当前基元对应的子轨迹对当前基元进行训练。
本申请实施例提供的一种机器人任务执行装置,判断模块可以包括:
确定单元,用于利用当前基元确定环境在选定时刻对应的预测状态,并获取环境在选定时刻对应的实际状态;
第一判断单元,用于判断预测状态与实际状态的偏差是否超过阈值;
第一确定单元,用于若预测状态与实际状态的偏差超过阈值,则确定当前基元执行失败。
本申请实施例提供的一种机器人任务执行装置,判断模块可以包括:
第二判断单元,用于判断当前基元对应的子任务的执行时长是否超过预设时长;
第二确定单元,用于若当前基元对应的子任务的执行时长超过预设时长,则确定当前基元执行失败。
本申请实施例提供的一种机器人任务执行装置,训练模块61可以包括:
第一训练单元,用于根据对基元中的逆动力学模型进行训练;逆动力学模型用于在给定环境交互数据(st,at,st+1)下生成动作at,st为t时刻环境的状态,st+1为t+1时刻环境的状态,为演示轨迹的集合,I为逆动力学模型,LI为逆动力学模型对应的损失函数;
第三训练单元,用于根据及对基元中的元策略进行训练;元策略用于通过当前状态和目标状态预测下一步的状态,πm为基元中的元策略,g为目标状态,为元策略对应的损失函数,为演示轨迹的集合的大小,J(D,P)为生成性对抗网络,元策略被视为状态转移对的生成器P(x),D(x)为生成性对抗网络中的鉴别器,p*(x|g)为真实可达的状态转移概率分布,为从p*(x|g)中采样得到的样本x的期望,p(st|g)为元策略下的状态概率分布,为从p(st|g)中采样得到的st的期望。
本申请实施例提供的一种机器人任务执行装置,训练模块61还可以包括:
对I⊙πm进行调整;其中,为I⊙πm对应的损失函数,I⊙πm为基元中元策略和逆动力学模型的组合策略,D为强化学习回合缓存数据,R(τ)为强化学习中的回合奖励,λ0和λ1为描述行为权重的超参数,k为迭代步骤,T为t的最大取值。
本申请实施例提供的一种机器人任务执行装置,输入模块62可以包括:
调整单元,用于利用滤波处理后的基元标签序列对应的基元中的元策略对滤波处理后的基元标签序列进行调整。
本申请实施例还提供了一种机器人任务执行设备,参见图7,其示出了本申请实施例提供的一种机器人任务执行设备的结构示意图,可以包括:
存储器71,用于存储计算机程序;
处理器72,用于执行存储器71存储的计算机程序时可实现如下步骤:
预先利用演示轨迹训练得到各子任务对应的基元及基元预测器;将任务示教轨迹对应的状态序列输入到基元预测器中,以得到对应的基元标签序列,并对基元标签序列进行滤波处理和调整;根据调整后的基元标签序列将任务示教轨迹对应的状态序列分割成多个子轨迹对应的子状态序列,从各子状态序列中提取对应的目标状态;控制机器人依次根据各子轨迹对应的基元及目标状态,执行基元对应的子任务。
本申请实施例还提供了一种可读存储介质,可读存储介质中存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
预先利用演示轨迹训练得到各子任务对应的基元及基元预测器;将任务示教轨迹对应的状态序列输入到基元预测器中,以得到对应的基元标签序列,并对基元标签序列进行滤波处理和调整;根据调整后的基元标签序列将任务示教轨迹对应的状态序列分割成多个子轨迹对应的子状态序列,从各子状态序列中提取对应的目标状态;控制机器人依次根据各子轨迹对应的基元及目标状态,执行基元对应的子任务。
该可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请提供的一种机器人任务执行装置、设备及可读存储介质中相关部分的说明可以参见本申请实施例提供的一种机器人任务执行方法中对应部分的详细说明,在此不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种机器人任务执行方法,其特征在于,包括:
预先利用演示轨迹训练得到各子任务对应的基元及基元预测器;
将任务示教轨迹对应的状态序列输入到所述基元预测器中,以得到对应的基元标签序列,并对所述基元标签序列进行滤波处理和调整;
根据调整后的基元标签序列将所述任务示教轨迹对应的状态序列分割成多个子轨迹对应的子状态序列,从各所述子状态序列中提取对应的目标状态;
控制机器人依次根据各所述子轨迹对应的基元及目标状态,执行所述基元对应的子任务。
2.根据权利要求1所述的机器人任务执行方法,其特征在于,还包括:
判断当前基元是否执行失败;
若是,则停止执行所述当前基元对应的子任务,并利用所述当前基元对应的子轨迹对所述当前基元进行训练。
3.根据权利要求2所述的机器人任务执行方法,其特征在于,判断当前基元是否执行失败,包括:
利用所述当前基元确定环境在选定时刻对应的预测状态,并获取所述环境在所述选定时刻对应的实际状态;
判断所述预测状态与所述实际状态的偏差是否超过阈值;
若是,则确定所述当前基元执行失败。
4.根据权利要求2所述的机器人任务执行方法,其特征在于,判断当前基元是否执行失败,包括:
判断所述当前基元对应的子任务的执行时长是否超过预设时长;
若是,则确定所述当前基元执行失败。
5.根据权利要求1所述的机器人任务执行方法,其特征在于,预先利用演示轨迹训练得到各子任务对应的基元,包括:
根据对所述基元中的逆动力学模型进行训练;所述逆动力学模型用于在给定环境交互数据(st,at,st+1)下生成动作at,st为t时刻环境的状态,st+1为t+1时刻环境的状态,为所述演示轨迹的集合,I为所述逆动力学模型,LI为所述逆动力学模型对应的损失函数;
7.根据权利要求6所述的机器人任务执行方法,其特征在于,对滤波处理后的基元标签序列进行调整,包括:
利用滤波处理后的基元标签序列对应的基元中的元策略对滤波处理后的基元标签序列进行调整。
8.一种机器人任务执行装置,其特征在于,包括:
训练模块,用于预先利用演示轨迹训练得到各子任务对应的基元及基元预测器;
输入模块,用于将任务示教轨迹对应的状态序列输入到所述基元预测器中,以得到对应的基元标签序列,并对所述基元标签序列进行滤波处理和调整;分割模块,用于根据调整后的基元标签序列将所述任务示教轨迹对应的状态序列分割成多个子轨迹对应的子状态序列,从各所述子状态序列中提取对应的目标状态;
执行模块,用于控制机器人依次根据各所述子轨迹对应的基元及目标状态,执行所述基元对应的子任务。
9.一种机器人任务执行设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的机器人任务执行方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的机器人任务执行方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210037607.1A CN114378791B (zh) | 2022-01-13 | 2022-01-13 | 一种机器人任务执行方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210037607.1A CN114378791B (zh) | 2022-01-13 | 2022-01-13 | 一种机器人任务执行方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114378791A true CN114378791A (zh) | 2022-04-22 |
CN114378791B CN114378791B (zh) | 2023-09-01 |
Family
ID=81202789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210037607.1A Active CN114378791B (zh) | 2022-01-13 | 2022-01-13 | 一种机器人任务执行方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114378791B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034123A (zh) * | 2012-12-11 | 2013-04-10 | 中国科学技术大学 | 基于动力学模型参数辨识的并联机器人控制方法 |
US20150100530A1 (en) * | 2013-10-08 | 2015-04-09 | Google Inc. | Methods and apparatus for reinforcement learning |
CN106444738A (zh) * | 2016-05-24 | 2017-02-22 | 武汉科技大学 | 基于动态运动基元学习模型的移动机器人路径规划方法 |
CN109590986A (zh) * | 2018-12-03 | 2019-04-09 | 深圳市越疆科技有限公司 | 机器人教学方法、智能机器人和存储介质 |
CN109590987A (zh) * | 2018-12-03 | 2019-04-09 | 深圳市越疆科技有限公司 | 半智能示教学习方法、智能机器人和存储介质 |
CN111872934A (zh) * | 2020-06-19 | 2020-11-03 | 南京邮电大学 | 一种基于隐半马尔可夫模型的机械臂控制方法及系统 |
US20210110271A1 (en) * | 2017-06-09 | 2021-04-15 | Deepmind Technologies Limited | Training action selection neural networks |
CN113688977A (zh) * | 2021-08-30 | 2021-11-23 | 浙江大学 | 面向对抗任务的人机共生强化学习方法、装置、计算设备及存储介质 |
CN113919482A (zh) * | 2021-09-22 | 2022-01-11 | 上海浦东发展银行股份有限公司 | 智能体训练方法、装置、计算机设备和存储介质 |
-
2022
- 2022-01-13 CN CN202210037607.1A patent/CN114378791B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103034123A (zh) * | 2012-12-11 | 2013-04-10 | 中国科学技术大学 | 基于动力学模型参数辨识的并联机器人控制方法 |
US20150100530A1 (en) * | 2013-10-08 | 2015-04-09 | Google Inc. | Methods and apparatus for reinforcement learning |
CN106444738A (zh) * | 2016-05-24 | 2017-02-22 | 武汉科技大学 | 基于动态运动基元学习模型的移动机器人路径规划方法 |
US20210110271A1 (en) * | 2017-06-09 | 2021-04-15 | Deepmind Technologies Limited | Training action selection neural networks |
CN109590986A (zh) * | 2018-12-03 | 2019-04-09 | 深圳市越疆科技有限公司 | 机器人教学方法、智能机器人和存储介质 |
CN109590987A (zh) * | 2018-12-03 | 2019-04-09 | 深圳市越疆科技有限公司 | 半智能示教学习方法、智能机器人和存储介质 |
CN111872934A (zh) * | 2020-06-19 | 2020-11-03 | 南京邮电大学 | 一种基于隐半马尔可夫模型的机械臂控制方法及系统 |
CN113688977A (zh) * | 2021-08-30 | 2021-11-23 | 浙江大学 | 面向对抗任务的人机共生强化学习方法、装置、计算设备及存储介质 |
CN113919482A (zh) * | 2021-09-22 | 2022-01-11 | 上海浦东发展银行股份有限公司 | 智能体训练方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
曾珍珍;蔡盛腾;吕明琪;: "基于3D运动轨迹解析与隐马尔可夫模型的动作识别算法", 光学技术, no. 06, pages 747 - 756 * |
Also Published As
Publication number | Publication date |
---|---|
CN114378791B (zh) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pertsch et al. | Accelerating reinforcement learning with learned skill priors | |
Fei et al. | CPS data streams analytics based on machine learning for Cloud and Fog Computing: A survey | |
Karim et al. | BHyPreC: a novel Bi-LSTM based hybrid recurrent neural network model to predict the CPU workload of cloud virtual machine | |
Badgwell et al. | Reinforcement learning–overview of recent progress and implications for process control | |
Al-Dunainawi et al. | A new MIMO ANFIS-PSO based NARMA-L2 controller for nonlinear dynamic systems | |
CN109176532B (zh) | 一种机械臂路径规划方法、系统及装置 | |
Zhu et al. | Bottom-up skill discovery from unsegmented demonstrations for long-horizon robot manipulation | |
CN111144580B (zh) | 一种基于模仿学习的层级强化学习训练方法和装置 | |
CN112119404A (zh) | 样本高效的强化学习 | |
Drexl et al. | Technical aspects of artificial intelligence: an understanding from an intellectual property law perspective | |
Lee et al. | Learning compound tasks without task-specific knowledge via imitation and self-supervised learning | |
EP2363251A1 (en) | Robot with Behavioral Sequences on the basis of learned Petri Net Representations | |
Karimpanal et al. | Experience replay using transition sequences | |
Hafez et al. | Efficient intrinsically motivated robotic grasping with learning-adaptive imagination in latent space | |
Nivel et al. | Bounded seed-AGI | |
Marin et al. | Learning cost-efficient control policies with XCSF: Generalization capabilities and further improvement | |
CN114378791A (zh) | 一种机器人任务执行方法、装置、设备及可读存储介质 | |
Bellas et al. | A cognitive developmental robotics architecture for lifelong learning by evolution in real robots | |
Kulić et al. | Towards lifelong learning and organization of whole body motion patterns | |
Pertsch et al. | Keyin: Discovering subgoal structure with keyframe-based video prediction | |
Billing et al. | Behavior recognition for segmentation of demonstrated tasks | |
KR102200726B1 (ko) | 플랜트의 전력 관리 장치 및 방법 | |
Sener et al. | Partitioning sensorimotor space by predictability principle in intrinsic motivation systems | |
CN111950691A (zh) | 一种基于潜在动作表示空间的强化学习策略学习方法 | |
Vermesan et al. | Industrial AI Technologies for Next-Generation Autonomous Operations with Sustainable Performance |
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 |