← 返回 2026-08-24

PhysCaP:以物理信息探索为代码即策略智能体提供物理世界接地 PhysCaP: Grounding Code-as-Policy Agent with Physics-Informed Exploration

Chen-Yu Lin, Jing-Wen Chen, Hsueh-En Chang, Hung-An Chen, Sheng-Hsun Chang, Chi-Pin Huang, Fu-En Yang, Min-Hung Chen, Yi-Ting Chen, Yu-Chiang Frank Wang, Shao-Hua Sun 📅 2026-08-21 👍 4 2026-08-29 18:30
Code-as-Policy VLM智能体 主动感知 机器人操作 物理属性估计

免训练质量/刚度估计加双智能体探索,让机器人主动摸出隐藏物理属性。

前置知识

Code-as-Policy(代码即策略)

一种机器人决策范式:不训练端到端策略网络,而是让大语言模型在运行时生成可执行的 Python 代码,代码中调用感知(get_object_pose)、控制(goto_pose、open_gripper)等模块化 API 来完成任务。优点是可解释、可组合、样本高效,能做闭环推理和状态跟踪。

PhysCaP 的整个框架建立在 CaP-Agent0 之上,理解这一范式才能明白为什么物理探索可以做成可插拔的 API 层。

VLA(Vision-Language-Action)模型

用大规模模仿学习预训练的视觉-语言-动作模型,直接把图像和语言指令映射为低层机器人动作,如 OpenVLA、π0.5、MolmoAct2。擅长复现演示中的复杂操作,但本质是被动观察的前馈映射,不会主动发起信息获取式交互。

VLA 是本文最主要的对比对象之一,论文用 LIBERO 仿真证明它们在物理属性被隐藏时成功率接近零。

主动感知(Active Perception)

智能体不满足于被动观察,而是主动选择动作(如推、举、捏)来降低环境不确定性、获取缺失信息。核心权衡是:信息不足就行动可能失败(欠探索),过度交互则浪费时间(过探索)。

本文的核心问题就是如何在机器人操作中实现高效主动感知,Planner 和 Prioritizer 都是为这个权衡服务的。

机器人雅可比矩阵与关节力矩

雅可比矩阵 $J$ 描述末端执行器速度与关节角速度的线性映射。机械臂静止持物时,各关节力矩包含臂自重与物体重力项;利用末端竖直方向的雅可比投影 $J_z$,可以把力矩差分换算成物体所受重力,进而估计质量。

get_mass 模块的估计公式 $\hat{m} = (J_z \cdot \Delta\tau)/(g|J_z|^2)$ 完全建立在这一力学关系上,是读懂方法章节的关键。

LIBERO 基准

一个广泛使用的机器人操作仿真基准,提供标准化任务、物体资产和评估协议,大多数 VLA 模型都在其上发布过公开 checkpoint,便于公平对比。

作者因真实硬件(PiPER 臂)与 VLA 训练平台不匹配,选择在 LIBERO 中复现空罐任务来与 OpenVLA 等基线对比。

研究动机

现有机器人系统在物理属性被隐藏的任务上表现很差。VLA 模型(OpenVLA、π0.5、MolmoAct2 等)靠大规模模仿学习复现演示行为,本质是被动观察的前馈映射,无法推断质量、刚度、容器是否为空这类看不见的属性:在本文的仿真空罐任务中,OpenVLA 成功率 0%、π0.5 仅 4%、MolmoAct2 只有 23%;真实世界里纯视觉的 CaP 基线在识别空罐任务只得 2/10、挑熟牛油果只得 1/10。强化学习原则上能发现探索行为,但探索动作的奖励稀疏且延迟,样本效率低,产出的策略也难解释、难修改。现有 code-as-policy 系统虽然擅长语义和流程推理,却缺乏主动获取缺失物理信息的机制;而已有的交互式感知方法又把感知与任务级决策解耦,不知道该测什么、何时停止。

本文的目标是本文要让 code-as-policy 机器人智能体在没有任何专用传感硬件(无触觉/力传感器)的条件下,通过物理交互主动获取任务相关的潜藏物理属性——具体是物体质量和刚度——并在『信息不足就贸然行动』与『过度探索浪费时间』之间取得平衡。衡量标准是:在找隐藏方块、识别空罐、挑熟牛油果等部分可观测的桌面操作任务上,同时保持高任务成功率、更少的物理交互次数(OI)和更短的机器人执行时间,且框架与具体骨干模型无关、可即插即用。

