通过百舸平台快速开始 WBC-AGILE 训练
一、产品简介
WBC-AGILE(AGILE: A Generic Isaac-Lab based Engine for humanoid loco-manipulation learning)是一个基于 NVIDIA Isaac Lab 的人形机器人全身控制(Whole-Body Control)强化学习框架,可用于训练人形机器人运动控制、移动操作(Loco-Manipulation)、全身协调控制与 Sim-to-Real 控制策略。
WBC-AGILE 支持 Booster T1、Unitree G1 等机器人形态,并提供 Teacher-Student 蒸馏、历史观测、RNN 策略、模型评估、HTML 报告等能力,适合在人形机器人运动控制、全身控制策略验证和仿真到真实迁移等场景中使用。
二、快速开始
环境准备与开发机创建
推荐硬件配置
| 配置项 | 最低要求 | 推荐配置 |
|---|---|---|
| GPU | 1 * L20 或更高规格的加速卡 | 8 * L20 或更高规格的加速卡 |
| 内存 | 32GB | 64GB+ |
| CPU | 8 核 | 16 核+ |
| 存储 | 100GB+ | 200GB+(含数据集与 USD 资产) |
1.1 创建开发机
打开百舸控制台 → 进入开发机页面 → 点击【创建实例】,按以下信息配置:
基本信息:
| 配置项 | 填写说明 |
|---|---|
| 实例名称 | 自定义命名,例如 wbc-agile-dev |
| 资源池类型 / 资源池 / 队列 | 根据您已有的资源池类型选择 |
| 资源规格 | 按上方推荐硬件配置选择 |
| 云磁盘 | 推荐预留 100GiB 以上,若需要完整数据集与资产,建议 200GiB+ |
提示:WBC-AGILE 依赖 Isaac Sim / Isaac Lab 运行环境,建议优先选择百舸官方提供的预置镜像,避免用户在开发机内自行安装 Isaac Sim、Isaac Lab 和 CUDA 依赖。
1.2 登录开发机
创建成功后,在开发机列表中找到刚创建的实例,等待状态变为「运行中」后,点击【登录】进入终端。
提示:如果开发机状态长时间处于「创建中」,请检查资源池是否有可用资源,或联系资源池管理员确认队列配额。
1.3 开始操作
进入 WBC-AGILE 项目目录:
1cd /workspace/agile
第一步:下载资源
使用 bcecmd 从 BOS 同步训练所需数据集和 USD 资产。
1. 下载 AMASS_G1 数据集
1mkdir -p /workspace/datasets
2
3bcecmd bos sync \
4 bos:/aihc-rdw-bj/huggingface.co/datasets/fleaven \
5 /workspace/datasets/
2. 下载 Isaac Sim / Isaac Lab USD 资产
1mkdir -p /workspace/nucleus_assets
2
3bcecmd bos sync \
4 bos:/aihc-rdw-bj/agile/nucleus_assets \
5 /workspace/nucleus_assets/
USD 资产目录建议保持如下结构:
1/workspace/nucleus_assets/
2└── Isaac/
3 ├── Environments/
4 ├── Materials/
5 ├── Props/
6 ├── IsaacLab/
7 └── Robots/
该目录通常包含:
- G1 Robot
- Booster T1
- Warehouse 场景
- YCB 道具
- DexCube
- Isaac Lab 运行所需资产
说明:原始开源项目文档中同时提到
AMASS_G1 Dataset和Retargeted AMASS for Robotics。在快速开始场景中,用户只需要下载百舸提供的AMASS_G1数据集即可;Retargeted AMASS for Robotics是其上游原始数据来源说明,不作为本文的独立下载步骤。百舸官方文档中统一改为 BOS 下载方式,后续实际发布时请以百舸提供的 BOS 路径为准。
第二步:验证下载文件
执行以下命令确认数据集与 USD 资产已正确下载:
1ls /workspace/datasets/AMASS_G1/
2ls /workspace/nucleus_assets/Isaac/
第三步:配置 Isaac Sim 资产路径
训练前执行以下命令,将 Isaac Sim 默认云端资产路径重定向到本地 BOS 下载的 USD 资产目录:
1mkdir -p /root/.nvidia-omniverse/config
2
3cat > /root/.nvidia-omniverse/config/user.toml <<'TOML'
4[persistent.isaac.asset_root]
5cloud = "/workspace/nucleus_assets"
6TOML
配置完成后,WBC-AGILE 训练脚本会优先从本地目录加载机器人、场景和道具资产,减少外部网络依赖。
第四步:启动训练
WBC-AGILE 训练统一通过 Isaac Lab 启动脚本执行。
单卡快速验证
以下命令用于快速验证训练流程,适合功能验证和调试:
1/workspace/isaaclab/isaaclab.sh -p scripts/train.py \
2 --task Velocity-T1-v0 \
3 --max_iterations 5 \
4 --num_envs 16 \
5 --headless
G1 机器人速度跟踪训练
1/workspace/isaaclab/isaaclab.sh -p scripts/train.py \
2 --task Velocity-G1-History-v0 \
3 --max_iterations 100 \
4 --num_envs 256 \
5 --headless
Booster T1 速度跟踪训练
1/workspace/isaaclab/isaaclab.sh -p scripts/train.py \
2 --task Velocity-T1-v0 \
3 --max_iterations 100 \
4 --num_envs 256 \
5 --headless
Booster T1 起身任务训练
首次运行起身任务时会自动生成 fallen state 缓存:
1/workspace/isaaclab/isaaclab.sh -p scripts/train.py \
2 --task StandUp-T1-v0 \
3 --max_iterations 100 \
4 --num_envs 256 \
5 --headless \
6 agent.fallen_state_dataset_cfg.num_spawns_per_level=1 \
7 agent.fallen_state_dataset_cfg.fall_duration_s=0.1 \
8 agent.fallen_state_dataset_cfg.cache_enabled=False
第五步:评估模型
训练完成后,可使用以下命令评估模型效果:
1/workspace/isaaclab/isaaclab.sh -p scripts/eval.py \
2 --task Velocity-T1-v0 \
3 --num_envs 32 \
4 --checkpoint <checkpoint_path>
其中 <checkpoint_path> 替换为训练输出目录下的模型权重路径。
三、常用任务列表
3.1 Velocity-G1-History-v0
G1 机器人速度跟踪任务,使用历史观测输入。
1--task Velocity-G1-History-v0
3.2 Velocity-Height-G1-v0
G1 机器人速度 + 高度跟踪任务。
1--task Velocity-Height-G1-v0
3.3 Velocity-Height-G1-Distillation-Recurrent-v0
Teacher-Student 蒸馏任务,Student 使用 RNN 策略。
1--task Velocity-Height-G1-Distillation-Recurrent-v0
3.4 Velocity-Height-G1-Distillation-History-v0
Teacher-Student 蒸馏任务,Student 使用 History Observation。
1--task Velocity-Height-G1-Distillation-History-v0
3.5 Velocity-T1-v0
Booster T1 速度跟踪任务。
1--task Velocity-T1-v0
3.6 StandUp-T1-v0
Booster T1 起身任务。
1--task StandUp-T1-v0
3.7 HeightTracking-G1-v0
G1 高度跟踪任务。
1--task HeightTracking-G1-v0
3.8 G1-PickPlace-Tracking-v0
G1 抓取放置任务。
1--task G1-PickPlace-Tracking-v0
该任务需要 YCB、DexCube 等资产,请确认 /workspace/nucleus_assets 中已包含相关 USD 资产。
四、Teacher-Student 蒸馏说明
WBC-AGILE 支持 Teacher-Student 蒸馏训练模式,适用于 Sim-to-Real 迁移和部署优化场景。
| 模式 | 说明 |
|---|---|
| Teacher | 训练阶段使用完整观测或 privileged observation |
| Student | 部署阶段使用轻量观测输入,降低推理开销 |
| History | 使用历史状态作为观测输入 |
| RNN | 使用循环网络策略建模时序信息 |
推荐在需要真实机器人部署或推理性能优化时,优先使用蒸馏相关任务。
五、常见问题
5.1 启动失败
请检查以下配置:
- 开发机 GPU 是否可用
- 运行目录是否为
/workspace/agile - 是否选择了包含 Isaac Sim / Isaac Lab 的百舸官方镜像
- CUDA、PyTorch 与驱动版本是否匹配
/workspace/isaaclab/isaaclab.sh是否存在- 当前目录是否为 WBC-AGILE 项目目录
5.2 USD 资产缺失
如果运行时报错提示找不到机器人、场景或材质资产,请检查:
1ls /workspace/nucleus_assets/Isaac/
5.3 数据集缺失
如果训练时报错提示动作文件或数据集不存在,请检查:
1ls /workspace/datasets/
如目录为空,请重新执行 BOS 同步命令。
5.4 显存不足
可尝试以下方式降低显存占用:
- 降低
--num_envs - 减少训练 batch size
- 使用
--headless模式 - 先使用单卡小规模配置验证流程,再切换到多卡或更大规格资源
六、推荐训练配置
| 场景 | 推荐 GPU |
|---|---|
| 基础流程验证 | 1 * L20 或更高规格加速卡 |
| 常规训练 | 1-4 * L20 或更高规格加速卡 |
| 蒸馏训练 | 8 * L20 或更高规格加速卡 |
| 复杂移动操作任务 | 多机多卡或更高规格资源 |
评价此篇文章
