Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

10.2.1 单任务 vs 多任务评测场景设计

本节讨论“评什么”的问题:在真实机器人或高保真仿真上,如何设计合理的评测场景,既能看清模型长处,也能暴露其短板。你可以把它理解为给 VLA 模型设计“期末考试卷子”:是只考一道大题,还是一整套综合题,还是一个完整项目。


10.2.1.1 单任务评测

(1)概念与适用场景

单任务评测指:在固定任务定义 下(例如“抓取桌面上的杯子并放进盒子”),对同一个模型进行多次重复试验,只改变一些随机因素(初始位姿、噪声等)。这类评测特别适合:

  • 新模型/新模块的功能验证与调试
  • 与传统方法(经典规划器、手工策略)的对比基准
  • 分析 VLA 系统中某一环节(视觉、语言或动作解码)的瓶颈

(2)任务要素的形式化

设计单任务时,建议写成一个清晰的“任务规范”,包括:

  • 初始条件
    • 机器人初始状态(关节角、底盘位置等);
    • 环境状态(物体摆放、门是开是关等);
  • 允许的动作空间:例如只允许关节速度命令,不允许直接 teleop 接管;
  • 终止条件
    • 成功:目标物体到达目标集合内(位置、姿态、接触关系满足容差);
    • 失败:超时、碰撞、明显离题(执行到安全区域外)等;
  • 约束与安全规则:禁止进入某些区域、力矩/速度上限等。

这些信息在后续定义成功率、完成时间等指标时会反复用到。

(3)随机性与重复次数

单任务评测并不意味着“场景完全不变”。通常为了避免模型记住某个特定初始状态,需要:

  • 在合理范围内随机化初始条件(例如物体位置在一个矩形区域内均匀采样);
  • 对每个策略至少运行几十到上百次实验,估计成功率及其置信区间。

在 embodied AI 的导航与操作基准中,普遍采用“同一任务定义,多随机种子反复试验”的方式汇总统计量。(ResearchGate)

(4)示意图建议

[图 10.2-1:单任务评测示意图。同一张桌面上,杯子初始位置在一个小区域内随机采样,机器人多次尝试抓取并放入盒子,用不同颜色轨迹表示不同试验的手爪路径。]


10.2.1.2 多任务评测

单任务只能回答“这个模型是不是在这一件事上很强”;而 VLA 的目标,是在一套任务家族上表现稳定 。多任务评测就是给模型一整张“卷子”。

(1)任务集设计

多任务评测中,通常需要构造一个任务集合

  • 类型多样:包含抓取、放置、推拉、开关、开门、导航到目标等不同操作类型;
  • 难度分层:从简单(单步动作)到复杂(多步骤组合),方便分析模型在不同难度上的退化情况;
  • 语义多样:任务指令覆盖不同对象、属性(颜色、大小)和空间关系。

例如 RLBench、ProcTHOR 等框架中,都提供了几十甚至上百种操作/导航子任务,用于训练和评测多任务策略。(OpenReview)

(2)采样与汇总方式

常见的做法:

  • 均匀采样:每个任务在评测时被选择的概率相同,避免模型“刷分”只靠擅长的任务拉高平均成功率;
  • 分任务统计
    • 每个任务单独统计成功率/时间等;
    • 再计算宏平均(每任务等权)与微平均(每条轨迹等权)两个指标。

(3)指令与场景的联动

在多任务设置中,任务通常通过自然语言指令体现:

  • 一种做法:每条指令隐含任务 ID(如 “open the drawer” 对应开抽屉任务);
  • 更通用的做法:同一任务可以有多种自然表述,后面 10.2.3.3 会专门讨论新指令泛化。

(4)示意图建议

[图 10.2-2:多任务评测任务集示意图。横轴为不同任务(抓取、开门、推拉等),纵轴为评测指标(成功率、时间),通过柱状图展示同一 VLA 模型在多任务上的性能分布。]


10.2.1.3 复杂场景

复杂场景可以理解为“把多个任务拼成一条剧情线”。它更接近真实应用中的长程任务,例如“从厨房拿一瓶水端到客厅桌上”。

(1)多阶段任务与子目标

复杂场景通常由多个子任务 顺序构成:

  1. 导航到冰箱;
  2. 打开冰箱门;
  3. 找到并抓起水瓶;
  4. 关闭冰箱门;
  5. 导航到客厅桌子旁;
  6. 放下水瓶。

