You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							47 lines
						
					
					
						
							1.3 KiB
						
					
					
				
			
		
		
	
	
							47 lines
						
					
					
						
							1.3 KiB
						
					
					
				| #!/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 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()
 | |
| 
 |