Skip to content

Latest commit

 

History

History
140 lines (95 loc) · 4.76 KB

File metadata and controls

140 lines (95 loc) · 4.76 KB

roboparty_train

IsaacSim Isaac Lab RSL_RL Python Linux platform Windows platform License pre-commit

English | 中文

概述

roboparty_train 是 Roboparty 面向 RPO 运动控制策略的训练工作区。它把 Roboparty 的任务定义、动作重定向工具、MuJoCo Sim2Sim 脚本和 RSL-RL 训练入口放在上游 Isaac Lab 源码树之外,便于独立维护和同步。

本仓库是一个轻量工作区,包含两个 Git submodule:

  • robolab:Roboparty 的 Isaac Lab 扩展、环境、脚本和机器人资产。
  • rsl_rl:与 Roboparty 训练流程兼容的 RSL-RL 依赖快照。

维护者: RoboParty 支持渠道: GitHub Issues

主要特性

  • 基于 Isaac Lab 的 RPO 训练环境。
  • RSL-RL 训练、评估和策略导出入口。
  • AMP、BeyondMimic 和 Parkour 工作流。
  • 用于策略迁移检查的 MuJoCo Sim2Sim 脚本。
  • 面向 GMR 数据集的动作重定向工具。

环境要求

  • Python 3.11。
  • Isaac Sim 5.1.0 和 Isaac Lab main。
  • Ubuntu 22.04 x64 或 Windows x64。

请按照 Isaac Lab 的官方安装指南安装 Isaac Lab。下面的命令需要在 Isaac Lab 使用的 Python 环境中执行。

克隆仓库

请把本仓库克隆到 Isaac Lab 源码树之外。推荐使用 --recursive,这样 robolabrsl_rl 会被一起拉取:

git clone --recursive https://github.com/Roboparty/roboparty_train.git
cd roboparty_train

如果已经普通克隆过仓库,并且看到 robolabrsl_rl 是空目录,请手动初始化 submodule:

cd roboparty_train
git submodule update --init --recursive

安装

pip install -e ./robolab
pip install -e ./rsl_rl

通过列出环境确认扩展安装成功:

python robolab/scripts/tools/list_envs.py

用法

训练

python robolab/scripts/rsl_rl/train.py --task=<ENV_NAME> --headless --logger=tensorboard --num_envs=8192

测试

python robolab/scripts/rsl_rl/play.py --task=<ENV_NAME> --num_envs=1

测试 AMP

python robolab/scripts/rsl_rl/play_amp.py --task=RPO-AMP-Play --num_envs=1

测试 BeyondMimic

python robolab/scripts/rsl_rl/play_bm.py --task=RPO-BeyondMimic --num_envs=1

测试 Parkour

python robolab/scripts/rsl_rl/play_parkour.py --task=RPO-Parkour-Play --num_envs=1

导出 ONNX 模型时,请设置 num_envs=1 并添加 --exportonnx

python robolab/scripts/rsl_rl/play_parkour.py --task=RPO-Parkour-Play --num_envs=1 --exportonnx

Sim2Sim

python robolab/scripts/mujoco/sim2sim_rpo.py --load_model "{exported/policy.pt model full path here}"

准备动作数据

AMP 和 BeyondMimic 的数据集准备流程请参考 GMR

GMR 生成的数据集关节顺序与机器人 URDF/XML 中的顺序一致,但这与 Isaac Lab 使用的顺序不同。训练前需要准备类似 robolab/scripts/tools/retarget/config/rpo.yaml 的关节映射文件,然后重新排列关节序列:

python robolab/scripts/tools/retarget/dataset_retarget.py

常见问题

  • robolabrsl_rl 是空目录:执行 git submodule update --init --recursive
  • 找不到 Isaac Lab 相关 import:请先激活 Isaac Lab 使用的 Python 环境,再安装或运行脚本。
  • 找不到 RPO task 名称:执行 python robolab/scripts/tools/list_envs.py,复制实际输出的 task id。

参考和致谢

本项目基于以下开源项目构建: