机器人 2023, Vol. 45 Issue (1): 38-47  
0
引用本文
何浩源, 尚伟伟, 张飞, 丛爽. 基于深度神经网络的多指灵巧手抓取手势优化[J]. 机器人, 2023, 45(1): 38-47.  
HE Haoyuan, SHANG Weiwei, ZHANG Fei, CONG Shuang. Grasping Gesture Optimization of Multi-fingered Dexterous Hands Based on Deep Neural Networks[J]. ROBOT, 2023, 45(1): 38-47.  

基于深度神经网络的多指灵巧手抓取手势优化
何浩源 , 尚伟伟 , 张飞 , 丛爽     
中国科学技术大学自动化系, 安徽 合肥 230027
摘要:基于深度神经网络模型, 提出了一种适用于多指灵巧手的抓取手势优化方法。首先, 在仿真环境下构建了一个抓取数据集, 并在此基础上训练了一个卷积神经网络, 依据目标物体单目视觉信息和多指灵巧手抓取位形来预测抓取质量函数, 由此可以将多指灵巧手的抓取规划问题转化为使抓取质量最大化的优化问题, 进一步, 基于深度神经网络中的反向传播和梯度上升算法实现多指灵巧手抓取手势的迭代与优化。在仿真环境中, 比较该网络和仿真平台对同一抓取位形的抓取质量评估结果, 再利用所提出的优化方法对随机搜索到的初始手势进行优化, 比较优化前后手势的力封闭指标。最后, 在实际机器人平台上验证本文方法的优化效果, 结果表明, 本文方法对未知物体的抓取成功率在80%以上, 对于失败的抓取, 优化后成功的比例达到90%。
关键词多指灵巧手    卷积神经网络    抓取规划    未知物体    
中图分类号:TP391            文献标志码:A            文章编号:1002-0446(2023)-01-0038-10
Grasping Gesture Optimization of Multi-fingered Dexterous Hands Based on Deep Neural Networks
HE Haoyuan , SHANG Weiwei , ZHANG Fei , CONG Shuang     
Department of Automation, University of Science and Technology of China, Hefei 230027, China
Abstract: Based on deep neural network model, a grasping gesture optimization method is proposed for multi-fingered dexterous hands. Firstly, a grasp dataset is constructed in simulation environment, and then a convolutional neural network is trained on this basis to predict the grasp quality function from the monocular visual information of the target object and the grasp configuration of the multi-fingered dexterous hand. Therefore, the grasp planning problem of the multi-fingered dexterous hands is transformed into an optimization problem about maximizing the grasping quality. Further the backpropagation and gradient ascent algorithm in deep learning is used to iterate and optimize the grasping gestures of the multi-fingered dexterous hands. In simulation, the evaluation results of the grasping quality, separately computed by the proposed network and the simulation platform for the same grasp configuration, are compared. Then the proposed method is implemented to optimize the initial gestures searched randomly, and the force closure metrics of the gestures before and after optimization are compared. Finally, the optimization performance of the proposed method is validated on the actual robot platform. The results show that the grasping success rate of the proposed method for the unknown objects is more than 80%, and for the failed grasps, the success rate after optimization reaches 90%.
Keywords: multi-fingered dexterous hand    convolutional neural network    grasp planning    unknown object    

1 引言(Introduction)

服务机器人在日常生活中逐渐扮演越来越重要的角色,物体抓取操作作为服务机器人的基本功能,一直是机器人领域中一个重要的研究方向。高性能的抓取操作是服务机器人执行各类交互任务的前提,相比更常见的二指夹持器,多指灵巧手能够更灵活地抓取形状更复杂的物体,使机器人更好地融入人类日常生活。机器人合适的抓取手势受物体形状和位姿的影响,因此本文将物体模型和机器人模型信息合并起来,称为物体-手系统。多指灵巧手抓取中的一个主要问题是物体-手系统的高维特性,涉及复杂的几何模型、手掌动力学和接触力学,这阻碍了抓取规划的发展。Bohg等[1]提出,抓取规划方法主要分为2种:分析法和经验法。

分析法的主要思想是在已知物体的精确3维模型的情况下,将规划问题转化为带约束的优化问题,获取稳定的抓取动作。优化问题往往需要指定优化的指标,力封闭指标是目前应用最广的抓取质量评价指标之一。该指标最初由Kirkpatrick等[2]提出,之后Ferrari等[3]对其进行了改进,Ciocarlie等[4]也基于力封闭指标在低维度上建立抓取动作空间,并在其中搜索最佳抓取动作,这种方法通过在低维空间搜索使得计算量大幅降低。

随着人工智能技术蓬勃发展,数据驱动的方法在基于经验法的抓取研究中更加流行[5-7]。这些数据可以包括对优质抓取的标记[5]、人类示教[6-7]、物理实验[3]等。由于深度学习在图像处理等研究方向取得了重要进展,大量的工作专注于将深度学习融入到基于图像特征的经验法中,通过提取图像中的物体特征获取最优抓取信息。Goldfeder等[8]设计了一种形状匹配方法,根据物体深度图像的SIFT(比例不变特征变换)特征[9]从哥伦比亚抓取数据库[10]中搜索抓取策略,但这种方法只适用于形状规则的物体,且抓取的搜索范围严格受维度的限制,不适用于多自由度的多指灵巧手。基于Jiang等[11]提出的抓取框,Lenz等[12]、Redmon等[13]、Guo等[14]、夏晶等[15]分别设计了不同结构的卷积神经网络对物体特征进行检测,避免了手动设计特征。喻群超等[16]进一步设计了一种多级深度神经网络实现抓取框的精确定位,实验成功率达到了83%,上述研究使平行夹持器抓取未知物体的成功率显著提高。

