File tree Expand file tree Collapse file tree
src/physics_simulator/simulator Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -342,24 +342,27 @@ def play(self):
342342
343343 def loop (self ):
344344 """Run the simulation loop."""
345- last_time = time .time ()
346- while self ._running :
347- current_time = time .time ()
348- elapsed = current_time - last_time
349-
350- num_steps = int (elapsed / self .config .mujoco_config .timestep )
345+ # TODO@Chenyu Cao: Hard code for control dt
346+ ctrl_dt = 0.004
347+ sim_dt = self .config .mujoco_config .timestep
351348
352- # self.step(num_steps)
353- self .step (num_steps = 20 )
349+ num_steps = int (ctrl_dt / sim_dt )
350+
351+ realtime_sync = self .config .mujoco_config .realtime_sync
352+
353+ while self ._running :
354+ start_time = time .time ()
355+ self .step (num_steps )
354356
355357 if self ._physics_callbacks :
356358 callbacks = list (self ._physics_callbacks .values ())
357359 for callback in callbacks :
358360 callback ()
359361
360- last_time = current_time
361-
362- time .sleep (self .config .mujoco_config .timestep )
362+ elapsed = time .time () - start_time
363+ if realtime_sync and elapsed < ctrl_dt :
364+ time .sleep (ctrl_dt - elapsed )
365+
363366 self .close ()
364367
365368 def reset (self ):
You can’t perform that action at this time.
0 commit comments