unitree_rl_gym/README_zh.md

6.8 KiB
Raw Permalink Blame History

Unitree RL GYM

🌎 English | 🇨🇳 中文

🎮🚪 这是一个基于 Unitree 机器人实现强化学习的示例仓库,支持 Unitree Go2、H1、H1_2和 G1。 🚪🎮

Isaac Gym
Mujoco
Physical

📦 安装配置

安装和配置步骤请参考 setup.md

🔁 流程说明

强化学习实现运动控制的基本流程为:

TrainPlaySim2SimSim2Real

  • Train: 通过 Gym 仿真环境,让机器人与环境互动,找到最满足奖励设计的策略。通常不推荐实时查看效果,以免降低训练效率。
  • Play: 通过 Play 命令查看训练后的策略效果,确保策略符合预期。
  • Sim2Sim: 将 Gym 训练完成的策略部署到其他仿真器,避免策略小众于 Gym 特性。
  • Sim2Real: 将策略部署到实物机器人,实现运动控制。

🛠️ 使用指南

1. 训练

运行以下命令进行训练:

python legged_gym/scripts/train.py --task=xxx

⚙️ 参数说明

  • --task: 必选参数,值可选(go2, g1, h1, h1_2)
  • --headless: 默认启动图形界面,设为 true 时不渲染图形界面(效率更高)
  • --resume: 从日志中选择 checkpoint 继续训练
  • --experiment_name: 运行/加载的 experiment 名称
  • --run_name: 运行/加载的 run 名称
  • --load_run: 加载运行的名称,默认加载最后一次运行
  • --checkpoint: checkpoint 编号,默认加载最新一次文件
  • --num_envs: 并行训练的环境个数
  • --seed: 随机种子
  • --max_iterations: 训练的最大迭代次数
  • --sim_device: 仿真计算设备,指定 CPU 为 --sim_device=cpu
  • --rl_device: 强化学习计算设备,指定 CPU 为 --rl_device=cpu

默认保存训练结果logs/<experiment_name>/<date_time>_<run_name>/model_<iteration>.pt


2. Play

如果想要在 Gym 中查看训练效果,可以运行以下命令:

python legged_gym/scripts/play.py --task=xxx

说明

  • Play 启动参数与 Train 相同。
  • 默认加载实验文件夹上次运行的最后一个模型。
  • 可通过 load_runcheckpoint 指定其他模型。

💾 导出网络

Play 会导出 Actor 网络,保存于 logs/{experiment_name}/exported/policies 中:

  • 普通网络MLP导出为 policy_1.pt
  • RNN 网络,导出为 policy_lstm_1.pt

Play 效果

Go2 G1 H1 H1_2
go2 g1 h1 h1_2

3. Sim2Sim (Mujoco)

支持在 Mujoco 仿真器中运行 Sim2Sim

python deploy/deploy_mujoco/deploy_mujoco.py {config_name}

参数说明

  • config_name: 配置文件,默认查询路径为 deploy/deploy_mujoco/configs/

示例:运行 G1

python deploy/deploy_mujoco/deploy_mujoco.py g1.yaml

➡️ 替换网络模型

默认模型位于 deploy/pre_train/{robot}/motion.pt;自己训练模型保存于logs/g1/exported/policies/policy_lstm_1.pt,只需替换 yaml 配置文件中 policy_path

运行效果

G1 H1 H1_2
mujoco_g1 mujoco_h1 mujoco_h1_2

4. Sim2Real (实物部署)

实现实物部署前,确保机器人进入调试模式。详细步骤请参考 实物部署指南

python deploy/deploy_real/deploy_real.py {net_interface} {config_name}

参数说明

  • net_interface: 连接机器人网卡名称,如 enp3s0
  • config_name: 配置文件,存在于 deploy/deploy_real/configs/,如 g1.yamlh1.yamlh1_2.yaml

运行效果

G1 H1 H1_2
real_g1 real_h1 real_h1_2

🎉 致谢

本仓库开发离不开以下开源项目的支持与贡献,特此感谢:


🔖 许可证

本项目根据 BSD 3-Clause License 授权:

  1. 必须保留原始版权声明。
  2. 禁止以项目名或组织名作举。
  3. 声明所有修改内容。

详情请阅读完整 LICENSE 文件