change T1EventCfg to add more initial state

This commit is contained in:
2026-03-20 05:20:17 -04:00
parent 2ae7210062
commit 31a9fa9965
2 changed files with 109 additions and 44 deletions

View File

@@ -12,12 +12,20 @@ T1_USD_PATH = os.path.join(_DEMO_DIR, "asset", "t1", "t1_locomotion_physics.usd"
@configclass
class T1SceneCfg(InteractiveSceneCfg):
"""修改后的 T1 机器人场景配置,适配随机姿态起身任务"""
"""最终修正版:彻底解决 Unknown asset config type 报错"""
# 1. 地面配置 (如果之前没定义,必须加上)
# 1. 地面配置:直接在 spawn 内部定义材质
ground = AssetBaseCfg(
prim_path="/World/ground",
spawn=sim_utils.GroundPlaneCfg(),
spawn=sim_utils.GroundPlaneCfg(
physics_material=sim_utils.RigidBodyMaterialCfg(
static_friction=1.0,
dynamic_friction=1.0,
restitution=0.3,
friction_combine_mode="average",
restitution_combine_mode="average",
)
),
)
# 2. 机器人配置
@@ -28,28 +36,25 @@ class T1SceneCfg(InteractiveSceneCfg):
activate_contact_sensors=True,
rigid_props=sim_utils.RigidBodyPropertiesCfg(
disable_gravity=False,
max_depenetration_velocity=10.0, # ⬅️ 提高穿透修正速度,防止肢体卡在地下
max_depenetration_velocity=10.0,
),
articulation_props=sim_utils.ArticulationRootPropertiesCfg(
enabled_self_collisions=True, # 开启自碰撞,起身时肢体可能互碰
solver_position_iteration_count=8, # ⬅️ 增加迭代次数,提高物理稳定性
enabled_self_collisions=True,
solver_position_iteration_count=8,
solver_velocity_iteration_count=4,
),
),
init_state=ArticulationCfg.InitialStateCfg(
# ⬅️ 核心修改高度降低。因为是躺着生成0.2m 比较合适
pos=(0.0, 0.0, 0.3),
# 默认旋转设为单位阵,具体的随机化由 Event 管理器处理
rot=(1.0, 0.0, 0.0, 0.0),
pos=(0.0, 0.0, 0.4), # 掉落高度
joint_pos={".*": 0.0},
),
actuators={
"legs": ImplicitActuatorCfg(
"t1_joints": ImplicitActuatorCfg(
joint_names_expr=[".*"],
effort_limit=400.0, # T1 通常有较强的力矩输出
velocity_limit=20.0, # ⬅️ 调高速度限制,起身需要爆发动作
stiffness=150.0, # ⬅️ 调高刚度:起身需要更“硬”的支撑
damping=5.0, # ⬅️ 增加阻尼:防止机器人站起瞬间晃动太厉害
effort_limit=400.0,
velocity_limit=20.0,
stiffness=150.0,
damping=5.0,
),
},
)