人形机器人的运动控制一直是领域内的核心挑战,而强化学习为解决这一问题提供了强有力的工具。本教程基于宇树 G1 人形机器人,从基础的强化学习环境搭建开始,逐步深入到高自由度模型的训练配置、奖励函数设计与优化,最终实现复杂动作的训练控制。
强化学习训练环境配置
宇树机器人的强化学习训练主要基于 Isaac Gym 物理仿真环境和 RSL-RL 强化学习框架。在开始之前,确保这两个核心组件已正确安装和配置。
启动 12 自由度 G1 机器人的基础训练非常简单,只需一条命令:
python legged_gym/scripts/train.py --task=g1
这条命令背后涉及到任务注册系统。在 legged_gym/envs/__init__.py 文件中,可以看到各种机器人任务的注册逻辑。以 G1 为例,系统会加载对应的配置文件和策略类:
from legged_gym import LEGGED_GYM_ROOT_DIR, LEGGED_GYM_ENVS_DIR
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("g1", G1Robot, G1RoughCfg(), G1RoughCfgPPO())
12 自由度配置解析
标准的 G1 机器人配置文件位于 legged_gym/envs/g1/g1_config.py 中,定义了机器人的各项参数。以下是关键配置的详细分析:
from legged_gym.envs.base.legged_robot_config import LeggedRobotCfg, LeggedRobotCfgPPO
class G1RoughCfg(LeggedRobotCfg):
class init_state(LeggedRobotCfg.init_state):
pos = [0.0, 0.0, 0.8] # x,y,z [m] 初始位置
default_joint_angles = {
'left_hip_yaw_joint': 0.,
'left_hip_roll_joint': 0,
'left_hip_pitch_joint': -0.1,
'left_knee_joint': 0.3,
: -,
: ,
: ,
: ,
: -,
: ,
: -,
: ,
:
}
(LeggedRobotCfg.env):
num_observations =
num_privileged_obs =
num_actions =


