@ -18,16 +18,22 @@ from selfdrive.hardware import TICI 
			
		
	
		
			
				
					class  KalmanParams ( ) :  
			
		
	
		
			
				
					  def  __init__ ( self ,  dt ) :   
			
		
	
		
			
				
					    # Lead Kalman Filter params, calculating K from A, C, Q, R requires the control library.   
			
		
	
		
			
				
					    # hardcoding a lookup table to compute K for values of radar_ts between 0.1s and 1. 0s   
			
		
	
		
			
				
					    assert  dt  >  .01  and  dt  <  .1  ,  " Radar time step must be between .01s and 0.1 s "   
			
		
	
		
			
				
					    # hardcoding a lookup table to compute K for values of radar_ts between 0.0 1s and 0.2 s   
			
		
	
		
			
				
					    assert  dt  >  .01  and  dt  <  .2  ,  " Radar time step must be between .01s and 0.2 s "   
			
		
	
		
			
				
					    self . A  =  [ [ 1.0 ,  dt ] ,  [ 0.0 ,  1.0 ] ]   
			
		
	
		
			
				
					    self . C  =  [ 1.0 ,  0.0 ]   
			
		
	
		
			
				
					    #Q = np.matrix([[10., 0.0], [0.0, 100.]])   
			
		
	
		
			
				
					    #R = 1e3   
			
		
	
		
			
				
					    #K = np.matrix([[ 0.05705578], [ 0.03073241]])   
			
		
	
		
			
				
					    dts  =  [ dt  *  0.01  for  dt  in  range ( 1 ,  11 ) ]   
			
		
	
		
			
				
					    K0  =  [ 0.12288 ,  0.14557 ,  0.16523 ,  0.18282 ,  0.19887 ,  0.21372 ,  0.22761 ,  0.24069 ,  0.2531 ,  0.26491 ]   
			
		
	
		
			
				
					    K1  =  [ 0.29666 ,  0.29331 ,  0.29043 ,  0.28787 ,  0.28555 ,  0.28342 ,  0.28144 ,  0.27958 ,  0.27783 ,  0.27617 ]   
			
		
	
		
			
				
					    dts  =  [ dt  *  0.01  for  dt  in  range ( 1 ,  21 ) ]   
			
		
	
		
			
				
					    K0  =  [ 0.12287673 ,  0.14556536 ,  0.16522756 ,  0.18281627 ,  0.1988689 ,   0.21372394 ,   
			
		
	
		
			
				
					          0.22761098 ,  0.24069424 ,  0.253096 ,    0.26491023 ,  0.27621103 ,  0.28705801 ,   
			
		
	
		
			
				
					          0.29750003 ,  0.30757767 ,  0.31732515 ,  0.32677158 ,  0.33594201 ,  0.34485814 ,   
			
		
	
		
			
				
					          0.35353899 ,  0.36200124 ]   
			
		
	
		
			
				
					    K1  =  [ 0.29666309 ,  0.29330885 ,  0.29042818 ,  0.28787125 ,  0.28555364 ,  0.28342219 ,   
			
		
	
		
			
				
					          0.28144091 ,  0.27958406 ,  0.27783249 ,  0.27617149 ,  0.27458948 ,  0.27307714 ,   
			
		
	
		
			
				
					          0.27162685 ,  0.27023228 ,  0.26888809 ,  0.26758976 ,  0.26633338 ,  0.26511557 ,   
			
		
	
		
			
				
					          0.26393339 ,  0.26278425 ]   
			
		
	
		
			
				
					    self . K  =  [ [ interp ( dt ,  dts ,  K0 ) ] ,  [ interp ( dt ,  dts ,  K1 ) ] ]