carrot/tools/sim/run_bridge.py
Vehicle Researcher 4fca6dec8e openpilot v0.9.8 release
date: 2025-01-29T09:09:56
master commit: 227bb68e1891619b360b89809e6822d50d34228f
2025-01-29 09:09:58 +00:00

48 lines
1.3 KiB
Python
Executable File

#!/usr/bin/env python3
import argparse
from typing import Any
from multiprocessing import Queue
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):
parser = argparse.ArgumentParser(description='Bridge between the simulator and openpilot.')
parser.add_argument('--joystick', action='store_true')
parser.add_argument('--high_quality', action='store_true')
parser.add_argument('--dual_camera', action='store_true')
return parser.parse_args(add_args)
if __name__ == "__main__":
args = parse_args()
queue, simulator_process, simulator_bridge = create_bridge(args.dual_camera, args.high_quality)
if args.joystick:
# start input poll for joystick
from openpilot.tools.sim.lib.manual_ctrl import wheel_poll_thread
wheel_poll_thread(queue)
else:
# start input poll for keyboard
from openpilot.tools.sim.lib.keyboard_ctrl import keyboard_poll_thread
keyboard_poll_thread(queue)
simulator_bridge.shutdown()
simulator_process.join()