一种基于深度强化学习的密集场景机械臂抓取多目标物体的方法

文档序号:35704617发布日期:2023-10-12 04:28阅读:218来源:国知局
一种基于深度强化学习的密集场景机械臂抓取多目标物体的方法

本发明涉及复杂场景机械臂抓取领域,具体为一种基于深度强化学习的密集场景机械臂抓取多目标物体的方法。


背景技术:

1、抓取物体是机器人研究领域的基础方向之一,在众多应用场景中发挥着重要的作用。随着工作任务难度的不断增加,机械臂在完成抓取任务的过程中面临着许多困难,因此,如何实现机械臂在非结构化的操作环境中完成对所有物体的精准抓取仍然具有挑战性。利用深度学习的目标识别、检测以及位姿估计虽然能够有效的解决物体的抓取问题,但是这些方法需要消耗大量时间收集和制作大规模的样本数据,同时仅针对已知的物体模型,因此在处理多物体任务时,仍然存在识别能力差和定位误差较大的等问题。强化学习可以通过智能体与环境持续交互,利用预设的奖励作为反馈信号,并不需要人工进行标注,所以考虑将深度学习和强化学习相结合应用到机械臂的抓取任务中,但在处理紧密堆叠的物体时却很困难,因为无碰撞的情况下很难在物体上找到合适的抓取点。受人类行为的启发,推动和抓取之间的协同作用成为应对这种情况的解决方案,可以有效提高抓取成功率。但是这类方法训练时样本效率较低仍然是主要挑战,而且部分奖励函数只考虑了局部工作空间内的特征信息,导致模型容易预测出从全局角度来看无效的动作。

2、因此,如何设计一种新的基于深度强化学习的推抓协同方法,提高训练效率的同时,也能凭借高效的奖励函数协助机器人提高抓取成功率是一个值得思考的问题。


技术实现思路

1、本发明提出了一种基于深度强化学习的密集场景机械臂抓取多目标物体的方法,利用深度强化学习获得优秀的推动与抓取协同策略,设计了一种掩码函数用于筛选有效的动作,提高训练效率,同时为了给机器人提供较大的抓取空间,引入了工作空间所有物体的平均相对距离的差值作为推动奖励函数的指标,将推动行为的奖励与环境密集程度的变化联系起来。本方法可以让机械臂专注于有效的抓取和动作来促进模型进行高效率的学习,并且可以在工作空间内评估每个候选推动作对物体密集程度的影响,为抓取提供了足够的空间,提高了抓取的成功率。

2、1.本发明提出了一种基于深度强化学习的密集场景机械臂抓取多目标物体的方法,该方法包括如下步骤:

3、步骤s1:在虚拟仿真软件coppeliasim中搭建用于训练机械臂完成抓取任务的物体密集场景;

4、步骤s2:将相机捕获到的图像数据利用正交变换和旋转生成不同角度的高度图,把多张高度图输入由特征提取模块densenet121以及两个并行的推动网络和抓取网络组成的全卷积神经网络并输出像素级q值图,利用掩码函数筛选出有意义的像素点并获取t时刻推动作最大q值和抓动作最大q值

5、步骤s3:根据当前状态下的最大q值选择动作,其中,推动的奖励值rp由推动前后场景中所有物体的平均相对距离的差值dimproved是否大于阈值决定;

6、步骤s4:搭建真实场景的密集抓取环境,将仿真端训练好的推抓协同策略网络应用到实物平台,机械臂在真实环境下根据动作选择规则进行决策完成抓取任务。

7、2.可选地,步骤s1具体包括如下步骤:

8、步骤s1-1:在coppeliasim仿真环境中添加机械臂模型和二指机械夹爪模型;

9、步骤s1-2:在coppeliasim仿真环境中添加rgb-d相机,并设置机械臂抓取的工作空间;

10、步骤s1-3:步骤s1-2中设定的工作空间内通过随机掉落的方式添加仿真训练物体。

11、3.可选地,步骤s2具体包括如下步骤:

12、步骤s2-1:利用rgb-d相机获取工作空间内的rgb图像ic和深度图像id,经过正交变换和去噪操作得到彩色俯视图hc和深度高度图hd,作为状态st,融合两张图片生成特征图hcd;

