Skip to content

教程raw.githubusercontent.com6 天前

Unitree RL GYM:Isaac Gym 训练、MuJoCo Sim2Sim 到真机部署实操 ​

> 本文依据以下官方文档整理:raw.githubusercontent.com/unitreerobotics/unitree_rl_gym/mai、raw.githubusercontent.com/unitreerobotics/unitree_rl_gym/mai。命令与版本以文档当前版本为准。

前置条件 ​

  • Unitree RL GYM 支持 Unitree Go2、H1、H1_2、G1
  • Sim2Real 当前支持 Unitree G1、H1、H1_2
  • 已完成 Installation and Configuration
  • 真机部署前,机器人需要处于 debug mode
  • 电脑通过以太网线连接到机器人网络口,并能获得连接机器人的网络接口名

1. 1. 在 Isaac Gym 中启动训练 ​

训练阶段使用 Gym simulation environment 让机器人与环境交互,寻找最大化奖励的 policy。--task 为必填,可取 go2、g1、h1、h1_2;实时可视化训练不推荐。

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

2. 2. 用 Play 验证并导出网络 ​

训练后用 Play 在 Gym 中可视化结果。Play 参数与 Train 相同,默认从 experiment folder 的 last run 加载 latest model,也可用 load_run 和 checkpoint 指定模型。

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

3. 3. 确认导出的 policy 路径 ​

Play 会导出 Actor network,保存到 logs/{experiment_name}/exported/policies。Standard networks (MLP) 导出为 policy_1.pt;RNN networks 导出为 policy_lstm_1.pt,后续 Sim2Sim 可替换使用。

4. 4. 在 MuJoCo 中运行 Sim2Sim ​

Sim2Sim 用 MuJoCo simulator 检查 Gym 训练得到的策略是否过度依赖 Gym 特性。config_name 是配置文件名,默认搜索路径为 deploy/deploy_mujoco/configs/。

bash
python deploy/deploy_mujoco/deploy_mujoco.py {config_name}

5. 5. 以 G1 配置运行 MuJoCo 示例 ​

以 G1 为例,可直接运行文档给出的配置文件。默认模型位于 deploy/pre_train/{robot}/motion.pt;自训练模型如 logs/g1/exported/policies/policy_lstm_1.pt,需更新 YAML 中的 policy_path。

bash
python deploy/deploy_mujoco/deploy_mujoco.py g1.yaml

6. 6. 真机进入调试并连接网络 ​

真机部署前,机器人需先在 hoisting state 启动并等待进入 zero torque mode。确认后按遥控器 L2+R2 进入 debugging mode,再用以太网线连接电脑与机器人网络口,并用 ifconfig 查看网络接口名。

7. 7. 启动 Sim2Real 部署程序 ​

net_interface 是连接机器人的网卡名,如 enp3s0;config_name 位于 deploy/deploy_real/configs/,如 g1.yaml、h1.yaml、h1_2.yaml。主工程中启动命令如下。

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

8. 8. 按遥控器切换真机状态 ​

程序启动后关节为 zero torque state,可手动晃动确认。按 start 进入 default joint position state;准备完成后按 A 进入 motion control mode。退出时按 select,或在终端用 ctrl+c。

验证是否跑通 ​

训练产物默认位于 logs/<experiment_name>/<date_time>_<run_name>/model_<iteration>.pt。Play 能在 Gym 中可视化训练结果,并在 logs/{experiment_name}/exported/policies 生成 policy_1.pt 或 policy_lstm_1.pt。MuJoCo 启动后可观察 Sim2Sim 结果;真机部署启动后,机器人依次进入 zero torque、default joint position、motion control mode,并可用遥控器摇杆控制移动。

文档里点名的注意事项 ​

  • Real-time visualization during training is not recommended to avoid reduced efficiency.
  • --task 是训练必填参数,取值为 go2、g1、h1、h1_2。
  • Play 默认加载 experiment folder 的 last run 中的 latest model;如需其他模型,使用 load_run 和 checkpoint。
  • 真机部署前要确保机器人处于 zero torque mode,再按 L2+R2 进入 debugging mode。
  • 示例部署不是 stable control program,仅用于 demonstration;控制过程中请尽量不要干扰机器人。
  • 控制过程中如发生 unexpected situation,应及时退出控制以避免危险。

相关 SDK 条目 ​

来源

本页事实对应的公开页面,以原文为准。

  1. raw.githubusercontent.com/unitreerobotics/unitree_rl_gym/main/README.md访问 2026-10-22
  2. raw.githubusercontent.com/unitreerobotics/unitree_rl_gym/main/deploy/deploy_real/README.md访问 2026-10-22