CN116079737A - 基于分层强化学习的机械臂复杂操作技能学习方法及系统 - Google Patents

基于分层强化学习的机械臂复杂操作技能学习方法及系统 Download PDF

Info

Publication number
CN116079737A
CN116079737A CN202310153474.9A CN202310153474A CN116079737A CN 116079737 A CN116079737 A CN 116079737A CN 202310153474 A CN202310153474 A CN 202310153474A CN 116079737 A CN116079737 A CN 116079737A
Authority
CN
China
Prior art keywords
subtask
state
network
task
value
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
Application number
CN202310153474.9A
Other languages
English (en)
Inventor
王强
马陈昊
徐国政
刘元归
高翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN202310153474.9A priority Critical patent/CN116079737A/zh
Publication of CN116079737A publication Critical patent/CN116079737A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Feedback Control In General (AREA)

Abstract

本发明公开了一种基于分层强化学习的机械臂复杂操作技能学习方法及系统,方法包括:获取复杂任务数据,将复杂任务分解为多个子任务;确定每个子任务的RL参数;根据每个子任务的RL参数,构建底层训练网络结构,训练每个子任务,得到子任务最优策略集合;当有新的复杂任务执行时,根据所有子任务的RL参数确定新任务的RL参数;根据新任务的RL参数和子任务最优策略集合,构建上层训练网络结构,训练得到子任务选择策略;根据子任务选择策略,通过子任务重构得到新任务的最优策略,实现新任务的再现与泛化。

Description

