Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
b085ba7
Adds environment tests for Newton
kellyguo11 Mar 6, 2026
1e73494
Merge branch 'develop' into add-newton-env-tests
kellyguo11 Mar 7, 2026
979dff1
Merge branch 'develop' into add-newton-env-tests
kellyguo11 Mar 7, 2026
40c742e
Merge branch 'develop' of github.com:isaac-sim/IsaacLab into add-newt…
kellyguo11 Mar 7, 2026
3ee03b8
fix
kellyguo11 Mar 7, 2026
3b4f48e
Merge branch 'add-newton-env-tests' of github.com:kellyguo11/IsaacLab…
kellyguo11 Mar 7, 2026
a876b2b
fix SH tests
kellyguo11 Mar 7, 2026
26c511e
Merge branch 'develop' into add-newton-env-tests
kellyguo11 Mar 7, 2026
73b3c87
update changelog
kellyguo11 Mar 7, 2026
fb6b6db
Merge branch 'add-newton-env-tests' of github.com:kellyguo11/IsaacLab…
kellyguo11 Mar 7, 2026
472736e
Merge branch 'develop' into add-newton-env-tests
kellyguo11 Mar 7, 2026
0e51e7b
add new tests to CI job
kellyguo11 Mar 7, 2026
9aada36
Fixes in hand env goal computation
kellyguo11 Mar 7, 2026
2ff0c7c
fix franka cabinet direct orientation
kellyguo11 Mar 7, 2026
03f1056
fix newton franka open drawer
kellyguo11 Mar 7, 2026
5b35e9b
update test
kellyguo11 Mar 7, 2026
b7ad878
format
kellyguo11 Mar 7, 2026
61e9346
format
kellyguo11 Mar 7, 2026
155389b
Adds passive damping to Newton ImplicitActuator; enables training Ant…
kellyguo11 Mar 8, 2026
96f5577
Merge branch 'develop' of github.com:isaac-sim/IsaacLab into add-newt…
kellyguo11 Mar 8, 2026
de5d1cd
Merge branch 'passive-damping-newton' of github.com:kellyguo11/IsaacL…
kellyguo11 Mar 8, 2026
500629f
fix mass randomization
kellyguo11 Mar 8, 2026
393b486
support Newton gravity randomization
kellyguo11 Mar 8, 2026
58b7fc6
fix mass event randomization indexing
kellyguo11 Mar 8, 2026
3a43d23
Merge branch 'develop' of github.com:isaac-sim/IsaacLab into add-newt…
kellyguo11 Mar 9, 2026
7b67566
undoing mod to support damping.
AntoineRichard Mar 9, 2026
f1f50e9
Tweaks to ants for perf, and humanoid from training quality.
AntoineRichard Mar 9, 2026
08c303f
Merge branch 'add-newton-env-tests' of github.com:kellyguo11/IsaacLab…
kellyguo11 Mar 9, 2026
689c420
update physics device parsing
kellyguo11 Mar 9, 2026
1aae77c
update changelog
kellyguo11 Mar 9, 2026
644a671
revert SH settings
kellyguo11 Mar 9, 2026
90442e6
increase armature for ant slightly to avoid NaNs
kellyguo11 Mar 9, 2026
ed34c01
Merge branch 'develop' of github.com:isaac-sim/IsaacLab into add-newt…
kellyguo11 Mar 9, 2026
831c91b
fix docs
kellyguo11 Mar 9, 2026
9adb262
more robust type checking
kellyguo11 Mar 9, 2026
31f7b89
Merge branch 'develop' of github.com:isaac-sim/IsaacLab into add-newt…
kellyguo11 Mar 10, 2026
81d457d
Merge branch 'develop' of github.com:isaac-sim/IsaacLab into add-newt…
kellyguo11 Mar 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ jobs:
image-tag: ${{ env.DOCKER_IMAGE_TAG }}
pytest-options: ""
filter-pattern: "isaaclab_tasks"
include-files: "test_multi_agent_environments.py,test_pickplace_stack_environments.py,test_environments.py,test_factory_environments.py,test_environments_training.py,test_cartpole_showcase_environments.py,test_teleop_environments.py"
include-files: "test_multi_agent_environments.py,test_pickplace_stack_environments.py,test_environments.py,test_environments_newton.py,test_factory_environments.py,test_environments_training.py,test_cartpole_showcase_environments.py,test_teleop_environments.py"

