跳到正文
RadarAI· Hugging Face 社区博客(混合发现)·· 4 小时前AI 评分52

NVIDIA Isaac Lab 3.0 教程:训练 Microduck 行走策略并部署到真机

AI 导读

Pollen Robotics 与 Hugging Face 联合 NVIDIA 发布教程,讲解用 Isaac Lab 3.0 和 Newton 训练开源双足机器人 Microduck 的行走策略并部署到实机。

正文 · AI 翻译

Hugging Face 社区博客·2026-10-22 01:58· 1 小时前AI 评分53

在仿真中训练,在真实机器人上部署:使用 Isaac Lab 3.0 的 Microduck

AI 导读

Pollen Robotics 与 Hugging Face 联合 NVIDIA 发布教程,讲解用 Isaac Lab 3.0 和 Newton 训练开源双足机器人 Microduck 的行走策略并部署到实机。

正文 · 原文

hero 本文与 Antoine Pirrone、Augustin Crampette、Matthieu Lapeyre、Coralie Deplanne、Anne-Charlotte Passanisi 和 Thomas Wolf 合作撰写。

TL;DR

Microduck 是 Pollen Robotics 与 Hugging Face 新发布的一款价格亲民的开源双足机器人。现在你可以用 Isaac Lab 和 Newton 训练 Microduck 行走。测试策略,将其导出为 ONNX,并部署到真实机器人上。在 Hugging Face Hub 上分享它,或在 Microduck Arena 中验证其参赛资格,然后借助 NVIDIA Isaac Lab 探索更高级的任务。

简介

在仿真中训练出的行走策略还必须应对真实机器人舵机的摩擦、延迟和机械间隙。NVIDIA Isaac Lab 是一个开源框架,可在数千个 GPU 并行仿真中训练策略。借助 Newton、执行器建模和域随机化,开发者可以为真实硬件准备策略。Microduck 让这一工作流落地:在仿真中训练行走策略,将其导出为 ONNX,并部署到真实双足机器人上。

本教程将带你使用 Isaac Lab 和 Newton 训练并评估 Microduck,然后导出策略用于部署。之后,你可以在 Hugging Face Hub 上分享模型,测试其兼容性并在 Microduck Arena 中参赛,或将其用于你自己的 Microduck。行走只是起点——文中附有相关示例,帮助你探索更多 Isaac Lab 3.0 的功能。

1. 安装 Isaac Lab 并准备 Microduck 训练

对于仿真和训练部分,你需要:

  • 一台配备受支持 NVIDIA GPU 和驱动的 Linux 工作站。参见要求。

  • Git 和 uv。

对于部署,你还需要:

  • 一台配置好的实体 Microduck。

  • 其板载机器人软件已安装并可正常工作。

  • 受支持的控制接口,例如已配对的游戏手柄。

快速安装

在配备受支持 NVIDIA GPU 和驱动的 Linux 上,安装 uv(如果已可用,请跳过前两行),克隆 Isaac Lab,并安装其依赖项:

curl -LsSf https://astral.sh/uv/install.sh | sh
source "$HOME/.local/bin/env"
git clone --branch develop https://github.com/isaac-sim/IsaacLab.git
cd IsaacLab
uv sync

确认 Microduck 任务和预设可用:

uv run isaaclab list_envs --keyword MicroDuck --show_presets

2. 了解可直接训练的 Microduck 环境

Isaac Lab 已提供 Microduck 的机器人模型、场景、观测、动作、奖励和域随机化。从平地行走任务开始;崎岖变体则增加了楼梯、斜坡和不平坦地形。

A closer elevated view of Microducks scattered across a flat checkerboard floor on the left, beside Microducks spread across gray, uneven square blocks on the right.

图 2. 并排展示的 Microduck 环境:平地(左)和不平坦地形(右)。