基于分层强化学习的机械臂复杂操作技能学习方法及系统
技术领域
本发明属于机械臂任务规划技术领域,涉及一种基于分层强化学习的机械臂复杂操作技能学习方法及系统。
背景技术
目前,国内外研究者就基于WiFi的基于分层强化学习的机械臂复杂操作技能学习方法提出了诸多方案,
随着机器人技术的不断发展和完善,机器人开始出现在家庭生活中。在复杂、动态、非结构化的家庭环境中,机器人的操作任务都是一些较复杂、多步骤的任务,为此可以将家庭日常中复杂操作任务看作是由多个简单基本任务按照一定执行顺序组合而成的,即一个复杂任务可以分解为多个简单的子任务。
强化学习(RL)是一种智能体与环境交互并产生反馈的一种学习方式,其与深度学习的结合使得强化学习能够快速适应具有高维、连续状态以及动作空间的机器人操作技能学习问题,并且拥有强大的自主探索和学习能力,广泛地用于机械臂技能学习领域。但面对家庭环境中复杂的操作任务,庞大的状态空间、稀疏的奖励函数都让传统的强化学习算法难以学得有用的策略。
发明内容
目的:为了克服现有技术中存在的不足,本发明提供一种基于分层强化学习的机械臂复杂操作技能学习方法及系统。
本发明将复杂任务分解为多个简单的子任务,通过设计每个子任务的RL参数,经过底层训练得到每个子任务最优策略;当新的复杂任务执行时,根据其分解得到的子任务的RL参数,设计新任务的RL参数,经过上层训练得到子任务选择策略,再通过子任务的重构选择相应的策略,实现新任务的再现与泛化。
技术方案:为解决上述技术问题,本发明采用的技术方案为:
第一方面,本发明提供一种基于分层强化学习的机械臂复杂操作技能学习方法,包括:
步骤S1、获取复杂任务数据,将复杂任务分解为多个子任务;
步骤S2、确定每个子任务的RL参数;
步骤S3、根据每个子任务的RL参数,构建底层训练网络结构,训练每个子任务,得到子任务最优策略集合;
步骤S4、当有新的复杂任务执行时,根据步骤S2得到的所有子任务的RL参数确定新任务的RL参数;
步骤S5、根据新任务的RL参数和子任务最优策略集合,构建上层训练网络结构,训练得到子任务选择策略;
步骤S6、根据子任务选择策略,通过子任务重构得到新任务的最优策略,实现新任务的再现与泛化。
在一些实施例中,步骤S1、获取复杂任务数据,将复杂任务分解为多个子任务,包括:
S11、从一个贝塔beta过程中定义一组关于全局共享隐状态集的权重B|B0~BP(c,B0),并通过
Figure BDA00040915034700000315
进行隐式定义,其中B0为基测度,ωk为原子的质量,
Figure BDA00040915034700000316
为克罗内克(Kronecker delta)函数,c表示浓度参数,θk={Ak,∑k}表示特征位置,Ak表示滞后矩阵,∑k为Ak的协方差;
S12、采用由B参数化的伯努利过程BeP(B),为每个时间序列i生成一个全局共享的隐状态Xi,其中Xi为Xi~BeP(B),i=1,2,...,N,N为时间序列的总数,并通过Xi构造一个特征向量fi
S13、给定每个时间序列中所呈现的特征fi,通过具有超参数γ和κ的狄利克雷分布得到转移概率
Figure BDA0004091503470000031
Figure BDA0004091503470000032
其中Dir(·)表示狄利克雷分布,fi表示第i个时间序列所呈现的特征,
Figure BDA0004091503470000033
表示逐元素向量积;
S14、在第t个时间步的状态
Figure BDA0004091503470000034
由最后一个时间步的转移概率得出,即
Figure BDA0004091503470000035
其中
Figure BDA0004091503470000036
表示状态
Figure BDA0004091503470000037
的状态转移分布;
S15、第i个时间序列在t时刻的观测向量
Figure BDA0004091503470000038
为前r个观测的状态相关线性变化
Figure BDA0004091503470000039
的和加上一个特定状态的噪声
Figure BDA00040915034700000310
Figure BDA00040915034700000311
其中
Figure BDA00040915034700000312
为噪声分布,
Figure BDA00040915034700000313
表示滞后矩阵集,
Figure BDA00040915034700000314
表示第t-j时刻的观测状态。
在一些实施例中,步骤S2、确定每个子任务的RL参数,包括:
第i个子任务的RL参数定义为一个五元组Mi=<Si,Ai,Pi,Ri,γ>;其中Si为状态空间,状态空间的维数至少为7维,其中第一维是机械臂夹持器,第2-4维是机械臂末端的位置,第5-7维是机械臂末端的姿态,其他通过不同的任务增加状态和状态空间;Ai为动作空间,动作空间的维数通常是7维,前六维表示机械臂末端的位置和姿态的移动方向,第7维表示末端夹持器的闭合程度;Pi表示状态转移概率;Ri表示奖励函数,每个子任务都包含两种奖励函数:基础奖励和结果奖励,基础奖励表示机械臂在探索过程中得到的实时奖励,结果奖励则是根据一个回合的结果给予的成功奖励或者失败惩罚;γ表示奖励衰减值。
在一些实施例中,步骤S3、根据每个子任务的RL参数,构建底层训练网络结构,训练每个子任务,得到子任务最优策略集合,包括:
子任务RL训练模块采用SAC算法构建底层训练网络结构,底层训练网络结构包括Actor网络和Critic网络;
Actor网络包含一个策略网络θ,用来更新策略πθ,策略网络输入当前时刻状态、输出当前时刻动作以及动作分布的熵值,网络结构为五层全连接神经网络,包含一个输入层、三个包含128个神经元的隐含层和一个包含2个神经元的输出层;输出层为每个动作维度生成均值和标准差,从经验池中采样后,采用tanh激活函数将动作归一化到[-1,1]的范围内;
Critic网络包含两个网络,分别为主值网络和目标值网络,主值网络用来输出当前状态的价值,目标值网络用来输出下一状态的价值,主值网络和目标值网络又包含了两个结构相同的Q网络Net1和Net2,网络结构均为五层全连接神经网络,包含一个输入层、三个包含128个神经元的隐含层以及一个输出层;SAC算法利用两个Q网络减少策略改进中的偏差,选取两个Q函数中的较小值作为均方误差计算的输入值,能够显著加快训练速度。
在一些实施例中,步骤S3还包括:
S31、初始化网络参数和回放经验池,其中主值网络参数记为φ1,φ2,目标值网络参数记为
Figure BDA0004091503470000056
策略网络参数记为θ,回放经验池记为D;
S32、从回放经验池D中采样当前时刻的状态st,动作at,奖励r,下一时刻的状态st+1
S33、将步骤S32得到的当前时刻的状态st,动作at,奖励r,下一时刻的状态st+1送入策略网络,输出下一时刻的策略πθ(st+1)和熵log(πθ(at|st))至目标值网络,同时对进行策略网络参数θ更新,更新方式如下:
α←θ-λπJπ(θ)
其中λπ表示策略网络的更新参数,Jπ(θ)表示策略网络的目标函数,
Figure BDA0004091503470000051
α表示策略熵的正则化系数;E表示期望值;Qφ(st,at)表示主值网络输出的Q值;
S34、将步骤S32得到的当前时刻的状态st,动作at,奖励r输出至主值网络,通过主值网络中的两个Q网络Net1和Net2来计算估计Q值Qt1)、Qt2);
S35、将步骤S33得到的下一时刻的策略πθ(st+1)和熵log(πθ(at|st))通过目标值网络中的两个Q网络Net1和Net2来计算目标Q值
Figure BDA0004091503470000052
Figure BDA0004091503470000053
输出两个目标Q值中的较小值
Figure BDA0004091503470000054
目标值网络参数通过主值网络参数进行软更新,更新方式如下:
Figure BDA0004091503470000055
τ表示目标值网络的更新参数;
S36、将步骤S35得到的目标Q值
Figure BDA0004091503470000061
与步骤S34得到主值网络计算的估计Q值Qt1)、Qt2)作均方误差计算,目标函数Jφ(Q)如下:
Figure BDA0004091503470000062
其中,Qφ(st,at)表示主值网络输出的Q值,
Figure BDA0004091503470000063
表示目标值网络输出的Q值;
主值网络的参数更新方式如下:
Figure BDA0004091503470000064
其中i∈{1,2},λQ表示主值网络的更新参数,
Figure BDA0004091503470000065
表示梯度,
Figure BDA0004091503470000066
表示第i个主值网络的目标函数。
在一些实施例中,步骤S4、当有新的复杂任务执行时,根据步骤S2得到的所有子任务的RL参数确定新任务的RL参数,包括:
新任务的RL参数定义为一个五元组
Figure BDA0004091503470000067
Figure BDA0004091503470000068
其中l表示子任务的个数,
Figure BDA0004091503470000069
表示新任务的状态空间,
Figure BDA00040915034700000610
表示向量级联运行算符,
Figure BDA00040915034700000611
表示为子任务所占权重,表示每个子目标对新任务的影响和度量,且
Figure BDA00040915034700000612
Figure BDA00040915034700000613
表示为所有子目标
Figure BDA00040915034700000614
的级联,子目标
Figure BDA00040915034700000615
是一种属性,它代替作为每个子任务RL参数的状态元素,子目标包括两种,第一种表示从新任务中产生的
Figure BDA00040915034700000616
第二种表示用户指定的子目标
Figure BDA00040915034700000617
权重和子目标表示的等效动作不再是随机产生,而是新任务根据状态信息确定性生成的;
在新任务的RL参数中,状态空间被定义为所有子任务状态空间的联合空间,即所有子任务状态空间的并联;动作空间被定义为子任务权重Wl和子目标
Figure BDA0004091503470000071
的级联;转移概率被定义为在当前状态sl和等效动作
Figure BDA0004091503470000072
条件下转移到下一时刻状态s′l的概率,表示为
Figure BDA0004091503470000073
奖励函数表示为在当前状态s=sl和等效动作
Figure BDA0004091503470000074
条件下,奖励定义为
Figure BDA0004091503470000075
其中Π(w)表示子任务的分布簇,Rmeta(s,a)表示子任务的奖励函数,新任务的奖励函数只包含每个子任务的结果奖励,即完成相应子任务后的成功奖励和未完成相应子任务的失败奖励,新任务执行子任务最优策略的顺序由奖励函数的顺序决定,并且完成子任务的数量越多,给予的成功奖励越高;γ表示奖励衰减值。
在一些实施例中,步骤S5、根据新任务的RL参数和子任务最优策略集合,构建上层训练网络结构,训练得到子任务选择策略,包括:
S51、新任务根据相应子任务的状态空间,筛选出相应的状态空间;
新任务的状态空间
Figure BDA0004091503470000076
通过筛选出相应子任务的状态s1,s2,…,sl,其中每个子任务的前7维状态空间是每个子策略共用的,表示机械臂的夹持器和末端位姿,从第8维开始,新任务通过每个子任务所需的状态,筛选出相应的状态,分配给每个子策略对应的状态空间;
S52、新任务根据需要的子任务,产生相应的子目标,并与对应的子任务的状态组成子任务新状态;
S53、新任务根据相应子任务的状态产生权重wi,得到子任务选择策略
Figure BDA0004091503470000077
其中wi(s,go)表示子任务i在给定状态和目标下的权重。
在一些实施例中,步骤S6、根据子任务选择策略,通过子任务重构得到新任务的最优策略,包括:
Figure BDA0004091503470000081
其中πmeta(a|s,go)表示新任务的最优策略,k表示子任务个数,
Figure BDA0004091503470000082
表示子任务i的选择策略,wi(s,go)表示子任务i在给定状态和目标下的权重,Z(s,go)表示归一化函数,Π为求积运算。
第二方面,本发明提供了一种基于分层强化学习的机械臂复杂操作技能学习系统,包括处理器及存储介质;
所述存储介质用于存储指令;
所述处理器用于根据所述指令进行操作以执行根据第一方面所述方法的步骤。
第三方面,本发明提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述方法的步骤。
第四方面,本发明提供了一种计算设备,包括,
一个或多个处理器、一个或多个存储器以及一个或多个程序,其中一个或多个程序存储在所述一个或多个存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行第一方面所述的方法中的任一方法的指令。
有益效果:本发明提供的基于分层强化学习的机械臂复杂操作技能学习方法及系统,具有以下优点:与现有的技术相比,通过将一个复杂操作任务分解成多个简单的子任务,使得机械臂可以通过底层训练学到子任务最优策略,再通过上层子任务重构的方式学习整体复杂任务。这不仅解决了传统强化学习直接训练复杂操作任务的困难,大大减少了复杂任务的学习时间,同时该方法具有很高的灵活性和可重用性,能够学习不同的复杂操作任务。
附图说明
图1描绘了本发明实施例的一种基于分层强化学习的机械臂复杂操作技能学习系统的总体框图。
图2描绘了打开柜门抓取药瓶整个复杂操作任务的仿真环境。
图3描绘了4个子任务的仿真训练环境。
图4描绘了4个子任务的仿真训练结果。
图5描绘了新任务的仿真训练结果。
图6描绘了新任务训练完成后,进行单次实验的过程中每个子任务的权重变化。
具体实施方式
下面结合附图和实施例对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
在本发明的描述中,若干的含义是一个以上,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本发明的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
实施例1
一种基于分层强化学习的机械臂复杂操作技能学习方法,包括:
步骤S1、获取复杂任务数据,将复杂任务分解为多个子任务;
步骤S2、确定每个子任务的RL参数;
步骤S3、根据每个子任务的RL参数,构建底层训练网络结构,训练每个子任务,得到子任务最优策略集合;
步骤S4、当有新的复杂任务执行时,根据步骤S2得到的所有子任务的RL参数确定新任务的RL参数;
步骤S5、根据新任务的RL参数和子任务最优策略集合,构建上层训练网络结构,训练得到子任务选择策略;
步骤S6、根据子任务选择策略,通过子任务重构得到新任务的最优策略。
在一些实施例中,步骤S1、获取复杂任务数据,将复杂任务分解为多个子任务,包括:
S11、从一个beta过程中定义一组关于全局共享隐状态集的权重B|B0~BP(c,B0),并通过
Figure BDA00040915034700001117
进行隐式定义,其中B0为基测度,ωk为原子的质量,
Figure BDA0004091503470000111
为克罗内克(Kronecker delta)函数,c表示浓度参数,θk={Ak,∑k}表示特征位置,Ak表示滞后矩阵,∑k为Ak的协方差;
S12、采用由B参数化的伯努利过程BeP(B),为每个时间序列i生成一个全局共享的隐状态Xi,其中Xi为Xi~BeP(B),i=1,2,...,N,N为时间序列的总数,并通过Xi构造一个特征向量fi
S13、给定每个时间序列中所呈现的特征fi,通过具有超参数γ和κ的狄利克雷分布得到转移概率
Figure BDA0004091503470000112
Figure BDA0004091503470000113
Figure BDA0004091503470000114
其中Dir(·)表示狄利克雷分布,fi表示第i个时间序列所呈现的特征,
Figure BDA0004091503470000115
表示逐元素向量积;
S14、在第t个时间步的状态
Figure BDA0004091503470000116
由最后一个时间步的转移概率得出,即
Figure BDA0004091503470000117
其中
Figure BDA0004091503470000118
表示状态
Figure BDA0004091503470000119
的状态转移分布;
S15、第i个时间序列在t时刻的观测向互
Figure BDA00040915034700001110
为前r个观测的状态相关线性变化
Figure BDA00040915034700001111
的和加上一个特定状态的噪声
Figure BDA00040915034700001112
Figure BDA00040915034700001113
其中
Figure BDA00040915034700001114
为噪声分布,
Figure BDA00040915034700001115
表示滞后矩阵集,
Figure BDA00040915034700001116
表示第t-j时刻的观测状态。
在一些实施例中,步骤S2、确定每个子任务的RL参数,包括:
第i个子任务的RL参数定义为一个五元组Mi=<Si,Ai,Pi,Ri,γ>;其中Si为状态空间,状态空间的维数至少为7维,其中第一维是机械臂夹持器,第2-4维是机械臂末端的位置,第5-7维是机械臂末端的姿态,其他通过不同的任务增加状态和状态空间;Ai为动作空间,动作空间的维数通常是7维,前六维表示机械臂末端的位置和姿态的移动方向,第7维表示末端夹持器的闭合程度;Pi表示状态转移概率;Ri表示奖励函数,每个子任务都包含两种奖励函数:基础奖励和结果奖励,基础奖励表示机械臂在探索过程中得到的实时奖励,结果奖励则是根据一个回合的结果给予的成功奖励或者失败惩罚;γ表示奖励衰减值。
在一些实施例中,步骤S3、根据每个子任务的RL参数,构建底层训练网络结构,训练每个子任务,得到子任务最优策略集合,包括:
子任务RL训练模块采用SAC算法构建底层训练网络结构,底层训练网络结构包括Actor网络和Critic网络;
Actor网络包含一个策略网络θ,用来更新策略πθ,策略网络输入当前时刻状态、输出当前时刻动作以及动作分布的熵值,网络结构为五层全连接神经网络,包含一个输入层、三个包含128个神经元的隐含层和一个包含2个神经元的输出层;输出层为每个动作维度生成均值和标准差,从经验池中采样后,采用tanh激活函数将动作归一化到[-1,1]的范围内;
Critic网络包含两个网络,分别为主值网络和目标值网络,主值网络用来输出当前状态的价值,目标值网络用来输出下一状态的价值,主值网络和目标值网络又包含了两个结构相同的Q网络Net1和Net2,网络结构均为五层全连接神经网络,包含一个输入层、三个包含128个神经元的隐含层以及一个输出层;SAC算法利用两个Q网络减少策略改进中的偏差,选取两个Q函数中的较小值作为均方误差计算的输入值,能够显著加快训练速度。
在一些实施例中,步骤S3还包括:
S31、初始化网络参数和回放经验池,其中主值网络参数记为φ1,φ2,目标值网络参数记为
Figure BDA0004091503470000131
策略网络参数记为θ,回放经验池记为D;
S32、从回放经验池D中采样当前时刻的状态st,动作at,奖励r,下一时刻的状态st+1
S33、将步骤S32得到的当前时刻的状态st,动作at,奖励r,下一时刻的状态st+1送入策略网络,输出下一时刻的策略πθ(st+1)和熵log(πθ(at|st))至目标值网络,同时对进行策略网络参数θ更新,更新方式如下:
α←θ-λπJπ(θ)
其中λπ表示策略网络的更新参数,Jπ(θ)表示策略网络的目标函数,
Figure BDA0004091503470000132
α表示策略熵的正则化系数;E表示期望值;Qφ(st,at)表示主值网络输出的Q值;
S34、将步骤S32得到的当前时刻的状态st,动作at,奖励r输出至主值网络,通过主值网络中的两个Q网络Net1和Net2来计算估计Q值Qt1)、Qt2);
S35、将步骤S33得到的下一时刻的策略πθ(st+1)和熵log(πθ(at|st))通过目标值网络中的两个Q网络Net1和Net2来计算目标Q值
Figure BDA0004091503470000133
Figure BDA0004091503470000134
输出两个目标Q值中的较小值
Figure BDA0004091503470000135
目标值网络参数通过主值网络参数进行软更新,更新方式如下:
Figure BDA0004091503470000136
τ表示目标值网络的更新参数;
S36、将步骤S35得到的目标Q值
Figure BDA0004091503470000141
与步骤S34得到主值网络计算的估计Q值Qt1)、Qt2)作均方误差计算,目标函数Jφ(Q)如下:
Figure BDA0004091503470000142
其中,Qφ(st,at)表示主值网络输出的Q值,
Figure BDA0004091503470000143
表示目标值网络输出的Q值;
主值网络的参数更新方式如下:
Figure BDA00040915034700001417
其中i∈{1,2},λQ表示主值网络的更新参数,
Figure BDA0004091503470000144
表示梯度,
Figure BDA0004091503470000145
表示第i个主值网络的目标函数。
在一些实施例中,步骤S4、当有新的复杂任务执行时,根据步骤S2得到的所有子任务的RL参数确定新任务的RL参数,包括:
新任务的RL参数定义为一个五元组
Figure BDA0004091503470000146
Figure BDA0004091503470000147
其中l表示子任务的个数,
Figure BDA0004091503470000148
表示新任务的状态空间,
Figure BDA0004091503470000149
表示向量级联运行算符,
Figure BDA00040915034700001410
表示为子任务所占权重,表示每个子目标对新任务的影响和度量,且
Figure BDA00040915034700001411
Figure BDA00040915034700001412
表示为所有子目标
Figure BDA00040915034700001413
的级联,子目标
Figure BDA00040915034700001414
是一种属性,它代替作为每个子任务RL参数的状态元素,子目标包括两种,第一种表示从新任务中产生的
Figure BDA00040915034700001415
第二种表示用户指定的子目标
Figure BDA00040915034700001416
权重和子目标表示的等效动作不再是随机产生,而是新任务根据状态信息确定性生成的;
在新任务的RL参数中,状态空间被定义为所有子任务状态空间的联合空间,即所有子任务状态空间的并联;动作空间被定义为子任务权重Wl和子目标
Figure BDA0004091503470000151
的级联;转移概率被定义为在当前状态sl和等效动作
Figure BDA0004091503470000152
条件下转移到下一时刻状态s′l的概率,表示为
Figure BDA0004091503470000153
奖励函数表示为在当前状态s=sl和等效动作
Figure BDA0004091503470000154
条件下,奖励定义为
Figure BDA0004091503470000155
其中Π(w)表示子任务的分布簇,Rmeta(s,a)表示子任务的奖励函数,新任务的奖励函数只包含每个子任务的结果奖励,即完成相应子任务后的成功奖励和未完成相应子任务的失败奖励,新任务执行子任务最优策略的顺序由奖励函数的顺序决定,并且完成子任务的数量越多,给予的成功奖励越高;γ表示奖励衰减值。
在一些实施例中,步骤S5、根据新任务的RL参数和子任务最优策略集合,构建上层训练网络结构,训练得到子任务选择策略,包括:
S51、新任务根据相应子任务的状态空间,筛选出相应的状态空间;
新任务的状态空间
Figure BDA0004091503470000156
通过筛选出相应子任务的状态s1,s2,…,sl,其中每个子任务的前7维状态空间是每个子策略共用的,表示机械臂的夹持器和末端位姿,从第8维开始,新任务通过每个子任务所需的状态,筛选出相应的状态,分配给每个子策略对应的状态空间;
S52、新任务根据需要的子任务,产生相应的子目标,并与对应的子任务的状态组成子任务新状态;
S53、新任务根据相应子任务的状态产生权重wi,得到子任务选择策略
Figure BDA0004091503470000157
其中wi(s,go)表示子任务i在给定状态和目标下的权重。
在一些实施例中,步骤S6、根据子任务选择策略,通过子任务重构得到新任务的最优策略,包括:
Figure BDA0004091503470000161
其中πmeta(a|s,go)表示新任务的最优策略,k表示子任务个数,
Figure BDA0004091503470000162
表示子任务i的选择策略,wi(s,go)表示子任务i在给定状态和目标下的权重,Z(s,go)表示归一化函数,Π为求积运算。
具体应用实施例:本实施例提出一种家庭环境下基于分层强化学习的机械臂复杂操作技能学习系统,其总体框图如图1所示。本发明的具体实例为家庭生活中常见的打开柜门放置药瓶的复杂任务,采用的机械臂为Kinova Jaco,图2为机械臂复杂任务仿真环境,整体任务完成的标准为柜门拉开且药瓶放置在柜中。主要实验方案为:首先通过复杂任务分解模块将该复杂任务分解为数个子任务,包括靠近柜门、打开柜门、靠近药瓶、抓取药瓶、放置药瓶等操作过程,为了减少算法的训练重复度和复杂度,将靠近柜门和靠近药瓶合并为一个训练子任务——到达(reaching)。最终复杂操作任务被分成4个子任务:到达(reaching)、抓取药瓶(grasping)、放置药瓶(releasing)、拉开柜门(openDoor);接着建立复杂任务和每个子任务的仿真训练环境,经子任务的RL设计模块设计每个子任务的RL参数,通过子任务的RL训练模块得到子任务最优策略集合;然后根据所有子任务的RL参数经新任务RL设计模块设计新任务的RL参数;最后新任务的RL参数与子任务最优策略集合经新任务RL训练模块得到子任务选择策略,子任务选择策略经子任务重构模块选择相应的子任务进行重构,实现新任务的再现与泛化。
图3为每个子任务的仿真环境。图3(a)为reaching子任务的仿真环境,虚拟方块为到达点位姿,reaching任务的成功标准为机械臂末端以指定姿态到达点位置;图3(b)为grasping子任务的仿真环境,其中圆柱为药瓶,训练过程中在平台区域随机生成,grasping任务的成功标准为抓取药瓶并抬起药瓶;图3(c)为releasing子任务的仿真环境,训练开始时,机械臂抓着药瓶,虚拟小球为放置药瓶的位置,releasing任务的成功标准为药瓶到达小球位置且夹持器状态为松开。图3(d)为openDoor子任务的仿真环境,训练开始时,机械臂在门把手处,openDoor任务的成功标准为机械臂拉开柜门一定角度。
图4为四个子任务的仿真训练结果,可以看出每个子任务都学习到了最优策略,reaching、grasping、releasing任务都在250万时间步左右收敛,openDoor任务由于比前三个任务复杂,在350万时间步左右收敛。
图5为新任务的仿真训练结果,由于新任务比子任务更复杂,机械臂在650万时间步时才得到成功的策略,在800万时间步左右收敛。
图6为新任务训练完成后,进行单次实验的过程中底层每个子任务的权重变化,从图中可以看出在进行复杂操作任务时机械臂每一时间步的运行状态。
具体地,包括以下步骤:
S1、根据拉开柜门放置药瓶的实验任务的演示数据,通过贝塔过程自回归隐马尔可夫模型将其分解为4个子任务。
S11、建立贝塔过程自回归隐马尔可夫模型,设置模型参数,其中贝塔过程超参数原子质量m为6,浓度参数c为1,隐马尔可夫模型的超参数γ为1,κ为10,转移分布设置为矩阵正规-逆威沙特分布,其中分布参数先验均值M0=0,自由度v0=13,尺度矩阵S0设置为单位矩阵,初始隐状态最大数目设置为25。
S12、采用马尔可夫蒙特卡洛方法进行1000次迭代采样训练10次,得到分解后的最终结果。
S13、去除没有物理意义的小段,得到靠近柜门、打开柜门、靠近药瓶、抓取药瓶、放置药瓶5段具有物理意义的段落。为了减少算法的训练重复度和复杂度,将靠近柜门和靠近药瓶合并为一个训练子任务——到达(reaching)。最终复杂操作任务被分成4个子任务:到达(reaching)、抓取药瓶(grasping)、放置药瓶(releasing)、拉开柜门(openDoor)。
S2、根据步骤S1分割的4个子任务,设计每个子任务的RL参数。
在此步骤中,对于第i个子任务,其RL参数定义的五元组为Mi=<Si,Ai,Pi,Ri,γ>。其中主要定义状态空间、动作空间和奖励函数,所有任务的γ均为0.99。
具体地,对于reaching子任务,其状态空间为12维,包括机械臂末端位姿6维,到达点位姿6维;对于grasping子任务,其状态空间为10维,包括机械臂末端位姿6维,夹持器开合角度1维,药瓶位置3维;对于releasing子任务,其状态空间为13维,包括机械臂末端位姿6维,夹持器开合角度1维,药瓶位置3维,药瓶放置点位置3维;对于openDoor子任务,其状态空间维16维,包括机械臂末端位姿6维,夹持器开合角度1维,门把手位置3维,门把手目标位姿6维。
进一步地,对于除了reaching任务外的所有子任务动作空间以及整体复杂任务,动作空间都是7维,其中前六维表示机械臂末端的位置和姿态的移动方向,第七维表示末端夹持器的闭合程度,由于三个夹持器的开合程度一样,为了减少动作空间的维数,只采用单个数据表示。而对于reaching任务,由于训练过程中手指固定,因此动作空间为六维。
进一步地,所有动作的奖励函数包括基础奖励和结果奖励两个部分。以reaching任务为例,其基础奖励包括距离奖励
Figure BDA0004091503470000191
和姿态奖励
Figure BDA0004091503470000192
Figure BDA0004091503470000193
Figure BDA0004091503470000194
其中dcoef和acoef表示奖励权重系数,dth和ath分别表示距离和姿态正则化系数,
Figure BDA0004091503470000195
Figure BDA0004091503470000196
则分别表示机械臂末端位置和目标到达点位置差值的二范数以及机械臂末端姿态和目标到达点姿态的二范数。
结果奖励设置为:
Figure BDA0004091503470000197
其中nepisode表示总共经过的幕数。
在此步骤中,reaching任务的奖励函数为:
Figure BDA0004091503470000198
类似地,设计其余子任务的奖励函数。
S3、设置SAC的网络参数,训练所有子任务,得到子任务最优策略集合。
在SAC算法的网络结构中,每个网络层之间的激活函数采用Relu函数,经验池大小buffer_size设置为50000,每次训练从经验池中采样样本数量batch_size设为256,学习率learning_rate为7×10-5,折扣因子gamma为0.99,所训练的时间步n_timesteps设置为500万,Actor网络和Critic网络均采用Adam优化器进行优化。
S4、根据子任务的RL参数,设计新任务的RL参数。
在此步骤中,新任务的RL参数的五元组定义为
Figure BDA0004091503470000201
新任务的状态空间为所有子任务的并集,包括机械臂末端位姿6维,夹持器开合角度1维,药瓶位置3维,门把手位置3维,药瓶放置点位置3维,到达点位姿6维,门把手位姿6维,共28维。为了减少状态空间的维数,门把手的位置和到达点位置、放置点位置和门把手目标位置可以共用状态空间,因此最后新任务定义的状态空间维19维,状态空间索引设置为[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18];新任务的动作空间设置为7维,和子任务一致;新任务的奖励函数只设置结果奖励,具体的奖励函数设计为:完成openDoor任务给予20奖励,完成grasping任务给予30奖励,完成releasing任务后给予160奖励,即最终奖励。
S5、根据步骤S4设计的新任务的RL参数和步骤S3得到的子任务最优策略集合,构建上层训练网络结构,训练得到子任务选择策略。
S51、新任务根据相应子任务的状态空间,筛选出相应的状态空间。
在此步骤中,对于reaching任务,其观测状态总共有12维,观测空间的索引设置为[1,2,3,4,5,6,7,8,9,10,11,12],分别是机械臂末端位置3维[1,2,3]、机械臂末端姿态3维[4,5,6]、到达点位置3维[7,8,9]、到达点姿态3维[10,11,12]。
类似地,对于grasping任务,其观测状态总共有10维,观测空间的索引设置为[0,1,2,3,4,5,6,7,8,9],分别是夹持器开合角度1维[0]、机械臂末端位置3维[1,2,3]、机械臂末端姿态3维[4,5,6]、药瓶位置3维[7,8,9]。
类似地,对于releasing任务,其观测状态总共有13维,观测空间的索引设置为[0,1,2,3,4,5,6,7,8,9,13,14,15],分别是夹持器开合角度1维[0]、机械臂末端位置3维[1,2,3]、机械臂末端姿态3维[4,5,6]、药瓶位置3维[7,8,9]、药瓶放置目标位置3维[13,14,15]。
类似地,对于openDoor任务,其观测状态总共有16维,观测空间的索引设置为[0,1,2,3,4,5,6,7,8,9,13,14,15,16,17,18],分别是夹持器开合角度1维[0]、机械臂末端位置3维[1,2,3]、机械臂末端姿态3维[4,5,6]、门把手位置3维[7,8,9]、门把手目标位置3维[13,14,15]、门把手目标姿态3维[16,17,18]。
S52、新任务根据需要的子任务,产生相应的子目标,并与对应的子任务的状态组成子任务新状态。
在此步骤中,新任务并不是单纯地由这4个子任务组合而成的,执行过程中会处于一些特殊的状态,如在抓取药瓶放置药瓶的过程中,机械臂抓取完药瓶后需要到达放置物体的起始点,这也是一个类似reaching的过程,但此时机械臂已经完成了grasping,而reaching的状态空间中并没有表示物体位置的状态,此时新任务在训练过程中生成一个子目标
Figure BDA0004091503470000221
其状态空间为3维,表示物体的位置。
Figure BDA0004091503470000222
与reaching任务的状态sreach组合成子任务新状态。
S53、设置高层的训练网络参数,训练得到子任务选择策略。
高层的训练网络结构与底层训练网络相同,每次训练从经验池中采样样本数量batch_size设为128,所训练的时间步n_timesteps设置为1000万,其他参数设置相同。
S6、根据步骤S53中训练得到的子任务选择策略,通过子任务重构得到新任务的最优策略,实现新任务的再现与泛化。
在此步骤中,根据reaching、grasping、releasing、openDoor四个子任务的状态生成权重w1,w2,w3,w4,通过子任务选择策略的重构得到新任务的最优策略
Figure BDA0004091503470000223
其中
Figure BDA0004091503470000224
表示第i个子任务的选择策略,Z(s,gm)表示归一化函数,Π为求积运算,实现新任务的再现与泛化。
实施例2
第二方面,基于实施例1,本实施例提供了一种基于分层强化学习的机械臂复杂操作技能学习系统,包括处理器及存储介质;
所述存储介质用于存储指令;
所述处理器用于根据所述指令进行操作以执行根据实施例1所述方法的步骤。
在一些实施例中,一种基于分层强化学习的机械臂复杂操作技能学习系统,包括:Kinova Jaco机械臂、复杂任务分解模块、子任务RL设计模块、子任务RL训练模块、新任务RL设计模块、新任务RL训练模块、子任务重构模块;
其中复杂任务分解模块将复杂任务分解成多个子任务,并通过子任务RL设计模块设计出每个子任务的RL参数;
然后根据每个子任务的RL参数,通过子任务RL训练模块训练出每个子任务的最优策略,组成子任务最优策略集合;
当新的复杂任务执行时,根据每个子任务的RL参数通过新任务RL设计模块设计新任务的RL参数,再通过新任务RL训练模块得到子任务选择策略;
最后子任务选择策略经子任务重构模块选择相应的子任务进行重构,实现新任务的再现与泛化。
实施例3
第三方面,基于实施例1,本实施例提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现实施例1所述方法的步骤。
实施例4
第四方面,基于实施例1,本发明提供了一种计算设备,包括,
一个或多个处理器、一个或多个存储器以及一个或多个程序,其中一个或多个程序存储在所述一个或多个存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行实现实施例1所述的方法中的任一方法的指令。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种基于分层强化学习的机械臂复杂操作技能学习方法,其特征在于,包括:
步骤S1、获取复杂任务数据,将复杂任务分解为多个子任务;
步骤S2、确定每个子任务的RL参数;
步骤S3、根据每个子任务的RL参数,构建底层训练网络结构,训练每个子任务,得到子任务最优策略集合;
步骤S4、当有新的复杂任务执行时,根据步骤S2得到的所有子任务的RL参数确定新任务的RL参数;
步骤S5、根据新任务的RL参数和子任务最优策略集合,构建上层训练网络结构,训练得到子任务选择策略;
步骤S6、根据子任务选择策略,通过子任务重构得到新任务的最优策略,实现新任务的再现与泛化。
2.根据权利要求1所述的基于分层强化学习的机械臂复杂操作技能学习方法,其特征在于,步骤S1、获取复杂任务数据,将复杂任务分解为多个子任务,包括:
S11、从一个贝塔过程中定义一组关于全局共享隐状态集的权重B|B0~BP(c,B0),并通过
Figure FDA0004091503460000011
进行隐式定义,其中B0为基测度,ωk为原子的质量,
Figure FDA0004091503460000012
为克罗内克函数,c表示浓度参数,θk={Ak,∑k}表示特征位置,Ak表示滞后矩阵,∑k为Ak的协方差;
S12、采用由B参数化的伯努利过程BeP(B),为每个时间序列i生成一个全局共享的隐状态Xi,其中Xi为Xi~BeP(B),i=1,2,...,N,N为时间序列的总数,并通过Xi构造一个特征向量fi
S13、给定每个时间序列中所呈现的特征fi,通过具有超参数γ和κ的狄利克雷分布得到转移概率
Figure FDA0004091503460000021
Figure FDA0004091503460000022
Figure FDA0004091503460000023
其中Dir(·)表示狄利克雷分布,fi表示第i个时间序列所呈现的特征,
Figure FDA0004091503460000024
表示逐元素向量积;
S14、在第t个时间步的状态
Figure FDA0004091503460000025
由最后一个时间步的转移概率得出,即
Figure FDA0004091503460000026
其中
Figure FDA0004091503460000027
表示状态
Figure FDA0004091503460000028
的状态转移分布;
S15、第i个时间序列在t时刻的观测向量
Figure FDA0004091503460000029
为前r个观测的状态相关线性变化
Figure FDA00040915034600000210
的和加上一个特定状态的噪声
Figure FDA00040915034600000211
Figure FDA00040915034600000212
其中
Figure FDA00040915034600000213
为噪声分布,
Figure FDA00040915034600000214
表示滞后矩阵集,
Figure FDA00040915034600000215
表示第t-j时刻的观测状态。
3.根据权利要求1所述的基于分层强化学习的机械臂复杂操作技能学习方法,其特征在于,步骤S2、确定每个子任务的RL参数,包括:
第i个子任务的RL参数定义为一个五元组Mi=<Si,Ai,Pi,Ri,γ>;其中Si为状态空间,状态空间的维数至少为7维,其中第一维是机械臂夹持器,第2-4维是机械臂末端的位置,第5-7维是机械臂末端的姿态,其他通过不同的任务增加状态和状态空间;Ai为动作空间,动作空间的维数通常是7维,前六维表示机械臂末端的位置和姿态的移动方向,第7维表示末端夹持器的闭合程度;Pi表示状态转移概率;Ri表示奖励函数,每个子任务都包含两种奖励函数:基础奖励和结果奖励,基础奖励表示机械臂在探索过程中得到的实时奖励,结果奖励则是根据一个回合的结果给予的成功奖励或者失败惩罚;γ表示奖励衰减值。
4.根据权利要求1所述的基于分层强化学习的机械臂复杂操作技能学习方法,其特征在于,步骤S3、根据每个子任务的RL参数,构建底层训练网络结构,训练每个子任务,得到子任务最优策略集合,包括:
子任务RL训练模块采用SAC算法构建底层训练网络结构,底层训练网络结构包括Actor网络和Critic网络;
Actor网络包含一个策略网络θ,用来更新策略πθ,策略网络输入当前时刻状态、输出当前时刻动作以及动作分布的熵值,网络结构为五层全连接神经网络,包含一个输入层、三个包含128个神经元的隐含层和一个包含2个神经元的输出层;输出层为每个动作维度生成均值和标准差,从经验池中采样后,采用tanh激活函数将动作归一化到[-1,1]的范围内;
Critic网络包含两个网络,分别为主值网络和目标值网络,主值网络用来输出当前状态的价值,目标值网络用来输出下一状态的价值,主值网络和目标值网络又包含了两个结构相同的Q网络Net1和Net2,网络结构均为五层全连接神经网络,包含一个输入层、三个包含128个神经元的隐含层以及一个输出层;SAC算法利用两个Q网络减少策略改进中的偏差,选取两个Q函数中的较小值作为均方误差计算的输入值,能够显著加快训练速度。
5.根据权利要求4所述的基于分层强化学习的机械臂复杂操作技能学习方法,其特征在于,步骤S3还包括:
S31、初始化网络参数和回放经验池,其中主值网络参数记为φ1,φ2,目标值网络参数记为
Figure FDA0004091503460000041
策略网络参数记为θ,回放经验池记为D;
S32、从回放经验池D中采样当前时刻的状态st,动作at,奖励r,下一时刻的状态st+1
S33、将步骤S32得到的当前时刻的状态st,动作at,奖励r,下一时刻的状态st+1送入策略网络,输出下一时刻的策略πθ(st+1)和熵log(πθ(at|st))至目标值网络,同时对进行策略网络参数θ更新,更新方式如下:
θ←θ-λπJπ(θ)
其中λπ表示策略网络的更新参数,Jπ(θ)表示策略网络的目标函数,
Figure FDA0004091503460000042
α表示策略熵的正则化系数;E表示期望值;Qφ(st,at)表示主值网络输出的Q值;
S34、将步骤S32得到的当前时刻的状态st,动作at,奖励r输出至主值网络,通过主值网络中的两个Q网络Net1和Net2来计算估计Q值Qt1)、Qt2);
S35、将步骤S33得到的下一时刻的策略πθ(st+1)和熵log(πθ(at|st))通过目标值网络中的两个Q网络Net1和Net2来计算目标Q值
Figure FDA0004091503460000043
Figure FDA0004091503460000044
输出两个目标Q值中的较小值
Figure FDA0004091503460000045
目标值网络参数通过主值网络参数进行软更新,更新方式如下:
Figure FDA0004091503460000046
其中i∈{1,2},τ表示目标值网络的更新参数;
S36、将步骤S35得到的目标Q值
Figure FDA0004091503460000047
与步骤S34得到主值网络计算的估计Q值Qt1)、Qt2)作均方误差计算,目标函数Jφ(Q)如下:
Figure FDA0004091503460000051
其中,Qφ(st,at)表示主值网络输出的Q值,
Figure FDA0004091503460000052
表示目标值网络输出的Q值;
主值网络的参数更新方式如下:
Figure FDA0004091503460000053
其中i∈{1,2},λQ表示主值网络的更新参数,
Figure FDA0004091503460000054
表示梯度,
Figure FDA0004091503460000055
表示第i个主值网络的目标函数。
6.根据权利要求1所述的基于分层强化学习的机械臂复杂操作技能学习方法,其特征在于,步骤S4、当有新的复杂任务执行时,根据步骤S2得到的所有子任务的RL参数确定新任务的RL参数,包括:
新任务的RL参数定义为一个五元组
Figure FDA0004091503460000056
Figure FDA0004091503460000057
其中l表示子任务的个数,
Figure FDA0004091503460000058
表示新任务的状态空间,
Figure FDA0004091503460000059
表示向量级联运行算符,
Figure FDA00040915034600000510
表示为子任务所占权重,表示每个子目标对新任务的影响和度量,且
Figure FDA00040915034600000511
Figure FDA00040915034600000512
表示为所有子目标
Figure FDA00040915034600000513
的级联,子目标
Figure FDA00040915034600000516
是一种属性,它代替作为每个子任务RL参数的状态元素,子目标包括两种,第一种表示从新任务中产生的
Figure FDA00040915034600000514
第二种表示用户指定的子目标
Figure FDA00040915034600000515
权重和子目标表示的等效动作不再是随机产生,而是新任务根据状态信息确定性生成的;
在新任务的RL参数中,状态空间被定义为所有子任务状态空间的联合空间,即所有子任务状态空间的并联;动作空间被定义为子任务权重Wl和子目标
Figure FDA0004091503460000061
的级联;转移概率被定义为在当前状态sl和等效动作
Figure FDA0004091503460000062
条件下转移到下一时刻状态s′l的概率,表示为
Figure FDA0004091503460000063
奖励函数表示为在当前状态s=sl和等效动作
Figure FDA0004091503460000064
条件下,奖励定义为
Figure FDA0004091503460000065
其中Π(w)表示子任务的分布簇,Rmeta(s,a)表示子任务的奖励函数,新任务的奖励函数只包含每个子任务的结果奖励,即完成相应子任务后的成功奖励和未完成相应子任务的失败奖励,新任务执行子任务最优策略的顺序由奖励函数的顺序决定,并且完成子任务的数量越多,给予的成功奖励越高;γ表示奖励衰减值。
7.根据权利要求1所述的基于分层强化学习的机械臂复杂操作技能学习方法,其特征在于,步骤S5、根据新任务的RL参数和子任务最优策略集合,构建上层训练网络结构,训练得到子任务选择策略,包括:
S51、新任务根据相应子任务的状态空间,筛选出相应的状态空间;
新任务的状态空间
Figure FDA0004091503460000066
通过筛选出相应子任务的状态s1,s2,…,sl,其中每个子任务的前7维状态空间是每个子策略共用的,表示机械臂的夹持器和末端位姿,从第8维开始,新任务通过每个子任务所需的状态,筛选出相应的状态,分配给每个子策略对应的状态空间;
S52、新任务根据需要的子任务,产生相应的子目标,并与对应的子任务的状态组成子任务新状态;
S53、新任务根据相应子任务的状态产生权重wi,得到子任务选择策略
Figure FDA0004091503460000067
其中wi(s,go)表示子任务i在给定状态和目标下的权重。
8.根据权利要求1所述的基于分层强化学习的机械臂复杂操作技能学习方法,其特征在于,步骤S6、根据子任务选择策略,通过子任务重构得到新任务的最优策略,包括:
Figure FDA0004091503460000071
其中πmeta(a|s,go)表示新任务的最优策略,k表示子任务个数,
Figure FDA0004091503460000072
表示子任务i的选择策略,wi(s,go)表示子任务i在给定状态和目标下的权重,Z(s,go)表示归一化函数,Π为求积运算。
9.一种基于分层强化学习的机械臂复杂操作技能学习系统,其特征在于,包括处理器及存储介质;
所述存储介质用于存储指令;
所述处理器用于根据所述指令进行操作以执行根据权利要求1至8任一项所述方法的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8任一项所述方法的步骤。
CN202310153474.9A 2023-02-23 2023-02-23 基于分层强化学习的机械臂复杂操作技能学习方法及系统 Pending CN116079737A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310153474.9A CN116079737A (zh) 2023-02-23 2023-02-23 基于分层强化学习的机械臂复杂操作技能学习方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310153474.9A CN116079737A (zh) 2023-02-23 2023-02-23 基于分层强化学习的机械臂复杂操作技能学习方法及系统