对于高维空间中的多指灵巧手抓取规划问题,深度学习的应用主要受到两方面的限制:1)神经网络中抓取位形的输入表示,包括手掌的位姿和手指的关节角度;2)对于评估网络,生成待评估的候选抓取往往依赖外部规划。第1个困难来自于物体形状和多指手抓取构形的高维特性,因此,基于学习的抓取规划方法必须有效地编码对象的几何形状和抓取位形。对于第2个困难,夹持器可以在6维空间全局搜索可行的抓取[17],但多指灵巧手抓取位形空间可以达到20维以上,搜索复杂度大大增加,因此对每个目标物体生成初始的候选抓取时,需要有比直接搜索抓取空间更快的规划器。

针对上述问题,Varley等[18]提出一种新颖的卷积神经网络,用于分析抓取过程中的逐帧图像,进而预测当前状态下多指灵巧手的抓取质量。Kappler等[19]利用大规模数据,比较了深度学习网络对多种抓取稳定性指标的学习效果。Song等[20]基于多级卷积神经网络,将目标物体的图像特征映射到多指灵巧手的预抓取手势。然而,该方法是一种非端到端的方法,难以实现联合学习和全局最优。Zhao等[21]通过混合密度网络建立物体抓取点的高斯混合模型,采样确定多指灵巧手与物体的接触点,但该方法计算较为复杂,无法判断采样点是否达到最优。Lu等[22]将多指灵巧手抓取规划视作概率推断问题,在全局范围内最大化抓取成功率,搜索最优抓取规划。在上述工作中,常常采用回归网络实现物体被抓取部位到多指灵巧手关节角的映射[20-21]。但这个映射理论上是多值问题,即同一个物体的被抓取部位深度图可以对应多个相似的抓取位形(手掌位姿和手势),那么回归网络为了最小化损失函数,学习到的输出就是多个正确手势的平均值。

为了解决回归网络映射的多值问题,本文将抓取规划问题定义为抓取质量函数的优化问题,基于卷积神经网络特性和抓取稳定性判定法,提出了一种适用于多指灵巧手的抓取手势优化算法。

首先,选择分析法中常用的力封闭指标作为网络学习的目标,基于卷积神经网络提出了一种新颖的抓取质量评估网络(grasping quality evaluation network,GQEN),能提取物体抓取部位深度图的特征和多指灵巧手相对于物体的抓取位形,快速准确地评估当前抓取的质量,误差保持在6%以内。然后,利用GraspIt [23]和Gazebo仿真平台,自主构建了包含3089个样本的抓取数据集,作为抓取质量评估网络的训练数据集。该数据集使用抓取框表示多指灵巧手的手掌位姿,每个样本不仅包括物体深度图像块、多指灵巧手抓取手势,还有根据物体-手模型计算出的力封闭指标。

接着,设计了基于优化算法的抓取规划方法:将GQEN网络输出的抓取质量视为目标函数,保持其他参数不变,通过回溯线搜索和梯度上升算法不断迭代多指灵巧手的手势,获得局部最优解。

最后,通过3个不同的实验验证了深度神经网络和优化算法的性能:首先在仿真环境中,比较GQEN和GraspIt仿真平台对同一抓取位形的质量评估;其次,通过搜索随机获得初始抓取位形,利用优化算法对手势进行迭代后比较优化前后抓取的力封闭指标,验证优化性能;最终将算法迁移到Shadow Hand Lite实际平台上,利用文[20]提出的网络获取多指灵巧手的初始位姿并对其进行优化,通过实验的后验成功率和GQEN网络的评估值比较优化前后的抓取质量,验证算法优越性。

2 基于力封闭指标的优化算法(Optimization algorithm based on force closure metrics)

抓取规划问题被定义为找到一个稳定的预抓取位形。在现有的工作[20-21]中,利用深度神经网络对抓取框进行搜索和评估,确定了手掌的目标位姿,并根据未知物体被抓取部位的图像,预测多指灵巧手的预抓取手势,二者结合称为预抓取位形。但关于网络所输出的位形下的抓取效果,尚缺乏有效的评估手段。传统规划方法中评估抓取质量的指标有很多,例如稳定性、力封闭指标等,也可以人为设置抓取质量评估指标,例如成功率、夹持器到物体质心的直线距离等,但这些指标都需要物体的3维模型信息,不适用于未知物体。

因此本文提出一个可靠的基于学习的评估指标来判定多指灵巧手对形状、大小未知的物体的抓取质量。具体来说,选择分析法中的力封闭指标作为学习的目标,设计了一个深度神经网络来评估多指灵巧手对未知物体的抓取位形的优劣。

2.1 抓取质量评估指标

力封闭是抓取稳定性的充分条件,Ferrari等[3]选择了单位抓取旋量空间边界到质心的距离作为力封闭评估指标,其优势在于:1)指尖和物体接触的几何形状和摩擦系数定义了可以通过接触传递的旋量空间,当物体质心在空间内时,抓取都是稳定的;2)不同的抓取任务对应不同的任务旋量空间,当任务旋量空间是抓取旋量空间的子空间时,则该抓取能用于执行此任务。通常,将任务旋量的大小与接触力大小的比值作为衡量抓取质量的指标,以避免执行任务时物体所受到的力太大。