与已有工作不同的是,本文的独特切入是把主动感知做成 code-as-policy 框架内一个可插拔的『物理信息探索层』,由三部分全新组合而成:免训练的 PhysX 模块仅用夹爪电机电流与关节力矩这类本体感知反推质量和刚度,不需要额外传感器;Planner 智能体判断何时需要探索、何时信息已足够;Prioritizer 智能体用视觉启发式过滤不合理的交互并按优先级排序。与已有工作相比,本文第一次把『传感器级物理估计』和『任务级探索决策(测什么、先测谁、何时停)』统一进同一个 agentic 闭环,而不是像前人那样解耦二者或穷举式探索。

核心方法

直觉上,人挑牛油果是先看颜色缩小候选范围,再捏一捏确认熟没熟——视觉先验负责『看』,物理交互负责『摸』。PhysCaP 复刻了这一过程,技术路线分三层:(1) 物理层:两个免训练的 PhysX 模块 get_mass 和 get_stiffness,仅用标准夹爪的本体感知(关节力矩、电机力度)估计物体质量和刚度;(2) 决策层:Planner 智能体根据任务描述和场景图像判断现有信息是否足以执行任务,不足时输出 JSON 格式的探索候选列表,并充当动态停止准则;Prioritizer 智能体过滤掉视觉上不合理的候选,给剩余候选打优先级分并排序;(3) 执行层:coding agent 生成可执行 Python 代码,调用 get_object_pose、goto_pose、open/close_gripper 及两个 PhysX API 闭环完成任务。系统构建在 CaP-Agent0 之上,用 Molmo2 做目标定位、ZED 2i 深度相机提供深度,Planner/Prioritizer/Coding 三个智能体共用 Gemini 3.1 Pro 骨干。

核心创新有两点。第一,免训练的物理属性提取:get_mass 用固定提升轨迹把末端抬高 15cm,先空抓记录基线力矩 $\tau_{empty}$,再持物记录 $\tau_{loaded}$,差分力矩 $\Delta\tau = \tau_{loaded} - \tau_{empty}$ 消除机械臂自重影响,再经竖直方向雅可比投影换算质量 $\hat{m} = (J_z \cdot \Delta\tau)/(g|J_z|^2)$,对抓取位姿鲁棒;get_stiffness 先增量闭合夹爪并用『回退测试』(稍张开应产生力降 $\Delta\hat{f}$)排除内部摩擦的假接触,再继续闭合到目标力度 $f^* = 0.50$,用形变量 $\Delta d = |d_0 - d(f^*)|$ 映射到 $s \in \{1,...,5\}$ 五档刚度。第二,Planner 与 Prioritizer 的双智能体分工:前者管『何时停』,后者管『先测谁』。这与 VLA 端到端模仿或 RL 稀疏奖励探索有本质区别——探索行为被显式结构化、可解释,且无需任何训练。

方法步骤详情

完整流程如下。第一步视觉锚定:ZED 2i 采集 RGB-D 图像,Molmo2 输出目标的 2D 像素坐标,经深度反投影和外参变换得到 3D 世界坐标。第二步 Planner 规划:输入任务 prompt 和场景图像,识别缺失的物理信息,输出 JSON 候选列表(对象名、描述、预期获取的信息)。第三步 Prioritizer 排序:用视觉启发式过滤(太小的咖啡杯藏不住方块、密封罐大概率是满的),给剩余候选打分排序,例如空罐任务中未开封绿罐 2.2 分、插吸管绿罐 9.1 分、插吸管红罐 8.5 分,因此优先测红绿两罐。第四步代码生成与执行:coding agent 生成代码调用 get_mass(固定轨迹抬升 15cm、短暂停顿待振动稳定、差分力矩加雅可比换算、print 记录)或 get_stiffness(增量闭合检接触、回退验证、闭到 $f^*=0.5$、线性插值求 $\Delta d$、映射刚度等级,每物体测 5 次多数投票)。第五步证据回灌:测量值写入知识库,Planner 判断信息是否足够,不足则回到第三步,足够则生成最终 pick-and-place 代码完成任务。

技术新颖性

技术新颖性体现在三方面。(1) 传感器无关的物理估计与任务决策的统一:此前 visuo-haptic 或基于本体感知的属性估计方法(论文引用 [41][42])通常把『怎么测』与『测什么、何时停』解耦,PhysCaP 把 get_mass/get_stiffness 做成 code-as-policy 的可调用 API,由 LLM 在闭环里统一调度,且新属性模块可即插即用扩展。(2) 双智能体解耦两个不同目标:消融实验 PhysCaP-joint 把 Planner 和 Prioritizer 合并成单个带全部 prompt 的智能体后性能下降——找蓝方块从 9/10 降到 8/10,牛油果任务 OI 从 2 升到 2.71——说明模型虽然能想到视觉启发式,但单一上下文会塌缩成无结构的穷举计划,分离才能强制高效排序。(3) 全程零训练:不微调任何模型,只靠物理建模与 prompt 工程,与需要海量演示数据的 VLA 和大量采样的 RL 形成鲜明对比。

