#!/usr/bin/env python
import argparse
from typing import Any
from multiprocessing import Queue
from openpilot . tools . sim . bridge . metadrive . metadrive_bridge import MetaDriveBridge
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__ " :
q : Any = Queue ( )
args = parse_args ( )
simulator_bridge = MetaDriveBridge ( args )
p = simulator_bridge . run ( q )
if args . joystick :
# start input poll for joystick
from openpilot . tools . sim . lib . manual_ctrl import wheel_poll_thread
wheel_poll_thread ( q )
else :
# start input poll for keyboard
from openpilot . tools . sim . lib . keyboard_ctrl import keyboard_poll_thread
keyboard_poll_thread ( q )
simulator_bridge . shutdown ( )
p . join ( )