|
24 | 24 | # Scene definition |
25 | 25 | ## |
26 | 26 |
|
| 27 | +# ---------------------------------------------------------------- |
| 28 | +# --------------- LycheeAI live asset ---------------------------- |
| 29 | +# ---------------------------------------------------------------- |
| 30 | + |
27 | 31 |
|
28 | 32 | @configclass |
29 | 33 | class SoArm100ReachEnvCfg(ReachEnvCfg): |
@@ -63,3 +67,48 @@ def __post_init__(self): |
63 | 67 | self.scene.env_spacing = 2.5 |
64 | 68 | # disable randomization for play |
65 | 69 | self.observations.policy.enable_corruption = False |
| 70 | + |
| 71 | + |
| 72 | +# ---------------------------------------------------------------- |
| 73 | +# --------------- ROSCON ES 2025 asset --------------------------- |
| 74 | +# ---------------------------------------------------------------- |
| 75 | + |
| 76 | + |
| 77 | +@configclass |
| 78 | +class SoArm100ReachRosConEnvCfg(ReachEnvCfg): |
| 79 | + def __post_init__(self): |
| 80 | + # post init of parent |
| 81 | + super().__post_init__() |
| 82 | + |
| 83 | + # switch robot to franka |
| 84 | + self.scene.robot = SO_ARM100_ROSCON_CFG.replace(prim_path="{ENV_REGEX_NS}/Robot") |
| 85 | + # override rewards |
| 86 | + self.rewards.end_effector_position_tracking.params["asset_cfg"].body_names = ["wrist_2_link"] |
| 87 | + self.rewards.end_effector_position_tracking_fine_grained.params["asset_cfg"].body_names = ["wrist_2_link"] |
| 88 | + self.rewards.end_effector_orientation_tracking.params["asset_cfg"].body_names = ["wrist_2_link"] |
| 89 | + |
| 90 | + self.rewards.end_effector_orientation_tracking.weight = 0.0 |
| 91 | + |
| 92 | + # override actions |
| 93 | + self.actions.arm_action = mdp.JointPositionActionCfg( |
| 94 | + asset_name="robot", |
| 95 | + joint_names=[".*"], |
| 96 | + scale=0.5, |
| 97 | + use_default_offset=True, |
| 98 | + ) |
| 99 | + # override command generator body |
| 100 | + # end-effector is along z-direction |
| 101 | + self.commands.ee_pose.body_name = ["wrist_2_link"] |
| 102 | + # self.commands.ee_pose.ranges.pitch = (math.pi, math.pi) |
| 103 | + |
| 104 | + |
| 105 | +@configclass |
| 106 | +class SoArm100ReachRosConEnvCfg_PLAY(SoArm100ReachEnvCfg): |
| 107 | + def __post_init__(self): |
| 108 | + # post init of parent |
| 109 | + super().__post_init__() |
| 110 | + # make a smaller scene for play |
| 111 | + self.scene.num_envs = 50 |
| 112 | + self.scene.env_spacing = 2.5 |
| 113 | + # disable randomization for play |
| 114 | + self.observations.policy.enable_corruption = False |
0 commit comments