大家好,今天给大家介绍谷歌X最新开源任务驱动的类级别机器人抓取CaTGrasp
论文 地址:
https://arxiv.org/abs/2109.09163
开源代码地址:
https://github.com/wenbowen123/catgrasp
1.问题陈述
我们考虑的是常见的工业场景: 相同类型的未曾见过的新型物体被收集到一个储物箱中,形成一个密集的杂乱堆。目标是计算与下游任务相关的6D 抓取姿势, 使得不仅能稳定抓 取, 同时抓取后与下游的放置任务相容。下面列出了对框架的输入:
- 属于同一类别的3D 模型集用于离线训练。该模型集不包括任何 测试阶段的新颖物体.
- 对应于该类别的下游放置任务(如将螺母放到螺钉上),包括匹配的容器物体和对任务成功的评判标准
- 在测试时, 深度相机得到的深度图像
2.方法
离线阶段,给定同一类别的训练3D模型集,合成的数据集在模拟器中生成, 并用于训练NUNOCS Net, Grasping QNet和3D U-Net。然后, 在模拟器中的自我交互试错提供了机械爪和物体的接触经验。该经验总结为任务相关性的热力图表征。统一的NUNOCS表征使得同一类的各个物体任务相关知识整合到一起。在现测试阶段,类级别的知识通过NUNOCS得到的稠密匹配和9D类级别姿态从统一的NUNOCS空间转换到新颖的测试物体点云空间,实现带语义的任务相关抓取
2.1 统一类级别的NUNOCS表征
受NOCS 的启发, 本文 提出提出了Non-Uniform Normalized Object Coordinate Space (NUNOCS) 表示。给定一个物体模型,所有的点沿着每个维度都归一化,驻留在一个单位立方体中这些训练集的3D型除了用于虚拟训练集的合成,还用于创建类别级的代表模板模型。为此每个模型M转换到NUNOCS空间,同时我们把距离所有其他模型的Chamfer distance最小的物体选择为该类级别的模板,用于后续整合各个训练集物体的任务相关性的热力图和存储抓取姿态分部的密码本。给定点云输入,NUNOCS Net旨在预测点云在NUNOCS空间中的位置,该网络基于pointnet设计。训练损失函数采用softmax cross entropy考虑到分类问题减少了求解的空间维度。基于观测到的点云和预测的NUNOCS空间的点云,两者的转换可以通过RANSAC求解得到类级别的6D转换和3D的维度变换。与此前提出的NOCS求解的7D姿态(6D转换和1D的维度变换)相比,本文提出的NUNOCS允许各个维度独立进行尺度变换,从而在规范化空间中得到更准确的稠密点对匹配,如下图所示,颜色近似度表示点对匹配的相似度。
2.2 学习稳定抓取
离线训练时,抓取姿势从每个对象实例的点云周围根据均匀分布采样,从而保证全面覆盖物体周围可行的抓取空间。每个抓取姿态在模拟器中进行评估,为了得到连续的概率分布P(G),我们对每个抓起姿态进行50次随机的微小扰动,计数成功率。直觉的理解是一个抓取姿态的稳定性和鲁棒性应该足以承受微小的噪声扰动。所有抓取姿态样本生成后用于两个用途:
1)给定之前得到的每个训练3D模型到规范化NUNOCS空间的转换,他们的抓取姿态分布得到整合并集成到该类的代表模板。测试时,一旦获得新颖物体到NUNOCS空间的转换,我们可以将继承的抓取姿态分布迁移到新颖物体空间,从而得到更全面的抓取姿态采样,甚至包括那些无法从单视角相机观测到的面(无法从点云在线采样)。
2)抓取姿态和模拟器中得到的P(G)分别作为输入和标签用于训练Grasping Q Net。
2.3 自监督学习任务相关性抓取区域
和以往需要人工收集真实世界数据并进行人工标注不同,我们能通过在模拟器中自学得到任务相关性。给定一个抓取姿态,我们找到机械爪和物体的接触点,并在模拟抓取以及下游操作任务,进而更新该区域接触点的统计信息。
当进行足够多的抓取姿态模拟后,整个过程中机械爪和物体的接触经验积累得到下面的热力图,表征任务相关性。
2.4 虚拟合成数据集的生产
本文所有模块均从合成数据集上训练。之后能直接迁移到真实世界的场景。物体随机生成杂乱的堆如下图所示。生成过程旨在符合物理仿真度,同时采用域随机
3.实验
本节旨在通过模拟实验和真实世界实验回答3个问题:i)所提出的NUNOCS规范化表达是否具有足够的表达性和可靠性足以泛化到一个类别中的各种对象实例?ii) 仅在模拟器中训练并直接推广到真实世界时,求解任务相关的抓取表现如何?iii) 提出的类别级先验知识学习是否也有利于抓取的稳定?我们提出的方法对比了以下基线方法:
1)PointNetGPD:一个 state-of-the-art method 鲁棒抓取方法(不考虑任务相关性)
2)Ours-NA:我们提出的方法变种,不考虑任务相关性而只在乎抓取稳定性
3)Ours-NOCS:我们提出的方法变种,用NOCS作为类级别的统一空间表达
最后作者在Github开源了所有的模拟器环境、数据集生成、训练和实验,可供随意切换同一类下的不同物体实例进行任务相关的抓取:
https://github.com/wenbowen123/catgrasp
内容中包含的图片若涉及版权问题,请及时与我们联系删除
评论
沙发等你来抢