引言
人形机器人的运动控制一直是领域内的挑战,强化学习为此提供了有力工具。本教程基于宇树 G1 人形机器人,从基础强化学习环境搭建入手,逐步深入高自由度模型的训练配置、奖励函数设计与优化,最终实现复杂动作的控制。
强化学习训练环境配置
基础环境搭建
宇树机器人的强化学习训练依托 Isaac Gym 物理仿真环境和 RSL-RL 强化学习框架。确保这两个核心组件正确安装和配置是第一步。
启动 12 自由度 G1 机器人的基础训练命令如下:
python legged_gym/scripts/train.py --task=g1
该命令背后涉及任务注册系统。在 legged_gym/envs/__init__.py 文件中,可以看到各种机器人任务的注册代码:
from legged_gym import LEGGED_GYM_ROOT_DIR, LEGGED_GYM_ENVS_DIR
from legged_gym.envs.go2.go2_config import GO2RoughCfg, GO2RoughCfgPPO
from legged_gym.envs.h1.h1_config import H1RoughCfg, H1RoughCfgPPO
from legged_gym.envs.h1.h1_env import H1Robot
from legged_gym.envs.h1_2.h1_2_config import H1_2RoughCfg, H1_2RoughCfgPPO
from legged_gym.envs.h1_2.h1_2_env import H1_2Robot
from legged_gym.envs.g1.g1_config import G1RoughCfg, G1RoughCfgPPO
from legged_gym.envs.g1.g1_env import G1Robot
from base.legged_robot import LeggedRobot
from legged_gym.utils.task_registry import task_registry
# 任务注册
task_registry.register("go2", LeggedRobot, GO2RoughCfg(), GO2RoughCfgPPO())
task_registry.register("h1", H1Robot, H1RoughCfg(), H1RoughCfgPPO())
task_registry.register("h1_2", H1_2Robot, H1_2RoughCfg(), H1_2RoughCfgPPO())
task_registry.register("g1", G1Robot, G1RoughCfg(), G1RoughCfgPPO())
G1 机器人 12 自由度配置解析
标准 G1 机器人配置文件位于 legged_gym/envs/g1/g1_config.py,定义了各项参数。关键配置如下:
legged_gym.envs.base.legged_robot_config LeggedRobotCfg, LeggedRobotCfgPPO
():
(LeggedRobotCfg.init_state):
pos = [, , ]
default_joint_angles = {
: , : , : -,
: , : -, : ,
: , : , : -,
: , : -, : ,
:
}
(LeggedRobotCfg.env):
num_observations =
num_privileged_obs =
num_actions =