为了计算该指标,需要先建立抓取旋量空间,该空间由物体接触点上的旋量(由力和力矩组成的6维矢量)生成。首先利用二次规划的线性近似,将多指灵巧手施加在物体接触点处的力形成的摩擦锥近似为与该摩擦锥内接的多面棱锥,摩擦锥的形状由静摩擦系数$ \mu_{\rm s} $决定,如图 1(a)所示。由于多面锥体位于实际圆锥体的内侧,因此如果多面锥体内部存在线性规划问题的解,那么这个解就一定满足力封闭。易得任何允许的接触力都可以由有限数量的沿摩擦锥边缘的力的线性组合表示:

$ \begin{align} & \mathit{\boldsymbol{f}}_{i} =\sum\limits_{j=1}^m \alpha_{i, j} \mathit{\boldsymbol{f}}_{i, j} , \quad \alpha_{i, j} \geqslant 0 \\ & \mathit{\boldsymbol{f}}_{i, j} =\hat{\mathit{\boldsymbol{f}}}_{i, \bot} +\mu_{\rm s} \hat{\mathit{\boldsymbol{f}}}_{i, x}\cos \frac{2π j}{m} +\mu_{\rm s}\hat{\mathit{\boldsymbol{f}}}_{i, y} \sin \frac{2π j}{m} \\ & \sum\limits_{ j=1}^m \alpha_{i, j} =\| {\mathit{\boldsymbol{f}}_{i, \bot}} \| \end{align} $ (1)
图 1 抓取旋量空间示意图 Fig.1 Schematic diagram of the grasping wrench space

其中,$ \mathit{\boldsymbol{f}}_{i} $是第$ i $个接触点上的接触力,$ \mathit{\boldsymbol{f}}_{i, j} $是第$ i $个接触点的沿多面锥体第$ j $条边的力矢量,$ \alpha_{i, j} $是第$ i $个接触点第$ j $个力矢量的权重系数,$ \hat{\mathit{\boldsymbol{f}}}_{i, \bot} $是沿第$ i $个接触点法向方向的单位矢量,$ \hat{\mathit{\boldsymbol{f}}}_{i, x} $$ \hat{\mathit{\boldsymbol{f}}}_{i, y} $分别是沿第$ i $个接触点切平面方向的2个相互垂直的单位矢量。计算摩擦锥边界每个力矢量相对于物体质心的力矩,进而获得旋量:

$ \begin{align} \mathit{\boldsymbol{w}}_{i, j} =\begin{bmatrix} \mathit{\boldsymbol{f}}_{i, j} \\ \mathit{\boldsymbol{\tau}}_{i, j} \end{bmatrix} =\begin{bmatrix} \mathit{\boldsymbol{f}}_{i, j} \\ \mathit{\boldsymbol{r}}_{i, j} \times \mathit{\boldsymbol{f}}_{i, j} \end{bmatrix} \end{align} $ (2)

其中,$ \mathit{\boldsymbol{r}}_{i, j} $是由质心指向接触点的矢量,$ \mathit{\boldsymbol{w}}_{i, j} $是第$ i $个接触点上第$ j $个力的旋量。根据式(1)(2),第$ i $个接触点上所有力的旋量可以计算为

$ \begin{align} \mathit{\boldsymbol{w}}_{i} & =\begin{bmatrix} \mathit{\boldsymbol{f}}_{i} \\ \mathit{\boldsymbol{\tau}}_{i} \end{bmatrix} =\begin{bmatrix} \sum\limits_{j=1}^m \alpha_{i, j} \mathit{\boldsymbol{f}}_{i, j} \\ \mathit{\boldsymbol{r}}_{i, j} \times \sum\limits_{j=1}^m \alpha_{i, j} \mathit{\boldsymbol{f}}_{i, j} \end{bmatrix} \\ & =\sum\limits_{j=1}^m \alpha_{i, j} \begin{bmatrix} \mathit{\boldsymbol{f}}_{i, j} \\ \mathit{\boldsymbol{r}}_{i, j} \times \mathit{\boldsymbol{f}}_{i, j} \end{bmatrix}=\sum\limits_{j=1}^m \alpha_{i, j} \mathit{\boldsymbol{w}}_{i, j} \end{align} $ (3)

将接触法向力的总和限制为1:

$ \begin{align} \sum\limits_{i=1}^n \| \mathit{\boldsymbol{f}}_{i, \bot} \|\leqslant 1 \end{align} $ (4)

可以构建单位抓取旋量空间为

$ \begin{align} W_{L1} & = \left\{\mathit{\boldsymbol{w}}\bigg|\mathit{\boldsymbol{w}}=\sum\limits_{i=1}^n \sum\limits_{j=1}^m \alpha_{i, j} \mathit{\boldsymbol{w}}_{i, j}, \; \alpha_{i, j} \geqslant 0\right\} \\ & =\rm{ConvexHull} \left(\bigcup _{i=1}^n \{\mathit{\boldsymbol{w}}_{i, 1}, \cdots, \mathit{\boldsymbol{w}}_{i, j}\}\right) \end{align} $ (5)

假设扰动可能来自任意方向,因此任务旋量空间是一个6维球体,旋量的最大值为球的半径。因此GraspIt仿真平台中[23]将抓取质量指标$ \varepsilon $定义为:单位抓取旋量空间内以质心为圆心的内切球的半径。特别地,对$ W_{L1} $单位旋量空间,考虑最坏的干扰旋量,法向接触力的标量和必须是干扰旋量大小的$ \dfrac{1}{\varepsilon} $倍,也就是说$ \varepsilon $越接近1,抓取质量越高。如果某个抓取被认为是一个力封闭的抓取,则抓取旋量空间的$ \varepsilon $在区间$ (0, 1) $内,$ \varepsilon $值越大表示抓取越稳定;$ \varepsilon <0 $说明不满足力封闭,抓取失败。如图 1(b)所示,带箭头的虚线代表旋量,蓝色线代表某个抓取旋量空间,红色虚线表示该空间的内切球,抓取质量指标为内切球的半径。

