技术新讯 > 五金工具产品及配附件制造技术 > 一种面向稀疏奖励的深度强化学习机械臂抓取方法  >  正文

一种面向稀疏奖励的深度强化学习机械臂抓取方法

  • 国知局
  • 2024-08-22 14:57:43

本发明涉及机械臂的抓取领域,具体涉及一种面向稀疏奖励的深度强化学习机械臂抓取方法。

背景技术:

1、机械臂抓取技术是机器人技术领域的基础方向之一,在工业自动化领域中扮演着关键角色,可以提高生产效率、减少人力成本,实现自动化生产。现有抓取控制主要可以分为两类:经典分析法和数据驱动法,经典分析法是传统的目标抓取方法,需要建立几何物理模型、接触模型和刚体模型等,并且进行运动学、动力学和力学分析计算。其局限在于,在部分场景下的数学与物理建模十分复杂,建模过程难以完成。近年来,以深度强化学习为代表的数据驱动方法飞速发展,国内外学者开始致力于数据驱动的机械臂抓取方法研究。

2、深度强化学习结合深度学习强大特征提取能力与强化学习的优秀决策能力,具有能够应对大规模复杂环境、泛化能力强和实现端到端学习等优势。ddpg、sac、ppo等actor-critic结构算法的出现,能够很好地解决连续状态动作空间问题,特别是在抓取任务中,使机械臂能够在连续空间内精准地执行抓取动作。在基于深度强化学习的机械臂抓取学习领域中,智能体通过奖励来优化决策,对于较为复杂的场景,智能体难以获得正向奖励,稀疏的奖励信号会导致网络收敛速度慢甚至训练失败等问题,如何解决稀疏奖励带来的问题仍有很大的探索空间。因此,迫切需要开发面向稀疏奖励的深度强化学习机械臂抓取方法。

技术实现思路

1、针对上述存在的技术不足,本发明的目的是提供一种面向稀疏奖励的深度强化学习机械臂抓取方法,其使用ddpg算法探索确定性策略,能够处理机械臂的连续状态动作空间,加入动作随机探索噪声,增强机械臂探索能力,简化了学习问题,降低了设计成本,可解释性强,,提高了经验利用率,提高了抓取成功率,增强了网络收敛速度与训练效率。

2、为解决上述技术问题,本发明采用如下技术方案:

3、本发明提供一种面向稀疏奖励的深度强化学习机械臂抓取方法,包括以下步骤:

4、步骤1、分析机械臂抓取任务特点,将其建模为马尔可夫决策问题,设计二元稀疏奖励函数;

5、步骤2、基于深度强化学习ddpg算法,搭建actor-critic结构的主网络和目标网络;

6、步骤3、设计事后经验回放机制,使用g-hgg算法生成辅助目标,使用预训练动作网络进行动作筛选,加入探索噪声与能量函数,累积经验回放池;

7、步骤4、搭建机械臂模型与场景信息,利用交互数据估计值函数并更新策略,得到确定性策略,完成目标抓取任务。

8、优选地,步骤1具体包括如下内容:

9、根据机械臂抓取任务特点,定义四元组具体为:

10、s1-1、为状态空间,表示智能体所观测的信息集合,具体表示为机械臂所有关节的位置和速度、末端执行器的位置、目标位置以及物体的位置和方向;

11、s1-2、为动作空间,表示智能体所执行的操作集合,具体表示为末端执行器的三维坐标增量以及夹爪开合;

12、s1-3、r为奖励函数,用于评估智能体在执行动作的效果,以此引导智能体学习达到预期目标,奖励函数采用如下二元稀疏奖励函数:

13、

14、其中g为算法生成辅助目标,d为目标物体到辅助目标位置的欧式距离,dth为该距离的最小阈值;

15、s1-4、γ为折扣因子,决定智能体对于未来奖励的重视程度。

16、优选地,步骤3具体包括如下内容:

17、s3-1、创建经验回放池,在标准经验池中加入能量函数,经验池中存放数据形式为七元组(st||g,at,rt,st+1||g,done,p,etraj),在经验池中按照批量采样训练主网络与目标网络,其中st||g为智能体在t时刻的状态st和目标g的联合表示,at表示智能体在t时刻采取的动作,rt表示智能体在采取动作at后获得的奖励,st+1表示智能体在状态st采取动作at后在t+1时刻转移的状态,done表示任务标识位,为bool型数值,代表当前回合任务完成与否,p为当前轨迹的回放优先级,etraj为该条经验轨迹的总能量值,用于确定经验回放优先级;

