一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于离线策略强化学习的机械臂控制方法及系统

2022-08-13 13:17:56 来源:中国专利 TAG:


1.本发明属于机械臂控制领域,具体涉及一种基于离线策略强化学习的机械臂控制方法及系统。


背景技术:

2.深度强化学习(deep reinforcement learning,drl)因同时具备深度网络的特征提取能力和强化学习的决策能力,被广泛应用于机器人的运动控制中。基于深度强化学习的机械臂控制方法存在实体迁移(sim-to-real)的问题,即在仿真环境中训练结束后模型在现实任务中表现差,需要将其迁移至现实环境中继续训练。但在现实环境的训练中机械臂的运动具有一定的不确定性,容易对机械臂造成损害。在满足对模型性能的要求下,缩短现实世界的迁移过程、减少机械臂与环境的互动具有重要现实意义。
3.借鉴人类学习技能的方法,可以在智能体已学得相关技能的基础上,将相关技能的经验应用在新技能的学习上。元强化学习方法可以在相关任务上的训练过程中获取经验,提高模型的泛化性,一定程度上可缩短迁移过程。已有的元强化学习方法如maml因模型的泛化性对内循环更新次数敏感,不适合离线策略(off-policy)强化学习方法,迁移过程的样本效率的提升受到较大限制。其他具有代表性的元强化学习算法如pearl、mier优化过程较为复杂,计算复杂度较高。


技术实现要素:

4.本发明的目的在于提供一种基于离线策略强化学习的机械臂控制方法及系统,提高了抓取模型的泛化性和迁移过程的样本效率,缩短了模型迁移时间,同时降低了机械臂在现实中训练的风险。
5.为达到上述目的,本发明所采用的技术方案是:
6.本发明第一方面提供了一种基于离线策略强化学习的机械臂控制方法,包括:
7.采集目标体位姿以及机械臂末端的位姿和速度构成状态信息s;
8.预训练的最终抓取模型根据状态信息s输入至形成轨迹控制指令,并控制机械臂抓取所述目标体;
9.所述最终抓取模型构建过程包括:
10.在仿真器中改变目标体的形状和姿态,构建抓取任务训练集;
11.基于离线策略强化学习方法构建仿真抓取模型,基于元q学习的仿真环境中通过抓取任务训练集对抓取模型进行训练,将训练过程中仿真机械臂的轨迹数据、轨迹上下文变量作为迁移数据,存储至经验区d
meta
,获得仿真抓取任务元训练模型;
12.在真实环境中对仿真抓取任务元训练模型进行设计次数的训练,记录机械臂的轨迹数据、轨迹变量作为迁移数据,存储至经验区d
new
;由经验区d
new
和经验区d
meta
中分别抽取设定数量的迁移数据组,计算迁移数据组的倾向性得分和归一化有效采样量;
13.利用经验区d
meta
中的迁移数据再次对仿真抓取任务元训练模型进行仿真训练,训
练过程中基于倾向性得分和归一化有效采样量构建多任务目标作为迁移损失函数;根据迁移损失函数对仿真抓取任务元训练模型进行迭代更新,获得收敛的最终抓取模型。
14.优选的,在仿真器中改变目标体的形状和姿态,构建抓取任务训练集的方法包括:将目标体分别绕水平设置的旋转轴a和竖直设置的旋转轴b旋转18次,且每次旋转角度为10度,得到36个抓取任务,构建为抓取任务训练集。
15.优选的,基于元q学习的仿真环境中通过抓取任务训练集对抓取模型进行训练的方法包括:
16.仿真抓取模型控制仿真机械臂执行抓取任务训练集中的抓取任务,形成仿真机械臂的轨迹数据,利用后视经验回放算法计算仿真机械臂的轨迹数据的目标状态和奖励信号;
17.基于目标状态和奖励信号构造多任务目标的仿真训练损失函数;根据仿真训练损失函数对仿真抓取模型的参数进行更新,获得损失函数收敛的仿真抓取任务元训练模型。
18.优选的,所述多任务目标的仿真训练损失函数的表达公式为:
[0019][0020][0021]
yj=rj γq'(s
t 1
,μ'(s
t 1

