This commit is contained in:
2026-03-13 17:41:44 +08:00
parent 08c4cdacb8
commit 1f36a59fe8
6 changed files with 109 additions and 15 deletions

View File

@@ -0,0 +1,39 @@
import isaaclab.sim as sim_utils
from isaaclab.actuators import ImplicitActuatorCfg
from isaaclab.assets import ArticulationCfg, AssetBaseCfg, RigidObjectCfg
from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR
from isaaclab.sim.spawners.from_files.from_files_cfg import UsdFileCfg
from isaaclab.sim.schemas.schemas_cfg import (
RigidBodyPropertiesCfg,
CollisionPropertiesCfg,
)
from mindbot.utils.assets import MINDBOT_ASSETS_DIR
DRYINGBOX_CFG = ArticulationCfg(
spawn=sim_utils.UsdFileCfg(
usd_path=r"c:\Users\PC\workpalce\maic_usd_assets_moudle\devices\DryingBox\Equipment_BB_13.usd",
rigid_props=sim_utils.RigidBodyPropertiesCfg(
disable_gravity=True, max_depenetration_velocity=1.0
),
articulation_props=sim_utils.ArticulationRootPropertiesCfg(
enabled_self_collisions=False,
solver_position_iteration_count=32,
solver_velocity_iteration_count=16,
stabilization_threshold=1e-6,
),
),
init_state=ArticulationCfg.InitialStateCfg(
pos=[1.95, -0.45, 0.9], rot=[-0.7071, 0.0, 0.0, 0.7071]
),
# actuators={}
actuators={
"passive_damper": ImplicitActuatorCfg(
# ".*" 表示匹配该USD文件内的所有关节无论是轮子、屏幕转轴还是其他
joint_names_expr=["RevoluteJoint"],
stiffness=10000.0,
damping=1000.0,
effort_limit_sim=10000.0,
velocity_limit_sim=100.0,
),
},
)

View File

@@ -0,0 +1,18 @@
import isaaclab.sim as sim_utils
from isaaclab.actuators import ImplicitActuatorCfg
from isaaclab.assets import ArticulationCfg, AssetBaseCfg
from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR
from isaaclab.sim.spawners.from_files.from_files_cfg import UsdFileCfg
from isaaclab.sim.schemas.schemas_cfg import (
RigidBodyPropertiesCfg,
CollisionPropertiesCfg,
)
from mindbot.utils.assets import MINDBOT_ASSETS_DIR
ROOM_CFG = AssetBaseCfg(
# prim_path="{ENV_REGEX_NS}/Room",
spawn=UsdFileCfg(
usd_path=f"{MINDBOT_ASSETS_DIR}\\sences\\Lab\\lab.usd",
),
)

View File

@@ -0,0 +1,32 @@
import isaaclab.sim as sim_utils
from isaaclab.actuators import ImplicitActuatorCfg
from isaaclab.assets import ArticulationCfg, AssetBaseCfg, RigidObjectCfg
from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR
from isaaclab.sim.spawners.from_files.from_files_cfg import UsdFileCfg
from isaaclab.sim.schemas.schemas_cfg import (
RigidBodyPropertiesCfg,
CollisionPropertiesCfg,
)
from mindbot.utils.assets import MINDBOT_ASSETS_DIR
TABLE_CFG = AssetBaseCfg(
# prim_path="{ENV_REGEX_NS}/Table",
init_state=AssetBaseCfg.InitialStateCfg(
pos=[1.95, -0.3, 0.005],
rot=[0.7071, 0.0, 0.0, -0.7071],
),
spawn=UsdFileCfg(
usd_path=f"{MINDBOT_ASSETS_DIR}\\sences\\Table_C\\Table_C.usd",
rigid_props=RigidBodyPropertiesCfg(
rigid_body_enabled=True,
solver_position_iteration_count=32,
solver_velocity_iteration_count=16,
disable_gravity=False,
),
collision_props=CollisionPropertiesCfg(
collision_enabled=True,
contact_offset=0.0005, # original 0.02
rest_offset=0,
),
),
)

View File

@@ -20,7 +20,7 @@ from mindbot.utils.assets import MINDBOT_ASSETS_DIR
MINDBOT_CFG = ArticulationCfg(
spawn=sim_utils.UsdFileCfg(
usd_path=f"{MINDBOT_ASSETS_DIR}/robots/mindrobot/mindrobot_cd2.usd",
usd_path=f"{MINDBOT_ASSETS_DIR}\\robots\\mindrobot\\mindrobot_cd2.usd",
rigid_props=sim_utils.RigidBodyPropertiesCfg(
disable_gravity=False,
max_depenetration_velocity=5.0,

View File

@@ -42,7 +42,9 @@ from .mindrobot_cfg import MINDBOT_HIGH_PD_CFG
# 在文件开头添加
import isaaclab.utils.assets as assets_utils
from mindbot.utils.assets import MINDBOT_ASSETS_DIR
from mindbot.assets.lab import ROOM_CFG
from mindbot.assets.table import TABLE_CFG
from mindbot.assets.dryingbox import DRYINGBOX_CFG
# # 然后在 scene 配置中使用
# spawn=sim_utils.UsdFileCfg(
# usd_path=f"{assets_utils.ISAAC_NUCLEUS_DIR}/Props/Mounts/SeattleLabTable/table_instanceable.usd"
@@ -84,7 +86,10 @@ class MindRobotTeleopSceneCfg(InteractiveSceneCfg):
),
init_state=RigidObjectCfg.InitialStateCfg(pos=(0.5, 0.0, 0.45)),
)
room = ROOM_CFG.replace(prim_path="{ENV_REGEX_NS}/Room")
table = TABLE_CFG.replace(prim_path="{ENV_REGEX_NS}/Table")
drying_box = DRYINGBOX_CFG.replace(prim_path="{ENV_REGEX_NS}/DryingBox")
# room = AssetBaseCfg(
# prim_path="{ENV_REGEX_NS}/Room",
# spawn=sim_utils.UsdFileCfg(
@@ -136,17 +141,17 @@ class MindRobotTeleopActionsCfg:
# Joint order in articulation: right_b, left_b, left_f, right_f
# (from terminal joint index listing: [2],[3],[4],[5]).
# Action vector: [right_b_vel, left_b_vel, left_f_vel, right_f_vel] in rad/s.
wheel_action = JointVelocityActionCfg(
asset_name="robot",
# joint_names=[".*_revolute_Joint"],
joint_names=[
"right_b_revolute_Joint",
"left_b_revolute_Joint",
"left_f_revolute_Joint",
"right_f_revolute_Joint",
],
scale=1.0,
)
# wheel_action = JointVelocityActionCfg(
# asset_name="robot",
# # joint_names=[".*_revolute_Joint"],
# joint_names=[
# "right_b_revolute_Joint",
# "left_b_revolute_Joint",
# "left_f_revolute_Joint",
# "right_f_revolute_Joint",
# ],
# scale=1.0,
# )
# Left gripper control (binary: open/close)
gripper_action = BinaryJointPositionActionCfg(

View File

@@ -21,5 +21,5 @@ import os
MINDBOT_ASSETS_DIR: str = os.environ.get(
"MINDBOT_ASSETS_DIR",
# "/home/tangger/DataDisk/maic_usd_assets_moudle",
"/home/maic/LYT/maic_usd_assets_moudle",
r"c:\Users\PC\workpalce\maic_usd_assets_moudle",
)