该策略接收 61 个观测值并输出 14 个关节位置。在导出和部署时,请保持观测顺序、归一化和动作缩放一致。完整的观测、奖励和仿真设置参见Microduck 任务配置。

3. 利用并行 Isaac Lab 环境加速运动训练

Isaac Lab 通过在 GPU 上并行运行仿真环境,加速 Microduck 的运动训练。Isaac Lab 还可以跨 GPU 进行分布式训练,例如使用 16 块 GPU 训练,以加快训练速度并提高鲁棒性。在此配置下,在启用崎岖地形和齿隙的情况下,我们每秒可达到高达 125 万步。

在本教程中,我们使用 Newton 配合 MJWarp 求解器以及 基于 Newton 的改进执行器模型 (BAM) 来建模伺服响应,并结合齿隙预设,通过建模固件控制器、电机电气限制、摩擦和延迟,将位置目标转换为真实的伺服扭矩。为了让策略能够从仿真迁移,我们使用了域随机化。对每只鸭子,我们随机化质量/质心、地面摩擦、关节惯量、编码器偏移、电池电压/压降和指令延迟。我们还改变地形并施加推力;以及按关节独立改变齿隙,以表示不均匀磨损。

齿隙是齿轮箱中的机械间隙,当关节改变方向时,传动装置在啮合前可能会轻微移动。在训练期间对这种效应建模并在各关节间改变它,可使策略接触到其在真实机器人上可能遇到的差异。

运行此命令开始训练:

uv run isaaclab train \
  --rl_library rsl_rl \
  --task IsaacContrib-Velocity-Rough-MicroDuck \
  --num_envs 4096 \
  presets=backlash

我们使用崎岖地形进行部署,但您也可以使用此命令训练平坦地形环境:

uv run isaaclab train \
  --rl_library rsl_rl \
  --task IsaacContrib-Velocity-Flat-MicroDuck \
  --num_envs 4096 \
  presets=backlash

4. 评估 Microduck 行走策略并将其导出为 ONNX

要在物理机器人上部署 Microduck 行走策略,请在仿真中评估后将其导出为 ONNX。Isaac Lab 的 RSL-RL 回放工作流会自动导出 TorchScript (policy.pt) 和 ONNX (policy.onnx) 文件。将 policy.onnx 与 Microduck 的板载运行时配合使用,保持观测顺序、归一化和动作缩放与训练时一致。

在 Newton 可视化器中运行最新的检查点:

uv run isaaclab play \
  --rl_library rsl_rl \
  --task IsaacContrib-Velocity-Rough-MicroDuck \
  --checkpoint latest \
  --num_envs 16 \
  --viz newton_gl \
  presets=backlash

将 latest 替换为特定检查点的路径。

A wide simulation view of Microducks walking across gray terrain made of uneven square blocks.

图 4. Microduck 在仿真中于崎岖地形上执行行走策略。

为 Microduck 导出策略

对于部署,我们将使用崎岖地形环境的策略。当前的 RSL-RL 回放实现会将 TorchScript 和 ONNX 文件导出到与所选运行关联的 exported 目录:

exported/
├── policy.pt
└── policy.onnx

Microduck 的板载运行时加载 ONNX 策略。使用 policy.onnx 进行硬件交接。自动导出在 Isaac Lab 的 RSL-RL 回放后端中实现。

5. 在 Hugging Face 上分享策略并在 Microduck Arena 中评估它们

导出 policy.onnx 后,您可以:

  • 在 Microduck Arena 中比较它,这是一个 Hugging Face Space,用于在共享挑战中测试兼容策略并比较排行榜结果。Arena 接受具有 61 个观测值、14 个动作值且最大大小为 64 MiB 的模型。按照提交指南检查兼容性并参加挑战。

  • 在真实的 Microduck 上运行它。在检查第 4 节中的观测和动作接口后,将 ONNX 文件与机器人的板载运行时配合使用;第 6 节涵盖迁移到硬件。

  • 在 Hugging Face Hub 上分享它。上传您的策略,以便他人发现和下载。我们建议添加一个简短的模型卡片,说明如何使用它。您还可以包含训练配置,以帮助他人复现您的结果。

