返回报告库

Robotics / NVIDIA

Grasp-MPC让机械臂边看边修正,在杂乱环境中抓住新物体

官方标题: Grasp-MPC: Closed-Loop Visual Grasping via Value-Guided Model Predictive Control
作者: Jun Yamada、Adithyavairavan Murali、Ajay Mandlekar、Clemens Eppner、Ingmar Posner、Balakumar Sundaralingam
发表状态: ICRA 2026 论文 · arXiv:2509.06201

一张抓取图只能告诉机器人“先往哪里去”;真正的桌面却会遮挡、碰撞,物体也可能被推走。Grasp-MPC 的关键变化,是让机械臂在最后一段路上反复观察、短暂试走、重新选择。

一次看准还不够:开环抓取错过后不会回头

先看图中的红色旧路线:相机只在出发前预测一次抓取位姿,机械臂随后照着走。只要预测偏了一点,或物体在接触中挪动,夹爪就会追向已经过期的位置。论文把这两件事列为杂乱环境中的主要失败来源。(论文摘要、§I)

Grasp-MPC 没有丢掉成熟的抓取预测器和运动规划器;它让这些模块先把夹爪送到“预抓取位姿”,再由闭环控制接管最后一段。也就是说,这篇论文解决的是“从预抓取到抓住”的执行问题,不是从任意初始状态包办整条取物流程。(论文 Fig. 2、§IV-D、附录 §D)

先看过足够多的对与错:210 万条轨迹铺出经验地图

训练材料来自 8,515 个 Objaverse 物体,共 2,105,296 条合成轨迹、1.15 亿个状态;每条轨迹平均 55 步,其中 70.2% 被标为成功。程序化运动规划器从带随机扰动的预抓取位姿走向可行或不可行的抓取位姿,因此模型同时看到“越走越像成功”和“走到最后仍不该抓”的例子。(论文 §IV-A)

这里的“成功”不是在物理仿真里真的夹起了物体。作者为了加速采集,用目标抓取位姿是否可行、轨迹是否到达来打标签,并明确说没有逐条做物理验证。这让数据规模变大,却也留下了接触、滑落和摩擦没有被训练标签完整覆盖的边界。(论文 §IV-A、§VII)

视觉价值函数把眼前状态变成“还差多远”

机器人真正要问的不是“夹爪离某个预测点还有几厘米”,而是“从眼前这个位置继续走,未来还会积累多少失败成本?”价值函数 V(xt)V(x_t) 接收目标物体的分割点云,以及夹爪相对物体中心的位姿;输出越低,表示这类状态在训练轨迹中越接近成功抓取。(论文 §IV-B、Fig. 3)

它用一步一步的自我校正来学习:

