|  |  |  | @ -10,33 +10,19 @@ const int LON_MPC_N = 32; | 
			
		
	
		
			
				
					|  |  |  |  | const float MIN_DRAW_DISTANCE = 10.0; | 
			
		
	
		
			
				
					|  |  |  |  | const float MAX_DRAW_DISTANCE = 100.0; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | template<typename T_SRC, typename  T_DST, size_t size> | 
			
		
	
		
			
				
					|  |  |  |  | const std::array<T_DST, size> convert_array_to_type(const std::array<T_SRC, size> &src) { | 
			
		
	
		
			
				
					|  |  |  |  |   std::array<T_DST, size> dst = {}; | 
			
		
	
		
			
				
					|  |  |  |  |   for (int i=0; i<size; i++) { | 
			
		
	
		
			
				
					|  |  |  |  |     dst[i] = src[i]; | 
			
		
	
		
			
				
					|  |  |  |  | template <typename T, size_t size> | 
			
		
	
		
			
				
					|  |  |  |  | constexpr std::array<T, size> build_idxs(float max_val) { | 
			
		
	
		
			
				
					|  |  |  |  |   std::array<T, size> result{}; | 
			
		
	
		
			
				
					|  |  |  |  |   for (int i = 0; i < size; ++i) { | 
			
		
	
		
			
				
					|  |  |  |  |     result[i] = max_val * ((i / (double)(size - 1)) * (i / (double)(size - 1))); | 
			
		
	
		
			
				
					|  |  |  |  |   } | 
			
		
	
		
			
				
					|  |  |  |  |   return dst; | 
			
		
	
		
			
				
					|  |  |  |  |   return result; | 
			
		
	
		
			
				
					|  |  |  |  | } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | const std::array<double, TRAJECTORY_SIZE> T_IDXS = { | 
			
		
	
		
			
				
					|  |  |  |  |         0.        ,  0.00976562,  0.0390625 ,  0.08789062,  0.15625   , | 
			
		
	
		
			
				
					|  |  |  |  |         0.24414062,  0.3515625 ,  0.47851562,  0.625     ,  0.79101562, | 
			
		
	
		
			
				
					|  |  |  |  |         0.9765625 ,  1.18164062,  1.40625   ,  1.65039062,  1.9140625 , | 
			
		
	
		
			
				
					|  |  |  |  |         2.19726562,  2.5       ,  2.82226562,  3.1640625 ,  3.52539062, | 
			
		
	
		
			
				
					|  |  |  |  |         3.90625   ,  4.30664062,  4.7265625 ,  5.16601562,  5.625     , | 
			
		
	
		
			
				
					|  |  |  |  |         6.10351562,  6.6015625 ,  7.11914062,  7.65625   ,  8.21289062, | 
			
		
	
		
			
				
					|  |  |  |  |         8.7890625 ,  9.38476562, 10.}; | 
			
		
	
		
			
				
					|  |  |  |  | const auto T_IDXS_FLOAT = convert_array_to_type<double, float, TRAJECTORY_SIZE>(T_IDXS); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | const std::array<double, TRAJECTORY_SIZE> X_IDXS = { | 
			
		
	
		
			
				
					|  |  |  |  |          0.    ,   0.1875,   0.75  ,   1.6875,   3.    ,   4.6875, | 
			
		
	
		
			
				
					|  |  |  |  |          6.75  ,   9.1875,  12.    ,  15.1875,  18.75  ,  22.6875, | 
			
		
	
		
			
				
					|  |  |  |  |         27.    ,  31.6875,  36.75  ,  42.1875,  48.    ,  54.1875, | 
			
		
	
		
			
				
					|  |  |  |  |         60.75  ,  67.6875,  75.    ,  82.6875,  90.75  ,  99.1875, | 
			
		
	
		
			
				
					|  |  |  |  |        108.    , 117.1875, 126.75  , 136.6875, 147.    , 157.6875, | 
			
		
	
		
			
				
					|  |  |  |  |        168.75  , 180.1875, 192.}; | 
			
		
	
		
			
				
					|  |  |  |  | const auto X_IDXS_FLOAT = convert_array_to_type<double, float, TRAJECTORY_SIZE>(X_IDXS); | 
			
		
	
		
			
				
					|  |  |  |  | constexpr auto T_IDXS = build_idxs<double, TRAJECTORY_SIZE>(10.0); | 
			
		
	
		
			
				
					|  |  |  |  | constexpr auto T_IDXS_FLOAT = build_idxs<float, TRAJECTORY_SIZE>(10.0); | 
			
		
	
		
			
				
					|  |  |  |  | constexpr auto X_IDXS = build_idxs<double, TRAJECTORY_SIZE>(192.0); | 
			
		
	
		
			
				
					|  |  |  |  | constexpr auto X_IDXS_FLOAT = build_idxs<float, TRAJECTORY_SIZE>(192.0); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | const int TICI_CAM_WIDTH = 1928; | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
	
		
			
				
					|  |  |  | 
 |