总的来说,用$ \varepsilon $指标进行抓取评估需要物体和机器人完整的3维模型,并进行复杂的数学计算,而在包含未知物体的实际场景中难以实时计算力封闭指标,因此,第3节将利用深度神经网络在仅有物体单目视觉信息的情况下对力封闭指标进行评估。

2.2 基于优化算法的抓取规划

在以往的工作[20-21]中,多指灵巧手的抓取位形预测往往采用回归网络,来实现物体被抓取部位到多指灵巧手关节角的映射,但前文已经提到该映射在理论上是多值的,难以达到全局最优解。因此,本文提出了一种基于优化算法的抓取规划方法,给定物体的整体深度图、多指灵巧手的手掌位姿和抓取预测网络(或其他外部规划器)生成的次优抓取手势,以抓取质量函数作为目标函数,利用其相对抓取手势的梯度使抓取手势达到局部最优。

给定训练好的深度神经网络参数$ W $,物体的单目深度图$ z $和多指灵巧手的手掌位姿$ \mathit{\boldsymbol{p}} $,就能准确地推断出使抓取质量函数输出最大化的多指灵巧手的手势$ \mathit{\boldsymbol{g}} $。将抓取规划的优化问题写为

$ \begin{align} \mathop {{\text{argmax}}}\limits_\theta f(z, \mathit{\boldsymbol{p}}, \mathit{\boldsymbol{g}}, W), \quad \rm{s.t. } \mathit{\boldsymbol{g}}_{\min} \leqslant \mathit{\boldsymbol{g}}\leqslant \mathit{\boldsymbol{g}}_{\max} \end{align} $ (6)

其中,$ f(z, \mathit{\boldsymbol{p}}, \mathit{\boldsymbol{g}}, W) $表示抓取质量相对于物体-手系统的映射函数。设计了一种神经网络分类器表示抓取质量函数,分类器的输出为对输入抓取的力封闭指标的预测值,分布在区间$ [0, 1) $内。设置约束条件为多指灵巧手的关节限制,在多指灵巧手工作空间内优化初始的次优手势来得到抓取质量函数的局部最大值。

为了有效解决抓取质量函数的优化问题,选择梯度上升方法更新多指灵巧手的抓取手势,直到梯度收敛,获得抓取质量函数$ f $的局部最优解。由人类抓取经验可知,稳定抓取并不是在多指灵巧手工作空间中均匀分布,且失败抓取的质量评估值都是0,因此抓取质量相对于多指灵巧手手势的梯度在工作空间内是不连续的,且从任意不稳定初始手势开始,需要通过不同的步长在工作空间内较快搜索到稳定的局部最优手势。

3 抓取质量评估网络(Grasping quality evaluation network)

为了实现上一节的抓取规划算法,提出了一种新颖的网络结构,在没有物体精确3维模型的条件下评估多指灵巧手预抓取位形相对于该物体的抓取质量,即力封闭指标。考虑到抓取未知物体时,只有部分传感器数据已知,如物体单一方向上的深度图像、多指灵巧手的关节角度和位姿数据等,该网络被设计为力封闭指标相对于多指灵巧手位形和物体图像信息的函数。本节先描述抓取质量评估网络的输入组成,然后介绍该网络的具体结构,最后介绍网络的训练过程。

3.1 抓取质量评估网络的输入

接下来将详细介绍抓取质量评估网络的每一个输入。网络的图像输入$ z $包括:提取物体形状信息得到的整体深度图,物体被抓取部位的局部深度图。采用抓取框[7]表示物体适合被抓取的部位,如图 2左侧的红酒杯所示。用符号$ R $表示图像中的抓取框,$ R $可以定义为

$ \begin{align} R=\{x, y, h, w, \theta\} \end{align} $ (7)
图 2 抓取框和手掌位姿的对应关系 Fig.2 Correspondence between the grasp rectangle and the hand palm pose

其中,$ x $$ y $表示抓取框的中心点在图像中的像素坐标,$ w $$ h $表示抓取框在图像中的长和宽,$ \theta $表示矩形的长边与图像中的竖直向量$ \mathit{\boldsymbol{p}} $的夹角。

根据前文,多指灵巧手抓取位形包括期望的手掌位姿$ \mathit{\boldsymbol{p}} $和手指手势$ \mathit{\boldsymbol{g}} $两部分。抓取框与手掌位姿的对应关系如图 2所示,由于抓取框直接决定了手掌相对于物体坐标系的$ x, y $坐标,因此再用四元数简化旋转矩阵,可得网络的位姿输入为5维向量$ (d, x, y, z, w) $。多指灵巧手手势$ \mathit{\boldsymbol{g}} $则直接采用传感器传输过来的手指关节角度来表示。

3.2 卷积神经网络的结构

抓取质量评估网络的具体结构见图 3。根据力封闭指标的计算过程处理网络输入,通过图像和位姿矢量提供了物体的形状信息和摩擦系数,指尖和物体的接触点位置等。首先,利用全卷积的特征提取器,从大小为128$ \times $128的整体深度图中提取出物体的正面形状信息,从大小为64$ \times $128的局部深度图中提取出灵巧手手掌相对于物体的位置信息。其次,通过全连接的特征提取器整合手掌相对于物体的距离、方向和手指关节角,获得各指尖在局部深度图上的分布,即接触点的相对位置。最后,将这些特征信息连接起来,通过一个全连接网络,拟合从确定的接触点到式(5)的非线性计算过程。

