跳转到内容

正在加载搜索…

接口阶梯

agent 与 configs/ablations/ 中的消融构成一个阶梯(表 3):相同的模型、运行时、安全层(shield)和调用预算,每一级开放更多的接口。每个消融都包含 configs/default.toml 并关闭其中一部分;用 --agent configs/ablations/<name>.toml 运行其中一个。

配置 模式 接口 服务
r0 direct 每次模型调用一个动作:移动指尖、设置夹爪、观察、等待 无
r1 direct R0 加上固定 skill(locate、pick、place)和学习型策略 sam3, simate
r2 program 基于解析 skill 的程序;handler sam3(+ 模型的 vlm)
r3 program R2 加上学习型 skill(run_policy 和 strategy 步骤) + simate
default(R4) program R3 加上反应层(guard、控制器) 同 R3

agent 的消融(表 5):no-handlers(没有 on())、no-verifier(没有成功验证器)。with-task-description 加入 Zhang et al. (2026b) 的任务描述(表 4 第二行)。analytic-manipulation 用 manipulation skill 按名称的 pick 和 place 及其直线 push,替换默认的按物体 id 操作的工具(skills/eef:用 SAM 3 给出物体 id 的 locate、pick、release、transfer、push);R1 的固定 skill 也是这些。在 RoboTwin 2.0 上,agent 不带学习型 skill、带 manipulation skill 运行(configs/experiments/robotwin-dev.toml)。

每一级都继承 agent 的模型、prompt pack(R0 和 R1 有各自的动作提示词)、由 VLM 完成的指点、SAM 3 分割器、观测契约(XPolicyLab 的:RoboDojo 官方客户端交给策略的内容)、20 ms 的反应预算和 30 次模型调用。带学习型 skill 的程序级(R3 和 agent)以 strategy 步骤(start)开始;R1 则从其动作词表中把子任务交给策略,无论手臂处在何处。

在 direct 模式下,模型被有意地在每一步都调用:这几级正是程序设计的比较对象。每次回复是一个 <action>{JSON}</action> 或 <finish>:

动作 参数 级
move arm、指尖 position(x, y, z)、可选的 orientation(link6 四元数)、可选的 gripper R0, R1
gripper arm、value(0 闭合 .. 1 张开) R0, R1
observe R0, R1
wait seconds(0-10) R0, R1
policy name、可选的 instruction、arms、seconds(0-30) R1
locate object R1
pick object、可选的 arm R1
place arm、target 或 position、clearance R1

每个动作作为一个短的固定程序运行,使用与 R2-R4 相同的 skill(src/harness_policy/runtime/direct.py),因此各级的差别在接口,而不在运动代码。