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.
		
		
		
		
		
			
		
			
				
					
					
						
							62 lines
						
					
					
						
							2.3 KiB
						
					
					
				
			
		
		
	
	
							62 lines
						
					
					
						
							2.3 KiB
						
					
					
				| import numpy as np
 | |
| 
 | |
| class Conversions:
 | |
|   MPH_TO_KPH = 1.609344
 | |
|   KPH_TO_MPH = 1. / MPH_TO_KPH
 | |
|   MS_TO_KPH = 3.6
 | |
|   KPH_TO_MS = 1. / MS_TO_KPH
 | |
|   MS_TO_MPH = MS_TO_KPH * KPH_TO_MPH
 | |
|   MPH_TO_MS = MPH_TO_KPH * KPH_TO_MS
 | |
|   MS_TO_KNOTS = 1.9438
 | |
|   KNOTS_TO_MS = 1. / MS_TO_KNOTS
 | |
|   DEG_TO_RAD = np.pi/180.
 | |
|   RAD_TO_DEG = 1. / DEG_TO_RAD
 | |
| 
 | |
|   # Car decode decimal minutes into decimal degrees, can work with numpy arrays as input
 | |
|   @staticmethod
 | |
|   def dm2d(dm):
 | |
|     degs = np.round(dm/100.)
 | |
|     mins = dm - degs*100.
 | |
|     return degs + mins/60.
 | |
| 
 | |
| 
 | |
| # Car button codes
 | |
| # TODO: this is Honda specific, move to honda/interface.py
 | |
| class CruiseButtons:
 | |
|   RES_ACCEL   = 4
 | |
|   DECEL_SET   = 3
 | |
|   CANCEL      = 2
 | |
|   MAIN        = 1
 | |
| 
 | |
| RADAR_TO_CENTER = 2.7   # RADAR is ~ 2.7m ahead from center of car
 | |
| 
 | |
| # Image params for color cam on acura, calibrated on pre las vegas drive (2016-05-21)
 | |
| class ImageParams:
 | |
|   def __init__(self):
 | |
|     self.SX_R  = 160  # top left corner pixel shift of the visual region considered by the model
 | |
|     self.SY_R  = 180  # top left corner pixel shift of the visual region considered by the model
 | |
|     self.VPX_R = 319  # vanishing point reference, as calibrated in Vegas drive 
 | |
|     self.VPY_R = 201  # vanishing point reference, as calibrated in Vegas drive 
 | |
|     self.X     = 320  # pixel length of image for model
 | |
|     self.Y     = 160  # pixel length of image for model
 | |
|     self.SX  = self.SX_R   # current visual region with shift
 | |
|     self.SY  = self.SY_R   # current visual region with shift
 | |
|     self.VPX = self.VPX_R  # current vanishing point with shift
 | |
|     self.VPY = self.VPY_R  # current vanishing point with shift
 | |
|   def shift(self, shift):
 | |
|     def to_int(fl):
 | |
|       return int(round(fl))
 | |
|     # shift comes from calibration and says how much to shift the viual region 
 | |
|     self.SX  = self.SX_R + to_int(shift[0])   # current visual region with shift
 | |
|     self.SY  = self.SY_R + to_int(shift[1])   # current visual region with shift
 | |
|     self.VPX = self.VPX_R + to_int(shift[0])  # current vanishing point with shift
 | |
|     self.VPY = self.VPY_R + to_int(shift[1])  # current vanishing point with shift
 | |
| 
 | |
| class UIParams:
 | |
|   lidar_x, lidar_y, lidar_zoom = 384, 960, 6
 | |
|   lidar_car_x, lidar_car_y = lidar_x/2., lidar_y/1.1
 | |
|   car_hwidth = 1.7272/2 * lidar_zoom
 | |
|   car_front = 2.6924 * lidar_zoom
 | |
|   car_back  = 1.8796 * lidar_zoom
 | |
|   car_color = 110
 | |
| 
 | |
| 
 |