diff --git a/source/isaaclab_tasks/changelog.d/fix-velocity-play-configs.rst b/source/isaaclab_tasks/changelog.d/fix-velocity-play-configs.rst new file mode 100644 index 000000000000..b172fd6288f9 --- /dev/null +++ b/source/isaaclab_tasks/changelog.d/fix-velocity-play-configs.rst @@ -0,0 +1,6 @@ +Removed +^^^^^^^ + +* Removed per-robot ``play_mode()`` overrides from Cassie, G1, and H1 rough velocity + environment configs. The base :meth:`~isaaclab_tasks.core.velocity.LocomotionVelocityRoughEnvCfg.play_mode` + is now used directly without robot-specific command range overrides. diff --git a/source/isaaclab_tasks/isaaclab_tasks/core/velocity/config/cassie/rough_env_cfg.py b/source/isaaclab_tasks/isaaclab_tasks/core/velocity/config/cassie/rough_env_cfg.py index 957cb8d0f614..ea76fc0fb5ff 100644 --- a/source/isaaclab_tasks/isaaclab_tasks/core/velocity/config/cassie/rough_env_cfg.py +++ b/source/isaaclab_tasks/isaaclab_tasks/core/velocity/config/cassie/rough_env_cfg.py @@ -82,10 +82,3 @@ def __post_init__(self): self.events.base_com = None self.events.base_external_force_torque.params["asset_cfg"].body_names = ".*pelvis" self.events.reset_robot_joints.params["position_range"] = (1.0, 1.0) - - def play_mode(self): - super().play_mode() - - self.commands.base_velocity.ranges.lin_vel_x = (0.7, 1.0) - self.commands.base_velocity.ranges.lin_vel_y = (0.0, 0.0) - self.commands.base_velocity.ranges.heading = (0.0, 0.0) diff --git a/source/isaaclab_tasks/isaaclab_tasks/core/velocity/config/g1/rough_env_cfg.py b/source/isaaclab_tasks/isaaclab_tasks/core/velocity/config/g1/rough_env_cfg.py index 415b816c323a..034c26452100 100644 --- a/source/isaaclab_tasks/isaaclab_tasks/core/velocity/config/g1/rough_env_cfg.py +++ b/source/isaaclab_tasks/isaaclab_tasks/core/velocity/config/g1/rough_env_cfg.py @@ -139,12 +139,3 @@ def __post_init__(self): self.events.base_com = None self.events.base_external_force_torque.params["asset_cfg"].body_names = "torso_link" self.events.reset_robot_joints.params["position_range"] = (1.0, 1.0) - - def play_mode(self): - super().play_mode() - - self.episode_length_s = 40.0 - self.commands.base_velocity.ranges.lin_vel_x = (1.0, 1.0) - self.commands.base_velocity.ranges.lin_vel_y = (0.0, 0.0) - self.commands.base_velocity.ranges.ang_vel_z = (-1.0, 1.0) - self.commands.base_velocity.ranges.heading = (0.0, 0.0) diff --git a/source/isaaclab_tasks/isaaclab_tasks/core/velocity/config/h1/rough_env_cfg.py b/source/isaaclab_tasks/isaaclab_tasks/core/velocity/config/h1/rough_env_cfg.py index 417c0ebe3113..a378ebc15cb6 100644 --- a/source/isaaclab_tasks/isaaclab_tasks/core/velocity/config/h1/rough_env_cfg.py +++ b/source/isaaclab_tasks/isaaclab_tasks/core/velocity/config/h1/rough_env_cfg.py @@ -99,12 +99,3 @@ def __post_init__(self): self.events.reset_robot_joints.params["position_range"] = (1.0, 1.0) self.events.base_com = None self.events.base_external_force_torque.params["asset_cfg"].body_names = ".*torso_link" - - def play_mode(self): - super().play_mode() - - self.episode_length_s = 40.0 - self.commands.base_velocity.ranges.lin_vel_x = (1.0, 1.0) - self.commands.base_velocity.ranges.lin_vel_y = (0.0, 0.0) - self.commands.base_velocity.ranges.ang_vel_z = (-1.0, 1.0) - self.commands.base_velocity.ranges.heading = (0.0, 0.0) diff --git a/source/isaaclab_tasks/test/core/test_velocity_play_mode.py b/source/isaaclab_tasks/test/core/test_velocity_play_mode.py deleted file mode 100644 index 1f5ba55d7e87..000000000000 --- a/source/isaaclab_tasks/test/core/test_velocity_play_mode.py +++ /dev/null @@ -1,31 +0,0 @@ -# Copyright (c) 2026, The Isaac Lab Project Developers (https://github.com/isaac-sim/IsaacLab/blob/main/CONTRIBUTORS.md). -# All rights reserved. -# -# SPDX-License-Identifier: BSD-3-Clause - -import pytest - -from isaaclab_tasks.core.velocity.config.cassie.rough_env_cfg import CassieRoughEnvCfg -from isaaclab_tasks.core.velocity.config.g1.rough_env_cfg import G1RoughEnvCfg -from isaaclab_tasks.core.velocity.config.h1.rough_env_cfg import H1RoughEnvCfg - - -@pytest.mark.parametrize( - "cfg_type,lin_vel_x,episode_length_s", - [ - (CassieRoughEnvCfg, (0.7, 1.0), 20.0), - (G1RoughEnvCfg, (1.0, 1.0), 40.0), - (H1RoughEnvCfg, (1.0, 1.0), 40.0), - ], -) -def test_velocity_play_mode_applies_task_overrides(cfg_type, lin_vel_x, episode_length_s): - cfg = cfg_type() - - cfg.play_mode() - - assert cfg.scene.num_envs == 50 - assert cfg.observations.policy.enable_corruption is False - assert cfg.episode_length_s == episode_length_s - assert cfg.commands.base_velocity.ranges.lin_vel_x == lin_vel_x - assert cfg.commands.base_velocity.ranges.lin_vel_y == (0.0, 0.0) - assert cfg.commands.base_velocity.ranges.heading == (0.0, 0.0)