机器人

使用 NVIDIA Isaac Lab-Arena 简化通用机器人策略的仿真评估

通用机器人策略需要能够处理多种任务,适应不同形态的机器人,并在多样化的环境中运行。因此,仿真评估过程必须具有可扩展性且易于复现。目前,建立大规模的策略评估流程既繁琐又依赖人工。如果缺乏系统化的方法,开发者将不得不以高昂成本构建定制化基础设施,即便如此,任务库的复杂性和多样性仍不足。

本文将介绍 NVIDIA Isaac Lab-Arena,专为仿真环境中实现高效、可扩展的机器人策略评估而设计的开源框架。该框架建立在 NVIDIA Isaac Lab 之上,由 NVIDIA 与光轮智能共同开发。它提供了用于任务管理、任务多样化以及大规模并行评估的简化 API。现在,开发者无需承担系统构建的高昂成本,即可快速构建复杂的基准测试原型。本文还将展示一个涵盖环境设置、可选的策略后训练以及闭环评估的端到端示例工作流。

Isaac Lab-Arena 概览与核心优势

Isaac Lab-Arena 的 Pre-alpha 版本正式上线,我们诚邀社区参与其路线图的规划。同时,我们正与基准测试作者合作,在 Isaac Lab-Arena 上实现并开源他们的评估方法,从而构建一个不断扩大的生态系统,让研究者能够在统一的核心上使用现成的基准测试和共享的评测方法。

Isaac Lab-Arena 具备以下核心优势包括:简化任务管理、实现自动化的多样化处理、支持大规模基准测试、与数据生成和模型训练无缝集成。后续将详细说明。

  • 简化任务管理(从零到一):
    • 模块化:框架采用乐高式的模块化架构,取代了传统的单体式任务描述。系统能够通过独立的物体、场景、本体和任务模块,动态构建 Isaac Lab 环境。
    • 泛化性:通过 Affordance 系统(如“可开启”、“可按压”)实现标准化交互,使任务能够适配到各种不同的物体上。
    • 可扩展性:记录的指标与数据均可灵活扩展。用户可根据需要,对仿真过程和分析结果进行精细化的控制。
  • 自动化的多样化处理(从一到多):可轻松混搭各类组件,将同一任务应用于不同的机器人或物体。例如,无需重写代码,即可从家庭场景中的“开易拉罐”任务,无缝切换到工业流程任务。未来,团队计划利用基础模型自动生成多样化且真实的训练任务。
  • 大规模与策略无关的并行基准测试:支持在数千个并行仿真环境中评估任意机器人策略,从而实现高吞吐量的 GPU 加速评估。当前版本支持同构的并行环境(允许进行参数变化)。
  • 用户可以在统一的核心架构上,获取社区基准测试和共享的评估方法。
  • 宽松的开源许可:开发者可以自由使用、分发该框架,并为框架的开发做出贡献。
  • 与数据生成和训练无缝集成:尽管 Isaac Lab-Arena 的核心功能是任务配置与评估,但它与数据生成及训练框架紧密集成。这种集成实现了无缝的闭环工作流,涵盖从 Isaac Lab-Teleop、Isaac Lab-Mimic 到 NVIDIA Isaac GR00T N 系列模型的后训练与推理全过程。
  • 灵活的部署选项:支持在本地工作站或云原生环境(如 OSMO)中部署,便于实现 CI/CD。此外,它还可集成至如 LeRobot Environment Hub 等排行榜和分发平台。

 1. NVIDIA Isaac Lab-Arena 开源框架致力于在仿真环境中实现高效、可扩展的机器人策略评估

生态系统发展

NVIDIA 正与各基准测试作者合作构建并发布基于 Isaac Lab-Arena 的评估方案,包括经过仿真到现实验证的评估方法、任务与数据集,以方便社区在统一的核心架构上进行复用与扩展。这些方案将涵盖工业及研究领域的移动、机械臂与移动操作等多个方向的基准测试。

光轮智能作为 Isaac Lab-Arena 框架的共同开发者,已正式采用该框架。通过 Lightwheel-RoboCasa-Tasks 和 Lightwheel-LIBERO-Tasks 套件,该公司已创建并开源了超过 250 项任务,并计划未来将其确立为正式基准测试。目前,光轮智能正使用 Isaac Lab-Arena 开发 RoboFinals,这是一个旨在反映复杂真实世界环境的工业级基准测试。

 2. 光轮智能任务套件中基于 Isaac Lab-Arena 构建的丰富且泛化能力强的厨房环境