μ'
)|θ
q'
)
[0022]
公式中,li表示为执行第i抓取任务的损失值;n表示为批量数据的数量;sj表示为第j个数据中的机械臂状态;s
t 1
表示为在仿真环境中第j个数据中的后继机械臂状态;aj表示为第j个数据中的机械臂动作;rj表示为的第j个数据中的奖励;q(
·
)表示为仿真抓取任务元训练模型中的价值网络;q

(
·
)表示为仿真抓取任务元训练模型中的目标价值网络;γ表示为奖励折扣因子;μ

()表示为仿真抓取任务元训练模型中的目标决策网络;θ
μ

表示为目标决策网络的参数;θq′
表示为目标价值网络的参数。
[0023]
优选的,轨迹变量计算方法包括:利用门控循环单元gru由轨迹数据中提取轨迹变量。
[0024]
优选的,所述迁移数据组的归一化有效采样量的计算方法包括;
[0025]
通过迁移数据组训练逻辑斯谛回归模型作为倾向性得分估计函数β,利用分估计函数β计算迁移数据组的归一化有效采样量,表达公式为
[0026][0027]
公式中:ess表示为迁移数据组的归一化有效采样量;β(
·
)表示为倾向性得分估计函数;xj表示为第j个迁移数据;m表示为迁移数据总数量。
[0028]
优选的,通过迁移数据组训练逻辑斯谛回归模型作为倾向性得分估计函数β,
[0029]
从经验区d
new
和经验区d
meta
中抽取设定数量的迁移数据组,记为x,并分别设置标签y=1和y=-1,获得数据集(x,y);
[0030]
通过各组迁移数据组对应数据集(x,y)训练逻辑斯谛回归模型作为倾向性得分估计函数β,表达公式为:
[0031][0032][0033]
公式中,w表示为逻辑斯谛回归模型的参数;t表示为矩阵转置。
[0034]
优选的,迁移损失函数的表达公式为:
[0035][0036]
公式中,θ
meta
表示为仿真抓取任务元训练模型的参数。
[0037]
本发明第三方面提供了一种基于离线策略强化学习的机械臂控制,包括:
[0038]
采集模块,用于采集目标体位姿以及机械臂末端的位姿和速度构成状态信息s;
[0039]
控制模块,用于预训练的最终抓取模型根据状态信息s输入至形成轨迹控制指令,并控制机械臂抓取所述目标体;
[0040]
抓取任务训练集构建模块,在仿真器中改变目标体的形状和姿态,构建抓取任务训练集;
[0041]
仿真抓取任务训练模块,基于离线策略强化学习方法构建仿真抓取模型,基于元q学习的仿真环境中通过抓取任务训练集对抓取模型进行训练,将训练过程中仿真机械臂的轨迹数据、轨迹上下文变量作为迁移数据,存储至经验区d
meta
,获得仿真抓取任务元训练模型;
[0042]
真实抓取任务训练模块,用于在真实环境中对仿真抓取任务元训练模型进行设计次数的训练,记录机械臂的轨迹数据、轨迹变量作为迁移数据,存储至经验区d
new
;由经验区d
new
和经验区d
meta
中分别抽取设定数量的迁移数据组,计算迁移数据组的倾向性得分和归一化有效采样量;
[0043]
现实抓取任务离线再训练模块,利用经验区d
meta
中的迁移数据再次对仿真抓取任务元训练模型进行仿真训练,训练过程中基于倾向性得分和归一化有效采样量构建多任务目标作为迁移损失函数;根据迁移损失函数对仿真抓取任务元训练模型进行迭代更新,获得收敛的最终抓取模型。
[0044]
本发明第三方面提供了计算机可读存储介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现所述机械臂控制方法的步骤。
[0045]
与现有技术相比,本发明的有益效果:
[0046]
本发明由经验区d
new
和经验区d
meta
中分别抽取设定数量的迁移数据组,计算迁移数据组的归一化有效采样量;利用经验区d
meta
中的迁移数据再次对仿真抓取任务元训练模型进行仿真训练,训练过程中基于归一化有效采样量构建多任务目标作为迁移损失函数;根据迁移损失函数对仿真抓取任务元训练模型进行迭代更新,获得收敛的抓取模型;提高了抓取模型的泛化性和迁移过程的样本效率,缩短了模型迁移时间,同时现实抓取任务离线再训练抓取模型,降低了机械臂在现实中训练的风险。
附图说明
[0047]
图1是本发明实施例提供的抓取模型的训练整体流程图;
[0048]
图2是本发明实施例提供的仿真抓取任务训练的流程图;
[0049]
图3是本发明实施例提供的真实抓取任务训练的流程图;
[0050]
图4是本发明实施例提供的真实抓取任务训练模块的结构图;
[0051]
图5是本发明实施例提供的抓取任务训练集中目标体的结构图;
[0052]
图中:1机械臂、2目标体、3目标体放置位置、4深度相机。
具体实施方式
[0053]
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0054]
实施例一
[0055]
如图1至图3所示,一种基于离线策略强化学习的机械臂控制方法,本实施例中的机械臂1的手臂部分有6个旋转关节,末端有3根手指,包括:
[0056]
采集目标体2位姿以及机械臂末端的位姿和速度构成状态信息s;
[0057]
将状态信息s输入至预训练的抓取模型,通过预训练的抓取模型形成轨迹控制指令,控制机械臂1抓取所述目标体2放置于所述目标体放置位置3;
[0058]
所述预训练的抓取模型构建过程包括:
[0059]
如图5所示,在仿真器中改变目标体的形状和姿态,构建抓取任务训练集的方法包括:将目标体分别绕水平设置的旋转轴a和竖直设置的旋转轴b旋转18次,且每次旋转角度为10度,得到36个抓取任务,构建为抓取任务训练集。
[0060]
基于离线策略强化学习方法构建仿真抓取模型,所述仿真抓取模型包括,价值网络和策略网络。价值网络为包含3个隐含层的全连接网络,每一隐含层的节点数为256,激活函数采用relu;输入层节点数为22,并包含15维的状态和7维的动作,输出层为1。策略网络隐含层与价值网络相同,激活函数采用relu,策略网络输入层节点数为15,输出层为7。复制当前的价值网络和策略网络,作为目标网络。价值网络、策略网络、目标价值网络、目标策略网络代表的映射分别表示为q,μ,q',μ',参数分别为θq,θ
μ