图 3 抓取质量评估网络的结构 Fig.3 Structure of the grasping quality evaluation network

处理图像输入的特征提取器主要包括4个卷积层,其中前2层卷积核大小为6$ \times $6,后2层卷积核大小为3$ \times $3,卷积核的数量依次为8、16、32、64,步长为2。选择ReLU(线性整流)函数作为激活函数,为网络引入非线性特性。每2层卷积层后是相同的最大池化层,其池化核大小为2$ \times $2,步长为2。处理灵巧手信息的特征提取器由2个连续的全连接层构成。由于多指灵巧手位姿输入与手势输入的量纲不同,所以要分别通过2个特征提取器:手掌位姿对应的全连接层,每层均有32个神经元;而抓取手势对应的全连接层,每层均有64个神经元。将提取到的4部分特征连接并展开为1维向量,该特征向量维度为480,经过由5层全连接层组成的分类器,全连接层的神经元个数逐层递减,依次为512、128、64、32和1,输出层神经元个数为1,用$ \varepsilon ' $表示对当前抓取质量的评估值。

为了提高深度神经网络的训练效率,在GQEN网络中引入批量归一化层,将其加在每个卷积层和全连接层之后,对输入数据进行归一化处理。

3.3 网络模型训练

首先,将样本数据进行归一化预处理,使其保持在0~1之间,并将采集并处理后的数据按$ 8:1:1 $的比例,随机分为训练集、验证集和测试集。其次,确定网络训练超参数:选择均方误差(MSE)损失函数作为网络的损失函数,设置学习率为0.0003,采用随机梯度下降法进行参数迭代,迭代次数为5000。每次迭代后,训练集的顺序都会被打乱。为了避免网络过拟合,当网络的验证集误差不再下降时,提前终止网络训练,保存验证集误差最小时对应的参数。训练过程中验证集的损失函数变化曲线如图 4所示,完成训练后在测试集上测试网络的评估性能,平均损失为0.1546。

图 4 训练过程中验证集损失函数的变化曲线 Fig.4 The change curve of the loss function of the verification set during model training
4 仿真数据采集(Simulation data collection)

常用的抓取数据集,如康奈尔大学数据集[24]、Dex-Net自建数据集[25]都是基于物体设计的,只包括物体图像和标签。本文针对抓取质量评估网络的特性,自行构建了适用于多指灵巧手的抓取数据集,包含物体深度图像、多指灵巧手抓取位形以及对应的力封闭指标。

为节省时间并提高数据准确性,选择GraspIt作为采集数据的仿真平台。GraspIt仿真平台能够根据物体和多指灵巧手的3维模型在指定的3维空间内搜索抓取手势,并根据式(4)得到6维抓取旋量空间,进而精确计算力封闭指标$ \varepsilon $。仿真环境中搜索到的抓取的力封闭指标$ \varepsilon $取值范围往往在$ [0, \; 0.12] $之间,文中将理论值除以0.12,使大部分抓取质量保持在$ [0, \; 1] $之间,后续的抓取质量$ \varepsilon $都用处理后的结果表示。

采用$ N= $ 65个物体模型,这些模型是从Kasper等构建的KIT数据库中选取的。Shadow多指灵巧手是橡胶材质,文中设置摩擦系数都为1,并认为物体质量分布是均匀的,即几何中心就是质心。对这些物体一共生成1039个满足力封闭要求的正样本,2050个不满足封闭条件(即$ \varepsilon <0 $)的负样本。由于GraspIt仿真平台对负样本的$ \varepsilon $计算值都为$ - $1,为方便训练,将所有负样本的抓取质量统一为0,保证标签取值范围连续。

生成自建数据集是一个多阶段的过程,如算法1所示。首先,将当前物体模型$ O_{i} $和深度相机模型导入Gazebo仿真环境中,固定相机位置,拍摄包含物体的深度图像。然后,将当前物体模型$ O_{i} $和多指灵巧手模型导入GraspIt仿真环境中,借助GraspIt自带的抓取规划器,随机搜索8000个抓取位形,排除没有接触或无法计算抓取质量的候选位形,记录余下抓取的实验数据,包含多指灵巧手掌心相对于物体的位姿数据$ \mathit{\boldsymbol{p}} $、多指灵巧手的关节角度$ \mathit{\boldsymbol{g}} $和力封闭指标$ \varepsilon $。最后,根据图 2的映射关系,将手掌位姿转换为深度图的抓取框信息。

算法1抓取数据集构建过程
输入: 一组物体模型$ O $,物体模型数量$ N_{o} $,每个物体对应 抓取数$ N_{g} >0 $
输出:总数据集$ {\mathcal D}_{\rm{total}} $;抓取数据集$ {\mathcal G} $;物体图像$ \mathcal P $
1:初始化$ {\mathcal D}_{\rm{total}} \leftarrow \varnothing $, $ {\mathcal G}\leftarrow \varnothing $, $ {\mathcal P}\leftarrow \varnothing $, $ {\mathcal Q}\leftarrow \varnothing $
2:将深度相机模型导入Gazebo,将多指灵巧手模型导入GraspIt;
3: for $ i=1\cdots N_{o} $ do
4:   将第$ i $个物体模型$ O[i] $导入Gazebo和GraspIt中;
5:   在Gazebo中获取物体深度图像$ D $,添加至$ {\mathcal P} $
6:    for $ j=1\cdots N_{g} $ do
7:    用抓取规划器搜索抓取$ G_{k} $
8:      if多指灵巧手手指与手指或物体发生碰撞then
9:       丢弃$ G_{k} $,跳回第7行;
10:     else
11:        $ P=\rm{getPatch}({G_{k}, D}) $,添加到$ {\mathcal P} $
12:       将$ G_{k} $分为位姿$ x $和手势$ \theta $,分别添加到$ {\mathcal G} $
13:       计算抓取质量$ \varepsilon $,将其添加至$ {\mathcal Q} $
14:      end if
15:    end for
16: end for
17:整合$ {\mathcal D}_{\rm{total}} \leftarrow {\mathcal P}\cup {\mathcal G}\cup {\mathcal Q} $

