Google X开源抓取机械臂,无需人工标注就能一眼找到目标零件

news/2024/7/2 4:31:15/文章来源:https://www.cnblogs.com/firespeed/p/18270106

机械臂常见,但你见过这么聪明的吗?

从工作台上一眼找到合适的螺母、稳稳拿住。

 再送到目标螺杆上,整个动作一气呵成:

 

即使是相似度极高的两个部件,也能准确区分并“揪”出正确的那个:

 

要知道,平时我们自己做实验、或是拼装没见过的机械零件时,面对各个相似的零件都可能拿错,更何况机器人。

(想象一下拼装乐高零件的痛苦)

但这只机械臂没有使用过任何人工标注,就能从模拟器立刻迁移到真实世界,同时泛化到机器人没见过的新物体上,准确率能达到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
https://mp.weixin.qq.com/s?__biz=MzI0ODYyNzgxMg==&mid=2247545723&idx=1&sn=e9aaf40b9c89098c46c792e8a5e1d34e&chksm=e99fa470dee82d66cd14383076392b8dff046a2732e5c140c74aa45ec62754fa6225b408dc4b&scene=27

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/731855.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

生物力学考前补天 (╥_╥)

简答题 能量货币 (1) 细胞中的“能量货币”有哪几种主要形式?最常见的“能量货币”是什么?磷酸根所携带的能量(类似的有鸟苷三磷酸GTP等)。 NADH(或其类似物NADPH):可转移的高能电子形式携带的还原电位(“氧化自己,还原别人”;转移两个电子来还原被氧化的有机化合物;失去…

cython 笔记

数据类型# bool 类型 // bool_type_ptactice.pyx cdef bint a = 123 # 非0 为 真 , 0 为假 cdef bint b = -123 cdef bint c = 0 py_a = a # cdef 定义的内容没法直接在python中直接引用 py_b = b py_c = c// main.py import pyximport pyximport.install(language_level=3…

扫描版PDF目录制作指南

目前网上找到的扫描版的电子书往往没有目录,这使得阅读变得非常困难。本文总结我的经验,介绍快速制作扫描版 PDF 目录的方法,以便更轻松地阅读扫描版电子书。 本文首先介绍手动制作目录的方法,之后介绍如何利用 AI 帮助制作目录,接下来介绍了没有目录页的扫描版 PDF 的解决…

Ros - moveit - 三位模型导出URDF

1. 以UR3机器人为例, 先设计solidwork模型, 下载并安装sw_urdf_expoter 插件: 2. 下载机器人模型文件,加载进solidworks:插入基准轴: 一共6个旋转轴: 设置好旋转轴后,接下来,导出URDF文件: 配置URDF:将link加进来: 点击“Preview and Export”进行自动计算旋转轴…

为什么useEffect的第一个参数不能用异步函数

最近面试遇到了这个问题两次了,面试官: useEffect第一个参数可不可以用异步函数? 我们先来看看用了异步函数会报什么错报这个错的原因是因为async 会返回一个promise函数,而clean()函数不能是异步的 。 先来看看clean()函数的执行时机: 首次渲染不会进行清理,会在下一次渲…

离散数学重点整理

集合论 \(x \in A\): \(x\) 是 \(A\) 的一个元素 \(x \notin A\) (\(x\) 不属于 \(A\)): \(x\) 不是 \(A\) 的一个元素 \[A \subseteq B \Leftrightarrow \forall x(x \in A \rightarrow x \in B) \]\[A \subset B \Leftrightarrow A \subseteq B \wedge A \neq B \]\[…

EXQX-5.0.26 登录控制台

前言全局说明EXQX-5.0.26 登录控制台。一、说明 因 win 和 lin 控制台使用没有太大差异,故放一篇二、访问 2.1 本机访问 http://localhost:18083 或 http://127.0.0.1:18083 2.2 局域网访问 在网卡上查看你局域网IP http://局域网IP:18083/ 登录页:2.3 登录 默认,用户名:ad…

电工电子学复习总结

电路和电路元件 晶体管晶体管简化的小信号模型\[r_{\mathrm{be}}=r_{\mathrm{b}}+(\beta+1) \frac{26}{\{I_{\mathrm{E}}\}_{\mathrm{mA}}} \]其中,\(r_{\mathrm{b}}\)为基区电阻。当\(I_{E} < 5 \text{mA}\),\(r_{\mathrm{b}}=200 \Omega\)。 电路分析基础 电路定律 基尔…

EXQX-5.0.26服务Linux上安装使用

前言全局说明一、说明二、 2.1 文件名:2.2 文件名:三、 3.1 文件名:3.2 文件名:四、 4.1 文件名:4.2 文件名:免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。图片尺寸红色文字:红色文字 浅红色文字:浅红色文字 深红色文字:深红色文字 浅…

一文了解自定义表单系统开源的多个优势

如果想了解自定义表单系统开源的优势特点,可以从本篇文章的介绍中得到想要的答案。降本、提质、增效,是当前很多企业都想实现的目的。什么样的软件可以助力企业创造价值?低代码技术平台是近些年得到了很多客户喜爱的平台产品,因为它能帮助大家减少编程代码的撰写,能轻松助…

软件测试策略

互联网产品的测试策略: 重量级API测试,轻量级GUI测试,轻量级单元测试 以中间层的 API 测试为中点做全面测试 轻量级的 GUI 测试:只覆盖最核心直接影响主营业务的 E2E 场景,利用探索式测试思维,以人工测试的方式发现尽可能多的潜在问题 单元测试:只对那些相对稳定且核心的…

EXQX-5.0.26服务Windows上安装使用

前言全局说明一、说明 在 Windows 系统中建议仅将 EMQX 用于开发测试,推荐使用 Docker 安装。二、官方介绍 https://docs.emqx.com/zh/emqx/v5.0/deploy/install-windows.html三、解压、安装、启动 3.1解压 下载 emqx-5.0.26-windows-amd64.zip,并解压缩。 https://www.emqx.…

JDK的环境配置(超详细安装教程)_jdk环境配置

jdk17下载与安装教程,jdk17下载安装教程,安装jdk17并配置环境变量,jdk17安装教程详细,jdk17安装教程及环境变量配置本文讲解的是jdk17下载与安装教程,jdk17安装教程及环境变量配置,jdk17下载安装教程。JDK17 发布,与之前 LTS 版本的 JDK 8 和 JDK 11 相比,JDK17 的性能提升尤…

Could not resolve org.jetbrains.intellij.plugins:gradle-intellij-plugin

构建 idea 插件报错: A problem occurred configuring root project cola-tools. > Could not resolve all files for configuration :classpath.> Could not resolve org.jetbrains.intellij.plugins:gradle-intellij-plugin:1.16.1.Required by:project : > org.je…

dense并行训练1-流水线并行

并行训练-流水线 简述 并行训练主要有三种策略:数据并行训练加速比最高,但要求每个设备上都备份一份模型,显存占用比较高,但缺点是通信量大。 张量并行,通信量比较高,适合在机器内做模型并行。 流水线并行,训练设备容易出现空闲状态,加速效率没有DP高;但能减少通信边界…

【Creo】关于Creo一换网络就报错许可证丢失问题解决方案

依照我的个人理解,Creo只要一更换网络,则其许可证里面的网卡参数和现在的网络就对不上了,所以就会出现报错,并且有可能是报错代码(-9),提示许可证激活有问题。我的解决方案如下:1、找到之前安装的时候生成许可证时候用的文件:FillLicense.bat,右键管理员身份运行 这…

CREO 沟槽加工刀路编程

直接参考这个视频:creo沟槽加工_哔哩哔哩_bilibili 不管是内部沟槽还是外部沟槽都可以用这个视频提供的方法编程。 用轮廓铣削的方法编程。一定要选择 切削-进入-延宕 切削-退出-延宕,这两个参数分别选择引入、引出。同时记得填写引导半径和进刀角,出刀角!

机械臂 - URDF建模

机器人建模文件样例: 6轴机器人建模<?xml version="1.0"?> <robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="test"><xacro:property name="length" value="0.6"/><xacro:property name…

关闭Windows中每天都会自启的Adobe更新程序

该方法主要适用于电脑上没安装XXX安全卫士、xx电脑管家的用户。装有这些软件的用户,估计不会碰到这个问题。如果还是碰到了,找到开机优化选项,在界面上方的工具栏上找到计划任务,点击进去后找到Adobe相关的禁用就行。 下面是具体方法: 1.打开控制面板->系统和安全,找到…

WPF中3D控件的使用

wpf使用了Directx,所有才能够进行3D编程。 比较方便的是,3D模型也是声明式的,就像普通控件一样。 由于3D控件也是声明式的,所以还可以利用binding改变其属性控件Viewport3D 这是一个3D视口,所有的3D控件都要放在这里面。 3D空间的基本元素是 相机、 光源、 对象。<!--空…