评测时既要记录整体任务是否完成,也可以记录每个子任务的成功率、平均用时,形成一个“阶段成绩单”,帮助分析模型在哪个环节失误最多。许多交互式 3D 仿真平台(如 iGibson、AI2-THOR)都支持这类长程交互场景,并以阶段式任务评估复杂行为。(Jim Fan)

(2)动态环境与多主体

复杂场景中还可以引入:

  • 动态环境:人类或其他机器人在场景中移动,导致遮挡与动态障碍;
  • 人机交互:人在任务中插入新指令、纠偏,要求模型在运行中理解语言变化;
  • 多机器人协作:多个机器人共享环境,相互避障甚至协同完成任务。

这类设置更接近现实,但评测协议也更复杂,往往需要单独章节(可与第 12 章“多机器人协作与群体智能”呼应)。

(3)示意图建议

[图 10.2-3:复杂场景任务流程图。用流程图展示从“接收任务指令”到“多阶段执行”的状态转移,每个节点标注对应的子任务与可能失败点。]


10.2.2 成功率、完成时间、路径质量等指标

有了任务场景,还需要量尺 来比较不同方法。本节给出几类在 embodied AI 中高度通用的指标,并解释其计算方式与优缺点。


10.2.2.1 成功率(Success Rate, SR)

(1)定义与计算公式

对于第 \(\displaystyle i\) 次试验(episode),定义一个二值变量 \((S_i)\):

  • 若在最大步数/时间内满足任务成功条件,则 \((S_i = 1)\);
  • 否则 \((S_i = 0)\)。

在总共 \(\displaystyle N\) 次试验中,成功率 定义为

\[ \text{SR} = \frac{1}{N} \sum_{i=1}^{N} S_i. \]

这一定义被大量导航和操作基准采用,例如 Habitat、ObjectNav 等任务都是以成功率作为首要指标。(Vladlen Koltun)

(2)成功条件的设计

关键在于:“什么算成功?”

  • 导航任务:
    • 目标条件通常是机器人停止时与目标位置的距离小于某阈值(例如 0.2–0.5 m),且无碰撞。(ORCA)
  • 操作任务:
    • 物体到达目标区域且姿态满足要求(如杯子底面在桌面上、未倾倒);
    • 抓取任务可用“物体离开原位并稳定在夹爪或目标容器内”作为成功。(themoonlight.io)

当任务更复杂时,可以采用层级成功

  • “完全成功”:所有子目标都完成;
  • “部分成功”:完成部分子目标,例如仅成功抓取但未成功放置。

在报告结果时,应尽量区分这两类,以免把“半拉子工程”算作成功。

(3)不确定性与置信区间

由于评测次数有限,SR 本身有统计波动。建议:

  • 报告 SR 的同时给出置信区间(例如 95% CI,可用二项分布或正态近似估计);
  • 在比较不同方法时,注意统计显著性,而非只看小数点后三位的差异。

10.2.2.2 完成时间(Completion Time)

成功率告诉我们“能不能做成”,完成时间则回答“做得快不快”。

(1)定义与测量方式

对于一次成功的试验,记录从 episode 开始到满足成功条件的时间 \((T_i)\):

  • 在仿真中通常用步数仿真时间
  • 在真实机器人中用壁钟时间(秒)更直观。

可以报告:

  • 平均完成时间 \(\bar{T}\);
  • 中位数时间(更鲁棒于极端慢的样本);
  • 完成时间分布的直方图或 CDF。

如果某次试验失败或超时,一般将其排除在平均完成时间之外,同时在 SR 中体现失败。

(2)效率相关复合指标

类似导航基准提出的 SPL(Success weighted by Path Length),也可以构造按时间加权的成功指标

\[ \text{SWT} = \frac{1}{N} \sum_{i=1}^{N} S_i \cdot \frac{T_i^*}{\max(T_i, T_i^*)}, \]

其中 \((T^{*}_i)\) 是在该场景下的最短可行完成功能时间(例如用规划器或人工脚本计算)。这样既鼓励成功,又鼓励接近最优时间。类似思想已在多种导航与社交机器人评测中使用。(EvalAI)

(3)安全与舒适度的权衡

完成时间越短不总是越好:

  • 机器人过快动作可能导致安全风险(更容易碰撞);
  • 在人机共存场景,动作过快可能降低人的舒适度 。(ACM Digital Library)

因此在报告中通常:

  • 把完成时间作为次级指标,在相近成功率的策略之间比较;
  • 同时报告碰撞率、最小安全距离等指标。

(4)示意图建议