- name: Upload IsaacLab Tasks Test Results
uses: actions/upload-artifact@v4
Expand Down Expand Up @@ -179,7 +179,7 @@ jobs:
image-tag: ${{ env.DOCKER_IMAGE_TAG }}
pytest-options: ""
filter-pattern: "isaaclab_tasks"
include-files: "test_teleop_environments_with_stage_in_memory.py,test_lift_teddy_bear.py,test_environment_determinism.py,test_hydra.py,test_env_cfg_no_forbidden_imports.py,test_rl_device_separation.py,test_cartpole_showcase_environments_with_stage_in_memory.py,test_environments_with_stage_in_memory.py"
include-files: "test_teleop_environments_with_stage_in_memory.py,test_lift_teddy_bear.py,test_environment_determinism.py,test_hydra.py,test_env_cfg_no_forbidden_imports.py,test_rl_device_separation.py,test_cartpole_showcase_environments_with_stage_in_memory.py,test_environments_with_stage_in_memory.py,test_shadow_hand_vision_presets.py"

- name: Upload IsaacLab Tasks 2 Test Results
uses: actions/upload-artifact@v4
Expand Down
8 changes: 6 additions & 2 deletions source/isaaclab/isaaclab/envs/mdp/events.py
Original file line number Diff line number Diff line change
Expand Up @@ -386,7 +386,8 @@ def __call__(
masses = torch.clamp(masses, min=min_mass) # ensure masses are positive

# set the mass into the physics simulation
self.asset.set_masses_index(masses=masses, env_ids=env_ids)
# note: backends expect partial data of shape (len(env_ids), len(body_ids))
self.asset.set_masses_index(masses=masses[env_ids[:, None], body_ids], body_ids=body_ids, env_ids=env_ids)

# recompute inertia tensors if needed
if recompute_inertia:
Expand All @@ -398,7 +399,10 @@ def __call__(
# inertia has shape: (num_envs, num_bodies, 9) for all assets
inertias[env_ids[:, None], body_ids] = self.default_inertia[env_ids[:, None], body_ids] * ratios[..., None]
# set the inertia tensors into the physics simulation
self.asset.set_inertias_index(inertias=inertias, env_ids=env_ids)
# note: backends expect partial data of shape (len(env_ids), len(body_ids), 9)
self.asset.set_inertias_index(
inertias=inertias[env_ids[:, None], body_ids], body_ids=body_ids, env_ids=env_ids
)


def randomize_rigid_body_com(
Expand Down
9 changes: 9 additions & 0 deletions source/isaaclab/isaaclab/sim/simulation_context.py
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,15 @@ def __init__(self, cfg: SimulationCfg | None = None):

# Initialize USD physics scene and physics manager
self._init_usd_physics_scene()

# Normalize "cuda" -> "cuda:<id>" now that the USD physics scene is initialized
# and /physics/cudaDevice is available. Update cfg.device in-place so all
# downstream code (physics backends, assets, sensors) sees a consistent value.
if "cuda" in self.cfg.device and ":" not in self.cfg.device:
cuda_device = self.get_setting("/physics/cudaDevice")
device_id = max(0, int(cuda_device) if cuda_device is not None else 0)
self.cfg.device = f"cuda:{device_id}"

# Set default physics backend if not specified
if self.cfg.physics is None:
from isaaclab_physx.physics import PhysxCfg
Expand Down
5 changes: 3 additions & 2 deletions source/isaaclab_assets/isaaclab_assets/robots/ant.py
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should not longer be needed with #4890.

Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,9 @@
"body": ImplicitActuatorCfg(
joint_names_expr=[".*"],
stiffness=0.0,
damping=0.0,
effort_limit_sim=30.0,
damping=0.1,
armature=0.05,
effort_limit_sim=15.0,
),
},
Comment on lines 48 to 55
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

    actuators={
        "body": ImplicitActuatorCfg(
            joint_names_expr=[".*"],
            stiffness=0.0,
            damping=0.1,
            armature=0.02,
            effort_limit_sim=15.0,
        ),
    },

)
Expand Down
2 changes: 1 addition & 1 deletion source/isaaclab_newton/config/extension.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]