Isaac Lab-Arena 环境现已集成至 Hugging Face LeRobot Environment Hub。开发者可以轻松注册基于该框架构建的自定义环境,并利用持续扩充的环境库,对包括 Isaac GR00T N、pi0 和 SmolVLA 在内的机器人策略进行后训练与评估。更多详细信息,请参阅 LeRobot 文档

NVIDIA 正通过 Hugging Face 平台为数百万开发者提供开放机器人模型与数据集,推动机器人领域成为该平台上增长最快的类别之一

RoboTwin 正使用 Isaac Lab-Arena 构建 RoboTwin 2.0 的扩展版本(大规模具身智能仿真基准测试 ),以及其他复杂的多步骤任务基准测试。目前正计划发布开源版本,相关的论文提交与代码更新工作也在同步推进中。

此外,通用具身智能体研究中心(GEAR)等 NVIDIA 研究中心实验室也在使用 Isaac Lab-Arena。他们旨在对 Isaac GR00T N 系列视觉-语言-动作模型进行基准测试,从而在大规模场景下评估人形机器人的推理与技能执行能力。

NVIDIA 西雅图机器人实验室(SRL)正将其在语言条件任务套件及评估方法方面的研究成果集成到 Isaac Lab-Arena 中,用于通用机器人策略的基准测试。

Isaac Lab-Arena 的未来规划

当前发布的 Pre-alpha 版本是功能相对有限的早期框架形态。我们有意以此作为实际起点,邀请开发者进行试用、提供反馈,并共同参与框架未来的设计与发展。

框架计划引入构建复杂任务库所需的核心功能,包括:通过自然语言指令放置物体、通过组合基本技能实现复合任务的编排、强化学习任务的设置,以及并行异构评估(例如,在不同并行环境中使用不同的物体)。

从长远来看,团队致力于探索更智能体化、更神经化的方法,以进一步扩展评估的规模。例如,利用 NVIDIA Cosmos 实现由世界模型驱动的神经仿真与场景生成。此外,团队还将借助 NVIDIA Omniverse NuRec 实现从现实到仿真的构建,从而创建与真实世界高度一致的镜像仿真环境。社区的积极参与和反馈对于技术的发展至关重要。

如何利用 Isaac Lab-Arena 设置任务并进行大规模策略评估

本节将展示一个端到端的示例工作流,利用 GR1 机器人评估 Isaac GR00T N 系列模型在“打开微波炉门“这一操作技能上的表现。该工作流涵盖环境设置、可选的策略后训练以及闭环评估。

 3. GR1 机器人在 Isaac Lab-Arena 中开启微波炉门

第一步:环境创建与多样化

请按照“GR1 开启微波炉门”任务的先决条件,克隆仓库并运行 Docker 容器。随后,通过组合不同模块在 Isaac Lab-Arena 中构建环境。您需要将一个具备“可开启”与“可按压”交互特质的物体(微波炉)放置在特定场景(厨房)中,并结合机器人本体(GR1 机器人)来执行指定任务(开启微波炉门)。用户还可根据需要,添加基于远程操作的数据采集配置。

获取资产:

background = self.asset_registry.get_asset_by_name("kitchen")()
microwave = self.asset_registry.get_asset_by_name("microwave")()
assets = [background, microwave]
 
embodiment = self.asset_registry.get_asset_by_name("gr1_pink")(enable_cameras=args_cli.enable_cameras)
teleop_device = self.device_registry.get_device_by_name("avp")()

想要了解详细信息,请参阅 Assets Design 与 Affordances Design

放置物体:

microwave_pose = Pose(
    position_xyz=(0.4, -0.00586, 0.22773),
    rotation_wxyz=(0.7071068, 0, 0, -0.7071068),
)
microwave.set_initial_pose(microwave_pose)

构建场景:

scene = Scene(assets=assets)

创建任务:

task = OpenDoorTask(microwave, openness_threshold=0.8, reset_openness=0.2)

任务封装了物体、成功标准,以及终止逻辑、事件和指标。更多详情,请参阅 Task Design

最后,将这些独立的组件整合起来,即可构建出完整的可运行环境:

isaaclab_arena_environment = IsaacLabArenaEnvironment(
    name=self.name,
    embodiment=embodiment,
    scene=scene,
    task=task,
    teleop_device=teleop_device,
)

接下来,利用测试数据集来运行该环境。

首先,下载测试数据集:

