51 lines
2.0 KiB
Python
51 lines
2.0 KiB
Python
|
|
from isaaclab.assets import ArticulationCfg, AssetBaseCfg
|
||
|
|
from isaaclab.scene import InteractiveSceneCfg
|
||
|
|
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):
|
||
|
|
"""T1 机器人的场景配置,包含地面、机器人和光照"""
|
||
|
|
|
||
|
|
# T1 机器人配置
|
||
|
|
# 注意:你需要将 usd_path 替换为你真实的 T1 机器人 USD 文件路径
|
||
|
|
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,
|
||
|
|
retain_accelerations=False,
|
||
|
|
linear_damping=0.0,
|
||
|
|
angular_damping=0.0,
|
||
|
|
max_linear_velocity=1000.0,
|
||
|
|
max_angular_velocity=1000.0,
|
||
|
|
max_depenetration_velocity=1.0,
|
||
|
|
),
|
||
|
|
articulation_props=sim_utils.ArticulationRootPropertiesCfg(
|
||
|
|
enabled_self_collisions=True,
|
||
|
|
solver_position_iteration_count=4,
|
||
|
|
solver_velocity_iteration_count=0
|
||
|
|
),
|
||
|
|
),
|
||
|
|
init_state=ArticulationCfg.InitialStateCfg(
|
||
|
|
pos=(0.0, 0.0, 0.7), # 初始高度,确保机器人双脚着地而非穿模
|
||
|
|
joint_pos={".*": 0.0}, # 所有关节初始角度为 0
|
||
|
|
),
|
||
|
|
actuators={
|
||
|
|
"legs": ImplicitActuatorCfg(
|
||
|
|
joint_names_expr=[".*"], # 匹配所有关节,也可以指定具体名称如 ["L_Hip.*", "R_Hip.*"]
|
||
|
|
effort_limit=400.0,
|
||
|
|
velocity_limit=10.0,
|
||
|
|
stiffness=85.0, # P 增益
|
||
|
|
damping=2.0, # D 增益
|
||
|
|
),
|
||
|
|
},
|
||
|
|
)
|