# Note: Semantic Versioning is used: https://semver.org/
version = "0.5.3"
version = "0.5.4"

# Description
title = "Newton simulation interfaces for IsaacLab core package"
Expand Down
2 changes: 2 additions & 0 deletions source/isaaclab_newton/docs/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ Fixed
spatial-vector extraction helpers. The ``source`` buffer shape and kernel dispatch ``dim``
now use the input array's shape instead of the (possibly uninitialized) output shape.


0.5.2 (2026-03-06)
~~~~~~~~~~~~~~~~~~

Expand All @@ -59,6 +60,7 @@ Fixed
graph was not captured (e.g., when RTX/Fabric USD sync is active). The step condition now
checks ``cls._graph is not None`` directly instead of repeating the capture-time heuristic.


0.5.1 (2026-03-06)
~~~~~~~~~~~~~~~~~~

Expand Down
58 changes: 54 additions & 4 deletions source/isaaclab_tasks/docs/CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,65 @@ Added
* Added ``test_lazy_export_stubs.py`` to enforce that ``lazy_export()`` is called
without arguments across the codebase.

1.5.3 (2026-03-08)

1.5.4 (2026-03-08)
~~~~~~~~~~~~~~~~~~

Added
^^^^^

* Added :file:`test/test_environments_newton.py` — an end-to-end CI test that auto-discovers
all environments with a ``newton`` physics preset and runs 100 random-action steps against each.

* Added :func:`~isaaclab_tasks.utils.parse_cfg.apply_named_preset` helper that walks the full
configuration tree and applies a named preset (e.g. ``'newton'``) to every preset-wrapper
field, replacing the default-resolved value. This enables Newton preset overrides for all
scene fields (e.g. ``scene.contact_forces``) when running tests outside the Hydra pipeline.

* Added Newton physics presets and compatibility fixes to locomotion, reach, Franka cabinet,
allegro-hand, and shadow-hand environments: replaced unsupported ``ls_iterations`` /
``ls_parallel`` solver fields with Newton-compatible settings, and added a per-preset
:class:`~isaaclab_tasks.manager_based.manipulation.reach.reach_env_cfg.TableCfg` using box
geometry instead of a USD asset for Newton compatibility.

* Added :class:`~isaaclab_tasks.manager_based.manipulation.cabinet.cabinet_env_cfg.CabinetSimCfg`
preset to the cabinet environment, replacing the physics-only preset with a full simulation
config preset so the Newton backend can run at a finer timestep (``dt=1/600``) while PhysX
keeps its default (``dt=1/60``).

* Added backend-specific ``joint_gears`` to ant and humanoid direct environments. Newton and
PhysX joint orderings differ, so each backend now has its own gear ratio list resolved at
env init.


1.5.3 (2026-03-06)
~~~~~~~~~~~~~~~~~~

Fixed
^^^^^

* Fixed ``TypeError: 'NoneType' object is not iterable`` in
:func:`~isaaclab_tasks.utils.hydra.apply_overrides` when a preset value is
``None`` (e.g. ``default = None`` in a :class:`~isaaclab_tasks.utils.PresetCfg`).
* Fixed :class:`~isaaclab.envs.mdp.noise.NoiseModelWithAdditiveBias` shape mismatch in Newton
environment tests. :func:`~isaaclab_tasks.utils.parse_cfg.apply_named_preset` previously
replaced ``scene`` with the preset's default ``num_envs`` (e.g. 8192), overwriting the
test-requested value (e.g. 2). The ``_bias`` tensor was then allocated with 8192 rows while
action data only had 2, causing a ``RuntimeError`` on addition. The fix re-applies the
caller's ``num_envs`` after preset application.

