openpilot in simulator
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								=====================
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								openpilot implements a [bridge ](run_bridge.py ) that allows it to run in the [MetaDrive simulator ](https://github.com/metadriverse/metadrive ).
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								## Launching openpilot
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								First, start openpilot. Note that you will either need a [mapbox token ](https://docs.mapbox.com/help/getting-started/access-tokens/#how-access-tokens-work ) (set with ```export MAPBOX_TOKEN="1234"```), or to disable mapsd with ```export BLOCK=mapsd```
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								``` bash
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Run locally
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								./tools/sim/launch_openpilot.sh
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								## Bridge usage
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								$ ./run_bridge.py -h
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								usage: run_bridge.py [-h] [--joystick] [--high_quality] [--dual_camera]
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								Bridge between the simulator and openpilot.
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								options:
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  -h, --help            show this help message and exit
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  --joystick
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  --high_quality
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  --dual_camera
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								#### Bridge Controls:
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  To engage openpilot press 2, then press 1 to increase the speed and 2 to decrease.
 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  To disengage, press "S" (simulates a user brake)
 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								#### All inputs:
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								```
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								| key  |   functionality       |
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								|------|-----------------------|
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								|  1   | Cruise Resume / Accel |
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								|  2   | Cruise Set    / Decel |
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								|  3   | Cruise Cancel         |
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								|  r   | Reset Simulation      |
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								|  i   | Toggle Ignition       |
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								|  q   | Exit all              |
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								| wasd | Control manually      |
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								## MetaDrive
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								### Launching Metadrive
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Start bridge processes located in tools/sim:
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								``` bash
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								./run_bridge.py
  
						 
					
						
							
								
							 
							
								
									
										 
								
							 
							
								 
							
							
								```