Overview of PhysCaP, a Physics-Informed Code-as-Policy agent.
Figure 2: Overview of PhysCaP, a Physics-Informed Code-as-Policy agent.
PhysCaP measures task-relevant latent physical properties beyond passive visual perception and completes tasks.
Figure 3: PhysCaP measures task-relevant latent physical properties beyond passive visual perception and completes tasks.
We replicate the Identify Empty Can task in the LIBERO environment.
Figure 5: We replicate the Identify Empty Can task in the LIBERO environment.
Our experiment setup.
Figure 6: Our experiment setup.
The 3D CAD model of the customizable button mechanism.
Figure 18: The 3D CAD model of the customizable button mechanism.

实验结果

真实世界三任务各 10 次试验。识别空罐:CaP 仅 2/10;CaP+PhysX 7/10 但 OI=3.9、268 秒(穷举称重);加 Planner 7/10、OI=4;PhysCaP 达 8/10、OI=2.5、239 秒。挑熟牛油果:CaP 1/10;CaP+PhysX 9/10 但 OI=4、515.6 秒;PhysCaP 9/10、OI=2、300.5 秒,交互减半、时间缩短约 42%。找蓝方块:CaP 10/10 但 OI=3;PhysCaP 9/10、OI=1.33、40.5 秒,几乎只翻视觉可行的杯子。LIBERO 仿真 50 次试验:PhysCaP 78%、OI=1.44,优于 CaP+PhysX(74%、2.16)和 +Planner(62%、1.45),VLA 全军覆没(OpenVLA 0%、π0.5 4%、MolmoAct2 23%)。PhysX 校验:5 个参考质量(13g–963g)各测 20 次,估计与真值高度吻合;oracle 换真值质量后空罐任务达 10/10,说明瓶颈在硬件噪声;刚度用 2/6/8/10/15 根橡皮筋标定的 3D 打印按钮验证,生牛油果对应高档、熟果对应低档。表 3 显示换 Claude Opus 4.8 骨干可达 10/10、OI 2.4、217 秒。

Task Performance. PhysCaP achieves the highest overall success rate while requiring the fewest physical interactions and the shortest execution time.
Table 1: Task Performance. PhysCaP achieves the highest overall success rate while requiring the fewest physical interactions and the shortest execution time.
Performance on the simulated Identify Empty Cup task.
Table 2: Performance on the simulated Identify Empty Cup task.
Comparison of different VLMs performance on the Identify Empty Cup task.
Table 3: Comparison of different VLMs performance on the Identify Empty Cup task.
Quantitative analysis shows the accuracy of the PhysX module.
Figure 4: Quantitative analysis shows the accuracy of the PhysX module.
Qualitative results for the Find Blue Cube task.
Figure 9: Qualitative results for the Find Blue Cube task.
Qualitative results for the Identify Empty Can task.
Figure 10: Qualitative results for the Identify Empty Can task.
Qualitative results for the Pick Ripe Avocado task.
Figure 11: Qualitative results for the Pick Ripe Avocado task.
Qualitative results for the Identify Empty Can task in the LIBERO environment.
Figure 13: Qualitative results for the Identify Empty Can task in the LIBERO environment.
3D-printed button (left). The actuation stiffness can be customized by varying the number of rubber bands used. Stiffness evaluation on an avocado (right).
Figure 17: 3D-printed button (left). The actuation stiffness can be customized by varying the number of rubber bands used. Stiffness evaluation on an avocado (right).
查看结构化数据
任务指标本文基线提升
真实世界·识别空罐 成功率 SR 8/10(PhysCaP) 2/10(CaP 被动视觉基线) +60 个百分点
真实世界·挑熟牛油果 交互次数 OI / 执行时间 OI=2,300.47±53s(PhysCaP) OI=4,515.61±9s(CaP+PhysX) 交互减半,时间缩短约 42%
真实世界·找蓝方块 执行时间 40.48±15s,OI=1.33(PhysCaP) 75.51±4s,OI=3(CaP) 时间缩短约 46%,成功率 9/10 对 10/10 基本持平
LIBERO 仿真·识别空杯 成功率 SR(50 次试验) 78%(PhysCaP) 74%(CaP+PhysX);OpenVLA 0%、π0.5 4%、MolmoAct2 23% 较最强主动基线 +4pp,较 VLA 最高 +55pp
LIBERO 仿真·识别空杯 交互次数 OI 1.44(PhysCaP) 2.16(CaP+PhysX) 交互减少约 33%
真实世界·识别空罐(换骨干) 成功率 / OI 10/10,OI=2.4,217.43s(Claude Opus 4.8) 8/10,OI=2.5,239.0s(Gemini 3.1 Pro) 成功率 +20pp,验证框架模型无关

