|
|
@ -6,6 +6,17 @@ from multiprocessing import Queue |
|
|
|
|
|
|
|
|
|
|
|
from openpilot.tools.sim.bridge.metadrive.metadrive_bridge import MetaDriveBridge |
|
|
|
from openpilot.tools.sim.bridge.metadrive.metadrive_bridge import MetaDriveBridge |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def create_bridge(dual_camera, high_quality): |
|
|
|
|
|
|
|
queue: Any = Queue() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
simulator_bridge = MetaDriveBridge(dual_camera, high_quality) |
|
|
|
|
|
|
|
simulator_process = simulator_bridge.run(queue) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return queue, simulator_process, simulator_bridge |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def main(): |
|
|
|
|
|
|
|
_, simulator_process, _ = create_bridge(True, False) |
|
|
|
|
|
|
|
simulator_process.join() |
|
|
|
|
|
|
|
|
|
|
|
def parse_args(add_args=None): |
|
|
|
def parse_args(add_args=None): |
|
|
|
parser = argparse.ArgumentParser(description='Bridge between the simulator and openpilot.') |
|
|
|
parser = argparse.ArgumentParser(description='Bridge between the simulator and openpilot.') |
|
|
@ -16,23 +27,21 @@ def parse_args(add_args=None): |
|
|
|
return parser.parse_args(add_args) |
|
|
|
return parser.parse_args(add_args) |
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
|
|
if __name__ == "__main__": |
|
|
|
q: Any = Queue() |
|
|
|
|
|
|
|
args = parse_args() |
|
|
|
args = parse_args() |
|
|
|
|
|
|
|
|
|
|
|
simulator_bridge = MetaDriveBridge(args) |
|
|
|
queue, simulator_process, simulator_bridge = create_bridge(args.dual_camera, args.high_quality) |
|
|
|
p = simulator_bridge.run(q) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if args.joystick: |
|
|
|
if args.joystick: |
|
|
|
# start input poll for joystick |
|
|
|
# start input poll for joystick |
|
|
|
from openpilot.tools.sim.lib.manual_ctrl import wheel_poll_thread |
|
|
|
from openpilot.tools.sim.lib.manual_ctrl import wheel_poll_thread |
|
|
|
|
|
|
|
|
|
|
|
wheel_poll_thread(q) |
|
|
|
wheel_poll_thread(queue) |
|
|
|
else: |
|
|
|
else: |
|
|
|
# start input poll for keyboard |
|
|
|
# start input poll for keyboard |
|
|
|
from openpilot.tools.sim.lib.keyboard_ctrl import keyboard_poll_thread |
|
|
|
from openpilot.tools.sim.lib.keyboard_ctrl import keyboard_poll_thread |
|
|
|
|
|
|
|
|
|
|
|
keyboard_poll_thread(q) |
|
|
|
keyboard_poll_thread(queue) |
|
|
|
|
|
|
|
|
|
|
|
simulator_bridge.shutdown() |
|
|
|
simulator_bridge.shutdown() |
|
|
|
|
|
|
|
|
|
|
|
p.join() |
|
|
|
simulator_process.join() |
|
|
|