From 106a544f1ce7373db96ccd01dd17e6583e300302 Mon Sep 17 00:00:00 2001 From: jichuanh Date: Thu, 4 Jun 2026 23:00:51 +0000 Subject: [PATCH] Declare physics presets for warp-only experimental envs The warp env configs under isaaclab_tasks_experimental assigned a bare NewtonCfg directly to sim.physics, bypassing the PresetCfg mechanism. As a result they declared no default and did not participate in `presets=` resolution the way the migrated core envs do. Wrap each env's physics in a module-level PhysicsCfg(PresetCfg) exposing a newton_mjwarp variant with default aliasing it, matching the core/velocity convention. For the direct envs, lift the stray solver_cfg and newton_cfg class attributes into the preset class. --- .../allegro_hand/allegro_hand_warp_env_cfg.py | 43 +++++++++++-------- .../direct/ant/ant_env_warp_cfg.py | 35 ++++++++------- .../direct/cartpole/cartpole_warp_env_cfg.py | 36 +++++++++------- .../direct/humanoid/humanoid_warp_env_cfg.py | 37 +++++++++------- .../manager_based/classic/ant/ant_env_cfg.py | 34 +++++++++------ .../classic/cartpole/cartpole_env_cfg.py | 34 +++++++++------ .../classic/humanoid/humanoid_env_cfg.py | 37 +++++++++------- .../velocity/config/a1/flat_env_cfg.py | 32 ++++++++------ .../velocity/config/anymal_b/flat_env_cfg.py | 32 ++++++++------ .../velocity/config/anymal_c/flat_env_cfg.py | 32 ++++++++------ .../velocity/config/anymal_d/flat_env_cfg.py | 30 +++++++------ .../velocity/config/cassie/flat_env_cfg.py | 32 ++++++++------ .../velocity/config/g1/flat_env_cfg.py | 32 ++++++++------ .../velocity/config/go1/flat_env_cfg.py | 32 ++++++++------ .../velocity/config/go2/flat_env_cfg.py | 32 ++++++++------ .../velocity/config/h1/flat_env_cfg.py | 32 ++++++++------ .../reach/config/franka/joint_pos_env_cfg.py | 31 +++++++------ .../reach/config/ur_10/joint_pos_env_cfg.py | 32 ++++++++------ 18 files changed, 353 insertions(+), 252 deletions(-) diff --git a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/direct/allegro_hand/allegro_hand_warp_env_cfg.py b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/direct/allegro_hand/allegro_hand_warp_env_cfg.py index 573b4f1d302d..3193ce555e4d 100644 --- a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/direct/allegro_hand/allegro_hand_warp_env_cfg.py +++ b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/direct/allegro_hand/allegro_hand_warp_env_cfg.py @@ -16,9 +16,32 @@ from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR from isaaclab.utils.configclass import configclass +from isaaclab_tasks.utils import PresetCfg + from isaaclab_assets.robots.allegro import ALLEGRO_HAND_CFG +@configclass +class PhysicsCfg(PresetCfg): + newton_mjwarp = NewtonCfg( + solver_cfg=MJWarpSolverCfg( + solver="newton", + integrator="implicitfast", + njmax=80, + nconmax=70, + impratio=10.0, + cone="elliptic", + update_data_interval=2, + iterations=100, + ls_iterations=15, + # save_to_mjcf="AllegroHand.xml", + ), + num_substeps=2, + debug_mode=False, + ) + default = newton_mjwarp + + @configclass class AllegroHandWarpEnvCfg(DirectRLEnvCfg): # env @@ -30,24 +53,6 @@ class AllegroHandWarpEnvCfg(DirectRLEnvCfg): asymmetric_obs = False obs_type = "full" - solver_cfg = MJWarpSolverCfg( - solver="newton", - integrator="implicitfast", - njmax=80, - nconmax=70, - impratio=10.0, - cone="elliptic", - update_data_interval=2, - iterations=100, - ls_iterations=15, - # save_to_mjcf="AllegroHand.xml", - ) - - newton_cfg = NewtonCfg( - solver_cfg=solver_cfg, - num_substeps=2, - debug_mode=False, - ) # simulation sim: SimulationCfg = SimulationCfg( dt=1 / 120, @@ -56,7 +61,7 @@ class AllegroHandWarpEnvCfg(DirectRLEnvCfg): static_friction=1.0, dynamic_friction=1.0, ), - physics=newton_cfg, + physics=PhysicsCfg(), ) # robot robot_cfg: ArticulationCfg = ALLEGRO_HAND_CFG.replace(prim_path="/World/envs/env_.*/Robot") diff --git a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/direct/ant/ant_env_warp_cfg.py b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/direct/ant/ant_env_warp_cfg.py index 6e8b7fb81a95..ad2e3ee3e2dc 100644 --- a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/direct/ant/ant_env_warp_cfg.py +++ b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/direct/ant/ant_env_warp_cfg.py @@ -15,9 +15,28 @@ from isaaclab.terrains import TerrainImporterCfg from isaaclab.utils.configclass import configclass +from isaaclab_tasks.utils import PresetCfg + from isaaclab_assets import ANT_CFG +@configclass +class PhysicsCfg(PresetCfg): + newton_mjwarp = NewtonCfg( + solver_cfg=MJWarpSolverCfg( + njmax=45, + nconmax=25, + cone="pyramidal", + integrator="implicitfast", + impratio=1, + ), + num_substeps=1, + debug_mode=False, + use_cuda_graph=True, + ) + default = newton_mjwarp + + @configclass class AntWarpEnvCfg(DirectRLEnvCfg): # env @@ -28,22 +47,8 @@ class AntWarpEnvCfg(DirectRLEnvCfg): observation_space = 36 state_space = 0 - solver_cfg = MJWarpSolverCfg( - njmax=45, - nconmax=25, - cone="pyramidal", - integrator="implicitfast", - impratio=1, - ) - newton_cfg = NewtonCfg( - solver_cfg=solver_cfg, - num_substeps=1, - debug_mode=False, - use_cuda_graph=True, - ) - # simulation - sim: SimulationCfg = SimulationCfg(dt=1 / 120, render_interval=decimation, physics=newton_cfg) + sim: SimulationCfg = SimulationCfg(dt=1 / 120, render_interval=decimation, physics=PhysicsCfg()) terrain = TerrainImporterCfg( prim_path="/World/ground", terrain_type="plane", diff --git a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/direct/cartpole/cartpole_warp_env_cfg.py b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/direct/cartpole/cartpole_warp_env_cfg.py index 2a99e1cff3e9..58d2d5765afe 100644 --- a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/direct/cartpole/cartpole_warp_env_cfg.py +++ b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/direct/cartpole/cartpole_warp_env_cfg.py @@ -13,9 +13,28 @@ from isaaclab.sim import SimulationCfg from isaaclab.utils.configclass import configclass +from isaaclab_tasks.utils import PresetCfg + from isaaclab_assets.robots.cartpole import CARTPOLE_CFG +@configclass +class PhysicsCfg(PresetCfg): + newton_mjwarp = NewtonCfg( + solver_cfg=MJWarpSolverCfg( + njmax=5, + nconmax=3, + cone="pyramidal", + integrator="implicitfast", + impratio=1, + ), + num_substeps=1, + debug_mode=False, + use_cuda_graph=True, + ) + default = newton_mjwarp + + @configclass class CartpoleWarpEnvCfg(DirectRLEnvCfg): # env @@ -26,23 +45,8 @@ class CartpoleWarpEnvCfg(DirectRLEnvCfg): observation_space = 4 state_space = 0 - solver_cfg = MJWarpSolverCfg( - njmax=5, - nconmax=3, - cone="pyramidal", - integrator="implicitfast", - impratio=1, - ) - - newton_cfg = NewtonCfg( - solver_cfg=solver_cfg, - num_substeps=1, - debug_mode=False, - use_cuda_graph=True, - ) - # simulation - sim: SimulationCfg = SimulationCfg(dt=1 / 120, render_interval=decimation, physics=newton_cfg) + sim: SimulationCfg = SimulationCfg(dt=1 / 120, render_interval=decimation, physics=PhysicsCfg()) # robot robot_cfg: ArticulationCfg = CARTPOLE_CFG.replace(prim_path="/World/envs/env_.*/Robot") diff --git a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/direct/humanoid/humanoid_warp_env_cfg.py b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/direct/humanoid/humanoid_warp_env_cfg.py index d7fa473eda38..6f35b4061a3f 100644 --- a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/direct/humanoid/humanoid_warp_env_cfg.py +++ b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/direct/humanoid/humanoid_warp_env_cfg.py @@ -15,9 +15,29 @@ from isaaclab.terrains import TerrainImporterCfg from isaaclab.utils.configclass import configclass +from isaaclab_tasks.utils import PresetCfg + from isaaclab_assets import HUMANOID_CFG +@configclass +class PhysicsCfg(PresetCfg): + newton_mjwarp = NewtonCfg( + solver_cfg=MJWarpSolverCfg( + njmax=80, + nconmax=25, + cone="pyramidal", + integrator="implicitfast", + update_data_interval=2, + impratio=1, + ), + num_substeps=2, + debug_mode=False, + use_cuda_graph=True, + ) + default = newton_mjwarp + + @configclass class HumanoidWarpEnvCfg(DirectRLEnvCfg): # env @@ -28,23 +48,8 @@ class HumanoidWarpEnvCfg(DirectRLEnvCfg): observation_space = 75 state_space = 0 - solver_cfg = MJWarpSolverCfg( - njmax=80, - nconmax=25, - cone="pyramidal", - integrator="implicitfast", - update_data_interval=2, - impratio=1, - ) - newton_cfg = NewtonCfg( - solver_cfg=solver_cfg, - num_substeps=2, - debug_mode=False, - use_cuda_graph=True, - ) - # simulation - sim: SimulationCfg = SimulationCfg(dt=1 / 120, render_interval=decimation, physics=newton_cfg) + sim: SimulationCfg = SimulationCfg(dt=1 / 120, render_interval=decimation, physics=PhysicsCfg()) terrain = TerrainImporterCfg( prim_path="/World/ground", terrain_type="plane", diff --git a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/classic/ant/ant_env_cfg.py b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/classic/ant/ant_env_cfg.py index 66a9131011f3..21ee4280fd53 100644 --- a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/classic/ant/ant_env_cfg.py +++ b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/classic/ant/ant_env_cfg.py @@ -19,6 +19,8 @@ from isaaclab.terrains import TerrainImporterCfg from isaaclab.utils.configclass import configclass +from isaaclab_tasks.utils import PresetCfg + import isaaclab_tasks_experimental.manager_based.classic.humanoid.mdp as mdp ## @@ -154,25 +156,29 @@ class TerminationsCfg: ## +@configclass +class PhysicsCfg(PresetCfg): + newton_mjwarp = NewtonCfg( + solver_cfg=MJWarpSolverCfg( + njmax=38, + nconmax=15, + ls_iterations=10, + cone="pyramidal", + impratio=1, + integrator="implicitfast", + ), + num_substeps=1, + debug_mode=False, + ) + default = newton_mjwarp + + @configclass class AntEnvCfg(ManagerBasedRLEnvCfg): """Configuration for the MuJoCo-style Ant walking environment.""" # Simulation settings - sim: SimulationCfg = SimulationCfg( - physics=NewtonCfg( - solver_cfg=MJWarpSolverCfg( - njmax=38, - nconmax=15, - ls_iterations=10, - cone="pyramidal", - impratio=1, - integrator="implicitfast", - ), - num_substeps=1, - debug_mode=False, - ) - ) + sim: SimulationCfg = SimulationCfg(physics=PhysicsCfg()) # Scene settings scene: MySceneCfg = MySceneCfg(num_envs=4096, env_spacing=5.0, clone_in_fabric=True) diff --git a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/classic/cartpole/cartpole_env_cfg.py b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/classic/cartpole/cartpole_env_cfg.py index ae187a593a16..943886e9fda9 100644 --- a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/classic/cartpole/cartpole_env_cfg.py +++ b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/classic/cartpole/cartpole_env_cfg.py @@ -20,6 +20,8 @@ from isaaclab.sim import SimulationCfg from isaaclab.utils.configclass import configclass +from isaaclab_tasks.utils import PresetCfg + import isaaclab_tasks_experimental.manager_based.classic.cartpole.mdp as mdp ## @@ -157,6 +159,23 @@ class TerminationsCfg: ## +@configclass +class PhysicsCfg(PresetCfg): + newton_mjwarp = NewtonCfg( + solver_cfg=MJWarpSolverCfg( + njmax=5, + nconmax=3, + cone="pyramidal", + impratio=1, + integrator="implicitfast", + ), + num_substeps=1, + debug_mode=False, + use_cuda_graph=True, + ) + default = newton_mjwarp + + @configclass class CartpoleEnvCfg(ManagerBasedRLEnvCfg): """Configuration for the cartpole environment.""" @@ -171,20 +190,7 @@ class CartpoleEnvCfg(ManagerBasedRLEnvCfg): rewards: RewardsCfg = RewardsCfg() terminations: TerminationsCfg = TerminationsCfg() # Simulation settings - sim: SimulationCfg = SimulationCfg( - physics=NewtonCfg( - solver_cfg=MJWarpSolverCfg( - njmax=5, - nconmax=3, - cone="pyramidal", - impratio=1, - integrator="implicitfast", - ), - num_substeps=1, - debug_mode=False, - use_cuda_graph=True, - ) - ) + sim: SimulationCfg = SimulationCfg(physics=PhysicsCfg()) # Post initialization def __post_init__(self) -> None: diff --git a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/classic/humanoid/humanoid_env_cfg.py b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/classic/humanoid/humanoid_env_cfg.py index 9de689ffb98e..40985c95f22e 100644 --- a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/classic/humanoid/humanoid_env_cfg.py +++ b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/classic/humanoid/humanoid_env_cfg.py @@ -18,6 +18,8 @@ from isaaclab.terrains import TerrainImporterCfg from isaaclab.utils.configclass import configclass +from isaaclab_tasks.utils import PresetCfg + import isaaclab_tasks_experimental.manager_based.classic.humanoid.mdp as mdp from isaaclab_assets.robots.humanoid import HUMANOID_CFG # isort:skip @@ -189,6 +191,24 @@ class TerminationsCfg: torso_height = DoneTerm(func=mdp.root_height_below_minimum, params={"minimum_height": 0.8}) +@configclass +class PhysicsCfg(PresetCfg): + newton_mjwarp = NewtonCfg( + solver_cfg=MJWarpSolverCfg( + njmax=80, + nconmax=25, + ls_iterations=15, + cone="pyramidal", + update_data_interval=2, + impratio=1, + integrator="implicitfast", + ), + num_substeps=2, + debug_mode=False, + ) + default = newton_mjwarp + + @configclass class HumanoidEnvCfg(ManagerBasedRLEnvCfg): """Configuration for the MuJoCo-style Humanoid walking environment.""" @@ -209,22 +229,7 @@ def __post_init__(self): self.decimation = 2 self.episode_length_s = 16.0 # simulation settings - self.sim: SimulationCfg = SimulationCfg( - dt=1 / 120.0, - physics=NewtonCfg( - solver_cfg=MJWarpSolverCfg( - njmax=80, - nconmax=25, - ls_iterations=15, - cone="pyramidal", - update_data_interval=2, - impratio=1, - integrator="implicitfast", - ), - num_substeps=2, - debug_mode=False, - ), - ) + self.sim: SimulationCfg = SimulationCfg(dt=1 / 120.0, physics=PhysicsCfg()) # self.sim.dt = 1 / 120.0 self.sim.render_interval = self.decimation # default friction material diff --git a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/a1/flat_env_cfg.py b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/a1/flat_env_cfg.py index f213286d0cfb..0963a3201525 100644 --- a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/a1/flat_env_cfg.py +++ b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/a1/flat_env_cfg.py @@ -8,24 +8,30 @@ from isaaclab.sim import SimulationCfg from isaaclab.utils.configclass import configclass +from isaaclab_tasks.utils import PresetCfg + from .rough_env_cfg import UnitreeA1RoughEnvCfg @configclass -class UnitreeA1FlatEnvCfg(UnitreeA1RoughEnvCfg): - sim: SimulationCfg = SimulationCfg( - physics=NewtonCfg( - solver_cfg=MJWarpSolverCfg( - njmax=60, - nconmax=30, - cone="pyramidal", - impratio=1, - integrator="implicitfast", - ), - num_substeps=1, - debug_mode=False, - ) +class PhysicsCfg(PresetCfg): + newton_mjwarp = NewtonCfg( + solver_cfg=MJWarpSolverCfg( + njmax=60, + nconmax=30, + cone="pyramidal", + impratio=1, + integrator="implicitfast", + ), + num_substeps=1, + debug_mode=False, ) + default = newton_mjwarp + + +@configclass +class UnitreeA1FlatEnvCfg(UnitreeA1RoughEnvCfg): + sim: SimulationCfg = SimulationCfg(physics=PhysicsCfg()) def __post_init__(self): # post init of parent diff --git a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/anymal_b/flat_env_cfg.py b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/anymal_b/flat_env_cfg.py index a5c825bf2e98..21999fa8ccf1 100644 --- a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/anymal_b/flat_env_cfg.py +++ b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/anymal_b/flat_env_cfg.py @@ -8,24 +8,30 @@ from isaaclab.sim import SimulationCfg from isaaclab.utils.configclass import configclass +from isaaclab_tasks.utils import PresetCfg + from .rough_env_cfg import AnymalBRoughEnvCfg @configclass -class AnymalBFlatEnvCfg(AnymalBRoughEnvCfg): - sim: SimulationCfg = SimulationCfg( - physics=NewtonCfg( - solver_cfg=MJWarpSolverCfg( - njmax=75, - nconmax=15, - cone="elliptic", - impratio=100, - integrator="implicitfast", - ), - num_substeps=1, - debug_mode=False, - ) +class PhysicsCfg(PresetCfg): + newton_mjwarp = NewtonCfg( + solver_cfg=MJWarpSolverCfg( + njmax=75, + nconmax=15, + cone="elliptic", + impratio=100, + integrator="implicitfast", + ), + num_substeps=1, + debug_mode=False, ) + default = newton_mjwarp + + +@configclass +class AnymalBFlatEnvCfg(AnymalBRoughEnvCfg): + sim: SimulationCfg = SimulationCfg(physics=PhysicsCfg()) def __post_init__(self): # post init of parent diff --git a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/anymal_c/flat_env_cfg.py b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/anymal_c/flat_env_cfg.py index 3cc348a97675..e84a51daaff9 100644 --- a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/anymal_c/flat_env_cfg.py +++ b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/anymal_c/flat_env_cfg.py @@ -8,24 +8,30 @@ from isaaclab.sim import SimulationCfg from isaaclab.utils.configclass import configclass +from isaaclab_tasks.utils import PresetCfg + from .rough_env_cfg import AnymalCRoughEnvCfg @configclass -class AnymalCFlatEnvCfg(AnymalCRoughEnvCfg): - sim: SimulationCfg = SimulationCfg( - physics=NewtonCfg( - solver_cfg=MJWarpSolverCfg( - njmax=120, - nconmax=15, - cone="elliptic", - impratio=100, - integrator="implicitfast", - ), - num_substeps=1, - debug_mode=False, - ) +class PhysicsCfg(PresetCfg): + newton_mjwarp = NewtonCfg( + solver_cfg=MJWarpSolverCfg( + njmax=120, + nconmax=15, + cone="elliptic", + impratio=100, + integrator="implicitfast", + ), + num_substeps=1, + debug_mode=False, ) + default = newton_mjwarp + + +@configclass +class AnymalCFlatEnvCfg(AnymalCRoughEnvCfg): + sim: SimulationCfg = SimulationCfg(physics=PhysicsCfg()) def __post_init__(self): # post init of parent diff --git a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/anymal_d/flat_env_cfg.py b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/anymal_d/flat_env_cfg.py index 702443e815e2..978288967935 100644 --- a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/anymal_d/flat_env_cfg.py +++ b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/anymal_d/flat_env_cfg.py @@ -8,23 +8,29 @@ from isaaclab.sim import SimulationCfg from isaaclab.utils.configclass import configclass +from isaaclab_tasks.utils import PresetCfg + from .rough_env_cfg import AnymalDRoughEnvCfg @configclass -class AnymalDFlatEnvCfg(AnymalDRoughEnvCfg): - sim: SimulationCfg = SimulationCfg( - physics=NewtonCfg( - solver_cfg=MJWarpSolverCfg( - njmax=60, - nconmax=25, - cone="elliptic", - impratio=100.0, - ), - num_substeps=1, - debug_mode=False, - ) +class PhysicsCfg(PresetCfg): + newton_mjwarp = NewtonCfg( + solver_cfg=MJWarpSolverCfg( + njmax=60, + nconmax=25, + cone="elliptic", + impratio=100.0, + ), + num_substeps=1, + debug_mode=False, ) + default = newton_mjwarp + + +@configclass +class AnymalDFlatEnvCfg(AnymalDRoughEnvCfg): + sim: SimulationCfg = SimulationCfg(physics=PhysicsCfg()) def __post_init__(self): super().__post_init__() diff --git a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/cassie/flat_env_cfg.py b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/cassie/flat_env_cfg.py index 818c7aa30a1e..923d7513b509 100644 --- a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/cassie/flat_env_cfg.py +++ b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/cassie/flat_env_cfg.py @@ -8,24 +8,30 @@ from isaaclab.sim import SimulationCfg from isaaclab.utils.configclass import configclass +from isaaclab_tasks.utils import PresetCfg + from .rough_env_cfg import CassieRoughEnvCfg @configclass -class CassieFlatEnvCfg(CassieRoughEnvCfg): - sim: SimulationCfg = SimulationCfg( - physics=NewtonCfg( - solver_cfg=MJWarpSolverCfg( - njmax=52, - nconmax=15, - cone="pyramidal", - impratio=1, - integrator="implicitfast", - ), - num_substeps=1, - debug_mode=False, - ) +class PhysicsCfg(PresetCfg): + newton_mjwarp = NewtonCfg( + solver_cfg=MJWarpSolverCfg( + njmax=52, + nconmax=15, + cone="pyramidal", + impratio=1, + integrator="implicitfast", + ), + num_substeps=1, + debug_mode=False, ) + default = newton_mjwarp + + +@configclass +class CassieFlatEnvCfg(CassieRoughEnvCfg): + sim: SimulationCfg = SimulationCfg(physics=PhysicsCfg()) def __post_init__(self): super().__post_init__() diff --git a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/g1/flat_env_cfg.py b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/g1/flat_env_cfg.py index e99dd95ff82f..516a0620c915 100644 --- a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/g1/flat_env_cfg.py +++ b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/g1/flat_env_cfg.py @@ -9,24 +9,30 @@ from isaaclab.sim import SimulationCfg from isaaclab.utils.configclass import configclass +from isaaclab_tasks.utils import PresetCfg + from .rough_env_cfg import G1RoughEnvCfg @configclass -class G1FlatEnvCfg(G1RoughEnvCfg): - sim: SimulationCfg = SimulationCfg( - physics=NewtonCfg( - solver_cfg=MJWarpSolverCfg( - njmax=95, - nconmax=10, - cone="pyramidal", - impratio=1, - integrator="implicitfast", - ), - num_substeps=1, - debug_mode=False, - ) +class PhysicsCfg(PresetCfg): + newton_mjwarp = NewtonCfg( + solver_cfg=MJWarpSolverCfg( + njmax=95, + nconmax=10, + cone="pyramidal", + impratio=1, + integrator="implicitfast", + ), + num_substeps=1, + debug_mode=False, ) + default = newton_mjwarp + + +@configclass +class G1FlatEnvCfg(G1RoughEnvCfg): + sim: SimulationCfg = SimulationCfg(physics=PhysicsCfg()) def __post_init__(self): super().__post_init__() diff --git a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/go1/flat_env_cfg.py b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/go1/flat_env_cfg.py index dd4012882075..75124311d03a 100644 --- a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/go1/flat_env_cfg.py +++ b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/go1/flat_env_cfg.py @@ -8,24 +8,30 @@ from isaaclab.sim import SimulationCfg from isaaclab.utils.configclass import configclass +from isaaclab_tasks.utils import PresetCfg + from .rough_env_cfg import UnitreeGo1RoughEnvCfg @configclass -class UnitreeGo1FlatEnvCfg(UnitreeGo1RoughEnvCfg): - sim: SimulationCfg = SimulationCfg( - physics=NewtonCfg( - solver_cfg=MJWarpSolverCfg( - njmax=60, - nconmax=25, - cone="pyramidal", - impratio=1, - integrator="implicitfast", - ), - num_substeps=1, - debug_mode=False, - ) +class PhysicsCfg(PresetCfg): + newton_mjwarp = NewtonCfg( + solver_cfg=MJWarpSolverCfg( + njmax=60, + nconmax=25, + cone="pyramidal", + impratio=1, + integrator="implicitfast", + ), + num_substeps=1, + debug_mode=False, ) + default = newton_mjwarp + + +@configclass +class UnitreeGo1FlatEnvCfg(UnitreeGo1RoughEnvCfg): + sim: SimulationCfg = SimulationCfg(physics=PhysicsCfg()) def __post_init__(self): super().__post_init__() diff --git a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/go2/flat_env_cfg.py b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/go2/flat_env_cfg.py index 349cc450ca9f..4324747f826f 100644 --- a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/go2/flat_env_cfg.py +++ b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/go2/flat_env_cfg.py @@ -8,24 +8,30 @@ from isaaclab.sim import SimulationCfg from isaaclab.utils.configclass import configclass +from isaaclab_tasks.utils import PresetCfg + from .rough_env_cfg import UnitreeGo2RoughEnvCfg @configclass -class UnitreeGo2FlatEnvCfg(UnitreeGo2RoughEnvCfg): - sim: SimulationCfg = SimulationCfg( - physics=NewtonCfg( - solver_cfg=MJWarpSolverCfg( - njmax=65, - nconmax=35, - cone="pyramidal", - impratio=1, - integrator="implicitfast", - ), - num_substeps=1, - debug_mode=False, - ) +class PhysicsCfg(PresetCfg): + newton_mjwarp = NewtonCfg( + solver_cfg=MJWarpSolverCfg( + njmax=65, + nconmax=35, + cone="pyramidal", + impratio=1, + integrator="implicitfast", + ), + num_substeps=1, + debug_mode=False, ) + default = newton_mjwarp + + +@configclass +class UnitreeGo2FlatEnvCfg(UnitreeGo2RoughEnvCfg): + sim: SimulationCfg = SimulationCfg(physics=PhysicsCfg()) def __post_init__(self): super().__post_init__() diff --git a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/h1/flat_env_cfg.py b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/h1/flat_env_cfg.py index a7021343464a..cf3a85bad400 100644 --- a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/h1/flat_env_cfg.py +++ b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/locomotion/velocity/config/h1/flat_env_cfg.py @@ -8,24 +8,30 @@ from isaaclab.sim import SimulationCfg from isaaclab.utils.configclass import configclass +from isaaclab_tasks.utils import PresetCfg + from .rough_env_cfg import H1RoughEnvCfg @configclass -class H1FlatEnvCfg(H1RoughEnvCfg): - sim: SimulationCfg = SimulationCfg( - physics=NewtonCfg( - solver_cfg=MJWarpSolverCfg( - njmax=65, - nconmax=15, - cone="pyramidal", - impratio=1, - integrator="implicitfast", - ), - num_substeps=1, - debug_mode=False, - ) +class PhysicsCfg(PresetCfg): + newton_mjwarp = NewtonCfg( + solver_cfg=MJWarpSolverCfg( + njmax=65, + nconmax=15, + cone="pyramidal", + impratio=1, + integrator="implicitfast", + ), + num_substeps=1, + debug_mode=False, ) + default = newton_mjwarp + + +@configclass +class H1FlatEnvCfg(H1RoughEnvCfg): + sim: SimulationCfg = SimulationCfg(physics=PhysicsCfg()) def __post_init__(self): super().__post_init__() diff --git a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/manipulation/reach/config/franka/joint_pos_env_cfg.py b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/manipulation/reach/config/franka/joint_pos_env_cfg.py index d6d36afd15f5..197fac0b3e50 100644 --- a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/manipulation/reach/config/franka/joint_pos_env_cfg.py +++ b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/manipulation/reach/config/franka/joint_pos_env_cfg.py @@ -10,6 +10,8 @@ from isaaclab.sim import SimulationCfg from isaaclab.utils.configclass import configclass +from isaaclab_tasks.utils import PresetCfg + import isaaclab_tasks_experimental.manager_based.manipulation.reach.mdp as mdp from isaaclab_tasks_experimental.manager_based.manipulation.reach.reach_env_cfg import ReachEnvCfg @@ -25,21 +27,24 @@ @configclass -class FrankaReachEnvCfg(ReachEnvCfg): - sim: SimulationCfg = SimulationCfg( - dt=1 / 60, - physics=NewtonCfg( - solver_cfg=MJWarpSolverCfg( - njmax=50, - nconmax=20, - cone="pyramidal", - impratio=1, - integrator="implicitfast", - ), - num_substeps=1, - debug_mode=False, +class PhysicsCfg(PresetCfg): + newton_mjwarp = NewtonCfg( + solver_cfg=MJWarpSolverCfg( + njmax=50, + nconmax=20, + cone="pyramidal", + impratio=1, + integrator="implicitfast", ), + num_substeps=1, + debug_mode=False, ) + default = newton_mjwarp + + +@configclass +class FrankaReachEnvCfg(ReachEnvCfg): + sim: SimulationCfg = SimulationCfg(dt=1 / 60, physics=PhysicsCfg()) def __post_init__(self): # post init of parent diff --git a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/manipulation/reach/config/ur_10/joint_pos_env_cfg.py b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/manipulation/reach/config/ur_10/joint_pos_env_cfg.py index 42104e23b1b2..71230d453e0f 100644 --- a/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/manipulation/reach/config/ur_10/joint_pos_env_cfg.py +++ b/source/isaaclab_tasks_experimental/isaaclab_tasks_experimental/manager_based/manipulation/reach/config/ur_10/joint_pos_env_cfg.py @@ -10,6 +10,8 @@ from isaaclab.sim import SimulationCfg from isaaclab.utils.configclass import configclass +from isaaclab_tasks.utils import PresetCfg + import isaaclab_tasks_experimental.manager_based.manipulation.reach.mdp as mdp from isaaclab_tasks_experimental.manager_based.manipulation.reach.reach_env_cfg import ReachEnvCfg @@ -25,20 +27,24 @@ @configclass -class UR10ReachEnvCfg(ReachEnvCfg): - sim: SimulationCfg = SimulationCfg( - physics=NewtonCfg( - solver_cfg=MJWarpSolverCfg( - njmax=50, - nconmax=20, - cone="pyramidal", - impratio=1, - integrator="implicitfast", - ), - num_substeps=1, - debug_mode=False, - ) +class PhysicsCfg(PresetCfg): + newton_mjwarp = NewtonCfg( + solver_cfg=MJWarpSolverCfg( + njmax=50, + nconmax=20, + cone="pyramidal", + impratio=1, + integrator="implicitfast", + ), + num_substeps=1, + debug_mode=False, ) + default = newton_mjwarp + + +@configclass +class UR10ReachEnvCfg(ReachEnvCfg): + sim: SimulationCfg = SimulationCfg(physics=PhysicsCfg()) def __post_init__(self): # post init of parent