本文主要是介绍机器人强化学习——Learning Collaborative Pushing and Grasping Policies in Dense Clutter(ICRA 2021),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1 简介
基于3D视觉
联合学习平面推
和6DOF抓取
,采用Q-learning
。
推和抓取使用两个独立的网络,通过采样器获得6-DOF抓取位姿。
2 方法
state
:RGBD图像
action
:行为基元选择(推、抓取)、末端的三维位置和旋转。
在push动作下,action由图像上二维的点和平面的旋转角构成,机械手在该点处沿旋转角方向推10cm。
如何push物体:Durin g the execution, the gripper holds the same height from the tabletop in order to keep the push planar and stable.
不是力位混合控制。
reward
:成功抓取为1,否则为0。不对push动作设计直接的reward。
与之不同, 设计reward:场景图像的差值大于阈值时 reward=0.5。该reward鼓励push动作使场景产生变化,但没有明确地使未来的抓取更方便。
policy
:使用Q-learning,输入s和a,输出Q;使用TD(时序差分)方式更新网络。
action选择如下:
- 对于push,图像中的每个点为候选推的起始点,水平方向为推的方向。通过将图像旋转16次送入网络,获得不同方向上的Q-value。
- 对于grasp,通过一个现成的抓取检测算法得到候选6-DOF抓取位姿(即图中的GPG),然后过滤掉在工作空间外的抓取位姿,然后通过FC输出Q-value。
loss
:只计算采取的action对应的像素位置处的损失,其他都设为0。push和grasp采用不同的损失。
- 对于push,计算采取push动作后图像的差异,如果大于阈值,则对应像素处的push标签为1?。由于阈值需要人工给定,可能导致给定的值不好,所以采用Huber loss优化,因为该函数对不精确的标签不敏感。
- 对于grasp,由于是否抓取成功由手指的距离计算得到,所以认为标签精确,采用二值交叉熵函数优化。
虽然reward的设置方式和不同,但本质上优化的方式相同。
文中提到,该方法相比于18年zeng andy的VPG算法有如下三个优势:
- VPG是平面抓取,本文是6DOF抓取位姿;
- VPG采样action的方式是计算量大的像素级采样,本文采用抓取检测算法等采样;
- VPG对push设置了直接的reward,本文没有(从我读的内容来看,本文的push训练方法和VPG本质上一样,代码没开源,无从求证)
实验没看
4 想法
4.1 本文方法缺点
1、和18年那篇推抓论文一样的缺点。
2、该方法本质上就是一个抓取算法+一个推算法,谁的置信度高选谁,这种方法的训练效率还不如监督学习(通过指标计算或仿真抓取生成标签)。
3、本文方法采用了额外的抓取检测算法(外挂),不能证明本文方法效果好。
这篇关于机器人强化学习——Learning Collaborative Pushing and Grasping Policies in Dense Clutter(ICRA 2021)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!