* Fixed in-hand manipulation goal orientation: the quaternion imaginary-component clamping used
the wrong slice (``[1:4]`` instead of ``[0:3]``), causing incorrect goal distance computation
in the Newton preset.

* Fixed Franka cabinet direct-env initialization orientation.

Changed
^^^^^^^

* Renamed ``EventCfg`` to :class:`~isaaclab_tasks.direct.shadow_hand.shadow_hand_env_cfg.NewtonEventCfg`
in the Shadow Hand env config. The new name makes explicit that this preset covers only
Newton-compatible randomizations (joint gains, joint position limits, object mass, gravity).
Material and fixed-tendon randomization remain exclusively in
:class:`~isaaclab_tasks.direct.shadow_hand.shadow_hand_env_cfg.PhysxEventCfg`.


1.5.2 (2026-03-05)
~~~~~~~~~~~~~~~~~~
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,6 @@ class PhysicsCfg(PresetCfg):
cone="elliptic",
update_data_interval=2,
iterations=100,
ls_iterations=15,
ls_parallel=False,
# save_to_mjcf="AllegroHand.xml",
),
num_substeps=2,
Expand Down
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@configclass
class AntPhysicsCfg(PresetCfg):
    default: PhysxCfg = PhysxCfg()
    physx: PhysxCfg = PhysxCfg()
    newton: NewtonCfg = NewtonCfg(
        solver_cfg=MJWarpSolverCfg(
            njmax=45,
            nconmax=25,
            cone="pyramidal",
            integrator="implicitfast",
            impratio=1,
        ),
        num_substeps=1,
        debug_mode=False,
    )

Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,9 @@ class AntPhysicsCfg(PresetCfg):
physx: PhysxCfg = PhysxCfg()
newton: NewtonCfg = NewtonCfg(
solver_cfg=MJWarpSolverCfg(
njmax=38,
nconmax=15,
ls_iterations=20,
njmax=45,
nconmax=25,
cone="pyramidal",
ls_parallel=True,
integrator="implicitfast",
impratio=1,
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,8 @@ class CartpolePhysicsCfg(PresetCfg):
solver_cfg=MJWarpSolverCfg(
njmax=5,
nconmax=3,
ls_iterations=10,
cone="pyramidal",
impratio=1,
ls_parallel=True,
integrator="implicitfast",
),
num_substeps=1,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ class FrankaCabinetEnvCfg(DirectRLEnvCfg):
),
init_state=ArticulationCfg.InitialStateCfg(
pos=(0.0, 0, 0.4),
rot=(0.1, 0.0, 0.0, 0.0),
rot=(0.0, 0.0, 0.0, 1.0),
joint_pos={
"door_left_joint": 0.0,
"door_right_joint": 0.0,
Expand Down
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Joint ordering matters for humanoid:

    physx_joint_gears: list = [
        67.5000,  # lower_waist
        67.5000,  # lower_waist
        67.5000,  # right_upper_arm
        67.5000,  # right_upper_arm
        67.5000,  # left_upper_arm
        67.5000,  # left_upper_arm
        67.5000,  # pelvis
        45.0000,  # right_lower_arm
        45.0000,  # left_lower_arm
        45.0000,  # right_thigh: x
        135.0000,  # right_thigh: y
        45.0000,  # right_thigh: z
        45.0000,  # left_thigh: x
        135.0000,  # left_thigh: y
        45.0000,  # left_thigh: z
        90.0000,  # right_knee
        90.0000,  # left_knee
        22.5,  # right_foot
        22.5,  # right_foot
        22.5,  # left_foot
        22.5,  # left_foot
    ]
    newton_joint_gears: list = [
        67.5000,  # left_upper_arm
        67.5000,  # left_upper_arm
        45.0000,  # left_lower_arm
        67.5000,  # lower_waist
        67.5000,  # lower_waist
        67.5000,  # pelvis
        45.0000,  # left_thigh: x
        135.0000,  # left_thigh: y
        45.0000,  # left_thigh: z
        90.0000,  # left_knee
        22.5,  # left_foot
        22.5,  # left_foot
        45.0000,  # right_thigh: x
        135.0000,  # right_thigh: y
        45.0000,  # right_thigh: z
        90.0000,  # right_knee
        22.5,  # right_foot
        22.5,  # right_foot
        67.5000,  # right_upper_arm
        67.5000,  # right_upper_arm
        45.0000,  # right_lower_arm
    ]
    joint_gears = {
        "physx": physx_joint_gears,
        "newton": newton_joint_gears,
    }

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is also needed in the locomotion env:

        # Resolve the joint gears based on the physics type, since they do not have the same joint ordering.
        if isinstance(self.cfg.joint_gears, dict):
            print(self.cfg.sim.physics)
            if self.cfg.sim.physics.__class__.__name__ == "PhysxCfg":
                joint_gears = self.cfg.joint_gears["physx"]
            elif self.cfg.sim.physics.__class__.__name__ == "NewtonCfg":
                joint_gears = self.cfg.joint_gears["newton"]
            else:
                raise ValueError(f"Invalid physics type: {self.cfg.sim.physics}")
        else:
            joint_gears = self.cfg.joint_gears
        self.joint_gears = torch.tensor(joint_gears, dtype=torch.float32, device=self.sim.device)

Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@ class HumanoidPhysicsCfg(PresetCfg):
solver_cfg=MJWarpSolverCfg(
njmax=80,
nconmax=25,
ls_iterations=15,
ls_parallel=True,
cone="pyramidal",
update_data_interval=2,
integrator="implicitfast",
Expand Down Expand Up @@ -74,7 +72,8 @@ class HumanoidEnvCfg(DirectRLEnvCfg):

# robot
robot: ArticulationCfg = HUMANOID_CFG.replace(prim_path="/World/envs/env_.*/Robot")
joint_gears: list = [

physx_joint_gears: list = [
67.5000, # lower_waist
67.5000, # lower_waist
67.5000, # right_upper_arm
Expand All @@ -97,6 +96,33 @@ class HumanoidEnvCfg(DirectRLEnvCfg):
22.5, # left_foot
22.5, # left_foot
]
newton_joint_gears: list = [
67.5000, # left_upper_arm
67.5000, # left_upper_arm
45.0000, # left_lower_arm
67.5000, # lower_waist
67.5000, # lower_waist
67.5000, # pelvis
45.0000, # left_thigh: x
135.0000, # left_thigh: y
45.0000, # left_thigh: z
90.0000, # left_knee
22.5, # left_foot
22.5, # left_foot
45.0000, # right_thigh: x
135.0000, # right_thigh: y
45.0000, # right_thigh: z
90.0000, # right_knee
22.5, # right_foot
22.5, # right_foot
67.5000, # right_upper_arm
67.5000, # right_upper_arm
45.0000, # right_lower_arm
]
joint_gears = {
"physx": physx_joint_gears,
"newton": newton_joint_gears,
}

heading_weight: float = 0.5
up_weight: float = 0.1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -393,9 +393,7 @@ def randomize_rotation(rand0, rand1, x_unit_tensor, y_unit_tensor):
def rotation_distance(object_rot, target_rot):
# Orientation alignment for the cube in hand and goal cube
quat_diff = quat_mul(object_rot, quat_conjugate(target_rot))
return 2.0 * torch.asin(
torch.clamp(torch.linalg.norm(quat_diff[:, 1:4], ord=2, dim=-1), max=1.0)
) # changed quat convention
return 2.0 * torch.asin(torch.clamp(torch.linalg.norm(quat_diff[:, 0:3], ord=2, dim=-1), max=1.0))


@torch.jit.script
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@

import torch
import warp as wp
from isaaclab_newton.physics import NewtonCfg
from isaaclab_physx.physics import PhysxCfg

import isaaclab.sim as sim_utils
from isaaclab.assets import Articulation
Expand Down Expand Up @@ -75,7 +77,17 @@ def __init__(self, cfg: DirectRLEnvCfg, render_mode: str | None = None, **kwargs
super().__init__(cfg, render_mode, **kwargs)

self.action_scale = self.cfg.action_scale
self.joint_gears = torch.tensor(self.cfg.joint_gears, dtype=torch.float32, device=self.sim.device)
# Resolve the joint gears based on the physics type, since they do not have the same joint ordering.
if isinstance(self.cfg.joint_gears, dict):
if isinstance(self.cfg.sim.physics, PhysxCfg):
joint_gears = self.cfg.joint_gears["physx"]
elif isinstance(self.cfg.sim.physics, NewtonCfg):
joint_gears = self.cfg.joint_gears["newton"]
else:
raise ValueError(f"Invalid physics type: {self.cfg.sim.physics}")
else:
joint_gears = self.cfg.joint_gears
self.joint_gears = torch.tensor(joint_gears, dtype=torch.float32, device=self.sim.device)
self.motor_effort_ratio = torch.ones_like(self.joint_gears, device=self.sim.device)
self._joint_dof_idx, _ = self.robot.find_joints(".*")

Expand Down
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I could make the material API for newton, we've had that working in dev/newton.

Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,13 @@


@configclass
class EventCfg:
"""Configuration for randomization."""
class NewtonEventCfg:
"""Event randomization config for the Newton physics backend.

Includes joint-parameter, mass, and gravity randomization.
Material and tendon randomization are omitted: Newton does not expose
per-body friction-material buckets or fixed-tendon APIs.
"""

robot_joint_stiffness_and_damping = EventTerm(
func=mdp.randomize_actuator_gains,
Expand All @@ -42,19 +47,6 @@ class EventCfg:
"distribution": "log_uniform",
},
)
robot_joint_pos_limits = EventTerm(
func=mdp.randomize_joint_parameters,
min_step_count_between_reset=720,
mode="reset",
params={
"asset_cfg": SceneEntityCfg("robot", joint_names=".*"),
"lower_limit_distribution_params": (0.00, 0.01),
"upper_limit_distribution_params": (0.00, 0.01),
"operation": "add",
"distribution": "gaussian",
},
)

object_scale_mass = EventTerm(
func=mdp.randomize_rigid_body_mass,
min_step_count_between_reset=720,
Expand All @@ -64,6 +56,7 @@ class EventCfg:
"mass_distribution_params": (0.5, 1.5),
"operation": "scale",
"distribution": "uniform",
"recompute_inertia": False,
},
)

Expand Down Expand Up @@ -127,7 +120,7 @@ class PhysxEventCfg:
@configclass
class ShadowHandEventCfg(PresetCfg):
physx = PhysxEventCfg()
newton = EventCfg()
newton = NewtonEventCfg()
default = physx


Expand Down Expand Up @@ -274,8 +267,6 @@ class PhysicsCfg(PresetCfg):
cone="elliptic",
update_data_interval=2,
iterations=100,
ls_iterations=15,
ls_parallel=False,
),
num_substeps=2,
debug_mode=False,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,7 @@ class AntPhysicsCfg(PresetCfg):
solver_cfg=MJWarpSolverCfg(
njmax=38,
nconmax=15,
ls_iterations=20,
cone="pyramidal",
ls_parallel=True,
integrator="implicitfast",
impratio=1,
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,8 @@ class CartpolePhysicsCfg(PresetCfg):
solver_cfg=MJWarpSolverCfg(
njmax=5,
nconmax=3,
ls_iterations=10,
cone="pyramidal",
impratio=1,
ls_parallel=True,
integrator="implicitfast",
),
num_substeps=1,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,6 @@ class HumanoidPhysicsCfg(PresetCfg):
solver_cfg=MJWarpSolverCfg(
njmax=80,
nconmax=25,
ls_iterations=15,
ls_parallel=True,
cone="pyramidal",
update_data_interval=2,
integrator="implicitfast",
Expand Down
Loading
Loading