【抓取】UniGrasp论文解读

【注】:本文地址:【抓取】UniGrasp论文解读
若转载请于明显处标明出处。

Author: Lin Shao, Fabio Ferreira, Mikael Jorda, Varun Nambiar, Jianlan Luo, Eugen Solowjow, Juan Aparicio Ojea, Oussama Khatib, Jeannette Bohg
Link: UniGrasp: Learning a Unified Model to Grasp with Multififingered Robotic Hands

前言

总体来说,此文章的最大贡献在于机械手的泛化性。

作者用接触点表征出抓取,而不同手指数的机械手对应不同数目的接触点。两指就估计两个接触点,三指就估计三个接触点,以此类推。

但是正如作者没有做的那样,更复杂的手需要考虑的几何特性更加复杂、也需要添加更加合理的操作进行接触点的选择判断。

本文则主要对此文章的精髓部分——方法,进行详细的阐述,如有错误请指出!

三、方法

请添加图片描述

A.夹爪表示

在这里插入图片描述

通过AE网络结构,对夹爪进行点云重建,目的是学习夹爪的低维表达,即将任意夹爪编码为低维特征。

AE中的编码器用的PointNet,解码器则是三层全连接。重建loss为倒角距离。

但是这样针对于单个夹爪形态的低维特征是无法表征出夹爪的运动学特征和其各个自由度的运动范围的。因此,作者将有着 n n n个DOF的夹爪在各个DOF取最大值、最小值,得到 2 n 2^n 2n的排列组合,再加上一个特例——各个自由度运动范围的中指组成的情况,得到最终的 2 n + 1 2^n+1 2n+1个夹爪点云。将这些点云通过训练好的编码器得到对应的低维特征,再对这些特征进行三种池化操作(最大池化、最小池化、平均池化)后拼接起来作为这个夹爪的完整特征表示。

B.接触点设置的选择

首先,使用PointNet++对 L L L个点的目标点云 S 0 S_{0} S0提取64维特征,得到 L × 64 L\times64 L×64 维度目标特征。此外,夹爪特征为 1 × 768 1\times768 1×768,夹爪特征扩展成 L × 768 L\times768 L×768之后,再将他俩concat到一起变成 L × 832 L\times832 L×832,最后经过一维卷积采样至 L × 64 L\times64 L×64 ,作为点集选择网络(PSSN, point set selection network)的输入。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6gh8me4b-1631353922172)(UniGrasp%20Learning%20a%20Unified%20Model%20to%20Grasp%20with%20Mu%20e77e3218f52a4d71bfdf57576a542ee7/Untitled%202.png)]

点集选择网络示意图,其中2048为点数L

对于 N N N指机械手,需要对应估计出 N N N个接触点,作者则利用点集选择网络分 N N N个阶段选择出这 N N N个接触点。

拿三指手来说, N = 3 N=3 N=3,即三个阶段:

第一阶段——从原始目标点云 S 0 S_{0} S0中选择 K 1 K_1 K1个点

输入特征 F 0 F_0 F0 L × 64 L\times64 L×64)送到一维卷积+softmax后得到 L L L个分数,然后选取分数最高的 K 1 K_1 K1个点 S 1 S_{1} S1的特征( K 1 × 64 K_1\times64 K1×64)作为 F 1 F_1 F1
对应图中, L = 2048 L=2048 L=2048, K 1 = 1024 K_1=1024 K1=1024

第二阶段——同样从原始目标点云 S 0 S_{0} S0中选点,但要利用 S 1 S_{1} S1

首先,与第一阶段一样,利用一维卷积和softmax从原始目标点云 S 0 S_{0} S0中选择 K 2 K_2 K2个点,表示为 S 2 S_{2} S2,对应点特征( K 2 × 64 K_2\times64 K2×64)作为 F 2 F_2 F2;(对应图中top-256, K 2 = 256 K_2=256 K2=256
接着, F 1 F_1 F1 F 2 F_2 F2复制后放入一个reshape-1d-cnn层(图中中下部分)中,得到组合特征( K 2 × K 1 × 64 K_2\times K_1 \times64 K2×K1×64)作为 F 3 F_3 F3
然后通过一维卷积+softmax变为二维特征图 K 2 × K 1 K_2\times K_1 K2×K1,接着从这个特征图中可以得到分数最高的 K 3 K_3 K3个索引,表示为 S 3 S_{3} S3,即对应 K 3 K_3 K3点对(对应图中 K 3 = 512 K_3=512 K3=512)。如果是两指手,到这也就结束了,因为每个点对就对应着每个抓取接触情况。而对于三指手来说,还需要估计出第3个点,因此下面引入第三阶段。

第三阶段——从 S 1 S_{1} S1中选点,利用 K 3 K_3 K3个点对的特征

首先,在上一阶段我们得到了 K 3 K_3 K3点对。此外,图中蓝色和红色特征块,分别代表了第一阶段和第二阶段所选点的特征,他们都是64维。因此,我们把所有点的特征拷贝过来就组成了 K 3 × 128 K_3\times128 K3×128的特征,接着通过一维卷积和softmax降采样至 K 3 × 64 K_3\times64 K3×64作为 F 4 F_4 F4
接着,由于我们要从 S 1 S_{1} S1中选点,因此将 F 1 F_1 F1 F 4 F_4 F4一起送到reshape-1d-cnn层,得到组合特征( K 3 × K 1 × 64 K_3\times K_1 \times64 K3×K1×64)作为 F 5 F_5 F5
然后通过一维卷积+softmax变为二维特征图 K 3 × K 1 K_3\times K_1 K3×K1,接着从这个特征图中可以得到分数最高的 K 4 K_4 K4个索引。此二维特征图中的索引 ( u , v ) (u, v) (u,v)对应于 S 3 S_{3} S3中第 u u u个和 S 4 S_{4} S4中第 v v v个(分别对应于图中蓝色红色块和绿色块)。值得一提的是,这里的 S 3 S_{3} S3点对,这样便建立起了前两阶段所求得两点点对与第三点之间的索引对应关系了,即对每个点对都附加了第三个点。

What’s more?

通过这么设计的点集选择网络可能会选择出大量的结果,而且输入的点云并非全都是可用的。因此,作者采用一系列策略进行“剪枝”,从而将结果从数十亿个减少到数百万个。

首先,对每个点预测法向量。

接着,利用点位置和预测的点法线实现剪枝操作。具体来说,对于双指机械手,两个接触点法线之间的夹角需要大于120◦才能形成力封闭。而对于三指手,三个点形成一个三角形,因此可以对这个三角形施加约束:

  1. 三角形的每一边都需要大于1厘米,以防点之间点太近;
  2. 三角形的最大内角应小于120◦;
  3. 对于每个点,其法向量与两个入射边缘方向之间的角度均小于90◦。这表示法线方向指向三角形的外侧。

通常,满足力封闭的三个接触点均满足上述约束条件。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文洪涛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值