机械臂常见,但你见过这么聪明的吗?
从工作台上一眼找到合适的螺母、稳稳拿住。
再送到目标螺杆上,整个动作一气呵成:
即使是相似度极高的两个部件,也能准确区分并“揪”出正确的那个:
要知道,平时我们自己做实验、或是拼装没见过的机械零件时,面对各个相似的零件都可能拿错,更何况机器人。
(想象一下拼装乐高零件的痛苦)
但这只机械臂没有使用过任何人工标注,就能从模拟器立刻迁移到真实世界,同时泛化到机器人没见过的新物体上,准确率能达到87.8%。
这就是谷歌X最近开源的类别级机械臂CaTGrasp。
论文一作为华人博士Bowen Wen,现就读于罗格斯大学计算机系,本科毕业于西安交通大学。
目前,这项研究已经登上机器人领域顶会ICRA 2022。
这项研究的提出,主要是想要解决普通工业场景中,对不同机械零件进行分类的问题。
实际情况下,机械臂难免会遇到自己不认识的新零件,如果只依靠数据集、不会举一反三可不太行。
为了不依赖数据集和人工标注,研究人员想到了在模拟器内进行训练的办法。
通过在模拟器内不断训练试错,机械臂就能自己总结出一套经验,并将它归结成热力图表征。
在这里,研究团队提出了一种新的表示方法:Non-Uniform Normalized Object Coordinate Space (NUNOCS)。
统一的NUNOCS表征能够让同一类物体的信息整合到一起。
给定一个物体模型,这种方法能让所有的点沿着每个维度都归一化。
归一化让不同维度之间的特征在数值具有一定比较性,从而可以对不同物体分类。
最终NUNOCS能够将不同物体按照类别划分,并能够给出一个代表模板。
在这个过程中,它是把距离所有其他模型的倒角距离最小的物体,设定为模板。
(倒角距离:是一种对于图像的距离变换,对于一个有特征点和非特征点的二值图像,此距离变换就是求解每一个点到最近特征点的距离)
这些模板将成为之后整合热力图表征、存储抓取姿态分部的密码本。
给出点云输入后,NUNOCS Net就能预测点云在NUNOCS空间中的位置,这一网络基于pointnet设计。
(点云:逆向工程中通过测量仪器得到的产品外观表面的点数据合集)
根据确定点云和预测到的点云,二者最终可以求解得到类别级的6D转换和3D的维度变换,从而得到更为准确的密集点云对匹配。
比如下图中,相同颜色表示相互匹配,NUNOCS方法优于此前的NOCS方法。
在掌握了抓取秘籍后,还要保证每次抓取都能稳定释放“功力”。
因此,研究人员对每个抓取姿态进行50次随机的微小扰动,并记下了成功的次数,得到连续的概率分布。
然后根据上一步整理好的不同模型模板,将抓取姿态也进行分类整合。
测试时,一旦遇到了没接触过的情况,就可以将之前归结好的抓取姿态分布迁移到新颖的物体空间里,从而得到更为全面的抓取姿态采样。
抓取姿态和模拟器中得到的概率分布,可以分别作为输入和标签,用来训练神经网络。
最后,通过自监督训练学习,在进行过足够多的抓取姿态模拟后,机械爪和物体的接触经验累计就能得到如下这样的热力图。
而且过程中所有模块都能从合成数据集上训练,之后能直接迁移到真实世界的场景中。
从实验结果来看,模拟情况下这一方法的平均成功率有93.1%,抓取次数大概为600次。
实际情况下的成功率为87.8%。
本项研究的一作为罗格斯大学计算机专业博士生Bowen Wen,目前正在GoogleX实习。
他师从Kostas Bekris教授,研究方向包括机器人感知,计算机视觉。
此前他还在Facebook Reality、Amazon Lab 126和商汤实习过。
本科毕业于西安交通大学,硕士毕业于俄亥俄州立大学。
目前该项目的所有模拟器环境、数据集生成、训练和实验均已开源。
GitHub地址:
https://github.com/wenbowen123/catgrasp
论文地址:
https://arxiv.org/abs/2109.09163
“