5 实验验证(Experimental verification)

通过深度神经网络的前向传播算法计算抓取质量评估值$ \hat{\varepsilon} $,并控制其他参数不变,利用反向传播算法计算$ \hat{\varepsilon} $相对于多指灵巧手手势的梯度,并且使用梯度上升算法更新抓取手势。最后,不断前向和反向迭代直到梯度收敛。本文使用梯度投影处理优化中的线性约束,并应用回溯线搜索法确定每次迭代时的步长。

设计了3个不同的实验来验证所提出的多指灵巧手抓取规划的优化效果。第1个实验是验证抓取质量评估网络GQEN是否能像GraspIt仿真平台一样精确评估预抓取位形的抓取质量。第2个实验是验证多指灵巧手抓取规划优化算法对仿真环境中随机初始抓取的质量提升效果。第3个实验是在UR5和Shadow Hand Lite多指灵巧手组成的机器人平台上进行实时抓取实验验证,以文[16]中抓取手势预测网络的输出作为初始抓取手势,进行优化前后的对比实验。

5.1 抓取质量评估网络性能验证

实验中,从测试集中选取了所有抓取质量为正的样本作为测试样本。由于数据集中的抓取质量是由GraspIt仿真平台通过严格几何计算得到的,可以将其作为抓取质量的真实值与网络输出进行对比。选取测试集中不同形状、不同大小的9个物体,针对每个物体对应的稳定抓取,分别用GQEN网络和GraspIt仿真平台进行评估后取平均值,实验结果如图 5所示。可以看出,真实值与预测值的平均误差在6%以内,预测网络在评估抓取质量的性能表现上与GraspIt仿真平台基本一致。

图 5 的抓取评估性能比较 Fig.5 Comparison of the grasp evaluation performance between GQEN and GraspIt
5.2 仿真环境下的优化算法

验证GQEN网络的评估效果后,在GraspIt仿真平台上评估所设计的抓取手势优化算法。选择心形、长方体、圆锥体3种形状的物体作为实验对象,并将随机生成的初始抓取位形作为优化的对象。每个物体各选取20个稳定抓取和80个不稳定抓取样本进行优化实验。

根据2.2节中的优化算法更新抓取手势。对每个初始抓取,优化的最大迭代次数是100,设置回溯线搜索的初始步长为1,每次梯度上升步的最大迭代次数为10,搜索的控制参数为$ \alpha $ $ = $ $ 0.3 $$ \beta $ $ = $ $ 0.8 $。GQEN网络的参数量只有7.5k,计算量只有54.4$ \times 10^{6} $次,由于正向传播和反向传播的计算量基本相同,故该算法100次迭代的计算量是10880$ \times 10^{6} $次,在RTX 2080 Ti显卡上平均每秒处理151.28张照片。

首先对总体结果进行统计,将每个物体稳定抓取和不稳定抓取优化前后的抓取质量取平均值,如图 6所示,算法对不稳定初始手势的优化效果更好,而对稳定的初始抓取,力封闭指标优化后的平均增长率也达到20.58%。但不是所有手势优化后都得到提升,由于网络缺乏完整的物体3D模型,对于某些抓取质量小于0.4的低质量初始抓取,手指到物体的距离或手指间的距离很小,优化后可能出现手指模型轻微穿透物体模型的情况,抓取质量降为$ - $1。部分实验结果如图 7所示,箭头左边是初始抓取手势闭合后的位形,右边是优化后的抓取手势闭合后的位形,图 7(a)(b)(c)分别表示$ \varepsilon >0 $$ \varepsilon <0 $$ \varepsilon $不存在的初始抓取样本。对满足力封闭条件的抓取样本,表 1列出了GQEN网络对圆锥体的稳定抓取手势优化前后的质量评估,手势1~5是仿真环境下从圆锥体8000次随机搜索中得到的19个稳定抓取手势,将相似的手势进行合并,得到5种稳定抓取手势。可以看到,对满足力封闭条件的稳定抓取,优化后抓取质量都有了明显上升,尤其对评估值小于0.5的抓取,评估值提高了50%以上。

图 6 对未知物体稳定和不稳定抓取手势的优化结果对比 Fig.6 Comparison of optimization results of stable and unstable grasping gestures for unknown objects
图 7 优化前后抓取手势对比 Fig.7 Comparison of the grasping gestures before and after optimization
表 1 网络对优化前后的圆锥体稳定抓取手势的质量评估 Tab. 1 Evaluation of the stable grasp gestures for cone by GQEN before and after optimization

对于不满足力封闭条件的抓取,优化后获得稳定抓取的概率为80%,如图 7(b)(c)所示,图 7(c)中箭头左侧对应多指灵巧手穿透物体模型导致无法计算力封闭指标,红色的锥体表示多指灵巧手与物体接触点的摩擦锥,摩擦锥朝向物体外侧时表示接触点在物体内部,表明多指灵巧手与物体发生碰撞,可以看到优化后物体模型被穿透情况大大减少。表 2从长方体物体模型的80个不稳定抓取中随机选取5个样本,展示了优化前后的抓取质量评估值对比,其中抓取质量分别由GQEN网络和GraspIt仿真平台计算,因为初始抓取质量$ \varepsilon =-1 $,只记录优化后GraspIt仿真平台的计算值。可以看到,这5个样本优化后能够实现稳定抓取,其中手势5优化前后的对比见图 7(b)右图,调整了大拇指的位置偏移,$ \varepsilon $$ - $1提高到0。可见,本文算法可以较好地解决多指灵巧手初始手势与物体碰撞的问题,对不稳定抓取手势也能在一定范围内进行调整,从而提高抓取质量。

