When I run an interactive state-based rollout in Isaac Sim, the GUI viewport stays completely static for the whole episode. The robot,
clutter, and floor all look frozen, and an object that should fall under gravity never moves. However, the rollout logs show non-zero
joint and body-state deltas, so the simulation appears to be advancing and the issue looks like a render / sync problem rather than a
physics failure.
The robot is initialized with zero joint values and may be intersecting the floor at import, but that does not explain why every visible
object in the scene stays static.
This makes interactive debugging unusable, because the simulation state and the viewport no longer match.
The viewport should reflect live simulation updates during rollout, including robot articulation motion and object motion.
[eval-state-step] step=36 dones=0 terminated=[False] time_outs=[False] delta=physx_step=+1; viewport_frame=+1; robot_root_pos_w_delta=(+0.000000, +0.000000, +0.000000) l2=0.000000 max_abs=0.000000; robot_root_quat_w_delta=(+0.000000, +0.000000, +0.000000, +0.000000) l2=0.000000 max_abs=0.000000; robot_root_lin_vel_w_delta=(+0.000000, +0.000000, +0.000000) l2=0.000000 max_abs=0.000000; robot_root_ang_vel_w_delta=(+0.000000, +0.000000, +0.000000) l2=0.000000 max_abs=0.000000; arm_joint_pos_delta=(-0.021552, -0.042036, -0.010389, -0.036366, -0.023099, +0.009462, -0.016961) l2=0.067622 max_abs=0.042036; arm_joint_vel_delta=(+0.008541, -0.035040, +0.013733, -0.022146, +0.049188, +0.006244, -0.021076) l2=0.069874 max_abs=0.049188; target_pose_delta=(+0.000000, +0.000000, +0.000000, +0.000000, +0.000000, +0.000000, -0.000000) l2=0.000000 max_abs=0.000000; target_velocity_delta=(+0.000001, +0.000000, -0.000000, +0.000001, +0.000002, +0.000083) l2=0.000084 max_abs=0.000083; target_linear_velocity_delta=(+0.000001, +0.000000, -0.000000) l2=0.000001 max_abs=0.000001; target_angular_velocity_delta=(+0.000001, +0.000002, +0.000083) l2=0.000084 max_abs=0.000083; body_pos_w_delta=(+0.000000, +0.000000, +0.000000, -0.000000, -0.000000, -0.000000, -0.000000, -0.000000, ...) l2=0.077477 max_abs=0.024224; body_quat_w_delta=(+0.000000, +0.000000, +0.000000, +0.000000, +0.000000, +0.000000, -0.010741, -0.000868, ...) l2=0.391861 max_abs=0.147232; body_lin_vel_w_delta=(+0.000000, +0.000000, +0.000000, -0.000263, -0.000077, -0.000000, +0.000009, -0.000486, ...) l2=1.458091 max_abs=0.797514; body_ang_vel_w_delta=(+0.000000, +0.000000, +0.000000, -0.000000, -0.000000, +0.008541, -0.011160, -0.033671, ...) l2=5.108474 max_abs=2.987212; body_link_pose_w_delta=(+0.000000, +0.000000, +0.000000, +0.000000, +0.000000, +0.000000, +0.000000, -0.000000, ...) l2=0.399447 max_abs=0.147232; body_link_vel_w_delta=(+0.000000, +0.000000, +0.000000, +0.000000, +0.000000, +0.000000, +0.000000, +0.000002, ...) l2=5.311198 max_abs=2.987212; body_pose_w_delta=(+0.000000, +0.000000, +0.000000, +0.000000, +0.000000, +0.000000, +0.000000, -0.000000, ...) l2=0.399447 max_abs=0.147232; body_vel_w_delta=(+0.000000, +0.000000, +0.000000, +0.000000, +0.000000, +0.000000, -0.000263, -0.000077, ...) l2=5.312489 max_abs=2.987212; done[episode_length]: 35 -> 36
[eval-state-trace] step=36 raw_action=(-1.125929, -0.206708, -1.915561, -0.450277, -0.263487, -0.206319, +0.313129, -0.442902, -0.374139, +0.229790, +0.425605, -0.208778, +0.527244, -0.318513, -0.157224, -0.235026, +0.198811, +0.285553, +0.454924, +0.281570, +0.504102, -0.365141, +0.290980, +0.200866, -0.218555, +0.392980) action=(-1.000000, -0.206708, -1.000000, -0.450277, -0.263487, -0.206319, +0.313129, -0.442902, -0.374139, +0.229790, +0.425605, -0.208778, +0.527244, -0.318513, -0.157224, -0.235026, +0.198811, +0.285553, +0.454924, +0.281570, +0.504102, -0.365141, +0.290980, +0.200866, -0.218555, +0.392980) arm_action=(-1.125929, -0.206708, -1.915561, -0.450277, -0.263487, -0.206319) hand_action=(+0.313129, -0.442902, -0.374139, +0.229790, +0.425605, -0.208778, +0.527244, -0.318513, -0.157224, -0.235026, +0.198811, +0.285553, +0.454924, +0.281570, +0.504102, -0.365141, +0.290980, +0.200866, -0.218555, +0.392980)
[eval-state-trace] step=36 smoothed_action=(-1.000000, -0.235078, -1.000000, -0.449484, -0.300175, -0.193845, +0.294947, -0.438957, -0.359295, +0.197745, +0.426309, -0.214490, +0.524460, -0.325017, -0.155527, -0.233116, +0.184334, +0.273740, +0.450873, +0.280348, +0.495719, -0.359329, +0.295106, +0.202778, -0.215509, +0.387516) osc_arm_dof_movements=(-0.020980, -0.044332, -0.009410, -0.037533, -0.021627, +0.010073, -0.016721)
[eval-state-trace] step=36 joint_targets_arm=(-0.215143, -1.252097, -0.181314, +0.053650, -0.244979, +1.384608, -0.217891) joint_targets_hand=(+0.515391, -0.138700, -0.141077, -0.291692, +1.560400, -0.370000, +1.548500, -0.468300, -0.164400, -0.370000, -0.202044, +0.239998, +1.558500, +0.370000, +1.509671, -0.477700, +1.558500, +0.370000, -0.476800, +1.573500)
[eval-state-trace] step=36 link_pose_pos=(+0.147504, +0.317435, +0.624375) link_pose_quat=(+0.998088, +0.019555, -0.056035, +0.017269)
[eval-state-trace] step=36 target_pose=(+0.285473, +0.317905, +0.443021, -0.762554, -0.606109, -0.009897, -0.225931) target_velocity=(+0.000416, +0.000129, -0.000048, -0.000032, +0.004432, -0.000134) terminated=[False] time_outs=[False] done_causes={'success': tensor([False], device='cuda:0'), 'fallen': tensor([False], device='cuda:0'), 'invalid_state': tensor([False], device='cuda:0'), 'arm_contact': tensor([False], device='cuda:0'), 'arm_contact_force': tensor([0.], device='cuda:0'), 'arm_support_penetration': tensor([False], device='cuda:0'), 'hand_support_penetration': tensor([False], device='cuda:0'), 'arm_support_penetration_depth': tensor([0.], device='cuda:0'), 'hand_support_penetration_depth': tensor([0.], device='cuda:0'), 'terminated': tensor([False], device='cuda:0'), 'time_out': tensor([False], device='cuda:0'), 'episode_length': tensor([36], device='cuda:0'), 'target_object_id': tensor([17], device='cuda:0'), 'target_lift_height': tensor([0.], device='cuda:0'), 'target_success_height': tensor([0.5230], device='cuda:0'), 'fgp_fallen': tensor([False], device='cuda:0'), 'fgp_success': tensor([False], device='cuda:0'), 'planner_subgoal_arrived': tensor([False], device='cuda:0'), 'planner_subgoal_success': tensor([False], device='cuda:0'), 'planner_is_final': tensor([True], device='cuda:0'), 'final_target_object_id': tensor([17], device='cuda:0'), 'fgp_safety_reset': tensor([False], device='cuda:0'), 'fgp_safety_violation': tensor([False], device='cuda:0'), 'fgp_contact_force_reset': tensor([False], device='cuda:0'), 'fgp_contact_force_violation': tensor([False], device='cuda:0'), 'fgp_contact_force_bad_steps': tensor([0], device='cuda:0'), 'fgp_object_lin_vel_reset': tensor([False], device='cuda:0'), 'fgp_object_lin_vel_violation': tensor([False], device='cuda:0'), 'fgp_object_ang_vel_reset': tensor([False], device='cuda:0'), 'fgp_object_ang_vel_violation': tensor([False], device='cuda:0'), 'fgp_safety_done_enabled': tensor([True], device='cuda:0'), 'fgp_terminated': tensor([False], device='cuda:0'), 'clutter_settle_active': tensor([False], device='cuda:0'), 'clutter_invalid_state': tensor([False], device='cuda:0')}
Describe the bug
When I run an interactive state-based rollout in Isaac Sim, the GUI viewport stays completely static for the whole episode. The robot,
clutter, and floor all look frozen, and an object that should fall under gravity never moves. However, the rollout logs show non-zero
joint and body-state deltas, so the simulation appears to be advancing and the issue looks like a render / sync problem rather than a
physics failure.
Environment
Symptoms
Also observed
The robot is initialized with zero joint values and may be intersecting the floor at import, but that does not explain why every visible
object in the scene stays static.
Why this matters
This makes interactive debugging unusable, because the simulation state and the viewport no longer match.
Expected
The viewport should reflect live simulation updates during rollout, including robot articulation motion and object motion.
Questions
terminal output:
here is no error, and in the terminal print, the robot run successfully