From 80e76b99f14a8aaf0ab89db8ea04e86cf5ed4a97 Mon Sep 17 00:00:00 2001 From: KraHsu Date: Wed, 13 May 2026 08:49:17 +0000 Subject: [PATCH] Shrink G1 physics dt to 2ms to stop rigid-solver NaN at scale The velocity and tracking env configs ran Genesis at dt=0.005 with decimation=4. At 8 GPUs x 4096 envs, the rigid solver eventually hit constraint NaN and aborted training with "Invalid constraint forces causing 'nan'. Please decrease Rigid simulation timestep." Halve dt to 0.002 and bump decimation to 10 so policy step stays at 20ms (PPO rollout shape, episode_length_s, action_rate semantics, and command resampling are all unchanged). Matches the mjlab reference this example is ported from. Co-Authored-By: Claude Opus 4.7 (1M context) --- examples/unitree/src/genelab_unitree/g1/env_cfg.py | 4 ++-- examples/unitree/src/genelab_unitree/g1/tracking_env_cfg.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/unitree/src/genelab_unitree/g1/env_cfg.py b/examples/unitree/src/genelab_unitree/g1/env_cfg.py index b890ff82..41570dda 100644 --- a/examples/unitree/src/genelab_unitree/g1/env_cfg.py +++ b/examples/unitree/src/genelab_unitree/g1/env_cfg.py @@ -49,12 +49,12 @@ def unitree_g1_velocity_env_cfg(play: bool = False) -> ManagerBasedRlEnvCfg: cfg = ManagerBasedRlEnvCfg( scene=SceneCfg( num_envs=4096 if not play else 50, - dt=0.005, + dt=0.002, substeps=1, env_spacing=(2.5, 2.5), vis=play, ), - decimation=4, + decimation=10, episode_length_s=20.0, device="cuda", robot=robot_entity_cfg, diff --git a/examples/unitree/src/genelab_unitree/g1/tracking_env_cfg.py b/examples/unitree/src/genelab_unitree/g1/tracking_env_cfg.py index 767d535f..ec63fca4 100644 --- a/examples/unitree/src/genelab_unitree/g1/tracking_env_cfg.py +++ b/examples/unitree/src/genelab_unitree/g1/tracking_env_cfg.py @@ -120,12 +120,12 @@ def unitree_g1_tracking_env_cfg(play: bool = False) -> ManagerBasedRlEnvCfg: cfg = ManagerBasedRlEnvCfg( scene=SceneCfg( num_envs=4096 if not play else 1, - dt=0.005, + dt=0.002, substeps=1, env_spacing=(2.5, 2.5), vis=play, ), - decimation=4, + decimation=10, episode_length_s=10.0 if not play else 1e9, device="cuda", robot=robot_entity_cfg,