Publications (1)

Publication Number Publication Date
CN116079737A true CN116079737A (zh) 2023-05-09

Family

ID=86206394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310153474.9A Pending CN116079737A (zh) 2023-02-23 2023-02-23 基于分层强化学习的机械臂复杂操作技能学习方法及系统

Country Status (1)

Country Link
CN (1) CN116079737A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111144580A (zh) * 2019-12-31 2020-05-12 中国电子科技集团公司信息科学研究院 一种基于模仿学习的层级强化学习训练方法和装置
CN112102405A (zh) * 2020-08-26 2020-12-18 东南大学 基于深度强化学习的机器人搅动-抓取组合方法
JP2021091079A (ja) * 2019-12-10 2021-06-17 富士フイルム株式会社 ロボットの制御装置、制御方法、及びプログラム
CN113727306A (zh) * 2021-08-16 2021-11-30 南京大学 一种基于深度强化学习的解耦c-v2x网络切片方法
CN114083539A (zh) * 2021-11-30 2022-02-25 哈尔滨工业大学 一种基于多智能体强化学习的机械臂抗干扰运动规划方法
US20220375210A1 (en) * 2021-05-12 2022-11-24 Robert Bosch Gmbh Method for controlling a robotic device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021091079A (ja) * 2019-12-10 2021-06-17 富士フイルム株式会社 ロボットの制御装置、制御方法、及びプログラム
CN111144580A (zh) * 2019-12-31 2020-05-12 中国电子科技集团公司信息科学研究院 一种基于模仿学习的层级强化学习训练方法和装置
CN112102405A (zh) * 2020-08-26 2020-12-18 东南大学 基于深度强化学习的机器人搅动-抓取组合方法
US20220375210A1 (en) * 2021-05-12 2022-11-24 Robert Bosch Gmbh Method for controlling a robotic device
CN113727306A (zh) * 2021-08-16 2021-11-30 南京大学 一种基于深度强化学习的解耦c-v2x网络切片方法
CN114083539A (zh) * 2021-11-30 2022-02-25 哈尔滨工业大学 一种基于多智能体强化学习的机械臂抗干扰运动规划方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘元归: "基于行为树和强化学习的服务机械臂操作技能学习方法研究", 中国优秀硕士学位论文全文数据库信息科技辑, pages 11 - 37 *

