Simulator: add reset hotkey (#29995)

add sim reset
pull/29971/head
Justin Newberry 2 years ago committed by GitHub
parent f69a45faba
commit 0857f4bb85
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      tools/sim/bridge/carla.py
  2. 2
      tools/sim/bridge/common.py
  3. 7
      tools/sim/bridge/metadrive.py
  4. 4
      tools/sim/lib/common.py
  5. 2
      tools/sim/lib/keyboard_ctrl.py

@ -110,6 +110,9 @@ class CarlaWorld(World):
def tick(self):
self.world.tick()
def reset(self):
pass
class CarlaBridge(SimulatorBridge):
TICKS_PER_FRAME = 5

@ -127,6 +127,8 @@ class SimulatorBridge(ABC):
self.simulator_state.cruise_button = CruiseButtons.MAIN
elif m[0] == "ignition":
self.simulator_state.ignition = not self.simulator_state.ignition
elif m[0] == "reset":
self.world.reset()
elif m[0] == "quit":
break

@ -81,8 +81,11 @@ class MetaDriveWorld(World):
obs, _, terminated, _, info = self.env.step(self.vc)
if terminated:
self.env.reset()
self.reset_time = time.monotonic()
self.reset()
def reset(self):
self.env.reset()
self.reset_time = time.monotonic()
def close(self):
pass

@ -83,4 +83,8 @@ class World(ABC):
@abstractmethod
def close(self):
pass
@abstractmethod
def reset(self):
pass

@ -55,6 +55,8 @@ def keyboard_poll_thread(q: 'Queue[str]'):
q.put("steer_%f" % -0.15)
elif c == 'i':
q.put("ignition")
elif c == 'r':
q.put("reset")
elif c == 'q':
q.put("quit")
break

Loading…
Cancel
Save