Q1:AnyGrasp 发在哪?是 ICRA 吗?
不是。发在 IEEE Transactions on Robotics(T-RO)——期刊,不是会议。arXiv:2212.08333,DOI 10.1109/TRO.2023.3281153。🌐
论文:Hao-Shu Fang, Chenxi Wang, Hongjie Fang, Minghao Gou, Jirong Liu, Hengxu Yan, Wenhai Liu, Yichen Xie, Cewu Lu. AnyGrasp: Robust and Efficient Grasp Perception in Spatial and Temporal Domains. IEEE Transactions on Robotics (T-RO), 2023, DOI: 10.1109/TRO.2023.3281153, 上海交通大学 MVIG / John Hopcroft Center. arXiv:2212.08333(arXiv 注释明言 "Paper accepted to T-RO")。🌐📎 · 项目页:graspnet.net/anygrasp.html · SDK:github.com/graspnet/anygrasp_sdk,核心权重闭源,提供免费学术 license 的 Python / ROS 接口。
给机械臂装一个"抓取导航"。
看到一团点云,它就吐出几十个"从这里抓最稳"的候选姿态。
AnyGrasp 之于抓取,就像地图导航之于找路。
不用每个新场景都重新认路,调一下就有答案。
要解决的问题:让机械臂抓陌生物体。
以前每换一批物体,就得重训一个抓取模型。
学术 benchmark 上成绩离工业能用还远。
相机一动,抓取候选就抖。📎
老办法的硬伤:单帧决策,且不跟踪。
相机拍一帧,模型出一批抓取候选。
相机一动,下一帧又出一批全新的候选。
和上一帧对不上号。
真机上相机在动、机械臂在挡。
抓取候选抖得厉害。
你刚选中一个抓取点,相机挪一下它就跳没了。📎
AnyGrasp 的转身:把抓取做成空间 + 时序统一的感知系统。
你给它点云,它吐稳定候选。
不用每场景重训,调一下就有。
关键在时序。
它能把上一帧和这一帧的抓取"对上号"。
同一个抓取在相机移动时平滑地跟下去。
不是每帧重新乱跳。
真机清筐(300+ 未见物体)成功率达 93.3%。
单臂 900+ picks/hour。
还能抓水里游动的机器鱼。📎
方法核心(大白话):分三件事。
第一件是"空间上看得准"。
对场景点云,用卷积骨干提特征。
再用 MLP 头预测每个候选点的抓取。
预测的是靠近方向、操作参数、分数。
监督特别密。
既有真实感知标签,也有解析标签。
还把物体质心(center-of-mass)的感知加进学习。
夹在重心附近才不容易掉,所以抓得更稳。
第二件是"时序上跟得住"——这是它最关键的新意。
注意:它不是把多帧点云拼成世界地图。
那是常见误读。
它做的是"抓取对应跟踪"(grasp correspondence)。
给每个检测到的抓取算一个特征向量。
跨帧的两个抓取,特征越接近,就越算"同一个"。
训练时用 supervised contrastive 信号。
物体坐标系下离得近的抓取,相似度应该更高。
这样相机移动时,"我要抓的把手"在每帧都被认成同一个。
位姿平滑地跟着走,不再乱跳。
上一帧的抓取就这样帮当前帧做决策。
靠的是抓取层面的对应,不是点云拼图。
第三件是"输出 7-DoF 抓取"。
每个候选给完整的位姿。
位置 3、旋转 3、宽度 1。
排序去重后输出最稳的几十个。
下游再接运动规划器去执行。📎[未确认]
为什么 grasp 对应跟踪是关键:单帧抓取对视角变化极敏感。
一帧看到的物体可能缺一角、有洞。
相机稍微一动,最佳抓取点能差好几厘米。
AnyGrasp 不去拼点云地图。
它直接在抓取层面做跟踪。
把跨帧的抓取用特征相似度配对。
这样即使相机在动、点云有噪声。
被选中的抓取也能被持续认出来。
位姿平滑地跟下去。
这是它能装到机械臂末端、人形胸前的原因。
甚至能去抓游动的鱼。📎[未确认]
你会看到:一行命令装好就能用,学术 license 免费。
物流仓库乱堆物体的自动拣选用它。
人形机器人日常抓取也用它当默认前端。
许多 manipulation 管线直接接它出姿态。
省掉自己训抓取模型。🌐
一句话类比:AnyGrasp 之于抓取,就像地图导航之于找路。
不用每个新地方都重新认路,打开就有路线。
而且导航里的"那个路口"会一路跟着你。
不会每秒重新算一条毫不相干的路线。
核心机制·空间感知 + 时序跟踪:卷积骨干 + MLP 头做空间抓取检测;grasp correspondence 做跨帧跟踪;dense supervision(真实 + 解析标签)+ 质心感知做监督。📎
空间感知(卷积骨干 + MLP 头,无 transformer):
点云先经 3D 卷积骨干逐点提特征(稠密卷积,非稀疏卷积、非 transformer)。模块直接沿用团队前作 GSNet 的"单次前向出稠密抓取"范式,分三阶段:📎
两个额外能力来自"把整场景当输入":
(i) 稳定分数——预测夹爪平面到物体质心(COM)的归一化垂直距离。距离越小、重力矩越平衡、抗扰动越强。
(ii) 隐式碰撞检测——若 grasp 周围没有夹爪预成形空间,分数直接置零,省掉显式碰撞检查。📎
(精确网络层数、通道数论文未给死,标 [未确认]。)[未确认]
时序跟踪(grasp correspondence,核心创新)——不是多帧点云融合:
关键澄清:AnyGrasp 的时序机制不是"把多帧点云拼成世界坐标的一张大地图"。
它的做法是在抓取层面做对应跟踪:
效果是输出"temporally-smooth"的抓取序列。动态场景(如抓游动的鱼)下也能跟住。📎
dense supervision(空间-时序域,坚持真机数据):不用仿真深度训练。
训练集 = GraspNet-1Billion + 团队自采 168 个新场景 / 104 个新物体。合计 268 场景、144 个真实物体。
每个场景用商业 3D 扫描仪获取网格、解析 antipodal 评分算稠密 grasp。再投影到 256 个视角的真机深度图。
除原 4 个 approach depth(1/2/3/4 cm)外加 0.5 cm 档以抓小物体。并额外标 stable score(COM 距离)和 grasp association label。
对照实验显示:在 GraspNet-1Billion 测试集上真机数据训练反而优于仿真数据训练(即便仿真 + 高斯噪声增强)。
测试集越难(novel scene)差距越大。这直接反驳"抓取必须靠海量仿真数据"的惯例。
论文明言对 large depth-sensing noise(Intel D435 ±5 mm 偏差)鲁棒。📎
抓取候选生成与排序:对每个曲面点预测方向、宽度、分数。
按分数排序后做 NMS(Non-Maximum Suppression)去重。去掉彼此太像的重复项。
最后输出 top-N 供下游运动规划器选择。输出是完整的 7-DoF grasp(位置 3 + 旋转 3 + 宽度 1)。📎[未确认]
常见误区(先抛一个,完整版见末尾):"AnyGrasp 既然是通用抓取,那我自己的特殊物体也能直接抓?"
——看情况。它对训练分布内的物体(常见日用品、工业件)泛化好。真机清筐 300+ 未见物体成功率达 93.3%。
但透明物、强反光物、柔性物上成功率仍明显下降,因为点云本身质量就差。📎[未确认]
正确理解:它是"抓取即基础设施",不是"万能抓取器"。
SE(3) 抓取表示:每个候选是 $(R, t, w)$——$R \in SO(3)$ 是 3×3 旋转(夹爪朝向)、$t \in \mathbb{R}^3$ 是夹爪中心位置、$w$ 是夹爪宽度。
这是 6-DoF 抓取(位置 3 + 旋转 3)再加 1-DoF 宽度,共 7-DoF,继承自 GraspNet-1Billion 协议。论文强调输出 7-DoF, dense, temporally-smooth 的抓取。📎
Grasp correspondence 的训练目标(supervised contrastive):
核心思想是把抓取嵌入一个特征空间,使"在物体坐标系下相近的抓取"有高 cosine similarity。
形式化地(精确 loss 权重论文正文给死):对一对抓取 $g_i, g_j$,其在物体坐标系下的 SE(3) 几何距离 $d(g_i, g_j)$ 越小,它们的嵌入 $e_i, e_j$ 的 cosine similarity $\cos(e_i, e_j)$ 应越高;用 supervised contrastive 损失把这种对应关系学进嵌入空间。
距离度量(论文公式 4-5,$w_{\max}=0.01$ m,$\gamma=0.1$):
$$d(G_1,G_2) = \frac{\Delta t}{w_{\max}} + \gamma\frac{\Delta R}{\pi},\quad \Delta R=\arccos\frac{\text{trace}(R_1^\top R_2)-1}{2}$$
其中 $\Delta t$ 是平移差、$\Delta R$ 是旋转差(弧度)。关联标签从 GraspNet-1Billion 每个 scene 的 256 个相邻视角对自动生成——相邻视角的细微差异模拟物体微动。
推理时,跨帧抓取靠 cosine similarity 配对,实现动态跟踪。📎
真机结果(论文正文 + 摘要):
GraspNet benchmark 上的 AP:
AnyGrasp 在 GraspNet-1Billion 上 novel 物体 AP 大致在 ~30% 量级(比 CVPR 2020 baseline 的 ~10% 显著提升)。精确各摩擦系数下的 AP 需查 T-RO 正文结果表,此处标 [未确认]。[未确认]
评估协议(继承 GraspNet):给一帧 RGB-D + 对齐点云,方法输出 top-N(N ∈ {1,5,10,25,50,100})按分数排序。
benchmark 用 analytic force-closure(解析力封闭)评估每个候选能否成功——继承自 GraspNet-1Billion(注意:不是 Bullet 物理仿真)。
metric:AP(不同摩擦系数下分别报)、Coverage。
在 Seen/Similar/Novel 三类物体分别评,×三种堆叠模式(single/packed/pile)。🌐
判别式 vs 生成式:AnyGrasp 输出 top-N 排序候选(判别式),不输出抓取的 SE(3) 概率分布。
SE(3)-DiffusionFields [2022, arXiv:2209.03855]、Diffusion-EDMF [2023] 走生成式路线,在多对称解场景(如圆柱体有无数等价抓取角)更强。🌐
AnyGrasp 和它们互补,不是替代。
工业应用(2024–2026):
局限:
图谱定位:AnyGrasp 是 GraspNet-1Billion 学术线(2020)的工业化延续节点,T14 抓取线索的"基础设施化"转折,发表在 IEEE T-RO(期刊,非会议)。📎
它把抓取从"每个项目重训一次"变成"调一个 API"——和 OpenX/GR00T 之于 VLA 类似,是抓取的基础设施化。
"抓取即基础设施"这个范式,是它最大的遗产。
继承与催生:
副产品·抓取对应跟踪范式:spatial+temporal 鲁棒让 AnyGrasp 能装在机械臂末端(眼在手上)或人形胸前相机上,是 loco-manipulation 抓取前端的默认选择。
这个"在抓取层面做跨帧对应"的思路(而非拼点云地图)被后续多个动态抓取工作继承。📎[未确认]
Open problems:
"AnyGrasp 是万能抓取器,什么都能抓" —— 错。它对训练分布内的常见物体泛化好(清筐 300+ 未见物 93.3%),但透明物、强反光物、柔性物上成功率仍明显下降。📎[未确认]
它是"抓取即基础设施",不是万能抓取器,点云质量差时它也救不回来。
"AnyGrasp 和 GraspNet 是两个无关的东西" —— 错。AnyGrasp 是 GraspNet 团队(SJTU MVIG)同一条线的延续,骨干/监督升级 + grasp 对应跟踪 + 同一 analytic 评估协议。📎
GraspNet 2020(CVPR)是学术基准,AnyGrasp 2023(T-RO)是其工业化/通用化版本。
"AnyGrasp 发在 ICRA 2023" —— 错。AnyGrasp 发在 IEEE Transactions on Robotics(T-RO,期刊),不是 ICRA 会议。arXiv 注释明言 "Paper accepted to T-RO"。🌐
它是期刊长文,不是会议短文。
"AnyGrasp 靠多帧点云拼世界地图来稳定抓取" —— 错(常见误读)。它的时序机制是 grasp correspondence(抓取对应跟踪):给每个抓取算嵌入,跨帧用 cosine similarity 配对,让同一抓取被持续识别。不是把多帧点云 fuse 成一张世界地图。📎
跟踪发生在"抓取层",不在"点云层"。
"AnyGrasp 用了 transformer 做上下文聚合" —— 错。它的抓取预测用卷积骨干 + MLP 头(GSNet/Grasp Proposal 系列),不含 transformer。📎[未确认]
时序能力来自 grasp 对应跟踪 + supervised contrastive,不靠 attention。
"AnyGrasp 权重开源,可以自己 fine-tune" —— 错。SDK 和推理接口免费,但核心权重闭源,学术上只能当黑盒用。🌐 要自己改抓取模型,回 GraspNet baseline 或 DexGraspNet。
"AnyGrasp 输出的是抓取的概率分布" —— 错。它输出 top-N 排序候选(判别式打分),不是 SE(3) 概率分布。[未确认] 多对称解场景要生成式分布(SE(3)-DiffusionFields / Diffusion-EDMF)才更强。
老办法(单帧抓取)在真机上相机一动,抓取候选就抖得很厉害。AnyGrasp 靠什么核心新意让移动相机下抓取候选稳下来?提示:它不是"拼点云地图",而是"在抓取层做跨帧对应"。
💡 参考答案
AnyGrasp 把抓取做成了"基础模型"。用"地图导航之于找路"或自己举的类比,用日常语言解释:为什么这件事对工业部署重要?
💡 参考答案
AnyGrasp 的时序机制叫 "grasp correspondence"。它用什么度量判断"上一帧的抓取 A 和这一帧的抓取 B 是不是同一个"?训练时用什么信号监督这个度量?
💡 参考答案
AnyGrasp 把物体 center-of-mass 的感知加进了学习。从"夹在重心附近 vs 夹在边缘"的角度推断:为什么这对抓取稳定性有帮助?
💡 参考答案
AnyGrasp 的相机看到透明玻璃杯、金属反光件时,抓取成功率会下降。从"它的输入是什么、这个输入在这类物体上会出什么问题"推断原因。
💡 参考答案
不是。发在 IEEE Transactions on Robotics(T-RO)——期刊,不是会议。arXiv:2212.08333,DOI 10.1109/TRO.2023.3281153。🌐
SDK 和推理接口免费,需申请学术 license(官方邮箱)。🌐 商用要商业 license。核心模型权重闭源。
不能直接执行。它输出的是夹爪位姿(位置 + 旋转 + 宽度 + 分数),还要再接逆运动学(IK)和运动规划(MoveIt / cuRobo)才能让机械臂动起来。📎[未确认]
透明物和反光物的深度相机点云本身质量差(穿透、镜面反射),输入信号就坏。AnyGrasp 在坏点云上救不回来。📎[未确认] 解决方向:换主动双目/结构光相机,或多传感器融合。
不能。AnyGrasp 只支持 parallel-jaw(平行夹爪)。灵巧手抓取要换同团队的 DexGraspNet。[未确认]