跳转至

GraspGen:用"扩散生成 + 自我纠错判别器"把 6-DOF 抓取做成可靠、跨夹爪、能上真机的模块

📅 2025-07(ICRA 2026) · 🏛 NVIDIA Seattle Robotics Lab(Dieter Fox 组) · 🏷 6-DOF 抓取 / 扩散生成 📌 一句话省流:抓取一直"不 turnkey"、换个夹爪/换到真实场景就掉链子。GraspGen 用扩散 Transformer 生成一堆候选抓取姿态 + 一个高效判别器打分过滤;关键创新是 On-Generator 训练——判别器不是只看离线数据,而是看生成器自己产出的抓取(含它自己的错误)来学打分,专门识别"生成器爱犯的假阳性"。仿真到真机、三种夹爪都能打,且代码/模型/5300万抓取数据全开源。 ≈ 打比方:一个"出题人(扩散生成器)"狂出候选抓法,配一个"专门盯出题人常犯错的判卷人(判别器)"——判卷人专挑生成器爱漏的坑,所以打分特别准。 🎬 演示/资源:项目页 graspgen.github.io · 代码 github.com/NVlabs/GraspGen

🧰 对我们(可用性速判)

  • 对我们的用处即插即用的抓取模块——接触密集操作/触觉策略往往需要一个可靠的"先抓住"底座,GraspGen 正好补这块,且object-centric(靠 SAM2 分割出物体点云,不建整场景),好接进 pipeline。也是理解 NVIDIA SRL(Dieter Fox) 抓取血统的代表作(接 Contact-GraspNet→M2T2→GraspGen)。
  • 真实性(前期):高。ICRA 2026 + 代码/模型/53M 数据全开源 + 真机(UR10)验证 + 消融充分 → 证据 A。
  • 训练/微调资源:作者已放预训练权重,多数人可不训直接用;要自训需仿真生成抓取标签(Isaac)。推理只需 10 步去噪(抓取维度低,不用像图像扩散跑上百步),快。
  • 能借多少(开源):✅ 代码 + ✅ 模型权重(3 种夹爪:Franka/Robotiq-2F-140/吸盘) + ✅ 5300万抓取数据集。几乎全可借
  • 可用性结论直接可用。真机栈也给全了(cuRobo 运动规划 + NVBlox 避障 + SAM2 分割 + FoundationStereo 深度)。
  • 📖 详读(按需):暂未做(本卡已覆盖全文要点)。

亮点到底在哪(读全文后定位)

  • 亮点=On-Generator 训练判别器(核心创新, Algorithm 1):先用扩散生成器在训练集上跑推理→拿它自己生成的抓取去仿真打标签→用这批"生成器分布"的数据训判别器。因为生成器会产出离线数据里没有的失败模式(如轻微穿模、离物体过远的离群点),只用离线数据训的判别器抓不到这些假阳性。消融:On-Generator 比只用离线数据 AUC +6.5%。[1]
  • 架构:扩散在 SE(3)=SO(3)×R³(DDPM,10 步);PointTransformerV3(PTv3) 当点云编码器(比 PointNet++ 平移误差 −5.3mm、recall +4%);判别器复用生成器的冻结编码器 + 一个 MLP 头(比传统判别器 AUC +6.7%、省 21× 显存)。平移用数据统计算的 κ 归一化;平移/旋转分两个独立去噪调度更好。[1]
  • object-centric:靠 SAM2 等分割拿单物体点云,绕开"建整场景/多视融合"的数据难题;训练时 partial+complete 点云 50-50 混合 → 两种观测都能用。[1]
  • 可靠性动机:论文指出 SOTA 抓取在 FetchBench 只有 <20%、OK-Robot 因抓取失败错误率 8%——强调抓取要成为高层推理系统的可靠子程序。

🧬 与其他工作的关系

  • 承接 Urain et al.(SE3-Diffusion, 把抓取建成 SE(3) 扩散) + Weng et al.(DexDiffuser, 加判别器);改进 两者的生成(GS)与打分(GA)。血统:NVIDIA SRL 的 Contact-GraspNet(Sundermeyer)→M2T2(Yuan)→GraspGen。见 NVIDIA SRL
  • 区别:contact-point 架构(Contact-GraspNet/M2T2)只适合对称平行夹爪;GraspGen 扩散式跨夹爪(含自适应 Robotiq、吸盘),打分更准。
  • 后续 GraspGen-X(arXiv 2606.00998, 2026):跨本体版——用 swept-volume 编码夹爪 + 程序化生成夹爪 + 20 亿抓取,零样本泛化到没见过的新夹爪。本地已存 PDF papers/GraspGen-X-CrossEmbodiment-2606.00998.pdf(未精读)。
  • 依赖的工具链本身也是 NVIDIA 系:cuRobo(运动规划)、FoundationStereo/FoundationPose(感知)、SAM2。

