      self.pm.send('pandaStates', dat)
  
    def update(self, simulator_state: SimulatorState):
      self.send_can_messages(simulator_state)
      self.send_panda_state(simulator_state)
  
      self.idx += 1 
</s> remove   rk = Ratekeeper(hz)
 </s> add   rk = Ratekeeper(hz, None)
    if self.idx % 50 == 0: # only send panda states at 2hz
      self.send_panda_state(simulator_state)
      self.pm.send('pandaStates', dat)
  
    def update(self, simulator_state: SimulatorState):
      self.send_can_messages(simulator_state)
    if self.idx % 50 == 0: # only send panda states at 2hz
      self.send_panda_state(simulator_state)
  
      self.idx += 1 
keep keep keep keep replace keep keep
 Simulator: add metadrive as optional simulator (#29935)

* Add metadrive sim

* use monotonic

* don't use cuda if it's not available

* Cleanup metadrive patches

* PR suggestions

* fix typo 
tools/sim/lib/simulated_car.py