云计算百科
云计算领域专业知识百科平台

宇树H1人形机器人强化学习控制RL例程复现

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

赞(0)
未经允许不得转载:网硕互联帮助中心 » 宇树H1人形机器人强化学习控制RL例程复现
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!