q'

μ'
,记整体网络参数为:θ=(θq,θ
μ
,θq′

μ

)。
[0061]
基于元q学习的仿真环境中通过抓取任务训练集对抓取模型进行训练的方法包括:
[0062]
仿真抓取模型控制仿真机械臂执行抓取任务训练集中的抓取任务,获取目标体位姿(x,y,z,α,β,γ)、机械臂末端位姿(x',y',z',α',β',γ')和机械臂末端速度(v
x
,vy,vz)作为仿真状态;根据抓取模型的策略和仿真状态得到动作a=(θ1,θ2,θ3,θ4,θ5,θ6,θ7),其中θ1、θ2、θ3、θ4、θ5、θ6为机械臂各个关节角,三根手指与末端连接处的关节角统一表示为θ7;
[0063]
将动作噪声加到动作a中,控制机械臂按给定关节角运动,直至到达环境最大交互步数t或成功完成抓取任务,记录轨迹数据{s1,a1,s2,a2,

,s
t
};利用门控循环单元gru由轨迹数据中提取轨迹变量;将训练过程中仿真机械臂的轨迹数据、轨迹变量和状态信息作为迁移数据,存储至经验区d
meta

[0064]
以目标体坐标和放置位置的距离小于阈值判断是否成功完成抓取,利用后视经验
回放算法计算仿真机械臂的轨迹数据的目标状态和奖励信号;
[0065]
基于目标状态和奖励信号构造多任务目标的仿真训练损失函数;
[0066]
所述多任务目标的仿真训练损失函数的表达公式为:
[0067][0068][0069]
yj=rj γq'(s
j 1
,μ'(s
j 1

μ'
)|θ
q'
)
[0070]
公式中,li表示为执行第i抓取任务的损失值;n表示为批量数据的数量;sj表示为第j个数据中的机械臂状态;s
t 1
表示为在仿真环境中第j个数据中的后继机械臂状态;aj表示为第j个数据中的机械臂动作;rj表示为的第j个数据中的奖励;
[0071]
根据仿真训练损失函数对仿真抓取模型的参数进行更新,利用下式更新价值网络:
[0072][0073]
利用下式更新策略网络:
[0074][0075][0076][0077]
利用下式更新目标价值网络和目标策略网络:
[0078]
θq′

