概述#
RPO 训练框架基于IsaacLab 2.3.1、IsaacSim 5.1.0以及rslrl 3.2.0构建,提供了类似于legged_gym的direct强化学习环境以及IsaacLab原生的manager_based强化学习环境。该框架支持在MuJoCo中进行sim2sim迁移,并支持IsaacLab地形导出功能。
该框架实现了盲走、仿人步态(AMP)、感知多地形行走(AttnEnc,参考Attention-Based Map Encoding for Learning Generalized Legged Locomotion)以及上下肢分离控制(Interrupt,参考HugWBC)等任务,上述任务均在 RPO 平台上完成了sim2sim与sim2real验证。
训练流程(详见仓库中README.md)#
安装#
RPO Train 基于最新版本的 IsaacSim/IsaacLab 构建,建议跟随 RPO Train 的最新更新。
按照安装指南安装 Isaac Lab。我们推荐使用 conda 安装,因为它简化了从终端调用 Python 脚本的过程。
独立于 Isaac Lab 安装克隆此仓库(即在
IsaacLab目录之外):
Bash
git clone https://github.com/Roboparty/atom01_train.git- 使用已安装 Isaac Lab 的 python 解释器安装库:
Bash
cd atom01_train
git submodule update --init --recursive
cd robolab
pip install -e .
cd ..
cd rsl_rl
pip install -e .
cd ..- 通过运行以下命令验证扩展是否正确安装,打印可用环境列表:
Bash
python robolab/scripts/tools/list_envs.py用法#
训练#
Bash
python robolab/scripts/rsl_rl/train.py --task=<ENV_NAME> --headless --logger=tensorboard --num_envs=8192测试#
Bash
python robolab/scripts/rsl_rl/play.py --task=<ENV_NAME> --num_envs=1Sim2Sim#
Bash
python robolab/scripts/mujoco/sim2sim_atom01.py --load_model "{exported/policy.pt model full path here}"数据集准备#
对于 AMP 和 BeyondMimic 获取数据集的工作流程, 请查看 GMR.
通过GMR获得的数据集中的关节顺序与机器人的 URDF 和 XML 中的顺序一致,但这与 Isaac Lab 所使用的顺序不同。因此,我们需要准备一个包含关节映射信息的.yaml文件(如scripts/tools/retarget/config/atom01.yaml所示),并在训练前使用scripts/tools/retarget/dataset_retarget.py重新排序关节序列。