深度⏱ ~4 min
里程碑
⭐ 为何重要

Fang 等提出鲁棒高效的 grasp perception(spatial + temporal domain),是 GraspNet 谱系的工业级延伸。它成为 grasping 部署的事实工具之一,启发了后续 end-to-end 抓取工作。

数据集GraspNet-1Billion
上真机
实时
输入模态vision
📍 演进位置
建立在
催生(暂无记录的后续)

论文: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 的"单次前向出稠密抓取"范式,分三阶段:📎

  • MLP 先输出 objectness mask + graspable probability heatmap(每个曲面点有多可抓)。
  • Graspable FPS:按可抓性做 farthest-point sampling,采 $M=1024$ 个 seed point。比均匀采样更集中在可抓区域。
  • 每个 seed 经 Graspable PVS(Perspective View Selection)在 300 个候选视角里挑最可抓的。再展开 12 in-plane rotation × 4 approach depth × 4 width 的候选。
  • Cylinder Grouping 在 seed 周围圆柱邻域内汇聚特征。回归出 grasp point / view / in-plane rotation / approach depth / width 五项参数。同时给每个 grasp 一个 $C$ 维特征嵌入(供时序跟踪用)。

两个额外能力来自"把整场景当输入":

(i) 稳定分数——预测夹爪平面到物体质心(COM)的归一化垂直距离。距离越小、重力矩越平衡、抗扰动越强。

(ii) 隐式碰撞检测——若 grasp 周围没有夹爪预成形空间,分数直接置零,省掉显式碰撞检查。📎

(精确网络层数、通道数论文未给死,标 [未确认]。)[未确认]

时序跟踪(grasp correspondence,核心创新)——不是多帧点云融合

关键澄清:AnyGrasp 的时序机制不是"把多帧点云拼成世界坐标的一张大地图"。

它的做法是在抓取层面做对应跟踪

  • 给每个检测到的抓取算一个特征嵌入(embedding,即上面 Cylinder Grouping 输出的 $C$ 维向量)。
  • 跨帧的两个抓取,用 cosine similarity 衡量它们是不是"同一个抓取"。
  • 训练用 supervised contrastive 信号:在物体坐标系下距离越近的抓取对,cosine similarity 应该越高。离得远的应该越低。
  • 推理时,靠这种相似度把上一帧选中的抓取和当前帧的抓取配对。让被选中的抓取在相机移动/物体运动时被持续识别、平滑跟随。

效果是输出"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 配对,实现动态跟踪。📎

真机结果(论文正文 + 摘要)

  • 清筐任务(bin clearing):93.3% attempt-centric 成功率,Hardware / Snack / Ragdoll / Toy / Household 五类共 300+ 未见物体,completion rate 99.8%+,论文称"on par with human subjects under controlled conditions",对比 DexNet 4.0 显著领先。
  • 单臂吞吐:900+ mean-picks-per-hour(末端 1 m/s、Robotiq 夹爪),是前 SOTA 双臂 300 MPPH 的 (人类最大速度约 1,000-1,200 MPPH)。
  • 动态抓取:水池里追捕机器鱼(8 条/轮 × 5 轮),平均成功率 75.5%——水中低摩擦 + 鱼体小 + 持续运动 + 水下点云噪声,是已发表 grasp 检测方法少有演示的场景。
  • 鲁棒性:对 Intel D435 的 ±5 mm 深度噪声鲁棒,归功于真机数据训练;输出 7-DoF、dense、temporally-smooth 的抓取。
  • 推理速度:100 ms / 帧📎

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 + Franka/UR 机械臂是事实标准 demo。
  • 人形 manipulation 前端:Unitree H1/G1 + AnyGrasp 出抓取姿态 → 运动规划/力控执行 → 灵巧手策略做后续精细动作(T14+T11 经典组合)。
  • 家庭服务机器人:部分国产服务机器人用 AnyGrasp 做日常抓取。
  • 教学/科研 baseline:抓取相关论文默认报"AnyGrasp 作为基线"。🌐