τθq (1-τ)θq′
[0079]
θ
μ


τθ
μ
(1-τ)θ
μ

[0080]
获得损失函数收敛的仿真抓取任务元训练模型,保存仿真抓取任务元训练模型,表示为θ
meta
=(θq,θ
μ

q'

μ'
)。
[0081]
在真实环境中通过仿真抓取任务元训练模型控制机械臂执行多次抓取任务,利用深度相机4捕获目标体深度图像经目标位姿检测模块估计出目标体位姿,利用正运动学求出机械臂末端的位姿和速度,计算获得机械臂的轨迹数据;利用门控循环单元gru由轨迹数据中提取轨迹变量,记录机械臂的轨迹数据、轨迹变量和状态信息作为迁移数据,存储至经验区d
new
;轨迹变量计算方法为利用门控循环单元gru由轨迹数据中提取轨迹变量。
[0082]
由经验区d
new
和经验区d
meta
中分别抽取设定数量的迁移数据组,通过迁移数据组训练逻辑斯谛回归模型作为倾向性得分估计函数β,方法包括:
[0083]
从经验区d
new
和经验区d
meta
中各抽取200个迁移数据组,记为x,并分别设置标签y=1和y=-1,获得数据集(x,y);
[0084]
通过各组迁移数据组对应数据集(x,y)训练逻辑斯谛回归模型作为倾向性得分估计函数β,表达公式为:
[0085]
[0086][0087]
公式中,w表示为逻辑斯谛回归模型的参数;t表示为矩阵转置;
[0088]
利用分估计函数β计算迁移数据组的归一化有效采样量,表达公式为
[0089][0090]
公式中:ess表示为迁移数据组的归一化有效采样量;β(
·
)表示为倾向性得分估计函数;xj表示为第j的迁移数据组。
[0091]
利用经验区d
meta
中的迁移数据再次对仿真抓取任务元训练模型进行仿真训练,训练过程中基于归一化有效采样量构建多任务目标作为迁移损失函数;
[0092]
迁移损失函数的表达公式为:
[0093][0094]
公式中,θ
meta
表示为仿真抓取任务元训练模型的参数。
[0095]
根据迁移损失函数对仿真抓取任务元训练模型进行迭代更新,获得收敛的抓取模型。
[0096]
实施例二
[0097]
如图4所示,一种基于离线策略强化学习的机械臂控制系统,本实施提供的机械臂控制系统可以应用于实施例一所述机械臂控制方法,本实施例中的机械臂1的手臂部分有6个旋转关节,末端有3根手指,机械臂控制系统包括:
[0098]
采集模块,用于采集目标体位姿以及机械臂末端的位姿和速度构成状态信息s;
[0099]
控制模块,用于将状态信息s输入至预训练的抓取模型,通过预训练的抓取模型形成轨迹控制指令,控制机械臂1抓取所述目标体2放置于所述目标体放置位置3;
[0100]
抓取任务训练集构建模块,用于在仿真器中改变目标体的形状和姿态,构建抓取任务训练集;
[0101]
仿真抓取任务训练模块,用于基于离线策略强化学习方法构建仿真抓取模型,基于元q学习的仿真环境中通过抓取任务训练集对抓取模型进行训练,将训练过程中仿真机械臂的轨迹数据、轨迹变量和状态信息作为迁移数据,存储至经验区d
meta
,获得仿真抓取任务元训练模型;
[0102]
真实抓取任务训练模块,用于在真实环境中通过仿真抓取任务元训练模型控制机械臂执行多次抓取任务,记录机械臂的轨迹数据、轨迹变量和状态信息作为迁移数据,存储至经验区d
new
;由经验区d
new
和经验区d
meta
中分别抽取设定数量的迁移数据组,计算迁移数据组的归一化有效采样量;
[0103]
现实抓取任务离线再训练模块,用于利用经验区d
meta
中的迁移数据再次对仿真抓取任务元训练模型进行仿真训练,训练过程中基于归一化有效采样量构建多任务目标作为迁移损失函数;根据迁移损失函数对仿真抓取任务元训练模型进行迭代更新,获得收敛的抓取模型。
[0104]
实施例三
[0105]
计算机可读存储介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现实施例一所述机械臂控制方法的步骤。
[0106]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0107]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0108]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0109]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0110]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献