13、步骤s2-2:将上述步骤s2-1生成的特征图hcd,通过顺时针依次旋转16次,每次的旋转角度通过仿射变换获得16组旋转后的特征图集hcdk;

14、步骤s2-3:将上述步骤s2-2生成的16组特征图分别输入由特征提取模块densenet121以及两个并行的推动网络和抓取网络组成的全卷积神经网络,输出一组t时刻与每个动作对应的像素级q值图,其中每一个像素点对应推动或者抓取的位置和角度;

15、步骤s2-4:为了解决机械臂在训练时样本效率较低的问题,设计了筛选有效动作的掩码函数,可以让机械臂专注于有效的动作位置来促进模型进行高效率的学习,基于深度高度图hd分别生成抓取掩码mg和推动掩码mp,对全卷积网络输出的q值映射图使用掩码进行筛选,计算出推动作和抓动作分别对应的最大q值:

16、

17、其中代表矩阵运算中的哈达玛积,m是推动掩码mp和抓取掩码mg其中一个,q是基于网络输出的像素级别映射的q值图,利用掩码函数筛选出有意义的像素点并获取t时刻推动作最大q值和抓动作最大q值

18、4.可选地,步骤s3具体包括如下步骤:

19、步骤s3-1:基于获得的深度高度图hd生成掩码图,掩码图经过图像腐蚀处理,通过各个物体区域获取外接矩形的中心位置的像素点坐标(u,v),通过获取到图像的像素点进行坐标变换计算出机械臂坐标系下的坐标(x,y),获取所有物体在工作空间中的位置坐标,物体间的平均相对距离定义为:

20、

21、这里oi和oj代表物体i和j的位置,把n作为工作空间中所有物体的个数,设置dt为t时刻场景中所有物体的平均相对距离;

22、步骤s3-2:结合步骤s2-4中预测的推动作最大q值和抓动作最大q值如果机械臂将执行推动作,否则执行抓动作,最优动作记为at;

23、步骤s3-3:为了可以在工作空间内评估每个候选推动作对物体密集程度的影响,设计了利用所有物体的平均相对距离的差值作为指标的推动奖励函数:

24、

25、其中η为预先设定的参数,我们设置η=0.01,dimproved=dt-dt-1可以从全局判断机械臂执行推动动作前后是否有效分离物体,当dimproved大于某个阈值我们认为上一时刻的推动动作是有益的,同时,为了防止机械臂将物体推出工作空间导致相机无法捕获,我们同时通过物体位置判断是否在工作空间内来奖惩机械臂的推动动作。

26、5.可选地,步骤s4具体包括如下步骤:

27、步骤s4-1:利用标定板和rgb-d相机做eye-to-hand手眼标定工作,计算相机的变换矩阵,将相机坐标系下的二维像素坐标(u,v)变换为机械臂坐标系下的三维空间坐标(x,y,z);

28、步骤s4-2:仿真端训练好的推抓协同策略网络移植到实物平台,相机获取的图像数据输入全卷积网络并输出最大q值对应的二维像素坐标(u*,v*)、动作类型和最佳旋转角度θ,结合步骤s4-1转换关系,输出机械臂在实际空间中三维坐标(x*,y*,z*)以及机械臂夹爪绕z轴旋转角度θ;

29、步骤s4-3:控制机械臂夹爪旋转至最大q值的特征图对应的角度θ,运用机械臂内部逆运动学解算器解算出机械臂末端运动至坐标(x*,y*,z*)各关节所需转动的角度,驱动机械臂执行最优动作at;

30、步骤s4-4:重复以上步骤s4-1到s4-3,直至完成工作空间内所有物体的抓取任务。

31、6.与已有的发明相比,本发明的有益效果是:

32、(1)为了解决机械臂在训练时样本效率较低的问题,基于生成的深度高度图设计了筛选有效动作的掩码函数,可以让机械臂专注于有效的动作位置来促进模型进行高效率的学习;

33、(2)设计了一种新的推动奖励函数,为了可以在工作空间内评估每个候选推动作对物体密集程度的影响,设计了利用所有物体的平均相对距离的差值作为指标的推动奖励函数,有助于网络输出有效的推动为抓取提供了足够的空间。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1