Similar Documents

Publication Publication Date Title
Alet et al. Modular meta-learning
Wang et al. Intelligent fault diagnosis for planetary gearbox using time-frequency representation and deep reinforcement learning
US10766137B1 (en) Artificial intelligence system for modeling and evaluating robotic success at task performance
CN112231489B (zh) 防疫机器人知识学习与迁移方法和系统
Perez et al. Learning visual reasoning without strong priors
Zhao et al. A tandem robotic arm inverse kinematic solution based on an improved particle swarm algorithm
CN114603564B (zh) 机械臂导航避障方法、系统、计算机设备及存储介质
Ren et al. Leveraging language for accelerated learning of tool manipulation
Nishide et al. Tool–body assimilation of humanoid robot using a neurodynamical system
CN111243752A (zh) 一种急性胰腺炎诱发器官衰竭的预测模型
Koralewski et al. Self-specialization of general robot plans based on experience
Yamada et al. Representation learning of logic words by an RNN: from word sequences to robot actions
Kim et al. Learning reachable manifold and inverse mapping for a redundant robot manipulator
Ausin et al. Infernet for delayed reinforcement tasks: Addressing the temporal credit assignment problem
CN116079737A (zh) 基于分层强化学习的机械臂复杂操作技能学习方法及系统
Ilboudo et al. Adaptive t-momentum-based optimization for unknown ratio of outliers in amateur data in imitation learning
Amaya et al. Neurorobotic reinforcement learning for domains with parametrical uncertainty
Huang et al. Value-Informed Skill Chaining for Policy Learning of Long-Horizon Tasks with Surgical Robot
CN117733841A (zh) 基于生成对抗模仿学习的机械臂复杂操作技能学习方法及系统
CN112766513A (zh) 一种记忆协同的知识追踪方法及系统
Starke et al. A forward kinematics data structure for efficient evolutionary inverse kinematics
Aslan et al. End-to-end learning from demonstation for object manipulation of robotis-Op3 humanoid robot
Chen et al. Distributed continuous control with meta learning on robotic arms
Xiong et al. Primitives generation policy learning without catastrophic forgetting for robotic manipulation
Katz A Cognitive Robotic Imitation Learning System Based On Cause-Effect Reasoning

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20230509

RJ01 Rejection of invention patent application after publication