表 2 网络对优化前后的长方体不稳定抓取手势的质量评估 Tab. 2 Evaluation of the unstable grasp gestures for cube by GQEN before and after optimization
5.3 实际实验结果

实验平台如图 8所示,由Shadow Hand Lite多指灵巧手和UR5机械臂组成,多指灵巧手型号为G1M4R,关节自由度为16,最大负载4 kg,指尖有压力传感器,UR5机械臂关节自由度为6。在实验中,使用Kinect相机提供深度图像,为了保持相机坐标系相对于世界坐标系的转换矩阵不变,固定相机和机械臂基座的位置。

图 8 实际实验平台 Fig.8 Physical experiment platform

采用文[20]中的多级卷积神经网络来获得实际实验的初始抓取位形,该网络分为抓取框检测网络和抓取手势预测网络:前者用于检测物体当前视角的最优抓取框,映射到世界坐标系中即为手掌的抓取位姿:后者在此基础上预测多指灵巧手的初始预抓取手势,综合得到初始的抓取位形。对比实验的流程分为4步:1)相机采集深度图像后,利用抓取框检测网络筛选出物体的最优抓取框,确定多指灵巧手手掌相对于物体的位姿;2)在深度图上裁剪出抓取框深度图和物体整体深度图,与手掌位姿一并作为抓取手势预测网络的输入,得到初始抓取手势;3)在关节空间中利用梯度上升算法,搜索使抓取质量评估值局部最优的抓取手势,与手掌位姿结合作为最终的抓取位形;4)计算出机械臂和多指灵巧手在世界坐标系中的目标位姿后,控制机器人系统抓取目标物体,举起物体5 s以检测抓取是否成功。

为了加快实验流程,设计了多进程并发系统,从预测网络获取手掌相对于物体的位姿后一边控制机械臂移动到目标位姿,一边优化初始手势。实际实验中,从获取深度图像到开始实施抓取,算法最长耗时2 s。

选择8个未知的日常物品进行实时抓取实验,将文[20]中的多级卷积神经网络预测的手势作为初始抓取手势,比较优化前后的抓取成功率和抓取质量评估值,对每个物体进行10次抓取实验,每次改变物体的摆放位置和姿态,实验结果统计如表 3所示,优化后平均抓取成功率由87.5%提升到93.75%。其中茶叶盒、心形盒2、透明漏斗的抓取成功率分别由9/10、6/10、6/10提升到10/10、8/10、8/10。

表 3 实际实验中优化前后抓取成功率对比 Tab. 3 Comparison of the grasp success rate before and after optimization in the physical experiment
图 9 优化前后抓取姿势对比 Fig.9 Comparison of the grasp gestures before and after optimization

部分抓取前后的手势对比图如图 9所示,图 9(a)(b)(c)优化前后的抓取都是成功的,但优化后抓取手势更加稳定,如图 9(b)(c)纠正了无名指未接触物体的问题。图 9(d)修正了大拇指过于靠近掌心的问题。拍摄对比图时保持同一视角,但优化前后预抓取手势的差异可能造成手指闭合后物体位形的差异,例如图 9(d)的左图是优化前大拇指在靠近相机一侧,无法抓起物体,因此拍摄的是预抓取手势,而优化后大拇指靠近茶叶盒背面,由于茶叶盒表面非常光滑,手指合拢时没有达到稳定状态,物体转动90$ ^{\circ} $,呈现图 9(d)右图的位形。

采用GQEN网络对墨粉盒完成10次实验优化,前后的抓取质量评估值对比如图 10所示,可以看到除了第5次实验,每次优化后GQEN网络的输出都有提高。对于优化前后都成功的实验,抓取质量提高使灵巧手花费更小的力和力矩抓住物体,且优化后的手势适用于更大范围的任务规划。第5次实验的手势对比对应图 9(b),相机从统一视角拍摄物体,可以看到初始手势的中指、无名指交叠,优化后手指不再重叠,并且抓住了物体。由于多指灵巧手闭合时墨粉盒位姿发生偏转,可以看出优化后的手势相对于物体初始位姿是不稳定的,墨粉盒偏移后才达到稳定条件,故优化后网络的抓取质量输出仍为0。

图 10 墨粉盒10次实验优化前后抓取质量对比 Fig.10 Comparison of the grasping quality of the toner bottle before and after optimization in 10 experiments
6 结论(Conclusion)

提出了一种基于深度神经网络模型的多指灵巧手抓取规划方法,能够有效解决基于学习的抓取规划方法中常见的多值映射和平均最优问题。一方面,与当前基于采样的抓取规划方法相比,本文方法可以获得更稳定的抓取质量和更高的抓取成功率,并且仅需对抓取质量评估网络的输入层进行微调便可移植到不同的机器人应用场景中。另一方面,与直接预测抓取位形的回归网络模型相比,基于力封闭指标的分类网络需要更少的训练样本,这对于需要自建数据集的深度神经网络非常适用。此外,还设计了一种新颖的数据采集方法,利用抓取框图像块同时表示物体形状信息和多指灵巧手位姿信息,进一步缩小网络输入特征的维度,对数据的利用效率更高。