[图 10.2-4:完成时间分布示意图。横轴是完成时间,纵轴是累计比例(CDF),对比两种策略的曲线,一条整体偏左代表更快完成。]


10.2.2.3 路径 / 动作质量

即使成功、时间也合理,机器人“走得好不好”仍然是一个维度。这里主要关注轨迹质量

(1)路径长度与 SPL

对导航与末端执行器轨迹,可以定义:

  • 路径长度 \((L_i)\):轨迹上相邻位置的欧氏距离累加;
  • 最短路径长度 \((L^{*}_i)\):由规划器或图搜索得到的最短可行路径。

SPL(Success weighted by Path Length)定义为:(Vladlen Koltun)

\[ \text{SPL} = \frac{1}{N} \sum_{i=1}^{N} S_i \cdot \frac{L^{*}_i}{\max(L_i, L^{*}_i)}. \]

  • 若成功且走的是最短路径,则该项为 1;
  • 若路径更长,则按比例衰减;
  • 若失败,则该项为 0。

SPL 在多种 embodied navigation 基准中已成为标准指标,也可以自然扩展到机械臂末端路径。

(2)轨迹平滑度与控制质量

从控制角度看,平滑、连贯 的轨迹有利于减少机械冲击和能耗,也更接近人类动作习惯。常见做法:

  • 使用关节空间轨迹平滑度指标
    • 例如总加速度或总 jerk(加速度的导数) \(\sum_t |\ddot{q}_t|^2\), \(\sum_t |\dddot{q}_t|^2\);
  • 统计速度/加速度的极值:越少“骤停-急动”越好;
  • 测量碰撞次数、接触过载 等安全相关指标。(ResearchGate)

在最新的机器人策略评测工作中,常将成功率、时间、轨迹平滑度等组合为一组指标,全面刻画策略质量。(ResearchGate)

(3)能耗与硬件友好度

对真实机器人来说,微小的轨迹差异可能意味着非常不同的能耗与磨损

  • 可以对每个关节积分 \(\int \tau_t^2 dt\) 或 \(\int |\tau_t \cdot \dot{q}_t| dt\) 作为能量 proxy;
  • 长期评测中,能耗更低的策略意味着电池续航、材料寿命更好。

(4)示意图建议

[图 10.2-5:路径质量对比示意图。展示同一导航任务中两条路径:一条接近最短路径且平滑,另一条绕行、频繁转向;同时给出相应的路径长度与 SPL 指标。]


10.2.3 泛化评测:新物体、新布局、新任务指令

VLA 模型真正有价值的地方,在于泛化:训练时见过的只是有限案例,部署时面对的是无穷变化。本节从三个维度构造“看新东西”的考题。

很多 embodied AI 基准(Habitat、iGibson 等)已经形成了一套惯例:将训练和测试在对象类别、场景布局和指令分布 上进行明确分离。(ResearchGate)


10.2.3.1 新物体(Unseen Objects)

(1)实例级 vs 类别级泛化

  • 实例级泛化
    • 训练见过“红色杯子 A、B、C”,测试时出现“红色杯子 D”;
    • 类别相同、属性相似,但几何细节不同;
  • 类别级泛化
    • 训练阶段从未出现“剪刀”,测试时间接收到指令“把剪刀放进抽屉”;
    • 要求模型基于语言/视觉语义理解新类别。

前者更多依赖于视觉“类内泛化”能力,后者则依赖于大模型对语言与世界知识的掌握,在 VLA 中越来越重要。(ResearchGate)

(2)物理属性变化

除了外观形状,物体的质量、摩擦系数、刚度 等物理属性变化同样重要:

  • 对抓取任务,可通过改变物体重量、表面材料(光滑/粗糙)来构造测试集;
  • 对推拉任务,可改变地面摩擦系数、物体底面材料。

相关评测设计在近期操作与模拟综述中被反复强调,用于检验策略对物理不确定性的鲁棒性。(ResearchGate)

(3)评测协议建议

  • 明确列出“训练物体集合”和“测试物体集合”;
  • 报告在仅使用训练物体完全替换为新物体 两种条件下的成功率对比;
  • 若使用语言描述新物体(“把刀状物体放入盒子”),可额外考查模型的知识迁移能力。

[图 10.2-6:新物体泛化示意图。一列为训练中见过的杯子/碗/瓶子,另一列为测试时出现的新款式,通过箭头标注“类别已见/类别未见”。]


10.2.3.2 新布局(Unseen Layouts / Scenes)

(1)场景级拆分

