Unitree RL GYM
Unitree RL GYM 是一个基于 Unitree 机器人平台和Isaac Gym仿真的强化学习示例仓库,支持多种 Unitree 机器人型号(如 Go2、H1、H1_2 和 G1)。
通过强化学习(Reinforcement Learning)技术实现机器人的运动控制,涵盖从仿真训练到实物部署的全流程,包括:
训练(Train):在仿真环境中训练机器人策略。 播放(Play):验证训练效果。 仿真到仿真(Sim2Sim):将策略迁移到其他仿真器(如 Mujoco)。 仿真到实物(Sim2Real):将策略部署到真实机器人。
接下来将按照官方开源文档,以宇树H1为例进行强化学习训练和推理,至于为什么选H1这么老的机型着手,而不是更加流行的G1、H2人形机器人,就是因为H1关节自由度少整机结构简单,以后准备使用python研究宇树H1人形机器人全身运动学。
H1关节序号与关节限位
| 8 | 右腿偏航电机 | -0.43~+0.43 rad |
| 0 | 右腿滚动电机 | -0.43~+0.43 rad |
| 1 | 右腿俯仰电机 | -3.14~+2.53 rad |
| 2 | 右腿膝电机 | -0.26~+2.05 rad |
| 11 | 右腿踝电机 | -0.87~+0.52 rad |
| 7 | 左腿偏航电机 | -0.43~+0.43 rad |
| 3 | 左腿滚动电机 | -0.43~+0.43 rad |
| 4 | 左腿俯仰电机 | -3.14~+2.53 rad |
| 5 | 左腿膝电机 | -0.26~+2.05 rad |
| 10 | 左腿踝电机 | -0.87~+0.52 rad |
| 6 | 躯干偏航电机 | -2.35~+2.35 rad |
| 12 | 右手俯仰电机 | -2.87~+2.87 rad |
| 13 | 右手滚动电机 | -3.11~+0.34 rad |
| 14 | 右手偏航电机 | -4.45~+1.3 rad |
| 15 | 右手肘电机 | -1.25~+2.61 rad |
| 16 | 左手俯仰电机 | -2.87~+2.87 rad |
| 17 | 左手滚动电机 | -0.34~+3.11 rad |
| 18 | 左手偏航电机 | -1.3~+4.45 rad |
| 19 | 左手肘电机 | -1.25~+2.61 rad |
一共才19个自由度,以往遇到的机械臂控制也要6-7个自由度,这样复杂度不会太高,毕竟业余时间有限。
环境准备
系统:
ubuntu20,感觉是目前最稳定常用的,最好不要用虚拟机
显卡:
Nidia显卡驱动我的版本: 570.144
终端输入指令查看:nvidia-smi
Mon Feb 23 13:46:02 2026
+—————————————————————————————–+
| NVIDIA-SMI 570.144 Driver Version: 570.144 CUDA Version: 12.8 |
终端输入指令查看:nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Fri_Feb_21_20:23:50_PST_2025
Cuda compilation tools, release 12.8, V12.8.93
Build cuda_12.8.r12.8/compiler.35583870_0
NVIDIA 的驱动向后兼容,实测可用,本来想按照官方文档要求降级的。
Anaconda:
conda create -n rl-h1 python=3.8
# To activate this environment, use
conda activate rl-h1
# To deactivate an active environment, use
conda deactivate
开始强化学习控制RL复现
所有的内容在官网都可以找到:
https://support.unitree.com/home/zh/H1_developer/RL_Control_Routine
下载 Isaac Gym Preview 4 仿真平台
https://developer.nvidia.com/isaac-gym
# current directory: isaacgym/python
pip install -e .
# current directory: isaacgym/python/examples
python 1080_balls_of_solitude.py
安装rsl_rl库
git config –global http.sslbackend gnutls
git clone https://github.com/leggedrobotics/rsl_rl
cd rsl_rl
git checkout v1.0.2
pip install -e .
若安装成功,可看到如下窗口。

模型训练
# 下载宇树官方示例代码
git clone https://github.com/unitreerobotics/unitree_rl_gym.git
# 修改 legged_gym/scripts/train.py , legged_gym/scripts/play.py 中的sys.path.append("/home/unitree/h1/legged_gym")
# 为自己的路径。
# 激活强化学习虚拟环境
#注意官方文档漏了安装这一步!!!!!!!!!!!!
cd unitree_rl_gym
pip install -e .
conda activate rl-h1
# 切换到 legged_gym/scripts 目录下,执行训练指令,开始训练。
python3 train.py –task=h1
# 修改 train.py 文件中的 args.headless 参数,可开启或关闭可视化界面。
isaac_gym 出现如下界面,则训练开始。

我的3070显卡只有8G显存,马上就满载了,训练过程默认迭代10000次,实在太漫长了

硬件资源有限,等不了改成100次。
在/unitree_rl_gym/legged_gym/envs/h1/h1_config.py文件中修改
max_iterations = 100

100次也跑了大概半小时,如果默认10000次那就是50个小时,即使文档推荐的1500次也要8小时,等不及,先跑通流程
推理
python play.py –task=h1

100次训练的模型能力还是东倒西歪的,推荐的1500次应该是官方实测性价比最高的
直接放一个官方视频

报错处理
报错:AttributeError: module 'distutils' has no attribute 'version'
运行pip show setuptools查看
Name: setuptools
Version: 75.1.0
因为 setuptools版本过高,移除了对 distutils的支持。需要降级 setuptools到兼容版本。
pip install setuptools==58.0.4
网硕互联帮助中心





评论前必须登录!
注册