2. 河北省计算机虚拟技术与系统集成重点实验室, 河北 秦皇岛 066004;
3. 北京信息科技大学自动化学院, 北京 100192
2. The Key Laboratory for Computer Virtual Technology and System Integration of Hebei Province, Qinhuangdao 066004, China;
3. School of Automation, Beijing Information Science & Technology University, Beijing 100192, China
近年来,机器学习方法快速发展,使得机器人可以实现对未知物体的自主抓取操作,但机器人抓取杂乱场景下的目标物体仍面临不小的挑战。一些研究在Conell Grasping、Jacquard等抓取数据集上通过深度学习方法进行有监督的训练以获取最优抓取框[1-4]、判定物体的抓取点或抓取姿势,进而完成机器人对物体的抓取任务,但应用大量数据集导致训练时间过长。强化学习的兴起,使得机器人可以自监督地与环境进行信息交互,进而完成所设定的任务。传统强化学习方法为机器臂抓取、机器人堆叠和整理、四足机器人行走以及机器人导航等高维度的控制问题提供了较好的解决方案。
数据驱动的方法在许多方面都取得了成功,受此鼓舞,深度神经网络也被用在杂乱场景下的物体姿态估计。机器人通过对抓取数据集训练实现了对目标物体的抓取[1-4]。Morrison等[1]提出生成式抓取卷积神经网络(GG-CNN),对图像中每个像素的抓取质量和姿势给出得分。Redmon等[2]使用单阶段回归法找到可抓取的矩形检测框。Levine等[3]拟合了末端夹具的运动轨迹进而预测抓取成功的概率,并探索了多个机器人并行化训练的方法。Schmidt等[4]提出了一种数据驱动、自下而上的学习方法,使用深度卷积神经网络(DCNN)来实现机器人对新颖对象的抓取。Mahler等[5]使用Dex-Net 2.0数据集训练抓取质量卷积神经网络(GQ-CNN)模型,根据深度相机给出的3D点云信息,找到鲁棒性最高的吸附抓取点。Kumra等[6]提出了一种新颖的生成式残差网络(GR-ConvNet)模型,用于反足机器人从场景的
基于深度强化学习算法的自监督抓取策略为实现自动化抓取提供了可能,该类方法在抓取对象形状、位姿未知的情况下,通过策略迭代与奖励值反馈进行自监督学习。Shukla等[11]将形状规则的刚性目标抓取的问题分解为位置和方向学习,提出了一种GDQN(抓取深度Q网络)深度强化学习算法,用于姿态估计,并验证了该网络的有效性,但其对于目标物体要求较高且需要部分人工标注。Kalashnikov等[12]提出了一种大规模分布式优化和深度Q学习拟合的离线策略训练方法,实现了机器人的动态操作,但其硬件要求过高导致复现较难。Sarantopoulos等[13]提出了一种模块化的强化学习方法,使用连续动作将目标对象从周围的杂波中完全分离出来。通过动作原语和特征选择,将先验知识有效地融入到学习中,提高了样本效率,一定程度上解决了训练效率低的问题。Quillen等[14]探索了一种基于视觉的机器人抓取深度强化学习算法,根据异策略(off-policy)强化学习算法评估无模型的机器人抓取任务。Hou等[15]在机器人抓取之前,通过监督学习对Q网络进行预训练,验证了该方法能够在早期阶段显著加速自监督学习,并且与工作空间中对象的稀疏性几乎无关。Deng等[16]基于DQN(深度Q网络)设计了一种结合吸盘与夹持器的新型机械手的主动探索算法,在杂波环境中完成了抓取任务。Xie等[17]提出带失败概率的贝叶斯逆强化学习(BIRLF)算法,该算法从策略最优性条件导出半空间,在贝叶斯逆强化学习(BIRL)框架下合并失败的经验并回传给机器人,适用于工作空间更复杂的环境。但其需要对规则物体进行前期人工标注,工作量较大。Johannink等[18]直接在现实世界中训练智能体,将机械臂控制难题分解为常规反馈控制方法解决的部分和用RL(强化学习)法解决的残差部分,有效地解决实际控制问题。Mohammadi等[19]在改进的DDPG(深度确定性策略梯度)基础上提出了一种在线连续深度强化学习的方法,用于完成混乱环境中的抓取任务。Ni等[20]针对边缘物体抓取,将抓取质量函数的变化与遗忘机制相结合来训练推抓动作,此外,还设置了双重体验重播,以增加边界上的搜索。文[21-22]都在DQN算法的基础上提出了新的改进,Gui等[21]提出了一种知识诱导的深度Q学习模型(KI-DQN),在采取抓取动作之前先将目标物体推向墙壁,将该问题看作马尔可夫决策过程,主动利用环境优势来抓取物体。Joshi等[22]构建双重DQN框架抓取网络来输出抓取概率,提高了抓取成功率,但其需要收集海量训练数据,还要在多个物理机器人上进行训练,大大增加了训练成本。Zhang等[23]基于DQN提出了一种堆叠抓取网络(GSN),在研究目标物体的抓取问题时进一步讨论了物体放置问题,但其仅考虑了单个物体的场景,具有一定的局限性。Zeng等[24]通过卷积神经网络预先计算每个动作的置信度
针对杂乱环境下面向目标物的抓取任务,本文提出一种基于功用性图检测的目标抓取技能自监督学习方法,主要贡献包括:
(1) 给出了杂乱环境下面向目标抓取的问题描述,并将其表示为一个全新的马尔可夫决策过程(MDP)。其中状态信息包括
(2) 基于自适应参数调节与分组拆分注意力机制,提出一种新型特征提取网络RGSA-Net,它可根据RGB-D摄像机采集到的状态得到精准推抓的功用性图(affordance map)。同时,通过自适应参数调节防止梯度弥散。
(3) 基于演员-评论家框架的思想,在动作机制模块中设计DQAC算法。该算法将基于值函数与策略梯度的算法的优势结合起来,用于训练机器人推、抓之间的协同。
2 问题描述与求解框架(Problem description and solution framework) 2.1 推动和抓取任务描述及抽象化杂乱环境的特点是在一个场景下一些形状未知的物体呈无规律堆叠,而且目标物体被严重遮挡。因此,该环境中面向目标的抓取尤为困难。功用性图定义了某一像素的推抓置信度,颜色越深表示采取动作的置信度越高,反之置信度越低。本文研究机器人在图 1所示的杂乱环境下面向目标的推抓问题,采用RGB-D相机作为机器人的外部传感器,利用功用性图判断该场景中是否存在适于抓取的位置和角度。若存在则直接抓取;若不存在,则采取若干次推动动作,增大目标物体周围的空间供机器人抓取。
![]() |
图 1 机器人目标推抓技能自监督学习系统 Fig.1 Robot self-supervised learning system for target pushing-grasping skills |
本文将机器人面向目标的推抓技能学习问题定义为一个马尔可夫决策过程(MDP),该过程由七元组
基于深度强化学习设计了一种目标推抓技能自监督学习方法。如图 1所示,整个框架分为视觉机制模块和动作机制模块。首先将机器人上方的RGB-D相机获取的工作台图像信息作为当前时刻的状态
视觉机制模块的执行流程如图 2所示。首先在相机坐标系中将深度信息投影到3D点云中,创建RGB-D高度图,经预处理后得到状态高度图(heightmap),将其旋转16次后输入到特征提取网络RGSA-Net进行特征提取。然后将提取到的特征作为推抓动作网络的输入,分别得到推动与抓取动作的功用性图,进而求得在执行动作时所需的置信度最大的像素点与角度。最后根据手眼标定结果将相机坐标系信息转化为机器人坐标系信息,在工作空间中得到接触点位置与角度来执行动作。
![]() |
图 2 视觉机制模块执行流程 Fig.2 Implementation process of the vision mechanism module |
动作机制模块基于演员-评论家框架的思想,其策略网络输入为当前状态值,输出为决策动作,目标是训练最优的策略
$ \begin{align} {\mathit{\boldsymbol{J}}}({\boldsymbol{\theta}})=\sum\limits_{a\in A} {{\boldsymbol{\pi}}_{\boldsymbol{\theta}}} ({{\mathit{\boldsymbol{s}}}}^{\rm c}, a)r^{\rm c}({{\mathit{\boldsymbol{s}}}}_{t}^{\rm c}, a_{t}) \end{align} $ | (1) |
其评价网络基于值函数,负责评估动作网络的表现,并指导该网络下一阶段的输出动作,即评判动作执行的好坏,其目标函数梯度更新计算公式如下:
$ \begin{align} \nabla {\mathit{\boldsymbol{J}}}({\boldsymbol{\theta}})=\sum\limits_{a\in A} {{\boldsymbol{\pi}}_{\boldsymbol{\theta}}} ({{\mathit{\boldsymbol{s}}}}^{\rm c}, a)\nabla_{\boldsymbol{\theta}} {\:\rm lb\:} {\boldsymbol{\pi}}_{\boldsymbol{\theta}} ({{\mathit{\boldsymbol{s}}}}_{t}^{\rm c}, a)r^{\rm c}({{\mathit{\boldsymbol{s}}}}_{t}^{\rm c}, a_{t}) \end{align} $ | (2) |
为了生成准确的推抓功用性图,本文在视觉机制模块中以深度残差网络(ResNet18[9])作为主骨干,设计了一种基于分组卷积和自适应拆分注意力机制的特征提取网络RGSA-Net。该网络将预处理后得到的3种高度图(彩色高度图、深度高度图、目标掩码高度图)旋转16次后作为输入,得到所有像素点期望
深度神经网络虽然在各个领域取得了很大进展,但是经常面临梯度消失或梯度弥散等问题,研究者通常使用3种方法解决上述问题[26]:1) 设置初始化;2) 使用BatchNorm或LayerNorm等算法实现正则化;3) 残差连接方法。而这些方法同样存在着设计痕迹过重、计算开销大等问题。对于一个深度为
$ \begin{align} {\mathit{\boldsymbol{z}}}^{(l)}={\mathcal{ H}} \left({{\mathit{\boldsymbol{x}}}^{({l-1})}}\right)={\mathit{\boldsymbol{x}}}^{({l-1})}+{\mathcal{ F}} \left({{\mathit{\boldsymbol{x}}}^{({l-1})}}\right) \end{align} $ | (3) |
本文在残差连接前增加一个初始值为0的自适应参数,该参数可以使得模型更好地接收梯度信号,加快网络的收敛速度,其基本形式如下:
$ \begin{align} {\mathit{\boldsymbol{z}}}^{(l)}={\mathcal{ H}} \left({{\mathit{\boldsymbol{x}}}^{({l-1})}}\right)={\mathit{\boldsymbol{x}}}^{({l-1})}+\alpha_{i} \times {\mathcal{ F}} \left({{\mathit{\boldsymbol{x}}}^{({l-1})}}\right) \end{align} $ | (4) |
残差网络可以解决传统神经网络中梯度弥散的问题,但用其拟合恒等变换并不容易。恒等变换的主要目标是构造一种天然的恒等映射,即:
$ \begin{align} {\mathit{\boldsymbol{x}}}^{(l)}={\mathit{\boldsymbol{z}}}^{(l)} \end{align} $ | (5) |
等价于令残差部分
对于任意2个层数
$ \begin{align} {\mathit{\boldsymbol{x}}}^{({l_{2}})}={\mathit{\boldsymbol{x}}}^{({l_{1}})}+\sum^{l_{2} -1} _{i=l_{1}} \alpha_{i} \times {\mathcal{ F}}({{\mathit{\boldsymbol{x}}}^{(i)}}) \end{align} $ | (6) |
最终损失
$ \begin{align} \frac{\partial {\mathit{\boldsymbol{\varepsilon}}}}{\partial {\mathit{\boldsymbol{x}}}^{( {l_{1}})}}=\frac{\partial {\mathit{\boldsymbol{\varepsilon}}}}{\partial {\mathit{\boldsymbol{x}}}^{({l_{2}})}}+\frac{\partial {\mathit{\boldsymbol{\varepsilon}}}}{\partial {\mathit{\boldsymbol{x}}}^{({l_{2}})}}\frac{\partial} {\partial {\mathit{\boldsymbol{x}}}^{({l_{1}})}}\sum^{l_{2} -1}_{i=l_{1}} \alpha_{i} \times {\mathcal{ F}}({{\mathit{\boldsymbol{x}}}^{(i)}}) \end{align} $ | (7) |
式中前一项表示反向传播时错误信号不经过任何中间权重矩阵变换直接传播到低层,可以很好地缓解梯度弥散问题。
自适应参数
$ \begin{align} {\mathit{\boldsymbol{x}}}_{L} =({1+\boldsymbol{\alpha} {\mathit{\boldsymbol{\omega}}}})^{L}{\mathit{\boldsymbol{x}}}_{0} \end{align} $ | (8) |
其中权重参数
$ \begin{align} {\mathit{\boldsymbol{\omega}}} \leftarrow {\mathit{\boldsymbol{\omega}}} -{\lambda} L{\mathit{\boldsymbol{x}}}_{0} ({1+\boldsymbol{\alpha} {\mathit{\boldsymbol{\omega}}}})^{L-1}\partial C \end{align} $ | (9) |
式中
$ \begin{align} \boldsymbol{\alpha} \leftarrow \boldsymbol{\alpha} -{\lambda} L{\mathit{\boldsymbol{x}}}_{0} {\mathit{\boldsymbol{\omega}}}\partial C=-{\lambda} L{\mathit{\boldsymbol{x}}}_{0} {\mathit{\boldsymbol{\omega}}}\partial C, \quad{\boldsymbol{\alpha} ={{\bf{0}}}} \end{align} $ | (10) |
从第2轮开始,权重参数
$ \begin{align} \lambda L{\mathit{\boldsymbol{x}}}_{0} ({1+\boldsymbol{\alpha} {\mathit{\boldsymbol{\omega}}}})^{L-1}\partial C=\lambda L{\mathit{\boldsymbol{x}}}_{0} ({1-\lambda L{\mathit{\boldsymbol{x}}}_{0} {\mathit{\boldsymbol{\omega}}}^{2}\boldsymbol{\alpha} C})^{L-1}\partial C \end{align} $ | (11) |
由式(11)可以看出,如果损失函数
![]() |
图 3 自适应参数更新过程 Fig.3 The update process of adaptive parameter |
分组卷积已经被证实可以在效能不变的情况下大大减少参数量[27]。若初始输入深度神经网络的特征向量维度为
将RGB-D相机采集到的图片数据经过一种语义分割的深度全卷积神经网络结构SegNet[28]作预处理后,得到了彩色高度图(RGB-height)、深度高度图(depth-height)、目标掩码高度图(mask-height)。将完成特征提取后的3种数据在通道维度融合,得到维度为
如图 4所示,本文的RGSA-Block基本块先将输入特征分为2个候选集(
![]() |
图 4 RGSA-Block网络结构 Fig.4 The network structure of RGSA-Block |
如图 5所示,将RGSA-Block基本块嵌入到残差网络ResNet-18后得到了RGSA-Net。
![]() |
图 5 RGSA-Net网络结构 Fig.5 The network structure of RGSA-Net |
在计算能力有限的情况下,机器人需要更加注意目标物体周围的情况[29]。使用具有注意力机制的深度神经网络,可以使机器人更快地定位目标物体,提高对目标物体的注意力程度,从而探索更多的环境状态以获得目标信息。如图 6所示,本文采用基于通道的拆分注意力机制[29],对于输入RGSA-Net网络的彩色高度图、深度高度图、目标掩码高度图 3种状态高度图在通道方面给予不同的权重,以建模5个通道的重要程度。
![]() |
图 6 拆分注意力网络结构 Fig.6 The structure of split-attention network |
图 6中,设每个输入特征的维度为
$ \begin{align} \hat{\mathit{\boldsymbol{T}}}_{k} =\sum\limits_{j=r({k-1})+1}^{rk} {{\mathit{\boldsymbol{T}}}_{j}} \end{align} $ | (12) |
其中
$ \begin{align} {{\mathit{\boldsymbol{s}}}}_{k}^{\rm c} =\frac{1}{H\times W}\sum\limits_{i=1}^H \sum\limits_{j=1}^W \hat{\mathit{\boldsymbol{T}}}_{k}^{\rm c} ({i, j}) \end{align} $ | (13) |
至此,将得到的单图平均后的中间特征经过卷积块处理后进行通道拆分,拆分成通道数为3、1、1的3种特征后,再分别经过全连接层和r-SoftMax层进行特征提取,r-SoftMax层参数计算如下:
$ \begin{align} a_{i}^{k} (d)= \begin{cases} \dfrac{\exp (F_{i}^{\rm c} ({{\mathit{\boldsymbol{s}}}}_{k}))}{ \sum\limits_{j=0}^r {\exp ({F_{i}^{\rm c} ({{\mathit{\boldsymbol{s}}}}_{k})})}}, &r>1 \\[3pt] \dfrac{1}{1+\exp ({-F_{i}^{\rm c} ({{\mathit{\boldsymbol{s}}}}_{k})})}, &r=1 \end{cases} \end{align} $ | (14) |
将经过r-SoftMax层处理的3种特征在通道维度进行特征融合,得到通道数为5的输出特征,并将其输入到下一个网络模块中。
3.2 面向机器人推抓技能学习的DQAC算法训练面向目标物体的推、抓动作之间的协同是机器人抓取成功的关键。在保证抓取成功率的同时尽可能地减少机器人运动次数,就需要建立起良好的评估机制,充分训练推、抓之间的协同策略。
3.2.1 DQAC算法思想本文的动作机制模块是基于演员-评论家框架[30]设计的一种自监督学习算法DQAC,该算法由策略网络和值网络构成。策略网络建立模型
熵是信息论中的重要概念,用于表示信息的不确定程度,熵值越大,则信息的不确定程度越大。
$ \begin{align} {\mathit{\boldsymbol{H}}}_{\rm e}({{\mathit{\boldsymbol{X}}}})=-\sum\limits_1^n {{\mathit{\boldsymbol{p}}}({x_{i}})} {\:\rm lb\:} {\mathit{\boldsymbol{p}}}({x_{i}}) \end{align} $ | (15) |
DQAC算法是针对离散动作空间异策略改进的强化学习算法,使用信息熵最大化随机策略来提高机器人对环境的探索能力,从而实现目标策略的优化。
$ \begin{align} \boldsymbol{\pi}^{*} =\mathop{\arg\max}\limits_{\boldsymbol{\pi}} E_{({{\mathit{\boldsymbol{s}}}}, a)\sim \rho_{\boldsymbol{\pi}}} \left({\sum\limits_t {{\mathit{\boldsymbol{r}}}({{\mathit{\boldsymbol{s}}}}_{t}^{\rm c}, a_{t}})+\boldsymbol{\beta} {\mathit{\boldsymbol{H}}}_{\rm e}({\boldsymbol{\pi} (\cdot | {{\mathit{\boldsymbol{s}}}}_{t}^{\rm c} ))}}\right) \end{align} $ | (16) |
式中,目标函数值
DQAC算法的环境奖励值由功用性奖励
如图 7所示,动作机制模块由策略网络(actor)、值网络(critic)和目标值网络(target critic)组成。每个网络由结构相同的多层感知机(MLP)网络构成。该网络由输入、输出及中间层构成,相邻2层之间的所有神经元均互相连接,而同层神经元之间无连接。
![]() |
图 7 动作机制模块网络结构 Fig.7 The structure of the action mechanism module network |
动作机制模块的作用是根据RGSA-Net网络提取的特征作出决策。具体的流程为:将从环境中提取的特征状态送入到策略网络中,中间经过不同神经元的前向传播直到输出层神经元。使用SoftMax函数计算出不同动作的概率值,使用非线性激活函数ReLU防止梯度消失。值网络(Q网络)由2个结构相同的MLP网络构成,用于拟合计算某一时刻的机器人特征状态与动作决策;目标值网络(Target Q网络)以固定周期复制Q网络的参数,采用软更新策略进行更新,用于预测环境中下一时刻的状态以及动作
考虑机器人在杂乱环境中采取推动和抓取2种离散动作,DQAC算法根据特征状态
$ \begin{align} {\mathit{\boldsymbol{V}}}_{\boldsymbol{\pi}} ({{\mathit{\boldsymbol{s}}}})=\boldsymbol{\pi} ({{\mathit{\boldsymbol{s}}}}_{t}^{\rm c})\big({{\mathit{\boldsymbol{Q}}}({{\mathit{\boldsymbol{s}}}}_{t}^{\rm c}, a_{t})-\boldsymbol{\beta} {\:\rm lb\:} {\boldsymbol{\pi} ({{\mathit{\boldsymbol{s}}}}_{t}^{\rm c})}}\big) \end{align} $ | (17) |
式中,
目标值网络的输出计算公式如下:
$ \begin{align} {\mathit{\boldsymbol{y}}}_{t} ={\mathit{\boldsymbol{r}}}_{t}^{\rm c} ({{\mathit{\boldsymbol{s}}}}_{t}^{\rm c}, {{\mathit{\boldsymbol{s}}}}_{t+1}^{\rm c};a_{t})+\gamma\: {\mathit{\boldsymbol{V}}}_{\boldsymbol{\pi}} ({{\mathit{\boldsymbol{s}}}}_{t}^{\rm c}) \end{align} $ | (18) |
该网络使用均方误差损失函数计算目标值与现实值之间的差值
$ \begin{align} \boldsymbol{\delta} =({{\mathit{\boldsymbol{y}}}_{t} -{\mathit{\boldsymbol{Q}}}({{\mathit{\boldsymbol{s}}}}_{t}^{\rm c}, a_{t})})^{2} \end{align} $ | (19) |
通过减小熵值损失来减小估计值的损失方差,据此,设计了如下的温度熵损失目标函数:
$ \begin{align} {\mathit{\boldsymbol{J}}}(a)=\boldsymbol{\pi}_{t} \left(({{\mathit{\boldsymbol{s}}}}_{t}^{\rm c})^{\rm T}\right)\left[{-\boldsymbol{\beta} \big({{\:\rm lb\:} \boldsymbol{\pi}_{t} ({{\mathit{\boldsymbol{s}}}}_{t}^{\rm c})+{\mathit{\boldsymbol{H}}}_{\rm e}}\big)}\right] \end{align} $ | (20) |
在目标值网络中加入动作值函数期望和熵值计算来更新策略,从而对离散动作空间输出准确的概率分布以减小误差。因此,设计策略损失目标函数如下:
$ \begin{align} {\mathit{\boldsymbol{J}}}_{\boldsymbol{\pi}} (\phi)={E}_{{{\mathit{\boldsymbol{s}}}}_{t}^{\rm c} \sim D} \Big[{\boldsymbol{\pi}_{t} \left(({{\mathit{\boldsymbol{s}}}}_{t}^{\rm c})^{\rm T}\right)\big({\boldsymbol{\beta} {\:\rm lb\:} {\boldsymbol{\pi}_{\phi} ({{\mathit{\boldsymbol{s}}}}_{t}^{\rm c})}-{\mathit{\boldsymbol{Q}}}_{\boldsymbol{\theta}} ({{\mathit{\boldsymbol{s}}}}_{t}^{\rm c}, a_{t})}\big)}\Big] \end{align} $ | (21) |
综上所述,DQAC推抓技能自监督学习算法描述如下。
算法1 DQAC推抓技能学习算法
输入:当前状态
输出:
1: 初始化视觉网络参数
2:
3: 初始化图像经验池
4: 迭代次数
5: 计算置信度
6: 根据功用性图最大
7: 初始化特征状态信息
8:
9: 选择执行动作
10:
11: 环境反馈奖励值
12: 策略函数计算:
13: 计算损失函数,优化目标,更新网络参数
14:
15:
16:
17:
18:
19: 将元组存储到图像经验池和特征经验池中
20: 下一步训练,在2个经验池分别采样
21: 直到迭代次数
为了验证机器人采用本算法抓取目标物体的性能,使用V-REP 3.5.0[31]动力学仿真软件模拟机器人在未知环境下对目标物体的抓取。该软件内部的运动学模块可准确地模拟真实机器人的运动轨迹,同时还具有重力等物理引擎,可模拟真实物体属性。使用RGB-D相机采集工作空间状态信息。该相机由被动RGB相机和主动深度传感器组成,除了提供RGB图像外还提供每个像素的深度信息,可将每个像素的深度值快速转换为点云信息用于3D感知。
建立了图 8所示的仿真实验环境。建立装有RG2夹具的UR5机械臂模型,并在工作空间正上方与斜上方45
![]() |
图 8 V-REP仿真环境与图像信息 Fig.8 V-REP simulation environment and image information |
仿真硬件配置为3.6 GHz Intel Core i9-9900 k CPU和NVIDIA 2070S GPU,操作系统为Ubuntu 18.04 LTS,V-REP的版本为3.5.0的教育版,采用0.4版本的PyTorch框架来训练网络模型。
4.2 训练阶段在训练阶段,待抓取的目标物体的颜色、形状及位置随机,机器人通过不断试错寻找最优策略来实现未知环境下对目标物体的成功抓取。该阶段采用特征提取网络RGSA-Net生成推动和抓取功用性图,采用DQAC框架选取最优动作,前期采用初始探索概率为0.50的
为了验证本方法的有效性,将其与其他4种方法在训练阶段的抓取性能进行了对比。
(1) RAND:一种不经过监督训练而采取随机像素点抓取的方法;
(2) Grasping-only[24]:一种贪婪的确定性抓取策略,它使用单个FCN(全卷积网络)进行抓取,该网络使用二分类(来自试错)的监督。此策略下的机器人仅执行抓取动作;
(3) VPG[24]:提出面向目标的抓取任务,使用基于DQN的强化学习框架训练推、抓之间的协同实现目标抓取;对于给定目标物体,使用2个动作全卷积网络映射动作
(4) GIT[25]:一种深度强化学习方法,使用目标分割网络提取特征来增强机器人感知,基于DQN二分类器进行机器人推动与抓取训练。
4.2.1 性能展示训练阶段执行动作次数的最大阈值设置为30,当动作数超过阈值或整个工作区域无目标物体时,重置抓取环境开启新一轮的抓取训练,该过程中随机指定目标物块。使用不同算法对机器人进行2500次的训练,不同算法的耗时如表 1所示。图 9绘制了机器人在不同方法下的抓取成功率。
![]() |
表 1 不同算法2500次训练耗时 Tab. 1 Time consumption of different algorithms in 2500 training |
![]() |
图 9 抓取成功率对比 Fig.9 Comparison of grasp success ratio |
从表 1和图 9可见,在训练过程中,RAND算法训练耗时最短,但其面对目标抓取任务时忽略环境而采取随机策略选择动作,使得抓取成功率极低。Grasping-only算法中加入了卷积神经网络处理视觉输入,训练耗时较RAND算法有所增加,但其仅采用抓取动作,忽略了杂乱环境对目标任务的影响,使得其抓取成功率偏低。VPG方法中首次将推动动作加入动作集,但其仅采用传统DQN进行训练,并未很好地考虑二者的协同作用,且所用网络较为繁琐导致训练耗时增加,在所有算法中耗时最长,抓取成功率在60% 左右。GIT算法使用简单的二分类器对动作进行拟合预测以提高动作协同效率,同时简化协同训练网络,使得训练耗时有所降低,抓取成功率在60%~70% 之间。
本文算法在前期对视觉输入进行处理时使用了分组拆分注意力RGSA模块,该模块较传统残差块具有较深的网络层次,使得训练时长有所增加,但训练网络参数时融合自适应参数方法,通过加快梯度下降速度来提高网络收敛速度,最终耗时比GIT算法稍长。本文的DQAC框架在传统演员-评论家算法的基础上将动作网络拆分成两部分,更好地训练了推、抓之间的协同,其网络结构较为简单,耗时与GIT算法相差不大。但DQAC框架采用传统的视觉机制模块,前期对于目标定位的准确程度不足。本文将视觉机制模块与动作机制模块进行结合后,训练时长较DQAC框架有所增加,但其效果达到最佳,受环境干扰较小,抓取成功率在90% 左右,总体训练性能优于其他方法。
视觉效果对比如图 10所示,由本文算法得到的推抓功用性图能更好地定位到目标物块,推、抓中心均恰好在目标物块之上。而使用GIT算法产生的推抓功用性图某一区域热度较高,无法实现对目标的精准定位。这进一步验证了视觉机制模块对机器人最终抓取效果的重要作用。
![]() |
图 10 GIT与RGSA算法视觉效果对比 Fig.10 Comparison of visual effects between GIT and RGSA algorithms |
为了检验本算法在不同实验场景中的有效性,在仿真中设置了3组对比实验进行测试,分别为松散放置物块情形、紧密放置物块情形和完全遮挡物块情形。
与RAND、Grasping-only、VPG、GIT四种方法进行对比来验证本方法的有效性。对每个测试案例设置30轮实验,每轮的动作执行次数阈值设置为
$ \begin{align*} \dfrac{\rm{\#成功抓取目标轮数}}{\rm{\#实验总轮数}} \end{align*} $ |
定义平均运动次数为
$ \begin{align*} \dfrac{\sum\limits_1^n \rm{每一轮成功运动数(推动\; + 抓取)}}{n\rm{(重复测试实验次数)}} \end{align*} $ |
该指标数值越小,说明实验成功率越高。
4.3.1 松散放置物块情形由于训练过程的实验场景均是随机摆放实验场景,故本文只设置了4个松散放置物块情形的测试案例。如图 11所示,每一个测试案例中设置一个带特殊颜色的目标物块,其余为干扰物块,用来模拟该算法在松散放置物块环境中的实验效果。
![]() |
图 11 松散放置物块情形的4种测试案例 Fig.11 test cases with loosely placed blocks |
松散放置物块情形的4种测试案例较为简单,可以通过RGB-D相机直接获取目标物块的完整特征,无法验证推、抓技能的协同作用,故将执行动作阈值设为1,即一次抓取就成功则计入成功案例,否则记为失败,用以检验视觉机制模块对抓取效果的影响。实验结果对比如表 2所示。
![]() |
表 2 松散放置物块案例的平均表现 Tab. 2 Average performance in the cases of loosely placed blocks |
对于紧密放置物块的实验环境,设计了8个不同形状物块的抓取测试案例来验证训练模型的性能,各测试案例中设置一个特殊颜色的目标物块,被其他物块紧紧包围,用来模拟推、抓之间的协同训练效果。机器人通过动作集合
![]() |
图 12 紧密放置物块情形的8种测试案例 Fig.12 8 test cases with closely placed blocks |
紧密放置物块情形突出推动动作对最终抓取效果的辅助作用,即动作机制模块对抓取效果的影响。图 13和图 14分别展示了本方法和其他4种方法在8个测试案例中的表现,由于每个测试案例的目标场景是不同的,故本文的改进方法表现不同。表 3展示了本文方法与其他4种方法的平均抓取成功率与平均运动次数对比结果。
![]() |
图 13 紧密放置物块案例的平均成功率 Fig.13 Average success ratio in the cases of closely placed blocks |
![]() |
图 14 紧密放置物块案例的平均运动次数 Fig.14 Average motion times in the cases of closely placed blocks |
![]() |
表 3 紧密放置物块案例的平均表现 Tab. 3 Average performance in the cases of closely placed blocks |
对于完全遮挡物块的实验场景,设置了4种不同的测试案例。如图 15所示,每个场景中的目标物块都是不可见的,用来模拟前期无法生成高度图时,机器人对于环境中目标物块的探索能力。
![]() |
图 15 完全遮挡物块情形的4种测试案例 Fig.15 4 test cases with completely occluded blocks |
在该场景下,由于目标物块不可见,故本文算法在获取到当前状态的深度信息后,优先选择较高的堆叠部分使用
![]() |
表 4 完全遮挡物块案例的平均表现 Tab. 4 Average performance in the cases of completely occluded blocks |
松散放置物块情形模拟了真实场景中随机放置目标物块的抓取情况,用于检验视觉机制模块对最终抓取效果的影响。由表 2可以看出,加入RGSA-Net视觉机制模块后,算法以1.41的平均移动次数实现了95.3% 的抓取成功率。而使用传统视觉机制的GIT算法仅实现了89.5% 的抓取成功率,即使加入动作机制模块的DQAC算法仍无法很好地完成视觉特征提取,仅实现了92.9% 的抓取成功率。而本文的RGSA-Net算法具有较好的视觉特征效果。
紧密放置物块情形模拟了真实世界中目标物块被紧紧包围的场景,此时由于没有足够的空间供机械手完成抓取操作,故可以检验动作机制模块DQAC对抓取效果的影响。图 13和图 14是不同对比方法在8个紧密放置物块测试案例中的性能指标。其中,RAND算法与Grasping-only算法的平均成功率在10%~35% 之间,但平均运动次数在4.3次以上。VPG算法仅将推动动作引入抓取任务而未考虑二者之间的相互作用,其平均成功率为60%~75% 之间,平均运动次数为4.0次,进一步验证了推动动作在抓取过程中的重要性。GIT算法基于DQN二分类器进一步训练推动与抓取之间的协同,平均成功率在85% 以上,平均运动次数为3.6次左右。而本文采取基于演员-评论家框架的DQAC算法,以平均3.4次的动作实现了91.1% 的成功率,性能优于其他基线方法。
完全遮挡物块情形模拟真实世界中目标物块完全不可见,需要机器人探索环境、寻找物块并成功抓取的场景。该过程用于检验视觉机制模块与动作机制模块的协同作用效果。由表 4数据可得,RAND和Grasping-only两种方法对抓取目标任务的效率比较低,抓取成功率均在50% 左右。RAND算法倾向于随机抓取目标物体而忽略了目标周围物体的密集程度,故实验效果较差。Grasping-only算法还未引入非抓取算法的协同作用,仅采用抓取动作改变环境结构,当目标物体被完全遮挡时往往会陷入局部最优导致任务失败。VPG算法使用基于值函数的DQN算法计算出的
众所周知,在服务机器人共融式宜人化进化过程中,自主认知与操作杂乱场景下的工具是其必备的技能。本文提出一种基于功用性图的目标推抓技能自监督学习方法,克服了抓取成功率低的问题,提高了机器人在复杂环境中对目标抓取技能的学习性能。
提出了基于RGSA-Net特征提取网络的视觉机制模块,生成了准确的推抓功用性图;提出了基于DQAC自监督学习方法的动作机制模块,实现了推、抓之间的协同。在训练阶段提高了抓取性能,在测试阶段提高了3组测试案例的抓取成功率,减少了平均移动次数,在仿真环境中设计实验验证了本文方法的有效性。接下来,将搭建实物实验环境并进一步验证本文方法的有效性。
[1] |
Morrison D, Corke P, Leitner J. Multi-view picking: Next-bestview reaching for improved grasping in clutter[C]//International Conference on Robotics and Automation. Piscataway, USA: IEEE, 2019: 8762-8768.
|
[2] |
Redmon J, Angelova A. Real-time grasp detection using convolutional neural networks[C]//IEEE International Conference on Robotics and Automation. Piscataway, USA: IEEE, 2015: 1316-1322.
|
[3] |
Levine S, Pastor P, Krizhevsky A, et al. Learning hand-eye coordination for robotic grasping with deep learning and large-scale data collection[J]. International Journal of Robotics Research, 2018, 37(4-5): 421-436. DOI:10.1177/0278364917710318 |
[4] |
Schmidt P, Vahrenkamp N, Wachter M, et al. Grasping of unknown objects using deep convolutional neural networks based on depth images[C]//IEEE International Conference on Robotics and Automation. Piscataway, USA: IEEE, 2018: 6831-6838.
|
[5] |
Mahler J, Liang J, Niyaz S, et al. Dex-Net 2.0: Deep learning to plan robust grasps with synthetic point clouds and analytic grasp metrics[C]//Robotics: Science and Systems. Cambridge, USA: MIT, 2017. DOI: 10.15607/rss.2017.xiii.058.
|
[6] |
Kumra S, Joshi S, Sahin F. Antipodal robotic grasping using generative residual convolutional neural network[C]//IEEE/RSJ International Conference on Intelligent Robots and Systems. Piscataway, USA: IEEE, 2020: 9626-9633.
|
[7] |
Lou X, Yang Y, Choi C. Learning to generate 6-DoF grasp poses with reachability awareness[C]//IEEE International Conference on Robotics and Automation. Piscataway, USA: IEEE, 2020: 1532-1538.
|
[8] |
Shao Q Q, Hu J, Wang W M, et al. Suction grasp region prediction using self-supervised learning for object picking in dense clutter[C]//IEEE 5th International Conference on Mechatronics System and Robots. Piscataway, USA: IEEE, 2019: 7-12.
|
[9] |
He K M, Zhang X Y, Ren S Q, et al. Deep residual learning for image recognition[C]//IEEE Conference on Computer Vision and Pattern Recognition. Piscataway, USA: IEEE, 2016: 770-778.
|
[10] |
Pinto L, Gupta A. Supersizing self-supervision: Learning to grasp from 50K tries and 700 robot hours[C]//IEEE International Conference on Robotics and Automation. Piscataway, USA: IEEE, 2016: 3406-3413.
|
[11] |
Shukla P, Kumar H, Nandi G C. Robotic grasp manipulation using evolutionary computing and deep reinforcement learning[J]. Intelligent Service Robotics, 2021, 14(1): 61-77. DOI:10.1007/s11370-020-00342-7 |
[12] |
Kalashnikov D, Irpan A, Pastor P, et al. Learning dexterous in-hand manipulation[J]. International Journal of Robotics Research, 2018, 39(1): 3-20. |
[13] |
Sarantopoulos I, Kiatos M, Doulgeri Z, et al. Total singulation with modular reinforcement learning[J]. IEEE Robotics and Automation Letters, 2021, 6(2): 4117-4124. DOI:10.1109/LRA.2021.3062295 |
[14] |
Quillen D, Jang E, Nachum O, et al. Deep reinforcement learning for vision-based robotic grasping: A simulated comparative evaluation of off-policy methods[C]//IEEE International Conference on Robotics and Automation. Piscataway, USA: IEEE, 2018: 6284-6291.
|
[15] |
Hou Y X, Li J, Fang Z H, et al. An initialization method of deep Q-network for learning acceleration of robotic grasp[C]//IEEE International Conference on Networking, Sensing and Control. Piscataway, USA: IEEE, 2020. DOI: 10.1109/ICNSC48988.2020.9238061.
|
[16] |
Deng Y H, Guo X F, Wei Y X, et al. Deep reinforcement learning for robotic pushing and picking in cluttered environment[C]//IEEE/RSJ International Conference on Intelligent Robots and Systems. Piscataway, USA: IEEE, 2019: 619-626.
|
[17] |
Xie X, Li C Y, Zhang C, et al. Learning virtual grasp with failed demonstrations via Bayesian inverse reinforcement learning[C]//IEEE/RSJ International Conference on Intelligent Robots and Systems. Piscataway, USA: IEEE, 2019: 1812-1817.
|
[18] |
Johannink T, Bahl S, Nair A, et al. Residual reinforcement learning for robot control[C]//IEEE International Conference on Robotics and Automation. Piscataway, USA: IEEE, 2019: 6023-6029.
|
[19] |
Mohammadi H B, Zamani M A, Kerzel M, et al. Mixed-reality deep reinforcement learning for a reach-to-grasp task[C]//28th International Conference on Artificial Neural Networks. Cham, Switzerland: Springer, 2019: 611-623.
|
[20] |
Ni P Y, Zhang W G, Zhang H R, et al. Learning efficient push and grasp policy in a totebox from simulation[J]. Advanced Robotics, 2020, 34(13): 873-887. DOI:10.1080/01691864.2020.1757504 |
[21] |
Gui B X, Qian K, Chen S H, et al. Knowledge induced deep Qnetwork for robot push and grasp manipulation skills learning[C]//Chinese Automation Congress. Piscataway, USA: IEEE, 2020: 4078-4083.
|
[22] |
Joshi S, Kumra S, Sahin F. Robotic grasping using deep reinforcement learning[C]//IEEE 16th International Conference on Automation Science and Engineering. Piscataway, USA: IEEE, 2020: 1461-1466.
|
[23] |
Zhang J H, Zhang W, Song R, et al. Grasp for stacking via deep reinforcement learning[C]//IEEE International Conference on Robotics and Automation. Piscataway, USA: IEEE, 2020: 2543-2549.
|
[24] |
Zeng A, Song S, Welker S, et al. Learning synergies between pushing and grasping with self-supervised deep reinforcement learning[C]//IEEE/RSJ International Conference on Intelligent Robots and Systems. Piscataway, USA: IEEE, 2018: 4238-4245.
|
[25] |
Yang Y, Liang H, Choi C. A deep learning approach to grasping the invisible[J]. IEEE Robotics and Automation Letters, 2020, 5(2): 2232-2239. |
[26] |
Gong L Y, He D, Li Z H, et al. Efficient training of BERT by progressively stacking[C]//36th International Conference on Machine Learning. 2019: 2337-2346.
|
[27] |
Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[J]. Communications of the ACM, 2017, 60(6): 84-90. |
[28] |
Badrinarayanan V, Kendall A, Cipolla R. SegNet: A deep convolutional encoder-decoder architecture for image segmentation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(12): 2481-2495. DOI:10.1109/TPAMI.2016.2644615 |
[29] |
Li D Q, Hu X Q, Wang S Q, et al. Hyperspectral images ground object recognition based on split attention[C]//IEEE 2nd International Conference on Big Data, Artificial Intelligence and Internet of Things Engineering. Piscataway, USA: IEEE, 2021: 324-330.
|
[30] |
Barto A G, Sutton R S, Anderson C W. Neuronlike adaptive elements that can solve difficult learning control problems[J]. IEEE Transactions on Systems, Man, and Cybernetics, 1983, 13(5): 834-846. |
[31] |
Rohmer E, Singh S P N, Freese M. V-REP: A versatile and scalable robot simulation framework[C]//IEEE/RSJ International Conference on Intelligent Robots and Systems. Piscataway, USA: IEEE, 2013: 1321-1326.
|