yt=ct+γVϕ(xt+1)y_t=c_t+\gamma V_{\phi'}(x_{t+1})

具体看一个玩具例子:眼前这一步的成本 ct=1c_t=1,下一状态的估计成本是 3,论文取 γ=0.99\gamma=0.99,那么本步学习目标 yt=1+0.99×3=3.97y_t=1+0.99\times3=3.97。输入是当前状态 xtx_t、当步标签 ctc_t 和下一状态 xt+1x_{t+1};相加得到“现在的麻烦 + 稍微打折后的未来麻烦”。如果下一状态更有希望,Vϕ(xt+1)V_{\phi'}(x_{t+1}) 下降,当前状态的学习目标也会下降。网络再把自己的预测 Vϕ(xt)V_\phi(x_t) 拉向这个目标。(论文 Eqs. 2–4)

每次只向前试走一小段:抓得准、避得开、动作稳

到了执行时,控制器同时回答三个问题:哪条候选短路线更可能抓住?会不会撞到环境或自己?关节动作是否平滑、是否越界?论文把它们合成一个总成本:

CGrasp-MPC=Ccurobo+ωCgraspC_{\text{Grasp-MPC}}=C_{\text{curobo}}+\omega C_{\text{grasp}}

CgraspC_{\text{grasp}} 是价值函数沿预测短路线给出的抓取成本;CcuroboC_{\text{curobo}} 汇总世界碰撞、自碰撞、关节边界和平滑性成本;ω=1000\omega=1000 调整两部分的相对分量。MPC 从 400 条候选控制序列中比较未来 30 步,选总成本较低的动作,但只执行眼前一步。若抓取成本上升,候选路线会更不受欢迎;若避碰成本上升,即使它朝目标更直接,也可能被淘汰。(论文 Eqs. 5–6、附录 §G)

物体挪了,下一轮观察就改写路线

图中的环最重要:读取新点云与机械臂状态,采样短路线,用价值与安全成本评分,只执行第一步,然后重新看。旧目标不再是不可修改的命令;物体被推走后,新观察会让低成本方向移动,下一轮便能转向。(论文 §IV-C–D)

在真机扰动物体实验中,作者在机械臂到达预抓取位姿后再移动目标。Grasp-MPC 在 5 个物体、每个 6 次、共 30 次试验中成功率为 60%。这个实验没有开环对照组,因为开环方法按定义不会在执行中响应变化;因此它证明“系统能追改”,但不能给出相对提升幅度。(论文 §VI-C)

提升是真的,但边界也很具体

左图是 5,400 个 FetchBench 仿真案例中加入抓取位姿噪声后的成功率:Grasp-MPC 为 60.3%,开环 OSC 为 38.4%,差 21.9 个百分点。右图是真机,每个场景 30 次:空桌、杂乱桌、杂乱货架上,Grasp-MPC 分别为 86.7%、67.7%、70.0%,开环基线分别为 50.0%、43.3%、30.0%。复杂场景中的差距更大。(论文 Fig. 5、Fig. 8、§V–VI)

这些数字不能直接等同于完整“取物成功率”。仿真的抓取成功只要求从预抓取位姿出发后把物体抬高至少 1 cm,而且排除了到不了预抓取位姿的试验;真机则要求拿起物体并安全回到初始位置。真机只比较一个开环基线,其他闭环学习策略因缺少避碰机制没有上机。论文还只验证了抓取,没有验证其他操作任务。(论文 §V-A、§VI-A、§VII、附录 §D)

研究附录

一页证据账本

主题论文给出的证据读者应保留的边界
数据规模2,105,296 条轨迹;115M 状态;8,515 个物体;平均 55 步;70.2% 成功标签来自规划到达与抓取位姿可行性,未逐条物理仿真验证
仿真设置FetchBench;90 个场景 × 每场景 60 个问题 = 5,400;UR10 + Robotiq 2F-140“抓取成功”排除到不了预抓取位姿的试验
噪声鲁棒性±2 cm、±18°;OSC 38.4%,Grasp-MPC 60.3%衡量的是最后一段抓取执行
预测抓取位姿M2T2 输入下 OSC 63.6%,Grasp-MPC 67.2%使用面向 Franka 训练的公开 M2T2,并以 10 cm 偏移适配 Robotiq
真机场景空桌 50.0→86.7;杂乱桌 43.3→67.7;杂乱货架 30.0→70.0;总体 41.1→74.4每场景 30 次;只与 CuRobo-GraspAPI 开环基线比较
动态扰动5 个物体 × 6 次 = 30 次;Grasp-MPC 60%无开环数值对照;训练轨迹只覆盖离抓取约 15 cm 的运动
计算取舍单价值函数约 60 Hz;50 个 ensemble 约 17 Hz;成功率 60.3%→60.6%ensemble 只提升 0.3 个百分点,论文最终使用单模型

三个公式分别在回答什么

1. 怎样给轨迹中的每一步贴标签?

ct={0,qgoal,iqt,i5×103, i, 且 1feasible=11,其他情况c_t= \begin{cases} 0,& |q_{\text{goal},i}-q_{t,i}|\le 5\times10^{-3},\ \forall i,\ \text{且 }\mathbb{1}_{\text{feasible}}=1\\ 1,& \text{其他情况} \end{cases}

输入是当前各关节位置 qt,iq_{t,i}、目标关节位置 qgoal,iq_{\text{goal},i} 与抓取是否可行的标记 1feasible\mathbb{1}_{\text{feasible}}。只有所有关节都足够接近目标,并且该抓取可行时,成本才为 0;其余状态为 1。输出不是连续的抓取质量,而是一枚稀疏的“已经到达可行终点 / 还没有”标签。(论文 Eq. 1)

2. 怎样把稀疏终点标签传回较早的状态?

yt=ct+γVϕ(xt+1),(ϕ;xt,ct,xt+1)=(ytVϕ(xt))2y_t=c_t+\gamma V_{\phi'}(x_{t+1}),\qquad \ell(\phi;x_t,c_t,x_{t+1})=\left(y_t-V_\phi(x_t)\right)^2

xtx_t 是当前视觉与夹爪状态,ctc_t 是当步成本,Vϕ(xt+1)V_{\phi'}(x_{t+1}) 是缓慢更新的目标网络对下一状态的估计,γ=0.99\gamma=0.99 是未来成本的折扣。先得到学习目标 yty_t,再把当前预测与目标之差平方。平方让正负误差都变成惩罚,也让较大的误差受到更强惩罚。训练寻找让平均平方误差最低的参数 ϕ\phi。(论文 Eqs. 2–4)

3. MPC 怎样比较整段候选路线?

Cgrasp(xhH)=t=tt+HγttVθ(xt)C_{\text{grasp}}(x_{h\in H}) =\sum_{t'=t}^{t+H}\gamma^{t'-t}V_\theta(x_{t'})

一条候选路线会产生未来 HH 步状态 xt,,xt+Hx_{t'},\dots,x_{t+H}。价值函数给每个状态一个成本,折扣项 γtt\gamma^{t'-t} 让较近的预测影响更直接,求和得到整段路线的抓取成本。若沿途价值普遍降低,总和也降低;控制器会更偏爱这条路线。最终再与 CuRobo 的避碰、关节边界和平滑成本相加。(论文 Eqs. 5–6)

模型和控制器里有什么

价值网络用 PointNet++ 编码分割后的目标点云,用另一个 MLP 编码夹爪相对物体点云均值的 9 维位姿,两路特征拼接后输出非负价值。训练混用完整与局部点云,并加入高斯噪声;作者用单张 RTX 4090 训练 6 天。(论文 §IV-E、附录 §F)

控制器使用 CuRobo 中的 MPPI。它优化关节加速度,预测窗口为 30 步,每轮采样 400 个候选序列,并约束关节位置、速度、加速度、jerk、自碰撞和机器人—环境碰撞。论文假设底层逆动力学控制器能准确跟踪给出的关节目标;环境和物体动力学没有显式建模。(论文 §III、附录 §G)

完整流程的责任边界

  1. M2T2 从目标物体点云预测候选抓取位姿。
  2. 固定偏移得到预抓取位姿,IK 与运动规划剔除碰撞候选。
  3. CuRobo 运动规划器把机械臂送到预抓取位姿。
  4. Grasp-MPC 闭环控制从预抓取位姿走到抓取并闭合夹爪。
  5. 完整 FetchBench 还要规划并执行“把物体送到取回位姿”,这不属于 Grasp-MPC 的核心控制段。

即使给出真实抓取位姿,规划器也只在约 84% 的 5,400 个问题中到达预抓取位姿。抓住以后,也并非总能找到无碰撞的取回路径。论文因此指出,未来抓取还要考虑后续取回任务,而不能只优化“夹住这一刻”。(论文附录 §D、Fig. 13)

与前作的明确关系

  • M2T2(CoRL 2023):论文在部署和实验中直接采用它预测目标抓取位姿,但 Grasp-MPC 负责最后一段闭环执行。(论文 [1]、§IV-D)
  • FetchBench(2024):论文采用并迁移该基准到 Isaac Sim;其合成轨迹数据量被作者称为 FetchBench 模仿学习数据的 100 倍。(论文 [14]、§II、§V-A)
  • Neural Motion Fields(arXiv:2206.14854):论文将其描述为依赖预测抓取位姿距离的价值函数,并以视觉点云和成功/失败标签改写这一路径。(论文 [21]、§II)
  • ACRONYM(ICRA 2021):数据抓取位姿沿用类似 ACRONYM 的 antipodal sampling。(论文 [12]、§IV-A)
  • Objaverse-XL(NeurIPS 2023 数据集论文):8,515 个训练物体来自该对象库。(论文 [9]、§IV-A)

术语

术语本文中的人话解释
6-DoF 抓取夹爪的位置有三个方向,朝向也有三个方向
点云深度相机看到的一堆三维表面点
价值函数输入“现在看到什么、夹爪在哪”,输出未来失败成本的估计
MPC反复预测一小段未来,只执行第一步,再重新规划
开环 / 闭环开环按最初计划走到底;闭环执行中持续用新观察改动作
预抓取位姿夹爪在真正接触物体前的起跑位置
稀疏成本大多数步骤只有“未完成”标签,接近可行终点才给 0

来源与不确定项

主要来源是论文 arXiv 摘要页PDF。标题、作者、方法、公式、数据和实验数字均以论文 v1 为准。发表状态按 ICRA 2026 记录。

论文正文对预抓取训练扰动写作 U(0.04cm,0.04cm)U(-0.04\text{cm},0.04\text{cm}),量级与上下文可能存在排版或单位疑点;本文不据此推导结论。论文 Eq. 6 将 ω\omega 称为 pessimistic cost 的权重,但最终方法并未使用 ensemble pessimism;本文只把它解释为抓取成本相对其他成本的权重。

核对问题

  1. 为什么一次抓取位姿预测即使起初不错,也可能在执行中失效?
  2. 价值函数的输入、输出分别是什么?数值变低意味着什么?
  3. 为什么 MPC 每次只执行候选路线的第一步?
  4. CcuroboC_{\text{curobo}}CgraspC_{\text{grasp}} 各自防止哪类失败?
  5. 60.3% 对 38.4% 的仿真比较用了什么噪声条件?
  6. 为什么真机结果不能证明 Grasp-MPC 胜过所有闭环学习策略?
  7. 合成数据没有逐条物理验证,会漏掉哪些现实因素?
  8. 为什么“抓住”仍不等于完整 FetchBench 任务成功?

关于这篇论文的三个关键问题

Grasp-MPC:让机械臂边看边修正,在杂乱环境中抓住新物体 解决了什么问题?

一张抓取图只能告诉机器人“先往哪里去”;真正的桌面却会遮挡、碰撞,物体也可能被推走。Grasp-MPC 的关键变化,是让机械臂在最后一段路上反复观察、短暂试走、重新选择。

Grasp-MPC:让机械臂边看边修正,在杂乱环境中抓住新物体 的核心结论有哪些证据?

左图是 5,400 个 FetchBench 仿真案例中加入抓取位姿噪声后的成功率:Grasp-MPC 为 60.3%,开环 OSC 为 38.4%,差 21.9 个百分点。右图是真机,每个场景 30 次:空桌、杂乱桌、杂乱货架上,Grasp-MPC 分别为 86.7%、67.7%、70.0%,开环基线分别为 50.0%、43.3%、30.0%。复杂场景中的差距更大。(论文 Fig. 5、Fig. 8、§V–VI)

阅读 Grasp-MPC:让机械臂边看边修正,在杂乱环境中抓住新物体 时最需要注意什么局限?

先看图中的红色旧路线:相机只在出发前预测一次抓取位姿,机械臂随后照着走。只要预测偏了一点,或物体在接触中挪动,夹爪就会追向已经过期的位置。论文把这两件事列为杂乱环境中的主要失败来源。(论文摘要、§I)

今天还可免费读 2 篇新报告订阅 Pro 后无限阅读,并获得每月 10 篇新论文生成额度。升级 Pro