Summary
Kamino P-ADMM intermittently produces explosive velocities and eventually a fully non-finite articulation state for Isaac Lab's DR Legs robot.
The regression was bisected to #3990:
#3990 introduced bounded solver rows for implicit-PD joint effort limits. Disabling only the effort limit on the driven DR Legs joints eliminates the instability, while Kamino DVI remains stable with the original effort limit.
Related Isaac Lab issue: isaac-sim/IsaacLab#7625
Environment
- Isaac Lab:
origin/develop at 7127f50cca
- Newton:
1.6.0rc1
- Warp:
1.17.0
- GPU: NVIDIA GeForce RTX 5090
- Task:
IsaacContrib-DrLegs-Walk
- Environments per trial: 2
- Simulation steps per trial: 20
- Simulation timestep:
1 / 150 s
- Decimation: 3
Relevant actuator configuration:
ImplicitActuatorCfg(
joint_names_expr=DR_LEGS_ACTUATED_JOINTS,
stiffness=5.0,
damping=0.2,
joint_effort_limit=3.1,
joint_velocity_limit=100.0,
)
Relevant solver configuration:
KaminoPADMMSolverCfg(
use_fk_solver=True,
max_contacts_per_world=32,
sparse_jacobian=True,
dynamics_solver_cfg=KaminoPADMMCfg(
primal_tolerance=1.0e-5,
dual_tolerance=1.0e-5,
compl_tolerance=1.0e-5,
rho_0=0.02,
),
)
CUDA graphs are enabled in the normal task preset.
Reproduction method
For each seed:
- Create a fresh
IsaacContrib-DrLegs-Walk environment with two worlds.
- Set both the environment seed and batched action-space seed.
- Reset the environment.
- Execute 20 actions sampled from the task's standard action space.
- Check root pose/velocity, joint position/velocity, and policy observations after every step.
- Record the first non-finite step and peak finite velocities.
The precise failure seed varies because the GPU solve is not fully deterministic, but the regression is frequent.
Results
| Configuration |
Non-finite trials |
| Commit immediately before #3990, P-ADMM |
0/13 |
| #3990 applied, P-ADMM |
6/13 |
| Newton 1.6.0rc1, P-ADMM |
6/13 |
Newton current main, P-ADMM |
6/8 |
| Newton 1.6.0rc1, Kamino DVI |
0/13 |
P-ADMM with driven effort limit set to 1e9 |
0/13 |
P-ADMM with only passive effort limit set to 1e9 |
4/13 |
| HoldPose with the original P-ADMM configuration |
8/13 |
With the driven-joint effort limit effectively disabled, peak joint velocities stayed around 15-25 rad/s. With the original 3.1 N·m limit, velocities frequently reached thousands or millions of rad/s before the articulation became NaN.
The HoldPose result shows that this is not specific to Walk's contact sensor, velocity command, or gait rewards.
Additional ablations
The following did not resolve the problem:
- disabling CUDA graphs
- using a dense Jacobian
- disabling the FK solver
- disabling P-ADMM acceleration
- disabling warm-starting
- increasing the iteration count to 200
- increasing
rho_0
- using two simulation substeps
Increasing rho_0 or the iteration count reduced the failure frequency in some runs but did not make the solver robust.
Observed contact counts were generally between 5 and 18, versus a total allocation of 64, so contact-capacity overflow does not appear involved.
Suspected failing path
The evidence points specifically to the bounded implicit-PD effort rows added by #3990 in the P-ADMM path:
For the DR Legs parameters and h = 1/150 s, the effort row uses approximately:
m_a = h * k_d + h² * k_p ≈ 0.00156
1 / m_a ≈ 642.9
h * tau_max ≈ 0.0207 N·m·s
This may help narrow the problem to P-ADMM conditioning, projection, or multiplier scaling for low-effort implicit-PD rows. The exact defect within that path has not yet been identified.
Expected behavior
P-ADMM should keep the simulation finite and enforce the configured 3.1 N·m driven-joint effort limit under random position targets.
Actual behavior
The constrained solve develops extreme joint and root velocities, then produces NaNs across the complete robot state.
Suggested regression coverage
- Add a P-ADMM regression using the DR Legs model and its original implicit-PD gains and effort limits.
- Run multiple seeded random-target sequences.
- Assert that root and joint state remain finite.
- Assert that reported actuator effort respects the configured limit.
- Exercise both sparse and dense P-ADMM.
- Keep a corresponding DVI run as a reference.
Summary
Kamino P-ADMM intermittently produces explosive velocities and eventually a fully non-finite articulation state for Isaac Lab's DR Legs robot.
The regression was bisected to #3990:
bc43a55, immediately before [Kamino] Implement joint effort limits #39903e57f004, [Kamino] Implement joint effort limits #3990 appliedmainat853c4fefstill reproduces the problem#3990 introduced bounded solver rows for implicit-PD joint effort limits. Disabling only the effort limit on the driven DR Legs joints eliminates the instability, while Kamino DVI remains stable with the original effort limit.
Related Isaac Lab issue: isaac-sim/IsaacLab#7625
Environment
origin/developat7127f50cca1.6.0rc11.17.0IsaacContrib-DrLegs-Walk1 / 150 sRelevant actuator configuration:
Relevant solver configuration:
CUDA graphs are enabled in the normal task preset.
Reproduction method
For each seed:
IsaacContrib-DrLegs-Walkenvironment with two worlds.The precise failure seed varies because the GPU solve is not fully deterministic, but the regression is frequent.
Results
main, P-ADMM1e91e9With the driven-joint effort limit effectively disabled, peak joint velocities stayed around 15-25 rad/s. With the original
3.1 N·mlimit, velocities frequently reached thousands or millions of rad/s before the articulation became NaN.The HoldPose result shows that this is not specific to Walk's contact sensor, velocity command, or gait rewards.
Additional ablations
The following did not resolve the problem:
rho_0Increasing
rho_0or the iteration count reduced the failure frequency in some runs but did not make the solver robust.Observed contact counts were generally between 5 and 18, versus a total allocation of 64, so contact-capacity overflow does not appear involved.
Suspected failing path
The evidence points specifically to the bounded implicit-PD effort rows added by #3990 in the P-ADMM path:
For the DR Legs parameters and
h = 1/150 s, the effort row uses approximately:This may help narrow the problem to P-ADMM conditioning, projection, or multiplier scaling for low-effort implicit-PD rows. The exact defect within that path has not yet been identified.
Expected behavior
P-ADMM should keep the simulation finite and enforce the configured
3.1 N·mdriven-joint effort limit under random position targets.Actual behavior
The constrained solve develops extreme joint and root velocities, then produces NaNs across the complete robot state.
Suggested regression coverage