在导航类 embodied AI 中,已经很常见的做法是:按场景 ID 划分训练/验证/测试集合,例如 HM3D、Habitat 中的“训练房屋”和“测试房屋”完全不同。(datasets-benchmarks-proceedings.neurips.cc)

对操作任务也可以类似处理:

  • 训练时在若干桌面/台面布局上采集数据;
  • 测试时更换家具布局、桌子高度、物体摆放模式。

(2)静态 vs 动态布局变化

  • 静态布局泛化:场景几何结构不同,但在一个 episode 内不变化;
  • 动态布局泛化:在任务执行过程中,其他实体(人类、机器人)在环境中移动,导致布局实时改变。

前者主要评估视觉与策略对位置关系变化的适应,后者进一步检验策略的** 在线感知与 replanning 能力**。(OpenReview)

(3)难度控制与分层

完全随机生成新布局可能导致难度分布失控,评测时应注意:

  • 使用与训练集类似复杂度的测试场景(房间大小、障碍物数量等参数尽量匹配);
  • 或者明确划出“简单/中等/困难”三档场景,分别报告泛化性能。

[图 10.2-7:新布局泛化示意图。左侧为训练时使用的几个房间平面图,右侧为测试时的不同房间布局,标注门、障碍物和目标位置变化。]


10.2.3.3 新指令(Unseen Instructions)

对于 VLA 模型,语言是“任务接口”。单纯在训练 seen 指令上表现良好,不能代表真正理解语言。

(1)表达多样性:同义改写与风格变化

最基础的一类测试是:

  • 训练指令: “把红色杯子放进盒子里。”
  • 测试指令:
    • “请把红色的杯子放到盒子里面。”
    • “把那个红色杯子移到盒子中。”
    • “能帮我把红杯放进盒子吗?”

也可以引入口语化、礼貌句、倒装句等风格变化,考查模型是否真正依赖语义,而非死记模板。

(2)组合与逻辑结构泛化

更进一层的,是组合式新指令

  • 训练时只见过单步指令:“拿起 A”、“放下 A”;
  • 测试时出现组合:“先拿起 A 放到 B 上,再把 C 放到 A 左边”。

这要求模型具备一定的任务分解与时序逻辑理解 能力,而不仅是逐句映射为动作。有关基准通常会构造“seen 组合”和“unseen 组合”两个分布,对比泛化性能。(ResearchGate)

(3)评测注意点

  • 尽量将词表覆盖 控制在训练/测试交集大,但在句法与组合 上保持差异;
  • 在报告结果时,区分:
    • 语义等价改写上的泛化;
    • 真正新组合(未见过的步骤序列)上的泛化。

[图 10.2-8:新指令泛化示意图。用一个图示展示:训练阶段只有简单单步指令,测试阶段出现“先……再……”的多步指令,并用箭头表示模型需要在内部拆解成两个子任务。]


10.2.4 跨机器人迁移能力评估

通用 VLA 的一个重要愿景,是“一个大脑,多种身体”:同一模型在不同机械臂、移动平台甚至多足机器人上工作。如何评估这种** 跨机器人(跨具身)迁移能力**,是近几年出现的一个新问题。(Open X-Embodiment)


10.2.4.1 模型迁移测试

(1)基本设定:train-on-A, test-on-B

最经典的跨具身评测方式是:

  • 训练阶段:主要在机器人 A(或若干机器人)上收集数据并训练模型;
  • 测试阶段:不再改变模型参数,直接部署到机器人 B 上执行相同或相似任务。

例如 Open X-Embodiment、AnyBody 等工作中,采用“留一机器人(或类)不训练,只在其上评测”的方式,系统性研究跨具身性能。(Robot Learning)

评价时通常:

  • 报告 A 上的基准性能(例如 SR_A);
  • 报告 B 上的零样本性能(SR_B-zero-shot);
  • 比较两者差值或比值。

(2)插值 vs 外推场景

最新的 cross-embodiment 基准会细分:(arXiv)

  • 插值(interpolation)
    • 测试机器人与训练机器人在连杆结构、自由度 上相似,只是参数略有变化(长度、质量等);
  • 外推(extrapolation)
    • 测试机器人有不同的连杆拓扑或完全不同形态(例如从 6-DOF 机械臂迁移到 7-DOF,甚至从轮式移动平台迁移到腿足机器人)。

在报告结果时,区分插值/外推有助于理解模型在“细微差异”与“形态突变”上的表现。

(3)少样本适应(few-shot adaptation)

