Amend success rewards
This commit is contained in:
@@ -135,13 +135,6 @@ def is_standing_still(
|
|||||||
|
|
||||||
return env.extras["stable_timer"] > standing_time
|
return env.extras["stable_timer"] > standing_time
|
||||||
|
|
||||||
def joint_deviation_l2(env: ManagerBasedRLEnv, asset_cfg: SceneEntityCfg) -> torch.Tensor:
|
|
||||||
"""计算关节相对于默认姿态(default_joint_pos)的偏差平方和"""
|
|
||||||
# 获取当前关节位置相对于默认位置的差值
|
|
||||||
# mdp.joint_pos_rel 返回的是 (current_pos - default_pos)
|
|
||||||
diff = mdp.joint_pos_rel(env, asset_cfg)
|
|
||||||
return torch.sum(torch.square(diff), dim=-1)
|
|
||||||
|
|
||||||
# --- 2. 配置类 ---
|
# --- 2. 配置类 ---
|
||||||
|
|
||||||
T1_JOINT_NAMES = [
|
T1_JOINT_NAMES = [
|
||||||
@@ -250,9 +243,15 @@ class T1GetUpRewardCfg:
|
|||||||
|
|
||||||
# 6. 成功终极大奖
|
# 6. 成功终极大奖
|
||||||
is_success = RewTerm(
|
is_success = RewTerm(
|
||||||
func=lambda env, keys: env.termination_manager.get_term(keys).float(),
|
func=is_standing_still,
|
||||||
weight=1000.0,
|
weight=2000.0,
|
||||||
params={"keys": "standing_success"}
|
params={
|
||||||
|
"min_head_height": 1.05,
|
||||||
|
"min_pelvis_height": 0.75,
|
||||||
|
"max_angle_error": 0.3,
|
||||||
|
"standing_time": 0.2,
|
||||||
|
"velocity_threshold": 0.5
|
||||||
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@configclass
|
@configclass
|
||||||
|
|||||||
Reference in New Issue
Block a user