hf download \
    nvidia/Arena-GR1-Manipulation-Task \
    arena_gr1_manipulation_dataset_generated.hdf5 \
    --repo-type dataset \
    --local-dir $DATASET_DIR

运行该环境:

python isaaclab_arena/scripts/replay_demos.py \
  --device cpu \
  --enable_cameras \
  --dataset_file "${DATASET_DIR}/arena_gr1_manipulation_dataset_generated.hdf5" \
  gr1_open_microwave \
  --embodiment gr1_pink

机器人将基于 NVIDIA 采集的遥操作数据,来执行开启微波炉的任务。

若需了解创建新环境所涉及的技术细节与设计原则,请参阅官方教程文档

跨机器人、物体及场景的高效扩展任务

以下示例将展示如何在不重构环境或工作流的情况下,轻松替换任务中的物体或机器人。

示例 1 – 将操作对象从微波炉切换为 power_drill:

background = asset_registry.get_asset_by_name("kitchen")()
embodiment = asset_registry.get_asset_by_name("gr1_pink")()
power_drill = asset_registry.get_asset_by_name("power_drill")()
assets = [background, power_drill]

 4. 操作对象已从微波炉更换为电钻

示例 2 – 将机器人本体从 GR1 更换为 Franka 机械臂,并将操作对象更换为cracker_box:

background = asset_registry.get_asset_by_name("kitchen")()
embodiment = asset_registry.get_asset_by_name("franka")()
cracker_box = asset_registry.get_asset_by_name("cracker_box")()
assets = [background, cracker_box]

 5. 机器人本体已从 GR1 更换为 Franka 机械臂

示例 3 – 将背景从厨房切换为工业包装台:

background = asset_registry.get_asset_by_name("packing_table")()
embodiment = asset_registry.get_asset_by_name("gr1_pink")()
cracker_box = asset_registry.get_asset_by_name("power_drill")()
assets = [background, cracker_box]

 6. GR1 机器人现处于工业环境而非厨房场景中

第二步:可选的策略后训练

虽然 Isaac Lab-Arena 的核心功能聚焦于任务设置与策略评估,但如果您的策略在评估前需要进行后训练,该环境也能够与数据采集、数据生成及后训练流程无缝集成。您可以按以下步骤操作:

第三步:在并行环境中执行评估

接下来的步骤是对训练完成的策略进行评估。需要注意的是,该框架支持评估任何已训练好的机器人策略。

方案 1 – 在单个环境中测试策略:

python isaaclab_arena/examples/policy_runner.py \
  --policy_type gr00t_closedloop \
  --policy_config_yaml_path isaaclab_arena_gr00t/gr1_manip_gr00t_closedloop_config.yaml \
  --num_steps 2000 \
  --enable_cameras \
  gr1_open_microwave \
  --embodiment gr1_joint

方案 2 – 在多个并行的同质环境中测试策略:

python isaaclab_arena/examples/policy_runner.py \
  --policy_type gr00t_closedloop \
  --policy_config_yaml_path isaaclab_arena_gr00t/gr1_manip_gr00t_closedloop_config.yaml \
  --num_steps 2000 \
  --num_envs 10 \
  --enable_cameras \
  gr1_open_microwave \
  --embodiment gr1_joint

开始使用 NVIDIA Isaac Lab-Arena

Isaac Lab-Arena 的 Pre-alpha 版本现已开源。我们诚邀您加入,共同参与并指引其未来的设计与开发。如需使用该框架,可参阅 GitHub 代码库相关文档

  • 欢迎通过 GitHub Issue 反馈漏洞或建议功能优化,也欢迎提交 pull request 来贡献您的修改。
  • 基于 Isaac Lab-Arena 创建任务或经过仿真到现实验证的基准测试,并将其开源,共同构建一个即插即用的机器人学习任务共享生态。
  • 任务发布至排行榜或 LeRobot Environment Hub 等评估平台,提升任务的可见度,并便于在共享工作流与注册表上运行。

订阅我们的新闻通讯,并在 LinkedInInstagramX  Facebook 上关注 NVIDIA Robotics,以获取最新动态。您还可以查阅 NVIDIA 文档 YouTube 频道,或加入 NVIDIA 开发者机器人论坛。若想开启机器人开发之旅,欢迎立即报名参加我们免费的 NVIDIA 机器人基础课程

立即开始使用 NVIDIA Isaac 库与 AI 模型,开发物理 AI 系统。

观看 NVIDIA CES 直播,了解更多信息。

标签