关键数字(全文核实)

  • 数据:发布 5300万+ 抓取(Objaverse 36,366 网格,为对齐 ACRONYM 取 8,515 子集;每物体 2K 抓取);3 夹爪各 ~17M;标签靠 Isaac 仿真"摇晃"判稳。[1]
  • 单物体(Franka-ACRONYM,815 物体×2K=160万次):AUC 0.947,比基线 +48% AUC;带判别器的方法(GraspGen/DexDiffuser/M2T2)全面胜纯生成的 SE3-Diff。[Fig.3]
  • 杂乱场景(FetchBench,100 场景×60 任务=6k):SOTA,比 Contact-GraspNet +16.9%、比 M2T2 +7.8%(oracle 也仅 65% 抓取/49.2% 任务——基准很难)。[Fig.4]
  • 跨夹爪:比 M2T2 —— Franka +37%、Robotiq +44%、真机 +57%。[§4.4]
  • 真机(UR10+RealSense D435,纯仿真训→真机):总成功率 81.3%,vs M2T2 52.6%、AnyGrasp 63.7%(即 +28% / +17.6%);孤立物体 90.5%,货架最难 71.4%。[Table 1]
  • 消融:On-Generator +6.5% AUC;判别器 +6.7% AUC & 省 21× 显存;PTv3 vs PointNet++ −5.3mm/+4% recall。[1]

🔎 证据与可信度

  • 论文arXiv 2507.13097(NVIDIA SRL,ICRA 2026)✅ 全文已读。
  • 代码/模型/数据github.com/NVlabs/GraspGen全开源(含 53M 数据集)。
  • 第三方:ICRA 发表(同行评审);真机跨环境验证。
  • 证据等级:A(论文+顶会+开源代码+开源数据+开源权重+真机+消融充分)→ 权重:高

🧪 复现/采用成本("拿来用"为主)

  • 直接用:下开源权重(选对夹爪)+ 装 cuRobo/NVBlox/SAM2/FoundationStereo 那套感知-规划栈即可上真机;推理 10 步去噪、单卡可跑(真机 demo 用 Jetson 跑 cuRobo)。
  • 换自家夹爪:非 3 种已覆盖的,需按其 pipeline 用 Isaac 仿真生成抓取标签重训(或看 GraspGen-X 的跨本体零样本)。
  • 硬件:机械臂 + RGB-D 相机(如 D435)。
  • 侧证判价值:① 全开源(代码/权重/53M 数据) ② ICRA + 大组(SRL) ③ 真机 81.3% ④ 消融清楚 ⑤ 工具链齐全。

🧱 局限(正文)

  • 货架/篮筐等强约束场景更难:cuRobo 会因运动学/碰撞过滤掉大量抓取,成功率下降(shelf 71.4%)。
  • 依赖外部分割/深度:object-centric 靠 SAM2 分割 + FoundationStereo 深度,整条感知栈要搭好。
  • 平行夹爪/吸盘(非灵巧多指手;多指看 GraspGen-X 之外的 DexDiffuser 一类)。
  • FetchBench 显示:抓取本身对了,可达性/无碰撞退出路径仍是瓶颈——需更高层推理(超出本文)。

💡 我的批注 / 判断

  • On-Generator 训练是可迁移的好 idea:本质是"让判别器针对生成器自己的错误分布来学"——这套"生成器产样本→仿真打标签→训判别器纠错"的闭环,思路上和 卡片-Voyager/追踪-NVIDIA-ASPIRE 的"自我验证"同源(都在对生成结果做闭环校验),值得记。
  • 对我们纵线的接法:若做触觉×VLA 的接触密集操作,GraspGen 可当"先抓稳"的前置模块,触觉/力控接在抓取之后做精细调整;且它 object-centric、开源,实验起来门槛低。
  • SRL vs GEAR 的风格差异:SRL(Dieter Fox) 更"工程可用、模块化、上真机"(GraspGen/cuRobo/FoundationPose 都是能直接用的组件);GEAR 更"基础模型/agentic 愿景"。做落地优先看 SRL 这条线。
  • ⚠️ GraspGen-X(20亿抓取/跨本体)已存 PDF 未读,若要做"任意夹爪零样本抓取"再深读它。

来源编号