局限

  1. 核心权重闭源:SDK 免费但模型权重不公开,学术上不能 fine-tune,只能当黑盒。📎 要改抓取模型仍回 GraspNet baseline 或 DexGraspNet。
  2. 只支持 parallel-jaw:灵巧手抓取要换 DexGraspNet。[未确认]
  3. sim-real gap 未根除:透明物、柔性物、金属反光物上抓取成功率明显下降,因为点云本身质量差。📎[未确认]
  4. 不支持生成式多模态分布:仍输出 top-N 排序候选(判别式),不输出抓取 SE(3) 概率分布。[未确认]
  5. 抓取对应跟踪依赖合理帧间运动:剧烈视角突变或严重遮挡时,跨帧配对可能失败,需重检测。[未确认]

研究者视角

图谱定位:AnyGrasp 是 GraspNet-1Billion 学术线(2020)的工业化延续节点,T14 抓取线索的"基础设施化"转折,发表在 IEEE T-RO(期刊,非会议)📎

它把抓取从"每个项目重训一次"变成"调一个 API"——和 OpenX/GR00T 之于 VLA 类似,是抓取的基础设施化。

"抓取即基础设施"这个范式,是它最大的遗产。

继承与催生

  • 建立在:GraspNet-1Billion(同团队 2020, CVPR,数据 + analytic 评估协议)、GSNet / Grasp Proposal Networks 系列的 MLP 抓取打分范式、supervised contrastive learning、force-closure 经典理论。📎
  • 同期/互补
  • SE(3)-DiffusionFields [2022]——生成式抓取,互补。🌐
  • Diffusion-EDMF [2023]——diffusion + GraspNet 数据。
  • DexGraspNet [Wang 2023]——灵巧手版本,同团队。
  • FoundationPose [Wen 2023]——6-DoF 位姿 + 抓取联动。

副产品·抓取对应跟踪范式:spatial+temporal 鲁棒让 AnyGrasp 能装在机械臂末端(眼在手上)或人形胸前相机上,是 loco-manipulation 抓取前端的默认选择。

这个"在抓取层面做跨帧对应"的思路(而非拼点云地图)被后续多个动态抓取工作继承。📎[未确认]

Open problems

  1. 生成式分布:AnyGrasp 仍是判别式 top-N。多对称解场景(圆柱体无数等价抓取角)下,生成式 SE(3) 分布更强。如何把判别式基础模型和生成式分布结合,开放。[未确认]
  2. 闭环抓取:AnyGrasp 单次决策 + 跟踪,但抓取过程中接触变化的在线力控修正在它之外。端到端闭环抓取仍开放。[未确认]
  3. 跨末端执行器:只覆盖 parallel-jaw。灵巧手、吸盘、软手爪的统一抓取基础模型,尚未出现。[未确认]

常见误区

"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)才更强。

检查点

Q1

老办法(单帧抓取)在真机上相机一动,抓取候选就抖得很厉害。AnyGrasp 靠什么核心新意让移动相机下抓取候选稳下来?提示:它不是"拼点云地图",而是"在抓取层做跨帧对应"。

💡 参考答案

  • AnyGrasp 不只看当前一帧,而是把过去几帧的点云都搬进同一张世界坐标地图里拼起来(多帧融合/sliding window)。
  • 相机移动时新帧不断拼进来,视角互补,地图越来越完整,所以抓取候选越来越稳。
  • 效果是:相机移动时同一物体给出的最佳抓取点几乎不动(抖动压到很小)。
Q2

AnyGrasp 把抓取做成了"基础模型"。用"地图导航之于找路"或自己举的类比,用日常语言解释:为什么这件事对工业部署重要?