参考文献(References)
[1]
Bohg J, Morales A, Asfour T, et al. Data-driven grasp synthesis-A survey[J]. IEEE Transactions on Robotics, 2014, 30(2): 289-309. DOI:10.1109/TRO.2013.2289018
[2]
Kirkpatrick D G, Mishra B, Yap C K. Quantitative Steinitz's theorems with applications to multifingered grasping[C]//TwentySecond Annual ACM Symposium on Theory of Computing. New York, USA:ACM, 1990:341-351.
[3]
Ferrari C, Canny J. Planning optimal grasps[C]//IEEE International Conference on Robotics and Automation. Piscataway, USA:IEEE, 1992:2290-2295.
[4]
Ciocarlie M T, Allen P K. Hand posture subspaces for dexterous robotic grasping[J]. International Journal of Robotics Research, 2009, 28(7): 851-867. DOI:10.1177/0278364909105606
[5]
Sung J, Jin S H, Saxena A. Robobarista:Object part based transfer of manipulation trajectories from crowd-sourcing in 3D pointclouds[C]//International Symposium on Robotics Research. Cham, Switzerland:Springer, 2015:701-720.
[6]
Romero J. Human-to-robot mapping of grasps[C]//IEEE/RSJ International Conference on Intelligent Robots and Systems, WS on Grasp and Task Learning by Imitation. 2008:9-15.
[7]
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
[8]
Goldfeder C, Ciocarlie M, Peretzman J, et al. Data-driven grasping with partial sensor data[C]//IEEE/RSJ International Conference on Intelligent Robots and Systems. Piscataway, USA:IEEE, 2009:1278-1283.
[9]
Lowe D G. Object recognition from local scale-invariant features[C]//Seventh IEEE International Conference on Computer Vision. Piscataway, USA:IEEE, 1999:1150-1157.
[10]
Goldfeder C, Ciocarlie M, Dang H, et al. The Columbia grasp database[C]//IEEE International Conference on Robotics and Automation. Piscataway, USA:IEEE, 2009:1710-1716.
[11]
Jiang Y, Moseson S, Saxena A. Efficient grasping from RGBD images:Learning using a new rectangle representation[C]//IEEE International Conference on Robotics and Automation. Piscataway, USA:IEEE, 2011:3304-3311.
[12]
Lenz I, Lee H, Saxena A. Deep learning for detecting robotic grasps[J]. International Journal of Robotics Research, 2015, 34(4-5): 705-724. DOI:10.1177/0278364914549607
[13]
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.
[14]
Guo D, Sun F C, Liu H P, et al. A hybrid deep architecture for robotic grasp detection[C]//IEEE International Conference on Robotics and Automation. Piscataway, USA:IEEE, 2017:1609-1614.
[15]
夏晶, 钱堃, 马旭东, 等. 基于级联卷积神经网络的机器人平面抓取位姿快速检测[J]. 机器人, 2018, 40(6): 794-802.
Xia J, Qian K, Ma X D, et al. Fast planar grasp pose detection for robot based on cascaded deep convolutional neural networks[J]. Robot, 2018, 40(6): 794-802.
[16]
喻群超, 尚伟伟, 张驰. 基于三级卷积神经网络的物体抓取检测[J]. 机器人, 2018, 40(5): 762-768.
Yu Q C, Shang W W, Zhang C. Object grab detecting based on three-level convolution neural network[J]. Robot, 2018, 40(5): 762-768.
[17]
Zhou Y L, Kris H. 6DOF grasp planning by optimizing a deep learning scoring function[C]//Robotics:Science and Systems (RSS) Workshop on Revisiting Contact Turning a Problem into a Solution. 2017.
[18]
Varley J, Weisz J, Weiss J, et al. Generating multi-fingered robotic grasps via deep learning[C]//IEEE/RSJ International Conference on Intelligent Robots and Systems. Piscataway, USA:IEEE, 2015:4415-4420.
[19]
Kappler D, Bohg J, Schaal S. Leveraging big data for grasp planning[C]//IEEE International Conference on Robotics and Automation. Piscataway, USA:IEEE, 2015:4304-4311.
[20]
Song F J, Zhao Z Z, Ge W, et al. Learning optimal grasping posture of multi-fingered dexterous hands for unknown objects[C]//IEEE International Conference on Robotics and Biomimetics. Piscataway, USA:IEEE, 2018:2310-2315.
[21]
Zhao Z Z, Shang W W, He H Y, et al. Grasp prediction and evaluation of multi-fingered dexterous hands using deep learning[J]. Robotics and Autonomous Systems, 2020, 129. DOI:10.1016/j.robot.2020.103550
[22]
Lu Q K, Chenna K, Sundaralingam B, et al. Planning multifingered grasps as probabilistic inference in a learned deep network[M]//Springer Proceedings in Advanced Robotics, Vol.10. Cham, Switzerland:Springer, 2020:455-472.
[23]
Miller A T, Allen P K. GraspIt! A versatile simulator for robotic grasping[J]. IEEE Robotics & Automation Magazine, 2004, 11(4): 110-122.
[24]
Cornell University. Cornell grasping dataset[DB/OL]. (2015-11-31)[2016-09-01]. http://pr.cs.cornell.edu/grasping/rectdata/data.php.
[25]
Mahler J, Pokorny F T, Hou B, et al. Dex-Net 1.0:A cloudbased network of 3D objects for robust grasp planning using a multi-armed bandit model with correlated rewards[C]//IEEE International Conference on Robotics and Automation. Piscataway, USA:IEEE, 2016:1957-1964.