1.解决的问题
先前工作存在的不足
- 虽然有大量的工作研究推动和抓取规划,但是大多是分开进行的,将两种策略结合进行序列化操作是一个尚未探索的问题。
- 在基于模型或数据驱动的方法中,推的目标很难被定义或设计奖励函数。
- 一些工作从经验中学习最大化affordance指标或抓取稳定性指标,如何将分别学习的抓取和推动动作相结合规划序列化动作尚待研究。
- A planning framework for non-prehensile manipulation under clutter and uncertainty 通过挖掘特定领域知识提出基于硬编码启发式方法的有监督的推-抓策略,限制了协同行为的类型。
论文的主要贡献
- 通过自监督试错学习协同的推动和抓取策略,推动动作只有在能够及时抓取的情况下才有用。不同于先前启发式和硬编码目标函数的方法。
- 端到端训练深度神经网络从输入的视觉图像输出潜在推动和抓取的期望回报(Q值),选择Q值最大的动作。不同于先前工作根据手工设计的特征明确感知单个物体并规划动作 。
- 将数据驱动的prehensile操作(抓取)和non-prehensile操作(推动)相结合。
论文方法的两个优点
- 可以在非结构化环境中执行复杂的序列化操作;
- 可以泛化到新物体。
在物理系统上采用强化学习训练端到端策略由于采样空间复杂,昂贵且耗时。
因此作者简化了动作空间,将其定义为末端执行器的动作原语。
作者将任务定义为逐像素标记问题,其中每个图像像素 - 和图像方向 - 对应到在场景中该像素的 3D 位置上执行特定的机器人运动原语(推动或抓取)。 通过FCN解决逐像素标记问题。
2.方法
离策略的Q-learning
马尔科夫决策过程建模
- 状态 s t s_t st:RGB-D高度图(RGB-D图投影到三维点云,正交投影回重力方向)
- 动作
a
t
a_t
at:由动作原语
ψ
\psi
ψ 和高度图中像素点
p
p
p 投影得到的3D位置
q
q
q 决定:
a = ( ψ , q ) ∣ ψ ∈ { p u s h , g r a s p } , q → p ∈ s t a = (\psi,q) | \psi \in \{push,grasp\},q\rightarrow p \in s_t a=(ψ,q)∣ψ∈{push,grasp},q→p∈st - Fully Convolutional Action-Value Functions(全卷积动作值函数)Q学习+视觉affordance的结合
采用两个并行的FCN ϕ p \phi _ p ϕp 和 ϕ g \phi _ g ϕg 建模Q函数。输入为高度图,输出为与输入相同大小的逐像素Q值表,其中,在像素 p p p 处的每个 Q 值表示在与像素 p p p 对应的空间位置 q q q 执行该动作原语的未来期望回报。
ϕ p \phi _ p ϕp和 ϕ g \phi _ g ϕg 网络结构均为121层的DenseNet,在InageNet上预训练。其中一个 DenseNet tower将高度图的颜色通道(RGB)作为输入,另一个 DenseNet tower将高度图的深度通道(DDD)(通过减去平均值和除以标准差进行归一化)作为输入,网络输出直接进行通道拼接,再经过两个带有ReLU和BN的 1 × 1 1 \times 1 1×1 卷积层,然后进行双线性上采样。 - 奖励函数:
如果抓取成功 R g ( s t , s t + 1 ) = 1 R_g(s_t, s_{t+1})=1 Rg(st,st+1)=1
如果推动给环境带来可观测的变化(高度图差值大于某个阈值 Σ ( s t + 1 − s t ) > τ \Sigma(s_{t+1} - s_t) > \tau Σ(st+1−st)>τ) R p ( s t , s t + 1 ) = 0.5 R_p(s_t, s_{t+1})=0.5 Rp(st,st+1)=0.5
这里并没有考虑推动能否带来成功的抓取,仅仅是鼓励推动带来环境改变。 - 损失函数:Huber loss
- 训练和测试细节
采用随机排名的优先经验回放
探索策略为 ϵ − g r e e d y \epsilon-greedy ϵ−greedy ( ϵ = 0.5 ) (\epsilon=0.5) (ϵ=0.5) 随训练轮数衰减
奖励折扣因子 γ = 0.5 \gamma=0.5 γ=0.5,不变
避免陷入重复执行同样动作的死循环,测试时保持 1 0 − 5 10^{-5} 10−5 的学习率
3.实验
论文联合推动和抓取规划的方法为VPG
baseline方法
- 只有抓取的FCN(grasping only),策略为确定性的 g r e e d y greedy greedy贪心策略,选择当下抓取affordance值最大的
- 推动+抓取两个FCN(P+G Reactive),推动的监督信号为观测到的环境变化量, ϵ − g r e e d y \epsilon-greedy ϵ−greedy ,且需要 ϵ \epsilon ϵ 较大探索率保证训练稳定
评价指标
- 平均完成任务百分比,衡量策略在场景中不连续失败 10 次以上而完成任务的能力
- 平均抓取成功率
- 操作效率(物体数量 / 执行动作数量)
仿真结果
-
随机场景
随机场景中P+G Reactive完成率和动作效率比较低,可能是因为不停地推动导致物体被推出工作区,抓取affordance预测较低 -
挑战性场景
挑战性场景中P+G Reactive完成率和抓取成功率高一些,但是动作效率比较低,可这是因为仅使用环境变化二值监督信号导致的,推动动作不受其帮助抓取的程度的直接监督。
消融实验
- 没有推动奖励,仅靠未来的抓取奖励学习影响
没有奖励也能学习到有效的推抓策略(红实线)
学到了能帮助抓取的推动策略(红虚线)
学习进程较慢,但是结果相差不多 - 没有ImageNet预训练
影响不大 - 没有深度信息(每个FCN不再有第二个输入DDD深度通道信息的DenseNet tower)
抓取性能下降15%
- 短视策略(
γ
=
0.2
\gamma=0.2
γ=0.2)
短视策略训练之初性能提高很快,但最终效果不好
真实场景实验结果
自标定:相机追踪贴在夹持器上的棋盘标定图案
- 随机场景
VPG训练之初性能上升很快,最终结果也更好 - 挑战性场景
真实环境下在挑战性场景中VPG的优势更明显
- 未见过的物体
针对形状分布相似的物体泛化性还是可以的
4.进一步工作
- 动作原语参数化为规则的网格(高度图)限制了表达能力,可探索动态抓取和并行的推抓
- 物体的形状比较简单,在更多样的物体上训练,评估泛化性
- 将更多的操作动作原语结合,如滚动(rolling)、倾倒(toppling)、挤压(squeezing)、撬动(levering)、堆叠(stacking)等