18、s3-2、针对环境信息创建图模型g=(v,e),其中v为图中的节点集合,e为图中的边集合,其中其中p1,p2为两个可能节点,ω为权重;

19、s3-3、使用dijkstra算法预计算两节点(p1,p2)∈p2间的最短距离

20、s3-4、载入一组预训练策略定义l个目标对应k个预训练策略;

21、s3-5、基于g-hgg算法,构建一个包含m个辅助目标集合

22、s3-6、使用步骤s3-5中生成的辅助目标替代原目标(s0,g);

23、s3-7、在t时刻根据目标ol调整状态和目标(s′,g′),从预训练策略中确定候选动作并将该动作储存到动作集合中;

24、s3-8、循环步骤s4-6共l次;

25、s3-9、循环步骤s4-7共k次;

26、s3-10、将t时刻机械臂的观测状态st输入到actor网络,跟据确定性策略π(s;θ)输出动作并且为该动作添加均值为0,方差为σ2的高斯噪声nt,即t时刻动作并将该动作储存到动作集合中;

27、s3-11、根据式(2)选择最优动作执行该动作并获得t+1时刻状态st+1;

28、

29、s3-12、循环步骤s4-8、s4-9和s4-10共t次;

30、s3-13、定义势能函数ep(st)=mgzt,其中m为物体质量,g≈9.81m/s2代表重力加速度,zt为t时刻物体在z轴坐标;定义式(3)为动能函数,

31、

32、其中,(xt,yt,zt)和(xt-1,yt-1,zt-1)分别为在t和t-1时刻目标物体的三维坐标,δt为机械臂的采样时间间隔;

33、定义状态转移能量函数为式(4):

34、

35、其中,为转移能量上界,是一个设定值,e(st)为状态能量函数,定义为e(st)=ep(st)+ek(st);

36、根据能量函数计算经验轨迹能量etraj,定义为式(5);

37、

38、s3-14、根据式(6)计算经验轨迹回放优先级

39、

40、s3-15、计算t时刻奖励rt,并将六元组储存至经验池从辅助目标集合中采样一组辅助目标g′;

41、s3-16、计算t时刻辅助奖励rt′,并将辅助经验储存至经验池

42、s3-17、针对辅助目标g′循环执行s4-15;

43、s3-18、循环步骤s4-14和s4-16共t次。

44、优选地,步骤4具体包括如下内容:

45、s4-1、设定环境坐标系o-xyz,设置机械臂初始状态,确定机械臂工作空间;

46、s4-2、设定障碍物与目标物体等场景信息;

47、s4-3、确定机械臂的观测状态信息与动作信息,确定机械臂更新时间间隔;

48、s4-4、基于ddpg算法与环境进行交互,使用步骤3中的经验池处理方法累积经验回放池;

49、s4-5、从经验回放池中采样大小为batchsize的minibatch

50、s4-6、根据p对中各样本进行排序,p值越大回放优先级越高;

51、s4-7、按照回放优先级将中经验输入网络中进行训练,将状态-动作对(s,a)输入critic网络,计算状态-动作对的q值q(s,a;μ),μ是critic网络参数,通过最小化损失函数来更新;

52、s4-8、将状态s输入actor网络,得到基于确定性策略π(s;θ)的输出动作a,θ是actor网络参数,通过梯度下降更新;

53、s4-9、根据主网络参数对目标网络的参数进行软更新:

54、θ′=τ·θ+(1-τ)·θ′  (7)

55、μ′=τ·μ+(1-τ)·μ′  (8)

56、其中θ′和μ′分别为目标网络中包括target actor网络和targetcritic网络的网路参数,τ为网络参数的软更新幅度,τ∈(0,1);

57、s4-10、更新经验回放池,丢弃经验池中最旧的经验轨迹,积累一组新经验;

58、s4-11、循环训练直至达到设定回合,则训练结束。

59、本发明的有益效果在于:

60、1)使用ddpg算法探索确定性策略,能够处理机械臂的连续状态动作空间,加入动作随机探索噪声,增强机械臂探索能力;

61、2)奖励函数信号使用二元稀疏奖励形式,减少奖励函数设计的复杂度,简化学习问题,降低了设计成本,可解释性强;

62、3)基于事后经验回放,使用g-hgg算法进行辅助目标生成,使用预训练动作网络进行动作筛选并加入能量函数对经验池进行处理,提高经验利用率,提高抓取成功率,增强网络收敛速度与训练效率。

本文地址:https://www.jishuxx.com/zhuanli/20240822/280588.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。