EMMOE:开放环境中具身移动操控的综合基准
25年3月来自浙大、UIUC 和西雅图华盛顿大学的论文“EMMOE: A Comprehensive Benchmark for Embodied Mobile Manipulation in Open Environments”。
开发由自然语言控制的自主家用机器人一直是人类的追求。虽然大语言模型 (LLM) 和具身智能的进步使这一目标更近了一步,但仍存在一些挑战:缺乏针对更复杂机器人任务的统一基准、评估方法,以及指标有限、LLM 和移动操控轨迹之间的数据不兼容。为了解决这些问题,引入开放环境中的具身移动操控 (EMMOE),它要求智体解释用户指令并在连续空间中执行长期日常任务。EMMOE 将高级和低级具身任务无缝集成到一个统一的框架中,同时提出了三个新的指标以实现更多样化的评估。此外,还收集 EMMOE-100,其特点是具有各种任务属性、详细的流程注释、失败后的重规划以及两个用于 LLM 训练的子数据集。此外,设计 HOMIEBOT,一个复杂的智体系统,由带有直接偏好优化 (DPO) 的 LLM、轻量级导航和操作模型以及多种错误检测机制组成。最后,展示 HOMIEBOT 的性能以及对不同模型和策略的评估。
开发能够通过单一指令探索环境并执行各种日常任务的自主机器人,一直是机器人领域的长期追求。为了实现这一目标,机器人需要理解自然语言指令、制定可行的规划、感知动态环境并与之交互,并具备强大的导航和操控技能。传统的机器人学习方法,例如模仿学习 (IL)(Ho & Ermon,2016)和强化学习 (RL)(Sutton,2018),主要侧重于特定任务的策略,但始终局限于短期任务,难以泛化到新任务。任务与运动规划 (TAMP) 将长视界移动操控任务视为离散-连续混合搜索问题 (Garrett et al., 2021),并通过分层架构 (Kaelbling & Lozano-Pe ́rez, 2011) 解决以下问题:离散任务空间中的高级任务规划、连续动作空间中的低级运动规划以及两层之间的交错执行。然而,TAMP 的应用范围仍然有限。尽管进行各种扩展 (Garrett et al., 2020; Ren et al., 2024b; Chen et al., 2024),它仍然需要特定的目标状态和详细的场景配置。现实世界环境的复杂性和动态性以及模糊的用户描述使得满足这些要求极具挑战性。
近年来,LLM(Achiam,2023;DeepSeek-AI,2025)和具身智能(Brohan,2023b;Driess,2023)的快速发展使得这一追求成为可能。TAMP 中各层的范围已大大扩展,并衍生出由语言和视觉驱动的各种具身任务。在高级具身任务中(Wu,2023;Li,2024a),LLM 表现出色,具有强大的泛化能力。诸如思维链(COT)(Wei,2022)等先进的提示技术进一步增强 LLM 的逻辑推理能力。视觉-语言模型 (VLM) (Radford,2021) 使智体能够处理视觉输入并理解当前环境。大型多模态模型 (LMM) (Liu,2024) 将具身智体的应用扩展到现实世界场景。最新的世界模型 (Matsuo,2022) 和空间模型 (Huang,2024b) 使智体能够更准确地感知场景信息和空间关系。在低级具身任务中,模型的重点逐渐从针对特定目标的单一技能(Shafiullah,2023)转向针对开放词汇目标的单一技能(Fang,2023b),进而转向通用模型(Black,2024),例如视觉-语言导航 (VLN)(Zhang,2024e)和视觉-语言-动作 (VLA)(Brohan,2023a)模型。
然而,仍有几个问题尚未解决:1)缺乏全面的任务和基准。虽然各种具身任务已经取得了显著进展,但现有任务与设想的语言驱动智能机器人之间仍然存在差距。同时,现有的具身任务往往孤立地运行,忽略任务交错执行所带来的相互影响。所有这些因素都表明需要一个更广泛的任务框架。通过整合不同的高级和低级具身任务,机器人可以获得更高级的能力,同时能够对各种具身任务进行统一的评估。每一层都会相互制约和影响,协同完成最终任务。2)评估方法和指标不足。具身任务规划涉及每个步骤之间的因果依赖关系,且解决方案并非绝对,因此仅基于单个步骤或最终状态的评估是不够的。此外,当前的评估方法严重依赖于模拟器或PDDL文件,这也限制了智体在现实世界中的部署和应用。此外,如何对整个智体系统进行更细粒度的评估仍然是一个挑战。3)LLM 基础问题。虽然LLM在常识推理方面表现出色,但它们需要扎根于当前环境才能产生切合实际的输出。此外,由于现实世界的不确定性和动态变化,LLM必须能够根据实时反馈及时调整。然而,LLM 所需的对话数据与机器人技术所需的轨迹数据之间的不兼容性增加了落地的难度。
为了推动智能自主机器人的发展,本文提出 EMMOE 作为开放挑战,要求智体能够解读用户指令并在连续空间中执行长周期日常任务。此外,还手动收集 EMMOE-100,这是一个每日任务数据集,其中包含各种任务属性、详细的流程注释、对每个输出的分析以及故障后的重规划。
一个 EMMOE 和 EMMOE-100 的例子如图所示:
EMMOE 要求机器人仅基于语言指令和传感器观测,探索环境并执行各种开放词汇的移动操控任务。更具体地说,它结合了具身任务规划、具身决策、连续环境中的视觉-语言导航以及语言条件下的操控,对模型层面和智体系统的设计都提出很高的要求。
EMMOE-100 数据集
利用 Fetch 机器人(Fetch Robotics,2020)和 Habitat-Lab 2.0(Szot,2021)的交互式环境,收集 EMMOE-100 数据集,该数据集包含 100 个复杂的日常任务。从 Replica Challenge(Szot,2021)中抽样 100 个不同的场景来构建模拟环境。在每个场景中,设计一个日常的移动操作任务并收集数据。手动控制 Fetch 机器人在连续空间中完成所有任务,并将执行轨迹分解为离散的子任务,最终共获得 966 个子任务。每个子任务包含一个预定义的动作、一个目标和一个低级模型选择。除了执行描述之外,还标注四张第一人称视角图像和详细的推理过程。此外,特意设计一些失败的子任务,并提供了相应的重规划,以增强数据集的鲁棒性。为了解决基础问题,还基于 EMMOE-100 构建 SFT 和 DPO 子数据集。
为了增强任务多样性并更好地满足人类需求,设计具有五种不同属性的任务:短期任务,例如拿起某物并将其放置在某处。长期任务,至少包含十个子任务。开放式任务,允许多种可能的结果和解决方案。逻辑任务,提供模糊描述并需要逻辑推理。以自然对话风格描述的人性化任务。一个任务可以同时拥有多个属性,因为其中一些属性并不矛盾。下表详细比较与其他移动操作和具身任务数据集的比较。
评估指标
具身任务规划中最基本的指标,是成功率 (SR) 和目标条件成功率 (GC) (Shridhar,2020)。SR 衡量成功轨迹的比例,而 GC 衡量轨迹末端实现的目标条件的比例,只有 GC 达到 100% 时,轨迹才被视为成功。然而,GC 仅关注最终结果,并依赖于预定义的状态目标,因此无法满足 EMMOE 任务的要求,因为 EMMOE 任务需要细粒度且基于语言的评估。
虽然一些研究 (Li,2024a) 进行更细粒度的评估,但它们忽视具身任务规划的灵活性和连贯性,并且仍然依赖于抽象术语。单个步骤的成功可能不会对最终成功产生影响,并且与基本事实不同但可以通过其他方式完成任务的输出不应被视为错误。此外,对整个智体系统的细粒度评估仍然是一个挑战。为了克服这些限制并提供更加多样化的评估,提出以下新指标。
任务进步(TP):
一个关键路径 (keypath) ,定义为完成任务所需所有必要子任务的有序节点集。k_i 是任务 T 的关键路径集 K_T 中第 i 个关键路径,每个任务被分配多个关键路径,代表完成任务的不同方式。将执行轨迹与 k_i 中的子任务节点严格按顺序匹配。一旦 k_i 中的节点匹配成功,它将被添加到另一个有序集合 k_check 中,然后记录 k_check 的长度与 k_i 的长度之比。此过程将对集合 K_T 中的所有关键路径重复,并将最高比率作为轨迹的任务进步(TP)值。
只有当 TP 达到 100% 时,轨迹才会被视为成功。TP 既考虑执行过程的灵活性,也考虑每个步骤之间的关系。使用自然语言和执行结果进行评估的方式也简化新的任务设计,并使其能够在实际场景中进行评估,因为在实际场景中编写 PDDL 文件是不切实际的。
成功结束率(SER):
一个完全自主的机器人应该能够在适当的时机主动终止执行。否则,即使任务已经完成,机器人仍可能继续运行并陷入无限循环。因此,提出成功结束率 (SER) 来评估智体是否能够理解自身当前情况并合理地确定合适的任务终止时机。
SER 计算为成功轨迹的数量与智体认为成功轨迹数量的比率。一旦 SER 达到某个阈值甚至 100%,就不再需要辅助方法或指标来计算 SR。
成功重新规划率(SRR):
执行失败在现实世界中很常见,尤其是在陌生的环境中。因此,快速从失败中调整并持续适应新环境的能力至关重要。为了衡量智体的适应能力和泛化能力,提出成功重新规划率 (SRR),其计算方法如下:
SRR 代表了智体重规划的有效性和适应能力。当 SRR 达到 100% 时,表示智体能够适应所有失败情况并成功完成任务。
设计 HomieBot 是完成 EMMOE 任务。HomieBot 采用分层框架,并结合通信机制实现交错执行。高级规划 (HLP) 负责具身决策和规划调整,而低级执行 (LLE) 负责持续执行并向 HLP 提供反馈。其概览如图所示:
高级规划 (HLP)
长轨迹将被分解为多个子任务,智体必须持续与环境交互,并根据实时反馈调整规划,以确保生成的子任务切实可行。其设计精细的输入和输出指令,以便在执行过程中进行动态调整。选择 Video-LLaVA (Lin, 2023) 作为规划模型 M,并使用 SFT 和 DPO 子数据集进行微调。
多模态指令:为了帮助大语言模型 (LMM) 更好地理解当前情况,输入指令 I 如下:
I = {o_1∼4, s, T, inv, h, f}
在视觉部分,四个第一人称视角图像 o_1∼4 对应四个方向:前、左、后、右。在文本部分,系统信息 s 和用户任务 T 在整个对话过程中保持不变,提醒智体其责任。反馈 f 指示上次执行的状态以及失败时的详细错误信息,它还将用于更新 I 中的其他部分。清单 inv 反映智体当前持有的物品,主要是为了防止产生不合逻辑的操作,它会根据 f 和上次操作的类型进行更新。执行历史 h 记录所有先前的子任务及其结果。一旦收到 f,最后一个子任务及其结果将被记录在 h 中。此外,为了更好地贴合实际场景,禁止直接向 LMM 输入背景信息(例如原始物体数据、鸟瞰图等)。规划器必须探索环境并增强其内在能力,以生成更合理的输出。
Json 格式输出。考虑到不同的低级策略可能需要不同的信息格式,并且为了方便替换和维护每个模块,将输出定义为以下统一格式:
O = M(I) = {A, S, m}, S = {action, target}
A 表示对每个输出的分析,其灵感来自 CoT (Wei, 2022) 工作。在生成最终输出之前,规划器模型 M 需要总结之前的执行情况和当前情况,分析下一步行动,并提出后续子任务 S。为了确保输出的可行性,每个子任务中的动作必须从可用的动作列表中选择。同样,表示所选低级模型或策略的 m 也限制在给定的模型列表中。目标可以是物体或点,它应该在提供的图像中可观察到,并且被认为是完成任务所必需的。
低级执行 (LLE)
LLE 会将 HLP 中的 S、m 和 inv 转换为精确的模型调用指令。错误检测将在执行过程的不同阶段应用,以监控执行过程。执行完成或失败后,环境图像和反馈将被发送回 HLP。根据模拟器的支持情况设置六种技能(详见下表)。由于所需信息因模型而异,并且会显著影响模型性能,因此建立两种不同的设置以确保公平性。
基于背景信息的执行。更具体地说,基于背景信息的执行,意味着所选模型需要目标的精确位置和状态信息。由于 M3 (Gu, 2022) 在 Habitat 中利用背景信息时在所有预定义技能中均表现出色,因此选择它作为此设置下的唯一模型选择。为了确保 M3 能够识别自然语言风格 target,为 target 实现名称映射,并调整了其原始设置,使其更符合任务的要求。除了文本和图像数据外,LLE 还以视频格式捕获每个步骤的执行过程和整个轨迹数据。这意味着 HomieBot 有可能弥合机器人数据和 LMM 数据之间的差距,因为整个执行过程是完全自动化和带注释的,用户只需设置场景和输入指令。视频数据可用于机器人中的 IL,而文本和图像数据可用于 LMM 训练。
无背景信息的执行。无背景信息意味着智体只能依靠其传感器捕获的信息和低级模型的固有能力来完成任务。如下表所示,设置两个操作模型和两个导航模型。对于操作,RT-1-X (Padalkar, 2023) 用于 Pick 和 Place,而 Octo (Team, 2024b) 用于 Open 和 Close。
对于导航,NoMaD(Sridhar,2024)专注于图像导航,适用于目标为点或大型物体的情况。PixNav(Cai,2024)擅长像素级和物体导航,因此非常适合目标为可检测物体的情况。
由于机器人在现实世界中的部署始终要求很高的实时性,并且受到硬件限制的制约,倾向于选择轻量级模型,而不是目前流行的 VLA 模型。这种方法有助于防止系统变得过于繁重。此外,将长远任务分解为动作原语也可以降低对低级模型的性能要求。与通用的端到端模型相比,专门的轻量级模型可以在完成操作的同时减少时间成本。
错误检测。为了方便与 HLP 通信并提供更详细的错误信息,进一步将常见错误分为四种主要类型和几种子类型。
逻辑错误
L1:智体双手已满,但仍尝试拾取/打开/关闭;
L2:智体未持有任何物品,但尝试放置;
L3:智体尝试拾取/放置封闭容器中的物体;
L4:智体尝试与非交互物体交互。
距离错误
D1:智体站得太远,无法够到目标;
D2:智体距离目标太近,交互过程中手臂无法正常伸展。
格式错误
F1:输出动作或模型不在可用列表中;
F2:输出目标在当前场景中不存在或无法被低级模型识别。
执行错误
E1:低级模型或策略能力有限导致失败;
E2:执行失败可能导致库存信息被意外更新。
此外,由于这些错误可能发生在不同的阶段,还在执行过程中进行多个错误检测阶段。
数据增强
SFT 增强。前期工作(Zhang, 2024c)表明,标准化的数据格式将显著提升模型训练和评估的效果。因此,编写一个统一的脚本,将原始 EMMOE-100 数据转换为固定格式的对话数据。在此过程中,所有失败的子任务将被跳过,因为它们被视为 SFT 数据集的垃圾数据。最初通过这种方式获得 930 份 SFT 数据,但这仍然不足以用于 LLM 的训练。为了扩充数据集,使用 GPT-4o(Achiam et al., 2023)对任务的文本描述和每个子任务的分析进行了三次重新生成。这种方法不仅增强指令的多样性,使 LLM 能够适应不同的用户输入风格,还有助于避免引入额外的误差或不一致。最终,总共获得 3,720 份 SFT 数据。
DPO 增强。DPO (Rafailov, 2024) 训练对数据格式有严格要求,必须包含提示、选择和拒绝。对于第 i 个子任务及其输入指令 I_i,如果输出 O_i 执行失败,但下一个输出 O_i+1 经过重规划后成功,将选择 I_i 作为提示,O_i 作为拒绝,O_i+1 作为选择。虽然这种方法与偏好数据的概念很契合,但重规划的数据比例相对较低。因此,利用以下方法构建新的 DPO 数据。顺序更改:打乱成功子任务的顺序,将成功的输出 O_i 视为选择,将 O_i+1 视为拒绝。这种方法旨在帮助 LLM 学习子任务之间的逻辑关系,特别是最佳动作顺序。动作更改:为了标准化规划器模型的输出并减少动作列表之外的响应,将子任务中的动作替换为非标准名称或可用列表之外的动作。模型变更:为了使 LLM 能够针对特定场景选择合适的低层模型,将模型列表中的模型替换为同类型的模型。最终,获得总共 10,104 个 DPO 数据。
模型训练
从 EMMOE-100 数据集中选取 90 个任务作为训练任务。总共获得 3,316 个 SFT 训练数据和 8,984 个 DPO 训练数据。之后,选择 Video-LLaVA-7B (Lin et al., 2023) 作为基础模型,并进行两阶段训练。在第一阶段,在 4×NVIDIA A40 上以 5e-4 的学习率对基础模型进行微调。在第二阶段,将微调后的模型与 DPO 对齐,并以 5e-6 的学习率进行训练。为了防止灾难性遗忘并保持模型的固有能力,两个阶段均应用 LoRA(Hu,2021),其中第一阶段 LoRA 秩设置为 128,α 设置为 256;第二阶段 LoRA 秩设置为 8,α 设置为 8。
设置
指标。除了 SR、TP、SER 和 SRR 之外,还选择路径长度加权 SR (PLWSR)(Shridhar,2020)作为评估指标之一。PLWSR 定义为 SR ×(成功轨迹长度)/ max(专家轨迹长度,成功轨迹长度),用于衡量智体与专家在成功轨迹方面的能力差距。
基线。高级规划器:模块化框架和通信机制极大地方便 HomieBot 中各种 LMM 的部署。选择四个具有代表性的 LMM 作为基线规划器:GPT-4o (Achiam et al., 2023)、Gemini-1.5-Pro (Team et al., 2024a)、Qwen2-VL-7B (Wang et al., 2024b) 和 MiniCPM-V 2.6 (Yao et al., 2024)。GPT-4o 和 Gemini-1.5-Pro 在根据格式要求进行微调后即可轻松集成到 HomieBot 中。通过利用上下文学习能力并为每个推理提供输出示例,其他两个模型也可以部署在系统中。低级执行器:从 M3 (Gu et al., 2022) 中提取单个技能并修改其实现。原始技能需要目标的初始和最终状态。映射目标名称以获取特定的背景信息并选择最近的目标。此外,机械臂每次执行后都会重置,以提高成功率。还会在每次执行之间传递所有环境状态信息,以确保环境一致性。
评估基准。EMMOE-100 中的所有任务都将用于评估,其余 10 个未训练的任务将作为测试集。每个任务执行 3 次,每次最多 20 步,平均执行结果将用于最终计算。