209 lines
6.3 KiB
Python
209 lines
6.3 KiB
Python
from __future__ import annotations
|
|
|
|
from pathlib import Path
|
|
|
|
import isaaclab.sim as sim_utils
|
|
from isaaclab.actuators import ImplicitActuatorCfg
|
|
from isaaclab.assets import ArticulationCfg
|
|
from isaaclab.managers import SceneEntityCfg
|
|
|
|
|
|
GEN2_ASSET_DIR = Path(__file__).resolve().parents[2] / "gen2_lab" / "assets"
|
|
GEN2_ORIGINAL_URDF_PATH = GEN2_ASSET_DIR / "robot.urdf"
|
|
GEN2_SIMPLIFIED_COLLISION_URDF_PATH = GEN2_ASSET_DIR / "robot_simplified_collision.urdf"
|
|
GEN2_URDF_PATH = (
|
|
GEN2_SIMPLIFIED_COLLISION_URDF_PATH
|
|
if GEN2_SIMPLIFIED_COLLISION_URDF_PATH.exists()
|
|
else GEN2_ORIGINAL_URDF_PATH
|
|
)
|
|
|
|
GEN2_LEG_JOINT_NAMES = [
|
|
"left_leg_J1",
|
|
"left_leg_J2",
|
|
"left_leg_J3",
|
|
"left_leg_J4",
|
|
"left_leg_J5",
|
|
"left_leg_J6",
|
|
"right_leg_J1",
|
|
"right_leg_J2",
|
|
"right_leg_J3",
|
|
"right_leg_J4",
|
|
"right_leg_J5",
|
|
"right_leg_J6",
|
|
]
|
|
|
|
GEN2_WAIST_JOINT_NAMES = ["waist_J1", "waist_J2"]
|
|
|
|
GEN2_ARM_JOINT_NAMES = [
|
|
"left_arm_J1",
|
|
"left_arm_J2",
|
|
"left_arm_J3",
|
|
"left_arm_J4",
|
|
"left_arm_J5",
|
|
"left_arm_J6",
|
|
"left_arm_J7",
|
|
"right_arm_J1",
|
|
"right_arm_J2",
|
|
"right_arm_J3",
|
|
"right_arm_J4",
|
|
"right_arm_J5",
|
|
"right_arm_J6",
|
|
"right_arm_J7",
|
|
]
|
|
|
|
GEN2_DFS_JOINT_NAMES = GEN2_LEG_JOINT_NAMES + GEN2_WAIST_JOINT_NAMES + GEN2_ARM_JOINT_NAMES
|
|
GEN2_DFS_JOINT_ORDER_ASSET_CFG = SceneEntityCfg("robot", joint_names=GEN2_DFS_JOINT_NAMES, preserve_order=True)
|
|
|
|
GEN2_FEET_BODY_NAMES = ["left_leg_link_6", "right_leg_link_6"]
|
|
|
|
|
|
GEN2_CFG = ArticulationCfg(
|
|
spawn=sim_utils.UrdfFileCfg(
|
|
asset_path=str(GEN2_URDF_PATH),
|
|
activate_contact_sensors=True,
|
|
fix_base=False,
|
|
replace_cylinders_with_capsules=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=False,
|
|
solver_position_iteration_count=8,
|
|
solver_velocity_iteration_count=4,
|
|
),
|
|
joint_drive=sim_utils.UrdfConverterCfg.JointDriveCfg(
|
|
gains=sim_utils.UrdfConverterCfg.JointDriveCfg.PDGainsCfg(stiffness=0, damping=0)
|
|
),
|
|
),
|
|
init_state=ArticulationCfg.InitialStateCfg(
|
|
pos=(0.0, 0.0, 1.282),
|
|
joint_pos={
|
|
"left_leg_J1": 0.0,
|
|
"left_leg_J2": 0.0,
|
|
"left_leg_J3": 0.0,
|
|
"left_leg_J4": 0.0,
|
|
"left_leg_J5": 0.0,
|
|
"left_leg_J6": 0.0,
|
|
"right_leg_J1": 0.0,
|
|
"right_leg_J2": 0.0,
|
|
"right_leg_J3": 0.0,
|
|
"right_leg_J4": 0.0,
|
|
"right_leg_J5": 0.0,
|
|
"right_leg_J6": 0.0,
|
|
"waist_J1": 0.0,
|
|
"waist_J2": 0.0,
|
|
"left_arm_J1": 0.0,
|
|
"left_arm_J2": 1.4835298641951802,
|
|
"left_arm_J3": 1.5707963267948966,
|
|
"left_arm_J4": 0.0,
|
|
"left_arm_J5": 1.5707963267948966,
|
|
"left_arm_J6": 0.0,
|
|
"left_arm_J7": 0.0,
|
|
"right_arm_J1": 0.0,
|
|
"right_arm_J2": -1.4835298641951802,
|
|
"right_arm_J3": -1.5707963267948966,
|
|
"right_arm_J4": 0.0,
|
|
"right_arm_J5": 1.5707963267948966,
|
|
"right_arm_J6": 0.0,
|
|
"right_arm_J7": 0.0,
|
|
},
|
|
joint_vel={".*": 0.0},
|
|
),
|
|
soft_joint_pos_limit_factor=0.9,
|
|
actuators={
|
|
"body": ImplicitActuatorCfg(
|
|
joint_names_expr=[".*"],
|
|
stiffness={
|
|
".*_leg_J1": 180.0,
|
|
".*_leg_J2": 160.0,
|
|
".*_leg_J3": 90.0,
|
|
".*_leg_J4": 220.0,
|
|
".*_leg_J5": 55.0,
|
|
".*_leg_J6": 55.0,
|
|
"waist_J.*": 80.0,
|
|
".*_arm_J1": 50.0,
|
|
".*_arm_J2": 50.0,
|
|
".*_arm_J3": 45.0,
|
|
".*_arm_J4": 35.0,
|
|
".*_arm_J5": 30.0,
|
|
".*_arm_J6": 20.0,
|
|
".*_arm_J7": 20.0,
|
|
},
|
|
damping={
|
|
".*_leg_J1": 6.0,
|
|
".*_leg_J2": 5.0,
|
|
".*_leg_J3": 4.0,
|
|
".*_leg_J4": 7.0,
|
|
".*_leg_J5": 1.0,
|
|
".*_leg_J6": 1.0,
|
|
"waist_J.*": 4.0,
|
|
".*_arm_J1": 0.8,
|
|
".*_arm_J2": 0.8,
|
|
".*_arm_J3": 0.8,
|
|
".*_arm_J4": 0.6,
|
|
".*_arm_J5": 0.5,
|
|
".*_arm_J6": 0.4,
|
|
".*_arm_J7": 0.4,
|
|
},
|
|
effort_limit={
|
|
".*_leg_J1": 320.0,
|
|
".*_leg_J2": 320.0,
|
|
".*_leg_J3": 120.0,
|
|
".*_leg_J4": 450.0,
|
|
".*_leg_J5": 120.0,
|
|
".*_leg_J6": 120.0,
|
|
"waist_J.*": 182.0,
|
|
".*_arm_J1": 182.0,
|
|
".*_arm_J2": 182.0,
|
|
".*_arm_J3": 134.0,
|
|
".*_arm_J4": 66.0,
|
|
".*_arm_J5": 25.0,
|
|
".*_arm_J6": 25.0,
|
|
".*_arm_J7": 25.0,
|
|
},
|
|
effort_limit_sim={
|
|
".*_leg_J1": 320.0,
|
|
".*_leg_J2": 320.0,
|
|
".*_leg_J3": 120.0,
|
|
".*_leg_J4": 450.0,
|
|
".*_leg_J5": 120.0,
|
|
".*_leg_J6": 120.0,
|
|
"waist_J.*": 182.0,
|
|
".*_arm_J1": 182.0,
|
|
".*_arm_J2": 182.0,
|
|
".*_arm_J3": 134.0,
|
|
".*_arm_J4": 66.0,
|
|
".*_arm_J5": 25.0,
|
|
".*_arm_J6": 25.0,
|
|
".*_arm_J7": 25.0,
|
|
},
|
|
velocity_limit={
|
|
".*_leg_J1": 26.3,
|
|
".*_leg_J2": 26.3,
|
|
".*_leg_J3": 35.2,
|
|
".*_leg_J4": 26.3,
|
|
".*_leg_J5": 35.2,
|
|
".*_leg_J6": 35.2,
|
|
"waist_J.*": 35.2,
|
|
".*_arm_J.*": 35.2,
|
|
},
|
|
velocity_limit_sim={
|
|
".*_leg_J1": 26.3,
|
|
".*_leg_J2": 26.3,
|
|
".*_leg_J3": 35.2,
|
|
".*_leg_J4": 26.3,
|
|
".*_leg_J5": 35.2,
|
|
".*_leg_J6": 35.2,
|
|
"waist_J.*": 35.2,
|
|
".*_arm_J.*": 35.2,
|
|
},
|
|
)
|
|
},
|
|
)
|