From 49da77db51f814be1a13a501bc21bb79219e4e6c Mon Sep 17 00:00:00 2001 From: ChenXi Date: Fri, 20 Mar 2026 08:55:29 -0400 Subject: [PATCH] change parameter --- rl_game/get_up/config/t1_env_cfg.py | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/rl_game/get_up/config/t1_env_cfg.py b/rl_game/get_up/config/t1_env_cfg.py index eeb3334..a1a8e6a 100644 --- a/rl_game/get_up/config/t1_env_cfg.py +++ b/rl_game/get_up/config/t1_env_cfg.py @@ -203,6 +203,7 @@ class T1ObservationCfg: base_lin_vel = ObsTerm(func=mdp.base_lin_vel) base_ang_vel = ObsTerm(func=mdp.base_ang_vel) projected_gravity = ObsTerm(func=mdp.projected_gravity) + root_pos = ObsTerm(func=mdp.root_pos_w) joint_pos = ObsTerm(func=mdp.joint_pos_rel, params={"asset_cfg": SceneEntityCfg("robot", joint_names=T1_JOINT_NAMES)}) joint_vel = ObsTerm(func=mdp.joint_vel_rel, @@ -224,7 +225,7 @@ class T1EventCfg: "yaw": (-3.14, 3.14), # 全向旋转 "x": (0.0, 0.0), "y": (0.0, 0.0), - "z": (0.2, 0.3), + "z": (0.1, 0.2), }, "velocity_range": {}, }, @@ -238,7 +239,7 @@ class T1ActionCfg: joint_pos = JointPositionActionCfg( asset_name="robot", joint_names=T1_JOINT_NAMES, - scale=0.2, # 从 0.5 降到 0.2,防止电机暴力抽搐 + scale=0.5, use_default_offset=True ) @@ -246,35 +247,35 @@ class T1ActionCfg: @configclass class T1GetUpRewardCfg: # 1. 姿态基础奖 (引导身体变正) - upright = RewTerm(func=mdp.flat_orientation_l2, weight=5.0) + upright = RewTerm(func=mdp.flat_orientation_l2, weight=10.0) # 2. 【条件高度奖】:双高度判定(头+盆骨),且必须脚踩地 height_with_feet = RewTerm( func=standing_with_feet_reward, - weight=30.0, # 作为核心引导,增加权重 + weight=50.0, # 作为核心引导,增加权重 params={ "min_head_height": 1.10, "min_pelvis_height": 0.65, "sensor_cfg": SceneEntityCfg("contact_sensor", body_names=[".*_foot_link"]), - "force_threshold": 30.0 + "force_threshold": 10.0 } ) # 3. 手臂撑地奖:辅助脱离地面阶段 arm_push_support = RewTerm( func=arm_push_up_reward, - weight=15.0, # 显著增加权重(从 3.0 提到 15.0),让它成为起步的关键 + weight=20.0, # 显著增加权重(从 3.0 提到 15.0),让它成为起步的关键 params={ "sensor_cfg": SceneEntityCfg("contact_sensor", body_names=[".*_hand_link", "AL3", "AR3"]), "height_threshold": 0.6, # 躯干升到 0.6m 前都鼓励手臂用力 - "min_force": 15.0 # 只要有 15N 的力就触发 + "min_force": 10.0 # 只要有 15N 的力就触发 } ) # 4. 惩罚项 undesired_contacts = RewTerm( func=mdp.undesired_contacts, - weight=-10.0, + weight=-2.0, params={ "sensor_cfg": SceneEntityCfg("contact_sensor", body_names=["H2", "Trunk"]), # 注意:此处必须排除手臂相关 link,否则手臂用力时会同时被扣分 @@ -285,26 +286,26 @@ class T1GetUpRewardCfg: # 5. 抑制跳跃:严厉惩罚向上窜的速度 root_vel_z_penalty = RewTerm( func=root_vel_z_l2_local, - weight=-50.0, # 增大负权重 + weight=-1.0, # 增大负权重 params={"asset_cfg": SceneEntityCfg("robot")} ) # 6. 抑制滞空 (Airtime Penalty) feet_airtime = RewTerm( func=strict_feet_contact_reward, - weight=-20.0, # 加大权重,跳一下扣的分比站起来得的分还多 + weight=-5.0, # 加大权重,跳一下扣的分比站起来得的分还多 params={"sensor_cfg": SceneEntityCfg("contact_sensor", body_names=[".*_foot_link"])} ) joint_vel_penalty = RewTerm( func=mdp.joint_vel_l2, - weight=-0.5, # 惩罚过快的关节运动 + weight=-0.01, # 惩罚过快的关节运动 params={"asset_cfg": SceneEntityCfg("robot")} ) action_rate = RewTerm( func=mdp.action_rate_l2, - weight=-0.5, # 惩罚动作的突变,让动作更丝滑,减少爆发力 + weight=-0.05, # 惩罚动作的突变,让动作更丝滑,减少爆发力 ) # 惩罚躯干的翻转和俯仰角速度 @@ -323,7 +324,7 @@ class T1GetUpRewardCfg: # 7. 成功终极大奖 is_success = RewTerm( func=lambda env, keys: env.termination_manager.get_term(keys), - weight=500.0, + weight=1000.0, params={"keys": "standing_success"} )