💡 参考答案

  • 以前每换一批物体/场景,就得自己重新训一个抓取模型,成本高、门槛高。
  • 基础模型意味着:不用每场景重训,调一下接口就有抓取候选,像打开导航就有路线。
  • 对工业部署的意义:省掉每个项目重训抓取模型的成本,让抓取成为即插即用的基础设施(物流拣选、人形抓取前端等可直接接)。
Q3

AnyGrasp 的时序机制叫 "grasp correspondence"。它用什么度量判断"上一帧的抓取 A 和这一帧的抓取 B 是不是同一个"?训练时用什么信号监督这个度量?

💡 参考答案

  • 三件事:一个'可抓性分数'(这里抓多稳)、一个'从哪个方向靠近'(夹爪朝向)、一个'夹爪张多宽'。
  • 合起来描述一个完整的抓取方案:去哪抓、以什么姿态抓、夹爪开多大。
  • 即一个可执行的夹爪位姿加一个质量分数,下游运动规划器照着执行。
Q4

AnyGrasp 把物体 center-of-mass 的感知加进了学习。从"夹在重心附近 vs 夹在边缘"的角度推断:为什么这对抓取稳定性有帮助?

💡 参考答案

  • AnyGrasp 跨帧追踪'同一个抓取':给每个抓取算一个特征向量,跨帧的两个抓取特征越接近,就越算'同一个',让上一帧认准的抓取在这一帧接着用,多帧信息就这样帮当前帧决策。
  • 它不是把多帧点云拼成世界地图——这是常见误读。跟踪发生在'抓取层'(用相似度配对),不在'点云层'。
  • 效果:相机移动时被选中的抓取被持续认出来,位姿平滑地跟着走,不再乱跳。
Q5

AnyGrasp 的相机看到透明玻璃杯、金属反光件时,抓取成功率会下降。从"它的输入是什么、这个输入在这类物体上会出什么问题"推断原因。

💡 参考答案

  • AnyGrasp 的输入是点云(由深度相机测距反推得到的三维点)。
  • 透明物(玻璃)会让深度相机穿透测不准,反光物(金属)会让光线镜面反射测不准——点云本身质量差、有洞或乱点。
  • 输入信号坏了,模型再好也判不准,所以成功率掉。这是输入端的限制,不是模型本身的错。

FAQ

Q1:AnyGrasp 发在哪?是 ICRA 吗?

不是。发在 IEEE Transactions on Robotics(T-RO)——期刊,不是会议。arXiv:2212.08333,DOI 10.1109/TRO.2023.3281153。🌐

Q2:AnyGrasp 能免费用吗?

SDK 和推理接口免费,需申请学术 license(官方邮箱)。🌐 商用要商业 license。核心模型权重闭源。

Q3:AnyGrasp 出的抓取姿态能直接执行吗?

不能直接执行。它输出的是夹爪位姿(位置 + 旋转 + 宽度 + 分数),还要再接逆运动学(IK)和运动规划(MoveIt / cuRobo)才能让机械臂动起来。📎[未确认]

Q4:为什么我的 AnyGrasp 在透明物体上失败率高?

透明物和反光物的深度相机点云本身质量差(穿透、镜面反射),输入信号就坏。AnyGrasp 在坏点云上救不回来。📎[未确认] 解决方向:换主动双目/结构光相机,或多传感器融合。

Q5:AnyGrasp 和 GraspNet-1Billion 什么关系?

同一团队(SJTU MVIG)。GraspNet-1Billion(2020, CVPR)是学术基准 + baseline(RealSense Seen/Similar/Novel AP 仅 27.56/26.11/10.55);AnyGrasp(2023, T-RO)是其后续——升级骨干与监督、加 grasp 对应跟踪、做成可调用的抓取基础设施,真机清筐 300+ 未见物体达 93.3%。📎🌐

Q6:灵巧手能用 AnyGrasp 吗?

不能。AnyGrasp 只支持 parallel-jaw(平行夹爪)。灵巧手抓取要换同团队的 DexGraspNet。[未确认]