前言
人形机器人的运动控制一直是领域内的难点,强化学习为此提供了强有力的解决方案。本教程基于宇树 G1 人形机器人,从基础环境搭建入手,逐步深入高自由度模型的训练配置、奖励函数设计与优化,最终实现复杂动作的控制。我们将结合 Isaac Gym 仿真环境与 RSL-RL 框架,梳理关键步骤。
强化学习训练环境配置
基础环境搭建
训练依赖于 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_2.h1_2_config import H1_2RoughCfg, H1_2RoughCfgPPO
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 自由度配置解析
标准配置文件位于 legged_gym/envs/g1/g1_config.py。这里定义了机器人的各项关键参数:
from legged_gym.envs.base.legged_robot_config import LeggedRobotCfg, LeggedRobotCfgPPO
class G1RoughCfg():
(LeggedRobotCfg.init_state):
pos = [, , ]
default_joint_angles = {
: , : ,
: -, : ,
: -, : ,
: , : ,
: -, : ,
: -, : ,
:
}
(LeggedRobotCfg.env):
num_observations =
num_privileged_obs =
num_actions =


