diff --git a/docs/source/_static/css/environment-browser.js b/docs/source/_static/css/environment-browser.js index dadfd2dca45..1bd8f03505b 100644 --- a/docs/source/_static/css/environment-browser.js +++ b/docs/source/_static/css/environment-browser.js @@ -36,14 +36,13 @@ ["Isaac-Reach-Franka", "rl_games,rsl_rl,skrl", "isaacsim_physx,newton_mjwarp,ovphysx", "", "diffik,diffik_abs,joint_pos,newton_ik", "tasks/manipulation/franka_reach.jpg", true, {"*": ["joint_pos"]}], ["Isaac-Reach-Franka-OSC", "rsl_rl", "isaacsim_physx,newton_mjwarp,ovphysx", "", "diffik_abs", "tasks/manipulation/franka_reach.jpg", false, {"*": ["diffik_abs"]}], ["Isaac-Reach-UR10", "rl_games,rsl_rl,skrl", "isaacsim_physx,newton_mjwarp,ovphysx", "", "", "tasks/manipulation/ur10_reach.jpg", true], - ["Isaac-RenderBenchmark-Franka-Cabinet", "", "isaacsim_physx,newton_mjwarp", "isaacsim_rtx,newton_renderer,ovrtx", "albedo,depth,rgb,simple_shading_constant_diffuse,simple_shading_diffuse_mdl,simple_shading_full_mdl", "", false, {"*": ["rgb"]}], + ["Isaac-RenderBenchmark-Franka-Cabinet", "", "isaacsim_physx,newton_mjwarp,ovphysx", "isaacsim_rtx,newton_renderer,ovrtx", "albedo,depth,rgb,simple_shading_constant_diffuse,simple_shading_diffuse_mdl,simple_shading_full_mdl", "", false, {"*": ["rgb"]}], ["Isaac-Reorient-Cube-Allegro-Direct", "rl_games,rsl_rl,skrl", "isaacsim_physx,newton_mjwarp,ovphysx", "", "", "tasks/manipulation/allegro_cube.jpg", true], ["Isaac-Reorient-Cube-Allegro", "rl_games,rsl_rl,skrl", "isaacsim_physx,newton_mjwarp,ovphysx", "", "randomized,reset_only", "tasks/manipulation/allegro_cube.jpg", false, {"*": ["reset_only"]}], ["Isaac-Reorient-Cube-Shadow-Direct", "rl_games,rsl_rl,skrl", "isaacsim_physx,newton_mjwarp,ovphysx", "", "", "tasks/manipulation/shadow_cube.jpg"], ["Isaac-Reorient-Cube-Shadow", "rl_games,rsl_rl,skrl", "isaacsim_physx,newton_mjwarp,ovphysx", "", "asymmetric,randomized"], ["Isaac-Reorient-Cube-Shadow-Camera-Direct", "rl_games,rsl_rl", "isaacsim_physx,newton_mjwarp,ovphysx", "isaacsim_rtx,newton_renderer,ovrtx", "albedo,depth,full,rgb,semantic_segmentation,simple_shading_constant_diffuse,simple_shading_diffuse_mdl,simple_shading_full_mdl", "tasks/manipulation/shadow_cube.jpg", false, {"*": ["full"]}], ["Isaac-Reorient-Cube-Shadow-Camera", "rl_games,rsl_rl", "isaacsim_physx,newton_mjwarp,ovphysx", "isaacsim_rtx,newton_renderer,ovrtx", "albedo,depth,full,randomized,rgb,semantic_segmentation,simple_shading_constant_diffuse,simple_shading_diffuse_mdl,simple_shading_full_mdl", "", false, {"*": ["full"]}], - ["Isaac-Reorient-Franka", "rsl_rl", "isaacsim_physx,newton_mjwarp,ovphysx", "", "cube,shapes", "", false, {"*": ["shapes"]}], ["Isaac-Reorient-KukaAllegro", "rsl_rl", "isaacsim_physx,newton_mjwarp,ovphysx", "", "cube,shapes", "tasks/manipulation/kuka_allegro_reorient.jpg", false, {"*": ["shapes"]}], ["Isaac-Reorient-KukaAllegro-Camera", "rsl_rl", "isaacsim_physx,newton_mjwarp,ovphysx", "isaacsim_rtx,newton_renderer,ovrtx", "albedo128,albedo256,albedo64,cube,depth128,depth256,depth64,duo_camera,raycaster_depth128,raycaster_depth256,raycaster_depth64,rgb128,rgb256,rgb64,semantic_segmentation128,semantic_segmentation256,semantic_segmentation64,shapes,simple_shading_constant_diffuse128,simple_shading_constant_diffuse256,simple_shading_constant_diffuse64,simple_shading_diffuse_mdl128,simple_shading_diffuse_mdl256,simple_shading_diffuse_mdl64,simple_shading_full_mdl128,simple_shading_full_mdl256,simple_shading_full_mdl64,single_camera", "tasks/manipulation/kuka_allegro_reorient.jpg", false, {"*": ["rgb64", "shapes", "single_camera"]}], ["Isaac-Shadow-Handover-Direct", "rl_games,rsl_rl,skrl", "isaacsim_physx,newton_mjwarp,ovphysx", "", "", "tasks/manipulation/shadow_hand_over.jpg", false, {}, {"skrl": "MAPPO"}], @@ -99,7 +98,7 @@ ["IsaacContrib-Open-Drawer-Franka-IK-Abs", "rsl_rl", "isaacsim_physx,newton_mjwarp,ovphysx", "", ""], ["IsaacContrib-Open-Drawer-Franka-IK-Rel", "rsl_rl", "isaacsim_physx,newton_mjwarp,ovphysx", "", ""], ["IsaacContrib-Open-Drawer-OpenArm", "rl_games,rsl_rl", "", "", "", "tasks/manipulation/openarm_uni_open_drawer.jpg"], - ["IsaacContrib-PickPlace-FixedBaseUpperBodyIK-G1-Abs", "", "", "", "", "tasks/manipulation/g1_pick_place_fixed_base.jpg"], + ["IsaacContrib-PickPlace-FixedBaseUpperBodyIK-G1-Abs", "", "", "isaacsim_rtx,newton_renderer,ovrtx", "", "tasks/manipulation/g1_pick_place_fixed_base.jpg"], ["IsaacContrib-PickPlace-G1-InspireFTP-Abs", "", "", "", "", "tasks/manipulation/g1_pick_place.jpg"], ["IsaacContrib-PickPlace-GR1T2-Abs", "", "", "isaacsim_rtx,newton_renderer,ovrtx", "", "tasks/manipulation/gr-1_pick_place.jpg"], ["IsaacContrib-PickPlace-GR1T2-WaistEnabled-Abs", "", "", "", "", "tasks/manipulation/gr-1_pick_place_waist.jpg"], @@ -336,7 +335,6 @@ [/Reach-UR10/, "tasks/manipulation/ur10_reach.jpg"], [/Reorient-Cube-Allegro/, "tasks/manipulation/allegro_cube.jpg"], [/Reorient-Cube-Shadow/, "tasks/manipulation/shadow_cube.jpg"], - [/Reorient-Franka/, "tasks/manipulation/franka_lift.jpg"], [/Reorient-KukaAllegro/, "tasks/manipulation/kuka_allegro_reorient.jpg"], [/Shadow-Handover/, "tasks/manipulation/shadow_hand_over.jpg"], [/AnymalB/, "tasks/locomotion/anymal_b_flat.jpg"], diff --git a/examples/heterogeneous_scene.py b/examples/heterogeneous_scene.py index b7ec74d2f50..a4d8a334fe4 100644 --- a/examples/heterogeneous_scene.py +++ b/examples/heterogeneous_scene.py @@ -95,7 +95,6 @@ "IsaacContrib-Navigation-Flat-AnymalC", # arm and hand manipulation "Isaac-Lift-Franka", - "Isaac-Reorient-Franka", "Isaac-Lift-KukaAllegro", "Isaac-Reorient-KukaAllegro", "Isaac-Open-Drawer-Franka", diff --git a/source/isaaclab_tasks/changelog.d/maximiliank-remove-franka-reorient.major.rst b/source/isaaclab_tasks/changelog.d/maximiliank-remove-franka-reorient.major.rst new file mode 100644 index 00000000000..04a0cd995c0 --- /dev/null +++ b/source/isaaclab_tasks/changelog.d/maximiliank-remove-franka-reorient.major.rst @@ -0,0 +1,5 @@ +Removed +^^^^^^^ + +* Removed the unsupported ``Isaac-Reorient-Franka`` task and its environment configuration. Migrate custom + reorientation experiments to a maintained task or keep a local copy of the old configuration. diff --git a/source/isaaclab_tasks/isaaclab_tasks/core/lift/config/franka/__init__.py b/source/isaaclab_tasks/isaaclab_tasks/core/lift/config/franka/__init__.py index 6b677df0f69..ce0db54e019 100644 --- a/source/isaaclab_tasks/isaaclab_tasks/core/lift/config/franka/__init__.py +++ b/source/isaaclab_tasks/isaaclab_tasks/core/lift/config/franka/__init__.py @@ -3,7 +3,7 @@ # # SPDX-License-Identifier: BSD-3-Clause -"""Lift Franka reorient and lift environments.""" +"""Franka lift environment.""" import gymnasium as gym @@ -13,17 +13,6 @@ # Register Gym environments. ## -gym.register( - id="Isaac-Reorient-Franka", - entry_point="isaaclab.envs:ManagerBasedRLEnv", - disable_env_checker=True, - kwargs={ - "env_cfg_entry_point": f"{__name__}.franka_env_cfg:FrankaReorientEnvCfg", - "rsl_rl_cfg_entry_point": f"{agents.__name__}.rsl_rl_ppo_cfg:FrankaPPORunnerCfg", - "default_agent": "rsl_rl", - }, -) - gym.register( id="Isaac-Lift-Franka", entry_point="isaaclab.envs:ManagerBasedRLEnv", diff --git a/source/isaaclab_tasks/isaaclab_tasks/core/lift/config/franka/franka_env_cfg.py b/source/isaaclab_tasks/isaaclab_tasks/core/lift/config/franka/franka_env_cfg.py index ceaa21249b7..2d136cd8c31 100644 --- a/source/isaaclab_tasks/isaaclab_tasks/core/lift/config/franka/franka_env_cfg.py +++ b/source/isaaclab_tasks/isaaclab_tasks/core/lift/config/franka/franka_env_cfg.py @@ -3,7 +3,7 @@ # # SPDX-License-Identifier: BSD-3-Clause -"""Configuration for the Franka lift and reorient environments.""" +"""Configuration for the Franka lift environment.""" from isaaclab.actuators import ImplicitActuatorCfg from isaaclab.assets import ArticulationCfg @@ -96,7 +96,7 @@ @configclass class FrankaSceneCfg(lift.SceneCfg): - """Franka scene for the lift and reorient tasks.""" + """Franka scene for the lift task.""" robot: ArticulationCfg = replace(FRANKA_PANDA_LIFT_CFG, prim_path="{ENV_REGEX_NS}/Robot") @@ -259,17 +259,6 @@ def __post_init__(self): self.terminations.abnormal_robot.params["asset_cfg"] = SceneEntityCfg("robot", joint_names="panda_joint.*") -@configclass -class FrankaReorientEnvCfg(FrankaMixinCfg, lift.ReorientEnvCfg): - """Franka object reorientation environment.""" - - def play_mode(self): - super().play_mode() - # evaluate at the datasheet gripper speed: without the closing-speed randomization the hand - # damping caps closing at the real hand's jaw-speed limit of 0.2 m/s - self.events.gripper_closing_speed = None - - @configclass class FrankaLiftEnvCfg(FrankaMixinCfg, lift.LiftEnvCfg): """Franka object lifting environment.""" diff --git a/source/isaaclab_tasks/test/core/test_lift_env_cfg.py b/source/isaaclab_tasks/test/core/test_lift_env_cfg.py index 6ea417797ae..2da93775565 100644 --- a/source/isaaclab_tasks/test/core/test_lift_env_cfg.py +++ b/source/isaaclab_tasks/test/core/test_lift_env_cfg.py @@ -3,10 +3,11 @@ # # SPDX-License-Identifier: BSD-3-Clause -"""Behavioral tests for the unified dexterous Lift and Reorient tasks.""" +"""Behavioral tests for the dexterous Lift tasks.""" from types import SimpleNamespace +import gymnasium as gym import pytest import torch import warp as wp @@ -18,7 +19,7 @@ from isaaclab.utils.warp import ProxyArray from isaaclab_tasks.core.lift import mdp -from isaaclab_tasks.core.lift.config.franka.franka_env_cfg import FrankaLiftEnvCfg, FrankaReorientEnvCfg +from isaaclab_tasks.core.lift.config.franka.franka_env_cfg import FrankaLiftEnvCfg from isaaclab_tasks.core.lift.config.franka_soft.franka_soft_env_cfg import FrankaSoftEnvCfg from isaaclab_tasks.core.lift.mdp.commands import pose_commands from isaaclab_tasks.core.lift.mdp.commands.pose_commands import ( @@ -65,10 +66,14 @@ def test_franka_soft_robot_physics_variant_matches_backend( assert cfg.scene.robot.spawn.variants == {"Physics": expected_physics} -@pytest.mark.parametrize("cfg_type", [FrankaLiftEnvCfg, FrankaReorientEnvCfg]) -def test_franka_rigid_tasks_select_collision_meshes_for_reset_clearance(cfg_type) -> None: +def test_franka_reorient_is_not_registered() -> None: + """The unsupported core Franka reorientation task is absent from the task registry.""" + assert "Isaac-Reorient-Franka" not in gym.registry + + +def test_franka_rigid_task_selects_collision_meshes_for_reset_clearance() -> None: """Reset validation keeps the original arm meshes when the asset defaults to capsules.""" - cfg = cfg_type() + cfg = FrankaLiftEnvCfg() stage = Usd.Stage.CreateInMemory() robot = stage.DefinePrim("/Robot", "Xform") colliders = robot.GetVariantSets().AddVariantSet("Colliders")