更实际的设定是:允许在新机器人 B 上收集少量数据进行微调或校准:

  • 给定 K 条 B 的示教轨迹,用 BC 或 LoRA 微调 VLA;
  • 记录成功率随 K 的变化曲线(sample-efficiency curve);
  • 比较不同模型的适应速度

这一 protocol 在跨具身 RL 与 imitation 工作中越来越常见,用于衡量“从 0 到可用”所需的示例数量。(NeurIPS 论文集)

[图 10.2-9:跨机器人迁移测试示意图。左侧是训练时使用的机器人 A(例如 UR5),右侧是测试机器人 B(例如 Franka Panda),中间用箭头表示“零样本迁移”和“少样本适应”的两种路径。]


10.2.4.2 适应性指标

光看“能不能迁移”还不够,还要定量回答“迁移得有多好、多快、多安全”。

(1)性能保持率与性能跌落

可以定义:

  • 性能保持率

    \[ R_{\text{keep}} = \frac{\text{SR}_B}{\text{SR}_A} \]

  • 性能跌落

    \[ \Delta_{\text{SR}} = \text{SR}_A - \text{SR}_B. \]

其中 SR_A 是在源机器人 A 上的成功率,SR_B 是零样本或适应后的成功率。

(2)适应速度与样本效率

对少样本微调情形,可用:

  • 达到某目标成功率(如恢复到 SR_A 的 80%)所需的轨迹数量交互步数
  • 成功率随训练轮次的曲线下面积(AUC),衡量整体学习效率。

在 RL 与 cross-embodiment 基准中,通常会报告“在固定预算内的最终性能”与“达到某性能门槛所需时间”两个数字。(NeurIPS 论文集)

(3)安全与稳定性指标

迁移过程中,策略可能产生不少失败甚至危险动作,因此还需统计:

  • 适应期内的碰撞率 、严重错误次数;
  • 每 episode 的最大关节超限程度、力矩超限次数;(ResearchGate)
  • 在现实机器人上,可额外统计急停触发次数等。

这些指标可以看作“迁移过程中付出的代价”,与最终性能共同构成迁移能力的评估。

[图 10.2-10:适应性曲线示意图。横轴为在目标机器人上使用的示教轨迹数量,纵轴为成功率,比较两个模型的上升速度,并在图中标注达到 80% 性能所需的样本点。]


10.2.4.3 差异因素

最后,需要认识到:跨机器人迁移难度高度依赖于机器人之间的差异 。没有理解这些差异,仅凭一个“平均成功率”会非常误导。

(1)运动学结构差异

  • 自由度数量不同(6-DOF vs 7-DOF);
  • 关节类型不同(转动、伸缩关节);
  • 机械臂关节排列不同,导致某些方向的工作空间更受限。

例如,AnyBody 与 PEAC 等基准会精确记录各机器人连杆拓扑,并区分“同类结构的插值迁移”和“跨拓扑外推迁移”。(arXiv)

(2)动力学与控制接口差异

  • 质量分布、惯量、摩擦、关节刚度不同;
  • 最大速度/加速度、扭矩上限不同;
  • 控制接口不同:有的接受关节位置目标,有的接受速度或力矩命令,还有的只有末端空间控制接口。

这会直接影响“相同动作 token”在不同机器人上的实际效果,因此许多跨具身方法会显式引入具身描述向量 或“universal action”中间表示,减弱这种差异的影响。(CVF开放获取)

(3)感知与几何差异

  • 相机位置与视野不同(头顶相机 vs 末端相机 vs 外部相机);
  • 分辨率、噪声水平、深度传感器种类不同;
  • 末端执行器几何差异(两指夹爪、三指夹爪、吸盘)。

这些都会改变“看到的世界”和“能做的动作”。跨机器人评测时,建议:

  • 在基准说明中清晰给出各机器人传感器配置与末端几何;
  • 如果使用统一的视觉输入(例如场景固定相机),要说明这是为了隔离感知差异,只考察控制迁移。

[图 10.2-11:差异因素示意图。在一张图中列出几个典型机器人(移动底盘、7 自由度机械臂、双臂系统),分别标注其自由度、相机安装位置、末端执行器类型,用箭头指示它们在任务空间中的差异。]


本节从场景设计指标体系,再到** 泛化维度 跨具身迁移**,构成了 VLA 系统“如何考试”的整体框架。前面的训练范式(第 9 章)更多回答“如何教会学生”,而本节则搭好了“如何判卷”的标准。接下来在 10.3 节,我们会进一步关注** 安全性与鲁棒性**,讨论当模型做错事、环境出问题时,系统应该如何设计防护与降级机制。