局限与改进

作者承认三点局限:其一,依赖商业 VLM API,延迟和推理质量不可控,导致执行时间方差偏大(如空罐任务 239±27 秒);其二,物体定位靠 Molmo2 的 2D 预测加单相机深度,2D 误差会直接传导为 3D 末端精度损失;其三,PiPER 机械臂的硬件通信延迟偶尔使实际轨迹偏离生成代码。我补充几点观察:PhysX 目前只覆盖质量和刚度两种属性,摩擦、纹理、内容物种类等未涉及;质量估计要求物体能被夹爪稳定抓起并悬持,对过大、过滑、易碎物体不适用,固定 15cm 抬升在狭小空间也可能不可行;刚度五档阈值需要逐物体类别人工标定,换类别就要重新标;实验全部是静态桌面、固定物体集合,未测动态或杂乱场景;成功率 8-9/10 并非满分,失败主要来自质量估计噪声和定位误差;另外任务中有真人助手帮忙清场,说明全自主长程操作仍未解决。

独立分析的弱点

独立分析可见以下弱点。第一,Prioritizer 的排序是单步贪心的视觉启发式,不是基于信息增益的最优实验设计:当目标属性需要组合多个测量才能推断时(例如需联合质量与体积推断密度),贪心次序可能次优,改进方向是引入信息论增益或贝叶斯最优停止准则。第二,Planner 的停止判据是 LLM 的主观判断,没有任何统计置信度保证,可能过早或过晚停止——表 2 中 CaP+PhysX+Planner(62%)反而低于 CaP+PhysX(74%)就暴露了这一不稳定性。第三,质量模型忽略重心偏移与抓取滑动:物体倾斜持握或滑动时 $\Delta\tau$ 会被污染,且差分法要求空抓基线与持物抓取位姿一致。第四,刚度接触检测假设物体表面规则、姿态稳定,牛油果这类球体在夹持中滚动会改变形变读数;每物体测 5 次多数投票也进一步推高了时间成本。第五,系统性能与骨干模型强绑定,API 延迟直接叠加进执行时间。

未来方向

作者提出的方向包括:迁移到本地托管的开源模型以保证运行一致性和时延;引入多视角或 3D 原生感知模型替代 2D 指点加单目深度的定位链路;用实时控制信号管理解决 PiPER 的通信延迟;以即插即用方式扩展更多物理属性模块(纹理、摩擦、内容物识别等)。基于本文成果还可延伸:把 PhysX 测量整合进可微世界模型用于模型预测控制;将探索问题形式化为 POMDP,用信息增益最大化的最优停止理论替换启发式判据;研究跨具身迁移,让差分力矩和雅可比换算在不同机械臂上自动重标定;把 PhysCaP 生成的交互轨迹作为数据反哺 VLA 微调,教会端到端模型主动探索行为;以及扩展到双臂协作、工具使用(如用棍子探远处物体)和非桌面场景。

复现评估

复现条件较好但非一键复刻。开源情况:项目页 physcap.github.io 提供机器人执行视频与生成代码的定性展示,论文附录 A-G 完整给出了任务 prompt、Planner/Prioritizer/Coding 智能体 prompt、API 规范、物体规格与几何尺寸、3D 打印按钮机构 CAD,但正文未明确承诺放出完整代码仓库。算力:单张 RTX 3090(24GB)工作站即可,VLM 走 Gemini 3.1 Pro API,Molmo2 开源可本地部署。难度评估:LIBERO 仿真部分最容易复现,VLA 基线均有公开 checkpoint;真实世界复现需要 AgileX PiPER 7-DoF 臂、夹爪和 ZED 2i 深度相机,且 get_mass 的差分力矩法和雅可比换算与具体臂的力矩读数接口强耦合,get_stiffness 的五档阈值也需按自家夹爪重新标定——这是复现的主要工程门槛。总体而言思路可复现性强,逐指标复现需要相当的机器人系统集成经验。