6. 在真实的 Microduck 上部署 ONNX 运动策略

在仿真中验证策略并检查其接口(第 4 节)后,将 policy.onnx 部署到已配置的 Microduck:

  1. 从你的工作站复制该策略,将 ROBOT_HOST 替换为机器人的主机名或 IP 地址:
scp exported/policy.onnx microduck@ROBOT_HOST:/home/microduck/my_walking.onnx
  1. 连接到机器人并检查其当前策略:
ssh microduck@ROBOT_HOST
robotctl policy list
  1. 将机器人支撑在其支架上,然后加载行走策略。如果它已经在行走,加载会使其回到初始姿态并恢复运动。
sudo robotctl policy load walk /home/microduck/my_walking.onnx
  1. 使用文档中说明的控制方式测试站立、慢速行走、转向和停止。监控其状态;如有需要,恢复默认行走策略:
robotctl monitor
sudo robotctl policy reset walk

按照 Microduck 策略加载指南 进行运行时设置和行为配置。图 5 展示了所部署策略对跌倒的鲁棒性:Microduck 被撞倒后能重新站稳并恢复行走。

A physical Microduck walks and turns on a gray carpeted office floor.

图 5. 真实的 Microduck 使用在 Isaac Lab 中训练的运动策略行走。

7. 使用 Isaac Lab 将 Microduck 训练扩展到崎岖地形和感知任务

Isaac Lab 3.0 解锁了跨运动、灵巧操作和基于视觉任务的 GPU 并行机器人学习,具备可扩展环境和可配置的物理与渲染后端。探索这些示例和工具:

  • 更复杂的运动:为楼梯、斜坡和不平坦地面调整 Microduck 的崎岖地形任务,并采用逐步增加地形难度的课程。

  • 感知与导航任务: 用头部相机深度和机器人状态观测扩展 Microduck 的行走策略,以在仿真中探索基于感知的任务。下方 GIF 展示了斜坡穿越。在 Kuka–Allegro 示例 中探索基于相机的观测,以实现视觉驱动的操作。

  • 灵巧操作:尝试 Kuka–Allegro 提升与重新定向任务,训练机械臂和多指手操作物体。

  • 自定义环境:使用项目生成器构建你自己的任务,然后从 SimReady Central Library 添加仿真就绪(SimReady)资产,并针对新挑战定制观测和奖励。

Video of a Microduck standing in front of a small platform in a simulated environment in Isaac Lab. As the Microduck starts walking up the ramp, the video zooms out to show multiple Microducks and different ramps and platforms in the simulation.

图 7. NVIDIA Isaac Lab 中的并行训练让仿真 Microduck 练习穿越不同的斜坡和平台,同时学习保持平衡并避免跌倒

A simulated Microduck moves through a scene containing ramps, equipment cases, and metal stands. An external view fills the upper panel; the lower panels show RGB imagery, a grayscale depth map, and color-coded segmentation.

图 8. 仿真中的 Microduck 感知任务,上方为外部视图,下方为 RGB、深度和分割视图。

构建你的下一个行走策略

从 Isaac Lab 中的 Microduck 任务开始,训练你的第一个行走策略,并将导出的 ONNX 模型分享到 Hugging Face Hub。在 Microduck Arena 中验证它,参加挑战,看看你的策略表现如何。然后在你所学的基础上继续构建——尝试更崎岖的地形、添加感知,或创建你自己的任务。

资源

致谢

该工作流基于 Pollen Robotics 的 Microduck 硬件与软件、最初的 Microduck 强化学习项目、BAM 执行器建模工作,以及 Isaac Lab 和 Newton 集成。

来源:Hugging Face 社区博客 · huggingface.co

来源:RadarAI · aihot.news