Skip to content

Commit d453279

Browse files
authored
Merge pull request #151 from utn-mi/juelg/sim-collision-guard-same-mjcf
refactor(factories): same mjcf scene for sim collision guard
2 parents 2291e25 + 3404123 commit d453279

5 files changed

Lines changed: 10 additions & 11 deletions

File tree

python/examples/env_cartesian_control.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def main():
6666
env_rel = fr3_sim_env(
6767
control_mode=ControlMode.CARTESIAN_TQuart,
6868
robot_cfg=default_fr3_sim_robot_cfg(),
69-
collision_guard=None,
69+
collision_guard=False,
7070
gripper_cfg=default_fr3_sim_gripper_cfg(),
7171
camera_set_cfg=default_mujoco_cameraset_cfg(),
7272
max_relative_movement=0.5,

python/examples/env_joint_control.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ def main():
6868
else:
6969
env_rel = fr3_sim_env(
7070
control_mode=ControlMode.JOINTS,
71-
collision_guard=None,
71+
collision_guard=False,
7272
robot_cfg=default_fr3_sim_robot_cfg(),
7373
gripper_cfg=default_fr3_sim_gripper_cfg(),
7474
camera_set_cfg=default_mujoco_cameraset_cfg(),

python/rcsss/envs/factories.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ def default_mujoco_cameraset_cfg():
166166
def fr3_sim_env(
167167
control_mode: ControlMode,
168168
robot_cfg: rcsss.sim.FR3Config,
169-
collision_guard: str | PathLike | None = None,
169+
collision_guard: bool = False,
170170
gripper_cfg: rcsss.sim.FHConfig | None = None,
171171
camera_set_cfg: SimCameraSetConfig | None = None,
172172
max_relative_movement: float | tuple[float, float] | None = None,
@@ -180,8 +180,7 @@ def fr3_sim_env(
180180
Args:
181181
control_mode (ControlMode): Control mode for the robot.
182182
robot_cfg (rcsss.sim.FR3Config): Configuration for the FR3 robot.
183-
collision_guard (str | PathLike | None): Key to a scene (requires UTN compatible scene package to be present)
184-
or the path to a mujoco scene for collision guarding. If None, collision guarding is not used.
183+
collision_guard (bool): Whether to use collision guarding. If True, the same mjcf scene is used for collision guarding.
185184
gripper_cfg (rcsss.sim.FHConfig | None): Configuration for the gripper. If None, no gripper is used.
186185
camera_set_cfg (SimCameraSetConfig | None): Configuration for the camera set. If None, no cameras are used.
187186
max_relative_movement (float | tuple[float, float] | None): Maximum allowed movement. If float, it restricts
@@ -215,10 +214,10 @@ def fr3_sim_env(
215214
gripper = sim.FrankaHand(simulation, "0", gripper_cfg)
216215
env = GripperWrapper(env, gripper, binary=False)
217216

218-
if collision_guard is not None:
217+
if collision_guard:
219218
env = CollisionGuard.env_from_xml_paths(
220219
env,
221-
str(rcsss.scenes.get(str(collision_guard), collision_guard)),
220+
str(rcsss.scenes.get(str(mjcf), mjcf)),
222221
urdf_path,
223222
gripper=gripper_cfg is not None,
224223
check_home_collision=False,

python/rcsss/envs/sim.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ def step(self, action: dict[str, Any]) -> tuple[dict[str, Any], SupportsFloat, b
7878
# modify action to be joint angles down stream
7979
if info["collision"] or not info["ik_success"] or not info["is_sim_converged"]:
8080
# return old obs, with truncated and print warning
81-
self._logger.warning("Collision detected! Truncating episode.")
81+
self._logger.warning("Collision detected! Truncating episode: %s", info)
8282
if self.last_obs is None:
8383
msg = "Collisions detected and no old observation."
8484
raise RuntimeError(msg)

python/tests/test_sim_envs.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ def test_collision_guard_trpy(self, cfg, gripper_cfg, cam_cfg):
141141
ControlMode.CARTESIAN_TRPY,
142142
cfg,
143143
gripper_cfg=gripper_cfg,
144-
collision_guard="fr3_empty_world",
144+
collision_guard=True,
145145
camera_set_cfg=cam_cfg,
146146
max_relative_movement=0.5,
147147
)
@@ -243,7 +243,7 @@ def test_collision_guard_tquart(self, cfg, gripper_cfg, cam_cfg):
243243
ControlMode.CARTESIAN_TQuart,
244244
cfg,
245245
gripper_cfg=gripper_cfg,
246-
collision_guard="fr3_empty_world",
246+
collision_guard=True,
247247
camera_set_cfg=cam_cfg,
248248
max_relative_movement=None,
249249
)
@@ -318,7 +318,7 @@ def test_collision_guard_joints(self, cfg, gripper_cfg, cam_cfg):
318318
ControlMode.JOINTS,
319319
cfg,
320320
gripper_cfg=gripper_cfg,
321-
collision_guard="fr3_empty_world",
321+
collision_guard=True,
322322
camera_set_cfg=cam_cfg,
323323
max_relative_movement=None,
324324
)

0 commit comments

Comments
 (0)