外观
教程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=xxx2. 2. 用 Play 验证并导出网络
训练后用 Play 在 Gym 中可视化结果。Play 参数与 Train 相同,默认从 experiment folder 的 last run 加载 latest model,也可用 load_run 和 checkpoint 指定模型。
bash
python legged_gym/scripts/play.py --task=xxx3. 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.yaml6. 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 条目
来源
本页事实对应的公开页面,以原文为准。