from isaaclab.assets import ArticulationCfg, AssetBaseCfg from isaaclab.scene import InteractiveSceneCfg from isaaclab.sensors import ContactSensorCfg from isaaclab.utils import configclass from isaaclab.actuators import ImplicitActuatorCfg from isaaclab import sim as sim_utils import os _DEMO_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) T1_USD_PATH = os.path.join(_DEMO_DIR, "asset", "t1", "t1_locomotion_physics.usd") @configclass class T1SceneCfg(InteractiveSceneCfg): """最终修正版:彻底解决 Unknown asset config type 报错""" # 1. 地面配置:直接在 spawn 内部定义材质 ground = AssetBaseCfg( prim_path="/World/ground", 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. 机器人配置 robot = ArticulationCfg( prim_path="{ENV_REGEX_NS}/Robot", spawn=sim_utils.UsdFileCfg( usd_path=T1_USD_PATH, activate_contact_sensors=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, max_depenetration_velocity=10.0, ), articulation_props=sim_utils.ArticulationRootPropertiesCfg( enabled_self_collisions=True, solver_position_iteration_count=8, solver_velocity_iteration_count=4, ), ), init_state=ArticulationCfg.InitialStateCfg( pos=(0.0, 0.0, 0.4), # 掉落高度 joint_pos={".*": 0.0}, ), actuators={ "t1_joints": ImplicitActuatorCfg( joint_names_expr=[".*"], effort_limit=400.0, velocity_limit=20.0, stiffness=150.0, damping=5.0, ), }, ) contact_sensor = ContactSensorCfg( prim_path="{ENV_REGEX_NS}/Robot/.*", update_period=0.0, history_length=3, ) # 3. 光照配置 light = AssetBaseCfg( prim_path="/World/light", spawn=sim_utils.DistantLightCfg(color=(0.75, 0.75, 0.75), intensity=3000.0), ) # ['Trunk', 'H1', 'H2', 'AL1', 'AL2', 'AL3', 'left_hand_link', 'AR1', 'AR2', 'AR3', 'right_hand_link', 'Waist', 'Hip_Pitch_Left', 'Hip_Roll_Left', 'Hip_Yaw_Left', 'Shank_Left', 'Ankle_Cross_Left', 'left_foot_link', 'Hip_Pitch_Right', 'Hip_Roll_Right', 'Hip_Yaw_Right', 'Shank_Right', 'Ankle_Cross_Right', 'right_foot_link']